Claude commited on
Commit
b98dad4
·
unverified ·
1 Parent(s): 52ddacb

docs: remove sprint narrative from root files (Phase 2 L1)

Browse files

Reformulation des mentions « Sprint XX » en prose dans les fichiers
de la racine : README.md, GOVERNANCE.md, SECURITY.md, CODE_OF_CONDUCT.md,
CONTRIBUTING.en.md.

Pattern de remplacement : on retire l'identifiant sprint et on
conserve l'intention sous-jacente. Exemples :
- "Pettitt change-point analysis, Sprint 92" → "Pettitt change-point analysis"
- "Sprint A10 du plan de remédiation institutionnelle" → "Politique
de gouvernance institutionnelle. Contexte historique : [...]"
- "depuis le Sprint 24" (SECURITY) → mention supprimée
- "## CSRF — déploiement institutionnel (Sprint A4)" → "## CSRF
— déploiement institutionnel"

Aucun contenu technique perdu — seul le tag sprint disparaît.
L'historique reste accessible via git log et CHANGELOG / docs/archive/.

Ratchet : ACTIVE_NARRATIVE_BASELINE 88 → 75 (-13).

CODE_OF_CONDUCT.md CHANGED
@@ -1,6 +1,6 @@
1
  # Code de conduite — Picarones
2
 
