Repository navigation
Specify and validate the shared Core Runtime communication contract - #199
Merged
SaladDay merged 3 commits intoSep 28, 2026
Conversation
SaladDay
marked this pull request as ready for review
September 28, 2026 18:08
SaladDay
merged commit Sep 28, 2026
f0589bf
into
codex/qualified-release-promotion-20260928
4 checks passed
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.
Runtime integrations now have one README-linked entry point at
docs/runtime-protocol.md, backed by the existing shared wire types. It specifies message families, identities, ordering, capability declarations, preparation, send/accept/complete/cancel distinctions, and responsibility after timeout, disconnect, duplicate delivery or uncertain cleanup.Require an exact wire version match (
0.8.0) and reject mismatched peers before dispatch. Remove obsolete heartbeat/interaction fallbacks and the unused best-effort subscription path that fabricated terminal execution events on disconnect. The production durable subscription remains the single observation path. Remove the obsolete daemon network-isolation capability and its admission check; outer Sandbox Providers own isolation, while native platform changes remain separate work.Preserve the existing public Turn state machine:
failedwithdelivery_unknownorevent_stream_incompletedenotes failed orchestration/observation, not proof of native failure or cleanup. The contract documents that distinction without adding a public unknown state or replay behavior.make check-runtime-contractexercises shared validators, gateway, transport, dispatcher and real WebSocket scenarios with a controlled Harness adapter. Coverage includes incompatible peers, failed preparation, cancellation settlement, disconnect cleanup and reconnect without input replay. Existing detailed fault tests remain part of the gate.Validation: focused contract/CLI/execution tests pass, store compilation passes, and gateway/WebSocket contract race checks pass. Documentation checks and
git diff --checkpass. Independent blind review found no actionable in-scope issues. Fullmake checkwas run on the remote hosts. Documentation, naming/distribution, SQL generation, Go/DB, provider helper, Claude SDK, web typecheck/unit/build gates passed. Browser acceptance completed with 76/77 passing; the unchanged baseline testapps/web/e2e/sandbox-reset.spec.ts:135timed out because its injected deployment-read failure disabled Reset before the reset request. The same test failed in an isolated retry on an idle host; the trace contains no reset POST. Therefore the full gate is not green. The remainingcheck-mcode-harness(6 passed, 2 existing opt-in native tests skipped) andcheck-agents-executor(33 Rust tests, fmt and clippy) passed separately. No frontend or fixture files changed from baseline19943a39; this blocker remains outside these protocol PRs. Controlled tests do not claim new live native/model qualification.Stack: this separate Core–Runtime PR targets the PR191 integration branch and depends on the completed preparation unification from PR195 (
19943a39). It does not include the separate Sandbox Provider PR. Merging here does not itself merge the installation/release stack into main or publish a release. Matching Core and Runtime binaries must be deployed together; no old-version compatibility is provided.