Skip to content

Exact system team ​

Use this team for a system whose results must match the original bit for bit: the random number generator, maths helpers, map generation, pathfinding, a simulation step. It finds the code, measures the original, ports it and proves the port matches.

Steps ​

OrderAgentBriefHands on
1re-randomiser (when the system draws random numbers)"Find the generators and the draws of <system>"Generator state and seeding; callers in loop order; a call trace of a few frames
2re-tracer"How does the game do <system>?"docs/<system>.md: functions, inputs, fields, constants, the loop that calls it
3re-measurer"Measure <functions> on many inputs"Ground truth files in derived/emu/, with the inputs named
4re-porter"Port <system> from docs/<system>.md"New code citing each original function; tests that read the ground truth
5re-verifier"Verify <system> against derived/emu"Bit-for-bit results, draw order compared with seqdiff.py
6re-lander"Land <system>"Documents, labels, checklist, a commit

Outcome ​

  • A topic document with every function and constant, each with its evidence label.
  • Ground truth from the original, kept out of git in derived/.
  • Ported code with tests that skip without the ground truth and pass with it.
  • A verification report: the number of inputs compared, all identical, and the same draw order.

Choices for the main session ​

  • Skip re-randomiser for a system that draws no random numbers.
  • When the system uses a C runtime or language runtime (sinf, qsort, Turbo Pascal's Real), send re-matcher before re-porter. It checks whether a GameFrame crate already matches the game's version (Crates).
  • On a difference, follow the failure path.

Code: Apache 2.0. Content: CC0 1.0. No game material: bring your own copy.