User-facing improvement
A creator reviewing a cross-talk moment that makes captions unreliable already sees an
"Open caption quality review" link — the routing is implemented. But the routing is unguarded:
a future refactor could silently remove it and the creator would lose the hand-off link with no
CI failure to warn about it. This PR adds the test that preserves that hand-off.
Workflow / taste rule it advances
Clean and balance episode audio with simple controls … presented as creator-facing quality
choices. Caption-risk cross-talk is not resolved by silencing a speaker — it is handed off to
the caption quality screen where the creator reviews the actual caption lines. The fix-routing
test preserves that decision in code.
Advances #584 P1 (preview smoke tests and regression guard) and protects #583 P1
(connected preview screens).
Problem
pause-crosstalk-cleanup.html is in CLEANUP_FLOW (loads cleanup-nav.js, linked from
preview/index.html). Its evaluate() already declares:
// lines 598-608
} else if (kind.captionRisk) {
state = "caption";
issue = {
title: `${kind.title} (${moment.at})`,
action: kind.suggest,
tone: "blocker",
fixScreen: "audio-caption-quality-review.html",
fixLabel: "caption quality review",
};
Line 1037 renders the link: openLink.href = issue.fixScreen;
There is no fix-routing test. A future PR that touches evaluate() or kinds could silently
break this hand-off.
Required file changes
New file: prototype/pause-crosstalk-cleanup-fix-routing.test.js
Four guards — no changes to the HTML file:
cleanup-nav.js loaded; pause-crosstalk-cleanup in CLEANUP_FLOW
fixScreen: "audio-caption-quality-review.html" declared on the captionRisk check
audio-caption-quality-review.html exists via fs.existsSync and is in the shell
openLink.href = issue.fixScreen present in source
Verification
node prototype/pause-crosstalk-cleanup-fix-routing.test.js
node preview/shell-coverage.test.js
npm test
No UI change — creator experience is unchanged. No preview notes needed.
User-facing improvement
A creator reviewing a cross-talk moment that makes captions unreliable already sees an
"Open caption quality review" link — the routing is implemented. But the routing is unguarded:
a future refactor could silently remove it and the creator would lose the hand-off link with no
CI failure to warn about it. This PR adds the test that preserves that hand-off.
Workflow / taste rule it advances
Clean and balance episode audio with simple controls … presented as creator-facing quality
choices. Caption-risk cross-talk is not resolved by silencing a speaker — it is handed off to
the caption quality screen where the creator reviews the actual caption lines. The fix-routing
test preserves that decision in code.
Advances #584 P1 (preview smoke tests and regression guard) and protects #583 P1
(connected preview screens).
Problem
pause-crosstalk-cleanup.htmlis inCLEANUP_FLOW(loadscleanup-nav.js, linked frompreview/index.html). Itsevaluate()already declares:Line 1037 renders the link:
openLink.href = issue.fixScreen;There is no fix-routing test. A future PR that touches
evaluate()orkindscould silentlybreak this hand-off.
Required file changes
New file:
prototype/pause-crosstalk-cleanup-fix-routing.test.jsFour guards — no changes to the HTML file:
cleanup-nav.jsloaded;pause-crosstalk-cleanupinCLEANUP_FLOWfixScreen: "audio-caption-quality-review.html"declared on thecaptionRiskcheckaudio-caption-quality-review.htmlexists viafs.existsSyncand is in the shellopenLink.href = issue.fixScreenpresent in sourceVerification
No UI change — creator experience is unchanged. No preview notes needed.