Conversation
…ist nesting
Deletes the entire ListFolder vertical slice and its sidebar section. The
Lists sidebar now renders only the owned-lists tree (OwnedList.parentID
parent/child nesting via Section("Lists")), which is unaffected — the two
were independent concepts that merely both nested. The Documents "folder"
feature (FolderNode/FolderRecord/FolderTreeViewModel) is unrelated and
untouched.
Removed (8 files):
- App: ListFoldersSectionView, ListFoldersViewModel
- Domain: ListFolder model, ListFoldersService (+ tests)
- Kit: ListFoldersEndpoint, ListFolderDTO (+ tests)
Wiring:
- OwnedListsRootView: drop ListFoldersSectionView() from the sidebar List
- AppEnvironment: drop the listFolders service, the retained listFoldersAPI,
its init parameter/assignment, the live() wiring, and the doc comments
- repoint two comments that referenced the deleted ListFoldersViewModel/
listFolders (ShareLinksViewModel, AppEnvironment sharing doc)
Verification: swift test green — InterlinedKit 314, InterlinedDomain 619,
InterlinedPersistence 135 (0 failures); Decision-0003 grep = 0 real Kit
imports. App-target xcodebuild test could NOT be run this session: the
machine's DARWIN_USER_CACHE_DIR is returning EIO (getconf exit 71), so
xcodebuild aborts pre-compilation — unrelated to this change. App gate to
be confirmed once the cache-dir fault clears.
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01MQCieButVmc4o7KC6wWzEq
work-consolidation.md still listed "List Folders (cycle-safe tree)" under the already-shipped Collaboration features. The feature was removed on refactor/lists-remove-list-folders (commit 1afb89d), so the snapshot was stale. Retire the claim and note the removal + date; the owned-lists parentID parent/child nesting is a separate concept and remains. Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
…folders refactor(lists): remove the List Folders feature, keep parent/child list nesting
…fo.plist
`notarize-and-package.sh` derived APP_VERSION by reading
CFBundleShortVersionString directly out of App/Resources/Info.plist. That
file stores the *unexpanded* build variable `$(MARKETING_VERSION)` — Xcode
substitutes it at build time, so PlistBuddy returns the literal seven-
character string, not a version.
Consequences of the old behaviour, all of which only surface after a full
archive + notarization cycle has already run:
- artifacts named `InterlinedList-$(MARKETING_VERSION).pkg` / `.dmg`
- `pkgbuild --version` and `productbuild --version` given that same
literal, producing an installer with a nonsense version
- the appcast enclosure filename could never match the built artifact
Resolve MARKETING_VERSION through `xcodebuild -showBuildSettings` on the
Release configuration instead, and add a guard that hard-fails with an
actionable message when the resolved value is empty or still contains
`$(` — cheap up front, versus discovering it after notarization. An
explicit APP_VERSION override still wins, unchanged.
The header docs for APP_VERSION are corrected to match: Info.plist is no
longer read for the version.
Verification (no Swift sources touched, so the usual BDD quartet does not
apply; the script has no unit-test harness in this repo, so the three
branches were exercised directly against the real project paths):
- default resolution → `InterlinedList-0.1.0 (pkg version: 0.1.0)`
- explicit APP_VERSION → `InterlinedList-1.2.3-alpha`, honoured
- unexpanded variable → guard message, exit 1
- `bash -n` clean on all 8 scripts/*.sh
E2E gate re-run green: build SUCCEEDED, App 622/622, Kit 314, Domain 619,
Persistence 135, Decision-0003 import guard 0 hits.
Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_013tAJgfBGnnA1HgRGAWvkRK
…udit Three corrections to work-consolidation.md, all verified against code rather than assumed: 1. **G14's `ImagePrep` tail was already done** — the doc still listed it as the last open §1 follow-up. In fact the media size ceilings are server-driven end to end: `ImagePrep.Limits` + `prepare(_:limits:)`, `ContentLimits.imagePrepLimits`, both `uploadImage` call sites, and `uploadVideo`'s live `videoMaxBytes`, with `AppEnvironment` injecting `ContentLimitsService` into both services. §1 is now genuinely closed, so the §1 callout and the "where we are now" paragraph are updated to stop pointing at a finished item. 2. **Test baseline refreshed** to the counts observed 2026-09-05: Kit 314 / Domain 619 / Persistence 135 / App 622. Kit and Domain dipped from 317/628 because PR #19 deleted the List Folders tests with the feature — noted inline so the drop doesn't read as regression. 3. **§3a pre-flight audit recorded** — what was verified sound (script syntax, export options, sync-agent embed paths, Sparkle wiring, appcast minimumSystemVersion matching the 15.0 deployment target), the one blocking version-resolution bug that was found and fixed, and the two decisions left for the owner: the version number disagrees across MARKETING_VERSION (0.1.0), the appcast (0.0.1-alpha) and the tag step (v1.0.0); and SUFeedURL's path disagrees with the appcast's own comment block. Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_013tAJgfBGnnA1HgRGAWvkRK
…resolution fix(release): resolve release version from build settings, not Info.plist
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Summary
Plan / wave reference
Path ownership
Packages/InterlinedKit/**,Packages/InterlinedDomain/**,Packages/InterlinedPersistence/**per agent (or one App feature folder)PLAN.mdorORCHESTRATION.md(read-only)Tests
test_givenX_whenY_thenZ)swift test --package-path Packages/<pkg>passes locallyxcodebuild -scheme InterlinedList -destination 'platform=macOS' build testpasses locallyDocs
docs/api-coverage.mdupdated if endpoint coverage changeddocs/progress.mdupdated if a wave gate moveddocs/decisions/if architecture changed