Skip to content

fix(knowledge): record a metadata versus probed duration mismatch in video-digest watch state #7747

Closed

Description

@kyle-sexton

Parent

Refs #6047

Depends on

  • none: on the frontier now

Outcome

When a video's metadata duration and its probed media duration disagree (observed on a post-live stream: metadata 10446 s, served edit 3995 s), the watch run records both side by side, so a slice reader who sees 2:54:06 in the metadata and a 66-minute transcript can tell why. The pipeline already uses the probed duration; only the record is missing. (Gap 9 of #6047, observed, not reproduced.)

Constraints:

  • Never auto-install faster-whisper; ASR stays optional and detected at runtime.
  • Tests must not run a real Whisper model; stub runAsr and detection.
  • Bump the knowledge plugin version above whatever main holds at merge time and add a knowledge CHANGELOG entry. If vendored code under the knowledge plugin's vendor/ is touched, the vendor version-bump check applies too.

Key interfaces

  • Watch run state (run-state/watch.json) and the slice README.
  • The threshold for "differ" is set in this item and stated with its basis in the PR.

Done when

  • When the two durations differ by more than the threshold, watch.json records both (test).
  • When they agree within the threshold, nothing extra is recorded (test).
  • The slice README states the mismatch when one is recorded.
  • The video-digest extraction suite passes.

Out of scope

  • Changing which duration the pipeline uses.

Activity

  1. added theissue type on Oct 17, 2026
  2. added
    priority: highSignificant impact, or blocks an imminent release; staff this cycle.
    needs-humanHuman-in-the-loop required; autonomous sessions must not resolve items carrying this.
    on Oct 17, 2026
  3. kyle-sexton commented on Oct 17, 2026

    @kyle-sexton
    MemberAuthor

    Ratified in the owner's batch of decomposed children (2026-10-17).

  4. removed
    needs-humanHuman-in-the-loop required; autonomous sessions must not resolve items carrying this.
    on Oct 17, 2026
  5. kyle-sexton commented on Oct 18, 2026

    @kyle-sexton
    MemberAuthor

    Agent Brief

    Type: Feature
    Summary: Record a metadata versus probed duration mismatch in video-digest watch state.

    Current behavior:
    When a video's metadata duration and its probed media duration disagree (seen on a post-live stream: metadata 10446 s, served edit 3995 s), the pipeline uses the probed duration but records nothing, so a reader cannot tell why the transcript is shorter than the metadata says.

    Desired behavior:
    When the two durations differ by more than a threshold, watch run state records both values side by side and the slice README states the mismatch. When they agree within the threshold, nothing extra is recorded. The threshold is chosen in this change and its basis is stated in the PR.

    Key interfaces:

    • Watch run state (run-state/watch.json): metadata and probed duration fields when they differ.
    • The slice README's mismatch line.

    Acceptance criteria:

    • A vitest case: durations differing by more than the threshold record both in watch state.
    • A vitest case: durations within the threshold record nothing extra.
    • A vitest case or fixture shows the slice README states a recorded mismatch.
    • scripts/run-test-file.sh exits 0 on each changed vitest file.
    • A knowledge changelog fragment is added and scripts/check-changelog-fragments.sh exits 0.

    Out of scope:

    • Changing which duration the pipeline uses.

    This was generated by AI during backlog shaping. Held, not admitted: this brief is drafted and checked, but the issue lane would stop on it today. It is admitted, by adding agent-ready, once the lane can run the skill-quality check scripts (Automation Lanes' PR #7912). Held under the owner's 2026-10-18 lane-narrowing course correction.

  6. added
    needs-humanHuman-in-the-loop required; autonomous sessions must not resolve items carrying this.
    agent-readyFully specified and briefed; eligible for autonomous pickup from the frontier.
    work-class: scopedA briefed fix or small feature; blast radius bounded by the brief, tests exist.
    and removed
    needs-humanHuman-in-the-loop required; autonomous sessions must not resolve items carrying this.
    on Oct 18, 2026
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

    agent-readyFully specified and briefed; eligible for autonomous pickup from the frontier.priority: highSignificant impact, or blocks an imminent release; staff this cycle.work-class: scopedA briefed fix or small feature; blast radius bounded by the brief, tests exist.

    Type

    Fields

    No fields configured for Task.

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions