Skip to content

CVN-N014-ED-S03 — Cleanup opportuniste large-data (borné) · hub Story

Hub documentaire de la Story S03 de l'Epic CVN-N014-ED — vérifier qu'aucun DAG ne bricole encore un transport large-data cross-pod après le flip (S01) + S02, publier l'inventaire, solder les reliquats, puis fermer. État live = OpenProject (wp#244, GH #1107).

En une phrase

Après S01 (flip object-storage XCom) + S02 (s43 en pass-by-référence S3), l'inventaire des workarounds large-data cross-pod est vide : il n'y a rien à étrangler. S03 le constate (de façon auditable), solde le reliquat lifecycle xcom/ de S01, transfère la prévention des régressions à S04, et ferme.

Le constat — inventaire vide (re-scan 2026-06-07)

Candidat Classement
s43_io (np.savez) + dag_diagnostic__s43 conformant — S3 partagé via cvntrade_s3_manager, prouvé cross-pod (smoke S02)
s18_step1_3/1_4_chain (to_parquet/Path) conformant — capture single-pod bornée (producteur+consommateur même pod)
launch__* faux positif (sémantique XCom : run_ids/params/références JSON, pas d'arrays)

Aucun workaround large-data cross-pod non-conformant. Protocole + critères : plan dossier §0bis.

Décisions

  • A(ii) (généraliser s43_io en couche-policy) → différée au 2ᵉ consumer indépendant (YAGNI à 1 ; s43_io = pattern de référence).
  • Lifecycle xcom/ (reliquat S01) → APPLIQUÉE : règle xcom-objectstorage-7d-retention (prefix xcom/, 7j) active sur cvntrade-artifacts, à côté de cleanup-old-artifacts + s43-predictions-7d-retention (preuve get-bucket-lifecycle-configuration).
  • Gate anti-régressiontransféré à S04 (exigence normative « no new large-data cross-pod bespoke transport »). S03 ne bloque pas dessus (Option A).

Les documents

Document Quoi
Plan dossier le quoi & pourquoi — Partie I (problématisation, inventaire auditable, hypothèses, état de l'art, DoD de fermeture, consolidation) + Partie II (décisions). plan_review PASSED.
architecture N/A — S03 ne change aucun code/design (constatation + lifecycle ops). Le pattern de référence est l'architecture S02.
runbook N/A — aucune surface opérationnelle nouvelle ; le transport s43 est couvert par le runbook S02.
test_strategy pas de code → pas de test unitaire ; la vérification = scan d'inventaire auditable (§0bis) + preuve lifecycle (get-bucket-lifecycle-configuration).

État & gates

In progress (OpenProject) — lifecycle xcom/ appliquée, inventaire publié+vide, A(ii) différé, enforcement→S04. Pas de code → la PR = plan + ce hub (docs).

  • In specification ✅ · Specified ✅ (plan_review PASSED 2d5ab21e / Meeting #260) · In progress ✅.
  • → Closed : inventaire vide publié + faux positifs justifiés + A(ii) tranché + enforcement→S04 + lifecycle xcom/ appliquée (✅ tout fait) — DoD de fermeture remplie.