Repository navigation
feat: expose stable surface and workspace IDs in catalog reads - #13247
Conversation
|
Warning Review limit reachedNext included review available in 9 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 (10)
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 |
|
All contributors have signed the CLA ✍️ ✅ |
|
Local conformance evidence for this production PR (Tact #81 / PR #92): I exercised the installed native tagged app using owned disposable workspaces. Ten live checks passed: duplicate names preserve distinct surfaces; catalog joins the current panel; terminal and native-browser movement preserve the resource; close removes each local resource; a closed resource reference is rejected; native close-history restores the exact named terminal and its current catalog binding. Important correction for the regression contract: this close-history path reused the panel UUID. Recovery tests must accept the actual owner behavior, rather than require every restore to allocate a new runtime UUID. The restored current binding is the invariant. The old build did not expose stable identity fields, so these results do not validate the new fields in this PR. Provenance: native 0.64.22 (102), bundled CLI reports All owned test workspaces and temporary runtime captures were removed. Twenty pre-existing workspace IDs survived the user-authorized recovery restart; original selection was restored. Process continuity and live Cloud/Chromium daemon restart were not asserted. Production implementation and regression ownership remain here: eight real-owner Swift tests in |
|
|
Product follow-through: #13252. After this identity join lands, the next proposed CMUX slice is |
e77a6b1 feat: add current-work reads and Find Work (manaflow-ai#13269) 6386ba5 Cache Ghostty CLI helper builds across local invocations (manaflow-ai#13206) 8f6c0ea ci: measure compiled test artifact transfer cost (manaflow-ai#13172) 55092b9 docs: add a concise guide for public CMUX writing (manaflow-ai#13257) 9e7d3be fix(web): preserve locale preference during prefetch (manaflow-ai#13255) b093335 build: skip unchanged diff sidecar builds (manaflow-ai#13212) b79d77d perf: skip unchanged bundled resource builds (manaflow-ai#13209) 4c19fcb feat: expose stable surface and workspace IDs in catalog reads (manaflow-ai#13247) 95fdfd7 ci: add safe stale run janitor (manaflow-ai#13143) 0bcf003 docs: make the contributor verification ladder explicit (manaflow-ai#13242)
Summary
Catalog readers currently see runtime surface IDs but cannot join them to the stable identities CMUX persists. Add nullable
stable_surface_idandstable_workspace_idto catalog and VM-tree projection rows so readers can reconnect a surface after supported restore.Capture stable IDs with the catalog snapshot, using one owner index per read. Missing or mismatched owners return null. Existing selectors retain their meaning; Cloud mirror fields identify the local projection.
Implements #13244. The next product step is Find Work and a shared CLI read model in #13252 / #13253.
Testing
Demo Video
No visual UI change. The new fields have no verified live-build demo yet.
Checklist