[DTP-Worker 20260802_130548] Sprint 8 · buffer · Compte d'agents : ancrage des 3 surfaces vives de GAP_ANALYSIS_SPRINT1 (dont coche couverture DoD) sur n_agents
Balayage de complétude après cb8d931 (qui a ancré « 13 agents » aux 2 docs de
mandat de tête) : 3ᵉ surface HORS gate = le livrable Sprint 1 GAP_ANALYSIS_SPRINT1.md
(Definition of Done). Retranscrit le compte à 3 endroits vifs — périmètre d'audit
(l.12) · constat global total (l.53, le « 12 » analytique EXCLU) · coche de
couverture DoD (l.214). Prouvé ungate (grep ci/=0 ; mutation 13→14 laissait exit 0)
et à dérive prouvée (publiciste 12→13). Extension de la boucle head-docs existante
(3 tuples réutilisant n_agents = git ls-files 03_agents/*/AGENT.md · zéro nouvelle
machinerie · #5) ; on n'ancre que le total ; INTROUVABLE = échec (#6). ci/README.md
documente désormais 7 surfaces vives. 6 morsures (M5 no-false-positive sur le « 12 » ·
M6 SILENT-GREEN via git rm --cached prouvant l'autorité git-index). 7 gates exit 0.
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
This commit is contained in:
@@ -1329,3 +1329,45 @@ exit 0**. Aucune commande touchant au VPS.
|
||||
|
||||
**Non fait (hors périmètre #8)** — runtime VPS publiciste (`publiciste.py`, systemd/
|
||||
inotify, WhatsApp), déploiement serveur : hors périmètre worker.
|
||||
|
||||
---
|
||||
|
||||
## Sprint 8 · buffer · Compte d'agents — ancrage des 3 surfaces vives de `GAP_ANALYSIS_SPRINT1.md` (dont la coche de couverture DoD) sur la source unique `n_agents`
|
||||
|
||||
**Contexte** — Série anti-dérive Sprint 8 (CLAUDE.md #6 « zéro invention de chiffres »).
|
||||
Le commit précédent (cb8d931) a ancré « 13 agents » à `git ls-files 03_agents/*/AGENT.md`
|
||||
(source unique `n_agents`) sur les 2 docs de mandat de tête (AGENTS_EXISTING_ASSETS titre +
|
||||
MASTER_PROMPT §28), en plus du README ×2. Un balayage de complétude a exhumé une **3ᵉ
|
||||
surface entièrement HORS gate** : le **livrable Sprint 1** `05_deliverables_mvp/
|
||||
GAP_ANALYSIS_SPRINT1.md` (Definition of Done) retranscrit ce même compte à **trois
|
||||
endroits vifs** — l.12 périmètre d'audit (« audit des **13 agents DTP** »), l.53 constat
|
||||
global (« **12 des 13 agents** partent d'un socle existant »), et surtout l.214 la **coche
|
||||
de couverture DoD** (« Couverture **13 agents** + OTOIA core ✅ »). Cette coche AFFIRME une
|
||||
complétude COURANTE : elle DOIT suivre le nombre réel de fiches.
|
||||
|
||||
**Le « vert trompeur » — PROUVÉ ungate avant ajout** (mémoire
|
||||
`verify-uncovered-before-gating`) : `GAP_ANALYSIS` n'est référencé par AUCUN `ci/*.sh`
|
||||
(`grep` = 0) ; muter l.214 « 13 »→« 14 » laissait `check_readme_claims` **exit 0**. Or ce
|
||||
NOMBRE a une **dérive prouvée** : le publiciste fut ajouté comme 13ᵉ agent (12→13), forçant
|
||||
la correction de cb8d931. Si un 14ᵉ agent était mandaté, la coche DoD mentirait en silence.
|
||||
`check_artifacts` est aveugle (la SPEC n'est pas un `out/*.json`) ; aucune suite `tests/` ne
|
||||
touche l'ancre doc↔disque.
|
||||
|
||||
**Gate ajouté — EXTENSION de la boucle head-docs existante** (`ci/check_readme_claims.sh`,
|
||||
bloc « Comptes d'agents dans les docs de mandat de tête »), pas un bloc neuf : 3 tuples
|
||||
`(GAP, motif, label)` réutilisant le `n_agents` DÉJÀ dérivé (zéro nouvelle machinerie ·
|
||||
zéro re-dérivation · #5). On n'ancre QUE le **total** — le « 12 » analytique de l.53
|
||||
(agents à socle existant) N'EST PAS gaté (motif `\d+ des (\d+) agents` capture le 2ᵉ nombre).
|
||||
Surface INTROUVABLE = échec (anti-évaporation #6). `ci/README.md` mis à jour : le décompte
|
||||
d'agents est désormais documenté comme ancré à **7 surfaces vives**.
|
||||
|
||||
**Vérif** — 3 checks verts sur l'arbre propre (les 3 == 13). **6 morsures** adversariales,
|
||||
reverts par `cp` ciblé (jamais `git checkout` large — cf. incident consigné) : **M1** DoD
|
||||
13→14 (mord) · **M2** périmètre 13→99 (mord) · **M3** constat total 13→12 (mord) · **M4**
|
||||
ligne DoD supprimée ⇒ INTROUVABLE · **M5 no-false-positive** : muter le « 12 » analytique
|
||||
(12→11), total intact ⇒ gate **exit 0** (preuve qu'on ne gate que le total) · **M6
|
||||
SILENT-GREEN** : dérive de la SOURCE (`git rm --cached` d'une fiche ⇒ `n_agents`=12), docs
|
||||
figés à 13 ⇒ les **5 surfaces head-docs+GAP mordent** « dit 13 MAIS 03_agents/ en compte 12 »
|
||||
(preuve que l'autorité est le git-index, pas la cohérence interne). Arbre restauré. **7 gates
|
||||
re-joués → exit 0** : check_ci_integrity · check_artifacts · check_docs · check_readme_claims ·
|
||||
check_regression · guard_constraints · validate_json. Aucune commande touchant au VPS.
|
||||
|
||||
Reference in New Issue
Block a user