3
- > Sprint A10 du plan de remédiation institutionnelle. Adoption du
4
  > [Contributor Covenant version 2.1](https://www.contributor-covenant.org/version/2/1/code_of_conduct/).
5
 
6
  ## Notre engagement
 
1
  # Code de conduite — Picarones
2
 
3
+ > Adoption du
4
  > [Contributor Covenant version 2.1](https://www.contributor-covenant.org/version/2/1/code_of_conduct/).
5
 
6
  ## Notre engagement
CONTRIBUTING.en.md CHANGED
@@ -12,7 +12,7 @@ accessibility audits.
12
 
13
  ## Pre-requisites
14
 
15
- - Python 3.11 or 3.12 (3.13 informational, Sprint A1).
16
  - Git, GitHub account.
17
  - A working Picarones dev install:
18
  ```bash
@@ -60,7 +60,7 @@ accessibility audits.
60
  - **Hardcoded UI strings** — use the i18n mechanism (see
61
  `docs/developer/extending-i18n.md` — French canonical).
62
  - **Commits with `--no-verify`** — bypassing pre-commit hooks is
63
- detected by the CI `precommit.yml` workflow (Sprint A1).
64
 
65
  ## Reviewing
66
 
 
12
 
13
  ## Pre-requisites
14
 
15
+ - Python 3.11 or 3.12 (3.13 informational).
16
  - Git, GitHub account.
17
  - A working Picarones dev install:
18
  ```bash
 
60
  - **Hardcoded UI strings** — use the i18n mechanism (see
61
  `docs/developer/extending-i18n.md` — French canonical).
62
  - **Commits with `--no-verify`** — bypassing pre-commit hooks is
63
+ detected by the CI `precommit.yml` workflow.
64
 
65
  ## Reviewing
66
 
GOVERNANCE.md CHANGED
@@ -1,7 +1,7 @@
1
  # Gouvernance — Picarones
2
 
3
- > Sprint A10 du plan de remédiation institutionnelle
4
- > ([`docs/archive/2026-audits/remediation-plan.md`](docs/archive/2026-audits/remediation-plan.md)).
5
  >
6
  > Ce document explicite **comment Picarones est maintenu et fait
7
  > évoluer** : qui décide, à quelle cadence, avec quels engagements de
@@ -135,7 +135,7 @@ Si aucun successeur n'est trouvé en 6 mois, le projet entre en
135
  sécurité, README enrichi d'un encart « projet en cherche d'un
136
  nouveau mainteneur — fork bienvenu ».
137
 
138
- ## Conflicts of interest (Sprint A10, M-10)
139
 
140
  Picarones benchmarke des fournisseurs cloud commerciaux (OpenAI,
141
  Anthropic, Mistral, Google, Microsoft Azure). Pour qu'un papier ou
@@ -159,8 +159,7 @@ Les valeurs dans `picarones/data/pricing.yaml` :
159
 
160
  - proviennent **exclusivement** des tarifs publics affichés sur les
161
  sites des fournisseurs (sans NDA, sans accord commercial) ;
162
- - sont datées explicitement (`meta.last_updated`, `meta.valid_until`
163
- depuis Sprint A8) ;
164
  - peuvent être surchargées par l'utilisateur via
165
  `ReportGenerator(..., pricing=...)` pour refléter ses propres
166
  tarifs négociés.
@@ -171,7 +170,7 @@ doit ouvrir une PR publique avec source vérifiable.
171
 
172
  ### Indépendance éditoriale du moteur narratif
173
 
174
- Le moteur narratif (Sprint 19+) émet des `Fact` traçables au JSON
175
  d'entrée. Aucune logique privilégie un fournisseur sur un autre :
176
 
177
  - les seuils des détecteurs sont éditoriaux (publics dans
@@ -202,4 +201,4 @@ sera publiquement refusée et déclenchera l'annulation du sponsoring.
202
 
203
  ---
204
 
205
- *Dernière mise à jour : 2 mai 2026 (Sprint A10).*
 
1
  # Gouvernance — Picarones
2
 
3
+ > Politique de gouvernance institutionnelle. Contexte historique :
4
+ > [`docs/archive/2026-audits/remediation-plan.md`](docs/archive/2026-audits/remediation-plan.md).
5
  >
6
  > Ce document explicite **comment Picarones est maintenu et fait
7
  > évoluer** : qui décide, à quelle cadence, avec quels engagements de
 
135
  sécurité, README enrichi d'un encart « projet en cherche d'un
136
  nouveau mainteneur — fork bienvenu ».
137
 
138
+ ## Conflicts of interest
139
 
140
  Picarones benchmarke des fournisseurs cloud commerciaux (OpenAI,
141
  Anthropic, Mistral, Google, Microsoft Azure). Pour qu'un papier ou
 
159
 
160
  - proviennent **exclusivement** des tarifs publics affichés sur les
161
  sites des fournisseurs (sans NDA, sans accord commercial) ;
162
+ - sont datées explicitement (`meta.last_updated`, `meta.valid_until`) ;
 
163
  - peuvent être surchargées par l'utilisateur via
164
  `ReportGenerator(..., pricing=...)` pour refléter ses propres
165
  tarifs négociés.
 
170
 
171
  ### Indépendance éditoriale du moteur narratif
172
 
173
+ Le moteur narratif émet des `Fact` traçables au JSON
174
  d'entrée. Aucune logique privilégie un fournisseur sur un autre :
175
 
176
  - les seuils des détecteurs sont éditoriaux (publics dans
 
201
 
202
  ---
203
 
204
+ *Dernière mise à jour : 2 mai 2026.*
README.md CHANGED
@@ -112,7 +112,7 @@ Composable chains: `tesseract -> gpt-4o`, `pero_ocr -> claude-sonnet`,
112
  zero-shot VLM, etc. Three pipeline modes: text-only post-correction,
113
  image+text post-correction, and zero-shot. **Over-normalisation
114
  detection** flags LLMs that silently modernise historical spellings.
115
- A composed-pipeline benchmarking layer (Sprint 63+) runs N candidate
116
  pipelines on the same corpus and ranks them by a chosen metric.
117
 
118
  ### Corpus import
@@ -160,10 +160,10 @@ French/English UI. Deployable on HuggingFace Spaces (Docker, port
160
 
161
  Optional SQLite database recording benchmark history across runs.
162
  CER evolution curves per engine, automatic regression detection
163
- between consecutive runs (Pettitt change-point analysis, Sprint 92).
164
  **Robustness analysis** measures engine resilience to noise, blur,
165
  rotation, resolution and binarization, projected on the real corpus
166
- quality profile (Sprint 81).
167
 
168
  ---
169
 
@@ -227,7 +227,7 @@ or fail.
227
 
228
  | Command | Description |
229
  |---------|-------------|
230
- | `picarones compare` | Compare two benchmark JSON runs and flag regressions (Sprint 28) |
231
  | `picarones demo` | Generate a demo report with synthetic data (no engine required) |
232
  | `picarones diagnose` | Pre-wired workflow: bench + improvement levers + factual recommendations |
233
  | `picarones economics` | Pre-wired workflow: bench + effective throughput + cost projection |
@@ -314,7 +314,7 @@ diplomatic tables and `exclude_chars` sets. See
314
  [`docs/reference/normalization-profiles.md`](docs/reference/normalization-profiles.md).
315
 
316
  A traceability table mapping each profile to its source standard
317
- (MUFI v4.0, TEI P5, DEAF) will ship in Sprint A12 (B-6).
318
 
319
  ---
320
 
@@ -364,7 +364,7 @@ GOOGLE_APPLICATION_CREDENTIALS=
364
  AZURE_DOC_INTEL_ENDPOINT=
365
  AZURE_DOC_INTEL_KEY=
366
 
367
- # RGPD retention (Sprint A11)
368
  PICARONES_UPLOAD_RETENTION_DAYS=7
369
  ```
370
 
 
112
  zero-shot VLM, etc. Three pipeline modes: text-only post-correction,
113
  image+text post-correction, and zero-shot. **Over-normalisation
114
  detection** flags LLMs that silently modernise historical spellings.
115
+ A composed-pipeline benchmarking layer runs N candidate
116
  pipelines on the same corpus and ranks them by a chosen metric.
117
 
118
  ### Corpus import
 
160
 
161
  Optional SQLite database recording benchmark history across runs.
162
  CER evolution curves per engine, automatic regression detection
163
+ between consecutive runs (Pettitt change-point analysis).
164
  **Robustness analysis** measures engine resilience to noise, blur,
165
  rotation, resolution and binarization, projected on the real corpus
166
+ quality profile.
167
 
168
  ---
169
 
 
227
 
228
  | Command | Description |
229
  |---------|-------------|
230
+ | `picarones compare` | Compare two benchmark JSON runs and flag regressions |
231
  | `picarones demo` | Generate a demo report with synthetic data (no engine required) |
232
  | `picarones diagnose` | Pre-wired workflow: bench + improvement levers + factual recommendations |
233
  | `picarones economics` | Pre-wired workflow: bench + effective throughput + cost projection |
 
314
  [`docs/reference/normalization-profiles.md`](docs/reference/normalization-profiles.md).
315
 
316
  A traceability table mapping each profile to its source standard
317
+ (MUFI v4.0, TEI P5, DEAF) is planned (see backlog item B-6).
318
 
319
  ---
320
 
 
364
  AZURE_DOC_INTEL_ENDPOINT=
365
  AZURE_DOC_INTEL_KEY=
366
 
367
+ # RGPD retention
368
  PICARONES_UPLOAD_RETENTION_DAYS=7
369
  ```
370
 
SECURITY.md CHANGED
@@ -11,8 +11,8 @@ Picarones est conçu pour être déployé dans trois contextes très différents
11
  visiteur peut atteindre l'API ; les clefs serveur (OpenAI, Anthropic,
12
  Mistral, Azure…) ne doivent **pas** être exposées au DoS-financier.
13
 
14
- Ce document décrit les contrôles disponibles depuis le **Sprint 24** et la
15
- configuration recommandée pour chaque cas.
16
 
17
  ---
18
 
@@ -31,7 +31,7 @@ configuration recommandée pour chaque cas.
31
 
32
  ---
33
 
34
- ## CSRF — déploiement institutionnel (Sprint A4)
35
 
36
  L'application embarque un middleware CSRF **désactivé par défaut**
37
  (rétrocompat HuggingFace Space où il n'y a pas de session
@@ -83,8 +83,8 @@ picarones serve --port 8000
83
  - Tous les moteurs OCR sont disponibles.
84
  - `/api/corpus/browse` voit `cwd`, `./uploads/`, `/workspaces`, `tempdir`.
85
  - Pas de rate limit.
86
- - CSP appliquée mais permissive (`unsafe-inline` toléré tant que les
87
- templates web ne sont pas Jinja2 — voir Sprint 25).
88
 
89
  ### 🏛 Serveur d'institution
90
 
 
11
  visiteur peut atteindre l'API ; les clefs serveur (OpenAI, Anthropic,
12
  Mistral, Azure…) ne doivent **pas** être exposées au DoS-financier.
13
 
14
+ Ce document décrit les contrôles disponibles et la configuration
15
+ recommandée pour chaque cas.
16
 
17
  ---
18
 
 
31
 
32
  ---
33
 
34
+ ## CSRF — déploiement institutionnel
35
 
36
  L'application embarque un middleware CSRF **désactivé par défaut**
37
  (rétrocompat HuggingFace Space où il n'y a pas de session
 
83
  - Tous les moteurs OCR sont disponibles.
84
  - `/api/corpus/browse` voit `cwd`, `./uploads/`, `/workspaces`, `tempdir`.
85
  - Pas de rate limit.
86
+ - CSP appliquée mais permissive (`unsafe-inline` toléré tant que
87
+ des handlers inline subsistent dans les templates).
88
 
89
  ### 🏛 Serveur d'institution
90
 
tests/architecture/test_doc_governance.py CHANGED
@@ -339,7 +339,7 @@ def test_mkdocs_nav_excludes_archive_subdirs() -> None:
339
  #: - quelques fichiers à la racine (README, GOVERNANCE, SECURITY).
340
  #:
341
  #: Cible : 0 (Phase 2 — convergence narrative, lot D9 à prévoir).
342
- ACTIVE_NARRATIVE_BASELINE = 88
343
 
344
 
345
  def test_no_active_doc_contains_sprint_narrative() -> None:
 
339
  #: - quelques fichiers à la racine (README, GOVERNANCE, SECURITY).
340
  #:
341
  #: Cible : 0 (Phase 2 — convergence narrative, lot D9 à prévoir).
342
+ ACTIVE_NARRATIVE_BASELINE = 75
343
 
344
 
345
  def test_no_active_doc_contains_sprint_narrative() -> None: