Skip to content

Document supervised worker controls and recovery - #5495

Merged
markstuart-oai merged 42 commits into
feat/codex-harnessfrom
docs/supervised-workers
Nov 5, 2026
Merged

markstuart-oai merged 42 commits into
feat/codex-harnessfrom
docs/supervised-workers

Conversation

@markstuart-oai

@markstuart-oai markstuart-oai commented Nov 3, 2026 •

Copy link
Copy Markdown
Contributor

Review stack: #5504 (CI) > #5499 (turn controls) > #5500 (receipts) > #5501 (executor) > #5502 (recovery) > #5503 (example) > #5495 (docs) > #5509 (automatic compaction during cancellation). Combined reference: #5494.

Requirements · REQ753 for documentation.

Summary

The guide shows how to change write grants between turns on a supported local Linux or macOS executor, how to restore a grant, and when an active command prevents a change. It explains the macOS host prerequisites and the fixed opening grants on remote macOS executors.

The Sessions guide explains how to restore an idle WSS checkpoint saved with writable_roots=None and network=None. Restore with those same settings on a WSS Environment, or omit the Environment. Open a new Session to use a local executor or explicit writable roots. The guide also explains when NativeAgents requires a new Session to change write grants.

Execution observations report the item kind, IDs, and status by default. The guide shows how trusted readers opt in to command, patch, and MCP details with include_execution_details=True and find the full retained record through session.items().

The guide explains explicit read roots, platform runtime reads, trusted MCP grants, and placement of the installed helpers outside writable roots. It also describes which local recovery outcomes the SDK can reconcile.

This pull request updates the docs for the worker controls in #5499, #5500, #5501 and #5502. It explains local execution, per-turn write roots, Turn.steer_exact(), UncertainCall.reconcile(), applied instruction receipts, execution history and sparse API-key limits.

The guidance distinguishes live executor details from portable receipts and explains which policy checks apply during restore. Implicit remote workspaces can move; strict policies and configured network rules still must match. It links the supervised-worker example and keeps journal ownership and publication with the application.

This docs PR is stacked on #5503. The current guidance reflects the separate exact-steering method, call-owned reconciliation helper and filtered public executor receipt fields.

Requirements

The guides explain the public APIs and their limits for local execution and write policy (REQ732), steering and recovery (REQ733), execution and instruction receipts (REQ734), and API-key limits and attention waits (REQ735).

The supervised-worker recipe also addresses the documentation side of three new acceptance records:

  • REQ779 explains how to request revisions in the same conversation.
  • REQ780 separates checking an artifact from publishing its accepted result.
  • REQ781 describes two isolated workers, reconnect, crash reconciliation and separate timing measurements.

The runnable example and its integration tests are in #5503. #5494 preserves the verified combined source.

Test plan

MkDocs built the guides and rendered the updated WSS restore rule. An earlier strict build also checked the Sessions and tools guidance for WSS and NativeAgents.

A native WSS probe restored an idle checkpoint in a different working directory and without an Environment. It rejected a local executor, explicit writable roots, and a changed network policy before sending any executor requests.

Issue number

None linked.

Checks

  • I've added new tests, if relevant
  • I've run the applicable checks in AGENTS.md, including .agents/skills/code-change-verification/scripts/run.sh when required
  • I've confirmed all required checks pass
  • I've completed the review required by AGENTS.md

@markstuart-oai
markstuart-oai force-pushed the docs/supervised-workers branch from 51194ef to afed342 Compare November 3, 2026 23:10
@markstuart-oai
markstuart-oai force-pushed the docs/supervised-workers branch from afed342 to 101bf45 Compare November 4, 2026 00:23
@markstuart-oai
markstuart-oai marked this pull request as ready for review November 4, 2026 01:03
@markstuart-oai
markstuart-oai requested review from a team, rm-openai and seratch as code owners November 4, 2026 01:03
@chatgpt-codex-connector

chatgpt-codex-connector Bot commented Nov 4, 2026 •

Copy link
Copy Markdown

Codex Review Summary

This comment shows the latest Codex review activity on this pull request.

Review Status Commit Review trigger
📝 Code Review ✅ Completed 2026-11-05T02:23:29.147543Z ae5c7ab New commits
🔒 Security Review ✅ Completed 2026-11-05T02:23:33.697273Z ae5c7ab New commits

