Repository navigation
ci(seed): keep the trusted seed on the Mac before the R2 upload - #15411
Conversation
|
All contributors have signed the CLA ✍️ ✅ |
|
Navigate logical layers of code changes, visualize relationships, and explore their blast radius. Warning Review limit reachedNext included review available in 3 minutes. View limit detailsLimit details: You’ve used all 10 included reviews currently available. You've used all free OSS reviews for now. Wait for the free limit to reset to keep reviewing this public repository. Review configuration: ⚙️ Run configurationConfiguration used: Repository: manaflow-ai/cmux/.coderabbit.yaml Review profile: ASSERTIVE Plan: Advanced Run ID: 📒 Files selected for processing (2)
No actionable comments were generated in the recent review. 🎉 ℹ️ Recent review info⚙️ Run configurationConfiguration used: Repository: manaflow-ai/cmux/.coderabbit.yaml Review profile: ASSERTIVE Plan: Advanced Run ID: 📒 Files selected for processing (2)
Included review availability: This review used your included allowance. Your plan provides up to 10 included reviews per hour; 1 remain after this review. 📝 WalkthroughWalkthroughThe workflow now retains the local seed before saving it to R2. The ordering test checks that seed adoption precedes retention, and that saving precedes package staging. ChangesSeed Retention
Priority: ➖ Normal Estimated code review effort: 2 (Simple) | ~7 minutes Change: Other Merge Risk: ⚪ Minimal · up to The seed is kept locally before upload, with no confirmed issue requiring a fix before merge. Security Architecture ReviewSecurity architecture risk: 🔵 Low · up to The seed is retained earlier on the trusted Mac, including when the remote upload fails. The review found no demonstrated new route for untrusted code to publish a seed, but could not verify the external archive or deployed runner configuration. Retained concerns Security review detailsSecurity Blast Radius
Trust Boundaries and Controls
Resilience and Maintainability Implications
Hardening Proposals
🚥 Pre-merge checks | ✅ 24 | ❌ 1❌ Failed checks (1 warning)
✅ Passed checks (24 passed)
Full details: Docstring CoverageExplanation Docstring coverage is 50.00% which is insufficient. The required threshold is 80.00%. Docstring coverage is scoped to functions touched by this diff. Analyzed 2 functions across 1 files. (1 skipped: 1 unsupported.) ✨ Finishing Touches 💡 1📝 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 |
CI failure attributionCI passes on Written by |
The LAN seed archive reads kept seeds from the trusted seed Mac within a minute of the keep. Keep ran after "Save seed", so every LAN seed waited on the R2 upload first (p50 160 s on 2026-09-28). Keep only clones the tree, so the kept copy is still exactly the seed the upload tars. cmuxterm-hq#658. Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
debe41c to
1ea30d7
Compare
Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
|
Reviewed the exact two-file change. Moving the APFS clone before the R2 upload preserves the same bounded seed tree, keeps product-mutating steps after both operations, and the workflow regression test pins the intended order. All required workflow guards are green; no blocking issue found. — Mochi |
|
Merge receipt for |
762c3ed Recover a Cloud machine graph stuck on an equal-cursor conflict (manaflow-ai#15328) 524ebff ci: replay the fuzz regressions on sidebar, split and window changes (manaflow-ai#15412) 818d475 Let a user's Cloud open dial even right after a background link failure (manaflow-ai#15291) 97491a7 Let the Cloud toolbar name the machine-list failure it has (manaflow-ai#15236) 0abac32 PR media: adopt CI's build only, start when CI completes, run for every app PR (manaflow-ai#15418) 7f08715 ci(seed): keep the trusted seed on the Mac before the R2 upload (manaflow-ai#15411) 5663c13 Finish the destroy work where a Cloud machine is first found gone (manaflow-ai#15359) # Conflicts: # .github/workflows/ci.yml # .github/workflows/pr-media.yml # .github/workflows/seed-derived-data.yml # .github/workflows/test-e2e.yml
The owned minis now take their j14 seeds from the LAN seed archive, which copies each kept seed off the trusted seed Mac within a minute of the keep. The keep ran after
Save seed, so every LAN seed first waited for the R2 upload: p50 160 s, p90 203 s over 120 seed jobs on 2026-09-28.This moves
Keep the seed on this Macahead ofSave seed. Keep only clones the DerivedData tree (seed_derived_data.py keep->stash), and nothing between the two steps writes to it, so the kept copy is still exactly the seed the upload tars. The product steps still come after both.One behaviour change: if the R2 upload fails, the Mac still keeps the seed. That seed is valid, and the LAN path can serve it.
seed_decide.pystill readsSave seedfor R2 coverage, so decide is unchanged.Measured context is on cmuxterm-hq#658. In short, seed age at use is set by production latency (commit to LAN archive, p50 19 to 33 min), not by transfer. This cuts about 2.7 min from that latency.
Tests:
tests/test_seed_derived_data.pynow pins keep before save and save before the product steps.test_seed_derived_dataandtest_seed_decidepass (86 tests).🤖 Generated with Claude Code
Summary by cubic
Moves the trusted seed Mac's keep step ahead of the R2 upload so the LAN archive can serve seeds to the owned minis about 160 s sooner.
seed_decide.pystill readsSave seedfor R2 coverage.Written for commit d4ea62e. Summary will update on new commits.
Summary by CodeRabbit