Published
Daily accumulate.
ArkGate 4.8.21 is published. Current is 4.8.25. Accumulates #319, #320, #318, #316, #317, #306, and #315. No config migration, but two behavior changes can turn a green repo or a script red. That is Contener · Guiar · Ordenar.
Upgrade
Install 4.8.21
Current is 4.8.25 on npm latest. Install that
unless you need this patch pinned. No schema bump. Read the
coverage and upgrade exit-code notes below before
you upgrade.
What shipped
Coverage means a test title. Upgrade tells the truth.
Behavior change: a mention is not coverage (#319)
A comment, a string, a test body, or an import that merely
mentions an invariant id no longer counts as coverage. Only
a describe / it / test
title does. Repos that were green that way will turn red.
One-line fix: move the id into the it() title.
coverage.symbol accepts type,
interface, and enum again, and
INVARIANT_UNCOVERED says what it found.
Behavior change: upgrade exit 3 (#320)
arkgate upgrade --apply reports one outcome.
Exit 3 means applied but red, so scripts that
compare against exit 1 must compare non-zero.
JSON names the failing rules and the behavior changes to
read first. A missing gitignored per-machine file (such as
.mcp.json) is recreated without consent.
Optional sliceIdentity: "stars" (#318)
A per-rule sliceIdentity of stars
names a starred sliceFolders slice by its last
literal plus the star bindings, so parallel trees share one
id. Absent or path keeps today’s ids byte for
byte. Doctor warns when two prefixes collapse onto one id.
Grouped SHARED_IMPORTS_SLICE output (#316)
Human ark-check prints one line per rule and
layer edge (count plus three examples) instead of one line
per import. --json and doctor still list every
edge.
Pilot loop sees reshape pilots (#317)
Doctor pilotLoop turns on whenever a pilot is
proposed, including a physical-cohesion reshape card. It
still names one extraction card at a time.
One-minute README and docs fixes (#306, #315)
The README first screen is what, why, one command, and one honest red check. The 4.8.20 notes now state their behavior change, and starred slice id wording matches the code.
Honesty
What stayed the same.
Import rules still hold at write and at merge. Required CI is still the hard line. Cursor, Grok, and Claude can block listed writes when hooks are trusted.
Maintainer source: CHANGELOG.md ↗