Add supervisor executor adapter contract#482
Conversation
There was a problem hiding this comment.
Pull request overview
This PR adds a contract-only realization slice for proposal 0056 (Supervisor Executor Adapter Gateway). It introduces a machine-readable policy artifact and a human-readable contract document defining the bounded request/report shapes for future executor adapters, without implementing any runtime backend. The proposal runtime registry is updated so 0056 no longer shows up as a runtime backlog gap, shifting next-move to 0057.
Changes:
- Add
tools/supervisor_executor_adapter_policy.jsonanddocs/supervisor_executor_adapter_gateway_contract.mddefining the executor request/report contract, error vocabulary, BYOK boundary, and non-overridable invariants. - Update proposal 0056 with a "Contract-Only Realization Slice" section and refresh its proposal runtime registry markers so it is
implemented/covered. - Add two regression tests: a policy-shape test and a proposal 0056 runtime-closure test.
Reviewed changes
Copilot reviewed 5 out of 5 changed files in this pull request and generated no comments.
Show a summary per file
| File | Description |
|---|---|
| tools/supervisor_executor_adapter_policy.json | New machine-readable executor adapter policy artifact. |
| docs/supervisor_executor_adapter_gateway_contract.md | New viewer/operator contract document describing the gateway boundary. |
| docs/proposals/0056_supervisor_executor_adapter_gateway.md | Adds the contract-only realization slice section. |
| tools/proposal_runtime_registry.json | Updates 0056 runtime/validation/observation markers to the new contract surfaces. |
| tests/test_supervisor.py | Adds policy-shape and 0056 runtime-closure regression tests. |
💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.
There was a problem hiding this comment.
💡 Codex Review
Here are some automated review suggestions for this pull request.
Reviewed commit: e958dff5bb
ℹ️ 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".
| "runtime_markers": [ | ||
| { | ||
| "path": "tools/supervisor_executor_adapter_policy.json", | ||
| "pattern": "\"artifact_kind\": \"supervisor_executor_adapter_policy\"" | ||
| }, |
There was a problem hiding this comment.
Keep 0056 in backlog until runtime criteria are met
With these runtime markers satisfied by only the new policy JSON/docs, build_proposal_runtime_index() now reports proposal 0056 as implemented/covered/covered with next_gap: none, so make backlog/make next-move skips it. That contradicts the same proposal's acceptance criteria, which still say runtime realization is complete only after policy-driven backend selection, pre-launch unsupported-backend failure, normalized run results feeding gates, smoke fixtures, and viewer-facing adapter artifacts exist; in the current contract-only slice those remain unimplemented, so this registry entry hides real remaining runtime work.
Useful? React with 👍 / 👎.
| This document is the first SpecGraph-side contract surface for proposal | ||
| `0056_supervisor_executor_adapter_gateway`. | ||
|
|
||
| The gateway is a launch-and-observe boundary for nested supervisor executors. It | ||
| does not implement a BYOK demo, a SpecSpace UI, a container runner, or an | ||
| alternate executor backend. It defines the request and report shapes that future | ||
| runtime implementations must use when they connect external executors to | ||
| SpecGraph. |
There was a problem hiding this comment.
Synchronize the new contract with DocC
This new contract is published technical guidance for future executor implementations, but the commit does not add a corresponding Sources/SpecGraph/Documentation.docc/ page or update tools/docc_sync_contract.json. AGENTS.md requires DocC to stay synchronized whenever docs/ changes affect published technical guidance, so the public DocC docs will omit this executor adapter contract while the repository docs present it as canonical.
Useful? React with 👍 / 👎.
| "required_fields": [ | ||
| "request_id", | ||
| "workspace_root", | ||
| "target_ref", | ||
| "provider_config_ref", | ||
| "policy_envelope", | ||
| "capability_envelope" |
There was a problem hiding this comment.
Carry the selected backend in executor requests
When an operator selects any non-default or experimental executor, this request contract has no backend_id/executor selector field to carry that choice into the gateway. That leaves future implementations relying on out-of-band state despite the policy requiring explicit experimental backend selection and unsupported-backend rejection before launch, and it also makes reports harder to audit against the backend that was actually requested.
Useful? React with 👍 / 👎.
Summary
Motivation
Goals
0056as the current in-repo anti-corruption layer between SpecGraph and possible future SpecAgent runtime concerns.Changes
tools/supervisor_executor_adapter_policy.json.docs/supervisor_executor_adapter_gateway_contract.md.tools/proposal_runtime_registry.jsonmarkers for proposal 0056.Validation
Commands run:
Results:
make next-movenow points to 0057.Risks / Notes
Checklist