Skip to content

spike: cross-vendor delegation executor (#96)#98

Draft
aktasbatuhan wants to merge 2 commits into
mainfrom
experiment/route-ax-dispatch
Draft

spike: cross-vendor delegation executor (#96)#98
aktasbatuhan wants to merge 2 commits into
mainfrom
experiment/route-ax-dispatch

Conversation

@aktasbatuhan

Copy link
Copy Markdown
Member

Resumable spike for #96.

Turns a cross-vendor routing winner from an advisory sentence into actual execution.

Landed here

  • ax_dispatch.py + route_rewrite.py wiring for a headless dispatch backend (shells codex exec / claude -p)
  • tests/test_route.py coverage for the dispatch path
  • Proves the CC<->Codex structured handoff over existing CLIs (no external runtime)

TODO before merge

Draft / experiment — parked for future continuation. See #96.

Adds ax_dispatch.py + route_rewrite wiring so a routed cross-vendor
winner can actually be executed (headless backend) instead of only
emitting an advisory sentence. Proves the CC<->Codex structured handoff
over the existing CLIs. Tests cover the dispatch path.

Spike / experiment branch — interface (DelegationExecutor seam) not yet
finalized; see #96.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
@aktasbatuhan

Copy link
Copy Markdown
Member Author

Direction decision for this spike is recorded in #96 (2026-06-05): headless first, AX-native is a later upgrade, not a gate. So this spike is parked as the future AX backend behind the DelegationExecutor seam, not the v1 path.

Two notes for whoever picks it back up:

Verified the spike's dispatch against google/ax @ 2026-06-09: `ax exec` no
longer has `--once` (the command would fail today). Current exec is a REPL
seeded by `--input`, then it prompts for the next turn.

- ax_dispatch.ax_exec_command: drop `--once`; bound to a single headless turn
  by redirecting stdin from /dev/null so the post-turn prompt hits EOF instead
  of hanging a non-TTY dispatcher (turn 1 never prompts — `--input` is set).
  Comment the exact exit-on-EOF semantics as the known unverified gap pending a
  local `ax` build.
- Docstring: record the verified AX CLI state (exec flags incl. --resume/
  --last-seq; empty --server = local built-in server; `ax fork` is the native
  fork-and-race primitive for #96; google/ax#19 still OPEN = faithful-resume
  gate, so "headless now" stands).
- test_route: assert the refreshed `ax exec` string, that `--once` is absent,
  and that `< /dev/null` is present. 37 passed.

Still a draft spike, still behind main, still end-to-end-unverified (no local
ax). This only realigns the emitted command with the current CLI surface.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
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.

1 participant