REPORT + CONTEXT + CLAUDE.md: step definitions (2026-09-24)
gates / gates (push) Successful in 2s

Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_0159rPz1ZhFKsS53msqPYxtS
This commit is contained in:
2026-09-24 08:52:59 +02:00
parent 5ed599cd5f
commit 635c7e68f7
3 changed files with 23 additions and 21 deletions
+4 -1
View File
@@ -122,7 +122,10 @@ deployed `app.yaml` (customer secrets) is never overwritten. Full deploy details
`catalog_since`. Two gates: `check-test-record.py` (static — every ladder well-formed and its newest step
IS the compose; runs in CI too) and `check-test-record-move.py` (history + the registry for MOVED refs
only — a move must add a proven entry whose digests the registry still serves; the hook). The 21 moves
of 2026-09-22 carry backfilled entries citing their records (`ladder_backfill.py`, one-off).
of 2026-09-22 carry backfilled entries citing their records (`ladder_backfill.py`, one-off). **Every entry but the
newest carries its own compose at `templates/<app>/steps/<ladder.step_key(to)>.yml`** (2026-09-24, `09` §6.4 part
5): the box pins that file, one step per press. The writer keeps the superseded step's definition — fixes
included — and `check-test-record.py` rule 4 refuses a step with no file or a file naming other images.
- **Taking an app out of circulation — use `lifecycle:`, never a directory move.** `.felhom.yml`
gains an optional `lifecycle:` field: `available` (default; absent/empty means this), `hidden`
(not offered for new installs, no explanation owed), `abandoned` (upstream stopped developing it —