Collapse the edition split — one target, twins merged, verify-editions retired
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
This commit is contained in:
@@ -19,11 +19,11 @@ import Foundation
|
||||
/// ### Why it lives in `LiveStore/` and not beside the announcement
|
||||
///
|
||||
/// 10 says announcements "reuse the auto-committer's summarizer" and 06-history-undo.md says the
|
||||
/// committer synthesizes its commit messages from the same comparison. The committer is Pro-edition
|
||||
/// committer synthesizes its commit messages from the same comparison. The committer is Pro-tier
|
||||
/// work (pro-m1) and does not exist yet, so the summarizer is built here first, in the layer both
|
||||
/// consumers can reach: base compiles `Kanban/`, Pro compiles `Kanban/` *plus* `KanbanPro/`
|
||||
/// (12-editions.md ▸ Targets), so a type in the store layer is available to the committer by
|
||||
/// construction while a type in `KanbanPro/` would not be available to the announcer. It imports
|
||||
/// consumers can reach: the store layer is below the history providers, so it is available to the
|
||||
/// committer by construction, where a type living inside the git provider would not be reachable
|
||||
/// from the announcer (12-editions.md ▸ The provider seam). It imports
|
||||
/// `Foundation` alone and touches no view, no window, and no `NSAccessibility` — the phrasing is
|
||||
/// `AccessibilityPhrases`' job, and pro-m1's message composer will phrase the very same counts
|
||||
/// differently without either of them knowing about the other.
|
||||
|
||||
Reference in New Issue
Block a user