Repository navigation
Copy words, Take names, Drive access and Repair each live in one place (#302) - #312
Merged
Merged
Conversation
…ord, Repair.Outcome.word (#302) Assisted-by: Claude Code:claude-opus-5-5 Claude-Session: https://claude.ai/code/session_013qdugNZbXwKKz5gPzzi2CL
Assisted-by: Claude Code:claude-opus-5-5 Claude-Session: https://claude.ai/code/session_013qdugNZbXwKKz5gPzzi2CL
…ationAccess (#302) Assisted-by: Claude Code:claude-opus-5-5 Claude-Session: https://claude.ai/code/session_013qdugNZbXwKKz5gPzzi2CL
…s count with a Sendable counter (#302) Assisted-by: Claude Code:claude-opus-5-5 Claude-Session: https://claude.ai/code/session_013qdugNZbXwKKz5gPzzi2CL
Ended Take in, Copy outcomes out. The Gap-filling work is private to it; the run: seam stays (the real fill and the tests' stand-in are two adapters, and the stand-in is what pins the latest Take winning). Assisted-by: Claude Code:claude-opus-5-5 Claude-Session: https://claude.ai/code/session_013qdugNZbXwKKz5gPzzi2CL
Skeyelab
enabled auto-merge (squash)
October 11, 2026 03:49
6 tasks
This was referenced Oct 11, 2026
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.
Closes #302
Scope agreed with Eric: "after the Take". Gaps are still found in
TakeWriter(on the writer thread, ADR-0002) and tracked byTakeSessionduring the Take. Nothing in the live recording path changes beyond renaming the access type.What changed (one commit each)
DestinationKind.name("Device"/"Drive"),CopyOutcome.wordandTakeMetadata.Repair.Outcome.word.CopySummary,ShowList,ShowReportandCopyCheckbuild their sentences from these, and every sentence is unchanged. The Show report is per Gap rather than per Copy, so what it shares is the Copy name and the two Repair words. "Not repaired" stays in the report.TakeMetadata.name(take:)("Take 01") replaces 11String(format: "Take %02d")calls (9 in the Kit, 2 in the App).ReaperExporter.takeNameis left alone: it is a Marker label inside ProjectExport, which only renders, not a folder name.Destinations.DriveAccessreplacesRecording.DestinationAccess. It has a publicinit(folder:stop:), andrelease()becomesend(). The App passesstore.beginAccess()straight in.end()main-actor only, which broke the App's Show-list load because it ends access inside a detached Task. The tests' release counters are now aSendableReleaseCounter.RepairQueuefolds intoTakeRepair: an ended Take goes in, Copy outcomes come out. The work that fills Gaps (fill,length,bytesToExtend) is now internal to it.StemRepairin BroadcastWave is untouched.Kept on purpose
The
run:test seam onTakeRepairstays. The real Gap fill and the tests' stand-in are two adapters. The stand-in's gate is the only test that pins "the latest Take's outcome wins" deterministically:RepairTests.laterTakeOutcomeWinspasses whichever order the Repairs finish in.How it was checked
CopySummaryword, pinned on the old code before the refactorTakeMetadata.name(take:), written first, failed before the function existedShowListTestsandCopyCheckTestssentences, andTakeFileFormatTests, which covers the report's per-Gap words.RepairTests"After a Drive fails and comes back, Repair fills the Gap and both Copies end byte-identical", plus the rest ofRepairTests, unchanged and green../scripts/verify.shpasses after rebasing onto main with Record at the input's sample rate, 96 kHz included (#195) #308, Release notes for v0.1.19 #309 and Sheets follow a new Appearance at once #310: 426 package tests, macOS and iOS Simulator builds.https://claude.ai/code/session_013qdugNZbXwKKz5gPzzi2CL