Repository navigation
Pass official execution options through to each Harness - #761
Merged
Merged
Conversation
Core carries the official web search, programmatic tool calling, reasoning, service tier, verbosity and output format values to the Runtime. Each Harness declaration lists the values it supports and Core admission validates against them. Reasoning effort now has one home, reasoning.effort, and migration 000102 moves the Harness-native keys there.
This comment has been minimized.
This comment has been minimized.
Codex now admits live and cached search, programmatic tool calling and every official reasoning and service-tier value, so the tests that expected the old gates assert admission instead. The Codex declaration accepts the native fast tier and rejects code_mode with Subagent observation. Settings of disabled search configure nothing and stay admitted on every Harness, a declaration must include medium text verbosity, and the protocol version moves to 0.17.0.
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
Core passes the official execution options straight to each Harness's native settings and validates them against the Harness declaration. Core sends a value only when the Agent sets it or the pinned API defines a default; an omitted
web_searchorprogrammatic_tool_callingkeeps the Harness's native behavior.web_searchdisabled/cached/livewithcontext_size,allowed_domainsandlocation;reasoning.effortandreasoning.summary;service_tierdefault/flex/priority/fast(fastis Codex's native alias of priority);programmatic_tool_callingenabled: trueturns on nativecode_mode, and is rejected together withmulti_agentbecause Subagent observation turnscode_modeoff. An omitted programmatic tool calling setting stays native (off), which differs from the official default and is recorded in the compatibility notes.reasoning.effortmaps to the SDKeffort. Search staysdisabledor absent for now.disabledcontrols only.Declaration.Execution; a value outside them is rejected at Session admission with a message naming the field. Settings of a disabled search configure nothing and stay admitted on every Harness, so saved disabled tools keep working. A declaration must include text verbositymedium, the official default Core always sends.0.17.0.reasoning.effortis the only home for effort: the Codexmodel_reasoning_effortand Claudeeffortharness_configkeys are removed, and migration000102moves stored Agent and Session values intoreasoning.effortbefore dropping the keys.DISABLE_TELEMETRY, the per-control capability bits replaced byexecution_controls, and the old Core gates.harnessconfig/admission.gofolds intoharness.go, and Claude's restrictions and native parameters fold intoclaudesdk/declaration.go.Operator notes
model_reasoning_effort(Codex) oreffort(Claude) inharness_configlose that key on upgrade; set reasoning effort on the Agent instead.Checks
go build ./...,go vet, focusedgo teston harnessconfig, daemon agent and CLI, Core execution and API.make check-harness-catalog,make openapi(no tracked changes),make check-names, website translation tests.official_client.pyand its Go tests) and the threeservices/core/tests/integrationshards.TestNativeToolPolicyPublicExecutionneeds real model options).