Skip to content

0.1.10 — two stated limits, and a leaner standard

Choose a tag to compare

@github-actions github-actions released this 02 Sep 17:58
009a1ff

If you consume acc as a binary, nothing you can observe changed. No rule was minted or
retired; no verdict, checker, report shape, exit code or CLI surface moved; the catalogue is still
23 rules. This release changes what the project tells you, not what acc does. The one edit under
src/ is a corrected relative link in a fixture's PROVENANCE.md — found by the widened link check
below.

If you contribute here, three of the changes below ask something of you, and those come first.

Three changes for contributors

1. If you cite STANDARD.md by anchor, check your links. Two headings were renamed:

was is
#where-a-declined-recommendation-is-recorded-which-is-not-in-either-of-those-files #where-a-declined-recommendation-is-recorded
#where-they-disagreed-and-it-is-not-settled-here #two-questions-this-page-leaves-open

The second of those is STANDARD.md's own pair — exit-code ownership, and whether the declaration
lives in one file or two. It is not the pair CHARTER.md holds open, which appears further down.

These two are the only anchors that changed. The compression below removed prose inside sections
rather than sections themselves, so no other citation into STANDARD.md has gone stale.

2. Inline links and anchors are now checked in every Markdown file git tracks — where inline
and tracked are both load-bearing, and CHANGELOG.md is exempt by name. Previously docs/lint.ts
read docs/reports/, docs/plans/ and docs/research/, and docs/wiki/lint.ts read the wiki; the
root documents, docs/roadmap.md, skills/acc/, the skill definitions and two fixture documents
under src/ were link targets the check protected and link sources it never opened. Twenty
tracked files newly join it, and the PROVENANCE.md above is one of them.

Three properties, because each will surprise someone:

  • The corpus is git ls-files, not a directory list. A document joins the check at git add,
    before the commit that would publish it. An untracked file is not checked, which cuts both ways: a
    scratch file cannot wedge your commit, and a new document's links go unchecked until you git add
    it.
  • Reference-style links are not read. [text][ref] with a [ref]: target definition is
    invisible in both directions. That is a property of the shared checkLinks helper, and it is why
    the claim above says inline.
  • CHANGELOG.md is exempt by name. release-please writes it, and a check satisfiable only by
    editing a file you do not own would wedge every release.

3. Expect bun run check to take longer: it now runs bun run docs:build. The site build was
never in bun run check; a build failure now fails the gate like any other step. Green on this
branch: typecheck, biome, prettier, both doc lints, the build, and 1,810 tests.

What a clean run does not establish is now written down

CHARTER.md gains a section, What this does not establish, holding two standing limits.
Neither is a gap being closed and neither has scheduled work behind it.

  • The kit compares artifacts against artifacts, never against the world. Help against parser,
    declared surface against recorded surface. Two artifacts wrong in the same way agree, and the
    census reports 0 disagreements and is right to — a flag that is documented, accepted and inert
    is invisible. Reading artifacts against each other is what makes the kit language-agnostic; this
    is the price of that reach.
  • Nothing here reads the prose you ship. On an agent-facing CLI the SKILL.md, the README and
    the paragraph pasted into a system prompt are the interface an agent meets before the binary, and
    no rule looks at them.

README.md carries a pointer to both, where a reader meets conformant and fullyVerified. Read
that section before taking a green run as broader than it is.

STANDARD.md states the guidance and stops arguing for it

1,296 lines to 1,026 and 14,665 words to 11,152 — a fifth of its lines, a quarter of its words — by
separating what a reader acts on from the record of how the project came to believe it. Every
recommendation kept its reason, its evidence link and its [C] / [C?] / [—] checkability mark.
Every removed passage is preserved verbatim with its original line numbers in
what came out of the standard.

One recommendation was added rather than removed. § Parsing now carries a group node that
refuses a flag should name its subcommands
, marked [C?] and framed as a design choice rather than
a defect. No rule id was minted, and none should be cited for it — the catalogue is unchanged.
The evidence and the decision are in
the group-command candidate.

That recommendation rests on a six-tool survey of how group nodes answer an unknown flag.
Re-measuring the three tools whose counts the argument turns on corrected two of them: gh repo
prints 18 subcommands in its rejection where the survey said 19, and kubectl config holds
15 where it said 16 (gh 2.98.0, kubectl v1.34.1; docker image's 12 was right). The
argument is unaffected, and the report carries a dated correction.

The built site no longer emits links that only work if you hold the repository

Links to files the site does not render — a checker in src/, a report — were filesystem paths
relative to the built page, which resolved only for someone reading docs/dist from inside a
checkout. They are now absolute GitHub URLs, read from package.json's repository.url: 128
href occurrences across 37 pages, resolving to 60 distinct files
in the build this branch
produces. The build now rejects any relative link that escapes the output root, rather than only
checking that the target exists.

The ref is main, not the commit being built. A site built from a branch therefore links to
main's copy, and for a file the branch adds there is no such copy: in this build exactly two
href occurrences, one to each of the two reports this release adds, resolve only once the
promotion merge lands. Pinning the commit instead would 404 for every unpushed one, which is why the
ref is main.

STANDARD.md and CHARTER.md now render as satellites alongside docs/roadmap.md, and the wiki
index's "Start here" table gains a row routing a reader deciding how a CLI should behave to the
standard. Nothing in this repository publishes docs/dist — it is built to be checked, and handed
over by hand — so this repairs the artifact before anyone receives it rather than fixing a live
site.

Recorded, not shipped

  • Adopter evidence on the two questions CHARTER.md holds open — the L0/L1/L2 ladder, and
    whether the 23 rules are the right rules. Three adopting agents, asked separately, all said delete
    the ladder and all said keep something; the sharpest form is names for boundaries, yes; numbered
    rungs, no
    . The ladder is unchanged here — acc rules --probe-level still takes L0|L1|L2
    and the verdict line still reads L0. No human owner of an adopted tool has answered, a caution
    that travels with the evidence.
  • Three roadmap entries, none scheduled: acc check's text report and its first screen, the
    ladder and what replaces L0, and three open findings from reading STANDARD.md against the
    wiki.
  • Two new skills under .claude/skills/, and three existing ones revised — this project's own
    authoring toolkit, not the shipped skills/acc/, which is unchanged. An adopter installing acc
    gets nothing from them.
  • Findings left unrepaired and named as such, in
    what came out of the standard: prose
    defects in CHARTER.md and README.md that were out of scope, and two figures in STANDARD.md
    that fit none of the four evidentiary phrases the page declares and were left unmarked rather than
    forced into the nearest slot.

0.1.10 (2026-09-02)

Features

  • lint: the gate reads the markdown no other lint opened (f766377)
  • skills: add repair-chain methodology (d1cd2a6)
  • skills: guidance-not-argument, the pass this session ran by hand (ad8bd3b)
  • skills: strengthen cascade and two-lens review (5e59b2f)

Bug Fixes

  • docs: four contradictions a cold reading of the tree found before release (d760879)
  • lint: gate what git tracks, and publish the two documents the wiki points at (6a088e4)
  • site: a link out of the wiki points at the repository, not at a path (e96419a)