229c381c3e
* docs: import zacus conversation bundle v3 and close ZIP intake TODO * tools: add reproducible validator installer and document next gates * docs: remove ZIP terminology and align intake docs to conversation bundle * tools: add runtime bundle validator and update docs workflow * feat: promote gameplay scenario and enforce G3 bundle checks in CI * docs: add deep repo analysis and next-step TODOs * Initial plan (#107) Co-authored-by: copilot-swe-agent[bot] <198982749+Copilot@users.noreply.github.com> --------- Co-authored-by: Copilot <198982749+Copilot@users.noreply.github.com>
2.7 KiB
2.7 KiB
Analyse approfondie du dépôt — 2026-02-25
Objectif
Aller plus loin que le lot conversation bundle en évaluant l'état global du repo (docs, workflows, contenu gameplay, outillage validation, CI).
Méthode
Commandes de revue utilisées (échantillon):
rg --filesrg -n "validate_|workflow|scenario" .github/workflows tools docs gamepython3 tools/scenario/validate_runtime_bundle.pypython3 tools/scenario/validate_scenario.py game/scenarios/zacus_v1.yamlpython3 tools/scenario/export_md.py game/scenarios/zacus_v1.yamlpython3 tools/audio/validate_manifest.py audio/manifests/zacus_v1_audio.yamlpython3 tools/printables/validate_manifest.py printables/manifests/zacus_v1_printables.yaml
Constat global
1) Source de vérité gameplay
- ✅
game/scenarios/zacus_v1.yamlest bien utilisé comme source canon. - ✅ Les exports MJ/docs générés sont cohérents avec le canon courant.
- ⚠️ Le bundle
scenario-ai-coherence/reste parallèle: utile pour itérer, mais il faut éviter toute dérive silencieuse.
2) Gates G3 / validation
- ✅ Validateurs scénario/audio/printables présents et opérationnels.
- ✅
validate_runtime_bundle.pyexiste et est branché dans CI (.github/workflows/validate.yml). - ⚠️ Le diff fonctionnel gameplay est scripté localement, mais pas encore exécuté automatiquement en CI.
3) Documentation et guidage équipe
- ✅
docs/WORKFLOWS.mddécrit l'enchaînement validation. - ✅ Spec/arch conversation bundle documentent le périmètre.
- ⚠️ Il manque un guide "release gate" unique qui enchaîne G0→G5 en une seule checklist opérationnelle.
4) Risques principaux
- Divergence entre bundle conversationnel et canon gameplay si la promotion n'est pas rituelle.
- G4/G5 encore partiels (pas de lot release/compliance structuré dans ce cycle).
- Dépendance implicite à PyYAML: bootstrap présent, mais doit rester obligatoire en CI locale/README.
Plan de progression recommandé (prochaines PRs)
PR-A (QA/Test)
- Ajouter un job CI dédié qui exécute aussi
tools/scenario/diff_gameplay_scenarios.py. - Publier l'artifact markdown de diff en sortie CI (upload artifact GitHub Actions).
PR-B (Doc/Release)
- Créer
docs/RELEASE_GATES.mdavec checklist G0→G5 exécutable. - Standardiser le template de PR pour exiger la section "Gates satisfaites" + "limitations".
PR-C (Compliance)
- Ajouter un inventaire SBOM/licences minimal pour G5 (au moins dépendances Python validateurs + manifest repo).
- Centraliser les preuves dans
evidence/avec index daté.
Décision proposée maintenant
- Garder le canon gameplay tel quel.
- Passer sur PR-A en priorité pour fermer l'écart CI sur le diff fonctionnel.