ADR-0003: The reviewer's memory and state are Meterless's H-MEM and World Model, built in Go and checked by Meterless's own conformance suites
Status: accepted · Date: 2026-10-17
Decided by: the owner · Written by: the advisor (claude-code, claude-opus-5-5), 2026-10-18
Follows: ADR-0001 (Go)
Trigger: Meterless is required in every entry (planning/CONVERSATION_2026-10-17.md, hops 11 and 12)
Context
Meterless is not a hosted service. It publishes open specifications of agent engines (Apache-2.0), each with a TypeScript reference and a conformance suite, meant to be handed to a coding agent. The ones with code today:
- H-MEM: hierarchical memory as a knowledge graph.
- World Model: user, task and environment state, event-sourced.
- Markovian: reasoning compression for long tasks.
A reviewer without memory repeats itself. A finding that was refuted in one pull request comes back in the next one, and a maintainer's ruling ("we do not validate here, on purpose") is forgotten.
The hackathon wants logs that show what each agent did, handoffs, critique and retries, and a trace that is not hand-written.
proven is written in Go (ADR-0001). The H-MEM conformance suite loads the implementation as a TypeScript module (HMEM_IMPL=<path to index.ts> npx tsx conformance/runner.ts).
Decision
- H-MEM is the reviewer's memory across pull requests: refuted findings, maintainers' rulings, and the evidence behind both.
- World Model is the state of one review, as a stream of events: every claim, piece of evidence, refutation and verdict. The trace in
logs/is that stream, not text written next to it. - Both are built in Go from the Meterless specifications, by our Cursor executors.
- Both are checked by Meterless's own conformance suites, through a thin TypeScript adapter that calls the Go code.
- Markovian is not in scope for the build window. It is a candidate if the build leaves time.
Consequences
- We implement Meterless's engines; we do not copy their reference code. The specifications are declared as a pre-existing open-source component.
- The build machines and the image carry Node, only to run the conformance suites (train order
proven-cursor-infra, A13). - Not measured yet: whether a Go engine passes the suites through a TypeScript adapter. It is the first thing measured in the build. If it does not work, this ADR is revisited.
- The judges' trace is generated by the same mechanism that holds the review's state, so it cannot drift from what the agents did.