Codex/campus relay fast path - #6917
Open
chemyibinjiang wants to merge 82 commits into
Open
Conversation
Channel to ACP session bindings are in-memory only, so every harness restart starts a cold conversation even against an agent that advertises `loadSession`. This persists the mapping as a small JSON sidecar under the process data directory, keyed by (agent command identity, agent args, channel id) so different agent binaries and profiles never share bindings. Heartbeats stay ephemeral and are never stored. The store is shared between processes, so a process-local cache alone is unsafe: two buzz-acp processes with the same agent identity would clobber each other. Every read and mutation takes a sibling lockfile, reloads the on-disk map under that lock, then writes atomically. Removal is conditional on purpose. After a failed `session/load` another process may already have written a newer session for the same channel, so `remove_if_equals` only drops the binding it actually failed to load. A key-only remove would delete the fresher one. Signed-off-by: joelbrilliant <joelbrilliant1@gmail.com>
`session/load` failure handling treated every error the same: drop the stored binding and fall through to `session/new`. Only a JSON-RPC error response actually proves the session is gone. A timeout, transport failure or malformed response does not. The provider may have loaded the session and still hold it open, so clearing the binding and creating a new session forks hidden provider state: two live sessions for one channel, one of them unreachable and never cleaned up. Clear only on `AcpError::AgentError`. Everything else keeps the mapping and logs the indeterminate outcome. That is self-healing rather than sticky: a provider that has genuinely lost the session answers `AgentError` on a later attempt, and that clears it then. Raised by @OpenSpek while validating restart-durable sessions on Windows. Signed-off-by: joelbrilliant <joelbrilliant1@gmail.com>
Signed-off-by: joelbrilliant <joelbrilliant1@gmail.com>
Deliver legacy standing context once after a successful ACP prompt and track live-session event delivery so later thread and DM prompts send only deltas. Fence successful native steer acknowledgements by ACP session identity across task-result races. Co-authored-by: Carl <c7ebe626f000404285d3686e1dc74cc07cc60a9754a150041ba132e14bd3e2ec@buzz.block.builderlab.xyz> Signed-off-by: Wes <wesbillman@users.noreply.github.com>
Distinguish history omitted because it was delivered earlier from a trigger-only fetch, and add regression coverage for channel delivery commit timing and stale in-flight steer acknowledgements. Co-authored-by: Carl <c7ebe626f000404285d3686e1dc74cc07cc60a9754a150041ba132e14bd3e2ec@buzz.block.builderlab.xyz> Signed-off-by: Wes <wesbillman@users.noreply.github.com>
Signed-off-by: Yibin Jiang <44966246+chemyibinjiang@users.noreply.github.com>
Signed-off-by: Yibin Jiang <44966246+chemyibinjiang@users.noreply.github.com>
Signed-off-by: Yibin Jiang <44966246+chemyibinjiang@users.noreply.github.com>
Signed-off-by: Yibin Jiang <44966246+chemyibinjiang@users.noreply.github.com>
Signed-off-by: Yibin Jiang <44966246+chemyibinjiang@users.noreply.github.com>
Signed-off-by: Yibin Jiang <44966246+chemyibinjiang@users.noreply.github.com>
Signed-off-by: Lin Huang <huanglin1757@stu.xmu.edu.cn>
Signed-off-by: Lin Huang <huanglin1757@stu.xmu.edu.cn>
Signed-off-by: Lin Huang <huanglin1757@stu.xmu.edu.cn>
Signed-off-by: Lin Huang <huanglin1757@stu.xmu.edu.cn>
Signed-off-by: Lin Huang <huanglin1757@stu.xmu.edu.cn>
Signed-off-by: Lin Huang <huanglin1757@stu.xmu.edu.cn>
Signed-off-by: Lin_Huang <huanglin1757@stu.xmu.edu.cn>
Signed-off-by: Lin Huang <huanglin1757@stu.xmu.edu.cn>
Signed-off-by: Lin Huang <huanglin1757@stu.xmu.edu.cn>
Signed-off-by: Yibin Jiang <44966246+chemyibinjiang@users.noreply.github.com>
Signed-off-by: Lin Huang <huanglin1757@stu.xmu.edu.cn>
Signed-off-by: Lin Huang <huanglin1757@stu.xmu.edu.cn>
Signed-off-by: Lin Huang <huanglin1757@stu.xmu.edu.cn>
Signed-off-by: Lin Huang <huanglin1757@stu.xmu.edu.cn>
Signed-off-by: Lin Huang <huanglin1757@stu.xmu.edu.cn>
Signed-off-by: Lin Huang <huanglin1757@stu.xmu.edu.cn>
Signed-off-by: Lin Huang <huanglin1757@stu.xmu.edu.cn>
Signed-off-by: Lin Huang <huanglin1757@stu.xmu.edu.cn>
Signed-off-by: Lin Huang <huanglin1757@stu.xmu.edu.cn>
Signed-off-by: Lin Huang <huanglin1757@stu.xmu.edu.cn>
Signed-off-by: Lin Huang <huanglin1757@stu.xmu.edu.cn>
Signed-off-by: Lin Huang <huanglin1757@stu.xmu.edu.cn>
Signed-off-by: Yibin Jiang <44966246+chemyibinjiang@users.noreply.github.com>
fix: speed up Codex task discovery
Signed-off-by: Yibin Jiang <44966246+chemyibinjiang@users.noreply.github.com>
Signed-off-by: Yibin Jiang <44966246+chemyibinjiang@users.noreply.github.com>
Signed-off-by: Yibin Jiang <44966246+chemyibinjiang@users.noreply.github.com>
Codex/codex acp onboarding
Signed-off-by: Yibin Jiang <44966246+chemyibinjiang@users.noreply.github.com>
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Summary
Related issue
Testing