diff --git a/REPORT.md b/REPORT.md index bfafabb..4165835 100644 --- a/REPORT.md +++ b/REPORT.md @@ -1,15 +1,13 @@ -# REPORT — step definitions for the ladder, two bench fixes (2026-09-24, `5ed599c`) +# REPORT — every ladder step keeps its own `.felhom.yml` (2026-09-24 night, `cf7cf84`, R-664) -Full record: `felhom.eu/documentation/audits/ladder-2026-09-24/README.md`. +Full record: `felhom.eu/documentation/audits/DRILL-night-2026-09-24.md`. -- Baseline `585a7cba22cf` → **`5ed599c`**. No `image:` line moved. -- `ladder.step_key` / `step_file`; `check-test-record.py` rule 4 (+ 4 decoy cases: no file, right name wrong image, - wrong name, genuine); `upgrade-test.py --write-ladder` keeps the superseded step's compose; `steps_backfill.py` - wrote 8 step files (emby, ghost, immich, n8n, navidrome, nextcloud, romm ×2 — romm's first from `f4eb94f`). -- R-653 `load_verdict`, R-656 `clear_scratch_folders` + `test_upgrade_bench.py` (5 tests). -- R-663: `test_gate_decoys.py` and `test_ladder_writer.py` were red at the start (last night's pin moves under - literals); they now read the live pins. -- Red-proofs: rule 4 removed → 3 decoys pass wrongly; writer's STEP block off → "has no definition"; bench mutations → - 3 failures. Green: `catalog_gates.py` OK, decoys 84 OK, writer 6 OK, bench 5 OK. -- Live: the box (controller v0.268.0) climbed romm's two steps from these files on 9202. **Not run:** a bench edge - with the R-653/R-656 changes (no bench this session). +- `steps/.felhom.yml` beside each step's compose, so the box judges a step with that step's own + health check, memory request and applied record (controller v0.269.0 reads them). +- `check-test-record.py` rule 4b refuses a step whose `.felhom.yml` is missing, or has no health check while + its template has one; the writer (`upgrade-test.py --write-ladder`) keeps the superseded file; 8 backfilled + (`scripts/steps_meta_backfill.py`). Decoys 86 OK; red-proofed (`night-2026-09-24/redproofs/A4-r664-catalog-gate.txt`). +- Used live tonight: navidrome's and romm's steps were judged by their own files on 9202 (Part C). +- **No `image:` line moved tonight.** Part D (move more apps) was not run — see the findings doc. +- Every tested digest in the ladder renders into a compose file that `docker compose config` accepts: + 25 apps, 37 digests (`night-2026-09-24/B/01`).