Phase 2: Session persistence for Claude Code agents in ADF
Nessuno ha ancora preso questa issue.
Valutazione
- Difficoltà
- 5/5
- Tempo stimato
- Più di una settimana
- Idoneità per principianti
- 35/100
Direzione di ricerca
Start with the terraphim_spawner parsing from Phase 1, AgentConfig in terraphim_spawner/config.rs, and the terraphim_orchestrator spawn_agent() flow. Run the listed Claude CLI resume spike before implementing. Done means session state is atomically persisted, Safety restarts resume when possible, state clears on critical drift or restart limits, and Codex behavior is unchanged.
Scritto dal modello di indicizzazione a partire dal testo della issue.
Descrizione
Parent Epic
#637
Summary
Store Claude Code session_id from run results and use --resume on Safety agent restarts to avoid cold-starting.
Changes Required
terraphim_spawner
- Extract
session_idfrom Claude stream JSONinitandresultevents (already parsed in Phase 1) - Expose
session_idviaAgentHandleorCostEvent
terraphim_orchestrator
- Add
session_state.jsonfile:{agent_name: {session_id, last_run_at, total_tokens}} - On Safety agent restart, if
session_idexists, add--resume <session_id>to CLI args - Add
--resumearg injection tospawn_agent()when session state available - Clear session state on max-restart-exceeded or critical drift (fresh start)
terraphim_spawner/config.rs
- Add
with_resume(session_id: &str)method toAgentConfig - For claude CLI:
--resume <session_id>before task prompt
Spike Required
- Verify
claude -p --resume <session_id>works in non-interactive mode - Verify session survives process exit and can be resumed
Reference
- Paperclip session state:
packages/db/src/schema/agent_runtime_state.ts - Claude CLI:
--resumeflag (verified in 2.1.70+)
Acceptance Criteria
- Session ID captured from Claude Code output and persisted to
session_state.json - Safety agent restarts use
--resumewhen session exists - Session cleared on critical drift or max restarts
- Codex agents unaffected (no session support)
- Atomic file writes (write to .tmp then rename)
- Lingua principale
- Rust
- Stelle
- 65
- Fork
- 5
- Merge medio
- 1h
- PR unite (30g)
- 3
Preparare l'ambiente
- Nessun Dockerfile né file Docker Compose
- Ha un modello di pull request
- Leggi la guida per i contributori
Come iniziare
- Leggi tutta la issue e poi la guida ai contributi del progetto.
- Commenta sulla issue per dire che te ne occupi tu — evita che due persone facciano lo stesso lavoro.
- Fai un fork del repository e lavora su un branch.
- Apri una pull request che faccia riferimento al numero della issue.
Altre issue di terraphim/terraphim-ai
-
terraphim_rlm: require a per-sub-result verification plan (recheck / control / independent route)Aperta
Difficoltà 4/5 3-5 giorni Idoneità per principianti 48/100
terraphim/terraphim-ai#969 · 1 commento ·
-
Difficoltà 5/5 Più di una settimana Idoneità per principianti 35/100
terraphim/terraphim-ai#968 · 1 commento ·
-
Difficoltà 5/5 Più di una settimana Idoneità per principianti 35/100
terraphim/terraphim-ai#967 ·
-
Difficoltà 4/5 3-5 giorni Idoneità per principianti 48/100
terraphim/terraphim-ai#966 ·
-
Difficoltà 5/5 Più di una settimana Idoneità per principianti 30/100
terraphim/terraphim-ai#965 · 2 commenti ·
Tutte le issue di terraphim/terraphim-ai
Issue simili
-
Write a support policyAperta
Difficoltà 1/5 1-3 ore Idoneità per principianti 72/100
MattA-Official/vwmcp#20 ·
-
documentation good first issue
Difficoltà 1/5 1-3 ore Idoneità per principianti 88/100
undergroundrap/hatchling#15 ·
-
Progress difficulty filter lists Hard before MediumForse già presa @Pandamachi l’ha presa oggi. Aperta
Difficoltà 2/5 1-3 ore Idoneità per principianti 86/100
sysprog21/codetrial#281 · 1 commento ·
I maintainer di solito rispondono entro 1 giorno
-
CLI: --verdict silently ignores extra program/file argumentsForse già presa @oxura l’ha presa oggi. Aperta
Difficoltà 2/5 1-3 ore Idoneità per principianti 78/100
HigherOrderCO/Bend#1503 ·
-
Add MySQL test coverage for numeric_precision/numeric_scale and seq_in_fk (follow-up to #939)Forse già presa @tosinxt l’ha presa oggi. Aperta
Difficoltà 2/5 1-3 ore Idoneità per principianti 78/100
TabularisDB/tabularis#977 · 1 commento ·
I maintainer di solito rispondono entro 1 giorno