- 4 plans verplaatst naar docs/old/plans/ (M10-qr-pairing-login, auto-pr-deploy-sync, docs-restructure-ai-lookup, v1-readiness) - 3 archive-plans verplaatst naar docs/old/plans/ (archive-map nu leeg) - ST-1114-copilot-reviews + 3 research-docs naar nieuwe docs/Ideas/ map - Duplicaat docs/old/2026-04-27-m8-realtime-solo.md verwijderd (origineel zit in docs/old/plans/) - Link-fixes naar nieuwe locaties: - CHANGELOG.md → docs/old/plans/v1-readiness.md - docs/runbooks/deploy-control.md → docs/old/plans/auto-pr-deploy-sync.md (2x) - docs/runbooks/worker-idempotency.md → docs/old/plans/auto-pr-deploy-sync.md - docs/plans/docs-restructure-pbi-spec.md → docs/old/plans/docs-restructure-ai-lookup.md (4x text + 2x href) - docs/INDEX.md geregenereerd (96 docs, was 100) Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
7.7 KiB
| title | status | audience | language | last_updated | ||
|---|---|---|---|---|---|---|
| Scrum4Me — v1.0 readiness | active |
|
nl | 2026-05-04 |
Scrum4Me — v1.0 readiness
Versie: v0.9.0 (zojuist gepusht naar productie via Vercel)
Doel: v1.0.0 als eerste stabiele release. Living document — bijwerken na elke sprint of merge naar main.
Summary
De kernfunctionaliteit (auth, producten, PBI/story/task-hiërarchie, sprints, solo-paneel, REST-API, MCP-integratie, QR-pairing, mobile-shell) is af en in productie. Tests, lint, build en doc-link-checker zijn allemaal groen. Wat ontbreekt voor v1 is geen feature-werk maar launch-discipline: een paar UI-gaten dichten, ops-instrumentatie (error monitoring, rate-limiting beredeneren), accessibility-audit, en de stale backlog-index opschonen. Alle "Expliciet buiten scope voor v1"-items uit de functional spec (docs/specs/functional.md:20) blijven bewust uit scope.
What's already done
- #3 Rate-limiting op alle mutation-endpoints —
enforceUserRateLimit(scope, userId)helper inlib/rate-limit.tsmet 11 nieuwe scopes; toegepast op create-actions (PBI/Story/Task/Todo/Sprint/Product/Token), enqueueClaudeJob(s), answerQuestion, en API-routes (story log POST, avatar upload). Limits zijn ruim genoeg voor normaal gebruik, eng genoeg om abuse-loops te stoppen - #2 Sentry error-monitoring —
@sentry/nextjsgeconfigureerd via PR #85; SDK is no-op zonder DSN, activatie via Vercel env-vars - #1 Edit-icoon op Product (todo
cmoq3ox51) — pencil-icoon op dashboard-card via PR #83; product-detail-header behoudt tekst - v0.9.0 (release): mobile-shell met landscape-lock (PBI-11, 7 stories, 21 tasks)
- v0.4.0 t/m v0.8.x: ondermeer sprint-screen filter-popover + edit-iconen, PBI/story/task edit-icons, code-velden verplicht, demo read-only, M11 Claude-vragen-kanaal, M10 QR-pairing
- CI op
mainen PR's: lint + typecheck + prisma validate + test + build via.github/workflows/ci.yml - 432 unit/integration tests · 60 test-files · doc-link-checker 86/86 valid
- Drie architectuur-beslissingen voor mobile geformaliseerd in docs/architecture/project-structure.md
Now
Korte lijst (3-5 items) die je vóór de v1.0-tag wil afronden. Deze blokkeren een betekenisvolle launch.
1. Edit-icoon op Product ✅ klaar in PR #83
Verschoven naar What's already done. Pencil-icoon op dashboard-card; product-detail page-header behoudt tekst (matched naast andere text-acties).
2. Error monitoring (Sentry of vergelijkbaar)
CI vangt build-fouten af, maar er is geen runtime-monitoring. Voor een echte v1 wil je productie-fouten zien voordat een gebruiker het meldt. Vercel heeft native Sentry-integratie (Marketplace → Sentry).
Concreet:
npm i @sentry/nextjsnpx @sentry/wizard@latest -i nextjs- DSN als env-var via Vercel project settings (development + production environments)
- Sample-rate conservatief (10% performance, 100% errors) — Hobby-plan-vriendelijk
- Bevestig dat Postgres-LISTEN/NOTIFY-fouten in worker-routes (
/api/realtime/*) gevangen worden
3. Rate-limiting op alle mutation-endpoints ✅ klaar
Verschoven naar What's already done. Helper enforceUserRateLimit(scope, userId) in lib/rate-limit.ts toegepast op alle high-value create-paths.
4. Accessibility audit op happy-path
@base-ui/react levert WAI-ARIA defaults; we gebruiken semantische HTML; maar er is geen audit-bewijs.
Concreet:
- DevTools Lighthouse a11y-pass op
/login,/dashboard,/products/[id],/products/[id]/sprint,/products/[id]/solo,/m/products/[id],/m/products/[id]/solo - Score-doel ≥95 per pagina
- Fix wat onder de 95 valt — meestal contrast of missende labels
- Documenteer score in docs/specs/functional.md § Niet-functionele vereisten
Next
Belangrijk maar niet-blokkerend voor v1.
Backlog-index sync
docs/old/backlog/index.md toont M10 (ST-1001 t/m 1008) en M11 (ST-1101 t/m 1108) als unchecked, terwijl ze allemaal gemerged zijn. Loop één keer door en zet [x]. Is een 5-min-job die de doc weer betrouwbaar maakt voor wie 'm leest.
Solo observaties (todo cmohuu5h8)
"Filters en sortering. blokjes kleiner maken 2 op een rij" — UX-polish op het Solo-paneel. Niet trivial: vereist een filter-popover-pattern (we hebben er net een uitgerold op het sprint-screen — herbruik kan).
Algemene observaties (todo cmohthfyw)
"Dunne border om tekstvlakken (onzichtbaar als niet actief), default active PB kiezen, hover-card voor detail-info, landingpage AI-assisted/AI-driven framing." — verzameling kleinere UI-aanscherpingen, ieder eigen scope.
ToDo prioriteit + AI-suggesties (todos cmohtgdwf, cmohswbb9)
Twee verwante todo's over de todo-feature uitbreiden. Past bij de strategische richting "AI-driven dev-flow" maar geen v1-blokker.
Before launch
Must-do voor publieke aankondiging, maar mag pas vlak vóór v1.0-tag.
- Smoke-test productie — checklist klaar in docs/runbooks/v1-smoke-test.md, 11 secties, ~15 min
- PWA-installatie test op echt mobiel (Android + iOS) — bevestig manifest landscape, controleer iOS-fallback via CSS-overlay
- Demo-policy regression-pass — code-side gefixt: 3 gaps gedicht (toggleTodo, archiveCompletedTodos, leaveProduct). Drielaags-block geverifieerd voor alle mutation-actions
- Privacy review — Sentry sendDefaultPii=false; geen PII in logs; 4 debug-routes nu NODE_ENV-guarded (404 in productie)
- README + Quick start verifiëren — test-count 69 → 445 gecorrigeerd, env-vars-tabel uitgebreid (CRON_SECRET, Sentry vars), CHANGELOG-link toegevoegd
- CHANGELOG.md aangemaakt (Keep a Changelog formaat met [Unreleased] + [0.9.0])
- Bump naar v1.0.0 + GitHub release met release-notes
Later
Bewust uit scope voor v1 (uit functional spec § Expliciet buiten scope) — of grotere domein-uitbreidingen die hun eigen PBI verdienen.
- Daily Scrum / Sprint Review / Retrospective-schermen — v2
- E-mail-uitnodigingsflow voor teams — nu enkel via username
- Notificaties + reminders — out of scope
- Native mobile app — web-first; mobile-shell is genoeg
- Tijdregistratie / burndown-charts — buiten positionering
- WIA AI agent (todo
cmog2gzjb) — eigen project-domein - Claude-code-integratie via tabel-trigger (todo
cmohn3728) — past bij M12-richting maar geen v1 - Inspaningsmonitor-import (todo
cmohul0ri) — separate product - GitHub Issues / Linear / Jira-integratie — v2
Priority order (quick reference)
Now: ~~1. Edit-icoon op Product~~ ✅
~~2. Sentry/error-monitoring~~ ✅
~~3. Rate-limiting op mutation-endpoints~~ ✅
4. Accessibility-audit (Lighthouse a11y ≥95)
Next: 5. Backlog-index.md sync
6. Solo observaties (filters/sortering)
7. Algemene UI-observaties
8. Todo prioriteit + AI-suggesties
Before launch: 9. Smoke-test productie (desktop + mobile)
10. PWA-installatie test op echte mobiel
11. Demo-policy regression-pass
12. Privacy/PII review
13. README quick-start verificatie
14. CHANGELOG.md
15. Bump → v1.0.0 + release
Later: (zie sectie hierboven — v2-domein of buiten scope)
Updated: 2026-05-04 (na v0.9.0 release). Refresh dit document na elke sprint of major merge.