Skip to content

feat(evals): unscripted multi-plugin routing runner; close the host's stdin - #6

Merged
phense merged 1 commit into
mainfrom
feat/natural-evals
Nov 13, 2026
Merged

phense merged 1 commit into
mainfrom
feat/natural-evals

Conversation

@phense

@phense phense commented Nov 13, 2026

Copy link
Copy Markdown
Owner

Closes #5.

Summary

  • scripts/run_natural_evals.py: sends a case prompt exactly as written, with every plugin given by --plugin-root and --with-plugin loaded and read-only tools, and reports which skills the host loaded on its own over --runs repetitions. Cases live in evals/natural/cases/, expectations in evals/natural/expected.json; expectations never enter prompts. A load is a successful skill call or a complete read of a SKILL.md, not a mention.
  • run_host_evals.execute passes stdin=DEVNULL. A host that inherited an open stdin printed "Reading additional input from stdin..." and never started the turn; the run then timed out without a single event. This is the cause of the Codex timeouts seen earlier today.
  • README section on the two runners.

Verification

  • python3 -m unittest discover -s tests -t .: 181 tests pass (10 new).
  • python3 scripts/validate-plugin: exit 0.
  • Live: one case on Claude Code and on Codex with Writing Method and Engineering Method loaded; both loaded the expected skill. Before the stdin fix the Codex run timed out with an empty transcript.

🤖 Generated with Claude Code

… stdin

- scripts/run_natural_evals.py sends a case prompt as written with every
  given plugin loaded and read-only tools, and reports which skills the host
  loaded on its own over a number of runs
- run_host_evals.execute no longer lets the host inherit an open stdin: Codex
  then waited for more input and the run timed out without one event

Closes #5.

Co-Authored-By: Claude Fable 5.2 <noreply@anthropic.com>
@phense
phense merged commit 5d8519b into main Nov 13, 2026
2 checks passed
@phense
phense deleted the feat/natural-evals branch November 13, 2026 19:08
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.

Eval harness: add an unscripted, multi-plugin routing mode

1 participant