Skip to content

M13: covering what was already claimed - #17

Merged
youhide merged 1 commit into
mainfrom
feat/m13-coverage
Aug 9, 2026
Merged

M13: covering what was already claimed#17
youhide merged 1 commit into
mainfrom
feat/m13-coverage

Conversation

@youhide

@youhide youhide commented Aug 9, 2026

Copy link
Copy Markdown
Owner

M12 made the suites continuous. This is about what they were
continuously running, which turned out to be less than the milestones
above claim.

Seven behaviours had no coverage at all. Each is asserted by a milestone
that says "Verified:", and each was — once, by hand, on the machine of
whoever wrote it.

Claimed in What nothing re-ran
M2 The restart policy firing at all.
M2 The backoff doubling: 200ms, 400ms, 800ms.
M2 on-abnormal treating a signal death as abnormal.
M2 / M3 A watchdog miss taking the restart policy.
M1 %N and %u, against a running machine.
M5 oxctl reload.
M7 output = "null" actually discarding.

flaky.toml is the whole story in one file

It has existed since M2. Its comment describes the doubling exactly:

Exercises on-failure plus backoff: the delays should be 200ms, 400ms,
800ms, ... doubling each time.

And it was never reachable from default, so nothing ever started it. A
unit file that documents a test nobody runs is worse than no unit file,
because it reads as coverage.

The watchdog one is the most interesting

ARCHITECTURE argues at length that a watchdog miss must take the restart
policy where an oxctl stop overrides it, and calls that asymmetry "the
point of a watchdog". The only unit that ever missed a watchdog declared
restart = "no" — so only the half that changes nothing had run.

Nothing was broken

All seven worked the first time they were asked to. That is the honest
result and worth saying plainly: this milestone bought guarding, not
fixing. The code was right; nothing was watching it.

Verified

38 checks per architecture, 40 against the real Alpine userspace, 10 in
the container.

Deferred: the backoff reset after a sustained Active period, which M2
also claims. Telling "reset" from "never incremented" needs an assertion
about a counter's history, and substring matching over a log cannot make
one — it needs a different kind of test than this suite is.

M12 made the suites continuous. This is about what they were
continuously running, which was less than the milestones above claim.

The restart policy firing at all; the backoff doubling through 200ms,
400ms, 800ms; on-abnormal treating a signal death as abnormal; a
watchdog miss taking the restart policy; %N and %u against a running
machine; oxctl reload; and output = "null" actually discarding. Each is
asserted by a milestone that says "Verified:", and each was — once, by
hand, on somebody's machine.

flaky.toml is the whole story in one file. It has existed since M2, its
comment describes the doubling exactly, and it was never reachable from
`default`, so nothing ever started it. A unit file that documents a test
nobody runs is worse than no unit file, because it reads as coverage.

The watchdog one is the most interesting. ARCHITECTURE argues at length
that a watchdog miss must take the restart policy where an oxctl stop
overrides it, and calls that asymmetry the point of a watchdog. The only
unit that ever missed a watchdog declared restart = "no", so only the
half that changes nothing had run.

Nothing was broken. All seven worked the first time they were asked to,
which is worth saying plainly: this bought guarding, not fixing.

38 checks per architecture, 40 against the distribution image.

Deferred: the backoff reset after a sustained Active period, which M2
also claims. Telling "reset" from "never incremented" needs an assertion
about a counter's history, and substring matching over a log cannot make
one.
@youhide
youhide merged commit dcab6b5 into main Aug 9, 2026
5 checks passed
@youhide
youhide deleted the feat/m13-coverage branch August 9, 2026 17:18
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant