Proof, not benchmark theater.
Most AI-coding numbers are unaudited and unrepeatable. We hold ourselves to a higher bar: a result only counts if it carries a real tool-call trace, and the run behind our one published claim replays byte-identically. We describe one pre-registered, symmetric benchmark in full, including the axes where we only tie and the axes we are not publishing yet.
The one benchmark claim we publish
Retrieval determinism: whether the same question, asked again against the same pinned build, comes back as the same answer. It is the property we can state exactly, so it is the only benchmark result on this page. Everything else we measured is described below without its values.
Replayable retrieval: the measured asset
26 of 26 tasks
Kin 26 of 26 tasks byte-identical across 3 passes. Grep-driven agent baseline, 3 of 26.
Determinism you can re-cut is the property we actually prove. A result you cannot replay is a story, not evidence.
This claim travels with three caveats
- The same run is a statistical tie on file-level accuracy and at parity on cost. The 95% confidence interval on the file-level difference includes 0, and McNemar exact gives p = 0.125.
- Benchmarked at kin commit 2508da69, 520 commits behind the shipped release as of v0.3.4.
- Internal measurement, published for independent verification.
We do not claim Kin beats text search. On file finding this run is a statistical tie with the grep-driven agent baseline, and closing that gap is engineering, not research. Replay identity and cost parity are what this run establishes.
What the benchmark measured
Four axes, scored identically on both arms. We name every axis, including the ones whose values we are withholding, so you can see the shape of the evidence and the size of what is still unpublished.
Replay identity
Published
Whether an arm returns the same declared predictions, scored metrics, tool-call counts, and token counts on repeat passes. This is the one axis we publish, and it is the claim above.
File-level localization
Statistical tie
Whether the declared file set overlaps the gold file set, scored on both arms. The pre-registered significance test does not separate them, so the rule reports a tie. The metric values stay withheld pending independent verification.
Symbol, span, and line localization
Measured, withheld
Both arms were scored at symbol, span, and line granularity under the same gold denominator. We are publishing neither those values nor a directional result until an independent party can check them.
Cost
Parity
Tokens and tool calls per task, measured on both arms. The run came out at parity. We make no cost-savings claim and no token-reduction claim.
The withheld values are not missing. They are measured, recorded in the internal proof package, and held back until someone outside Firelock can run the harness and check them.
How the run was set up
A benchmark is only as trustworthy as the protocol behind it, so the protocol is the product. Here is exactly what was pinned, what was symmetric between the two arms, and what would have voided the run.
- The suite
- A frozen suite of 26 Multi-SWE-Bench Go tasks over a single repository (the gh CLI), pinned as a hashed task-id list so the task set cannot drift between runs or between arms.
- The two arms
- Same agent, same model, temperature 0, seed 0, same context budget, same tool-call cap, no arm-specific tuning. The only thing that changes is the retrieval tool: Kin’s graph-backed locate and context, versus a grep-driven agent baseline that works the repository with grep and find.
- The passes
- Three passes per arm. The Kin arm must reproduce byte-identically across all three or the run is void and nothing from it is citable. The baseline’s cross-pass variance is recorded and scored rather than assumed away.
- The scoring
- One official evaluation module with a gold denominator, applied identically to both arms, scoring localization at file, symbol, span, and line granularity plus token and tool-call cost. No vendored, arm-asymmetric scorer.
- The registration
- Suite, model config, symmetric knobs, metrics, scorer version, and the decision rule are written down and committed before the run that they govern, so the analysis cannot be chosen after seeing the outcome.
How we hold ourselves to it
Four rules that decide whether a result is allowed to leave the lab.
A proof-gate, not a scoreboard
A result only counts if it carries a real Kin tool-call trace. No trace, no credit. The gate throws out answers that cannot show their work, so the result reflects what Kin actually retrieved, not what a harness backfilled.
Byte-identical runs (n = 3 passes)
For the citable 26-task retrieval result, every Kin run is executed three times and must come back byte-identical. Retrieval, ranking, and scoring are deterministic and key-derived, so the result is an artifact we can re-cut, not a lucky single pass. A Kin arm that varies voids the run.
Pinned reproduction; private harness today
The run uses a frozen, hashed task suite, a pinned Kin commit (2508da69), and a pinned baseline, driven by a repeatable runner. The harness repository is private today, so we do not call this public one-command reproduction. Public harness access or a public replication bundle is still pending.
We self-invalidate
We retracted an earlier headline result when it couldn’t stand up under a pre-registered, symmetric protocol. If a number can’t survive its own proof-gate, it doesn’t ship. We would rather retract a claim than defend a soft one.
What we do not claim yet
This list is the point, not a footnote. Our competitors publish numbers they can’t reproduce. We’d rather under-claim than overclaim. So here is everything we are not asserting.
- ×No published accuracy figures. Precision, recall, F1, and per-granularity localization values stay unpublished until an independent party can verify them.
- ×No token-reduction percentage. We make no “X% fewer tokens” claim.
- ×No broad “beats text search” or “beats version control” headline. On file finding, Kin is a statistical tie with the grep-driven agent baseline today, and we say so.
- ×No merge-time percentage. No “N% less time to merge” or “N× faster review.”
- ×No bug-catch rate. No “catches N× more bugs” or defect-detection percentage.
- ×No merge-gate accuracy, precision, recall, or false-block rate. Those measurements exist internally and are not public claims.
- ×No adoption or customer numbers beyond what’s publicly verifiable on GitHub.
- ×No automatic merge-blocking claim. Review is report-only by default today; enforcement is not the default product behavior.
- ×No investor-citable V8 merge-trust metric. The retained V8 decisions reconcile, but the run lacks the required raw per-arm v2 seals and exact segment ledger. A new sealed run is required.
When one of these clears independent verification under the same proof-gate, it graduates to the page above with its value attached. Until then, it stays here.
Pillar maturity
Three pillars, three honest maturities. We label each one so you always know whether you’re looking at a measured result, live code, or the roadmap.
Agent Context
Citable nowGraph-native retrieval and context, measured by the pre-registered symmetric benchmark above and subject to the caveats stated with that claim: byte-identical replay on the Kin arm, a statistical tie on file localization, and cost parity. Symbol, span, and line results were measured and stay unpublished pending independent verification.
AI Merge Trust
Recorded only; new sealed run requiredReview is report-only by default today. The retained 120-scenario V8 decisions and cohort identity reconcile, but that package is not citable: raw per-scenario and per-arm v2 producer seals plus the exact segment ledger were not retained. A new run under the hardened v2 harness is required before any V8 result is promoted.
Org Spine / cross-repo blast radius
Live code, hosted proof in progressCross-repo impact, security-exposure blast radius, and org-graph review are implemented and demonstrable. Daemon, CLI, MCP, and KinLab surfaces are all wired. The hosted proof over the full Kin ecosystem is in progress. Live daemon indexing over real repos is not yet complete, so we publish no org-spine result yet.
See the proof boundary
The harness repository is private today. Read the public proof package, governing artifacts, claim boundaries, and what must happen before the withheld results can be published.
Claims you can audit.
One claim, proven the hard way. Plus an honest list of everything we haven’t proven yet. Get early access and read the rest.