-
Notifications
You must be signed in to change notification settings - Fork 3
Open
Labels
enhancementNew feature or requestNew feature or request
Description
Parent Epic
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)
Reactions are currently unavailable
Metadata
Metadata
Assignees
Labels
enhancementNew feature or requestNew feature or request