Skip to content

fix(codeceval): honest empty diff reports; size cli: requests by channel - #476

Merged
inth3shadows merged 4 commits into
mainfrom
auto/terse-eval-hygiene
Sep 27, 2026
Merged

inth3shadows merged 4 commits into
mainfrom
auto/terse-eval-hygiene

Conversation

@inth3shadows

Copy link
Copy Markdown
Owner

Summary

  • fluency --diff cannot run from any corpus in the repo — none has ever been committed, and the only same-tool repeat generates zero questions #266 (a): _build_diff_style_report now names one of three empty states: no model configured / no same-tool pairs / N pairs that generated no question. The old single hint is gone. New fluency.diff_pairs / fluency.text_diff_pairs (pulled out of the harnesses, so the pairing logic is unchanged) give the CLI the pair count. Part (b), committing a corpus, is being closed as obsolete.
  • Backlog tracker: small defects and follow-ups #450 items covered:
    • request_tokens counts the tool-channel instruction and tool defs for cli: models. Now it follows the answer channel through a shared _channel_instruction, which _codec_turn also uses. The claude -p preamble part is not covered: still not counted, and the docstring says so.
    • _codec_complete fallback branch: added a direct test (the _codec_answered fallback was already pinned by test_R7_legacy_rows_fall_back_to_trials_minus_fails).
    • Stale docs: the min_paired comment (report.py) now names _CODEC_MIN_QUESTIONS, and the _codec_turn docstring now notes the claude -p preamble.
    • Pre-flight refusal message branches on answer_channel.
    • "Two tests can't fail": already fixed by fix(codeceval)!: measure the real reader; the codec verdict proves harm two ways and ignores lost answers #449. Mutation-checked: test_the_primer_counts_toward_the_terse_arms_input_limit (drives run_codec_fluency) and test_an_UNSAFE_row_names_lost_calls_too both fail when their code is removed. No change needed.
    • Not touched: _TEXT_INSTRUCTION duplication (pending decision), and the mixed cli:/gateway SAFE-row compliance line.

Test plan

  • uv run ruff check .: clean. uv run mypy: clean.
  • uv run pytest -q: 2718 passed.

Refs #450
Fixes #266

- Diff/text-diff reports name one of three empty states (no model,
  no same-tool pairs, N pairs that generated no question) instead of
  one conflated hint; the CLI passes the pair count.
- request_tokens/oversized_arms follow the answer channel: a text
  backend is sized with _TEXT_INSTRUCTION and no tool definitions.
- Pre-flight refusal wording branches on the answer channel.
- Direct test for _codec_complete's legacy (trials - fails) fallback.
- Correct the min_paired comment and _codec_turn docstring.

Refs #450
Fixes #266
- The empty text-diff report names its own cause (no lossless text
  diff) instead of the JSON record-list advice.
- Text-channel request sizing adds _CLI_PREAMBLE_TOKENS (3131, the
  figure recorded in fluency.cli_answerer; not re-measured).

Refs #450
@inth3shadows
inth3shadows merged commit ab9d233 into main Sep 27, 2026
7 checks passed
@inth3shadows
inth3shadows deleted the auto/terse-eval-hygiene branch September 27, 2026 02:45
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

fluency --diff cannot run from any corpus in the repo — none has ever been committed, and the only same-tool repeat generates zero questions

1 participant