Skip to content

Merge prep: drop 1.28 MB of stale docs, re-enable periphery - #440

Merged
leogdion merged 3 commits into
v1.0.0-beta.4from
beta4-merge-prep
Aug 28, 2026
Merged

Merge prep: drop 1.28 MB of stale docs, re-enable periphery#440
leogdion merged 3 commits into
v1.0.0-beta.4from
beta4-merge-prep

Conversation

@leogdion

Copy link
Copy Markdown
Member

Three independent housekeeping changes to prepare v1.0.0-beta.4 for merge. No production source is touched.

1. Remove docs/transcriptions/ — 1,272,627 bytes

FileBytes
paragraphs.json586,732
timestamps.json541,379
transcript.srt57,915
transcript.vtt51,185
transcript.txt35,416
Total1,272,627

Raw exports from the 2026-05 "CloudKit as Your Backend" dry run. Nothing builds from them and docs/README.md never linked them.

Recoverability proof.main is squash-merged, so branch history is not a preservation mechanism (see .claude/memory/feedback_check_merge_strategy_before_release_deletions.md). All five blobs were verified present on the annotated tag archive/talk-prep-2026-05-17, which is pushed to origin (6bc67f7, peeled de82483):

$ git ls-tree -r archive/talk-prep-2026-05-17 -- docs/transcriptions/
100644 blob 55b3375	docs/transcriptions/paragraphs.json
100644 blob f31f7d3	docs/transcriptions/timestamps.json
100644 blob 77d702c	docs/transcriptions/transcript.srt
100644 blob 408179f	docs/transcriptions/transcript.txt
100644 blob 0ac16ce	docs/transcriptions/transcript.vtt

Dangling link.docs/talk-feedback.md:8 was the only live reference. That file stays (it is already on main), and the reference is repointed at the archive tag rather than dropped — the doc still cites the transcript substantively in its "Audio / Delivery Cleanup" and "Brand / Spelling" sections (it even quotes a line number), so a reader who follows those sections needs a way to reach the source. git grep -n 'transcriptions/' now returns only that one resolvable GitHub URL plus the memory memo's prose mention.

2. Delete .claude/docs/MILESTONE-19-HANDOFF.md — 7,606 bytes

A session snapshot, not reference material: it points at branch claude/parallel-agents-work-trees-pbumvn and head fb84e52, both long superseded. Verified unreferenced — git grep MILESTONE-19 finds nothing outside the file, and a case-insensitive milestone.19 sweep only matches the file's own body. It is the only time-boxed file in .claude/docs/; everything else under .claude/, .agents/, and .cursor/ is untouched. Still recoverable from PR #424's commits on GitHub (added by 1411227, blob a75fbcd).

3. Re-enable periphery in Scripts/lint.sh

PR #429 gated periphery behind RUN_PERIPHERY=1 because it could no longer find SwiftPM's index store. The gate is removed and the root cause fixed.

The store's location depends on the build system, and the old comment described only one of three layouts:

  • swiftbuild — the SwiftPM default since Swift 6.2, and what Swift 6.4 uses here — writes .build/out
  • native build system writes .build/<triple>/debug/index/store
  • older toolchains wrote .build/debug/index/store

lint.sh now probes those three candidates for a v5/units directory and hands the winner to periphery 3.7.4's --index-store-path (the version pinned in mise.toml). --skip-build is passed explicitly — --index-store-path implies it, and stating it silences periphery's warning. Skipping periphery's own build is correct here because swift build --build-tests already ran earlier in the script. If no store is found the scan is skipped with an actionable message instead of failing.

The $CI and CLAUDE_CODE_REMOTE exclusions are unchanged — periphery has never run in CI on either branch and this PR does not alter that. git grep RUN_PERIPHERY is now clean.

Periphery's actual output

Plain ./Scripts/lint.sh (no env vars) now runs the scan and reports one finding:

