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 :
kubectlconfiguré sur la namespacecvntrade(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 stashdans un worktree — pile de stash partagée entre worktrees ; ungit stash -upeut 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 — lemainlocal peut être périmé). - Sérialiser les runs cluster (DAG/FTF) entre les deux devs (
max_active_runs=1, pool +ftf_configpartagé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>.