Skip to content

Keep and score pages a benchmark run writes, and record scenario 11 - #21

Merged
pekral merged 2 commits into
masterfrom
chore/evals-keep-written-pages
Nov 12, 2026
Merged

pekral merged 2 commits into
masterfrom
chore/evals-keep-written-pages

Conversation

@pekral

@pekral pekral commented Nov 12, 2026

Copy link
Copy Markdown
Owner

What this changes

The benchmark now keeps and scores the Markdown pages an agent writes besides the README, and scenario 11 has its first recorded run under Claude Code. Both close the TODO list of #18.

Why

Since #16 the skill can move an oversized section to docs/<slug>.md. The runner copied only README.md out of the workspace, and the scorer resolved links against the original fixture, so the README's link to a moved page counted as a broken link and the page's own links were never checked.

  • tests/evals/run.mjs copies every Markdown page the agent wrote or changed — outside hidden and dependency directories — to pages/ in the case directory and lists them in meta.json as writtenPages.
  • tests/evals/score.mjs accepts those pages as link targets, checks the links inside each page from the page's own directory, and counts them as checked statements. A link still cannot escape the fixture or the pages directory.
  • tests/scenarios.md records the scenario 11 run, and notes that a copy in ~/.claude/skills/ shadows the workspace copy: the first attempt silently ran the installed 1.0.0-beta skill, which has no section split. A clean run needs --setting-sources project.

Checks

  • node --test tests/repository.test.mjs passes
  • node --test tests/evals/*.test.mjs passes — four new tests: a written page as a link target, a broken link inside a page, no escape from the pages directory, and which files the runner keeps
  • CHANGELOG.md updated under the current unreleased heading
  • A rule changed in SKILL.md is changed everywhere it appears in references/ — no skill rule changed
  • Behaviour changes exercised against the affected scenario in tests/scenarios.md, and the run recorded in its host coverage log — scenario 11, two runs

Claims this adds to the documentation

  • Scenario 11 passes under Claude Code 2.1.322. Evidence: two claude -p runs on a workspace built to the scenario's setup. Run 1 moved the 30-skill section to docs/skills.md (one #, intro, four-group index with counts, promoted headings, 54 of 54 relative links resolving), left Testing unchanged, kept the 20-rule list in the README because docs/rules.md exists, and named that collision. Run 2 produced no diff. The workspace is not committed; the setup is reproducible from the scenario text.

@pekral
pekral merged commit 486a074 into master Nov 12, 2026
2 checks passed
@pekral
pekral deleted the chore/evals-keep-written-pages branch November 12, 2026 13:15
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.

1 participant