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.
This commit is contained in:
18
AGENTS.md
18
AGENTS.md
@@ -1,6 +1,6 @@
|
||||
# Severed — Agent Guide
|
||||
# OpenAppLock — Agent Guide
|
||||
|
||||
Severed is an iOS Screen Time app: recurring **rules** that block selected
|
||||
OpenAppLock is an iOS Screen Time app: recurring **rules** that block selected
|
||||
apps (Schedule windows, Time Limits, Open Limits), with a **Hard Mode** that
|
||||
makes an active block impossible to lift, edit, or delete until it ends. The
|
||||
feature set is a clone of Opal's "Rules"; the presentation is bare native iOS
|
||||
@@ -9,7 +9,7 @@ feature set is a clone of Opal's "Rules"; the presentation is bare native iOS
|
||||
## Repo layout
|
||||
|
||||
```
|
||||
Severed/ App target (iOS 26, SwiftUI + SwiftData)
|
||||
OpenAppLock/ App target (iOS 26, SwiftUI + SwiftData)
|
||||
Models/ BlockingRule (@Model), RuleDraft, RuleKind,
|
||||
Weekday, RulePreset
|
||||
Logic/ Pure, heavily unit-tested:
|
||||
@@ -22,9 +22,9 @@ Severed/ App target (iOS 26, SwiftUI + SwiftData)
|
||||
RuleEnforcer (active rules → shields),
|
||||
LaunchConfiguration + SampleRules (UI-test harness)
|
||||
Views/ Native SwiftUI screens (see docs spec §6)
|
||||
SeveredTests/ Swift Testing unit suites (@MainActor — the app
|
||||
OpenAppLockTests/ Swift Testing unit suites (@MainActor — the app
|
||||
target defaults to MainActor isolation)
|
||||
SeveredUITests/ XCUITest flows (see harness below)
|
||||
OpenAppLockUITests/ XCUITest flows (see harness below)
|
||||
docs/RULES_FEATURE_SPEC.md Feature spec derived from the Opal reference
|
||||
recording; §6 maps it to the native presentation.
|
||||
Review/update this BEFORE behavior changes.
|
||||
@@ -50,14 +50,14 @@ docs/RULES_FEATURE_SPEC.md Feature spec derived from the Opal reference
|
||||
|
||||
## Build & test
|
||||
|
||||
- Open `Severed.xcodeproj` in Xcode; build/test through the **Xcode MCP**
|
||||
- Open `OpenAppLock.xcodeproj` in Xcode; build/test through the **Xcode MCP**
|
||||
tools (`BuildProject`, `RunAllTests`, `RunSomeTests` — get the tab id from
|
||||
`XcodeListWindows`). Make sure the scheme destination is an iOS
|
||||
**simulator**; a physical-device destination makes test runs hang or get
|
||||
cancelled.
|
||||
- The project uses Xcode file-system-synchronized groups: adding/removing
|
||||
`.swift` files on disk is enough, no pbxproj editing.
|
||||
- Family Controls entitlement is configured (`Severed/Severed.entitlements`).
|
||||
- Family Controls entitlement is configured (`OpenAppLock/OpenAppLock.entitlements`).
|
||||
FamilyControls/ManagedSettings compile and run on the simulator, but real
|
||||
blocking behavior is only observable on a device.
|
||||
|
||||
@@ -72,7 +72,7 @@ docs/RULES_FEATURE_SPEC.md Feature spec derived from the Opal reference
|
||||
|
||||
## UI-test harness
|
||||
|
||||
`SeveredApp` reads launch arguments (parsed by `LaunchConfiguration`):
|
||||
`OpenAppLockApp` reads launch arguments (parsed by `LaunchConfiguration`):
|
||||
|
||||
| Argument | Effect |
|
||||
|---|---|
|
||||
@@ -81,7 +81,7 @@ docs/RULES_FEATURE_SPEC.md Feature spec derived from the Opal reference
|
||||
| `-seed-scenario=standard` | Active soft rule "Work Time" + upcoming "Sleep" |
|
||||
| `-seed-scenario=hard-mode-active` | Active Hard Mode rule "Locked In" + upcoming "Sleep" |
|
||||
|
||||
Use `XCUIApplication.launchSevered(...)` (UITestSupport.swift), which also
|
||||
Use `XCUIApplication.launchOpenAppLock(...)` (UITestSupport.swift), which also
|
||||
provides `app.element(_:)` for identifier lookup across element types and
|
||||
`waitToAppear()`.
|
||||
|
||||
|
||||
Reference in New Issue
Block a user