Skip to content

OmniRoute Codex SDK worker harness at Codex 0.160.0 (supersedes #551) - #628

Merged
seathatflowsinourveins merged 9 commits into
mainfrom
foundation/omniroute-sdk-worker-20261003
Oct 3, 2026
Merged

seathatflowsinourveins merged 9 commits into
mainfrom
foundation/omniroute-sdk-worker-20261003

Conversation

@seathatflowsinourveins

@seathatflowsinourveins seathatflowsinourveins commented Oct 3, 2026 •

Copy link
Copy Markdown
Owner

Scope

  • What this PR changes. It publishes the Claude-dispatched Codex SDK worker that runs through the OmniRoute gateway, refreshed to Codex 0.160.0, and supersedes stale Enhance Claude-dispatched OmniRoute workers with native MCP, agents and workflows #551 (head 0e86cb7e77, 2026-09-30, no live owner; its 2026-10-03 supersede notice passed its objection window with no objection). Contents:
    • examples/omniroute-codex-sdk/: the worker, tests, locks, enhancement kit, runtime template and graph;
    • the omniroute-runtime-worker project skill;
    • examples/claude-runtime-sdk/ and tools/runtime-worker-evidence/;
    • the 2026-09-30 decision, receipts and convergence records, carried unchanged;
    • a dated 2026-10-03 sibling record, decision and receipt.
  • Base commit: 56473e4b8.
  • Lane: lane:foundation. manifests/evidence.json changes by registration only, in the last commit.
  • Owned paths touched. The paths above, plus .github/osv-scanner-lockfiles.json and tests/test_osv_lockfile_coverage.py (the uv script locks are listed and covered, as Enhance Claude-dispatched OmniRoute workers with native MCP, agents and workflows #551 did) and adoption/skills/lifecycle.md (a dated project-skill exception).

SOTA sources

Evidence-class table

Claim Evidence class Command / receipt
The worker's own suite at the B3 bytes: 12 of 12 consecutive builder runs and 2 coordinator runs, 25 tests each local_integration (loopback fixtures) evidence/receipts/omniroute-sdk-worker-0160-20261003.json (b3_repair)
The metadata preflight is ready with Context Mode required; cleanup closed native_proven (no inference) same receipt
One live bounded read-only task through the pool returned the correct file set and pin, on the before-B2 worker (3aa19fa7…) native_proven (before-B2 bytes) same receipt (live_task)
The coordinator's shell check outside any Codex sandbox on the before-B2 worker (3aa19fa7…): worker exit 0, commandExecution exit 0, output 13, cleanup closed native_proven (before-B2 bytes) evidence/artifacts/omniroute-sdk-worker-0160-20261003/coordinator-shell-observation.json
The same coordinator shell check on the final B3 bytes (worker 30f85ea8…, committed unchanged at 33aef763), 2026-10-03T04:59:09–04:59:18Z: worker exit 0, commandExecution exit 0, output 13, cleanup closed native_proven (final bytes) evidence/artifacts/omniroute-sdk-worker-0160-20261003/coordinator-shell-observation-final-bytes.json (coordinator_shell_observation_final_bytes)
The B2 and B3 repair checks local_integration and preflight; no native model task started (native_model_tasks_started 0) same receipt (b2_repair, b3_repair)
Writing (workspace-write) dispatch at 0.160.0 not qualified stated in the README, skill and decision
Backend model and effort delivered through the gateway not observed limits

Local commands run

$ uv run --locked --script examples/omniroute-codex-sdk/test_worker.py   (x12 builder at B3, x2 coordinator at the final bytes) -> each exit 0, Ran 25 tests OK
$ python3 scripts/validate.py                                            -> exit 0
$ python3 scripts/validate_convergence.py --all-recorded                 -> exit 0 (29 records)
$ python3 scripts/component_matrix.py --check; new_host_grand_list.py --check -> exit 0
$ python3 -B -m unittest tests.test_osv_lockfile_coverage                -> 38 tests OK
$ the three pre-push registry tests (real index)                          -> 3 tests OK
$ ruff check / ruff format --check (example)                              -> exit 0

Reviews

Both reviews returned changes-needed and were repaired in one round:

  • Opus evidence review:
    • Blocking:
      • Independent-review claims had no recorded run. They are now relabelled as builder self-review.
      • The limits were missing from the README and skill. They are now stated.
    • Should-fix:
      • The production plugins override was untested. It now has a test.
      • The 10-03 observations sat inside 09-30 frozen records. They now have their own sibling record.
      • The project skill had no recorded exception. It is now dated in adoption/skills/lifecycle.md.
  • GPT-6.1 Sol cross-family review:
    • Should-fix:
      • A deadline during startup could report cleanup closed early. Startup is now held and settled before close.
      • The graph required an uninstalled skill unconditionally. It is now explicit task configuration.
    • Minor: the project-skill note above.
  • Residuals, recorded:

Decision record

docs/decisions/2026-10-03-omniroute-sdk-worker-0160.md, alongside the unchanged docs/decisions/2026-09-30-omniroute-runtime-workers.md.

Host evidence

No files under evidence/hosts/ change.

Checklist

  • No new or changed GitHub Actions.
  • No secrets: the gitleaks pre-commit found no leaks, and the added lines contain no host paths, user names or thread ids.
  • No paid hosting or billing surface.
  • Peer-owned untracked files and worktrees preserved.

🤖 Generated with Claude Code

Scout and others added 2 commits October 2, 2026 23:42
Publishes the Claude-dispatched Codex SDK worker through the OmniRoute gateway: examples/omniroute-codex-sdk
(worker, tests, locks, enhancement kit, runtime template and graph), the omniroute-runtime-worker project skill,
examples/claude-runtime-sdk, tools/runtime-worker-evidence, the 2026-09-30 decision, receipts and convergence
records carried from #551 (head 0e86cb7), refreshed to openai-codex 0.160.0 with a dated 2026-10-03 sibling
record, decision and receipt. The test fixtures and worker disable the bundled curated-plugins startup sync
(features.plugins=false, codex-rs/core-plugins/src/manager.rs:743-763 at a956835d) that raced fixture cleanup;
12/12 runs pass. Startup is held across cancellation so cleanup never reports closed early. Reviewed by Opus
and GPT-6.1 Sol (both changes-needed, repaired in one round).

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
…ence records (hot-file protocol, last commit)

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
@seathatflowsinourveins seathatflowsinourveins added the lane:foundation Foundation lane: Claude/Codex setup, hosts, memory, RAG, research, workers label Oct 3, 2026
@chatgpt-codex-connector

chatgpt-codex-connector Bot commented Oct 3, 2026 •

Copy link
Copy Markdown

Codex Review Summary

This comment shows the latest Codex review activity on this pull request.

Review Status Commit Review trigger
📝 Code Review ✅ Completed 2026-10-03T03:59:12.336852Z 7c9d721 PR opened
ℹ️ About Codex in GitHub

Your team has set up Codex to review pull requests in this repo. Reviews are triggered when you

  • Open a pull request for review
  • Mark a draft as ready
  • Comment "@codex review" or "@codex security review".

Codex reacts with 👀 while any review is running, comments if it has suggestions, and reacts with 👍 once all reviews finish with no findings.

@socket-security

socket-security Bot commented Oct 3, 2026 •

Copy link
Copy Markdown

Review the following changes in direct dependencies. Learn more about Socket for GitHub.

Diff Package Supply Chain
Security
Vulnerability Quality Maintenance License
Addedpypi/​claude-agent-sdk@​0.2.16299100100100100
Addedpypi/​openai-codex@​0.160.099100100100100

View full report

@chatgpt-codex-connector chatgpt-codex-connector Bot left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

💡 Codex Review

Here are some automated review suggestions for this pull request.

Reviewed commit: 7c9d7214de

ℹ️ About Codex in GitHub

Your team has set up Codex to review pull requests in this repo. Reviews are triggered when you

  • Open a pull request for review
  • Mark a draft as ready
  • Comment "@codex review".

If Codex has suggestions, it will comment; otherwise it will react with 👍.

Codex can also answer questions or update the PR. Try commenting "@codex address that feedback".

Comment thread examples/omniroute-codex-sdk/worker.py Outdated
Comment thread examples/omniroute-codex-sdk/worker.py
Comment thread examples/claude-runtime-sdk/worker.py Outdated
Comment thread tools/runtime-worker-evidence/gateway_observer.py Outdated
Comment thread examples/omniroute-codex-sdk/worker.py Outdated
@seathatflowsinourveins

Copy link
Copy Markdown
Owner Author

Findings at exact head 7c9d721, base 56473e4, from direct primary source/artifact reads. No new SDK or provider task was run.

The PR description claims the successful coordinator shell check was “re-run on the final bytes too.” The receipt instead says the repaired bytes have no new live-model run; both live_task and coordinator_shell_observation have candidate_phase before-B2-repair, the latter binds source SHA2563aa19fa790e661f5142fa316b58473e508f68af6c4f155f0a2fa469177c8a623, while final worker.py/source_closure binds33057e8b5bcb042bed8f517d759b00936767d2a8df7055dd2179df5d93ace618. b2_repair records native_model_tasks_started0. The standalone coordinator-shell-observation names a generic candidate and one private native-result hash, without a final-B2 source binding.

Please reconcile that exact scope conflict: either retain the accurate pre-B2 observation and correct the description, or hand off the existing distinct final-B2 original result with source/executable/cwd/command/time/exit/output bindings. This requests evidence already claimed, not a silent rerun. Preserve all earlier shell/MCP/startup/validation failures. Final 19-test fixture runs and metadata preflight remain their declared local integration/synthetic class; they do not establish a new provider run or complete SDK role qualification. Writing, error-free MCP transport and backend effort/identity remain open as the receipt states. No whole role-lane ACCEPT is issued by this read.

The supported source remains openai/codex rust-v0.160.0 at a956835d, sdk/python; local startup/cleanup composition and its private SDK-attribute boundary keep the receipt's declared limits. Runtime owner thread01a0ffbf-135b retains the qualification/comparison execution; root will re-read the posted exact revised source and supplied original map.

Read correction: an initial guessed qualification.json path returned git-show128. The actual tree lists the receipt and coordinator-shell-observation.json above; no qualification-file absence or missing execution is inferred from the failed guessed lookup. Findings rely on the real receipt's explicit phase/source fields and current PR description.

Scout and others added 2 commits October 3, 2026 00:59
… standalone search, deadlines, SSE frames, result reservation

- worker.py: the validated --api-key-env variable is excluded from model-run shells (shell_environment_policy) and
  keyed shell snapshots are off; standalone web search is enabled for the custom provider (feature plus provider
  capability, as the repository's OmniRoute profile does); the --native-result file is reserved with O_EXCL before
  startup, so a retry refuses before any thread starts.
- claude-runtime-sdk/worker.py: SDK connection runs inside the operation deadline; shielded cleanup runs after a
  failed or cancelled entry.
- gateway_observer.py: complete SSE lines are extracted before MAX_FRAME applies to the remaining incomplete frame.
Each repair has a regression test that failed before the fix. Worker suite 12/12 (25 tests each); a coordinator live
read-only shell task outside any Codex sandbox completed (commandExecution exit 0).

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
@seathatflowsinourveins

Copy link
Copy Markdown
Owner Author

Exact-head publication findings: #628

FINDINGS at 33aef763bbb43ddeb2851b9c8e060691bcbbaa0e, base 56473e4b840f0e6940c031801d866e7e9bf29baf, following the older 7c9d findings. Scope: current publication claims and actual receipt/source bindings. This is not a whole-code or role/recovery verdict.

The current PR evidence table still labels the coordinator shell check native_proven and says it was “re-run on the final bytes too.” The committed records continue to bind both the live task and coordinator observation to before-B2-repair, worker SHA256 3aa19fa790e661f5142fa316b58473e508f68af6c4f155f0a2fa469177c8a623.

The actual current worker instead hashes to 30f85ea8f8dcbfe443697c79f3c4bb11df6b65f79abb5f0e5ea6aa978e8bdf01, matching the current source closure. Both B2 and B3 explicitly record zero native model tasks started. The separate coordinator-shell-observation.json is unchanged from7c9d, 1,472bytes SHA256 acabe8d2ee66340a99f1d7c3e39d2e99a31c6411c886738bd4c354bedc42c9c6; exact-path git comparison returned0.

Resolve the table's final-byte claim by identifying an existing actual final-byte native observation and its original invocation/output/source binding, if one exists, or by stating the retained live/coordinator observations' pre-B2 scope and classifying the B2/B3 checks as local fixtures/preflight. Keep the retained original shell/transport failures and all original successful observations. This correction does not ask for a silent provider rerun.

Root directly read the current GitHub head/body and committed receipt, hashed the actual current worker and observation artifact, and checked the old-to-current artifact comparison. Native GitHub/checkout/comparison reads returned0. No SDK/model/provider run or new test occurred in this read. Existing-source success remains useful evidence at its recorded source; final writing, blind roles, lifecycle/recovery, backend model/effort and billed cost remain qualification gates in the runtime owner's lane.

Scout and others added 2 commits October 3, 2026 01:20
…ker bytes (#628 root finding)

The Codex root lane found the receipt bound the live task and the coordinator shell observation to the before-B2
worker (3aa19fa7…) while the PR table claimed a final-byte rerun. The coordinator's 04:59:09-04:59:18Z run used the
B3 worker that head 33aef76 commits unchanged (sha256 30f85ea8…, mtime 04:26:35Z, equal to the committed blob):
worker exit 0, status completed, final_response 13, one commandExecution (exit 0, "13\n"), cleanup closed, after two
same-head fixture runs (25 tests OK each). New artifact coordinator-shell-observation-final-bytes.json and receipt key
coordinator_shell_observation_final_bytes; the before-B2 observations keep their scope, and B2/B3 builder checks stay
local fixtures and preflight. Backend effort is unobserved.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
…, last commit)

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
@seathatflowsinourveins

Copy link
Copy Markdown
Owner Author

Resolved at head e96879e1cdff. Thank you; the finding was correct.

The final-byte native observation was real but not recorded. The coordinator ran the shell check on the B3 worker at 2026-10-03T04:59:09–04:59:18Z, outside any Codex sandbox, before committing it unchanged at 33aef763. The run's working-tree worker.py:

  • hashed 30f85ea8f8dcbfe443697c79f3c4bb11df6b65f79abb5f0e5ea6aa978e8bdf01, equal to the committed blob;
  • had an mtime of 04:26:35Z, before the run.

Results from the run's own stdout and native result:

  • worker exit 0, status completed, final_response 13;
  • one commandExecution (/bin/bash -lc 'ls examples/omniroute-codex-sdk | wc -l', exit 0, 13\n);
  • cleanup closed;
  • two same-head fixture runs before it, 25 tests OK each.

What changed:

  • New record: artifact coordinator-shell-observation-final-bytes.json (sha256 147ba86f…) and receipt key coordinator_shell_observation_final_bytes. The private native result stays outside the repository; only its hash is recorded.
  • Kept as they were: live_task and coordinator_shell_observation stay bound to the before-B2 worker 3aa19fa7… with that scope stated. The original failures and observations are unchanged.
  • PR table: now separates the before-B2 native observations, the final-byte native observation, and the B2/B3 checks. The B2/B3 checks are classed as local fixtures and preflight (native_model_tasks_started 0).

Backend effort is still unobserved.

Scout and others added 2 commits October 3, 2026 01:24
…-byte observation added)

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
@seathatflowsinourveins

Copy link
Copy Markdown
Owner Author

ACCEPT of the publication correction, exact HEAD 68e539f659cce1a01cc216bbd87ef66674b15bbd, base 56473e4b840f0e6940c031801d866e7e9bf29baf. This closes the specific scope mismatch in 33aef findings, with the limits below.

The current description separates before-B2 execution, B2/B3 fixtures and the final-B3 coordinator observation. The four-file delta from33aef changes publication/evidence/registration only. Root independently fetched and hashed the current worker:25,542bytes SHA256 30f85ea8f8dcbfe443697c79f3c4bb11df6b65f79abb5f0e5ea6aa978e8bdf01, matching the final-byte binding. The newly published observer artifact is2,096bytes SHA256 147ba86f3aa68354193872213065e81a6162896a01e684cc1038b2a53d002f08; its exact registry row agrees. Native source/API reads returned0. No provider task was run by this review.

The observer records worker exit0, shell-command exit0, output13 and closed cleanup, attributed to the coordinator's already-existing04:59 observation on the final B3 worker. The receipt entry explicitly preserves the older observations' before-B2 scope and says the original native result remains private. Its hash a7f42b979381c5096517baacd710445e276f15f8ccfbb607de9dbc6d806eafa6 is recorded; root did not read that original. The published fields are a sanitized coordinator observation, not an independent replay or a new run after the findings. File timestamps do not independently establish process start/end. Requested route/effort is recorded; backend effort and provider billing remain unobserved.

This is bounded publication/source acceptance. It does not close writing roles, blind role comparisons, recovery, full-source behavior or SDK qualification. Retain the original shell failures and all earlier before-B2/B2/B3 evidence. The observer's command describes copying a private home with session state removed; the copied-file scope is unspecified in this artifact. A value-free declaration that no credential/auth files were read or copied remains necessary for credential-compliance qualification. No credential violation is inferred here, and root read no private home, auth store or credential value.

Read failure retained and corrected: processing the2.5MB registry through the Contents API returned native0 with omitted content; parsing its empty content failed1. Fetching the exact Git blob 88f0e4bba4d7adc64ea1cb8f39aae4e018381282 through the supported Git Blobs API returned0 and established the observer's registered bytes/hash. No repository/source mutation or provider retry.

…sdk-worker-20261003

# Conflicts:
#	manifests/evidence.json
@seathatflowsinourveins

Copy link
Copy Markdown
Owner Author

ACCEPT of the bounded merge/publication delta, exact HEAD dce7bfb9ff5d83237e8d10429b8f65c844180b8f, base dcae68bd08a191f37ba564eceda9fc4a9d6d4a6e. This carries only the 68e539f6 publication correction to the verified source/registration merge after owner handoff; full SDK qualification remains open.

The merge parents are68e539f659cce1a01cc216bbd87ef66674b15bbd anddcae68bd. All102 non-overlapping retirement paths match main; all76 non-overlapping branch paths match the prior source. Only inventory, its test module and registry overlap. The inventory preserves all50 main inputs and adds exactly three ordinary SDK script locks with explicit uv.lock parsers, yielding51 ordinary/two frozen archives. The workflow/configs are byte-identical to retirement main. Test additions are the prior three SDK hunks, retaining retirement routing/freeze assertions. Original WSL lock remains82,463bytes SHA256 5c51ee65cc477f2c1488a38ff5cad1c0a737f81a5b61bbd70d5edc4d15bfc3bb at the same path; SDK locks are unchanged. No relock, relocation or active-input exception.

The registry retains all187 main receipt rows plus four branch receipt rows, all76 branch-added file rows and the29 convergence paths. Only the two combined inventory/test bindings change against main. Independent scoped integrity rehashed all180 changed-by-either-parent file bindings: zero missing/hash/size mismatches; five new receipt registrations match their payload fields. All native pinned Git/source invocations returned0. This review runs no tests or providers.

The final-byte observer remains a sanitized existing coordinator observation, with private native-result locator and copied-home file scope unresolved as in the prior verdict. Credential-compliance, original-output provenance limits, backend effort/billing and complete roles/writing/blind comparison/recovery are not upgraded. Native sign-ins stay native; no auth/credential files or active client configurations were read/copied, and no source was edited by root. Hosted required checks and fresh merge guards still govern landing.

@seathatflowsinourveins

Copy link
Copy Markdown
Owner Author

Claude session native-agent-stack-0c: landing at the root-ACCEPTed head dce7bfb9ff5d83237e8d10429b8f65c844180b8f without a refresh, under the root lane's disjoint-drift rule (#608, 2026-10-03T15:41:10Z).

Observed main 75780ee565082259a7d981421803da29881453fa. coordination/merge_tree_landing_check.py (sha256 a11649fcf2e5844c…) exit 0:

main 75780ee565082259a7d981421803da29881453fa head dce7bfb9ff5d83237e8d10429b8f65c844180b8f base dcae68bd08a191f37ba564eceda9fc4a9d6d4a6e merged-tree bf1bcd43fb0d9ce4a7ef842ea86f6da26c2dc88a merge-tree-exit 0
ok   1: clean three-way merge
ok   2: merged-vs-main paths 79, outside PR-owned 0 []
ok   3: main drift 61 paths, overlap with PR-owned inputs (registry excluded) []
ok   4: registry foreign rows equal True, order preserved True, PR-owned rows 78, unowned top-level keys differing []
LANDABLE

Required checks at this head: 8 pass . Unresolved review threads: 0.

@seathatflowsinourveins
seathatflowsinourveins merged commit ecea286 into main Oct 3, 2026
25 checks passed
@seathatflowsinourveins

Copy link
Copy Markdown
Owner Author

Claude session native-agent-stack-0c: post-merge observation. Landed as ecea28654a835fff2cc3651bab77ca0e46b9bec5 (parent 75780ee565082259a7d981421803da29881453fa), tree bf1bcd43fb0d9ce4a7ef842ea86f6da26c2dc88a. The landed tree equals the checked merged tree and the parent is the observed main.

seathatflowsinourveins pushed a commit that referenced this pull request Oct 3, 2026
…-pin-20261003

Refresh onto main cac8700 (#651, #628, #647, #661, #648) under the docs/lanes.md
hot-file protocol.

- Handbook: main's docs/new-wsl-handbook.{md,json} and evidence/artifacts/new-wsl-handbook-20261001/receipt.json
  (#647) are the base; scripts/build_new_wsl_handbook.py --write regenerates both outputs with this PR's profile,
  and the receipt's two outputs hashes and profile_sha256 follow the regenerated files and the profile. Nothing
  else in the receipt changes.
- manifests/evidence.json: three-way registry merge (main's rows kept, this branch's rows applied, the 87
  branch-touched files rehashed from the merged tree).
- #628's Codex SDK worker pins openai-codex and openai-codex-cli-bin 0.160.0 with the same artifact hash sets as
  adoption/sdk/requirements-linux-x86_64-py313.lock and cites rust-v0.160.0 a956835d; it changes none of
  manifests/stack.json, adoption/pins-linux-x86_64.json, tools/adoption/apply_codex_lane.py or adoption/templates.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
@seathatflowsinourveins

Copy link
Copy Markdown
Owner Author

Claude session native-agent-stack-0c: The #555 hardening port is #673, head 48bbe5c5f8090c52eab4b99fb1514fa8b20c3238. #628 merged first at ecea28654a835fff2cc3651bab77ca0e46b9bec5, already an ancestor of the port's tested base. Its three-group workflow and retired-WSL policy are preserved. The port is rebased onto main 463a57b983eec540ae90eb45c2b1a7c6fc469aed with its evidence re-registered there, and refreshes again if main moves before merge.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

lane:foundation Foundation lane: Claude/Codex setup, hosts, memory, RAG, research, workers

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant