[issue #53] Enforce the Codex main-agent frontdoor#95
Conversation
Centralize the configured state-root contract and make durable state, lock, and permission handling fail closed.
Carry checkout, principal, and projection bindings through work orders and completion gates so downstream execution cannot reuse stale authority.
Bind the worker process, checkout, profile, and projection to one approved capability and reject network or provider grants.
Verify deployment epochs and exact kernel argument vectors with two live process snapshots before promoting a managed-agent claim.
Prepare, freeze, activate, revoke, and verify one pinned Codex deployment with durable epochs and trusted runtime-home handling.
Persist one redacted, session-bound request at waiting_human and hide unbound child or worker summaries from the frontend projection.
Limit the managed frontend to typed submit, redacted projection reads, and output acknowledgement through the host-validated MCP bridge.
Record an exact-one waiting_human request and prove that the frontend canary creates no downstream execution or checkout mutation.
Create a root-bound launch record before dropping privileges and exec the reviewed zero-argument Codex session with its canonical environment.
Capture root-owned process and denial observations without promoting claims beyond the fixed Codex frontend inventory.
Bind evidence, deployment epoch, and live claim evaluation into immutable commissioned generations before activation.
Keep repository-level CLI, profile, API, and viewer expectations aligned with the deterministic frontend authority contract.
Describe deployment, commissioning, recovery, routing acceptance, and the exact limits of the managed frontend and worker domains.
Explain the launcher-only Codex target, waiting_human frontend stop, worker isolation requirement, and human-owned release gates in English and Japanese.
|
Important Review skippedToo many files! This PR contains 79 files, which is 29 over the limit of 50. To get a review, narrow the scope: Upgrade to a paid plan to raise the limit. ⚙️ Run configurationConfiguration used: defaults Review profile: CHILL Plan: Pro Plus Run ID: 📒 Files selected for processing (80)
You can disable this status message by setting the Use the checkbox below for a quick retry:
✨ Finishing Touches🧪 Generate unit tests (beta)
Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out. Comment |
Link the ready release-preparation PR by its actual GitHub number.
There was a problem hiding this comment.
💡 Codex Review
Here are some automated review suggestions for this pull request.
Reviewed commit: 4f7593feab
ℹ️ 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".
Summary
waiting_humanrequest and no downstream executionEnforcement boundary
This PR provides an
action_enforcedpath only for the release-pinned stock Codex CLI started through the installed root-owned launcher. Live process identity is checked twice against the launch record, including the exact kernel argument vector (KERN_PROCARGS2on macOS) and deployment epoch.It does not claim to control Codex App, IDE integrations, direct
codexlaunches, Claude, Cursor, Grok, or every prompt ingress. It does not ship automatic frontend-to-worker transport. Merge does not activate the host installation and does not publish v0.1.0.Validation
python3 scripts/validate_all.py: 41 suites, contract validation, and compilation passed/usr/bin/python3 scripts/validate_all.py: the same matrix passed['a b', 'c']as two elements and distinguished it from a collapsed one-element vectorgit diff --checkandgitleaks dir . --redact --no-bannerpassedHuman gates after merge
mainCODEX_HOMEand perform Codex login manuallywaiting_humanrequest with no downstream artifactsRelated to #53. This PR must not close the release issue; tagging and GitHub Release publication remain human-owned operations.