Unify Demo Test Runners
Overview
Refactor the demo test runners to eliminate code duplication, add mix json --test command with report generation, and support multi-turn tests for both DSLs.
Specification Documents
Progress
Phase 1: Shared Infrastructure (no breaking changes)
Phase 2: Refactor Existing (maintain functionality)
Phase 3: JSON Parity (new functionality)
Phase 4: Multi-turn Support (enhancement)
Phase 5: Documentation
Phase 6: Validation
Notes
- Phase 1 tasks can be done in parallel (no dependencies between them)
- Phase 2 must complete before Phase 3 (JSON runner depends on refactored Lisp patterns)
- Phase 4 (Multi-turn support) can be deferred if it proves problematic
- Phase 6 (Validation) ensures the refactored runners work with higher-end models as expected
- See specification for detailed task dependencies, risks, and definition of done
Unify Demo Test Runners
Overview
Refactor the demo test runners to eliminate code duplication, add
mix json --testcommand with report generation, and support multi-turn tests for both DSLs.Specification Documents
Progress
Phase 1: Shared Infrastructure (no breaking changes)
TestRunner.Basewith constraint/formatting functions (~150 lines)TestRunner.Reportwith markdown generation (~120 lines)TestRunner.TestCasewith shared test definitions (~100 lines)CLIBasewith shared CLI utilities (~80 lines)Phase 2: Refactor Existing (maintain functionality)
LispTestRunnerto use shared modules (~200 lines)LispCLIto useCLIBase(~100 lines)Phase 3: JSON Parity (new functionality)
JsonTestRunnerusing shared modules (~250 lines)JsonCLIwith test mode support (~150 lines)TestRunner, update README references (~20 lines)Phase 4: Multi-turn Support (enhancement)
Agent(~100 lines)JsonTestRunner(~50 lines) - Completed as part of Create JsonTestRunner using shared modules #214/Add memory support to JSON Agent #220Phase 5: Documentation
Phase 6: Validation
mix lisp --testandmix json --test)Notes