jevsnes.git / research / fixtures

For agents, on top of README.md, which they read first.

  • Capture BEFORE changing anything. A fixture taken after a fix is a picture of the fix, not of the defect, and the difference is the whole point of keeping it.
  • A fixture is never loaded by a test. Deserializing a game type (the old alttp::Scene, today's alttp::State) would mean deriving Deserialize on a type that has no other reason to want it, and the test would then be a test of the serializer. Reconstruct the situation in the crate's own terms and cite the fixture in the test's doc comment, which is what the_live_stall did (in packages/brain, deleted 2026-09-21).
  • Keep them small: the few decisions around the moment, not the whole history. The old brain's decisions tool returned a quarter of a megabyte; today's jev_history and bot tools are the ones to capture from.
  • Say in the table WHAT WAS WRONG, not only what was captured. A fixture with no verdict beside it is a file nobody will ever dare delete.