Make test framework LLM-ready (docs + examples) #135

Closed
opened 2026-08-30 15:01:04 +02:00 by SirStone · 1 comment
Owner

Destination

Make the shared integration test framework (common_libs/test_framework/) fully LLM-ready: an LLM told "write a battle test for this bot" should produce a rich, correct test on first attempt — using the full BattleResult surface, handling errors, and leveraging offline parsing — not just a shallow copy of the one existing example.

Notes

  • Domain: Nim, Tank Royale bots, integration testing
  • Scope: documentation (A) + examples (C) only — no API changes, no new features
  • Skills: ponytail (lazy solutions), nim
  • Validation: re-run LLM simulations in a fresh session after all tickets closed

Decisions so far

Not yet specified

  • Whether diagnostic flags (--positions, --radar, etc.) should be mentioned in docs as "not yet wired" or omitted entirely

Out of scope

  • Wiring diagnostic stderr flags into the Nim API (API change, tracked separately)
  • API changes (findBot helper, error types, etc.)
  • CI/CD integration
  • Parallel test execution
## Destination Make the shared integration test framework (`common_libs/test_framework/`) fully LLM-ready: an LLM told "write a battle test for this bot" should produce a rich, correct test on first attempt — using the full `BattleResult` surface, handling errors, and leveraging offline parsing — not just a shallow copy of the one existing example. ## Notes - Domain: Nim, Tank Royale bots, integration testing - Scope: documentation (A) + examples (C) only — no API changes, no new features - Skills: ponytail (lazy solutions), nim - Validation: re-run LLM simulations in a fresh session after all tickets closed ## Decisions so far - [Document exceptions, parseServerOutput, and compile behavior in README](#136) — README updated with exceptions table, offline parseServerOutput, compile-once note, zero-value trap, env-var skip pattern - [Move SittingDuck to shared location](#137) — moved to `common_libs/test_framework/adversaries/SittingDuck/`, OscillatorBot test updated - [Add integration test to a second garage (QBot)](#138) — rich test with offline parsing, two adversaries, per-round assertions, zero-value guards - [Add OscillatorBot as a second shared adversary](#139) — copied to `common_libs/test_framework/adversaries/OscillatorBot/` - [Update AGENTS.md with test framework quick-start](#140) — 58-line section covering full API surface ## Not yet specified - Whether diagnostic flags (--positions, --radar, etc.) should be mentioned in docs as "not yet wired" or omitted entirely ## Out of scope - Wiring diagnostic stderr flags into the Nim API (API change, tracked separately) - API changes (findBot helper, error types, etc.) - CI/CD integration - Parallel test execution
SirStone added the wayfinder:map label 2026-08-30 15:01:04 +02:00
Author
Owner

All 5 tickets resolved. Framework is now LLM-ready with updated README, AGENTS.md quick-start, shared adversaries (SittingDuck + OscillatorBot), and a second worked example (QBot). Ready for validation: re-run LLM simulations in a fresh session.

All 5 tickets resolved. Framework is now LLM-ready with updated README, AGENTS.md quick-start, shared adversaries (SittingDuck + OscillatorBot), and a second worked example (QBot). Ready for validation: re-run LLM simulations in a fresh session.
Sign in to join this conversation.
1 Participants
Notifications
Due Date
No due date set.
Dependencies

No dependencies set.

Reference: SirStone/SirRoboGarage#135