Skip to content

fix(agent): admit exact resume handle after cache eviction - #50

Merged
joshrotenberg merged 1 commit into
mainfrom
fix/exact-handle-admission
Oct 9, 2026
Merged

joshrotenberg merged 1 commit into
mainfrom
fix/exact-handle-admission

Conversation

@joshrotenberg

Copy link
Copy Markdown
Contributor

After 32 fresh arcs, a long-lived operator arc can be evicted from the Agent's bounded handle cache. A hot process then silently starts a fresh Codex thread even when its host still has the exact persisted handle. submit_prompt/3 and cast_prompt/3 now accept resume_session_id: for an atomic, per-delivery restore of an absent arc. A different live handle is refused rather than overwritten, and a supplied handle cannot redirect a pending question's answer to another arc. Cache size and host-owned persistence policy remain unchanged.

The deterministic regression completes 32 fresh sweeps, resumes the evicted operator handle, checks conflicting live handles and gate routing, and exercises the existing Agent suite. No native Codex call was made.

Validation: mix format --check-formatted, mix compile --warnings-as-errors, mix test (231 passed, 4 tagged exclusions), mix credo --strict, mix docs --warnings-as-errors, and mix dialyzer all passed.

Closes #49. Provider parity: genagent/oban_claude#172.

@joshrotenberg
joshrotenberg marked this pull request as ready for review October 9, 2026 21:12
@joshrotenberg
joshrotenberg merged commit c05d795 into main Oct 9, 2026
1 check passed
@joshrotenberg
joshrotenberg deleted the fix/exact-handle-admission branch October 9, 2026 21:13
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

fix(agent): admit exact persisted handle after arc cache eviction

1 participant