From 564efc2a2ba435997d12801a1d4f3f01fd659cef Mon Sep 17 00:00:00 2001 From: Madhura68 Date: Sun, 3 May 2026 01:16:42 +0200 Subject: [PATCH] docs(links): fix broken cross-references after restructure --- docs/INDEX.md | 1 + docs/architecture/data-model.md | 2 +- docs/backlog/index.md | 6 +++--- docs/plans/M10-qr-pairing-login.md | 6 +++--- docs/plans/M11-claude-questions.md | 4 ++-- docs/plans/M9-active-product-backlog.md | 2 +- 6 files changed, 11 insertions(+), 10 deletions(-) diff --git a/docs/INDEX.md b/docs/INDEX.md index fbe1717..43169b8 100644 --- a/docs/INDEX.md +++ b/docs/INDEX.md @@ -82,6 +82,7 @@ Auto-generated on 2026-05-02 from front-matter and headings. | [DevPlanner — Product Backlog](./backlog/product-historical.md) | `backlog/product-historical.md` | active | 2026-05-03 | | [Agent Instruction Audit](./decisions/agent-instructions-history.md) | `decisions/agent-instructions-history.md` | active | 2026-05-03 | | [Scrum4Me — Styling & Design System](./design/styling.md) | `design/styling.md` | active | 2026-05-03 | +| [Scrum4Me — Glossary](./glossary.md) | `glossary.md` | active | 2026-05-03 | | [Obsidian as Personal Authoring Layer](./obsidian-authoring.md) | `obsidian-authoring.md` | active | 2026-05-02 | | [Scrum4Me — API Test Plan](./qa/api-test-plan.md) | `qa/api-test-plan.md` | active | 2026-05-03 | | [Branch, PR & Commit Strategy](./runbooks/branch-and-commit.md) | `runbooks/branch-and-commit.md` | active | 2026-05-03 | diff --git a/docs/architecture/data-model.md b/docs/architecture/data-model.md index 511251b..7051a38 100644 --- a/docs/architecture/data-model.md +++ b/docs/architecture/data-model.md @@ -114,7 +114,7 @@ related: [auth-and-sessions.md](./auth-and-sessions.md) **Indexes:** `(pbi_id, priority, sort_order)`, `(sprint_id, sort_order)`, `(product_id, status)` -**Auto-promotie/demotie via task-status:** zodra alle tasks van een story op `DONE` staan en de huidige story-status nog niet `DONE` is, promoot dezelfde transactie de story naar `DONE`. Wordt een task van een `DONE`-story uit `DONE` getrokken (heropening), dan demoot de story terug naar `IN_SPRINT` — niet naar `OPEN`, want `OPEN` betekent "terug in productbacklog" en is een sprint-management-actie. De logica zit in [lib/tasks-status-update.ts](../lib/tasks-status-update.ts) en wordt aangeroepen door alle drie de task-status-write-paden (`updateTaskStatusAction`, `saveTask` edit-mode, REST `PATCH /api/tasks/[id]`). +**Auto-promotie/demotie via task-status:** zodra alle tasks van een story op `DONE` staan en de huidige story-status nog niet `DONE` is, promoot dezelfde transactie de story naar `DONE`. Wordt een task van een `DONE`-story uit `DONE` getrokken (heropening), dan demoot de story terug naar `IN_SPRINT` — niet naar `OPEN`, want `OPEN` betekent "terug in productbacklog" en is een sprint-management-actie. De logica zit in [lib/tasks-status-update.ts](../../lib/tasks-status-update.ts) en wordt aangeroepen door alle drie de task-status-write-paden (`updateTaskStatusAction`, `saveTask` edit-mode, REST `PATCH /api/tasks/[id]`). --- diff --git a/docs/backlog/index.md b/docs/backlog/index.md index 60ad864..fcdbf47 100644 --- a/docs/backlog/index.md +++ b/docs/backlog/index.md @@ -562,7 +562,7 @@ Volledig plan in `.Plans/2026-04-27-m8-realtime-solo.md` (lokaal, niet gecommit) ### M9: Actief Product Backlog -**Implementatieplan:** [docs/plans/M9-active-product-backlog.md](plans/M9-active-product-backlog.md) +**Implementatieplan:** [docs/plans/M9-active-product-backlog.md](../plans/M9-active-product-backlog.md) Eén "actief Product Backlog" per gebruiker — persistent in DB. De NavBar wordt gesplitst in **Producten** (lijst) en **Product Backlog** (PB-view van actief PB), met **Sprint** en **Solo** als aparte tabs die op het actieve PB werken. Geen actief PB → die drie tabs zijn disabled. Vervangt de bestaande `last_product`-cookieflow. @@ -598,7 +598,7 @@ Eén "actief Product Backlog" per gebruiker — persistent in DB. De NavBar word ### M10: Password-loze inlog via QR-pairing -**Implementatieplan:** [docs/plans/M10-qr-pairing-login.md](plans/M10-qr-pairing-login.md) +**Implementatieplan:** [docs/plans/M10-qr-pairing-login.md](../plans/M10-qr-pairing-login.md) Inloggen op een (publieke) desktop zonder wachtwoord: de desktop toont een QR-code, de gebruiker scant met een telefoon waar hij al ingelogd is, bevestigt expliciet, en de desktop is binnen 1–2 seconden ingelogd. Bouwt voort op de Postgres LISTEN/NOTIFY-infra van M8 (eigen kanaal `scrum4me_pairing`). Geen wachtwoord ingetypt op het publieke apparaat, geen credentials op de draad, demo-accounts geblokkeerd, paired-sessie heeft eigen kortere TTL (8 u) + `paired`-vlag voor toekomstige remote-revoke. @@ -665,7 +665,7 @@ Volledige flow + threat-model: `docs/patterns/qr-login.md` (op te leveren in ST- ### M11: Claude vraagt, gebruiker antwoordt -**Implementatieplan:** [docs/plans/M11-claude-questions.md](plans/M11-claude-questions.md) +**Implementatieplan:** [docs/plans/M11-claude-questions.md](../plans/M11-claude-questions.md) Persistent vraag-antwoord-kanaal tussen Claude Code (via MCP) en de actieve Scrum4Me-gebruiker. Claude schrijft een vraag naar `claude_questions` als hij vastloopt op een keuze; een Postgres-trigger emit op het bestaande `scrum4me_changes`-kanaal (uitgebreid met `entity: 'question'`); de Scrum4Me-app toont een notificatie-badge in de NavBar; iedereen met product-toegang kan antwoorden; Claude leest het antwoord (sync via polling met `wait_seconds`, of in een latere sessie via `get_question_answer`) en gaat door. Eerste concrete uitwerking van de AI-driven dev-flow-richting. diff --git a/docs/plans/M10-qr-pairing-login.md b/docs/plans/M10-qr-pairing-login.md index a88b7ec..a54e2e8 100644 --- a/docs/plans/M10-qr-pairing-login.md +++ b/docs/plans/M10-qr-pairing-login.md @@ -16,8 +16,8 @@ Inloggen op een (publieke) desktop zonder wachtwoord: desktop toont QR, telefoon - `desktopToken` reist alleen via HttpOnly cookie `s4m_pair` met `Path=/api/auth/pair`, `Max-Age=120`, `SameSite=Lax` - Twee gescheiden hashes in DB scheiden mobiel-bewijs (`secret_hash`) van desktop-bewijs (`desktop_token_hash`) -Backlog-entries: zie [backlog.md § M10](../backlog.md#m10-password-loze-inlog-via-qr-pairing). -Functional spec: zie [functional.md § F-01b](../functional.md#f-01b-inloggen-via-mobiel-qr-pairing). +Backlog-entries: zie [backlog.md § M10](../backlog/index.md#m10-password-loze-inlog-via-qr-pairing). +Functional spec: zie [functional.md § F-01b](../specs/functional.md#f-01b-inloggen-via-mobiel-qr-pairing). **Implementatie-volgorde** (commit-strategy uit CLAUDE.md): @@ -847,7 +847,7 @@ ST-1006 staat bij de API-laag (niet bij UI) omdat het een Route Handler is; ST-1 ## Branch- en commit-strategie -Per [CLAUDE.md → Branch & PR Strategy](../../CLAUDE.md#branch--pr-strategy-strict--kostenbeheersing): **één branch voor de hele milestone**, PR pas na handmatige acceptatie door de gebruiker. Reden: elke push triggert een Vercel preview-build, en op het Hobby-account zijn die schaars. +Per [Branch & PR Strategy](../runbooks/branch-and-commit.md): **één branch voor de hele milestone**, PR pas na handmatige acceptatie door de gebruiker. Reden: elke push triggert een Vercel preview-build, en op het Hobby-account zijn die schaars. **Branch:** `feat/M10-qr-login` — afgesplitst van `main` na merge van de planning-PR (#11). Alle ST-1001..ST-1008-werk landt op deze branch. diff --git a/docs/plans/M11-claude-questions.md b/docs/plans/M11-claude-questions.md index 2de6f28..7da9713 100644 --- a/docs/plans/M11-claude-questions.md +++ b/docs/plans/M11-claude-questions.md @@ -13,7 +13,7 @@ Persistent vraag-antwoord-kanaal tussen Claude Code (via MCP) en de actieve Scru Eerste concrete uitwerking van strategische **richting B** (verdiepen van de unieke AI-driven dev-flow). -Backlog-entries: zie [backlog.md § M11](../backlog.md#m11-claude-vraagt-gebruiker-antwoordt) (op te leveren in ST-1108). +Backlog-entries: zie [backlog.md § M11](../backlog/index.md#m11-claude-vraagt-gebruiker-antwoordt) (op te leveren in ST-1108). **Beveiligingsuitgangspunten:** - Atomic answer via `updateMany WHERE status='open'` — concurrent dubbele submit kan niet @@ -421,7 +421,7 @@ Backlog-entries: zie [backlog.md § M11](../backlog.md#m11-claude-vraagt-gebruik ## Branch- en commit-strategie -Per [CLAUDE.md → Branch & PR Strategy](../../CLAUDE.md#branch--pr-strategy-strict--kostenbeheersing): +Per [Branch & PR Strategy](../runbooks/branch-and-commit.md): - **Eén branch op Scrum4Me**: `feat/M11-claude-questions` afgesplitst van `main` ná M10-merge - **Aparte branch op mcp**: `feat/M11-question-tools` - Commits chronologisch per stap met ST-code in titel: diff --git a/docs/plans/M9-active-product-backlog.md b/docs/plans/M9-active-product-backlog.md index 6ad7d55..e5bb5bc 100644 --- a/docs/plans/M9-active-product-backlog.md +++ b/docs/plans/M9-active-product-backlog.md @@ -11,7 +11,7 @@ applies_to: [M9] Eén "actief Product Backlog" per gebruiker, persistent op `User.active_product_id`. NavBar wordt: Producten | Product Backlog | Sprint | Solo | Todo's. Zonder actief PB zijn Backlog/Sprint/Solo disabled. Sprint is alleen klikbaar als er een sprint met status `ACTIVE` bestaat. Vervangt de bestaande `last_product`-cookieflow. -Backlog-entries: zie [backlog.md § M9](../backlog.md#m9-actief-product-backlog). +Backlog-entries: zie [backlog.md § M9](../backlog/index.md#m9-actief-product-backlog). ---