PD-299 — Décomposition step 6a¶
Stratégie d'exécution¶
Mode : sequential (bi-projet, 10 modules, 2 repos distincts)
Justification : Les modules gov et app sont dans des repos différents. Les modules gov ne nécessitent pas de TypeScript check. Exécution séquentielle pour maintenir la cohérence.
Données résolues (pré-implémentation)¶
| Donnée | Valeur résolue | Source |
|---|---|---|
| Scope comptage tests | *.{test,spec}.{ts,tsx} récursif depuis src/ | DEC-01 (plan §0) |
| Échelle comptage | Niveau projet (project_code) | DEC-02 |
| Cap zéro-test | 6.0 exact (pas min()) | DEC-01 + INV-299-12 |
| Regex Bearer | ^Bearer [!-~]+$ (ASCII visible, single space) | DEC-10 + spec D-299-07 corrigée |
| Source companion | source_story_id en front-matter YAML du besoin | DEC-07 |
| Format ratification PO | Commentaire Jira horodaté | Spec D-299-21 corrigée |
| Allowlist metadata | z.strictObject({}) — 0 clé par défaut | INV-299-05 |
| Fallback maskIp | Littéral exact IP masquée indisponible | INV-299-06 |
Waves d'exécution¶
Wave 1 — Modules gouvernance (ProbatioVault-ia-governance)¶
| # | Module | Agent | Fichiers |
|---|---|---|---|
| 1 | gov-docs-guardrails | agent-developer | .claude/rules/learnings-universal.md, templates/prompts/6a Decomposition.md, scripts/check-6a-block.py |
| 2 | gov-6cbis | agent-developer | scripts/gov-6cbis.sh, scripts/lib/extract-cross-module-points.py |
| 3 | gov-gate-zerotest | agent-developer | scripts/lib/gate8-zero-test.py |
| 4 | gov-assemble-companion | agent-developer | scripts/lib/load-companion-source.py |
| 5 | gov-check-extensions | agent-developer | scripts/detect-plan-extensions.py |
| 6 | gov-legal | agent-developer | scripts/validate-legal-approvals.py |
Wave 2 — Modules app (ProbatioVault-app)¶
| # | Module | Agent | Fichiers |
|---|---|---|---|
| 7 | sharing-telemetry | agent-developer | src/sharing/telemetry/**, src/sharing/masking/**, src/sharing/errors/** |
| 8 | sharing-api | agent-developer | src/sharing/api/** |
| 9 | sharing-ui | agent-developer | src/sharing/screens/**, src/sharing/guards/**, src/sharing/hooks/** |
| 10 | sharing-tests | agent-qa | src/sharing/**/__tests__/** |
Cross-module points (6c.bis)¶
Fichiers attendus dans le diff pour step 7 : - ProbatioVault-app/src/proofs/screens/ProofDetailScreen.tsx (injection guard) - ProbatioVault-app/src/sharing/guards/OwnershipGuard.tsx (nouveau composant) - ProbatioVault-app/src/sharing/guards/index.ts (export)