[DTP-Worker] Sprint 8 · buffer L75 · Gate 4Big check_docs 0 faux positif (fixtures data_room exclues + spec CHOISIR scorée 95/100)

- ci/check_docs.sh : exclut */fixtures/data_room/* du gate SOFT auto-score
  (inputs de test synthétiques, cf. publiciste/fixtures/README.md ; même
  statut que daily_reports/*). Portée précise : fixtures/README.md reste gaté.
- specs/CHOISIR_MON_UNITE_SPEC.md : ajoute une section Auto-score 4Big 95/100
  (livrable spec, contrainte #5) ; P01=2.484M USD cité verbatim de la spec (#6).
- Resultat : 9 avertissements documentaires -> 0. Gates vertes (check_docs,
  guard_constraints, validate_json tous EXIT 0).

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
This commit is contained in:
Claude Code DTP Worker
2026-07-30 23:02:54 +00:00
parent f68f2e2940
commit 535bc83e0d
3 changed files with 73 additions and 0 deletions
+55
View File
@@ -1549,3 +1549,58 @@ nouvelles cibles résolvent) · `ci/guard_constraints.sh` EXIT 0. `crm/AGENT.md`
(`bim`/`ifc_speckle`/`rendu`/`mobile` = VPS-only, sans livrable in-repo → hors chantier.)
**Auto-score 4Big** : 96/100.
---
## Session 20260730_225912 · Buffer S8 · Gate 4Big check_docs : 0 faux positif (fixtures exclues + spec scorée)
**Tâche** : **Sprint 8 · buffer L75 (corrections finales)**. Le chantier de cross-linking
des fiches agents étant **clos** (commit f68f2e2 : 4 dernières fiches SEO/DevOps/Frontend/
ONAPI), baseline sain établi : `check_docs.sh` EXIT 0, `guard_constraints.sh` EXIT 0,
`validate_json.sh` EXIT 0. Cible de la session : réduire le **bruit** de la gate
documentaire — la section « 2. Auto-score 4Big (SOFT) » émettait **9 avertissements ⚠**.
**Diagnostic (analyser avant agir · #1)** : les 9 ⚠ se répartissent en deux natures
**distinctes**, l'une un **faux positif**, l'autre un **vrai manque** :
- **8 sur 9** sous `publiciste/fixtures/data_room/PXX/…` — ce sont des **INPUTS de test
synthétiques** consommés par le parser (`test_publiciste.py:25` `FIXTURES = fixtures/data_room`).
Le README de ces fixtures les déclare explicitement « **DONNÉES SYNTHÉTIQUES DE TEST …
ne doivent JAMAIS être publiés** » (`publiciste/fixtures/README.md:1-5`). Un input de
test n'est **pas un livrable scoré 4Big** — exactement le même statut que
`daily_reports/*`, déjà exclu de cette gate.
- **1 sur 9** — `specs/CHOISIR_MON_UNITE_SPEC.md`, un **vrai livrable** (spec design-complete
validée par Michel, 5 décisions tranchées) qui n'affichait **aucun** auto-score.
**2 solutions par nature (workflow #4 · toujours 2+ options)** :
- *Fixtures* — A **exclure la racine** (root-cause : les inputs de test ne sont pas des
livrables) vs B ajouter un faux score à des fixtures « fictives ». **Choix A** : B
falsifierait des fichiers explicitement non-publiables. Portée **précise** :
`*/fixtures/data_room/*` (le sous-arbre d'inputs), **pas** `*/fixtures/*` — sinon
`fixtures/README.md` (doc réelle, déjà scorée) perdrait sa surveillance.
- *Spec* — A l'**exclure** (specs = design docs) vs B lui **donner un vrai score**.
**Choix B** : la spec EST un livrable (contrainte #5 « score min 95 sur tout livrable »),
l'exclure masquerait un manque au lieu de l'honorer.
**Fichiers modifiés (2)** :
1. `ci/check_docs.sh` — nouvelle branche `case` : `05_deliverables_mvp/*/fixtures/data_room/*)
continue ;;` (SOFT gate section 2 uniquement ; liens internes de la section 1 restent
vérifiés partout, fixtures comprises).
2. `05_deliverables_mvp/specs/CHOISIR_MON_UNITE_SPEC.md` — section **« Auto-score 4Big :
95/100 »** ajoutée, avec table 4 volets + justification du **5** (provisionnements
externes DocuSign/Speckle/PROJECT_META non tranchés, à lever au build downstream).
**Anti-invention (#6)** : le seul chiffre chiffré cité dans le score (P01 = **2.484M USD
Dumar tasación**) est une **citation verbatim** de la spec elle-même (`…:63`, section
« Non-négociables ») — aucun nombre fabriqué. Le score 95 est une **auto-évaluation de
rigueur de la spec**, explicitement **pas** un score d'implémentation (le build
`/choisir-mon-unite` reste hors-périmètre worker · #8).
**Vérifs post-édition** :
- `check_docs.sh` : **9 ⚠ → 0 ⚠**, EXIT 0 (liens internes toujours OK).
- **Test de non-régression de portée** : `fixtures/README.md` reste **gaté** (✓ score
présent) — seul le sous-arbre `data_room/` est exclu ; la spec affiche désormais ✓.
- `guard_constraints.sh` EXIT 0 · `validate_json.sh` EXIT 0 (inchangés).
**Hors périmètre worker (VPS · #8)** : néant (changements in-repo : gate CI locale + doc).
**Auto-score 4Big** : 96/100.
@@ -112,3 +112,20 @@ _Conservées pour traçabilité ; chaque point est résolu par la section
3. **Après login** → viewer 3D Speckle bâtiment + fiche unité complète + prix exact + financement
4. **CTA "Réserver cette unité"** → création reservation 10j ouvrables + génération contrat DocuSign
5. **Signature DocuSign** → dépôt 20% (Cardnet) → réservation confirmée → email + notification vendeur
---
## Auto-score 4Big : **95/100**
Score de la **spec** (rigueur/complétude du design), **pas** d'une implémentation
(le build `/choisir-mon-unite` reste hors-périmètre worker · contrainte #8, cf. en-tête).
| Volet 4Big | Note | Justification |
|---|---|---|
| Masterplan / parcours | 96 | Parcours vendeur 4 étapes finalisé (projet → bâtiment → étage → unité) + 5 décisions Michel tranchées. |
| Architecture technique | 95 | Speckle iframe/bâtiment, `Unit Reservation` ERPNext, webhook DocuSign, `<PricePublic/>`/`<PriceAuth/>` spécifiés. |
| Paysage / expérience | 95 | Design luxury `#0a0a12`+`#f0b429` (Fraunces/Cormorant), responsive mobile-first, FR/EN/ES. |
| Ingénierie / conformité | 94 | Cardnet (pas Stripe), rendus réels only, prix vérifiés (P01 = 2.484M USD Dumar), zéro invention (#6). |
**5** : provisionnements externes non tranchés (compte DocuSign entreprise, `stream_id`
Speckle par projet, extension `PROJECT_META` à P04/P06/P08/P09) — à lever au build downstream.
+1
View File
@@ -46,6 +46,7 @@ echo "== 2. Auto-score 4Big sur les livrables (SOFT · CLAUDE.md #5 · ≥95/100
while read -r md; do
case "$md" in
05_deliverables_mvp/daily_reports/*) continue ;; # rapports : hors gate score
05_deliverables_mvp/*/fixtures/data_room/*) continue ;; # fixtures : INPUTS de test synthétiques (cf. publiciste/fixtures/README.md), pas des livrables scorés
esac
if grep -qiE 'score|/100' "$md"; then
ok "$md — mention de score présente"