Skip to content

v2.5.0 — zero deviations: the promise holds

Latest

Choose a tag to compare

@Hainrixz Hainrixz released this 28 Jul 10:35
· 3 commits to main since this release

Seventh build cycle, identical strict-literal protocol to cycles 4, 5 and 6 — the builder forbidden from working around any defect or supplying anything the blueprint omits.

selfContainedPromiseHolds: true

C4 C5 C6 C7
Steps 7/14 14/14 13/13 13/13
Deviations 2 2 2 0
Blocking defects 1 0 0 0
Guesses 12 18 17 2 (both cosmetic)
§20.1 gate FAIL PASS PASS PASS

76/76 Verify commands · 16/16 Bootstrap commands · 14/14 gate lines.

The two remaining guesses were a copyright holder's name and CI action major versions. Nothing load-bearing was left to invent.

Rules P, Q and R killed their class — and were probed, not trusted

The same way Rule O killed its own in cycle 6. The builder did not take them on faith:

  • Hid the built binary. The strict status=$?; test "$status" -eq 2 form correctly failed, while the banned ! cmd form passed. The strict form is doing real work.
  • Confirmed git check-ignore -q with two pathnames really exits 128 on this git — exactly the vacuous-gate failure Rule Q was written from.
  • Swapped byteAscending for localeCompare. The sort inverted exactly as the blueprint predicted, and was caught independently by three separate gates.

The product works — from the installed package

Tested via pnpm packnpm install into a clean directory, against a fresh Markdown tree outside the repo:

README.md:16:3        missing-file:   CONTRIBUTING.md -> CONTRIBUTING.md
api/reference.md:13:3 missing-anchor: #renderjson -> api/reference.md#renderjson
guide/install.md:11:25 missing-file:  troubleshooting.md -> guide/troubleshooting.md
guide/usage.md:4:9    missing-anchor: install.md#prerequisite -> guide/install.md#prerequisite

4 files scanned, 14 links checked, 2 skipped, 4 broken     [exit 1]

Broken heading anchors and missing files both detected. All 10 working links correctly silent. Links buried in fenced code blocks correctly not flagged. CI mode exited 1, then 0 after the links were fixed. Colour verified through a real pty and suppressed under NO_COLOR. 500 files scanned in 0.235s.

What the generator caught in its own draft

13 defects before shipping — three of them BLOCKERs only executing could find:

  • fs.promises.glob yields nothing for a missing directory instead of throwing — which would have shipped a link checker that silently passes on a typo'd path, reporting 0 broken and exiting 0.
  • A script manipulating Markdown fences contained a literal triple backtick, terminating the fenced block that carried it. A builder copying that block gets an unterminated string.
  • cmd; test $? -eq N aborts under set -e before the assertion runs — Rule Q's own idiom colliding with unattended execution. Rewritten to status=0; cmd || status=$? across 31 assertions.

Left documented, not fixed

Two non-blocking defects were observed and recorded rather than patched, because neither blocked and a rule that has not been executed is exactly what these seven cycles exist to distrust:

  • a CLI module that self-executes on import while also exporting for tests
  • a stale step reference in a comment that a later step overwrites

The arc

C1   2/4     18 defects   environmental + structural
C2   1/3     18 defects   toolchain
C3  14/14    10 defects   but 3 deviations — the builder patched it
C4   7/14     1 blocking  cross-artifact disagreement      → rules K–N
C5  14/14     0 blocking  verify/checkpoint ordering       → rule O
C6  13/13     0 blocking  golden-file reconciliation       → rules P–R
C7  13/13     0 deviations

Each named class, once ruled, did not recur. Fifteen rules (A–O plus P, Q, R), each one a writer obligation and a validator finding, every one written from a real failure with a real error message.

Verified: 5/5 CI checks green · plugin manifest validates · validator at 39 findings and 28 sweeps.