Problem
A plan-declared per-cycle check that only applies to some cycle types is stamped on every cycle anyway, rendering as n/a noise on the rest. Observed: a plan declared an artifact-verification check relevant only to cycles that exercise a particular output format; all 19 cycles ran on a plain unit-test runner, so the log carries 19 × …_status: n/a (<runner> cycle) lines and the one place the check would have mattered is indistinguishable from the noise. (In that run the check consequently never actually executed against a real artifact — the n/a wallpaper hid that the plan's verification hook had zero effective coverage.)
Proposal
-
Let the contract scope a declared check to a subset of cycles: by explicit cycle list, by project, or by a per-cycle boolean — e.g.
checks:
- name: artifact_verify
applies_to: [12, 19] # or: projects: [device-suite]
-
Render only the cycles the check applies to; if a check applies to zero executed cycles, surface that as a warning in the run summary ("declared check never ran") instead of n/a lines — that inversion is the actually useful signal.
Problem
A plan-declared per-cycle check that only applies to some cycle types is stamped on every cycle anyway, rendering as
n/anoise on the rest. Observed: a plan declared an artifact-verification check relevant only to cycles that exercise a particular output format; all 19 cycles ran on a plain unit-test runner, so the log carries 19 ×…_status: n/a (<runner> cycle)lines and the one place the check would have mattered is indistinguishable from the noise. (In that run the check consequently never actually executed against a real artifact — the n/a wallpaper hid that the plan's verification hook had zero effective coverage.)Proposal
Let the contract scope a declared check to a subset of cycles: by explicit cycle list, by project, or by a per-cycle boolean — e.g.
Render only the cycles the check applies to; if a check applies to zero executed cycles, surface that as a warning in the run summary ("declared check never ran") instead of n/a lines — that inversion is the actually useful signal.