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
35 lines
2.0 KiB
Swift
35 lines
2.0 KiB
Swift
import IndieAbout
|
|
|
|
/// **The About box's configuration — one of the three places the app names Lanework Pro.**
|
|
///
|
|
/// 12-editions.md ▸ Tier naming: "The free tier presents as a complete app, not a demo: Pro is
|
|
/// named in exactly three places — one line in the About box, the contextual popover line on
|
|
/// `.git` boards, and the Settings Pro section where the subscription actually lives. Nothing on
|
|
/// the welcome screen, nothing in banners." The popover line is `BoardGitNote`'s; this is the
|
|
/// About line, riding as the second line of the copyright text — `IndieAbout` renders
|
|
/// `copyrightText` as one multi-line `Text`, so the signpost is literally a line in the box, no
|
|
/// custom layout.
|
|
///
|
|
/// **One box for every tier.** The 2026-07-27 split gave Pro a twin of this file without the
|
|
/// signpost, on the reasoning that a separate Pro app pointing at itself would be noise; the
|
|
/// one-app collapse (12, re-ruled 2026-07-30) makes Pro a subscription, so the line is a pointer
|
|
/// to something a subscriber has already taken up rather than to another download — true either
|
|
/// way, and shown to everyone. It stays deliberately flat: what Pro adds, in one sentence, with
|
|
/// no call to action. It gains its "…in Settings" when the Settings Pro section it would point at
|
|
/// actually exists (the StoreKit phase); until then a direction would be a dead end.
|
|
enum AboutBox {
|
|
|
|
/// The About window's content: version/build/date from the stamped Info.plist
|
|
/// (`update_build_info.sh` — CFBundleVersion, BuildDate, BuildHash), the version line
|
|
/// opening the bundled CHANGELOG.md, and the bundled ISC LICENSE.md as the one document
|
|
/// link. Both documents are authored to the Apple inline-Markdown subset — see the files'
|
|
/// own single-line paragraphs.
|
|
static var configuration: AppInfoConfiguration {
|
|
AppInfoConfiguration(
|
|
copyrightText: "© 2026 rzen\nLanework Pro adds git-backed board history and sync.",
|
|
documents: [.license(extension: "md")],
|
|
changelogDocument: .changelog()
|
|
)
|
|
}
|
|
}
|