fix(PBI-100): normaliseer frontmatter voor productDocFrontmatterSchema
Bron-bestanden: - 5 ADRs (0003/0005/0007/0008/0010): status 'accepted' → 'active'; 4 ervan krijgen ontbrekende title. - 8 architecture/*.md: verwijder 'related:' veld dat als YAML niet parseerde (markdown-link-syntax binnen YAML). - 9 plans: status mapping naar enum-waarden (planned→draft, done→archived, proposal→draft, reviewed→active, ready-to-execute→active, in-progress→active); 2 M8-plans krijgen ontbrekende title/status. Generator-script: - Lowercase slug (mixed-case filenames als PBI-100/ST-1109/M8 worden lowercase in DB; bron-bestanden blijven leesbaar).
This commit is contained in:
parent
4010e8c296
commit
8557cd1676
25 changed files with 40 additions and 38 deletions
|
|
@ -11,13 +11,13 @@ Auto-generated on 2026-05-16 from front-matter and headings.
|
|||
| 0000 | [ADR-0000: Record architecture decisions](./adr/0000-record-architecture-decisions.md) | active |
|
||||
| 0001 | [ADR-0001: Use @base-ui/react instead of Radix UI](./adr/0001-base-ui-over-radix.md) | active |
|
||||
| 0002 | [ADR-0002: Use float sort_order for drag-and-drop ordering](./adr/0002-float-sort-order.md) | active |
|
||||
| 0003 | [ADR-0003: One branch per milestone, push only after user test](./adr/0003-one-branch-per-milestone.md) | accepted |
|
||||
| 0003 | [ADR-0003: One branch per milestone, push only after user test](./adr/0003-one-branch-per-milestone.md) | active |
|
||||
| 0004 | [ADR-0004: DB enums UPPER_SNAKE, API enums lowercase, mapped exclusively via lib/task-status.ts](./adr/0004-status-enum-mapping.md) | active |
|
||||
| 0005 | [ADR-0005: Use iron-session for authentication instead of NextAuth/Clerk/Supabase Auth](./adr/0005-iron-session-over-nextauth.md) | accepted |
|
||||
| 0005 | [ADR-0005: Use iron-session for authentication instead of NextAuth/Clerk/Supabase Auth](./adr/0005-iron-session-over-nextauth.md) | active |
|
||||
| 0006 | [ADR-0006: Demo-user write protection enforced in three layers](./adr/0006-demo-user-three-layer-policy.md) | active |
|
||||
| 0007 | [ADR-0007: Agent ↔ user question channel via persistent table + LISTEN/NOTIFY](./adr/0007-claude-question-channel-design.md) | accepted |
|
||||
| 0008 | [ADR-0008: Agent instructions in CLAUDE.md + topical runbooks](./adr/0008-agent-instructions-in-claude-md.md) | accepted |
|
||||
| 0010 | [ADR-0010: Eén product = één repo; cross-product planning vereist (later) een Initiative-laag](./adr/0010-product-per-repo-cross-product-planning.md) | accepted |
|
||||
| 0007 | [ADR-0007: Agent ↔ user question channel via persistent table + LISTEN/NOTIFY](./adr/0007-claude-question-channel-design.md) | active |
|
||||
| 0008 | [ADR-0008: Agent instructions in CLAUDE.md + topical runbooks](./adr/0008-agent-instructions-in-claude-md.md) | active |
|
||||
| 0010 | [ADR-0010: Eén product = één repo; cross-product planning vereist (later) een Initiative-laag](./adr/0010-product-per-repo-cross-product-planning.md) | active |
|
||||
| 0011 | [ADR-0011: code is de bindende volgordesleutel voor stories en taken; priority is label](./adr/0011-code-volgordesleutel-stories-taken.md) | active |
|
||||
|
||||
## Specifications
|
||||
|
|
@ -41,18 +41,18 @@ Auto-generated on 2026-05-16 from front-matter and headings.
|
|||
|
||||
| Title | Status | Updated |
|
||||
|---|---|---|
|
||||
| [PBI Bulk-Create Spec — Docs-Restructure for AI-Optimized Lookup](./plans/docs-restructure-pbi-spec.md) | done | 2026-05-03 |
|
||||
| [PBI Bulk-Create Spec — Docs-Restructure for AI-Optimized Lookup](./plans/docs-restructure-pbi-spec.md) | archived | 2026-05-03 |
|
||||
| [Plan: model + mode-selectie per ClaudeJob-kind](./plans/job-model-selection.md) | archived | 2026-05-16 |
|
||||
| [Verbeterplan load/render Product Backlog, Sprint en Solo](./plans/load-render-improvement-plan-2026-05-10.md) | draft | 2026-05-10 |
|
||||
| [M12 — Idea entity + Grill/Plan Claude jobs](./plans/M12-ideas.md) | planned | — |
|
||||
| [Bootstrap-wizard voor nieuwe Product-repo](./plans/M8-bootstrap-wizard-upload.md) | — | — |
|
||||
| [Plan v3.5 — Bootstrap-wizard voor nieuwe Product-repo (Scrum4Me feature)](./plans/M8-bootstrap-wizard.md) | reviewed | — |
|
||||
| [PBI-100 — Seed Scrum4Me-docs naar de DB via Prisma-migratie](./plans/PBI-100-seed-scrum4me-docs.md) | planned | 2026-05-16 |
|
||||
| [M12 — Idea entity + Grill/Plan Claude jobs](./plans/M12-ideas.md) | draft | — |
|
||||
| [Bootstrap-wizard voor nieuwe Product-repo](./plans/M8-bootstrap-wizard-upload.md) | draft | — |
|
||||
| [M8 — Bootstrap-wizard voor nieuwe Product-repo (Scrum4Me feature)](./plans/M8-bootstrap-wizard.md) | active | — |
|
||||
| [PBI-100 — Seed Scrum4Me-docs naar de DB via Prisma-migratie](./plans/PBI-100-seed-scrum4me-docs.md) | draft | 2026-05-16 |
|
||||
| [PBI-80 — Demo-gebruiker mag eigen UI-voorkeuren wijzigen](./plans/PBI-80-demo-prefs.md) | archived | 2026-05-16 |
|
||||
| [PBI-84 — code wordt bindende volgorde voor stories & taken; drag-and-drop eruit](./plans/PBI-84-code-binding-order.md) | archived | 2026-05-16 |
|
||||
| [PBI-91 — Expliciete schermstaat + draft-zichtbaarheid op de Product Backlog page](./plans/PBI-91-pb-screen-state.md) | archived | 2026-05-16 |
|
||||
| [Per-product documentatiestructuur (Product Docs)](./plans/PBI-96-product-docs.md) | planned | 2026-05-16 |
|
||||
| [Dashboard products-tabel (Ideas-stijl) + ProductSubNav-cleanup](./plans/PBI-98-dashboard-products-table.md) | planned | 2026-05-16 |
|
||||
| [Per-product documentatiestructuur (Product Docs)](./plans/PBI-96-product-docs.md) | draft | 2026-05-16 |
|
||||
| [Dashboard products-tabel (Ideas-stijl) + ProductSubNav-cleanup](./plans/PBI-98-dashboard-products-table.md) | draft | 2026-05-16 |
|
||||
| [Queue-loop verplaatsen van Claude naar runner](./plans/queue-loop-extraction.md) | active | 2026-05-16 |
|
||||
| [Sprint MCP-tools — create_sprint & update_sprint](./plans/sprint-mcp-tools.md) | draft | 2026-05-11 |
|
||||
| [Advies - SprintRun, PR en worktree lifecycle als state machines](./plans/sprint-pr-worktree-state-machines.md) | draft | 2026-05-06 |
|
||||
|
|
@ -60,9 +60,9 @@ Auto-generated on 2026-05-16 from front-matter and headings.
|
|||
| [ST-1110 — Demo gebruiker read-only](./plans/ST-1110-demo-readonly.md) | active | 2026-05-03 |
|
||||
| [ST-1111 — Voer uit-knop met Claude Code job queue](./plans/ST-1111-claude-job-trigger.md) | active | 2026-05-03 |
|
||||
| [Plan: wekelijkse sync van model_prices (PBI-66 / ST-1296)](./plans/sync-model-prices.md) | archived | 2026-05-16 |
|
||||
| [Tweede Claude Agent — Planning Agent](./plans/tweede-claude-agent-planning.md) | proposal | 2026-05-03 |
|
||||
| [Zustand store rearchitecture - active context, realtime en resync](./plans/zustand-store-rearchitecture.md) | ready-to-execute | 2026-05-09 |
|
||||
| [Zustand workspace-store implementatieplan (PBI-74)](./plans/zustand-workspace-store-implementation.md) | in-progress | 2026-05-10 |
|
||||
| [Tweede Claude Agent — Planning Agent](./plans/tweede-claude-agent-planning.md) | draft | 2026-05-03 |
|
||||
| [Zustand store rearchitecture - active context, realtime en resync](./plans/zustand-store-rearchitecture.md) | active | 2026-05-09 |
|
||||
| [Zustand workspace-store implementatieplan (PBI-74)](./plans/zustand-workspace-store-implementation.md) | active | 2026-05-10 |
|
||||
|
||||
## Patterns
|
||||
|
||||
|
|
|
|||
|
|
@ -1,5 +1,6 @@
|
|||
---
|
||||
status: accepted
|
||||
title: "ADR-0003: One branch per milestone, push only after user test"
|
||||
status: active
|
||||
date: 2026-05-03
|
||||
decision-makers: [janpetervisser]
|
||||
---
|
||||
|
|
|
|||
|
|
@ -1,5 +1,6 @@
|
|||
---
|
||||
status: accepted
|
||||
title: "ADR-0005: Use iron-session for authentication instead of NextAuth/Clerk/Supabase Auth"
|
||||
status: active
|
||||
date: 2026-05-03
|
||||
decision-makers: [janpetervisser]
|
||||
---
|
||||
|
|
|
|||
|
|
@ -1,5 +1,6 @@
|
|||
---
|
||||
status: accepted
|
||||
title: "ADR-0007: Agent ↔ user question channel via persistent table + LISTEN/NOTIFY"
|
||||
status: active
|
||||
date: 2026-05-03
|
||||
decision-makers: [janpetervisser]
|
||||
---
|
||||
|
|
|
|||
|
|
@ -1,6 +1,6 @@
|
|||
---
|
||||
title: "ADR-0008: Agent instructions in CLAUDE.md + topical runbooks"
|
||||
status: accepted
|
||||
status: active
|
||||
date: 2026-05-03
|
||||
---
|
||||
|
||||
|
|
|
|||
|
|
@ -1,5 +1,6 @@
|
|||
---
|
||||
status: accepted
|
||||
title: "ADR-0010: Eén product = één repo; cross-product planning vereist (later) een Initiative-laag"
|
||||
status: active
|
||||
date: 2026-05-03
|
||||
decision-makers: Janpeter Visser
|
||||
consulted: Claude (planning agent)
|
||||
|
|
|
|||
|
|
@ -4,7 +4,6 @@ status: active
|
|||
audience: [maintainer, contributor]
|
||||
language: nl
|
||||
last_updated: 2026-05-03
|
||||
related: [qr-pairing.md](./qr-pairing.md)
|
||||
---
|
||||
|
||||
## Authenticatieflow
|
||||
|
|
|
|||
|
|
@ -4,7 +4,6 @@ status: active
|
|||
audience: [maintainer, contributor]
|
||||
language: nl
|
||||
last_updated: 2026-05-03
|
||||
related: [project-structure.md](./project-structure.md)
|
||||
---
|
||||
|
||||
## Vraag-antwoord-kanaal Claude ↔ user (M11)
|
||||
|
|
|
|||
|
|
@ -4,7 +4,6 @@ status: active
|
|||
audience: [maintainer, contributor]
|
||||
language: nl
|
||||
last_updated: 2026-05-08
|
||||
related: [auth-and-sessions.md](./auth-and-sessions.md)
|
||||
---
|
||||
|
||||
## Datamodel
|
||||
|
|
|
|||
|
|
@ -4,7 +4,6 @@ status: active
|
|||
audience: [maintainer, contributor]
|
||||
language: nl
|
||||
last_updated: 2026-05-08
|
||||
related: [data-model.md](./data-model.md), [project-structure.md](./project-structure.md)
|
||||
---
|
||||
|
||||
**Versie:** 0.2 — mei 2026
|
||||
|
|
|
|||
|
|
@ -4,7 +4,6 @@ status: active
|
|||
audience: [maintainer, contributor]
|
||||
language: nl
|
||||
last_updated: 2026-05-14
|
||||
related: [project-structure.md](./project-structure.md), [sprint-execution-modes.md](./sprint-execution-modes.md)
|
||||
---
|
||||
|
||||
# Product Backlog page — workflow & states (PBI-88)
|
||||
|
|
|
|||
|
|
@ -4,7 +4,6 @@ status: active
|
|||
audience: [maintainer, contributor]
|
||||
language: nl
|
||||
last_updated: 2026-05-08
|
||||
related: [data-model.md](./data-model.md)
|
||||
---
|
||||
|
||||
## Projectstructuur
|
||||
|
|
|
|||
|
|
@ -4,7 +4,6 @@ status: active
|
|||
audience: [maintainer, contributor]
|
||||
language: nl
|
||||
last_updated: 2026-05-03
|
||||
related: [auth-and-sessions.md](./auth-and-sessions.md)
|
||||
---
|
||||
|
||||
## QR-pairing flow (M10)
|
||||
|
|
|
|||
|
|
@ -4,7 +4,6 @@ status: active
|
|||
audience: [maintainer, contributor]
|
||||
language: nl
|
||||
last_updated: 2026-05-07
|
||||
related: [project-structure.md](./project-structure.md), [data-model.md](./data-model.md)
|
||||
---
|
||||
|
||||
# Sprint execution modes (PBI-50)
|
||||
|
|
|
|||
|
|
@ -1,6 +1,6 @@
|
|||
---
|
||||
title: "M12 — Idea entity + Grill/Plan Claude jobs"
|
||||
status: planned
|
||||
status: draft
|
||||
audience: implementation
|
||||
language: nl
|
||||
---
|
||||
|
|
|
|||
|
|
@ -1,4 +1,6 @@
|
|||
---
|
||||
title: "M8 — Bootstrap-wizard upload spec (Scrum4Me feature)"
|
||||
status: draft
|
||||
pbi:
|
||||
title: "Bootstrap-wizard voor nieuwe Product-repo"
|
||||
description: |
|
||||
|
|
|
|||
|
|
@ -1,5 +1,6 @@
|
|||
---
|
||||
status: reviewed
|
||||
title: "M8 — Bootstrap-wizard voor nieuwe Product-repo (Scrum4Me feature)"
|
||||
status: active
|
||||
author: Claude
|
||||
version: 6
|
||||
created_at: 2026-05-14
|
||||
|
|
|
|||
|
|
@ -1,6 +1,6 @@
|
|||
---
|
||||
title: "PBI-100 — Seed Scrum4Me-docs naar de DB via Prisma-migratie"
|
||||
status: planned
|
||||
status: draft
|
||||
audience: [ai-agent, contributor]
|
||||
language: nl
|
||||
last_updated: 2026-05-16
|
||||
|
|
|
|||
|
|
@ -1,6 +1,6 @@
|
|||
---
|
||||
title: "Per-product documentatiestructuur (Product Docs)"
|
||||
status: planned
|
||||
status: draft
|
||||
audience: implementation
|
||||
language: nl
|
||||
last_updated: 2026-05-16
|
||||
|
|
|
|||
|
|
@ -1,6 +1,6 @@
|
|||
---
|
||||
title: "Dashboard products-tabel (Ideas-stijl) + ProductSubNav-cleanup"
|
||||
status: planned
|
||||
status: draft
|
||||
audience: implementation
|
||||
language: nl
|
||||
last_updated: 2026-05-16
|
||||
|
|
|
|||
|
|
@ -1,6 +1,6 @@
|
|||
---
|
||||
title: "PBI Bulk-Create Spec — Docs-Restructure for AI-Optimized Lookup"
|
||||
status: done
|
||||
status: archived
|
||||
audience: [ai-agent]
|
||||
spec_version: 1
|
||||
spec_type: pbi-bulk-create
|
||||
|
|
|
|||
|
|
@ -1,6 +1,6 @@
|
|||
---
|
||||
title: "Tweede Claude Agent — Planning Agent"
|
||||
status: proposal
|
||||
status: draft
|
||||
audience: [maintainer, contributor]
|
||||
language: nl
|
||||
last_updated: 2026-05-03
|
||||
|
|
|
|||
|
|
@ -1,6 +1,6 @@
|
|||
---
|
||||
title: "Zustand store rearchitecture - active context, realtime en resync"
|
||||
status: ready-to-execute
|
||||
status: active
|
||||
audience: [maintainer, contributor, ai-agent]
|
||||
language: nl
|
||||
last_updated: 2026-05-09
|
||||
|
|
|
|||
|
|
@ -1,6 +1,6 @@
|
|||
---
|
||||
title: "Zustand workspace-store implementatieplan (PBI-74)"
|
||||
status: in-progress
|
||||
status: active
|
||||
audience: [maintainer, contributor, ai-agent]
|
||||
language: nl
|
||||
last_updated: 2026-05-10
|
||||
|
|
|
|||
|
|
@ -79,7 +79,10 @@ async function main() {
|
|||
|
||||
for (const file of files) {
|
||||
const filePath = path.join(dir, file)
|
||||
const slug = file.replace(/\.md$/, '')
|
||||
// Lowercase slug — bron-bestanden mogen mixed-case namen hebben
|
||||
// (PBI-100-..., ST-1109-..., M8-...), maar DB-slug moet lowercase
|
||||
// per productDocSlugSchema (lib/schemas/product-doc.ts).
|
||||
const slug = file.replace(/\.md$/, '').toLowerCase()
|
||||
|
||||
if (!SLUG_RE.test(slug)) {
|
||||
errors.push(`${folder}/${file}: ongeldige slug "${slug}"`)
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue