Close RISK-WP-0004: all six tasks done

The previous commit shipped the activity definitions but a script error
left the workplan file unedited, so the task states are recorded here.

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
This commit is contained in:
tegwick 2026-08-20 08:56:17 +02:00
parent 5b9a0e98fe
commit 54606c883e

View file

@ -4,7 +4,7 @@ type: workplan
title: "Run the register: make the cadence actually happen, and close the gaps the first week found"
domain: infotech
repo: risk-nexus
status: active
status: finished
owner: the-custodian
topic_slug: risk-nexus
created: "2026-08-20"
@ -48,7 +48,7 @@ Every task below traces to something that happened, not something imagined.
```task
id: RISK-WP-0004-T01
status: progress
status: done
priority: high
```
@ -67,7 +67,31 @@ stamps `clean` without doing that is worse than no job, because it manufactures
a stability signal that is false. That is the `RISK-F-0002` failure mode
applied to this repo's own instruments.
In progress 2026-08-20. The procedure exists (`docs/method/check-procedure.md`), `make due` prints the work list, and `make checked` records an outcome. **What does not exist is the thing that runs it on schedule**, and this register does not get to arm a standing compute commitment on the operator's behalf. The doc names the three options and says which survives the operator being busy. Stays open until that decision is made; until then, every finding sitting at `instant` is telling the truth about how often `make check` is run.
Completed 2026-08-20, in two halves. The procedure exists (`docs/method/check-procedure.md`), `make due` prints the work list, and `make checked` records an outcome. **What does not exist is the thing that runs it on schedule**, and this register does not get to arm a standing compute commitment on the operator's behalf. The doc names the three options and says which survives the operator being busy. The operator chose the scheduled agent, on `activity-core`, and it is written:
- `activity-definitions/hourly-register-inbox-watch.md` — hourly at :05, fires
**only when an unread message is waiting for `risk-nexus`**. The inbox is the
trigger rather than the clock: an unread message is by construction a claim
that something in the register may have moved, and 2026-08-19 proved the
register will otherwise grade without looking.
- `activity-definitions/daily-register-check-sweep.md` — daily at 07:15,
unconditional. The floor that guarantees the question gets asked.
Both emit an **instruction to a session that can exercise judgement**. Neither
grades, closes, publishes, escalates nor records an outcome, and both say so in
their own text: stamping `clean` without doing the five questions produces a
`1q` rung that is a lie about stability — `RISK-F-0002`'s failure mode turned
on this register's own instruments.
Residual, routed rather than worked around: no context resolver knows what this
register has due, so the instruction says "run `make due`" instead of naming
findings. A `risk_register_due` query in `activity-core` would let the daily
sweep fire only when something is actually due. It works without it; it is
just louder than it needs to be.
The definitions are the ADR-001 source of truth. Live rows pick them up on the
next `make sync-activity-definitions`, which runs on the Railiance deployment
and not from this checkout.
### T02 — Inbox before grading, as a check rather than a habit