Skip to content

Make the agent API self-describing and add regression CI#43

Merged
MaxBittker merged 3 commits into
mainfrom
codex/agent-surface-docs-ci
Jul 24, 2026
Merged

Make the agent API self-describing and add regression CI#43
MaxBittker merged 3 commits into
mainfrom
codex/agent-surface-docs-ci

Conversation

@MaxBittker

@MaxBittker MaxBittker commented Jul 24, 2026

Copy link
Copy Markdown
Owner

Summary

  • replace regex API extraction with the TypeScript compiler AST and emit complete async signatures, defaults, return types, and untruncated JSDoc
  • enforce public-method parity and generated-doc drift, including the four methods previously missing from the reference
  • correct agent snippets and execution-environment guidance across combat, navigation, dialogs, mining, smithing, fishing, banking, shops, and background scripts
  • improve NPC page generation with exact spawn samples and map-square bounds
  • add root and webclient typechecks, focused regression tests, and GitHub CI; fix the two existing banking test nullability errors

Why

Recent benchmark transcripts repeatedly treated async scans as synchronous, copied ctx-based snippets into execute_code, and relied on stale state paths or navigation guidance. This makes the shipped documentation an executable contract and prevents API drift from recurring.

Validation

  • bun run check
  • root TypeScript check passes
  • webclient TypeScript check passes
  • existing chat-history and click-dialog suites pass
  • 5 new docs/API tests pass with 345 assertions
  • generated API check reports 43 BotActions methods, 93 BotSDK methods, and 39 result/state interfaces
  • GitHub check workflow passes

Notes

Removes wiki/search.ts and its test. The index only covered names, aliases,
summaries and Sources lines, so it had worse recall than grep on body text
(e.g. "cow hide" missed skills/crafting.md), and normalize() stripped
underscores so map-square queries matched every neighbouring square
(m50_50 returned m50_53 NPCs). The computed mapSquareBounds were only
indexed as text, so coordinate lookups — the one thing grep can't do —
never worked.

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
Adds the coordinate-samples column to NPC location tables and picks up
content drift the checked-in pages had missed (807 NPC, 117 shop, 1573 item
pages; 335 of them new). Examples: Aubury now stocks 1000 chaos/death runes
rather than 500, and shop rows point at "Vial of water"/"Bolts" instead of
the stale "Vial"/"Bolt" names.

Also stops all three generators from crashing on their final step. Each one
read wiki/README.md unconditionally, but that file has never existed, so the
index update threw ENOENT on every run. Skip it when absent.

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
@MaxBittker
MaxBittker merged commit b92631b into main Jul 24, 2026
1 check passed
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