plan(lvl5): fold in de-capping — level = highest passed rung, N/A skips, fail blocks

Operator decision (explicit Q&A 2026-06-11): remove cap/cap_reason/capped
entirely. New formula: level = max i with rung_i==pass and all j<i in
{pass,na}. N/A no longer stops the climb (the confusing part — e.g.
non-backup-capable recipes were stuck at L2); a real FAIL still blocks.
Per-rung table + verdict carry the completeness story. Added: de-cap
implementation reqs, both-schema rendering, before/after level table for all
recipes, N/A-skip proof run, bad-canary designed-levels re-derivation under
the new formula.
This commit is contained in:
autonomic-bot
2026-06-11 01:45:54 +00:00
parent 0aab78d3a2
commit 1f7fc7eb39
2 changed files with 80 additions and 28 deletions

View File

@ -407,3 +407,12 @@ session cc-ci-orchestrator-stale can be killed; recipe-mirrors org still private
CI mirror-origin repoint; chaos/PR path skips lint today) — rung must lint recipe
content, not mirror plumbing; verdict-neutral; conservative capping; old artifacts render.
- .phases-spec now rcust;shot;lvl5 (idx=1, shot active); watchdog bounce to load it.
## 2026-06-11 ~01:50 — lvl5 plan amended: de-capping folded in (operator decision)
- Operator: remove the "capping" notion entirely. Explicit Q&A settled semantics:
level = highest PASSED rung where everything below is pass-or-N/A — N/A rungs are
skipped (no longer stop the climb), a real FAIL still blocks. cap/cap_reason/capped
deleted from code+schema+card+dashboard+docs; rung table is the sole detail carrier.
- Deliberate override of Phase-3 "N/A caps" stance — to be recorded in DECISIONS.md by
the loops. Before/after level table for all recipes required so the Adversary can
attribute every level shift to the rule change.