Skip to content

docs: weekly review 2026-07-09#9

Open
vasylenko wants to merge 1 commit into
mainfrom
docs/weekly-review-2026-07-09
Open

docs: weekly review 2026-07-09#9
vasylenko wants to merge 1 commit into
mainfrom
docs/weekly-review-2026-07-09

Conversation

@vasylenko

Copy link
Copy Markdown
Owner

Summary

Weekly documentation review for vigil. Audited all maintainer-facing docs (README.md, ARCHITECTURE.md, PRD.md, CLAUDE.md) and user-facing docs (website/privacy.html, website/index.html, website/support.html) against the current codebase (SleepManager.swift, MenuBarView.swift, VigilApp.swift, VigilTests.swift). Found one factual inaccuracy in the privacy policy.

Changes

  • website/privacy.html — Local Storage section incorrectly attributes launch-at-login to UserDefaults → fixed: The section listed "launch-at-login setting" alongside sleep mode and last active state as preferences stored in macOS UserDefaults. In the actual code, SleepManager.DefaultsKey only has three keys (sleepMode, rememberLastState, wasActiveAtQuit) — none related to login items. Launch-at-login is managed entirely by SMAppService.mainApp.register()/unregister() in MenuBarView.swift (ServiceManagement framework). Rewrote the paragraph to accurately separate the two storage mechanisms.

No Issues Found

The following checklist areas were checked and found accurate:

  • Reference AccuracyAppLauncher as @main entry point with NSClassFromString("XCTestCase") test detection, light.beacon.max.fill SF Symbol, MenuBarExtra(.window) style, @Observable class pattern — all match code exactly.
  • Configuration OptionsPrivacyInfo.xcprivacy declares NSPrivacyAccessedAPICategoryUserDefaults (reason CA92.1), matching CLAUDE.md and ARCHITECTURE.md. UserDefaults key table in ARCHITECTURE.md (rememberLastState, wasActiveAtQuit, sleepMode) matches SleepManager.DefaultsKey exactly.
  • Feature Behavior Descriptions — Sleep mode behavior tables in README.md and ARCHITECTURE.md (Display & System vs System Only, idle/display sleep blocked/allowed) match SleepManager.swift's assertion types. Error handling table matches the if isActive guard in deactivate() and try? on SMAppService calls.
  • Installation and Setup — Build/test CLI commands in CLAUDE.md, verify command (pmset -g assertions | grep Vigil), and assertion reason strings in README.md match the actual SleepMode.assertionReason values in SleepManager.swift.
  • Architecture Spec — ARCHITECTURE.md design rationale (PreventUserIdleDisplaySleep covering both idle and display sleep; @Observable over ObservableObject; MenuBarExtra(.window) over .menu; try? on SMAppService calls) all consistent with the implementation.
  • Cross-Document Consistency — macOS 15.6 requirement, Apple Silicon + Intel support, zero third-party dependencies, two-mode behavior description, and Bundle ID (serhiivasylenko.vigil) are stated consistently across README.md, CLAUDE.md, ARCHITECTURE.md, and website/index.html.

Generated by Claude Code

…rDefaults

The Local Storage section incorrectly grouped the launch-at-login setting
alongside sleep mode and last active state as UserDefaults-stored preferences.
In reality, launch-at-login is managed by the macOS ServiceManagement framework
via SMAppService.mainApp.register()/unregister() in MenuBarView.swift — it never
touches UserDefaults. SleepManager.DefaultsKey only has three keys: sleepMode,
rememberLastState, and wasActiveAtQuit.
@vercel

vercel Bot commented Jul 9, 2026

Copy link
Copy Markdown

The latest updates on your projects. Learn more about Vercel for GitHub.

Project Deployment Actions Updated (UTC)
vigil Ready Ready Preview, Comment Jul 9, 2026 12:20am

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants