Current
Current is 4.8.4. The gate stops saying green over nothing.
Patch over 4.8.3, from a field test on a 4511-file repository. Several answers described ArkGate’s own limits as facts about your code — and three of them said green over nothing at all. A false warning is annoying and visible. A false green is what CI believes. No required config migration.
Upgrade
Get 4.8.4
Restart Codex / Claude / Cursor / Grok after the skill refresh. Restart Ark MCP so the process version matches the pin.
What changed
What 4.8.4 changes.
Coverage stops certifying tests nothing runs
ArkGate reads no runner config, so coverage could report zero
uncovered over tests no runner executes. Declare where your
tests run with coverage.coverageRoots. A covering
test outside them is named, and cannot support a promotion.
ArkGate still executes nothing.
An empty analysis refuses
A config whose globs matched nothing printed a passing verdict
and exit 0. ANALYSIS_COVERS_NO_FILES now
refuses instead. Greenfield with no source still passes —
running init before the code is a real flow.
See the path inside a string
--path-drift finds repo paths living in strings,
comments and docstrings — where a rename compiles green
and lies afterwards. Anchored on the rename it proposes the
replacement and can --write it.
Promotability before you pay for a run
--sensors lists every sensor with its mode and
whether it can ever be enforced. --promote prices
every rule in one run instead of one full run per attempt.
The wall enforces your design
peerIsolation denied on missing evidence, so
shared code outside a slice read as a violation. Declare it:
sharedRoots for roots that are shared on purpose,
allowedCrossSlice for one directed edge. Undeclared
slices still deny, and the denial now names its reason.
A green run names what it did not check
Passing now points at --plan when design bets are
still open. Installing from git no longer needs a build
allowlist entry.
Honest limits
What this release does not claim
-
Discards are counted, not eliminated.
coverage.maxFilesbounds what is kept, not what is read, and the message says so. - The unanchored path sweep is opt-in: on a real repository most of its candidates are illustrative prose. The count always prints.
-
no-anemic-modelandtypes-onlystay permanently unpromotable by construction. - No new skill names or scores. Does not close the parked claim-gate residual.
- Companion
@arkgate/runtimestays deprecated.
Maintainer source: docs/releases/4.8.4.md ↗