claim(2b): deploy budget confirmed minimal+enforced (1+N_cold_deps); B1-B4 claimed
Phase 2b confirm-and-document outcome: per-recipe test-sequence deploy budget is already minimal — `deploys == 1 (base, shared by all 5 tiers) + N_cold_deps` — and tighter than plan B1's nominal `1+1(upgrade)+N` because the upgrade is an in-place chaos redeploy of the prev-version base, not a separate deploy. Enforced as a hard failure by DG4.1 (expected = 1 + deps_deployed_count, run_recipe_ci.py:1005-1010). No redundant deploy found; none removed (none existed). - docs/perf/deploys.md: the budget record (B4), names the out-of-budget WC5 reseed - STATUS-2b.md: B1-B4 claim with WHAT/HOW/EXPECTED/WHERE for cold verify - JOURNAL-2b.md / BACKLOG-2b.md / DECISIONS.md: reasoning + settled note - consume machine-docs/BUILDER-INBOX.md (Adversary heads-up processed) Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
This commit is contained in:
@ -1131,3 +1131,28 @@ recipe whose upgrade TARGET needs different app .env than the base (e.g. an over
|
||||
newer version) can switch it without a cc-ci fork. Added `abra.env_get` (symmetric reader). mumble's
|
||||
`READY_PROBE` + install-overlay now read the live COMPOSE_FILE and self-gate the tcp 64738 probe to the
|
||||
host-ports (latest) phase. No cc-ci fork of any upstream file remains for mumble.
|
||||
|
||||
---
|
||||
|
||||
## Phase 2b — Per-recipe deploy budget (SETTLED 2026-05-31)
|
||||
|
||||
The per-recipe CI test sequence deploy budget is **minimal and enforced**:
|
||||
|
||||
```
|
||||
deploys == 1 (base) + N_cold_deps
|
||||
```
|
||||
|
||||
- **1 base deploy** shared by ALL five tiers (install → upgrade → backup → restore → custom).
|
||||
- **+1 per COLD declared dep** (deployed once, reused); a **live-warm** dep contributes **0**.
|
||||
- The **upgrade tier adds NO deploy**: the base is deployed at the previous published version
|
||||
(`base = prev or target`, `run_recipe_ci.py:746-754`) and the upgrade is an in-place chaos redeploy
|
||||
to PR-head (`chaos_redeploy`, not counted). backup/restore reuse the same app.
|
||||
- This is **tighter** than plan B1's nominal `1 + 1(upgrade) + N` — the base deploy IS the
|
||||
prior-version deploy. Nothing redundant; nothing removed because nothing existed to remove.
|
||||
- **Enforced** by DG4.1: `expected_deploy_count = 1 + deps_deployed_count` (`run_recipe_ci.py:984`),
|
||||
hard-fails on mismatch (`:1005-1010`). Every green run proves it stayed within budget.
|
||||
- **Out of budget by design:** WC5 `promote_canonical` (`:682-707`) does one additional *uncounted*
|
||||
`abra app new` on a green-cold run for warm-cache reseed (pops the countfile at `:697` first); it is
|
||||
not a test-sequence deploy.
|
||||
|
||||
Full record: `docs/perf/deploys.md`.
|
||||
|
||||
Reference in New Issue
Block a user