Phase 1 of the 2026-07-30 one-app pivot (DESIGN 0bec9a6, card c3a3ddd5):
the KanbanPro target, LaneworkPro scheme, KanbanProTests module-alias
bundle, KanbanPro/ source root and scripts/verify-editions.sh retire
wholesale. project.yml reads as a single-target file again (anchors
inlined, header rewritten in tier vocabulary).
The edition twins merge: EditionTypes -> PasteboardTypes (one
UTType(exportedAs:) home — the one app owns the family types),
EditionAbout -> AboutBox (the quiet Pro signpost survives as the About
box's one line; "…in Settings" deferred until the StoreKit phase gives
it somewhere to point). InertGitTests drops its Base prefix — the
inert-.git posture is unconditional app behavior, unsubscribed and
lapsed being one state.
Entitlements gain com.apple.security.network.client, declared now and
dormant until Pro's remotes use it; no keychain access group. The App
Group key deliberately stays — it goes with AppGroup.swift in phase 2,
since pulling it first would silently drop the app into the fallback
container. README/RELEASE.md build-and-pipeline prose updated to the
one-record world; the subscription story lands with phase 3.
1893 tests in 322 suites green.
Claude-Session: https://claude.ai/code/session_01SR4XGjmBE16ZUYWpfFHXwY
33 lines
1.7 KiB
XML
33 lines
1.7 KiB
XML
<?xml version="1.0" encoding="UTF-8"?>
|
|
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
|
|
<plist version="1.0">
|
|
<dict>
|
|
<key>com.apple.security.app-sandbox</key>
|
|
<true/>
|
|
<key>com.apple.security.files.user-selected.read-write</key>
|
|
<true/>
|
|
<key>com.apple.security.files.bookmarks.app-scope</key>
|
|
<true/>
|
|
<!-- Remotes: pull/push and auth (07-sync-collab.md), which only the git provider ever makes.
|
|
**Declared now, dormant until Pro ships** — the one-app collapse traded "the free app
|
|
provably has no network access" for "no network use until you subscribe", with eyes open
|
|
(12-editions.md ▸ The target, re-ruled 2026-07-30). It sits in the shipped entitlements
|
|
from the start because a key added later is a new provisioning profile and a new review
|
|
surface for what is meant to be a StoreKit-only change. No `keychain-access-groups`
|
|
alongside it: a group shares items *between* apps, and there is one app — Pro's
|
|
credentials go to the sandbox's own keychain, which needs no key at all. -->
|
|
<key>com.apple.security.network.client</key>
|
|
<true/>
|
|
<!-- The App Group, on borrowed time. 12-editions.md ▸ App-side state (re-ruled 2026-07-30)
|
|
removes it wholesale — the board registry and its Application Support peers home in the
|
|
ordinary sandbox container once there is one app — but the removal is the *code's* to
|
|
make, not this file's: `AppGroup.swift` still resolves its container through this key,
|
|
and pulling it first would silently drop the app into the fallback home. It goes with
|
|
that code. -->
|
|
<key>com.apple.security.application-groups</key>
|
|
<array>
|
|
<string>group.dev.rzen.indie.Kanban</string>
|
|
</array>
|
|
</dict>
|
|
</plist>
|