Published
Daily accumulate.
ArkGate 4.8.20 is published. Current is 4.8.25. Accumulates #301, #300, #303, #299, #302, #293, #298, and #304. No config migration, but one behavior change can turn a green repo red. That is Contener · Guiar · Ordenar.
Upgrade
Install 4.8.20
Current is 4.8.25 on npm latest. Install that
unless you need this patch pinned. No schema bump. Read the
coverage.symbol note below before you upgrade.
What shipped
A named symbol must exist in code. Walls get sharper.
Behavior change: coverage.symbol (#301)
coverage.symbol now needs a declaration of that
name in a non-test file. Imports and test calls no longer
count, so some repos that are green today will turn red.
Each covered row names its witness as
symbolEvidenceFile. Discard counters
(depthLimited, the per-file byte cap, and the
other reasons) now print on green doctor and
--rules-inventory output too.
Anchored starred sliceFolders (#300)
sliceFolders accepts a starred prefix such as
lib/features/*/*, anchored like
sharedRoots. A star never binds a filename.
Bare names no longer treat a filename as the slice child;
bare names on real directories behave exactly as before.
Shared roots are a sink, if you opt in (#303)
A peerIsolation rule may set
sharedImportsSlice: "deny". A shared root then
may not import a slice. The default stays off, so current
walls stay green. Doctor lists shared-root → slice bridges
either way.
Reshape pilot stays governed (#299)
Reshape pilot destinations stay in the source file’s layer and slice. A proposal that would leave both is withheld instead of pointing at an ungoverned folder.
Honest doctor on cohesion residual (#302)
Doctor no longer calls the tree finished or elegant while a physical-cohesion finding is still unsuppressed. The gate verdict is unchanged.
pnpm Age recovery and upkeep (#293, #298, #304)
Age-gated start --apply install failures no
longer replay the same doomed pnpm add. Dev
dependency vitest moved to 4.1.11 for a mocker advisory, and
Dependabot ignores vitest 5 until Node 22.12 is the floor.
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 ↗