Commit Graph

4 Commits

Author SHA1 Message Date
93f2eceb3a feat: introduce reusable app lists for rules
- AppList @Model with launch migration from legacy inline selections
  (rules with identical selections share one list; idempotent)
- rules point at one app list; Block/Allow Only belongs to the rule and
  is offered only in the Schedule editor (limit kinds sanitize to Block)
- app-list picker sheet (select / create / edit / delete with in-use
  protection) replaces the per-rule selection sheet
- Hard Mode locks app-list editing while any hard rule is blocking
- SwiftData stability: relationships are only wired between managed
  models, and unit tests share one in-memory container (fresh context +
  data wipe per test) — per-test container creation trapped
  intermittently inside SwiftData
2026-06-12 20:02:35 -04:00
05d48a9f34 fix: use concrete tertiary color for row chevrons inside tinted buttons 2026-06-12 18:43:59 -04:00
e91d8344a9 refactor: rename app from Severed to OpenAppLock
Full rename ahead of App Store submission: project, targets, bundle
identifiers (dev.bchen.Severed -> dev.bchen.OpenAppLock), entitlements
file, app entry point, user-facing onboarding strings, test helpers,
and docs. Verified: all 62 unit tests pass.
2026-06-12 18:05:06 -04:00
0242e0a9d3 docs: add agent guide (AGENTS.md) and remove reference recording
- AGENTS.md: project context for agents — architecture, domain facts
  (schedule math, hard mode policy, shields), build/test via Xcode MCP,
  TDD workflow expectations, UI-test harness (launch args, seed
  scenarios, accessibility identifiers, XCUI gotchas), known gaps
- CLAUDE.md points to AGENTS.md
- Delete the Opal reference screen recording (spec already captures it)
  and drop the video patterns from .gitignore
2026-06-12 15:22:12 -04:00