CB-WP-0019: add T05, the meta budget's purpose and 80/20

The maintainer asked for a rule for what the budget is FOR: main spend on
the task at hand, some on control, review and improvement, 80/20 to
start, adjustable by phase.

META-25 has a threshold and no stated purpose, which is why the number
has been argued three times. The purpose goes first.

Recorded in the task: the ratio and the window are a pair. Over a
trailing 3-pass window one meta pass at parity cost is already 33%, so a
20% line there means 'one in five AND half price' rather than 'one in
five'. Over trailing 5, 20% is exactly one pass in five at normal cost,
which is the literal reading of the instruction.

The phase adjustment must be declared, argued and expiring in the shape
gates.toml already uses -- a threshold anyone may move is not a
threshold, and this project fixes limits structurally rather than
raising them.

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
This commit is contained in:
tegwick 2026-08-03 18:29:41 +02:00
parent d8b4398096
commit 07261b4444

View file

@ -1,7 +1,7 @@
---
id: CB-WP-0019
kind: meta
title: "The AM-4 family's last two defects, and the self-quoting rule"
title: "Budgets: what the meta budget is for, AM-4b's scope, and the self-quoting rule"
status: todo
---
@ -141,6 +141,60 @@ re-derived three times already.
both? T03 of CB-WP-0018 used the second and it worked. Say which is load
bearing.
## Task: say what the meta budget is *for*, and set it at 80/20
```task
id: CB-WP-0019-T05
status: todo
priority: high
```
The maintainer, 2026-08-03:
> *"we should establish a rule for what the budget is for. The main budget
> should be spent on the task at hand while some of the budget should be
> spent on control, review and improvement of the process we use to propell
> us forward. We can make that 80/20 to start with and allow for increasing
> or lowering the meta budget based on the phase or task at hand."*
META-25 has a threshold and **no stated purpose** — which is why it has
been argued about as a number three times. Write the purpose first; the
number follows from it.
### The window and the ratio have to be chosen together
The budget is measured over a **trailing 3-pass window**. One meta pass
among three, at the same cost as its neighbours, is already **33%**. So a
20% soft line over three passes does not mean *"one pass in five is
meta"* — it means *"one in five **and** at half the cost of a product
pass"*, which pushes meta work toward being rushed rather than rare.
| window | what a 20% line requires of a meta pass |
|---|---|
| trailing 3 | costs **half** a product pass |
| **trailing 5** | costs **the same** as a product pass |
**80/20 over a trailing 5-pass window is the literal reading of the
instruction:** one pass in five, at normal cost. Adopt that, and say in the
spec that the ratio and the window are a pair — changing one without the
other changes what the rule means.
### The phase dial, and why it must not be a dial
*"increasing or lowering based on the phase or task at hand"* is right —
stage 0 and a stabilisation phase should not carry the same ratio. But a
threshold anyone may move is not a threshold, and this project has a
standing rule that a limit is fixed structurally rather than raised
(four loadability breaches, `make status`'s 40 lines).
So the phase setting must be **declared, argued, and expiring**, in the
same shape `gates.toml` already uses: a value, a reason, a `review_by`
after which it reverts to 20 unless re-argued. Raising it silently to pass
a breach is the failure this shape exists to prevent.
**Controls:** `status.py`'s self-test must cover the new window and ratio,
and must fail if a phase override has no reason or no expiry.
## Task: evidence
```task
@ -160,4 +214,8 @@ priority: high
say which, with the cost.
- **Quote CB-WP-0018's cost by re-running the instrument.** Under the rule
T03 writes down.
- **The meta budget's new shape**, and what it would have said about the
last five passes had it been in force. If 80/20 over trailing-5 would
have failed passes that were plainly right to run, say so — that is the
ratio being wrong, not the passes.
- **Chaos: declaration 2 of 12 in window 2, first roll at d8.**