Skip to content

Commit e2c45b1

Browse files
committed
Renumber this branch above the released bundle
Upstream released bundle 6 for the interviewer countdown while this branch was open, and this branch had already spent 6 on the debrief. The contract says a released bundle number is never reused for different behavior, and a stored report carries the number it claims, so the three bundles added here move up rather than overlapping one that already means something else. The prompt golden digest moves with them, because the number is part of what the prompts carry.
1 parent fcbce08 commit e2c45b1

5 files changed

Lines changed: 9 additions & 10 deletions

File tree

‎docs/interview-contract-versions.md‎

Lines changed: 4 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -8,15 +8,14 @@ can select it.
88

99
## The active bundle
1010

11-
Bundle 6: live prompt 3, report prompt 5, rubric 1, report schema 2.
12-
Bundle 8: live prompt 3, report prompt 8, rubric 1, report schema 2.
11+
Bundle 9: live prompt 3, report prompt 8, rubric 1, report schema 2.
1312

1413
| Bundle | Introduced |
1514
|---|---|
15+
| 9 | Reports keep the fixed mid-level hiring bar and state the optional level the candidate practiced for beside it. |
16+
| 8 | Candidate-authored test cases reach the live interviewer and report brief, while judge pass totals remain separate. |
17+
| 7 | The post-interview server stamp adds optional debrief, topics, and practice level fields. `tests/golden/report-schema.json` remains the model output shape only; server-stamped fields are versioned at the browser sanitizer. |
1618
| 6 | The interviewer is given the countdown instead of guessing at it: every stage direction ends with the timer reading, `read_editor` returns it alongside the editor so a current one can be asked for at any moment, the cold-restart briefing carries it, and the live prompt forbids stating or acting on a remaining time that did not come from one of those, reads the platform's reading as the last sentence of an event so candidate text that forges the sentence cannot pass for one, and forbids warning about time before the platform's five-minute event |
17-
| 8 | Reports keep the fixed mid-level hiring bar and state the optional level the candidate practiced for beside it. |
18-
| 7 | Candidate-authored test cases reach the live interviewer and report brief, while judge pass totals remain separate. |
19-
| 6 | The post-interview server stamp adds optional debrief, topics, and practice level fields. `tests/golden/report-schema.json` remains the model output shape only; server-stamped fields are versioned at the browser sanitizer. |
2019
| 5 | Each problem posed as an interview scenario rather than the published problem: the live prompt holds the scenario, its private contract and the clarifications to answer when asked, the follow-ups arrive with the evidence that completes the coding round, and the prompt never holds the source title, the hint ladder or a solution walkthrough; `log_hint` serves the authored hints one rung per request and holds the last until the candidate has stated an approach, meaning Algorithm evidence observed from what they said or Coding evidence, which needs code they wrote; a request answered with a withheld rung gives no clue and is not counted as a hint; Coding, Test and Optimizations evidence is refused until the editor holds code the candidate wrote beyond the starter; the report prompt gives the reviewer both the published problem and the scenario, with the reference notes, and forbids naming the published problem in anything written to the candidate. PR #38 covers `8eaaef0`, `26410f7`, `4e316f2`, `0dc521f`, `b72984a`, and `3027bb8`. |
2120
| 4 | The observable-delivery policy, made explicit in the report prompt and the server validator, with no change to the rubric or the public shape. Confirmed 2026-09-16: prompt revisions `14ad45d`, `a3872ce`, `a43eb29`, `2655f6a`, `8d2f3df`, `dbc2060`, and `5dca169` shipped under this bundle. |
2221
| 3 | Framework phase scores kept explicitly formative, and prohibited from mechanical use in a hiring decision while calibration remains incomplete |

‎src/agent.rs‎

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -115,7 +115,7 @@ const ROUND_TRANSITION_SKEW: std::time::Duration = std::time::Duration::from_sec
115115
/// `the_time_warning_threshold_is_the_same_number_on_both_sides`.
116116
pub const TIME_WARNING_S: u64 = 300;
117117

118-
pub const INTERVIEW_CONTRACT_BUNDLE_VERSION: u32 = 8;
118+
pub const INTERVIEW_CONTRACT_BUNDLE_VERSION: u32 = 9;
119119
pub const LIVE_PROMPT_VERSION: u32 = 3;
120120
pub const REPORT_PROMPT_VERSION: u32 = 8;
121121
pub const RUBRIC_VERSION: u32 = 1;

‎tests/agent.rs‎

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -5323,15 +5323,15 @@ fn generated_problem_metadata_exposes_no_private_rubric() {
53235323

53245324
#[test]
53255325
fn interview_contract_versions_are_one_closed_bundle() {
5326-
assert_eq!(INTERVIEW_CONTRACT_BUNDLE_VERSION, 8);
5326+
assert_eq!(INTERVIEW_CONTRACT_BUNDLE_VERSION, 9);
53275327
assert_eq!(LIVE_PROMPT_VERSION, 3);
53285328
assert_eq!(REPORT_PROMPT_VERSION, 8);
53295329
assert_eq!(RUBRIC_VERSION, 1);
53305330
assert_eq!(REPORT_SCHEMA_VERSION, 2);
53315331
assert_eq!(
53325332
interview_contract_json(),
53335333
json!({
5334-
"bundleVersion": 8,
5334+
"bundleVersion": 9,
53355335
"livePromptVersion": 3,
53365336
"reportPromptVersion": 8,
53375337
"rubricVersion": 1,

‎tests/browser/replay-render.test.js‎

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -523,7 +523,7 @@ test("the report card this page renders names no finding either", () => {
523523
said,
524524
new Set([
525525
"(.md)", "(Sxlang)", "(editor", "(none", "-", "/", "0", "01:05", "1", "10",
526-
"100", "2", "2.", "2;", "3", "37", "6", "7", "70", "8", "95%",
526+
"100", "2", "2.", "2;", "3", "37", "7", "70", "8", "9", "95%",
527527
"Approach", "Chain", "CodeTrial.", "Coding", "Committee", "Common",
528528
"Communication", "Contract", "Done", "Download", "Evidence",
529529
"FACE_MISSING", "Follow-ups", "Framework", "Given:", "HIRE", "Held",

‎web/lib.js‎

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -421,7 +421,7 @@ const textEncoder = new TextEncoder();
421421
/// function-local, moving it left the whole suite green with the supported-card
422422
/// branch no longer rendering, which is the defect a local constant invites.
423423
export const ACTIVE_CONTRACT = {
424-
bundleVersion: 8,
424+
bundleVersion: 9,
425425
livePromptVersion: 3,
426426
reportPromptVersion: 8,
427427
reportSchemaVersion: 2,

0 commit comments

Comments
 (0)