Skip to content

August 7, 2026 — Backend

Release date: Friday, August 7, 2026

Summary

This period centered on insurance portfolio operations and a major workbook rename. Coverage lines gained mid-term expire/reissue, ACTIVE-year drift detection, and prorated future starts. Manual building value and special tariff now share one workbook approval queue. BuildingInsuranceProfile is renamed to BuildingWorkbook across schema, API, and docs.

Shipped

  • Manual building value approvals: Request / approve / reject flow for override building values (permissions, notifications, audit, OpenAPI, http/api.http).
  • Unified workbook approvals: Special tariff and manual building value share a single pending-approval surface on the workbook (dedicated workbook-approval service).
  • BuildingWorkbook rename: Prisma model/module/API paths and docs move from insurance-profile naming; deprecations tracked in docs/deprecations.md.
  • Bulk coverage expire: Mid-term expiry for portfolio lines; void projected renewal children; honor shouldRenew on reissue.
  • Bulk coverage reissue: ACTIVE-year reissue for outdated lines; bulk payload requires isOutdated.
  • Coverage drift: Detect outdated issued lines on ACTIVE years so the UI can drive reissue.
  • Future starts / proration: Allow future coverage start dates; prorate partial-year issue premiums.
  • Leaner list API: Drop server-side aggregates from the coverage-lines list response (clients compute as needed).
  • Address registry: Geonorge search for building address forms; OpenAPI refresh (including TablePreferenceDto export fix).
  • Seed: Re-enable roles and permissions seed steps in prisma/seed.ts.

Engineering (commit recap)

Backend — week of July 27 – August 7, 2026

Window: 2026-07-24 < commit date < 2026-08-08 (git log --no-merges).

Summary

Eighteen non-merge commits landed between July 27 and August 3 (no further commits through August 7). Early work hardened ACTIVE-year coverage lifecycle (drift, reissue, expire, period validation). August 3 delivered the manual-value workflow, unified workbook approvals, then the full BuildingWorkbook rename with OpenAPI/docs alignment and seed restore.

Themes

  • Workbook approvals: Manual building value introduced as its own workflow, then folded with special tariff into one pending table and workbook-approval module; audit action names aligned to building_manual_value style.
  • Domain rename: Module rename → Prisma BuildingWorkbook migration → service/API renames → docs/OpenAPI/http/api.http plus agent rules for deprecation tracking.
  • Coverage lifecycle: Bulk expire and reissue on insurance-year routes; projected-renewal sync on expire; isOutdated gate on reissue lines; period validation for future starts and proration.
  • Drift and list shape: ACTIVE-year drift detection feeds outdated flags; list response no longer embeds server aggregates.
  • Address / OpenAPI: Geonorge registry search for address forms; contract regeneration and DTO export fix for table preferences.
  • Ops seed: Roles and permissions seed steps turned back on after earlier disable.

Notable fixes or risks (if any)

  • Deploy: Run insurance migrations for manual value, unified approvals, and BuildingWorkbook rename in order; re-seed permissions/role-permissions and notification templates for approval flows.
  • Client break: Insurance-profile routes/types and coverage-lines list aggregates are gone—UI must use workbook paths and compute aggregates locally; treat old AuditLog subjectType/actions as historical (see docs/deprecations.md).
  • Reissue contract: Bulk reissue rejects lines without isOutdated; expire voids projected renewal children—verify renewal UI after mid-term expiry.