Repository navigation
Keep cancelled output out of delivered evidence - #412
Merged
Merged
Conversation
jserv
force-pushed
the
fix/cancelled-interviewer-evidence
branch
from
October 21, 2026 10:47
d230db4 to
aa43ba7
Compare
Generated interviewer transcription used to survive queued audio cuts as ordinary dialogue. Recovery and assessment could therefore assume a question or hint reached the candidate even when its remaining audio was discarded. There is no word-to-audio alignment to justify retaining an alleged heard prefix, and native capture does not prove audibility. Record cancellation separately from raw transcript text and omit affected whole turns in model prompt views. Preserve raw words for independence checks, transcript identity, archive search and byte paging; archive rows and continuations carry explicit delivery uncertainty. Cover interruption, stale playout, thinking holds, pause and socket handoff. A cut of a running generation marks fragments until its completion; a cut of completed or stalled output marks fragments until the next audio, since transcription trails audio and that completion may never come. A cut that stops nothing marks nothing. A cut seals the line it marks, so a reply opens its own line instead of joining omitted text ahead of the candidate words that cut it. Recovery adds the uncertainty to what it shows of the behavioral opening, and negative follow-up outcomes stay unknown when delivery is unclear. Document the evidence policy and advance bundle 39 with live prompt 30 and report prompt 23. Rubric 1, report schema 3, candidate speech, media behavior and browser transcript presentation retain their semantics, except that a sealed line can split one generation into two rows. Validate with the full credential-free gate. Every delivery regression passes, and temporary breaks of each marking, window, sealing and continuation rule are rejected by a test. Credentialed and ignored media probes remain outside this validation.
jserv
force-pushed
the
fix/cancelled-interviewer-evidence
branch
from
October 21, 2026 12:16
aa43ba7 to
3142324
Compare
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Interviewer transcription describes generated words, not what the candidate heard. When queued audio is cut by an interruption, a stale-playout drop, a thinking hold, a pause or a socket handoff, the transcript used to keep those words as ordinary dialogue, so recovery, interim review, the phase judge and the report could assume a question or hint was delivered. This records delivery uncertainty beside the unchanged raw transcript, keyed by interviewer line, and every model-facing reader substitutes a marker for the whole marked turn. Raw text stays for independence checks, grounding, search and byte paging, and conversation lookup flags affected rows and continuations.
The rules sit in
InterviewerDeliveryso every cut path shares them. A cut of a running generation marks its later fragments until its completion. A cut of completed or stalled output marks fragments until the next audio, because transcription trails audio and that completion may never come. A cut that stops nothing marks nothing. A cut seals the line it marks, so the next reply opens its own line after the candidate's words instead of joining omitted text. Words a reply sends ahead of its own first audio after such a cut cannot be told from the cut tail and stay marked; nothing after that audio is. The policy is indocs/interviewer-delivery-evidence.md, and bundle 39 carries live prompt 30 and report prompt 23.Verified with
./scripts/test.sh(all lanes, no reported skips). Each marking, window, sealing and continuation rule was broken by hand and a test failed for each. Not covered: credentialed media probes and real provider event ordering, which the conversational media benchmark measures separately.