Skip to content

feat(bench): add a pinned wiki snapshot for the wiki knowledge level - #465

Closed
e54-bot wants to merge 1 commit into
feat/414-pi-devin-adaptersfrom
feat/414-wiki-snapshot
Closed

e54-bot wants to merge 1 commit into
feat/414-pi-devin-adaptersfrom
feat/414-wiki-snapshot

Conversation

@e54-bot

@e54-bot e54-bot commented Sep 30, 2026

Copy link
Copy Markdown
Collaborator

Refs #414. Stacked on #464 (base is feat/414-pi-devin-adapters); retarget to main when #464 merges.

The wiki knowledge level had no data source: there is no local wiki, only the Workshop.codes wiki online and its Markdown mirror at md.wrightkit.dev. This adds a pinned snapshot of the mirror.

  • agent_bench.py wiki-snapshot [--dir DIR] reads manifest.json, fetches each article once, and writes articles/, index.md, NOTICE.txt, and SNAPSHOT.json (per-document SHA-256, manifest hash, and a snapshotSha256 over the sorted slug/hash pairs). It refuses to write into a directory that already holds a snapshot, and rejects slugs that are not [A-Za-z0-9_-]+.
  • A run with knowledge wiki now requires --wiki-dir to hold a SNAPSHOT.json, links it as ./wiki, and records environment.wiki (source, fetch time, hash, document count) in the result, so results cite the exact documentation the agent saw.
  • Fetching goes through curl: the mirror returns 403 to Python's HTTP client (urllib, with or without a custom User-Agent) and 200 to curl.

Scope of the corpus: the mirror's manifest currently lists 24 articles (single-action and value notes, a few reference tables, and tutorials), so the wiki level tests a small, partial reference. That is what the wiki has today, and the benchmark should say so instead of implying full API documentation.

Licensing: the content is the Workshop.codes wiki and follows its Terms of Service, as workshop-md-converter states. The snapshot is local, written to ~/.cache by default, and never committed; NOTICE.txt says so.

Verification: 29 tests pass. The snapshot tests run against a local HTTP server (stable identity across two snapshots, pinned directories, unsafe slugs refused, wiki level requires a snapshot); another test checks that the harness links the snapshot, records its identity, and does not count ./wiki as an unsafe edit. I did not run a real snapshot; that downloads the articles to a local directory and is left to whoever runs the evaluation.

Refs #414. wiki-snapshot fetches the Markdown mirror once into a local directory with per-document hashes and a snapshot hash. Runs with knowledge wiki require a snapshot and record its identity. Fetching goes through curl because the mirror returns 403 to Python's HTTP client.
@Teakowa Teakowa closed this Sep 30, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

Development

Successfully merging this pull request may close these issues.

2 participants