Skip to content

fix(video-bridge): preserve fused timeline ordering - #11681

Merged
diegosouzapw merged 2 commits into
release/v3.8.51from
fix/v3850-video-fu06-timeline
Aug 28, 2026
Merged

diegosouzapw merged 2 commits into
release/v3.8.51from
fix/v3850-video-fu06-timeline

Conversation

@diegosouzapw

Copy link
Copy Markdown
Collaborator

Summary

This PR delivers the independent FU06 Video Bridge slice: it preserves the real chronology of visual observations and supplied transcript cues, keeps each successful caption attached to its source frame, derives the full contact-sheet interval, and rejects an already-aborted fusion before starting either branch.

Implementation base: ee24799e7cb54917fc2a847a90d971402518f359 (release/v3.8.50). The live release branch later advanced by one disjoint commit affecting only config/quality/eslint-suppressions.json; none of the four FU06 paths overlap that drift.

Area Delivery Result
Pre-abort Checks an already-aborted parent signal before starting video or audio callbacks Neither branch starts after cancellation
Final timeline Interleaves successful visual captions, transcript, and audioTranscript by time The rendered description follows media chronology
Transcript array Sorts the returned transcriptCues chronologically Structured and rendered timelines agree
Provenance Uses source: "audio" only for the internal fusion copy Original client, embedded, and audio-bridge provenance is preserved in the result
Deduplication Removes exact cues shared by the separately supplied and fusion transcript lanes A shared cue is rendered and returned once
Partial captions Keeps successful captions bound to the frame that actually produced them A failed or empty intermediate caption cannot shift later timestamps
Contact sheet Uses the minimum and maximum represented frame timestamps Ordering remains correct even when extracted frame timestamps arrive out of order
Error boundary Restricts the partial-failure catch to the external caption callback Internal timeline-construction errors are not silently swallowed

TDD evidence

Regression RED GREEN
Already-aborted fusion starts no callbacks 0/1 1/1
Chronological video/audio rendering 0/1 1/1
Failed or empty intermediate caption keeps source timestamp 0/3 semantic assertions 3/3
Full contact-sheet range 0/1 1/1
Combined transcript + audioTranscript timeline 0/1 1/1
Exact cross-lane deduplication 0/1 (2 !== 1) 1/1
Unordered contact-sheet timestamps 0/1 1/1
Chronological transcriptCues array 0/1 (t0.25,t4,t2) 1/1 (t0.25,t2,t4)
Preserve client and embedded provenance 0/1 1/1

Validation

Gate Result
Focused four-file matrix (videoAudioFusion, provenance, helpers, contact sheet) PASS — 38/38
Existing describeVideoPart pre-abort regression PASS — no extraction, broker, or caption start
npm run typecheck:core PASS
Focused ESLint PASS
Prettier PASS
File-size gate PASS
git diff --check PASS
Independent Standards/Spec review PASS — 0 open findings
Broad complexity scan HOLD / INFRA — local scan reached its execution ceiling with exit 124 and produced no report; this is neither a PASS nor a proven code failure
Full unit/CI merge-candidate matrix PENDING at PR creation

Scope and independence

  • Changes exactly two production files and two regression-test files.
  • Does not add STT, remote transcription, cache behavior, log retention, or broker/FFprobe parsing.
  • Does not require FU05. FU05 owns embedded-subtitle derivation and retention hardening in a separate branch/PR; FU06 works against the released Video Bridge interfaces and can be reviewed independently.
  • Does not include deploy, homologation, merge, tag, or release publication.

PR posture

Keep this PR open in draft while CI runs. This PR does not authorize merge, auto-merge, tag, deploy, or release publication.

@diegosouzapw diegosouzapw mentioned this pull request Aug 26, 2026
@diegosouzapw
diegosouzapw force-pushed the fix/v3850-video-fu06-timeline branch from 58830fd to b83d4c9 Compare August 28, 2026 03:57
@diegosouzapw
diegosouzapw changed the base branch from release/v3.8.50 to release/v3.8.51 August 28, 2026 03:57
@diegosouzapw
diegosouzapw marked this pull request as ready for review August 28, 2026 07:35
@diegosouzapw
diegosouzapw merged commit 46b8e7a into release/v3.8.51 Aug 28, 2026
19 checks passed
@diegosouzapw diegosouzapw mentioned this pull request Sep 7, 2026
muhamadgalihsaputra pushed a commit to niyatna/NiyatnaRoute that referenced this pull request Sep 27, 2026
…e#11681)

Merged via /merge-batch (v3.8.51). Boarded and validated in a combined worktree alongside the batch's other in-flight PRs — full gate suite green (typecheck:core, lint, complexity/cognitive-complexity, file-size, changelog-integrity, focused tests including the video-bridge fusion/transcript suites). Thank you.
@diegosouzapw
diegosouzapw deleted the fix/v3850-video-fu06-timeline branch October 18, 2026 23:51
Sign up for free to 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