Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
32 commits
Select commit Hold shift + click to select a range
78df7d8
feat(background-agent): enforce durable admission
andrei-hasna Jul 23, 2026
cecbc51
style(background-agent): apply repository formatting
andrei-hasna Jul 23, 2026
9d057ef
fix(background-agent): recover partial CLI admission
andrei-hasna Jul 23, 2026
1b22ad2
fix(background-agent): preserve recovered run status
andrei-hasna Jul 23, 2026
ec2c69c
test: account for durable lifecycle receipts
andrei-hasna Jul 23, 2026
602f913
style(state): label receipt arguments
andrei-hasna Jul 23, 2026
ec0b1bf
style(state): scope receipt helper lint
andrei-hasna Jul 23, 2026
b4ab250
test(background-agent): cover receipt-expanded events
andrei-hasna Jul 23, 2026
05a5189
fix(cli): remove stale agent state import
andrei-hasna Jul 23, 2026
b452f82
test(background-agent): replay quota admission identity
andrei-hasna Jul 23, 2026
7e9c66b
fix(background-agent): harden durable admission
andrei-hasna Jul 23, 2026
3a1aef0
fix(state): share execution snapshot lookup
andrei-hasna Jul 23, 2026
2395e1c
fix(agent): close durable admission CI failures
andrei-hasna Jul 23, 2026
9992e90
test(state): assert durable delete lifecycle receipts
andrei-hasna Jul 23, 2026
3f12c43
fix(app-server): qualify durable agent quota constant
andrei-hasna Jul 23, 2026
29a8093
fix(agent): close durable lifecycle review gaps
andrei-hasna Jul 24, 2026
e23740e
fix(state): name delete replay projection
andrei-hasna Jul 24, 2026
37e2d87
fix(state): restore orphaned lifecycle receipts
andrei-hasna Jul 24, 2026
fe13b73
fix(agent): close durable worker recovery gaps
andrei-hasna Jul 24, 2026
4e54fb8
fix(agent): finalize stopped worker processes
andrei-hasna Jul 24, 2026
552f32b
test(agent): use imported JSON value alias
andrei-hasna Jul 24, 2026
24284b6
fix(agent): finalize retried process cleanup
andrei-hasna Jul 24, 2026
26a09c6
fix(agent): satisfy app-server lint gates
andrei-hasna Jul 24, 2026
8616a6b
fix(agent): admit workflow branches durably
andrei-hasna Jul 24, 2026
4218aec
test(agent): isolate opaque identity fixture
andrei-hasna Jul 24, 2026
c19dfa4
fix(agent): close exact-head provider failures
andrei-hasna Jul 24, 2026
3402a3f
test(agent): fix durable admission fixtures
andrei-hasna Jul 24, 2026
05323b4
fix(agent): preserve immutable admission replay
andrei-hasna Jul 24, 2026
56524de
test(agent): own thread binding fixture values
andrei-hasna Jul 24, 2026
702dbd7
fix(agent): close admission plaintext, quota, and upgrade defects
Jul 24, 2026
ae44923
fix(agent): enforce the no-plaintext-secret state invariant generically
andrei-hasna Jul 24, 2026
f542a7e
style(state): apply cargo fmt to background agent admission redaction
andrei-hasna Jul 24, 2026
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
5 changes: 5 additions & 0 deletions codex-rs/app-server-protocol/src/protocol/v2/agent.rs
Original file line number Diff line number Diff line change
Expand Up @@ -91,6 +91,11 @@ pub enum AgentLifecycleEffect {
#[ts(export_to = "v2/")]
pub struct AgentRun {
pub agent_id: String,
// Stable identity of the admitted idempotency key, not the key itself:
// admission persists only a one-way SHA-256 digest so a caller-supplied
// key can never be recovered from local state. Kept under the original
// wire name to avoid an unversioned protocol break; use it for
// correlation, never as an echo of the submitted key.
#[ts(type = "string | null")]
pub idempotency_key: Option<String>,
#[ts(type = "string | null")]
Expand Down
2 changes: 1 addition & 1 deletion codex-rs/app-server/Cargo.toml
Original file line number Diff line number Diff line change
Expand Up @@ -88,6 +88,7 @@ futures = { workspace = true }
iana-time-zone = { workspace = true }
serde = { workspace = true, features = ["derive"] }
serde_json = { workspace = true }
sha2 = { workspace = true }
tempfile = { workspace = true }
thiserror = { workspace = true }
time = { workspace = true }
Expand Down Expand Up @@ -130,7 +131,6 @@ rmcp = { workspace = true, default-features = false, features = [
"transport-streamable-http-server",
] }
serial_test = { workspace = true }
sha2 = { workspace = true }
shlex = { workspace = true }
tar = { workspace = true }
tokio-tungstenite = { workspace = true }
Expand Down
1,446 changes: 1,226 additions & 220 deletions codex-rs/app-server/src/request_processors/background_agent_live.rs

Large diffs are not rendered by default.

556 changes: 233 additions & 323 deletions codex-rs/app-server/src/request_processors/background_agent_processor.rs

Large diffs are not rendered by default.

Loading
Loading