diff --git a/epiphany-core/src/bin/epiphany-mvp-coordinator.rs b/epiphany-core/src/bin/epiphany-mvp-coordinator.rs index ce29e24f..89cee605 100644 --- a/epiphany-core/src/bin/epiphany-mvp-coordinator.rs +++ b/epiphany-core/src/bin/epiphany-mvp-coordinator.rs @@ -354,12 +354,12 @@ fn run_coordinator(args: &Args) -> Result { final_action = coordinator.clone(); if args.mode == "plan" { - append_jsonl(&steps_path, &step)?; + append_operator_step_jsonl(&steps_path, &step)?; steps.push(step); break; } if is_stop_action(&action) && !args.auto_review && !is_result_review_action(&action) { - append_jsonl(&steps_path, &step)?; + append_operator_step_jsonl(&steps_path, &step)?; steps.push(step); break; } @@ -386,7 +386,7 @@ fn run_coordinator(args: &Args) -> Result { "action": wait_action_for_role(role_id), "reason": result["note"], }); - append_jsonl(&steps_path, &step)?; + append_operator_step_jsonl(&steps_path, &step)?; steps.push(step); break; } @@ -398,7 +398,7 @@ fn run_coordinator(args: &Args) -> Result { "action": review_action_for_role(role_id), "reason": result["note"] }); - append_jsonl(&steps_path, &step)?; + append_operator_step_jsonl(&steps_path, &step)?; steps.push(step); break; } @@ -434,12 +434,12 @@ fn run_coordinator(args: &Args) -> Result { ) { final_action = json!({"action": "waitForReorientResult", "reason": result["note"]}); - append_jsonl(&steps_path, &step)?; + append_operator_step_jsonl(&steps_path, &step)?; steps.push(step); break; } final_action = json!({"action": "reviewReorientResult", "reason": result["note"]}); - append_jsonl(&steps_path, &step)?; + append_operator_step_jsonl(&steps_path, &step)?; steps.push(step); break; } @@ -490,7 +490,7 @@ fn run_coordinator(args: &Args) -> Result { "action": wait_action_for_role(role_id), "reason": result["note"], }); - append_jsonl(&steps_path, &step)?; + append_operator_step_jsonl(&steps_path, &step)?; steps.push(step); break; } @@ -499,7 +499,7 @@ fn run_coordinator(args: &Args) -> Result { "action": review_action_for_role(role_id), "reason": result["note"], }); - append_jsonl(&steps_path, &step)?; + append_operator_step_jsonl(&steps_path, &step)?; steps.push(step); break; } @@ -542,14 +542,14 @@ fn run_coordinator(args: &Args) -> Result { ) { final_action = json!({"action": "waitForReorientResult", "reason": result["note"]}); - append_jsonl(&steps_path, &step)?; + append_operator_step_jsonl(&steps_path, &step)?; steps.push(step); break; } if !args.auto_review { final_action = json!({"action": "reviewReorientResult", "reason": result["note"]}); - append_jsonl(&steps_path, &step)?; + append_operator_step_jsonl(&steps_path, &step)?; steps.push(step); break; } @@ -560,7 +560,7 @@ fn run_coordinator(args: &Args) -> Result { &mut step, json!({"type": "dryCompact", "threadId": thread_id}), ); - append_jsonl(&steps_path, &step)?; + append_operator_step_jsonl(&steps_path, &step)?; steps.push(step); continue; } @@ -571,7 +571,7 @@ fn run_coordinator(args: &Args) -> Result { } _ => {} } - append_jsonl(&steps_path, &step)?; + append_operator_step_jsonl(&steps_path, &step)?; steps.push(step); } @@ -1405,6 +1405,10 @@ fn append_jsonl(path: &Path, value: &Value) -> Result<()> { Ok(()) } +fn append_operator_step_jsonl(path: &Path, step: &Value) -> Result<()> { + append_jsonl(path, &status_cli::sanitize_for_operator(step.clone())) +} + fn text_at(value: &Value, path: &[&str]) -> Result { let mut cursor = value; for key in path { diff --git a/epiphany-tool-codex-mcp-spine/Cargo.lock b/epiphany-tool-codex-mcp-spine/Cargo.lock index 26b572e3..65db69c8 100644 --- a/epiphany-tool-codex-mcp-spine/Cargo.lock +++ b/epiphany-tool-codex-mcp-spine/Cargo.lock @@ -2253,6 +2253,7 @@ dependencies = [ "serde", "serde_json", "sha1", + "toml", "tracing", "uuid", ] diff --git a/state/agent-heartbeats.msgpack b/state/agent-heartbeats.msgpack index 73e01775..fa6f07de 100644 Binary files a/state/agent-heartbeats.msgpack and b/state/agent-heartbeats.msgpack differ diff --git a/state/ledgers.msgpack b/state/ledgers.msgpack index 565117ca..92357fe9 100644 Binary files a/state/ledgers.msgpack and b/state/ledgers.msgpack differ diff --git a/vendor/codex/codex-rs/Cargo.lock b/vendor/codex/codex-rs/Cargo.lock index 94315590..93de32c3 100644 --- a/vendor/codex/codex-rs/Cargo.lock +++ b/vendor/codex/codex-rs/Cargo.lock @@ -5092,6 +5092,7 @@ dependencies = [ name = "epiphany-codex-bridge" version = "0.1.0" dependencies = [ + "allocative", "anyhow", "chrono", "codex-app-server-protocol",