Skip to content

[ note · 2026-08-12 ]

What we deleted while shipping

The deletion log for unbin's engine — one mechanism refuted by A/B and reworked, one deleted outright, one capability removed as product scope. The product is live at unbin.io. These are the receipts, re-verified against the repository.

Three receipts do more explanatory work than the seven primitives combined.

Our product-data enrichment engine, unbin, is live at unbin.io. Its runtime ran for about eleven months and roughly two thousand commits to reach the shape it has today. This site’s primitives section is drawn from that runtime.

This note is not the launch post. It is the deletion log — what we built into the runtime, measured, and then cut or held back because it did not survive the measurement. (Sibling note: what we scored and chose not to build — for the four product-shape proposals that never became code because they did not clear the constraint gate.)

Here is what happened, honestly.

What survives

Seven primitives came out of the build. Five run by default in the live engine:

Per-field fusion built on TruthFinder / Accu, weighted by learned source reputation via a Beta-Bernoulli scheme. A calibration monitor combining isotonic and Platt with an ECE-drift alarm. Self-verify — a check that a cited value is consistent with the evidence the run actually read from the cited source, before the cite is allowed to leave the runtime. A determinism alarm that watches per-organisation completeness-score regressions plus silent-seam liveness. Licensed ETIM 10.0 — the classification model the EU electrical-wholesale supply chain runs on.

The sixth — a deterministic prompt-injection envelope, small and boring on purpose — is built and unit-tested; its first paired A/B regressed extraction quality, so it is held off by default while the envelope is reworked — it returns when a paired oracle shows it costs nothing.

The seventh is the active-inference fetcher, and this is where the first version of this note was wrong. We wrote that we deleted it. We did not. A 91-SKU A/B refuted its stop policy; we reworked the stop, and the mechanism stays off by default until the full benchmark re-clears it. Its receipt is below, under its real commit.

All of them are strong enough to publish. We would rather show them than pretend they need to be re-invented — six are published as readable source, with their tests, at github.com/bargo-lv/primitives.

Each of the first six traces to a file. Each survives peer review — meaning a practitioner reading the code can tell what it does and why the design fell out that way. That is the standard we hold ourselves to on what stays in the runtime. The seventh traces to a file too — 108 lines, off by default — and to the receipts below.

The three receipts we would show first

Three receipts do more explanatory work than the seven primitives combined. If you want to understand how we work, start here. An earlier version of this section pinned these stories to the wrong commits; the hashes below are the ones the repository actually carries.

Commit 9141fbd5. The refutation. The active-inference fetcher — a ranked-fetch policy grounded in Friston / Weitzman break-even reasoning — went through a full-benchmark A/B on 91 SKUs. Cost fell by seventy-six percent, and grounded attributes fell by forty: 55 of the 91 SKUs lost more than five attributes each. An earlier 8-SKU pilot had reported no regression; the small sample was variance-favourable, and the full benchmark caught it. The paper said the mechanism should help; the fixture said it hurt. Fixture wins. We reworked the stop in two follow-up commits and hold the mechanism off by default until the 91-SKU benchmark re-clears it. Refuted and reworked — not deleted, as this note first claimed.

Commit 0063afe3. The genuine deletion — the hash the first version of this note cited for the wrong mechanism. We had built an allowlist that pared the runtime’s built-in tool surface down to a minimum. Before spending on a live test, we tallied tool calls across 4,447 historical runtime records: across the sixteen built-ins in question, one call, total — the grounding question was never about tool use. The live paired A/B at n = 44 then failed to find any safe variant: mean cost rose 17.8 percent, every grounding metric tied or worse, escalations regressed from 59 to 82 percent. Under the decision rule the ticket had fixed in advance, that reads “no safe variant exists” — so the mechanism was deleted, not left dormant: the code reverted to its original byte-identical form, its five unit tests and its flag line removed with it. We are not sentimental about code we cannot prove.

The co2_footprint removal. Not one commit but five in a single day — governance, runtime, database config, web, admin — with commit 0bbe89cc recording the standing founder decision afterwards: six capabilities remain, co2_footprint is gone. The reason is on file, and it is a scope decision, not a measurement failure: the capability had billed 35 times against 719 for enrichment, while carrying roughly 5,950 lines across 24 files, 17,446 factor rows, and about 36 MB of source documents that all had to stay correct. The product is the enrichment; the side calculation did not earn its weight. What was deliberately not removed matters as much: the 35 historical billing rows are immutable and stay. You cannot unbill the past.

That is the discipline. If a mechanism cannot earn its place under an A/B, or an internal audit, or a peer review, it does not keep running in the shipped runtime — we turn it off, rework it, or delete it, and we log which of the three we did and why. We are not building a museum inside the product.

Why this is not a failure post

We shipped unbin. Along the way we cut parts of it that did not deserve to run, and held back parts that have not yet earned their default. Both facts are worth knowing. Publishing the primitives that survived alongside the receipts that refuted or removed the ones that did not is more honest than a launch post that only celebrates the parts that made it through.

The internal substrate we use to build services like unbin.io remains proprietary. What we disclose is what it produces: the shipped services themselves, the primitives inside them (per-field fusion, calibration monitoring, self-verify, determinism alarms), the deletion-first discipline that keeps the runtime honest, and the measured research that grounds all of it.

Grounded by default. Nothing is invented.

Correction (2026-08-20): an earlier version of this note claimed the active-inference fetcher was deleted and pinned the story to two commits that belong to other mechanisms; it was refuted and reworked, not deleted, and the receipts above now point at the events they actually name — this line is the log entry for our own miss.