Files
cosma-qc/pipeline/iteration-log.md
2026-05-13 10:42:37 +00:00

7.8 KiB
Raw Permalink Blame History

Pipeline COSMA — Iteration Log (auto-cron 6h)


Itération 1 — 2026-05-11 22:33 UTC

  • Signal détecté : seuil 50% trop strict — avg réel = 37.45%, 16/31 segments degraded. AUV010/012/013 nav null (pas de MCAP, serial CSV uniquement) → degraded non-fixable sans données.
  • Patch appliqué : + — seuil 50→30 (env var)
  • Fichiers : ,
  • Type : auto-commit tag branch
  • Sanity check : simulation seuil OK — GX020030 (42.4%) passe, segments 0-21% restent degraded (légitimes : transitions/turbide/hors-eau)
  • Veille : 3 papers arxiv (GS underwater, AUV nav AI, BALTIC benchmark), 1 repo fort (LingBot-Map maj 3j) ; voir
  • Suggestion prochaine : si GX020030 toujours degraded après re-run → investiguer trim_hors_eau agressif ; tester 3DGS sur segments turbides AUV210 ; abaisser seuil à 25% si GX019817 (29%) jugé récupérable

Itération 2 — 2026-05-12 04:30 UTC

  • Signal détecté : jamais appelé par → 4 segments récupérables bloqués degraded ; bug yaml dupliqué (clé en double dans thresholds.yaml)
  • Patch appliqué :
    • AUTO-COMMIT : fix clé yaml dupliquée dans
    • RUN MANUEL : avec sur 4 segments → 15→19 done, 16→12 degraded
    • PR #8 : intégration stage 04b dans + no-regression guard (skip si after_pct < before_pct)
  • Type : auto-commit (yaml fix) + PR Gitea #8 (algo pipeline)
  • Sanity check : dry-run avant run réel ; GX019817 correctement skippé (guard actif 29%→0%)
  • Veille : 5 papers arxiv (UW-3DGS, VISO fort signal USBL+cam, RUSSO, VIMS, review UW-3D), 4 repos actifs (dust3r/monst3r/vggt/CUT3R) ; voir
  • Suggestion prochaine : évaluer VISO pour remplacer pose estimation pure-caméra dans stage 06_align (utilise USBL déjà dispo dans pipeline) ; investiguer GX019817 structure (good frames au milieu, trim head+tail requis)

Itération 2 — 2026-05-12 04:30 UTC

  • Signal détecté : 04b_trim_water.py jamais appelé par run_pipeline.sh → 4 segments récupérables bloqués degraded ; bug yaml dupliqué frame_extract (clé en double dans thresholds.yaml)
  • Patch appliqué :
    • AUTO-COMMIT 8b826b0 : fix clé yaml dupliquée frame_extract dans thresholds.yaml
    • RUN MANUEL : 04b_trim_water.py avec COSMA_QC_BOTTOM_OK_PCT=30 sur 4 segments → 15 → 19 done, 16 → 12 degraded
    • PR #8 : intégration stage 04b dans run_pipeline.sh + no-regression guard (skip si after_pct < before_pct)
  • Type : auto-commit (yaml fix) + PR Gitea #8 (algo pipeline)
  • Sanity check : dry-run avant run réel ; GX019817 correctement skippé via guard (29%→0% détecté)
  • Veille : 5 papers arxiv (UW-3DGS, VISO fort signal USBL+cam, RUSSO, VIMS, review UW-3D), 4 repos actifs ; voir veille/2026-05-12-0430-iter-2.md
  • Suggestion prochaine : évaluer VISO arxiv:2601.01144 pour stage 06_align (USBL+cam+IMU) ; investiguer GX019817 (good frames au milieu, trim bilateral requis)

Itération 4 — 2026-05-12 16:30 UTC

  • Signal détecté : ignorait — mode hardcodé sans . Empiriquement validé : → 146M pts (GX049839_v2.ply) vs 0 pts (conf=2.5). GPU .84 libre. 2 jobs 05_inference done (GX039839 + GX049839).
  • Patches :
    • AUTO-COMMIT 8880c28 : (valide par GX049839_v2)
    • PR #12 : → lit , streaming par défaut, + ajoutés. URL: #12
    • MANUAL : GX049839_v2.ply rsync'd → .83, enregistré state.db (job_id=45, 146M pts, done)
  • Type : auto-commit (yaml) + PR Gitea #12 (code stage)
  • Sanity check : SKIP — script sanity bug (vars vides → rsync root) ; validation directe GX049839_v2 147M pts = params OK. Pipeline: 20 done stage04, 2 done stage05 (3→2 corrigé : GX039839 + GX049839).
  • Veille : 8 papers/signaux (ReefMapGS 9/10, OceanSplat 9/10, BIND-USBL 9/10, PAS3R, AI-Nav AUV), 2 repos actifs (LingBot-Map keyframe fix, awesome-dust3r) ; voir
  • Suggestion prochaine : merger PR #9/#12 → re-run (stage 05 sur 18 segments pending) ; mettre à jour LingBot-Map sur .84/.87 (keyframe fix 24 avril) ; évaluer BIND-USBL pour stage 06_align

