You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
{{ message }}
Repository navigation
fix(knowledge): record a metadata versus probed duration mismatch in video-digest watch state #7747
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.
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.
Activity
kyle-sexton commentedon Oct 17, 2026
Ratified in the owner's batch of decomposed children (2026-10-17).
kyle-sexton commentedon Oct 18, 2026
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:
run-state/watch.json): metadata and probed duration fields when they differ.Acceptance criteria:
scripts/run-test-file.shexits 0 on each changed vitest file.scripts/check-changelog-fragments.shexits 0.Out of scope:
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.