How we verify tracker
tracker is built to be safe to let run unattended. That claim only holds if the engine behaves the same way tomorrow that it does today. Four mechanical gates keep it honest — the centerpiece is a golden-trace conformance suite versioned in lockstep with every release.
Golden-trace conformance
The tracker-conformance binary is the executable snapshot of engine behavior. It runs an example
workflow through the real engine with a stub completer — no API keys, no wall-clock or run-id noise —
and emits a normalized, deterministic trace: the event sequence, per-node
SessionStats, the aggregate UsageSummary, and the terminal status and class.
The committed golden files
(cmd/tracker-conformance/testdata/golden/*.golden.json) are versioned
in lockstep with the tracker tag. That lockstep atomicity is the entire point:
the goldens are regenerated in the same commit as the intentional engine change that altered them, and the
binary ships as a release asset. A downstream port pins a tracker version, runs
tracker-conformance golden <fixture.dip>, and diffs the output against its own expectation.
Any event-schema, handler-contract, or usage-shape change surfaces as a diff instead of drifting silently past
tests written against an old shape.
This is why the harness lives in the tracker repo and imports the engine's internal packages by design.
Splitting it out would break the one property that makes it valuable — there is no version of
tracker-conformance that is meaningfully separable from the engine tag it pins.
# Print the normalized golden trace for a fixture
tracker-conformance golden validation_overridden.dip
# Regenerate goldens after an intentional engine change
go test ./cmd/tracker-conformance -run TestGoldenTraces -update-goldenFull contract, coverage list, and the schema-v2 normalization rules: embedding.md §5.
Complexity ratchet
A pre-commit and CI gate (make complexity) that grandfathers a baseline of existing
cyclomatic / cognitive / file-size numbers and lets it only shrink. A new or worse
violation fails the build; the baseline is burned down deliberately with make complexity-update.
It is not a style preference — it is a one-way ratchet that stops the engine from accreting the kind of untested complexity that hides behavior drift.
Docs-drift gate
A mechanical check (make docs-check, scripts/docs/gate.sh) that keeps the docs
structurally in sync with the code. Every tracker subcommand must be documented in the CLI
reference before it can ship, and a release's version must appear in both CHANGELOG.md and the
website changelog before the tag can publish.
It is a structural check only — it does not judge prose completeness, which stays a human review responsibility. But it makes the specific "we shipped a command nobody documented" and "we tagged a release with a stale website" failures impossible.
Provider round-trip conformance
A CI gate that mechanically catches the "omitempty drops a required-but-empty field on replay"
bug class across the Anthropic, OpenAI, and Google adapters — the failure mode that produced real
provider 400s (#567/#568).
Two complementary checks: a dynamic replay-fidelity test per provider parses a response block,
re-serializes it as a request through the real translation path (including the stream-accumulator path), and
asserts every schema-required key survives; and a static structural guard reflects over the
request structs and flags any "empty-is-a-legitimate-value" required field left as a droppable
omitempty. A lossy translation struct fails go test before any model hits it in
production.
SWE-bench (coming)
The tracker-swebench harness (documented in the
CLI reference) evaluates tracker's agent against the industry-standard
SWE-bench dataset. The first scored, reproducible run will be published here.
No score is claimed until that run lands — a harness with no published number is machinery, not evidence. This slot is intentionally reserved.