Sources/MistKit/Models/Sharing/ShareTargetReference.swift:49:12: warning: Unused initializer 'init(from:)'

Per instruction this was not deleted. For triage: it is internal init(from schema: Components.Schemas.ShareTargetReference), so retain_public: true does not shield it — this looks like genuine dead code. The opposite direction, Components.Schemas.ShareTargetReference.init(from: ShareTargetReference) in the same file, is used (Sources/MistKit/OpenAPI/Components/Components.Schemas.RecordOperation.swift:70); only the OpenAPI-schema-to-model converter appears to have been written without a caller. Leo's call.

Periphery exits 0 on findings (no --strict), so this does not fail the lint gate — behavior matches the previously recorded clean run.

Examples/*/Scripts/lint.sh inconsistency

The three example copies still carried the old unconditional periphery scan $PERIPHERY_OPTIONS shape, which is broken under the current toolchain for the same index-store reason.

  • Examples/MistDemo/Scripts/lint.sh:66 — fixed here. MistDemo has no .gitrepo; it is an in-repo package, so the fix belongs in this PR. Not executed, since another lane is concurrently changing Examples/MistDemo/Sources/.
  • Examples/BushelCloud/Scripts/lint.sh:65 and Examples/CelestraCloud/Scripts/lint.sh:67 — deliberately left alone. Both are git subrepos with their own CI and PR flow; per .claude/memory/feedback_subrepo_fixes_belong_in_subrepo.md the same fix should be made in their own repositories and pulled back in via git subrepo. Flagging rather than fixing.

Verification

  • swift build --build-tests — clean, exit 0
  • swift test618 tests in 195 suites passed, 2.1 s
  • ./Scripts/lint.shLinting completed successfully, with periphery actually running (swift-format clean; SwiftLint 28 violations / 0 serious, pre-existing and non-fatal in non-strict mode)
  • git grep -n 'transcriptions/' — no dangling links
  • git grep -n 'MILESTONE-19' — no hits
  • git grep -n 'RUN_PERIPHERY' — no hits
  • No formatting drift: swift-format --in-place left the tree unchanged

Base is v1.0.0-beta.4, notmain.

🤖 Generated with Claude Code

@coderabbitai

coderabbitaiBot commented Aug 28, 2026

Copy link
Copy Markdown

Important

Review skipped

Auto reviews are disabled on base/target branches other than the default branch.

Please check the settings in the CodeRabbit UI or the .coderabbit.yaml file in this repository. To trigger a single review, invoke the @coderabbitai review command.

⚙️ Run configuration

Configuration used: defaults

Review profile: CHILL

Plan: Pro Plus

Run ID: 06727ad3-6457-40af-b420-84e0a8a76b1a

You can disable this status message by setting the reviews.review_status to false in the CodeRabbit configuration file.

Use the checkbox below for a quick retry:

  • 🔍 Trigger review

Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out.

❤️ Share

Comment @coderabbitai help to get the list of available commands.

@codecov

codecovBot commented Aug 28, 2026

Copy link
Copy Markdown

Codecov Report

✅ All modified and coverable lines are covered by tests.
✅ Project coverage is 81.45%. Comparing base (7018ff1) to head (8215feb).
⚠️ Report is 1 commits behind head on v1.0.0-beta.4.

Additional details and impacted files
@@ Coverage Diff @@## v1.0.0-beta.4 #440 +/- ##
=================================================
- Coverage 81.64% 81.45% -0.20% 
=================================================
Files 191 191 Lines 4719 4719 =================================================
- Hits 3853 3844 -9 - Misses 866 875 +9 
FlagCoverage Δ
mistdemo-spm-macos11.31% <ø> (ø)
mistdemo-swift-6.2-jammy11.31% <ø> (ø)
mistdemo-swift-6.2-noble11.31% <ø> (ø)
mistdemo-swift-6.3-jammy11.31% <ø> (ø)
mistdemo-swift-6.3-noble11.31% <ø> (ø)
mistdemo-swift-6.4-jammy11.31% <ø> (-0.11%)⬇️
mistdemo-swift-6.4-noble11.31% <ø> (ø)
spm80.22% <ø> (+0.10%)⬆️
swift-6.1-jammy80.03% <ø> (+0.04%)⬆️
swift-6.1-noble80.35% <ø> (+0.21%)⬆️
swift-6.2-jammy80.37% <ø> (+0.33%)⬆️
swift-6.2-noble80.13% <ø> (ø)
swift-6.3-jammy80.13% <ø> (-0.07%)⬇️
swift-6.3-noble80.24% <ø> (+0.14%)⬆️
swift-6.4-jammy80.01% <ø> (-0.07%)⬇️
swift-6.4-noble80.13% <ø> (-0.03%)⬇️

Flags with carried forward coverage won't be shown. Click here to find out more.

☔ View full report in Codecov by Harness.
📢 Have feedback on the report? Share it here.

🚀 New features to boost your workflow:
  • ❄️ Test Analytics: Detect flaky tests, report on failures, and find test suite problems.

leogdionand others added 3 commits August 28, 2026 16:15
Deletes the five conference-talk transcription exports
(paragraphs.json, timestamps.json, transcript.srt/.txt/.vtt,
1,272,627 bytes total). They are build-irrelevant artifacts of the
2026-05 "CloudKit as Your Backend" dry run and are not referenced by
docs/README.md.
All five blobs are preserved on the pushed annotated tag
archive/talk-prep-2026-05-17, so they remain recoverable even though
main is squash-merged.
docs/talk-feedback.md still cites the raw transcript in its cleanup and
brand/spelling sections, so the reference is kept and repointed at the
archive tag on GitHub rather than dropped.
Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01Xs1c8vvxjCxqZiStcmuPS2
Time-boxed WIP handoff (7,606 B) from the Claude Code web session behind
PR #424: it points at branch `claude/parallel-agents-work-trees-pbumvn`
and head `fb84e52`, both long superseded. `git grep MILESTONE-19` finds
no reference to it anywhere outside the file itself, and it is the only
file in .claude/docs/ that is a session snapshot rather than reference
material.
Still recoverable from PR #424's own commits on GitHub (added by
1411227; blob a75fbcd).
Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01Xs1c8vvxjCxqZiStcmuPS2
PR #429 gated periphery behind an opt-in RUN_PERIPHERY=1 because periphery
could no longer find SwiftPM's index store. Fix the cause instead of
skipping the check.
The store's location depends on the build system: swiftbuild (the SwiftPM
default since Swift 6.2) writes `.build/out`, the native build system
writes `.build/<triple>/debug/index/store`, and older toolchains wrote
`.build/debug/index/store`. lint.sh now probes those three candidates for
a `v5/units` directory and passes the winner to periphery's
`--index-store-path` (3.7.4, pinned in mise.toml), with `--skip-build`
stated explicitly to silence periphery's implied-flag warning. The build
step above already produced the store, so skipping periphery's own build
is both correct and faster.
The RUN_PERIPHERY opt-in and the stale explanatory comment are gone;
periphery runs by default in local runs again. The $CI and
CLAUDE_CODE_REMOTE exclusions are unchanged, so CI behavior is identical.
Examples/MistDemo/Scripts/lint.sh gets the same resolution; it is an
in-repo package, not a subrepo. Its BushelCloud and CelestraCloud
siblings are git subrepos and are left alone.
Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01Xs1c8vvxjCxqZiStcmuPS2
@leogdion
leogdion merged commit 99deeac into v1.0.0-beta.4Aug 28, 2026
81 of 83 checks passed
@leogdion
leogdion deleted the beta4-merge-prep branch August 29, 2026 12:05
Sign up for freeto join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant

@leogdion