Skip to content

One module owns a Copy's Gaps, Repair and outcome #302

Description

@Skeyelab

What to build

Two Copies, Gaps and Repair make up one concept, but following a single Gap from the moment it opens to the Show report crosses about nine modules: the per-Copy writer, the Take session, Take.json, the Recorder's stop, the Repair queue, Take repair, Stem repair, the Show report and the Record screen's Copy summary. The wording for how a Copy turned out exists in three places. Two types describe an opened Drive (DriveAccess and DestinationAccess). The "Take NN" folder name is built in four places.

Give one module a Copy's whole story: its Gaps, its Repair, its final outcome, and the words people see for that outcome. The Show report and the Record screen read the outcome from that module. Merge the two Drive types, and build the Take folder name in one place.

ADR-0001 stands: Gaps are still written as silence, so Stems stay aligned sample for sample. This changes where the logic lives, not what is written.

Needs Eric: confirm the scope once #300 has landed, since the shared Take model changes what is left to move.

Acceptance criteria

  • Scope confirmed with Eric after One Take model for Take.json and Stem length, shared by the Show report and Reaper export #300
  • Copy outcome wording exists in one place and is used by both the Show report and the Record screen
  • One type for an opened Drive; the Take folder name is built in one place
  • Gap, Repair and Repair-queue tests run through the new module's interface
  • A Take with a Drive pulled and replugged mid-Take repairs as it does today (test, and say whether it was also checked on a device)
  • ./scripts/verify.sh passes

Blocked by

Activity

  1. added
    hitlNeeds a human: hardware, a decision or a review
    on Oct 11, 2026
  2. Skeyelab commented on Oct 11, 2026

    @Skeyelab
    MemberAuthor

    Scope set with Eric: after the Take. One Repair module (RepairQueue folded into TakeRepair), Copy and outcome words in one place, one Take name function, one Drive access type. Live Gap tracking (TakeWriter, TakeSession) is unchanged. A per-Copy type spanning the live Take was considered and not chosen. PR #312.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    hitlNeeds a human: hardware, a decision or a review

    Type

    No type

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions