Skip to content

Runbook — dev-productivity tooling (CVN-N014-EC-S16)

Story: CVN-N014-EC-S16 · Epic: CVN-N014-EC Tooling Story — "runbook" ici = playbook d'utilisation + gotchas (ADR-0101 Inv 3), pas un runbook d'incident runtime. Le détail par outil vit dans les deux docs process ; ce runbook est le point d'entrée opérateur.

Quel outil pour quoi

Besoin Outil Doc how-to
Lire la trajectoire XCom d'un run diagnostic (s40/s41/s42) scripts/airflow_xcom_pull.py AIRFLOW_XCOM_READER.md
Lancer un second « développeur » Claude (worktree parallèle) scripts/new_worktree.sh PARALLEL_DEV_WORKTREES.md

XCom reader — quickstart

python scripts/airflow_xcom_pull.py --dag-id diagnostic__s42 --list-runs            # find a run_id
python scripts/airflow_xcom_pull.py --dag-id diagnostic__s42 --run-id '<run_id>' --task-id discriminate_cell
  • Prérequis : kubectl configuré sur la namespace cvntrade (le seul accès requis). Si KO → pas de pod résolu, l'outil fail-fast avec un message explicite (ADR-25).
  • Read-only : la sonde n'émet que des SELECT ; aucun credential ne sort du cluster. Pas de risque sur la base.
  • Résultat vide vs erreur : un match vide affiche un hint « widen with --list-runs » ; une erreur (pod absent, non-JSON) est distincte et non-silencieuse.

Second développeur — quickstart

scripts/new_worktree.sh feat/CVN-NXXX-EX-SYY            # new branch off main
scripts/new_worktree.sh chore/existing-branch ../dir    # attach an existing branch

Puis ouvrir le dossier dans une nouvelle fenêtre (un seul session Claude par worktree).

Gotchas opérateur (à ne pas rater)

  • NE PAS git stash dans un worktree — pile de stash partagée entre worktrees ; un git stash -u peut avaler les symlinks d'environnement (réalisé en vrai cette session). Parquer le WIP avec un commit WIP ou un worktree scratch (cf. PARALLEL_DEV_WORKTREES.md §"Parking WIP without git stash").
  • Une fenêtre par worktree ; brancher les nouvelles stories depuis origin/main (fetch d'abord — le main local peut être périmé).
  • Sérialiser les runs cluster (DAG/FTF) entre les deux devs (max_active_runs=1, pool + ftf_config partagés). Le code/plan parallélise ; les runs prod, non.

Rollback

Outils read-only / dev-time, aucun impact runtime. Rollback = revert des scripts. Un worktree créé se retire par git worktree remove <dir>.