[DTP-Worker 20260802_163601] Sprint 8 · buffer · Fiche devops/AGENT.md : documentation du livrable run_ci.sh (indexé au README racine mais absent de la fiche de son agent propriétaire) → 3e ligne table + sous-section « outillage local, PAS un gate #5 » (dérive de gate.needs, hors gate.needs, racine ∉ ci/ donc hors INV-B), aligné mémoire local-ci-runner · zéro module · zéro gate · check_docs valide le lien ../../run_ci.sh · run_ci 30 PASS + guards verts
This commit is contained in:
@@ -23,6 +23,20 @@ et vérifications HTTP restent côté **agent DevOps/ERPNext Backend**.
|
||||
|---|---|---|---|---|
|
||||
| [`.gitea/workflows/ci.yml`](../../.gitea/workflows/ci.yml) + [`ci/`](../../ci/README.md) | 1 (roadmap L29) | **CI/CD Gitea Actions** : 3 guards blocants (contraintes / JSON / docs) + un job de tests par livrable gated + `gate` agrégateur + `e2e-baseline` | déclenché sur `push`/`pull_request` → `main` + `workflow_dispatch` | 22 suites gated |
|
||||
| [`05_deliverables_mvp/devops/deploy_runbook/`](../../05_deliverables_mvp/devops/deploy_runbook/README.md) | 8 (roadmap L73) | **Run-book VPS unifié** : graphe de **7 phases ordonnées** couvrant TOUS les modules gated, dépendances inter-phases + confirmations préalables sourcées | `deploy_runbook_gen.py build\|validate` | 29 (dont 14 injections négatives) |
|
||||
| [`run_ci.sh`](../../run_ci.sh) | 8 (roadmap L73 · « regression exhaustifs ») | **Miroir LOCAL du gate** : rejoue en une commande, hors runner et hors réseau, l'ensemble exact des checks de `gate.needs` | `bash run_ci.sh` (outil, non un gate) | — (voir ci-dessous) |
|
||||
|
||||
### `run_ci.sh` — outillage local, PAS un gate (#5)
|
||||
Confort développeur, pas un maillon de la chaîne de merge : le script **dérive**
|
||||
sa liste de checks de `gate.needs` (`.gitea/workflows/ci.yml`, la source déjà
|
||||
verrouillée par `ci/check_ci_integrity.sh`) — **zéro liste en dur**, donc aucune
|
||||
dérive silencieuse possible (ajouter/retirer un job CI se répercute ici sans
|
||||
édition). Il n'ajoute **aucun `ci/*.sh` ni aucune assertion** : ce n'est **pas**
|
||||
un gate (CLAUDE.md #5), il ne s'inscrit pas dans `gate.needs` et, la racine
|
||||
n'étant pas sous `ci/`, il échappe par construction à l'invariant qui interdit un
|
||||
`ci/*.sh` non câblé au gate. Périmètre = uniquement les jobs de `gate.needs`
|
||||
(exclut les jobs `workflow_dispatch` type `e2e-baseline`/`npm test` qui exigent
|
||||
Node). Le décompte jobs/gates/suites est **imprimé à l'exécution** — jamais figé
|
||||
dans le code, où il se périmerait (anti-invention · #6).
|
||||
|
||||
### Le gate CI — trois guards blocants (`ci/`)
|
||||
- **`guard_constraints.sh`** : détecte l'**usage** (pas la simple mention) des
|
||||
|
||||
@@ -1626,3 +1626,9 @@ nouvelle introduite ; l'état launch-readiness est **inchangé et vert**.
|
||||
`../../.gitea/workflows/ci.yml`, `../qa/...` — mirrorent le style des addenda existants et
|
||||
passent le link-check). Arbre `git status --porcelain` vide avant l'édition. Aucune
|
||||
commande touchant au VPS.
|
||||
|
||||
## Session 20260802_163601 · Sprint 8 · buffer · Fiche `devops/AGENT.md` : documentation du livrable `run_ci.sh` (angle mort de complétude)
|
||||
- **Constat** : `run_ci.sh` (miroir local du gate, ajouté aux commits `49123ec`/`dcb463e`) est déjà indexé dans la table Navigation du `README.md` racine, mais **absent de la fiche de son agent propriétaire** (`03_agents/devops/AGENT.md`) — la table « Livrables DevOps réellement produits » n'en listait que 2 (ci.yml+ci/, deploy_runbook). Gap de **complétude doc-vs-réalité**, pas une dérive de chiffre.
|
||||
- **Action** : ajout d'une 3e ligne à la table + sous-section dédiée décrivant `run_ci.sh` **avec exactitude** : outillage local (confort dev), **PAS un gate** (CLAUDE.md #5 · aucun `ci/*.sh`, hors `gate.needs`, racine ∉ `ci/` donc hors invariant INV-B), liste de checks **dérivée** de `gate.needs` (zéro liste en dur → zéro dérive), décompte imprimé à l'exécution (#6). Aligné sur la mémoire `local-ci-runner`.
|
||||
- **Zéro nouveau module · zéro gate ajouté** (#5). Seul changement = prose de fiche.
|
||||
- **Vérif** : `check_docs.sh` valide le nouveau lien `../../run_ci.sh` (HARD) → vert · `guard_constraints.sh` vert · `run_ci.sh` → **30 PASS · 0 FAIL · 0 SKIP**.
|
||||
|
||||
Reference in New Issue
Block a user