fix(debt): track Deno removal as a probed integer, and un-collide the audit name - #601
Conversation
… audit name **The rename first, because it was my error.** I added `Debtfile.adoc` at the repository root in #598. `.machine_readable/Debtfile.a2ml` already existed from #591 — a probe-backed, monotone-decreasing integer register with its own spec, runner, CI ratchet and 30 tests. Two files a directory apart, both called Debtfile, meaning different things, is precisely the drift this canon exists to prevent. The prose one is an AUDIT and now says so: `docs/audits/2026-08-07-estate-cicd-debt.adoc`, matching the four `docs/audits/2026-05-26-estate-*-debt` files. **Then the part that matters.** Deno removal is now a MEASURED entry rather than a sentence in a document, because DEBTFILE-SPEC.adoc's own opening example is what happens otherwise: standards#309 claimed ~45 banned `.py` files, the measured figure was 176 — wrong by 4x, unchallenged for ten weeks. Two entries, both `accepted-until: 2026-11-01`: deno-residue probe: workflows and scripts that INVOKE deno count 4 deno-artefacts probe: files that exist only to serve Deno count 6 The counts can now only go down without an explicit exception, and a stale claim is impossible — the probe re-measures on every run. ⚠ The owner has ruled Deno REMOVED and Bun permanent three times, yet `governance-reusable.yml:264` still runs `denoland/setup-deno`, which INSTALLS DENO ON EVERY ESTATE REPOSITORY ON EVERY RUN, and `docs/migrations/npm-to-deno-template/` is a live recipe pointing repositories AT the retired runtime. That is why the ruling keeps needing repeating: the canon has been propagating the opposite. ⚠ Both probes deliberately EXCLUDE `*/bindings/deno/` (292 files in a2ml, more in k9-svc, beside elixir/gleam/haskell/rust). Those exist so OTHER people's Deno code can call estate libraries — the same shape as the `proven` polyglot adapter exception. "We do not use Deno" and "nobody may call us from Deno" are different statements, and only the first has been made. Verified: `check-debtfile-structure.sh` OK (7 entries); `run-debtfile.sh` measures both new probes as HOLDING at 4 and 6; structure tests 14/14 and runner tests 16/16 pass.
|
Note Automatic reviews are paused because your trial's included automatic processing has been used for this period. Upgrade now, or comment "Gitar review" to run a review anytime. Code Review ✅ ApprovedTracks Deno removal as a probed integer using measured counts and renames the root Debtfile audit to eliminate naming collisions. No issues found.
OptionsDisplay: compact → Showing less information. Comment with these commands to change the behavior for this request:
Important Your trial ends in 3 days — upgrade now to keep code review, CI analysis, auto-apply, custom automations, and more. Was this helpful? React with 👍 / 👎 | Gitar |
|



The rename first, because it was my error. I added
Debtfile.adocat the repo root in #598..machine_readable/Debtfile.a2mlalready existed from #591 — a probe-backed, monotone-decreasing register with its own spec, runner, ratchet and 30 tests. Two files a directory apart, both called Debtfile, meaning different things, is exactly the drift this canon exists to prevent. The prose one is an audit and now says so:docs/audits/2026-08-07-estate-cicd-debt.adoc.Then the part that matters. Deno removal is now a measured entry, not a sentence. DEBTFILE-SPEC's own opening example is what happens otherwise:
standards#309claimed ~45 banned.pyfiles; measured, 176 — wrong by 4×, unchallenged for ten weeks.deno-residuedeno-artefacts⚠ The owner has ruled Deno removed and Bun permanent three times, yet
governance-reusable.yml:264still runsdenoland/setup-deno— installing Deno on every estate repo on every run — anddocs/migrations/npm-to-deno-template/is a live recipe pointing repos at the retired runtime. That is why the ruling keeps needing repeating: the canon has been propagating the opposite.⚠ Both probes deliberately exclude
*/bindings/deno/— interop so other people's Deno code can call estate libraries, the same shape as theprovenpolyglot exception. "We do not use Deno" and "nobody may call us from Deno" are different statements; only the first has been made.Verified: structure OK (7 entries) · both probes HOLDING at 4 and 6 · structure tests 14/14 · runner tests 16/16.
🤖 Generated with Claude Code