Go test cache is a second, independent source of unearned greens: canonical make test lacks -count=1
#32
Reference in New Issue
Block a user
Delete Branch "%!s()"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
Split out of #26 so the two mechanisms are not conflated. Reported there by the vaultik manager (its #93).
Problem
The canonical Go
make testexample inREPO_POLICIES.md(lines 210-215) is:No
-count=1, so Go's own test cache is live and a cached package prints:That line counts as an
okline. So the evidence rule in circulation across the fleet — "Noklines means the suite really ran" — is satisfiable by a run in which no test executed.Why it is not covered by #26
It sits one level below the Docker layer cache. Fixing
CHECK_EPOCHguarantees theRUN make teststep re-executes; it does not guaranteego testinside that step does any work, becauseGOCACHEbaked into earlier image layers survives into the re-executed step. Two independent caches, stacked, each capable of producing a green. A fix for one must not be recorded as covering the other.Definition of done
make test/script/testguidance inREPO_POLICIES.mdcarries-count=1.(cached)markers.Evidence rule to carry into the canonical guidance
> A test run is real only if it shows the expected
okcount and zero(cached)markers and a plausible aggregate wall time. Any one of the three alone is forgeable.-count=1is preferable to that rule because it makes the Go test cache irrelevant rather than relying on every agent remembering to count(cached)markers — the same argument made for retrying the lint lock in tooling (#30). A defence that depends on remembering to look does not survive fleet scale.Correction recorded, so it is not re-derived
A claim circulated in #26 that differing per-package durations prove real execution "because a replayed layer reproduces its output byte-for-byte". That mechanism is wrong: a replayed Docker layer prints
CACHEDand no stdout at all, so zerooklines already rules out layer replay. Durations help only for this issue — distinguishingok pkg 5.8sfromok pkg (cached)— and even then they are unreliable per-package (internal/pidlockmeasured 1.016s on two independently-executed runs, identical to the millisecond). Informative across the whole vector, not for any single package.clawbot referenced this issue2026-08-09 16:56:09 +02:00
clawbot referenced this issue2026-08-09 17:01:40 +02:00
clawbot referenced this issue2026-08-09 17:12:03 +02:00