✅ Acceptance Checklist · printable
Planet Module System foundation · 2026-05-16
Tickare durante esecuzione · Mother gate finale richiede TUTTO ✅ per merge. Soft gates (L5 visual, L10 load) sono review-required ma NON blocker.
Mother fase-0 (75min, 0:00–1:15)
[ ] Repo audit fatto (15min)
[ ] pnpm workspaces estesi a `packages/*` (5min)
[ ] packages/contracts/src/planet.ts copiato da 10-contracts.ts del kit (5min)
[ ] packages/contracts/package.json + tsup.config + vitest.config (5min)
[ ] .github/workflows/planet-system-ci.yml copiato da 20-ci-workflow.yml (5min)
[ ] tsconfig.base.json strict (vedi 30-tooling-configs.md §8) (5min)
[ ] eslint.config.js + .prettierrc.json + commitlint.config.js (10min)
[ ] husky + lint-staged installati (pnpm exec husky init) (5min)
[ ] size-limit + stryker configs (10min)
[ ] changesets + renovate config (5min)
[ ] 3 ADR seedati in docs/adr/ (001 PMS · 002 hexagonal · 003 strangler) (5min)
[ ] Commit "feat(planet-system): bootstrap monorepo foundation" (5min)
[ ] Push feat/pms-foundation-base (1min)
[ ] git worktree add ../Multiverbe-child1-pms-core feat/pms-core-web-retrofit (2min)
[ ] git worktree add ../Multiverbe-child2-adapters feat/pms-adapters-booking-retrofit (2min)
[ ] Child briefs spawn (paste 01-child-1-brief.md + 02-child-2-brief.md) (5min)
Mother fase-0 gate: tutti ✅ prima di lasciar partire Child.
Child-1 · Planet Core + Web retrofit (6h, 1:15–7:15)
Pre-PR gates (auto via CI)
[ ] pnpm typecheck exit 0
[ ] pnpm lint zero new warning
[ ] pnpm --filter @multiverbe/planet-core test --coverage ≥80% line / ≥70% branch
[ ] pnpm --filter @multiverbe/planet-core test:mutation ≥60%
[ ] pnpm --filter @multiverbe/planet-testkit test 100% pass
[ ] pnpm --filter @multiverbe/planet-web test --coverage ≥70% line
[ ] pnpm --filter @multiverbe/planet-web build size-limit ≤80KB gz
[ ] pnpm --filter @multiverbe/planet-core build size-limit ≤25KB gz
[ ] pnpm dlx madge --circular [packages owned] 0 circular
[ ] Playwright smoke signup→/web→create site→preview zero error
[ ] axe-core scan /web mount 0 critical/serious
[ ] Commitlint conventional commits pass
Side-effect Wow Audit fixes
[ ] W-002 keyframes morti fix animations.css + scanner test pass
[ ] W-010 sezioni null fix SectionRegistry typed + ADR-004 finalizzato
[ ] W-011 screenshot stub fix real Playwright capture + feature flag wired
Scaffold script DX
[ ] scripts/scaffold-planet.ts implementato via tsx
[ ] pnpm run scaffold:planet crm <60s exit 0 smoke
[ ] Generated planet-crm passes contract test pass
[ ] BOS status.json action_item planet-crm-implementation auto-add (placeholder OK)
ADR Child-1
[ ] ADR-001 PMS finalizzato con esempi reali docs/adr/001-*.md
[ ] ADR-003 Strangler finalizzato docs/adr/003-*.md
[ ] ADR-004 SectionRegistry restricted (W-010) seeded docs/adr/004-*.md
PR body Child-1
[ ] Scope description (1 paragrafo)
[ ] Impatto MVP% claim (es. +6% feature + +50% scale-readiness)
[ ] Acceptance checklist copy-paste tickata
[ ] Screenshot/screencast Vercel preview /web functioning
[ ] Self-critique sezione ≥3 punti "what I'd improve next iteration"
[ ] Refs: BOS#planet-module-system-foundation-2026-05-16
Child-2 · Adapters + Booking retrofit (6h, 1:15–7:15)
Pre-PR gates (auto via CI)
[ ] pnpm typecheck exit 0
[ ] pnpm lint zero new warning
[ ] pnpm --filter @multiverbe/sector-adapters test 100% contract pass
[ ] pnpm --filter @multiverbe/sector-adapters test --coverage ≥80% line (3 full · skeleton excluded)
[ ] pnpm --filter @multiverbe/planet-booking test --coverage ≥70% line
[ ] pnpm --filter @multiverbe/sector-adapters build each adapter ≤15KB gz
[ ] pnpm --filter @multiverbe/planet-booking build size-limit ≤80KB gz
[ ] pnpm dlx madge --circular [packages owned] 0 circular
[ ] Playwright smoke 3 settori prenotazione zero error
[ ] axe-core scan /booking + form 0 critical/serious
[ ] Supabase get_advisors diff post-changes 0 new warning
[ ] Commitlint conventional commits pass
Sector adapters
[ ] Ristorazione full (booking + menu adapter + tests) ✅
[ ] Parrucchieri full (booking adapter + tests) ✅
[ ] Studi-medici full (booking + GDPR Art 9 + audit log + pseudo) ✅
[ ] Hotel skeleton + 1 contract test ✅
[ ] Gym skeleton + 1 contract test ✅
[ ] Immobiliari skeleton + 1 contract test ✅
[ ] Studi-prof skeleton + 1 contract test ✅
Cross-planet contract
[ ] <BookingSlot /> exported da planet-booking ✅
[ ] Consumable da planet-web stub (integration test) pass
[ ] Event bus publish booking:slot:created cross-planet pass
Integration test Supabase branch ephemeral
[ ] create_branch MCP (confirm_cost <CHF 0.01) ✅
[ ] 5 booking scenarios cross-sector run green
[ ] RLS isolation + audit log art9 verified pass
[ ] delete_branch MCP teardown ✅
ADR Child-2
[ ] ADR-002 Hexagonal + DDD finalizzato con esempi docs/adr/002-*.md
[ ] ADR-005 Studi-medici GDPR Art 9 scritto docs/adr/005-*.md
PR body Child-2
[ ] Scope description
[ ] Impatto MVP% claim (es. +4% feature + adapter pattern reusable)
[ ] Acceptance checklist tickata
[ ] Screencast prenotazione 3 settori
[ ] Self-critique ≥3 punti
[ ] Refs: BOS#planet-module-system-foundation-2026-05-16
Mother fase-2 integration (75min, 7:15–8:30)
Verifier review (adversariale · Opus 4.7 xhigh)
[ ] Cerca attivamente buchi nei test (mutation think · cosa se cambio operator)
[ ] Cerca race condition event-bus + state-migrator
[ ] Cerca PII leak in log strutturati (regex scan)
[ ] Cerca RLS leak (workspace_id assertion)
[ ] Cerca contract violation (Zod runtime parse roundtrip)
[ ] Approva o request-changes (iterazione max 2x · poi escalate founder)
Merge sequenza
[ ] PR Child-1 squash merge a master (10min)
[ ] PR Child-2 rebase post-master + squash merge (10min)
[ ] git worktree remove ../Multiverbe-child1-pms-core (2min)
[ ] git worktree remove ../Multiverbe-child2-adapters (2min)
Full quality gate run su master
[ ] pnpm install --frozen-lockfile ✅
[ ] pnpm typecheck exit 0
[ ] pnpm lint --max-warnings=0 ✅
[ ] pnpm test --coverage ≥80%/≥70%
[ ] pnpm test:mutation (planet-core) ≥60%
[ ] pnpm test:e2e (Playwright golden + 3 edge) ✅
[ ] pnpm test:a11y 0 critical/serious
[ ] pnpm size tutti budget rispettati
[ ] pnpm audit --audit-level=high 0 high/critical
[ ] pnpm dlx madge --circular packages/ 0
[ ] pnpm build ✅ + sourcemaps presenti
[ ] scripts/check-boundaries.sh ✅
Vercel preview verify
[ ] Vercel preview deploy auto-triggered post-merge ✅
[ ] Build logs zero error ✅
[ ] curl /api/health/planets → { web: 'ok', booking: 'ok' } ✅
[ ] Playwright smoke su preview URL ✅
[ ] Lighthouse CI on preview · LCP/INP/CLS/TBT in budget ✅
Supabase post-merge audit
[ ] get_advisors smoke su yqhixdqipojvgzfadufo 0 new warning
[ ] list_tables verify schema unchanged (no rogue migrations) ✅
BOS update (trigger "aggiorna BOS")
[ ] status.json:
[ ] close web-quality-gap-closure-2026-05-15 (done · via PMS side-effect)
[ ] close planet-module-system-foundation-prep-2026-05-16 (done)
[ ] add planet-module-system-foundation-2026-05-16 (done)
[ ] add planet-crm-implementation-2026-05-19 (todo)
[ ] add planet-sales-implementation-2026-05-22 (todo)
[ ] add planet-content-studio-implementation-2026-05-26 (todo)
[ ] add planet-hr-skeleton-2026-Q3 (todo)
[ ] decisions-log.md entry full "2026-05-16 · PMS foundation"
[ ] activity.json append 2 PR events + quality_report ref
[ ] canon/05-stack.md § Architettura cite ADR-001/002/003
[ ] Commit + push BOS ✅
[ ] Vercel deploy multiverbe-bos-app verify ✅
Continuous improvement loop
[ ] <quality_report> §9 rubric 10 cat compilato
[ ] archived execution/quality-reports/2026-05-16T{HH}-pms-foundation.md
[ ] <wow_check> §9-bis 3 lenti
[ ] ≥1 entry append execution/wow-backlog.md
[ ] <pattern_learned>
[ ] memoria feedback_planet_module_system_architecture.md
[ ] MEMORY.md index aggiornato (≤200 lines)
[ ] Self-critique protocol
[ ] ≥3 lessons learned append ops/operating-protocol-orchestrator.md
[ ] <handover_log> compilato e archiviato
Founder briefing
[ ] 5-line summary cosa fatto oggi
[ ] Next-action proposta (1-2 frasi · domenica 17 Mag admin OR lunedì 18 Mag W3 Sprint 1 day-1)
[ ] Quality report score X/12 reported
[ ] Demo URL Vercel preview se applicable
🚨 Exit criteria · TUTTI ✅ per sessione closed
[ ] 2 PR merged master
[ ] CI green su master
[ ] Vercel preview green
[ ] L1-L9 hard gates verdi (L5 + L10 soft accepted)
[ ] BOS aggiornato + committato + pushed + deployed
[ ] Memory + protocol updates archiviati
[ ] Founder briefed
Se UNO non ✅ → NON dichiarare "done" · documenta gap residuo + action_item BOS + revert se rischio prod.
Print this prima della sessione · barri durante · review a fine.