R1A: public trust surface — read-only menu-bar app over one effective-state truth - #1
AnubisQuantumCipher wants to merge 3 commits into
Conversation
…atrix EffectiveState.compute() derives overall state strictly from evidence (R0 AuthorityGuard verdict, launchd probes, canonical target existence, ledger chain verification) with fail-closed precedence: ambiguous > conflict > degradedLedger > paused > running. New CLI: --effective-state [--json]. Category relocated to Config.swift (same module, zero semantics) so the upcoming app target shares sources without the engine @main. --state-test: 31 gates — 9-fixture matrix, 9 CLI<->model parity checks via real child invocations, fail-closed UI mapping, read-only confinement. R0 unchanged: 31/31 + 17/17. Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
…docs truth
app/DeskTidyApp.swift: MenuBarExtra over the shared EffectiveState model —
presentation only (comment-stripping CI grep proves no mutation symbols).
Read-only actions: reveal folder, reveal receipts, copy bounded diagnostic.
--smoke gives CI a headless run of the real app binary; fixture smokes assert
foreignConflict and pausedNotLoaded outcomes. scripts/build-app.sh builds the
bundle with plain swiftc (macOS 14 floor, no Xcode project).
Live-machine evidence (read-only): the app binary's smoke on this Mac reports
overall=foreignConflict against the real personal mover instead of claiming
to run. GUI pixel observation: INDETERMINATE (ad-hoc app not indexable for
screen tooling) — deliberately not claimed.
A→B→A: conflict→healthy mutation compiled, S03/S04/U03/U04 failed for the
intended reason ('Active — sole authority' under conflict), restore
byte-identical (bc479aa3…), all 31 R1A + 31 R0 + 17 self-test green.
README truth fixes per mission: undo claim → receipts language; 'smart move'
roadmap item → human-approval preview per ML authority policy; app status
stated as experimental/from-source only. R1B SMAppService migration spike
contract written (docs/R1B_MIGRATION_SPIKE_CONTRACT.md) — not implemented.
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
|
Warning Review limit reached
Next review available in: 118 minutes You've used all free OSS reviews for now. Wait for the free limit to reset to keep reviewing this public repository. 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: defaults Review profile: CHILL Plan: Pro Plus Run ID: 📒 Files selected for processing (10)
✨ Finishing Touches 💡 1🛠️ Fix failing CI checks 💡
📝 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 |
Replace the StateStore Timer/Task capture (rejected by macos-14's stricter concurrency checking) with SwiftUI's own main-isolated Timer.publish + onReceive. No behavior change: refresh on appear + every 15s. Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
R1A — first public native product surface (architect mission, DO NOT MERGE without sign-off)
One objective: a minimal menu-bar app whose displayed state is derived from the actual movement authority and watched target — never guessed from plist presence or preference state.
What's in
src/EffectiveState.swift— one read-only derivation (R0 AuthorityGuard verdict + launchd probes + canonical target existence + ledger chain verification), fail-closed precedenceambiguous > conflict > degradedLedger > paused > running. Consumed identically by CLI (--effective-state [--json]) and app.app/DeskTidyApp.swift— MenuBarExtra presentation over that model; read-only actions only (reveal folder / reveal receipts / copy diagnostic).--smokegives CI a headless run of the real app binary.scripts/build-app.sh— plain-swiftc bundle build, macOS 14 floor, no Xcode project.--state-test): 9-fixture matrix, CLI↔app parity via real child invocations, fail-closed UI mapping, read-only confinement. CI additionally smokes the app under conflict + clean fixtures and greps the app surface for mutation symbols (comment-stripped).Evidence highlights
overall=foreignConflictagainst the real coexisting personal mover — it refuses to claim DeskTidy is running. GUI pixel observation: INDETERMINATE (ad-hoc bundle not reachable by screen tooling) — deliberately not claimed.bc479aa3…); all green (31 R1A + 31 R0 + 17 self-test).--r0-test31/31,--self-test17/17 at every checkpoint.Deliberately out of scope (stop conditions honored)
Native notifications, Undo, App Intents, Spotlight, SMAppService migration (spike contract only), OCR/embeddings, updater, packaging/distribution.
🤖 Generated with Claude Code