Skip to content

Require explicit providers in Codex execution tools - #887

Draft
seathatflowsinourveins wants to merge 4 commits into
mainfrom
codex/ns2604-codex-exec-route-20261008
Draft

seathatflowsinourveins wants to merge 4 commits into
mainfrom
codex/ns2604-codex-exec-route-20261008

Conversation

@seathatflowsinourveins

@seathatflowsinourveins seathatflowsinourveins commented Oct 8, 2026 •

Copy link
Copy Markdown
Collaborator

Scope

Six repository caller categories now require an explicit provider before constructing codex exec: native proof, blind convergence, adjudication, landscape sweep, token judging and the capability gate's SDK launcher. Missing choices refuse before setup; native and keyless loopback OmniRoute preserve the existing isolation, model/effort and stdin contracts. Constructors retain the existing fast service tier.

This revision also repairs the hosted failures found on the initial draft: a verified source digest triggered generic-api-key, older fixtures omitted the required provider or fast-tier argument, and the current lane source provenance was absent from its append-only registry.

  • Base: 9f7b38b23d15e47ceb6f68c6651b86088f621797, reached by one rebase after fetching the corrected current-main target.
  • Lane: lane:foundation; PR remains a draft for both co-op reads.
  • Owned paths: the six executor categories and capability wrapper, their README files and tests, the dated decision and two artifact receipts; remediation adds a narrow .gitleaks.toml entry, explicit fixture updates and append-only lane provenance.
  • manifests/evidence.json was recovered and refreshed using the existing freshness_propose.register_receipt, host_receipts.register_file and evidence_manifest helpers. Its registration is committed last.

SOTA sources

Changed test expectations

The following six older test expectations changed to match the explicit-provider contract. Runtime routing was not weakened.

  • RunnerTests.test_codex_command_line_stdin_and_directory: strict argv includes the existing -c service_tier="fast" pair.
  • RunnerTests.test_ultra_defaults_and_idle_refusal_precede_state_changes and RecoveryRunnerTests.test_default_budgets_clear_observed_healthy_silence_and_research_duration: direct staged fixtures declare provider: native.
  • ShellTests.test_staged_copy_needs_no_work_dir_argument: preserve generated codex metadata while overriding polling intervals.
  • Both SkillLaunchTests live/missing-skill fixtures pass --provider native, a temporary Codex home and a mocked worker environment. The live fixture's strict expected argv includes the provider argument and checks the environment.

Existing timeout, refusal, directory isolation, prompt, observed-route and six-versus-five run assertions remain. The two lane-vendoring expectations are unchanged; actual native source provenance was appended instead. New gitleaks tests cover the allowed source digest, rejection on other fields/paths/shared lines and equality with the named source digest.

Evidence-class table

Claim Evidence class Command / receipt
Six caller categories require provider choice and preserve the executor contracts local_integration / synthetic Historical evidence/artifacts/codex-exec-explicit-provider-20261008/receipt.json: 327 passes and one optional Context Mode skip; bytes and dated source digests preserved
Initial secret finding is a computed source-file digest source_review / local_integration Redacted Actions artifact metadata and source equality verification, recorded without matched text
Narrow allowance preserves credential detection boundaries local_integration / synthetic Workflow-pinned gitleaks 8.30.1; 41-test tests.test_gitleaks_config module
Reproduced shard failures are repaired local_integration / synthetic Six named modules: 492 distinct tests, 477 passed, 15 skipped, zero failures/errors; remediation.json
Current source provenance is registered without altering merged history local_integration Native generator output, append-prefix equality and unchanged 14-test vendoring module
Final registered artifacts are consistent local_integration Native scripts/validate.py exit 0: 70 components, 10,906 hashed files, four profiles, 241 receipts

Local commands run

Every test command used nice -n 10 ionice -c2 -n7 timeout 600 and one named module:

Module Result
tests.test_landscape_sweep_harness 291 tests; pass, three skips
tests.test_codex_worker_skill 10 tests; pass
tests.test_verdict_lane_vendoring 14 tests; pass
tests.test_gitleaks_config 41 tests with pinned scanner required; pass
tests.test_codex_worker_lane 128 tests; pass, 12 existing skips
tests.test_codex_provider_route Eight tests; pass

nice -n 10 ionice -c2 -n7 timeout 600 python3 scripts/validate.py passed after registration. Root-relative native gitleaks dir . --config .gitleaks.toml --max-target-megabytes 2 --redact --no-banner passed with no findings. Final committed-history scan is recorded in the publication receipt.

Failure conditions remain recorded: the four assertions/four errors reproduced from the initial modules, the red allowlist regression, the initial new-receipt metadata/schema error and the absolute-subtree scan whose path format does not match the deliberately repo-relative allowance. Intermediate repeated runs are not summed.

These checks are offline integration, synthetic fixtures and source review. They do not establish a fresh live model/provider run, actual service-tier delivery or current hosted CI success. The historical receipt's tests/test_codex_worker_lane.py digest remains dated; the merged current module was tested separately. A transient subprocess warning was observed and the referenced child was independently confirmed exited.

Decision record

docs/decisions/2026-10-08-codex-exec-explicit-provider.md; original and remediation receipts are under evidence/artifacts/codex-exec-explicit-provider-20261008/.

Host evidence

No host receipt, account, service or active client configuration was changed.

Checklist

  • Nonempty SOTA sources and exactly one lane label.
  • Secret diagnosis preceded mutation; only rule/file/line metadata reported.
  • One rebase; evidence registration uses native helpers.
  • Module-scoped tests, original failure conditions and changed expectations recorded.
  • Historical evidence preserved; independent source/test critics completed.
  • Both co-op reads and exact-head hosted acceptance.
  • CC cue and 5f landing.

@seathatflowsinourveins seathatflowsinourveins added the lane:foundation Foundation lane: Claude/Codex setup, hosts, memory, RAG, research, workers label Oct 8, 2026

This branch has not been deployed

No deployments
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