Workflow i4h — Bout en Bout
Objectif
Exécuter le pipeline agentic complet (enregistrement, mimétisme, annotation/filtrage, relecture, conversion, visualisation, fine-tuning, validation). À utiliser quand l'utilisateur demande d'exécuter le pipeline complet, de tester l'ensemble du workflow, de démontrer le workflow, ou de faire un run e2e.
Code de Base
Ces étapes pilotent le code de base i4h-workflows (l'arborescence workflows/agentic/). Pour réutiliser un checkout existant, définissez I4H_WORKFLOWS sur son chemin (aucun clone ne se produit). Sinon, cela résout le repo courant, ou clone vers ~/i4h-workflows — choisissez cette valeur par défaut sans demander confirmation. Exécutez chaque commande ci-dessous depuis la racine résolue :
# Résoudre le code de base i4h-workflows (fournit workflows/agentic/).
ROOT="${I4H_WORKFLOWS:-$(git rev-parse --show-toplevel 2>/dev/null)}"
if [ ! -d "$ROOT/workflows/agentic" ]; then
ROOT="${I4H_WORKFLOWS:-$HOME/i4h-workflows}"
[ -d "$ROOT/workflows/agentic" ] || git clone https://github.com/isaac-for-healthcare/i4h-workflows "$ROOT"
fi
export I4H_WORKFLOWS="$ROOT"; cd "$ROOT"
Principes Fondamentaux
- Config env (source de vérité) :
workflows/agentic/config/environments/<env>.yaml— pilote chaque étape pour<env>(robot, tâche, policy, caméras,arena.max_timesteps, mappagesdataset.*). - Utilisez le script e2e pour les runs de pipeline complet.
- Pour un travail par étape, utilisez les skills dataset/finetune/validate correspondants.
assemble_trocarest inference-only ; le script e2e saute fine-tuning et validation de checkpoint pour celui-ci.
Dry Run
REPO_ROOT="${I4H_WORKFLOWS:-$(git rev-parse --show-toplevel 2>/dev/null)}"; [ -d "$REPO_ROOT/workflows/agentic" ] || REPO_ROOT="$HOME/i4h-workflows"
"${REPO_ROOT}/workflows/agentic/scripts/e2e/run.sh" --dry-run --env <env>
Exécuter
Exécutez les étapes ci-dessous dans l'ordre. Chaque étape est un appel bash distinct ; les variables persistent dans la session tmux de l'agent local.
Pour Claude Code --print ou tout autre runner non interactif, maintenez l'Étape 2 au premier plan. C'est une exigence de validation : n'utilisez pas les tâches en arrière-plan Claude, le mode tâche async, le mode arrière-plan Bash, &, nohup, tmux, disown, ou tout processus/ID de tâche détaché, et ne déclarez pas que le pipeline est encore en cours. N'effectuez un retour que quand run.sh se termine et après avoir inspecté logs/SUMMARY.txt en cas de succès, ou le log de l'étape défaillante en cas d'échec. Signalez le répertoire run, les étapes ignorées, le statut par étape, les artefacts clés, et le statut de nettoyage/arrêt avant de finir.
Étape 1 — setup
REPO_ROOT="${I4H_WORKFLOWS:-$(git rev-parse --show-toplevel 2>/dev/null)}"; [ -d "$REPO_ROOT/workflows/agentic" ] || REPO_ROOT="$HOME/i4h-workflows"
Étape 2 — pipeline e2e
"${REPO_ROOT}/workflows/agentic/scripts/e2e/run.sh" --env <env>
Drapeaux
--skip-mimic,--skip-annotate,--skip-replay,--skip-viz--from-stage <stage> --run-dir <existing-run>reprend à partir d'un run antérieur.- Les étapes record/verify de policy ouvrent la fenêtre sim par défaut. Définissez
ARENA_HEADLESS=1avantrun.shuniquement quand l'utilisateur demande explicitement une exécution sans interface/sans fenêtre.
Étapes : setup record mimic annotate replay convert viz finetune validate summary.
Sorties
Le script affiche RUN_DIR et le symlinke vers runs/.latest. Sous-répertoires :
logs/— logs par étape,workflow.log(sortie complète tee) etlogs/SUMMARY.txt(rapport de synthèse final)data/lerobot/checkpoint/(envs trainable uniquement)
Surveillance
run.sh exécute chaque étape au premier plan et ne revient que quand tout le pipeline se termine, donc suivez un long run depuis un shell séparé (ne vous attendez pas à l'interroger depuis le shell qui l'a lancé) :
tail -f "${REPO_ROOT}/workflows/agentic/runs/.latest/logs/workflow.log" # progression live par étape
cat "${REPO_ROOT}/workflows/agentic/runs/.latest/logs/SUMMARY.txt" # rapport final (une fois DONE)
Arrêter
Étape 3 — stop (si nécessaire)
"${REPO_ROOT}/workflows/agentic/stop.sh" all --env <env>
Prérequis
- Workflow configuré via [[i4h-workflow-setup]] (le
.venvdoit exister) ;setupest aussi la première étape du pipeline. - Un nom
--envvalide pour piloter le run. - Pour un travail par étape, utilisez plutôt les skills dataset/finetune/validate correspondants.
Limitations
assemble_trocarest inference-only ; le script e2e saute fine-tuning et validation de checkpoint pour celui-ci.- Les sorties
checkpoint/sont produites pour les envs trainable uniquement. - La reprise nécessite
--from-stage <stage>et--run-dir <existing-run>.
Dépannage
- Erreur :
.venvintrouvable / import de module échoue - Cause : workflow non configuré. Solution : exécutez d'abord [[i4h-workflow-setup]]. - Erreur : env non reconnu - Cause : nom
--envincorrect. Solution : passez un nom env valide ; lancez d'abord un dry-run avec--dry-run --env <env>. - Erreur : la reprise échoue à trouver les sorties antérieures - Cause :
--from-stageutilisé sans--run-dircorrespondant. Solution : passez--from-stage <stage> --run-dir <existing-run>. - Erreur : les processus périmés bloquent un rerun - Cause : une session précédente du pipeline est encore en cours. Solution : exécutez
stop.sh all --env <env>avant de réessayer.
Réponse Finale
Signalez env, répertoire run, étapes ignorées, succès/échec par étape, chemins d'artefacts clés.