Scrum4Me/app/(app)
Janpeter Visser a268df3680
feat(PBI-59): Sprint.code (SP-N sequentieel per product) (#153)
Voegt een verplicht code-veld toe aan Sprint, sequentieel per product
(consistent met PBI-N, ST-NNN, T-N).

- **Schema** — `Sprint.code String @db.VarChar(30)` + `@@unique([product_id, code])`
- **Migratie** — voegt kolom toe als nullable, backfillt bestaande sprints
  via `ROW_NUMBER() OVER (PARTITION BY product_id ORDER BY created_at)`
  als `SP-N`, en zet daarna NOT NULL + UNIQUE.
- **Generator** — `generateNextSprintCode(productId)` in lib/code-server.ts
  volgt het patroon van story/pbi/task; createSprintAction gebruikt
  `createWithCodeRetry` voor race-bescherming.
- **Seed** — sprint-counter per product (`SP-1`, `SP-2`, ...).

Zichtbaar in:
- Sprint-header (`Product › Sprint actief · SP-3`)
- JobCard + JobDetailPane voor SPRINT_IMPLEMENTATION jobs
- Insights: VelocityChart x-axis (compacter dan goal-truncated),
  AlignmentTrend tooltip, SprintInfoStrip
- actions/jobs-page.ts: `sprintCode` is weer een echte code i.p.v. null

Co-authored-by: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
2026-05-07 20:10:16 +02:00
..
admin Sprint: inzicht jobs (#146) 2026-05-07 16:09:17 +02:00
dashboard ProductDialog: create + edit met alle velden (#68) 2026-05-03 17:56:33 +02:00
ideas feat(ideas): secondary_products meeladen in IdeaDto en alle queries 2026-05-06 02:20:34 +02:00
insights feat(PBI-59): Sprint.code (SP-N sequentieel per product) (#153) 2026-05-07 20:10:16 +02:00
jobs feat(PBI-59): Jobs-pagina UI (vervolg na #149) (#150) 2026-05-07 19:16:20 +02:00
manual PBI-58: Developer manual + in-app /manual page (#148) 2026-05-07 18:00:10 +02:00
products feat(PBI-59): Sprint.code (SP-N sequentieel per product) (#153) 2026-05-07 20:10:16 +02:00
settings feat(ST-qfpqpxzy): DB schema + settings-UI voor min_quota_pct worker-drempel (#118) 2026-05-06 03:45:59 +02:00
solo feat(M9): active product backlog — persistent active PB, NavBar splits, sprint card styling (#10) 2026-04-27 20:25:13 +02:00
error.tsx feat: ST-601-ST-612 M6 polish, beveiliging en launch-ready 2026-04-24 12:36:23 +02:00
layout.tsx feat(M13 PBI-31 T-519b/T-520b): NavBar stand-by badge + quota-check runbook (#119) 2026-05-06 04:34:48 +02:00