test(chantier2): ratchet-down absolu sur le total narration sprint afc88ab unverified Claude commited on May 19
test(chantier2): Phase 2.final — garde-fou anti-narration sprint 2b116bb unverified Claude commited on May 19
test(chantier1): Phase 1.final — garde-fou anti-régression + suppr test_sprint_numbering 5a683cf unverified Claude commited on May 19
test(rename): dé-sprintage tests/architecture (8 fichiers, git mv) 1181ae1 unverified Claude commited on May 19
refactor(app): Phase B — extrait _execute_with_partial (run_orchestrator <500) 4473274 unverified Claude commited on May 19
refactor(app): Phase A — extrait les 4 builders @staticmethod (run_orchestrator) 95c8668 unverified Claude commited on May 19
refactor(app): run_orchestrator_helpers plat → sous-package cohésif (P1.1) 94f4a57 unverified Claude commited on May 19
refactor(web): security.py P1.2 cluster 2 — public_mode + paths extraits 7e3f37f unverified Claude commited on May 19
refactor(web): dégonfle security.py — extraction uploads/rate_limit/csp (P1.2) dae3241 unverified Claude commited on May 19
fix(compose): corrige la régression de démarrage CSRF + découple secure_cookies 1a47738 unverified Claude commited on May 19
refactor(evaluation): extrait ranking/stratification de benchmark_result (P1) 0cbbf4a unverified Claude commited on May 19
refactor(app): extrait _persist_legacy_benchmark_json de run_orchestrator (P1) e6935a1 unverified Claude commited on May 19
refactor(app): extrait les helpers stateless de run_orchestrator (P1) 4a7a547 unverified Claude commited on May 19
hardening(web): durcissement des defaults P0 issus de l'audit prod 53f4d56 unverified Claude commited on May 19
audit scientifique Classe B + F19: "non applicable" = None (jamais 0.0/1.0) dd5dce0 unverified Claude commited on May 15
audit scientifique: bootstrap, anti-hallucination, normalisation, corrélation b4fd5de unverified Claude commited on May 15
audit scientifique: micro-CER/WER, Wilcoxon exact, alignement Levenshtein da83aa9 unverified Claude commited on May 15
fix(web): durcir JobStore — busy_timeout + atomicité event/progress + tx cleanup 708fb33 unverified Claude commited on May 14
test+feat: D4 audit B3-final — assertions strictes + warning expose_alto cross-engine b420e00 unverified Claude commited on May 14
chore: Phase B3-final commit 7 — CHANGELOG + budgets + doc API stable 6eba600 unverified Claude commited on May 14
chore(budgets): Phase B7 — rehausser budget benchmark_runner.py (333 LOC, bannière deprecated) a5d4775 unverified Claude commited on May 14
chore(budgets): Phase B5 — ajouter entrée budget pour tesseract.py (479 LOC) e1e811d unverified Claude commited on May 14
feat(migration): Phase B4 — migrer les 6 fichiers de tests catégorie A 5112943 unverified Claude commited on May 14
feat(migration): Phase B2.3 — partial_dir resume pivoté par pipeline fcef144 unverified Claude commited on May 14
feat(migration): Phase B2.4 — entity_extractor NER attach 8a4d05b unverified Claude commited on May 14
feat(migration): Phase B2.1+B2.2+B2.7 — porter 3 features dans RunOrchestrator 082c068 unverified Claude commited on May 14
feat(migration): Phase B1 — étendre RunSpec avec 7 champs legacy 5eba42c unverified Claude commited on May 14
refactor(audit): Phase 6 (round 6 FINAL) — façade pure 299 LOC (-82 %) 45206e7 unverified Claude commited on May 13
refactor(audit): Phase 6 (round 5) — extract helpers (-240 LOC, cumulé -58 %) a259c9a unverified Claude commited on May 13
fix(audit): éliminer tous les logs sans préfixe [module] 40e60ce unverified Claude commited on May 13
test(audit): éliminer tous les pytest.raises(Exception) résiduels 0d00572 unverified Claude commited on May 13
refactor(audit): Phase 6 (round 4) — extract execution (-139 LOC) 76c090b unverified Claude commited on May 13
refactor(audit): Phase 6 (round 3) — extract conversions (-229 LOC) 59ee9ee unverified Claude commited on May 13
refactor(audit): Phase 6 (suite) — extract adapter_resolver (-255 LOC) 11f3166 unverified Claude commited on May 13
fix(audit): Phase 10 — except: pass silencieux + ratchet logger prefix ed02e58 unverified Claude commited on May 13
test(audit): Phase 8 — pytest.raises(Exception) précisés + ratchet f2308fc unverified Claude commited on May 13
refactor(audit): Phase 6 (partielle) — extracts NER + persistence (-116 LOC) 50f8b23 unverified Claude commited on May 13
refactor(audit): Phase 3.1 + Phase 5 — code mort robustness + violations archi 1d1017e unverified Claude commited on May 13
feat(audit): Phase 4 — suppressions franches (rupture v2.0) da31b89 unverified Claude commited on May 13
feat(audit): Phase 3.3 — exposer NormalizationProfile.from_yaml (CLI + API) (S3) 9df6424 unverified Claude commited on May 13
feat(audit): Phase 3 partielle — câblage des features inachevées (S2, S4, S6) bd5c812 unverified Claude commited on May 13
docs: remplacer les chemins legacy par les chemins canoniques v2.0 6b429be unverified Claude commited on May 13
refactor(api): renommer PipelineConfig.ocr_engine → engine_name (Phase 5b) bc96a54 unverified Claude commited on May 13
post-rewrite wiring audit: Phases 1-5 (sécurité, méthodologie, moteurs, zombie, naming) 5e48c0b unverified Claude commited on May 13
refactor(sprint-S9): simplifier les tests OCR naming — 25 → 8 tests 70eae28 unverified Claude commited on May 11
fix(prod-hotfix): vraie correction de la collision resolver — name dérivé côté factory web 7240e91 unverified Claude commited on May 11
refactor(sprint-S8.6): rewrite bricolage tests + remove dead code 75bfdc0 unverified Claude commited on May 9
test(sprint-S8.6): coverage des branches d'erreur factory OCR + path traversal corpus + RequestIdFilter 63a6c92 unverified Claude commited on May 9
fix(sprint-S8.5): capture Tesseract version in RunManifest (vrai fix S6.1) 74020d5 unverified Claude commited on May 9