Scrum4Me/docs/patterns
Madhura68 e5819ee079 docs(ST-1108): document M11 question-channel — API + architecture + pattern
docs/API.md — twee nieuwe secties:
- 'Notifications' met /api/realtime/notifications SSE-endpoint (event-shapes,
  filter-rules, voorbeeld)
- 'Cron — Expire questions' met /api/cron/expire-questions (Bearer-auth,
  schedule, response-shape, manual curl)

docs/scrum4me-architecture.md — nieuw hoofdstuk 'Vraag-antwoord-kanaal Claude
↔ user' tussen QR-pairing-flow en Projectstructuur:
- Mermaid sequence-diagram (Claude → DB → trigger → SSE → user → answer →
  trigger → Claude polls)
- Threat-model-tabel (race, demo-misbruik, cross-product leak, cron-misbruik,
  growth, log-leakage)
- Subsectie 'Waarom hergebruik scrum4me_changes-kanaal' met trade-off vs M10's
  eigen-kanaal-aanpak

docs/patterns/claude-question-channel.md — herbruikbaar pattern 'Bidirectionele
async-comms tussen MCP-agent en interactieve user' met de vier eindpunten,
vier security-uitgangspunten, channel-strategie-tabel, TTL-richtlijn, en
sjabloon-bestanden per laag (DB / server / client / MCP-tools).

CLAUDE.md — extra rij in Implementatiepatronen-tabel die naar het nieuwe
pattern-doc verwijst.

Acceptatie 6 scenario's:
1. Sync happy path (MCP wait_seconds + UI submit) — handmatig getest tijdens
   ST-1105 acceptance-loop met de q-test injection
2. Async happy path — gedekt door get_question_answer-tool in ST-1102 +
   list_open_questions
3. Demo-block — actions/questions.test.ts (case 2: demo-user) + AnswerModal
   tooltip (visueel)
4. Access-isolation — notifications-stream.test.ts (case 'access-isolation')
5. Expiry — cron-expire-questions.test.ts (case '200 met juiste secret')
6. Race — actions/questions.test.ts (case 'al-answered' via atomic updateMany)

Quality gates: lint 0 errors, tsc clean, vitest 151/151 (19 files), npm run
build groen.

M11 is hiermee feature-compleet. feat/M11-claude-questions heeft 12 commits
lokaal, klaar voor user-acceptatie en PR.

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
2026-04-28 01:56:03 +02:00
..
claude-question-channel.md docs(ST-1108): document M11 question-channel — API + architecture + pattern 2026-04-28 01:56:03 +02:00
iron-session.md Rename patterns/iron-session.md to docs/patterns/iron-session.md 2026-04-24 22:17:25 +02:00
middleware.md chore: middleware hernoemd naar proxy (Next.js 16) 2026-04-24 22:57:05 +02:00
prisma-client.md Limit Prisma generation in CI 2026-04-25 17:17:35 +02:00
qr-login.md M10: Password-loze inlog via QR-pairing (ST-1001..ST-1008) (#12) 2026-04-28 00:01:04 +02:00
route-handler.md Add analytics and documentation updates 2026-04-25 15:11:51 +02:00
server-action.md Add analytics and documentation updates 2026-04-25 15:11:51 +02:00
sort-order.md Add analytics and documentation updates 2026-04-25 15:11:51 +02:00
test.md Add test.md with initial content 2026-04-24 22:14:59 +02:00
zustand-optimistic.md Rename patterns/zustand-optimistic.md to docs/patterns/zustand-optimistic.md 2026-04-24 22:21:53 +02:00