Skip to content

Document the Core/Web boundary and drop unused public security schemes - #131

Merged
SaladDay merged 5 commits into
mainfrom
codex/core-web-boundary-docs
Sep 25, 2026
Merged

SaladDay merged 5 commits into
mainfrom
codex/core-web-boundary-docs

Conversation

@SaladDay

@SaladDay SaladDay commented Sep 25, 2026 •

Copy link
Copy Markdown
Collaborator

Summary

Docs phase (P5) of the Core/Web boundary. It brings repository documentation outside apps/web and docs/web in line with the three namespaces merged in #128. It also drops unused security schemes from the public OpenAPI contract.

  • API docs:
    • AGENTS.md and docs/api/README.md describe the /api/v1 credentials accurately: enrollment tokens and executor credentials are issued through /core/v1, nodes register their own credential with an enrollment token, and Core writes daemon credentials into hosted sandboxes.
    • docs/api/README.md gains a Public API section (exactly the 58 pinned routes) and a table of /api/v1 machine routes with caller and credential.
    • docs/api/public-agent-api.md keeps only x_agents_core fields. It says an application reads the model from agent.model and an explicitly selected harness from agent.x_agents_core.harness, and points self-hosted callers to the Core-key executor credential flow.
  • Stale statements removed from CONTRIBUTING.md, the getting-started guides, services/agents-api/README.md, HOSTED-SANDBOX-MANAGER.md and the runtime history/observation contracts:
    • "Web management screens pending";
    • the startup configuration read;
    • sandbox-only console forwarding;
    • console forwarding of /api/v1;
    • "public" runtime history/observation reads;
    • /v1 execution-configuration.
  • Operator guides: HOSTED-RELEASE.md and harness-selection.md no longer instruct operators to set AGENTS_API_MANAGED_RUNTIMES_FILE, which Core rejects at startup. They describe the database-owned deployment selected through /core/v1/sandbox/deployment, nodes owning Docker, and the maintenance procedure. HOSTED-RELEASE.md also states the current self-hosted path and its limits.
  • Contract: scripts/openapi-split now prunes unused security schemes in openapi.yaml as it already did for core.openapi.yaml and runtime.openapi.yaml. The only generated change removes DeploymentAdminAuth, NodeAuth and NodeEnrollmentAuth from openapi.yaml.

The structure of the install docs is intentionally unchanged. The new-user install work will restructure them. This PR makes only in-place factual fixes there.

Review

This is a docs-only change plus a two-line generator fix, so it got a self-review of the full diff following the repository's risk-based review rule. Factual claims were checked against the generated contracts, the installer, and the Core and console source.

Verification

  • Full local server gate on d9d8d28e (the exact head): passed. It runs make check plus typecheck, core-doctor, the Web unit tests and the Web build.
  • Playwright browser cases were skipped on the server (Chrome is unavailable; the skip is approved).
  • make openapi shows no drift. go test ./scripts/openapi-split ./contracts/agents-api/... passes.
  • git diff --check is clean, and a relative-link check over every changed file passes.

View with [code]smith Autofix with [code]smith
Need help on this PR? Tag @codesmith with what you need. Autofix is disabled.

The API index now lists every /api/v1 machine route with its caller and
credential, and states that /v1 is exactly the 58 pinned routes. The public
API guide keeps only the x_agents_core fields and says how an application
reads its Session's model and harness; executor credential issuance stays in
the Runtime and credential docs.

Remove statements that Web screens for Projects and keys are still pending,
that the console forwards only sandbox routes or serves the node and daemon
WebSocket, that an unpaired console or remote project connection exists, and
that a startup configuration read or Project-scoped execution configuration,
Runtime history or observation read remains. Name the Core key instead of
deployment or console credentials, point make openapi at its three outputs,
compress the removed copy rules to the kept admin_copy provenance, and add
the renamed --core-key-file installer flag to the upgrade table.
AGENTS.md now says which /api/v1 credentials come from /core/v1 and which
nodes and Core create. The public API guide separates its paragraphs and
points self_hosted callers to the operator-issued executor credential.

The Docker-hosted guide and the harness selection contract still told
operators to set AGENTS_API_MANAGED_RUNTIMES_FILE, which Core rejects. They
now describe the database-owned deployment selected through
/core/v1/sandbox/deployment, Docker nodes registered with
parsar-sandbox-node, and the drained maintenance procedure. The Docker
package cannot supply a complete Runtime release by itself, so the guide
points to the Core distribution for that.
openapi-split already pruned core.openapi.yaml and runtime.openapi.yaml to
the schemes their operations use. It now does the same for openapi.yaml,
removing DeploymentAdminAuth, NodeAuth and NodeEnrollmentAuth while keeping
the generator's formatting. make openapi regenerated only that removal.
The service README said consumers load the Docker package's image and start
Core. The package records only the Runtime image ID, not the complete
release a Docker deployment needs, so it now points to the Core
distribution and installer. The release also ships parsar-sandbox-node.

The hosted guide's acceptance limits called user-managed deployment future
work and listed restricted networks, templates and Artifacts as open. They
now state the supported network policies, templates and Artifacts, and the
qualified self_hosted path with Core-key executor credentials and its
limits.
@SaladDay
SaladDay merged commit 4e1ecd2 into main Sep 25, 2026
3 checks passed
@SaladDay
SaladDay deleted the codex/core-web-boundary-docs branch October 7, 2026 06:37
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