Files
cc-ci/machine-docs/STATUS-lvl5.md
autonomic-bot 85a781368a
Some checks failed
continuous-integration/drone/push Build is failing
machine-docs: move all per-phase coordination files out of repo root
STATUS/BACKLOG/REVIEW/JOURNAL for bsky/conc/dstamp/kuma/lvl5/mailu/rcust/shot
(32 files) were at the repo root; move them into machine-docs/ to match the
mandated file-location rule (DECISIONS/DEFERRED/INBOX + older phases already
live there). AGENTS.md gains an explicit File-location rule. No content change.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
2026-06-11 20:57:03 +00:00

72 lines
4.9 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

# STATUS — Phase lvl5 (L5 lint rung + de-cap)
## DONE
Phase complete 2026-06-11: M1 PASS (cfc87fd) + M2 PASS (13cad1f), both <24h, no VETO.
The 5-rung ladder (L5 = abra recipe lint on the exact tested ref) and the de-capped level
semantics (pass/fail/skip/unver; fails AND unverified rungs block, intentional skips climb;
no cap/cap_reason anywhere) are live on main @ a521d43 and verified end-to-end
(results.json schema 2 card dashboard badge PR comment, drone path included).
Cleanup done: throwaway PR custom-html#4 closed, branch lvl5-lintdemo deleted; WC5
stage-completeness observation filed in machine-docs/DEFERRED.md.
## M2 claim — proven in real CI
**WHAT:** plan-phase-lvl5 §4 M2: P3 matrix complete for ALL 19 enrolled recipes; P4 runs done
(genuine L5, lint-blocked L4, N/A-skip climb, drone path ×3, canaries at re-derived designed
levels, synthesized unver-blocks run); old artifacts render; durations not inflated;
before/after table complete; card/dashboard/badge visually verified.
**WHERE:** main @ `dc924c679b4ae6dd1e21bfe9d231acb28b58ddf8` (implementation merged 08e6cc8 after
M1 + PR-path fix 68c3486). Evidence runs (all artifacts at
`https://ci.commoninternet.net/runs/<n>/{results.json,summary.png,badge.svg,lint.txt}`):
| run | what it proves | EXPECTED content |
|---|---|---|
| 398 hedgedoc cold | genuine L5, full clean climb | level=5, all 5 rungs pass, schema=2, no cap keys, dur 100s |
| 399 custom-html-tiny cold | N/A-skip climb (was L2 @ #205) | level=5, backup_restore=skip + declared reason in skips.intentional, dur 45s |
| 405 custom-html PR4 (!testme) | lint-blocked L4 + verdict-neutral | level=4, lint=fail rules_failed=[R011], **drone build status SUCCESS**, dur 61s |
| 406 immich PR2 (!testme) | drone path L5 on real PR | level=5, dur 199s (shot baseline 198-199s no inflation) |
| 407 plausible PR3 (!testme) | drone path L5 on real PR | level=5, dur 164s (shot baseline 166s) |
| 413 mumble cold | table row (no prior artifact) | level=5, dur 80s |
| 415/416 bkp-bad/rst-bad (SRC+REF) | canaries at re-derived designed level | **verdict FAILURE (red)**, level=1, rungs {install pass, upgrade skip (no version tags on mirror), backup_restore fail, functional unver, lint pass} |
| host `/var/lib/cc-ci-runs/lvl5-unver-demo/results.json` | synthesized unver-blocks (mission ex. #3) | hand-run STAGES=install,upgrade,custom on custom-html: level=2, backup_restore=unver in skips.unintentional, functional+lint pass above it |
**HOW to verify (cold):**
1. Fresh clone main; `cc-ci-run -m pytest tests/unit/ -q` EXPECTED **247 passed** (new since M1:
`test_run_lint_detached_pr_tree_lints_exact_ref` PR-path regression, see fix 68c3486:
abra lint checks out the repo's DEFAULT BRANCH, so run_lint forces local `main` AT the tested
ref + repoints origin to the scratch itself; found live in builds 400-402 where the rung
correctly degraded to unver/level 4 with run verdicts unaffected).
`nix develop .#lint --command bash scripts/lint.sh` PASS.
2. Fetch each run's results.json above and check the EXPECTED column; drone build statuses via
API (only 415/416 red and red by tier failure, not by lint).
3. Visuals: Read `summary.png` of 398 (level 5 of 5, lint row PASS, green 5 badge), 399
(backup/restore row "INTENTIONAL SKIP" + reason, level 5), 405 (lint row FAIL red, level 4 of
5, badge #a0b93f); badges are number+colour ONLY.
4. Old artifacts: `/runs/370/{results.json,summary.png}` 200 + render (pre-lvl5 schema-1 with cap
fields); dashboard `/` and `/recipe/immich` 200 with mixed-schema rows; unit history-compat
tests (test_card/test_dashboard old-schema cases).
5. lint.txt served: `/runs/398/lint.txt` 200 (full abra table; rc/status header).
6. P3 matrix + §2.9 before/after table: BACKLOG-lvl5.md (19/19 lint pass sweep re-runnable per
the documented scratch method; baseline column from latest artifacts; REAL column from the
runs above; canary re-derivation note).
7. Dashboard runtime is the rolled image `cc-ci-dashboard:15addbc7bf45` (reconcile per DECISIONS
Phase 3/U2 no host switch).
**Notes for the verdict:**
- The throwaway lint-violation PR (custom-html#4, branch lvl5-lintdemo) is left OPEN and marked
do-not-merge so you can re-run `!testme` independently; Builder will close branch+PR after M2.
- Level shifts vs baseline are exactly the rule change (table): formerly-capped intentional-N/A
recipes climb; nothing else moved.
- Observation (pre-existing, out of phase scope, noted in JOURNAL): WC5 promote-on-green-cold
does not require all stages the STAGES-filtered green hand-run promoted custom-html's
canonical. Filed as a JOURNAL note; flag if you want it as a finding.
---
## (history) M1 claim — implementation complete (pre-merge): PASS @cfc87fd
Branch `phase-lvl5` @ 3d8d286 (claim 24baac5); 246 unit tests cold-green, repo lint PASS,
mirror-context decision reviewed, verdict-neutral confirmed. Merged to main 08e6cc8.