Skip to content

Specify and validate the shared Core Runtime communication contract - #199

Merged
SaladDay merged 3 commits into
codex/qualified-release-promotion-20260928from
codex/core-runtime-contract-20260929
Sep 28, 2026
Merged

SaladDay merged 3 commits into
codex/qualified-release-promotion-20260928from
codex/core-runtime-contract-20260929

Conversation

@SaladDay

@SaladDay SaladDay commented Sep 28, 2026 •

Copy link
Copy Markdown
Collaborator

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: failed with delivery_unknown or event_stream_incomplete denotes 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-contract exercises 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 --check pass. Independent blind review found no actionable in-scope issues. Full make check was 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 test apps/web/e2e/sandbox-reset.spec.ts:135 timed 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 remaining check-mcode-harness (6 passed, 2 existing opt-in native tests skipped) and check-agents-executor (33 Rust tests, fmt and clippy) passed separately. No frontend or fixture files changed from baseline 19943a39; 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.

@SaladDay
SaladDay marked this pull request as ready for review September 28, 2026 18:08
@SaladDay
SaladDay merged commit f0589bf into codex/qualified-release-promotion-20260928 Sep 28, 2026
4 checks passed
@SaladDay
SaladDay deleted the codex/core-runtime-contract-20260929 branch October 10, 2026 05:05
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