feat(app): Sprint A14-S22 — CLI du nouveau monde (import-corpus + report) faa1393 unverified Claude commited on May 4
feat(app): Sprint A14-S21 — ReportService (rendu HTML autonome depuis RunResult) e574e69 unverified Claude commited on May 4
feat(app): Sprint A14-S20 — CorpusService (import ZIP sandboxé + détection patterns image/GT) 4f9f5f6 unverified Claude commited on May 4
feat(app): Sprint A14-S19 — WorkspaceManager + foyer définitif des helpers de path security 3a4fc3a unverified Claude commited on May 4
feat(app): Sprint A14-S17 — BenchmarkService + RunManifest + RunResult + persistance JSONL 874134a unverified Claude commited on May 4
feat(evaluation): Sprint A14-S16 — SearchView + cohérence inter-vues + 3 vues canoniques opérationnelles db7da83 unverified Claude commited on May 4
feat(evaluation): Sprint A14-S15 — AltoView (vue canonique 2) + 3 métriques structurelles + pattern d'omission 99ad1af unverified Claude commited on May 4
feat(evaluation): Sprint A14-S14 — TextView (vue canonique 1) + projection multi-types 32d3f14 unverified Claude commited on May 4
feat(evaluation): Sprint A14-S13 — DefaultEvaluationViewExecutor + ProjectorRegistry + ré-ordonnancement des couches 63ceb34 unverified Claude commited on May 4
refactor(adapters): Sprint A14-S11 — migration des adapters LLM + 2 importers corpus ee838b2 unverified Claude commited on May 4
refactor(evaluation): Sprint A14-S10 — déplacement de 23 fichiers de calcul vers evaluation/metrics/ 052fb51 unverified Claude commited on May 4
feat(formats): Sprint A14-S9 — formats/alto/, formats/pagexml/, migration normalization 253292a unverified Claude commited on May 4
feat(pipeline): Sprint A14-S8 — CorpusRunner backpressure + timeout réel + cancellation 823fb32 unverified Claude commited on May 4
feat(pipeline): Sprint A14-S7 — PipelineExecutor mono-doc + ArtifactCache 3b65839 unverified Claude commited on May 3
feat(pipeline): Sprint A14-S6 — PipelineSpec déclaratif + validation + YAML round-trip b9ff8de unverified Claude commited on May 3
feat(evaluation): Sprint A14-S5 — contrats des vues d'évaluation + MetricRegistry explicite 3116157 unverified Claude commited on May 3
feat(domain): Sprint A14-S4 — modèle Artifact et types fondamentaux 52412a3 unverified Claude commited on May 3
feat(architecture): Sprint A14-S3 — squelette nouvelle architecture + tests d'invariants 53f68d5 unverified Claude commited on May 3
fix(security,metrics): Sprint A14-S1 — boucher les 6 P0 du rewrite ciblé a2bea75 unverified Claude commited on May 3
refactor(measurements): split runner.py (1019 → 6 sub-modules) by concern 0b09377 unverified Claude commited on May 3
feat(measurements): câbler les 13 modules test-only — baseline → 0 388e3f2 unverified Claude commited on May 2
fix(zero-debt): éliminer toute la dette technique actionnable identifiée 7e28f42 unverified Claude commited on May 2
refactor(measurements): split statistics.py (1128 → 8 sub-modules) by family 652752d unverified Claude commited on May 2
fix(audit-2): 5 correctifs supplémentaires d'un 2e tour d'audit b80bb93 unverified Claude commited on May 2
fix(audit): 5 corrections suite à l'audit complet de mes derniers sprints 1e8b84c unverified Claude commited on May 2
fix(report): corrections d'audit du sprint de découpage de generator.py 6724f94 unverified Claude commited on May 2
refactor(report): split generator.py (1063 → 431 lines) by concern d641f6e unverified Claude commited on May 2
refactor(report): consolidate 27 render helpers into render_helpers.py 2d6c41d unverified Claude commited on May 2
feat(sprint-A11): doc institutionnelle (déploiement + RGPD + traduction EN) 95cbd83 unverified Claude commited on May 2
feat(sprint-A9): release pipeline PyPI + ghcr.io + GitHub Release 628d92a unverified Claude commited on May 2
feat(sprint-A8): reproductibilité opérationnelle (lock files + Docker pinning + snapshots doc) fc30527 unverified Claude commited on May 2
feat(sprint-A7): WCAG niveau AA — palette daltonien + i18n résiduel + déclaration a11y 17cc547 unverified Claude commited on May 2
feat(sprint-A6): WCAG niveau A bloquant — skip-link, canvas a11y, scope=col 43d25a5 unverified Claude commited on May 2
feat(sprint-A5): concurrence + perf + lazy reports + corpus de référence 563a0f0 unverified Claude commited on May 2
feat(web): Sprint A4 — sécurité web (B-11 CSRF, M-3 /health) c9d381c unverified Claude commited on May 2
refactor(arch): Sprint A3 — refactor cercles + importers (B-1, B-2, B-3, m-17) fda1a60 unverified Claude commited on May 2
feat(ci): Sprint A1 — Hardening CI (B-7, B-8, M-4, M-15, m-7, m-8, m-9) 89d5b21 unverified Claude commited on May 2
fix(web): rendre la SPA visible dans l'iframe HuggingFace Space d7b2813 unverified Claude commited on May 1
chore: supprimer unregister_job mort + factoriser _numbers_in_payload partagé d40d01e unverified Claude commited on May 1
refactor(engines): extraire engine_from_name de cli vers cercle 2 (engines/factory.py) 4ea3cd0 unverified Claude commited on May 1
refactor(core): extraire safe_parse_xml en cercle 1 + appliquer aux 3 sites XXE résiduels 180bb96 unverified Claude commited on May 1
chore(web): cookie samesite=strict + nettoyage des références "Sprint X" 781c660 unverified Claude commited on May 1
fix(web): durcir le parsing XML (defusedxml en dépendance dure) + exceptions précises de46be0 unverified Claude commited on May 1
fix(web): valider strictement les payloads Pydantic (max_length, Literal) dbab2ed unverified Claude commited on May 1
fix(web): déléguer l'I/O bloquante à des threads dans les routes async 2be6d5f unverified Claude commited on May 1
fix(web): JOBS registry thread-safe via helpers state.register_job / get_job_in_memory 31f753b unverified Claude commited on May 1
refactor(web): finaliser le découpage — router benchmark + app.py orchestrateur bb74b82 unverified Claude commited on May 1
refactor(web): extraire les 5 routers métier (engines, corpus, config, synthesis, history) ecbec06 unverified Claude commited on May 1