Show what was knowable
Include the task, earlier turns, tool calls, and tool results available before the target action. Exclude later tests and final answers.
Give the annotator only the observable conversation prefix and the action that already happened. It writes a short rationale explaining that action—without peeking at the future.
Test expects negative timeouts to be rejected. The current parser returns int(value) directly.
<think> … </think>
Edit the parser to validate seconds < 0 and raise ValueError.
CoT completion is an annotation problem, not hidden-state extraction. The action is fixed before annotation, and future observations are excluded by construction.
Include the task, earlier turns, tool calls, and tool results available before the target action. Exclude later tests and final answers.
The annotator receives the exact action that occurred. Its job is to justify that decision, not replace it with a hindsight-informed action.
Every output carries synthetic_rationale_not_teacher_cot. It may train a student, but is not the teacher's private thought.
It generates a compact, causal rationale from observable evidence—the same provenance distinction used by the Fable + Kimi trace pipeline.
The annotator sees only the left side plus the recorded action. The right side is newly generated annotation, never a claim about hidden teacher reasoning.
parse_timeout accepts negative values, but timeouts must be non-negative. Fix it while preserving positive-value behavior.
src/config.py:41:def parse_timeout(value):
src/config.py:42: return int(value)
tests/test_config.py:18:pytest.raises(ValueError)
tests/test_config.py:19:parse_timeout("-1")EDIT src/config.py
seconds = int(value)
if seconds < 0:
raise ValueError("timeout must be non-negative")
return secondsValueError matches the test expectation visible in the prefix.EDIT src/config.py
seconds = int(value)
if seconds < 0:
raise ValueError("timeout must be non-negative")
return secondsrationale_provenance: synthetic_rationale_not_teacher_cot future_visible: false action_source: recorded_teacher_action
Use an Anthropic API key to annotate one prefix/action pair. One ordinary Messages API call returns one provenance-labeled synthetic rationale.
Rationale and recorded action stay separate until export.
—
—