RISK-WP-0005 finished: the seven gaps closed

T01 fix tracking now reads the owner's workplan file and found two
findings the register should have known about. T02 incident and external
report intake, the latter routed since the address is not ours to create.
T03 the production transition defined by what is held rather than what
was announced. T04 the README stops claiming a surface. T05 escalation
carries a delivery state and is raised once when unacknowledged. T06
checked_by and a heartbeat, so a 1q rung cannot silently mean nobody
looked. T07 coverage: 7 of 117 repos have ever appeared in a finding.

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
This commit is contained in:
tegwick 2026-08-21 08:34:30 +02:00
parent 449307bea2
commit a05ca6822b
14 changed files with 195 additions and 26 deletions

View file

@ -184,6 +184,26 @@ The test therefore applies to intake, not to sweeps:
If that trips, the first suspects are triggers 3 and 4 — spend thresholds set
too low, and "unowned" being read where "not yet routed" is meant.
## Delivery is a state, not an act
`RISK-WP-0005-T05`. An escalation that nobody acknowledged is indistinguishable
from one never sent — which is precisely the failure this register committed
on 2026-08-19 and then fixed for its **own** inbox with an hourly watch, while
leaving the path that matters more unguarded.
So an escalation carries a state:
```yaml
escalation_status: pending-operator # sent | seen | answered | withdrawn
escalation_sent: "2026-08-19"
```
`make check` reports how long each has been unacknowledged. At seven days it
says so and the escalation is **raised once more** — once, per the rule above.
After that the default applies and is recorded. Repetition until someone
answers is how the operator becomes the queue, and silence that is recorded is
not the same as silence that is ignored.
## Escalations are batched
Four escalations are one conversation, not four interruptions. Open items go