Security findings

Advisory findings (1)

ℹ️ 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" or "@codex security review".

Codex reacts with 👀 while any review is running, comments if it has suggestions, and reacts with 👍 once all reviews finish with no findings.

@markstuart-oai
markstuart-oai force-pushed the docs/supervised-workers branch from 101bf45 to 155357b Compare November 4, 2026 01:05

@jbeckwith-oai jbeckwith-oai left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Approved at 155357b. No actionable findings in the seven documentation changes, checked against the stacked implementation at d7a076e with an independent documentation/example review.

The guides accurately describe strict steering, attention waits, reconciliation ownership, executor policy matching, execution/instruction receipts, and sparse rate-limit data. They identify the newer-wheel requirement and application-owned effect deduplication.

Static review only; no tests or candidate code executed. Hosted lint/docs checks passed; Linux/macOS native jobs remain running and Windows jobs are skipped. Leave this PR unmerged until a release includes the documented behavior, as requested.

@markstuart-oai
markstuart-oai force-pushed the docs/supervised-workers branch 2 times, most recently from 023dc6f to 579faf2 Compare November 4, 2026 04:14
@markstuart-oai
markstuart-oai changed the base branch from feat/api-key-worker-controls to feat/supervised-worker-example November 4, 2026 04:14
@markstuart-oai
markstuart-oai force-pushed the feat/supervised-worker-example branch from 57161bb to b2c6f2b Compare November 4, 2026 04:17
@markstuart-oai
markstuart-oai force-pushed the docs/supervised-workers branch from 579faf2 to b1e614b Compare November 4, 2026 04:17

@chatgpt-codex-connector chatgpt-codex-connector Bot left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

🛡️ Codex Security Review · Automatically triggered

Here are some automated security review suggestions for this pull request.

Reviewed commit: b1e614bcb3

ℹ️ About Codex security reviews in GitHub

This is an experimental Codex feature. Security reviews are triggered when:

  • You comment "@codex security review"
  • A regular code review gets triggered (for example, "@codex review" or when a PR is opened), and you’re opted in so security review runs alongside code review

Once complete, Codex will leave suggestions, or a comment if no findings are found.

Comment thread docs/sdk/tools.md Resolved

@jbeckwith-oai jbeckwith-oai left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Approved at 1737933.

Reviewed the updated documentation against its source stack. Steering examples use steer_exact; reconciliation examples preserve original call identity through call.reconcile; executor receipt documentation matches the public projection while describing retained native policy comparison. No new documentation findings. This approval does not clear the source blockers on5501; keep the release dependency.

Static review only; no candidate code or tests run. Fresh hosted CI remains pending. Leave unmerged as requested.

@markstuart-oai
markstuart-oai force-pushed the docs/supervised-workers branch from 1737933 to 911f574 Compare November 4, 2026 05:54
@markstuart-oai
markstuart-oai force-pushed the feat/supervised-worker-example branch from 114be08 to 5b32b3e Compare November 4, 2026 05:54

@jbeckwith-oai jbeckwith-oai left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

The docs/full-stack changes are clean in isolation, but the full stack still contains the recovery input-corruption issue in #5502 (comment). Please carry that fix through before merging. No additional inline finding.

Static review only; no candidate code or tests executed. Hosted CI: pending: native-linux / Native package (ubuntu-24.04), native-linux / Native package (ubuntu-24.04), native-macos / Native package (macos-latest), native-macos / Native package (macos-latest); no failed checks observed.

@jbeckwith-oai jbeckwith-oai left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

The shared physical write-root and storage protections are sound: filesystem identities cover alternate paths, checklist aliases and hard links are checked, and private runtime symlinks fail closed. Disjoint storage and write grants remain supported. Both prior worker findings are addressed: verification output is compared exactly, and Unix-only helper cases are guarded on Windows. Acceptance is persisted only after owned resource cleanup succeeds; directory identity is captured once and primary read failures survive cleanup failures. The executor startup fixture removes the parent-selected port race.

Coordinator and independent static reviews of actual old/new file contents found no actionable issue. Hosted CI on this new head remains pending; prior-head results do not qualify it. No candidate code or local tests executed.

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.

3 participants