Some checks failed
continuous-integration/drone/push Build is failing
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>
72 lines
4.9 KiB
Markdown
72 lines
4.9 KiB
Markdown
# 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.
|