Owner: Codex Lane D implementation task. Baseline: 5eec4b5 (remote main). Build step 5 foundation; T1, T2, isolation portion of T9. Ordered PRs: D1 invocation contract and isolated clone; D2 restricted pinned container and startup probes; D3 vendor egress and phase enforcement; D4 adapters and bounded settlement; D5 combined real-Docker gate. No runner/store/UI rewiring.
D1 branch: codex/agent-isolation-d1. Exact files: agents/contract.ts, git/clone.ts, test/agent-contract.test.ts, test/agent-clone.test.ts. No overlap with PR #23. Done when: npx vitest run test/agent-contract.test.ts test/agent-clone.test.ts and npm run typecheck pass, then full unit validation on the pushed head.
Interface: immutable clone identity and trusted committed head; invocation includes phase, exact approved argv, finite deadline, attempt ID and captured context/version. Planning/questions cannot grant commands. Cancellation requests and process termination are distinct; terminal results preserve original reason and exit status. F owns current-context admission/publication and persisted compare-and-swap. D1 creates a staging clone only; D2 must relocate metadata onto a separate runner-owned filesystem and allocate bounded work storage before invocation. D1 never launches agents.
D1 dependencies: none. D2-D5 follow validated predecessor tasks on documented prerequisite branches if not yet merged. F and G production invocation remain blocked until D5 merges. Detailed evidence and review rounds will be recorded in each PR.
Owner: Codex Lane D implementation task. Baseline: 5eec4b5 (remote main). Build step 5 foundation; T1, T2, isolation portion of T9. Ordered PRs: D1 invocation contract and isolated clone; D2 restricted pinned container and startup probes; D3 vendor egress and phase enforcement; D4 adapters and bounded settlement; D5 combined real-Docker gate. No runner/store/UI rewiring.
D1 branch: codex/agent-isolation-d1. Exact files: agents/contract.ts, git/clone.ts, test/agent-contract.test.ts, test/agent-clone.test.ts. No overlap with PR #23. Done when: npx vitest run test/agent-contract.test.ts test/agent-clone.test.ts and npm run typecheck pass, then full unit validation on the pushed head.
Interface: immutable clone identity and trusted committed head; invocation includes phase, exact approved argv, finite deadline, attempt ID and captured context/version. Planning/questions cannot grant commands. Cancellation requests and process termination are distinct; terminal results preserve original reason and exit status. F owns current-context admission/publication and persisted compare-and-swap. D1 creates a staging clone only; D2 must relocate metadata onto a separate runner-owned filesystem and allocate bounded work storage before invocation. D1 never launches agents.
D1 dependencies: none. D2-D5 follow validated predecessor tasks on documented prerequisite branches if not yet merged. F and G production invocation remain blocked until D5 merges. Detailed evidence and review rounds will be recorded in each PR.