You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
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.
D1 implemented in PR #31 at validated head 489066e. Targeted tests: 24 passed; full unit suite: 214 passed; typecheck passed. Both push and PR CI are green, including browser tests. Copilot review is pending; no merge authorization has been given.
Next-step preflight: Docker Desktop server 27.4.0 is running (overlay2/extfs). Local CLIs report codex-cli 0.153.4 and Claude Code 2.1.281; these are observations, not selected image pins. Codex auth file is present. CLAUDE_CODE_OAUTH_TOKEN and ANTHROPIC_API_KEY are absent; no credential contents were read or published. The planned authenticated Claude container startup probe requires a locally configured setup-token. User input requested for that credential dependency. D2-D5 are not marked complete; no mock probe or skipped authentication check will count as acceptance.
D1 review round 1 complete: fixed both inline findings and reproduced/fixed summary validation and deadline concerns. All four have failing-before/passing-after regressions. Current validated head: d110d81. Current results: 28 targeted tests, 218 unit tests, typecheck, and both CI runs pass; review round 2 is pending. Both inline threads are resolved. PR #31 records the review-lesson audit. No merge performed. Authenticated Claude container-probe credential remains unavailable, so D2-D5 remain pending rather than being represented as validated.
D1 review loop converged in two Copilot rounds. Round 1 fixes have failing-before/passing-after regressions; round 2 returned Findings: None and confirmed resolved inline findings. Its unsupported-Windows overview concern was reproduced with win32.relative and deferred to #36, consistent with the plan scope. Current head d110d81: 28 targeted / 218 unit / 39 browser tests pass, typecheck passes, both CI runs green, mergeable, zero unresolved threads. Review-lesson audit is in PR #31. No merge performed.
Stopped at the authenticated container-probe credential dependency: no Claude setup-token is available to this task. D2-D5 remain unimplemented and no claims of container/network/adapter isolation are made. Configure CLAUDE_CODE_OAUTH_TOKEN locally (do not paste a credential into an issue/chat), then resume D2 on a documented prerequisite branch from #31 or merged main. Original checkout is untouched; D1 worktree is /Users/maxhwang/github/codeboost-lane-d1 on codex/agent-isolation-d1.
D2 owner: Codex Lane D implementation task. Branch: codex/agent-isolation-d2, stacked on D1 validated head d110d81 because D1 is not merge-authorized. Baseline remote main is now b181d15; D2 will remain based on D1 and will revalidate after prerequisite integration. Exact proposed owned files before edit: agents/container/Dockerfile, agents/container/image.ts, agents/container/profile.ts, agents/container/probe.sh, agents/container/run.ts, test/agent-container.test.ts, test/fixtures/agent-container/**, .github/workflows/agent-isolation.yml. No runner/store/UI/common-CI/package-manifest changes. Interface: consumes D1 captured InvocationInput and prepared task-clone staging; produces a lockdown-validated container profile. D2 does not implement vendor egress (D3), adapters/cancellation/bounded output (D4), or combined gate (D5). Done when: real-Docker tests prove pinned image/startup lockdown, separated read-only Git metadata, phase-correct /work access, non-root/no capabilities/read-only root, ephemeral bounded scratch/HOME, absent host paths, Git status, and authenticated Codex/Claude startup probes. If Docker Desktop cannot enforce the planned persistent byte+inode task filesystem, startup must fail closed and the limitation will be recorded rather than mocked.
D2 opened as stacked PR #40 on D1 at validated head 17d71d0. Exact-head local evidence: authenticated real-Docker 9/9 (both providers read the mounted hidden schema value), typecheck passed, full unit suite 225/225 across 14 files. PR is mergeable with zero unresolved threads; four CI jobs are running. Full current-diff self-review found no remaining issues, and Copilot round 1 was requested. D3-D5 remain explicitly deferred in the PR; normal D2 profiles default to no network.
D2 is review-converged in PR #40 at a4bd301. Exact-head validation: authenticated Docker 15/15, full suite 231/231, typecheck and all four CI checks pass; nine review rounds ended with Findings: None and no unresolved threads. No merge is authorized. Starting D3 as a separate stacked PR.
D3 is implemented in PR #44, stacked on D2 / #40. Exact pushed head 353efb0 passed typecheck, the full suite (245/245), and authenticated Codex/Claude container probes (20/20) through vendor-only egress. CI and the required review loop are now in progress; no merge authorization has been given.
New lane D follow-up: #75. E4 (#45) recorded real planning output through the D4 adapters, and none of it passes E2 validation. The planning commands do not pass the answer schema (--json-schema / --output-schema), and with features.shell_tool=false Codex has no way to read files. #75 blocks E4 and asks for a decision on how Codex reads code in read-only phases.
Lane D is done. D1–D5 merged (#31, #40, #44, #47, #50). Follow-ups merged since then: #66 (#85, #90), #76, #81/#99 (#100), #93 (#106), #95, #97, and the closed #51 runner-contract items (#109). Recorded in docs/architecture.md, lane D row.
Activity
mchwang commentedon Sep 24, 2026
D1 implemented in PR #31 at validated head 489066e. Targeted tests: 24 passed; full unit suite: 214 passed; typecheck passed. Both push and PR CI are green, including browser tests. Copilot review is pending; no merge authorization has been given.
Next-step preflight: Docker Desktop server 27.4.0 is running (overlay2/extfs). Local CLIs report codex-cli 0.153.4 and Claude Code 2.1.281; these are observations, not selected image pins. Codex auth file is present. CLAUDE_CODE_OAUTH_TOKEN and ANTHROPIC_API_KEY are absent; no credential contents were read or published. The planned authenticated Claude container startup probe requires a locally configured setup-token. User input requested for that credential dependency. D2-D5 are not marked complete; no mock probe or skipped authentication check will count as acceptance.
mchwang commentedon Sep 24, 2026
D1 review round 1 complete: fixed both inline findings and reproduced/fixed summary validation and deadline concerns. All four have failing-before/passing-after regressions. Current validated head: d110d81. Current results: 28 targeted tests, 218 unit tests, typecheck, and both CI runs pass; review round 2 is pending. Both inline threads are resolved. PR #31 records the review-lesson audit. No merge performed. Authenticated Claude container-probe credential remains unavailable, so D2-D5 remain pending rather than being represented as validated.
mchwang commentedon Sep 24, 2026
D1 review loop converged in two Copilot rounds. Round 1 fixes have failing-before/passing-after regressions; round 2 returned Findings: None and confirmed resolved inline findings. Its unsupported-Windows overview concern was reproduced with win32.relative and deferred to #36, consistent with the plan scope. Current head d110d81: 28 targeted / 218 unit / 39 browser tests pass, typecheck passes, both CI runs green, mergeable, zero unresolved threads. Review-lesson audit is in PR #31. No merge performed.
Stopped at the authenticated container-probe credential dependency: no Claude setup-token is available to this task. D2-D5 remain unimplemented and no claims of container/network/adapter isolation are made. Configure CLAUDE_CODE_OAUTH_TOKEN locally (do not paste a credential into an issue/chat), then resume D2 on a documented prerequisite branch from #31 or merged main. Original checkout is untouched; D1 worktree is /Users/maxhwang/github/codeboost-lane-d1 on codex/agent-isolation-d1.
mchwang commentedon Sep 24, 2026
D2 owner: Codex Lane D implementation task. Branch: codex/agent-isolation-d2, stacked on D1 validated head d110d81 because D1 is not merge-authorized. Baseline remote main is now b181d15; D2 will remain based on D1 and will revalidate after prerequisite integration. Exact proposed owned files before edit: agents/container/Dockerfile, agents/container/image.ts, agents/container/profile.ts, agents/container/probe.sh, agents/container/run.ts, test/agent-container.test.ts, test/fixtures/agent-container/**, .github/workflows/agent-isolation.yml. No runner/store/UI/common-CI/package-manifest changes. Interface: consumes D1 captured InvocationInput and prepared task-clone staging; produces a lockdown-validated container profile. D2 does not implement vendor egress (D3), adapters/cancellation/bounded output (D4), or combined gate (D5). Done when: real-Docker tests prove pinned image/startup lockdown, separated read-only Git metadata, phase-correct /work access, non-root/no capabilities/read-only root, ephemeral bounded scratch/HOME, absent host paths, Git status, and authenticated Codex/Claude startup probes. If Docker Desktop cannot enforce the planned persistent byte+inode task filesystem, startup must fail closed and the limitation will be recorded rather than mocked.
mchwang commentedon Sep 24, 2026
D2 opened as stacked PR #40 on D1 at validated head 17d71d0. Exact-head local evidence: authenticated real-Docker 9/9 (both providers read the mounted hidden schema value), typecheck passed, full unit suite 225/225 across 14 files. PR is mergeable with zero unresolved threads; four CI jobs are running. Full current-diff self-review found no remaining issues, and Copilot round 1 was requested. D3-D5 remain explicitly deferred in the PR; normal D2 profiles default to no network.
mchwang commentedon Sep 24, 2026
D2 is review-converged in PR #40 at a4bd301. Exact-head validation: authenticated Docker 15/15, full suite 231/231, typecheck and all four CI checks pass; nine review rounds ended with Findings: None and no unresolved threads. No merge is authorized. Starting D3 as a separate stacked PR.
mchwang commentedon Sep 24, 2026
D3 is implemented in PR #44, stacked on D2 / #40. Exact pushed head 353efb0 passed typecheck, the full suite (245/245), and authenticated Codex/Claude container probes (20/20) through vendor-only egress. CI and the required review loop are now in progress; no merge authorization has been given.
mchwang commentedon Sep 24, 2026
D3 is implemented in #44 and review-converged on validated head
981e831637c1d19c3b4c759e18cc5ec06e8a5f33.Proceeding to D4 as a separate stacked PR.
mchwang commentedon Sep 28, 2026
New lane D follow-up: #75. E4 (#45) recorded real planning output through the D4 adapters, and none of it passes E2 validation. The planning commands do not pass the answer schema (
--json-schema/--output-schema), and withfeatures.shell_tool=falseCodex has no way to read files. #75 blocks E4 and asks for a decision on how Codex reads code in read-only phases.🤖 Generated with Claude Code
mchwang commentedon Oct 20, 2026
Lane D is done. D1–D5 merged (#31, #40, #44, #47, #50). Follow-ups merged since then: #66 (#85, #90), #76, #81/#99 (#100), #93 (#106), #95, #97, and the closed #51 runner-contract items (#109). Recorded in docs/architecture.md, lane D row.