tinymux/tools/worldbuilder/tests
Stephen Dennis e61f13e284 WorldBuilder: migration system + test harness (Phases 2F + 2G)
Migration system (migrate.py):
  status — show applied/pending migrations
  up — apply next pending migration
  up-all — apply all pending migrations
  down — roll back last applied migration
  create — scaffold new numbered migration file
  State tracking in .migration_state.yaml
  DRC validation before each migration applies

Test harness (test_worldbuilder.py):
  61 automated tests across all subsystems:
  - MUX text escaping (5 tests)
  - Spec parsing (5 tests)
  - DRC positive: 4 valid specs pass (4 tests)
  - DRC negative: catches 6 error types (7 tests)
  - Component expansion (4 tests)
  - Procedural grid generation (5 tests)
  - Thing/object support (4 tests)
  - Compiler output formats (7 tests)
  - Softcode linting (4 tests)
  - Grammar engine (6 tests)
  - Map generation (7 tests)
  - Extended exit model (3 tests)

Test migrations: 001_initial_park, 002_add_fountain, 003_add_rose_garden

All 61 tests pass.

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-03-19 15:06:25 -06:00
..
migrations WorldBuilder: migration system + test harness (Phases 2F + 2G) 2026-03-19 15:06:25 -06:00
apartments.yaml WorldBuilder: components, diff engine, incremental compile 2026-03-19 14:15:04 -06:00
bad_park.yaml WorldBuilder prototype: spec parser, DRC validator, MUX compiler 2026-03-19 14:04:51 -06:00
forest.yaml WorldBuilder: procedural grids, verify, rollback, things, components 2026-03-19 14:28:34 -06:00
millhaven.project.yaml WorldBuilder: multi-zone project management 2026-03-19 14:49:40 -06:00
park.yaml WorldBuilder prototype: spec parser, DRC validator, MUX compiler 2026-03-19 14:04:51 -06:00
softcode_test.yaml WorldBuilder: softcode linter for MUX code in attributes 2026-03-19 14:46:37 -06:00
town.yaml WorldBuilder: procedural grids, verify, rollback, things, components 2026-03-19 14:28:34 -06:00