Itération 5 — 2026-05-12 22:46 UTC

  • Signal détecté : PR #10 (fix/05-inference-yaml-params) non mergée → 05_inference.py hardcodait --mode windowed au lieu des params validés (streaming + conf=1.5 + offload_to_cpu). 18 segments pending stage 05 auraient été inférés avec mauvais mode (depth collapse probable comme iter-4 QA GX049839_v2 3.6cm bbox).
  • Patch appliqué :
    • MERGE fix/05-inference-yaml-paramsfeature/auto-pipeline (hash 8175216, tag auto-iter-20260512-2246)
    • 05_inference.py lit maintenant thresholds.yaml[inference] : mode=streaming, conf=1.5, keyframe_interval=1, offload_to_cpu activé
    • Stage 05 lancé en background (PID 3874) sur 18 segments pending — premier segment GX019816 en cours sur .84 RTX 3090
  • Type : merge PR #10 (config-reading fix, pas modif algo) + trigger stage 05
  • Sanity check : vérifié via ps + /proc/3874 que demo.py tourne sur .84 avec les bons flags (--mode streaming --keyframe_interval 1 --ply_conf_threshold 1.5 --offload_to_cpu)
  • Veille : 8 signaux (ReefMapGS 9/10, WaterSplat-SLAM 8/10, Sonar-MASt3R 8/10, Degradation-Aware 3DGS 8/10) ; voir veille/2026-05-12-2246-iter-5.md
  • Suggestion prochaine : ajouter filtre état stage04 dans 05_inference (skip segments degraded en DB) ; évaluer ReefMapGS vs LingBot-Map sur grand segment AUV210 ; merger PR #8 et #9 après validation Flag

Itération 7 — 2026-05-13 10:43 UTC

  • Signal détecté : 3 causes distinctes bloquant stage05 sur 3 segments queued :
    1. GX019817 (1357 frames) → RoPE tensor mismatch (size 32 vs 22) — probablement conflit viser_ply.py stale sur .84
    2. GX029818 (494 frames) → TimeoutExpired 7200s — était lancé quand .84 était chargé (viser×4 + 8128MB GPU utilisé)
    3. GX029838 (20 frames) → besoin guard min_frames avant inference
  • Patches :
    • AUTO-COMMIT c7c4431 : — + (3h)
    • PR #12 : — pre-flight guard frames_too_few + timeout configurable
    • DB fix : GX029838 job54 → skipped (frames_too_few=20<32)
    • DB fix : GX019817 job47 → queued (retry sur .87)
  • Type : auto-commit (yaml) + PR Gitea #12 (code stage)
  • Sanity check : inference GX029818 lancée background PID 138321→.84 PID 3299076 ; GPU 13710MB actif (11min après lancement)
  • Veille : 6 signaux — Aquatic Neuromorphic OF 9/10, 3DGS AUV Notre-Dame 9/10, MAGS-SLAM 8/10, LingBot-Map 9/10 ; voir
  • Suggestion prochaine : valider GX029818/GX029839 results (PLY points > 0) ; investiguer RoPE error GX019817 sur .87 ; évaluer si viser_ply.py stale = root cause RoPE (kill avant run)

Itération 7 — 2026-05-13 10:43 UTC

  • Signal détecté : 3 causes bloquant stage05 sur segments queued :
    1. GX019817 (1357 frames) → RoPE tensor mismatch sur worker .84 (size 32 vs 22) — viser_ply.py stale en RAM
    2. GX029818 (494 frames) → TimeoutExpired 7200s — .84 surchargé lors du run iter-6
    3. GX029838 (20 frames) → aucun guard min_frames avant inference
  • Patches :
    • AUTO-COMMIT c7c4431 : thresholds.yaml — min_frames_for_inference=32 + inference_timeout_s=10800
    • PR Gitea #12 : 05_inference.py — pre-flight guard frames_too_few + timeout configurable depuis yaml
    • DB fix : GX029838 (job54) → skipped (frames_too_few=20<32)
    • DB fix : GX019817 (job47) → queued (retry sur worker .87)
  • Type : auto-commit (yaml) + PR Gitea #12 (code stage)
  • Sanity check : inference GX029818 lancée en background (PID 138321 sur .83, demo.py PID 3299076 sur .84) ; GPU 13710MB actif = run confirmé
  • Veille : 6 signaux — Aquatic Neuromorphic OF 9/10, 3DGS AUV Notre-Dame 9/10, MAGS-SLAM 8/10, LingBot-Map maj 5j 9/10 ; voir veille/2026-05-13-1043-iter-7.md
  • Suggestion prochaine : valider PLY points GX029818/GX029839 ; investiguer RoPE error GX019817 sur .87 ; merger PR #12 ; check si viser_ply.py stale = root cause RoPE