diff --git a/05_activity_log/2026-08-03.md b/05_activity_log/2026-08-03.md index 8305268..a4d62fb 100644 --- a/05_activity_log/2026-08-03.md +++ b/05_activity_log/2026-08-03.md @@ -1556,3 +1556,55 @@ de fiche** qui mérite l'arbitrage explicite de Michel, pas une réécriture de étendue au **2e couple** (mobile) = **CLEAN** + **1 signal de continuité produit** surfacé à Michel (bundle id `com.otov7.app` immuable ↔ App Store #32). Zéro module créé · zéro gate ajouté (#5) · zéro chiffre inventé (#6) · aucune commande VPS (#8) · aucun `git clean` . + +--- + +## Session 20260803_183728 · README indexe la classe d'artefacts `DIRECTIVE_*.md` (édition doc RÉELLE) + +**Sondes préalables (2 en parallèle) — 0 dérive à corriger.** +1. **Docstring-vs-CODE** (classe [[docstring-vs-code-drift]], marquée RÉCURRENTE) : audit des + 22 générateurs `*_gen.py` + helpers `*lib*.py` → docstrings/READMEs fidèles aux fichiers + réellement écrits (`open`/`write_text`/`json.dump`) et aux clés lues. **Aucun phantom + d'input/fallback/output.** Les dérives passées (publiciste « fallback prix §5.3 », demo + `run_sheet.md`, ecf « 12 invariants ») restent corrigées. +2. **Directives non encore auditées** (`ARCHIVES_DEBLOCAGE`, `PLANPOINT_STYLE`, + `RENDUS_EXISTANTS`, `UNBLOCK_NOW`) : ce sont des directives **opérationnelles / inventaire / + UI / autorisation**, PAS des couples *directive → module byte-gaté* avec oracle (contrairement + à FINANCEMENT/MOBILE/PIE déjà audités CLEAN). Elles ne sont référencées que depuis + `DIRECTIVE_WORKFLOW_FAISABILITE_V10` (méta-directive, déjà auditée) + un log. Rien à gater. + +**Le gap RÉEL trouvé (et corrigé).** Les **8 fichiers `DIRECTIVE_*.md`** de la racine sont des +**input-specs formels datés de Michel** — artefacts de mandat de premier ordre, cross-linkés +depuis plusieurs READMEs de module (`crm/financement_bancaire`, `mobile/app_config`, +`pie/manifest`) et fiches AGENT — **MAIS absents de l'index du `README.md` racine**, alors que +ce dernier se présente explicitement comme le « **Point d'entrée** … il **indexe les +artefacts** ». `grep "DIRECTIVE" README.md` = **0 occurrence**. Classe d'artefacts entièrement +invisible depuis le point d'entrée. + +**Édition (README.md, doc réelle, PAS un signal-only) :** +- **Ligne de navigation** ajoutée (après `PORTAIL_BANCABLES_4BIG.md`) pointant vers une ancre + intra-doc `#directives-michel-input-specs-datés` (ancre non validée par `check_docs` qui + strippe `#…` l.33 → sûr). +- **Nouvelle section `## Directives Michel (input-specs datés)`** (avant `## Git`) : cadre la + nature snapshot (`spec = authority`, comme `daily_reports`), rappelle l'exclusion de + `guard_constraints` (gouvernance citant URLs/chemins interdits), puis **liste les 8 + directives en 2 groupes honnêtes** : + - **Pilotent un module byte-gaté** (audité *directive→implémentation*) : FINANCEMENT → + `crm/financement_bancaire` · MOBILE_STORES → `mobile/app_config` · PIE → `pie/manifest`. + - **Contexte/inventaire/workflow/gouvernance** (pas de module 1:1, runtime/VPS hors + périmètre #8) : WORKFLOW_FAISABILITE_V10 · ARCHIVES_DEBLOCAGE · RENDUS_EXISTANTS · + PLANPOINT_STYLE · UNBLOCK_NOW. + +**Discipline anti-drift respectée.** **Aucun compte agrégé en dur** (« 8 directives »/« 4 ») +introduit → pas de scalaire qui dérive en silence (#6) ; l'énumération EST la liste. Tous les +liens ciblent des fichiers **existants** (`check_docs` HARD vérifie l'existence). Groupement +**vérifié sémantiquement** (V10 n'a PAS de module 1:1 → classé contexte, pas faux-lié ; +`faisabilite/AGENT.md` référence en réalité PIE, pas V10). Zéro module créé (#interdit) · zéro +gate ajouté (#5) · zéro chiffre inventé (#6) · aucune commande VPS (#8) · aucun `git clean` . + +**Vérification :** `run_ci.sh --static` → **7/7 PASS** (dont `check-docs` liens OK + +`check-readme-claims` vert : aucune nouvelle assertion chiffrée). Baseline pré-édition +`run_ci.sh` complet = 32 PASS ; édition README-seule → suites de module inchangées. + +**Résultat : 1 édition doc RÉELLE** (README indexe enfin la classe `DIRECTIVE_*.md`), classe +[[directive-vs-implementation]] rendue **navigable depuis le point d'entrée**. Gate vert. diff --git a/README.md b/README.md index 838918a..4fa8fb1 100644 --- a/README.md +++ b/README.md @@ -17,6 +17,7 @@ NON-NÉGOCIABLES : [`CLAUDE.md`](CLAUDE.md). | [`04_roadmap/ROADMAP_8_WEEKS_OR_LESS.md`](04_roadmap/ROADMAP_8_WEEKS_OR_LESS.md) | Plan 8 sprints · gains d'accélération (~47%) · métriques succès MVP | | [`AGENTS_EXISTING_ASSETS.md`](AGENTS_EXISTING_ASSETS.md) | Modules OTOV7 réutilisés par agent (source des refactorings) | | [`PORTAIL_BANCABLES_4BIG.md`](PORTAIL_BANCABLES_4BIG.md) | Cadre de bancabilité 4Big | +| [`DIRECTIVE_*.md`](#directives-michel-input-specs-datés) | Input-specs datés de Michel (snapshots) qui pilotent les modules — spec commitée = autorité | | [`02_master_prompt/`](02_master_prompt) | Prompt maître du mandat | | [`03_agents/`](03_agents) | Fiches des **13 agents** (rôle · livrables · coordination) | | [`05_deliverables_mvp/`](05_deliverables_mvp) | Livrables (générateurs déterministes + hand-off `out/`) | @@ -59,6 +60,31 @@ indexation, voix Amélie) s'exécute sur le **VPS `153.75.250.214`** et reste ** worker** (`CLAUDE.md` #8). Le plan d'activation ordonné est le run-book [`devops/deploy_runbook`](05_deliverables_mvp/devops/deploy_runbook/README.md). +## Directives Michel (input-specs datés) + +Les fichiers `DIRECTIVE_*.md` à la racine sont les **input-specs formels et datés de +Michel** : des snapshots de gouvernance (au même titre que les `daily_reports`) qui +pilotent les modules. Ce README n'y introduit aucune donnée ; la **spec commitée du +module reste l'autorité** (`spec = authority`), les chiffres faisant foi via les artefacts +byte-gatés. Ils sont exclus de [`ci/guard_constraints.sh`](ci/README.md) (prose de +gouvernance énumérant règles et autorisations, pouvant citer des URLs/chemins interdits +ailleurs). + +**Pilotent un module byte-gaté** (audité *directive → implémentation*, `CLAUDE.md` #5) : + +- [`DIRECTIVE_FINANCEMENT_BANCAIRE_COMPLET`](DIRECTIVE_FINANCEMENT_BANCAIRE_COMPLET_20260803.md) → [`crm/financement_bancaire`](05_deliverables_mvp/crm/financement_bancaire/README.md) +- [`DIRECTIVE_MOBILE_STORES`](DIRECTIVE_MOBILE_STORES_20260803.md) → [`mobile/app_config`](05_deliverables_mvp/mobile/app_config/README.md) +- [`DIRECTIVE_PIE_PROJECT_IDENTITY_ENGINE`](DIRECTIVE_PIE_PROJECT_IDENTITY_ENGINE_20260803.md) → [`pie/manifest`](05_deliverables_mvp/pie/manifest/README.md) + +**Contexte · inventaire · workflow · gouvernance** (pas de module byte-gaté dédié 1:1 ; +exécution runtime/VPS hors périmètre worker · `CLAUDE.md` #8) : + +- [`DIRECTIVE_WORKFLOW_FAISABILITE_V10`](DIRECTIVE_WORKFLOW_FAISABILITE_V10_20260803.md) — versionnage du workflow faisabilité + intégration des modules livrés (annexes nuit 2026-08-03). +- [`DIRECTIVE_ARCHIVES_DEBLOCAGE`](DIRECTIVE_ARCHIVES_DEBLOCAGE_20260803.md) — inventaire IFC/plans déjà aux archives (réutiliser l'existant avant de commander). +- [`DIRECTIVE_RENDUS_EXISTANTS`](DIRECTIVE_RENDUS_EXISTANTS_20260803.md) — inventaire des rendus existants (priorité avant regénération Flux). +- [`DIRECTIVE_PLANPOINT_STYLE`](DIRECTIVE_PLANPOINT_STYLE_20260803.md) — exigence UI du configurateur « choisir-mon-unite » (niveau PlanPoint.io). +- [`DIRECTIVE_UNBLOCK_NOW`](DIRECTIVE_UNBLOCK_NOW_20260803.md) — autorisations 24/7 (contrainte #8 levée · cf. [`AUTORISATIONS_MICHEL_20260803.md`](AUTORISATIONS_MICHEL_20260803.md)). + ## Git — Gitea uniquement Dépôt de mandat : `michel/oto-enterprise-os-dtp` sur Gitea (`153.75.250.214:3015`).