Skip to content

fix(orchestration): boundary-fit reads show-aware ident durations (gh-#463) - #503

Merged
genwave-radio merged 2 commits into
mainfrom
fix/gh-463-show-aware-fit-read
Aug 14, 2026
Merged

fix(orchestration): boundary-fit reads show-aware ident durations (gh-#463)#503
genwave-radio merged 2 commits into
mainfrom
fix/gh-463-show-aware-fit-read

Conversation

@genwave-radio

Copy link
Copy Markdown
Collaborator

Closes #463.

🎚️ The accepted skew, revisited per the ticket: BuildBoundaryFit consulted the estimator's show-blind 3-arg overload, so inside a show the fit could read the plain ident's Exact duration while the airing renders the longer show-branded line — up to ~4s one-directional under-estimate inside the tolerance band.

🔧 Fix (the ticket's own shape): read the on-air show once per fit build via the resolver's synchronous TryGetCurrent() (one snapshot — every term in the fit describes the same show, never two snapshots straddling a boundary flip), and pass it to the 4-arg Estimate. No schedule wired / no show on air degrades to null — byte-identical to pre-fix behavior for showless stations.

📌 Pin flipped: Gh253's deliberate show-blind pin now asserts the show-aware read, and its inaccurate "no show context to offer" comment is corrected. New Gh463 coverage drives the real Orchestrator/CachingScheduleResolver chain through a capturing estimator spy: show-on-air passes the show name, grid gap passes null. Coverage verified honest by temporarily reverting the production line — the show-on-air spec fails as expected.

dotnet build GenWave.sln zero warnings; GenWave.Orchestration.Tests 325 passed / 0 failed (3 pre-existing skips).

…463)

BuildBoundaryFit consulted the estimator's show-blind 3-arg overload,
so inside a show it could read the plain ident's Exact duration while
the airing renders the longer show-branded line — up to ~4s
one-directional under-estimate inside the tolerance band. Read the
on-air show once (scheduleResolver's synchronous TryGetCurrent(), the
T241 chokepoint) and pass it to the 4-arg overload for every estimate
the fit makes.

Flips Gh253's deliberate pin to assert the show-aware read it now
documents, and adds Gh463 coverage proving the fit passes the on-air
show name when a show is active and null on a grid gap.
@genwave-radio
genwave-radio merged commit 9d8156c into main Aug 14, 2026
11 checks passed
@genwave-radio
genwave-radio deleted the fix/gh-463-show-aware-fit-read branch August 14, 2026 00:57
@github-actions github-actions Bot locked and limited conversation to collaborators Aug 14, 2026
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

boundary-fit consults the show-blind ident duration (≤~4s one-directional skew inside a show)

1 participant