feat(interview/debrief): correct contradicted facts in the prep file in place#2127
feat(interview/debrief): correct contradicted facts in the prep file in place#2127Schlaflied wants to merge 2 commits into
Conversation
…in place debrief.md was append-only against the role-specific prep file — it could add gaps, stories, and retractions, but had no path for the case where a live interview reveals that an existing prep-file fact (location, comp, team size, stack, reporting line) is simply wrong. Adds a new Step 1b that runs alongside Step 1's capture phase: flag direct contradictions of existing facts (distinct from new information, which still appends via the existing Steps 4/5/8), correct the original line in place using a strikethrough-plus-correction format, and resolve any inference tag (e.g. [inferred from JD]) the corrected/confirmed line was carrying. Adds test-all.mjs section 63 pinning the new step, the append-vs-correct distinction, the strikethrough-correction example, and the inference-tag resolution instruction. Closes santifer#2125
|
No actionable comments were generated in the recent review. 🎉 ℹ️ Recent review info⚙️ Run configurationConfiguration used: Path: .coderabbit.yaml Review profile: ASSERTIVE Plan: Pro Plus Run ID: 📒 Files selected for processing (1)
📝 WalkthroughWalkthroughThe debrief workflow adds Step 1b for correcting interview-contradicted prep-file facts in place, resolving inference markers, and preserving append-only handling for unrelated information. Tests verify the new documentation contract. ChangesDebrief contradicted-fact handling
Estimated code review effort: 2 (Simple) | ~10 minutes Suggested labels: Suggested reviewers: 🚥 Pre-merge checks | ✅ 5✅ Passed checks (5 passed)
✨ Finishing Touches🧪 Generate unit tests (beta)
Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out. Comment |
There was a problem hiding this comment.
Actionable comments posted: 1
🤖 Prompt for all review comments with AI agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.
Inline comments:
In `@test-all.mjs`:
- Around line 8999-9020: Strengthen the three debrief assertions around the
visible pass/fail checks: replace independent debriefMode.includes() conditions
with scoped regular expressions or exact combined phrases that require the
correction example to contain both the strikethrough and corrected Metro Hall
details, and require “[inferred from JD]” together with its resolve instruction.
Keep the assertions focused on the documented contract so unrelated text cannot
satisfy them.
🪄 Autofix (Beta)
Fix all unresolved CodeRabbit comments on this PR:
- Push a commit to this branch (recommended)
- Create a new PR with the fixes
ℹ️ Review info
⚙️ Run configuration
Configuration used: Path: .coderabbit.yaml
Review profile: ASSERTIVE
Plan: Pro Plus
Run ID: 46571bbe-e16e-4c8b-8649-9be674156973
📒 Files selected for processing (2)
modes/interview/debrief.mdtest-all.mjs
CodeRabbit flagged the santifer#2125 self-test's independent .includes() checks as satisfiable by unrelated text anywhere in the file. Replace them with scoped regexes that pin the append-vs-correct bullets to the same decision paragraph, the Metro Hall example's strikethrough+correction+ confirmation-date together on one line, and the inference-tag resolution instruction to its own guidance rather than any occurrence of the tag.
Problem
modes/interview/debrief.mdis append-only against the role-specific prep file — its own Inputs section says "append debrief notes." Every concrete instruction in the mode follows that shape: add a "Gaps to Close Before Round N" section, add stories tointerview-prep/story-bank.md, log retractions tointerview-prep/retracted-claims.md. Nothing handles the case where a live interview reveals that a specific fact already stated in the prep file is simply wrong — not a new gap, a correction to something already asserted (location, comp range, team size, reporting structure, tech/system stack).Concrete example: a prep file's header said a role was "Metro Hall, on-site" (inferred from an expired posting, tagged as such). The actual recruiter call revealed it's hybrid. The correct fix was editing that header line in place, not appending a new note under an unchanged, now-wrong claim.
Solution
Adds a new Step 1b — Check for Contradicted Facts to
modes/interview/debrief.md, running alongside Step 1's capture phase:[inferred from JD], or prose noting an expired/inaccessible source) once the interview confirms or corrects it — replacing the marker with the confirmed fact and its real source, rather than leaving a settled fact permanently marked uncertain.The Inputs section (item 9) and the Rules section both get a one-line pointer to this new step for reinforcement. No existing step's behavior changes — this is additive only.
Added
test-all.mjssection 63 (following the same mode-doc pinning convention as section 62's stated-comp wiring check) asserting: the new step exists, the append-vs-correct distinction is documented, the strikethrough-correction example format is present verbatim, and the inference-tag resolution instruction is present.node test-all.mjs: 2048 passed, 0 failed, 2 pre-existing warnings (unrelated to this change).Coordination note
Overlaps file-wise with #2122 (also touches
modes/interview/debrief.md, different section — that PR adds a transcript-input path to Step 1/Step 9, this PR adds a fact-correction step elsewhere in the mode). No content conflict expected; a mechanical rebase may be needed on whichever of the two merges second.Closes #2125
Summary by CodeRabbit
Documentation
Tests