feat(glass): File locks — seventh Basement room (P5) - #115
Conversation
Stable room `locks` shares the mail route with Directory / Front Desk but owns its own lamp, `locks -> leases` landing, hidden Office block, and pin. The one Agent Mail controller gains explicit lease read truth (loading/loaded/error + request generation): stale principal/settings/auth responses are refused, auth loss clears lease facts, a lease outage no longer erases Direct Mail/Agent-room reads, and create/release/reserve get synchronous same-tick locks in the controller instead of UI state. The lease surface states cooperative advisory truth (no filesystem enforcement claim), shows holder/shared-vs-exclusive/TTL/note/expiry, and distinguishes never-loaded, loading, error-with-retry, and loaded-empty. Proof: 22-test mounted lease suite (written red-first), MailPage room-seam and honesty tests, twelfth-shortcut byte-immutability unit proofs, and a desktop+390 e2e slice with exact reserve/release bodies, acting principal, live 8->7->6 pagination against server truth, injected lease-500 error with a counted narrow allowance, config-only pinning, disabled/restored door, reload persistence, and FL-mark/child-geometry containment. Also fixes mock lease holder_principal filter fidelity and a real 390px defect where the reserve modal's Exclusive checkbox clipped at the modal edge. Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
|
Warning Review limit reachedYou’ve reached a temporary PR review limit under our Fair Usage Limits Policy. Next review available in: 2 minutes Enable usage-based reviews in Billing to review now. Otherwise, wait until the next included review is available. How can I continue?After more reviews become available, a review can be triggered using the To avoid repeated limits, reduce automatic review volume by pausing incremental auto-reviews earlier, using label-based review opt-in, excluding WIP or generated PR titles, or requesting reviews manually when the PR is ready. If your team needs uninterrupted high-volume reviews, an organization admin can enable usage-based reviews. How do review limits work?CodeRabbit enforces per-developer PR review limits for each organization. Most developers receive the normal plan review availability. For paid Pro and Pro+ PR reviews, CodeRabbit uses adaptive limits for sustained high-volume activity. When a developer's recent PR review activity reaches the 95th percentile or higher among CodeRabbit users, additional reviews become available more gradually as earlier reviews age out of the rolling window. Please refer docs for additional details. Review details⚙️ Run configurationConfiguration used: Path: .coderabbit.yaml Review profile: CHILL Plan: Pro Run ID: 📒 Files selected for processing (14)
✨ Finishing Touches🧪 Generate unit tests (beta)
Comment |
Summary
Rehomes the advisory-lease machinery as the stable
locksroom — the seventh Basement room — per the P5 slice plan. No new controller, lease store, fetch loop, or backend concept: Directory / Front Desk keeps Front Desk and Direct Mail, Chatrooms keeps its reserve/release consumers, and File locks becomes the authoritative landing for the existing machinery.lockson the sharedmailroute (BF · File locks, blocklocks): lights exactly one lamp, landslocks -> leaseswhiledirectorystill lands Front Desk; internal Mail choices survive unrelated rerenders; leave-and-return follows the newest explicit stable room; only the matching room renders its pin.useAgentMailController: explicitleasesLoading/leasesLoaded/leasesError+ request-generation identity; stale principal/settings/auth responses refused; auth loss clears sensitive lease facts; a lease outage no longer erases Direct Mail/Agent-room reads (and vice versa);refreshLeasesretry seam; synchronous same-tick locks for create, per-lease release, and room-workspace reserve — in the controller, not UI state.locksOffice block via the shared pin primitive; twelfth-shortcut proofs with every earlier shortcut throughmemorygenuinely present (24/24 cells), byte-for-byte config immutability on refusal, honest repeat, zero lease/Mail/routing/memory/ExecAss mutations around pinning.holder_principallease filter (trimmed, blank-ignored); the reserve modal's Exclusive checkbox no longer clips at the modal edge at 390px (.mc-modal .mc-field-gridstacks at phone width, guarded by child-geometry assertions).Validation (local product proof at ade5516; CI budget-only head 25a1e92)
Browser proof captures
console.error,pageerror,requestfailed, and ≥400 responses with an empty final budget; the one injected lease-500 is excluded by a URL-scoped allowance asserted to have fired exactly once. Eleven screenshot artifacts underruntime/qa/p5-locks-slice/(locks-room/facts/error/full-canvas-refusal/pinned/office-shortcut/disabled-door/restored-door desktop; room/modal/office-door 390) were enumerated and visually inspected — that inspection caught the 390px Exclusive-checkbox clip before it shipped.🤖 Generated with Claude Code