fix(container): persist Codex home separately - #3788
Conversation
Preserve complete recovery records across handled publication failures and keep existing partial-purge restoration boundaries. Refs #3778. Local checks deferred to final stack CI by maintainer instruction.
|
Caution Review failedThe pull request is closed. ℹ️ Recent review info⚙️ Run configurationConfiguration used: Path: .coderabbit.yaml Review profile: ASSERTIVE Plan: Team Run ID: 📒 Files selected for processing (14)
📝 WalkthroughWalkthroughThe changes add persistent Codex Docker state and catalog coverage. They also replace direct cleanup writes with atomic publication and add failure-path tests and documentation. ChangesDocker Codex persistence
Atomic cleanup publication
Estimated code review effort: 4 (Complex) | ~45 minutes Sequence Diagram(s)sequenceDiagram
participant Client
participant Hub
participant CodexHome
Client->>Hub: Authenticated GET /v1/catalog
Hub->>CodexHome: Resolve and read opencodex-catalog.json
CodexHome-->>Hub: Catalog bytes or missing catalog
Hub-->>Client: Catalog response or catalog_not_found
sequenceDiagram
participant Cleanup
participant ManifestStore
participant Restore
Cleanup->>ManifestStore: Publish manifest through a temporary file
ManifestStore-->>Cleanup: Replacement succeeds or fails
Cleanup->>Restore: Restore using the retained complete manifest
Restore-->>Cleanup: Restored files or fail-closed result
✨ Finishing Touches📝 Generate docstrings
🧪 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 |
|
✅ Deterministic PR hygiene checks passed. |
리뷰 · 우선순위 62 / 80현재 이 PR은 base는 #3786 브랜치(
메인테이너의 판단이 필요한 지점
너의 추천 이 댓글은 grok-bot이 작성했습니다 |
Codex Review SummaryThis comment shows the latest Codex review activity on this pull request.
ℹ️ About Codex in GitHubYour team has set up Codex to review pull requests in this repo. Reviews are triggered when you
Codex reacts with 👀 while any review is running, comments if it has suggestions, and reacts with 👍 once all reviews finish with no findings. |
Summary
/home/bun/.codexin its owncodex-statevolume alongside the existing OCX volume. Both are writable under the read-only container root and are provisioned for the existing non-root user.11248902d,7fa221f64,632ce8c6a, with isolated child-process serializer regressions and documentation clarifications. Closes [Bug]: Docker /v1/catalog uses an unpersisted read-only CODEX_HOME #3746.Track 3 manual stack, layer 2. Depends on #3786; this PR's base is its parent branch. No native stack registration.
Verification
git diff --cached --checkpassed. No local suites, typecheck, build or Docker run were performed, per explicit maintainer instruction.Cumulative tested source:
9ea896737bd17085ebb8a69b3320c9cace61889e, based on deveff908e0fb9452d5ff2952af1c5dafc1c4c35dd9.cli-modelsfirst-child 15-second watchdog. One unchanged-head rerun of that shard completed 3,489 cases (3,465 pass, 24 skip, 0 fail); the first models case took 943 ms. The initial failure is retained; the slow phase remains unproven and no flakiness fix is claimed.The maintainer explicitly authorizes dev admin integration and final-head-first validation for this manual chain: #3786 → #3788 → #3789 → #3790 → #3796 → #3802. Lower automatic tests are deferred with
[skip ci], not represented as passing. No local tests, typecheck, builds or suites were run; pushes used--no-verify. Merge commits preserve source ancestry and suppress duplicate lower CI; fresh head/base/actor/review checks and resulting tree checks accompany each merge.Checklist
Co-authored-by: Ingwannu ingwannu@users.noreply.github.com
Landing confirmed: merged into
devasad5285e415f76100be17e2a5f1039053f3cb3dc4. The final chain merge isf89b815090020f52089801b50f569a777bdfdc0a; its tree846b8ffc383fc0ba99486917bdfb820a0fa432baequals the tested cumulative source. Source ancestry and every merge were verified after fetchingdev.