diff --git a/WORK-RECORDS.md b/WORK-RECORDS.md index a310aac..b594980 100644 --- a/WORK-RECORDS.md +++ b/WORK-RECORDS.md @@ -10,7 +10,7 @@ | --- | --- | --- | --- | --- | | workplan | RISK-WP-0001 | active | — | workplans/RISK-WP-0001-make-the-register-decidable.md | | workplan | RISK-WP-0002 | active | — | workplans/RISK-WP-0002-publication-handover.md | -| workplan | RISK-WP-0003 | active | — | workplans/RISK-WP-0003-regulatory-intake.md | +| workplan | RISK-WP-0003 | blocked | — | workplans/RISK-WP-0003-regulatory-intake.md | | workplan | RISK-WP-0004 | finished | — | workplans/RISK-WP-0004-run-the-register.md | | task | RISK-WP-0001-T01 | done | — | workplans/RISK-WP-0001-make-the-register-decidable.md | | task | RISK-WP-0001-T02 | done | — | workplans/RISK-WP-0001-make-the-register-decidable.md | @@ -23,10 +23,10 @@ | task | RISK-WP-0002-T01 | progress | — | workplans/RISK-WP-0002-publication-handover.md | | task | RISK-WP-0002-T02 | done | — | workplans/RISK-WP-0002-publication-handover.md | | task | RISK-WP-0002-T03 | done | — | workplans/RISK-WP-0002-publication-handover.md | -| task | RISK-WP-0003-T01 | todo | — | workplans/RISK-WP-0003-regulatory-intake.md | -| task | RISK-WP-0003-T02 | todo | — | workplans/RISK-WP-0003-regulatory-intake.md | -| task | RISK-WP-0003-T03 | todo | — | workplans/RISK-WP-0003-regulatory-intake.md | -| task | RISK-WP-0003-T04 | todo | — | workplans/RISK-WP-0003-regulatory-intake.md | +| task | RISK-WP-0003-T01 | wait | — | workplans/RISK-WP-0003-regulatory-intake.md | +| task | RISK-WP-0003-T02 | done | — | workplans/RISK-WP-0003-regulatory-intake.md | +| task | RISK-WP-0003-T03 | done | — | workplans/RISK-WP-0003-regulatory-intake.md | +| task | RISK-WP-0003-T04 | done | — | workplans/RISK-WP-0003-regulatory-intake.md | | task | RISK-WP-0004-T01 | done | — | workplans/RISK-WP-0004-run-the-register.md | | task | RISK-WP-0004-T02 | done | — | workplans/RISK-WP-0004-run-the-register.md | | task | RISK-WP-0004-T03 | done | — | workplans/RISK-WP-0004-run-the-register.md | diff --git a/docs/method/dependencies.md b/docs/method/dependencies.md index 66ba913..b6779d4 100644 --- a/docs/method/dependencies.md +++ b/docs/method/dependencies.md @@ -112,6 +112,25 @@ So the waiting list is built from **every** finding, not from the watched ones. A closed record with an open obligation is precisely the thing that goes quiet, because nothing is prompting anyone to look at it any more. +## A wait is not a findings-only idea + +Adopting a rule is nobody's finding. Registering a canon kind is nobody's +finding. Publishing a document is nobody's finding. All three are obligations +someone owes, and each one that lived outside the mechanism was invisible to it. + +So waits attach to **any** record this repo keeps — findings, regulatory +records, workplans — and `make check` reports them together. `RISK-WP-0001` +carries two: the escalation rule that is producing decisions while still +`status: proposed`, and the canon question about what kind of thing a finding +is. + +The first of those has the most uncomfortable default in the register, and it +points inward: **if the rule is not adopted by 2026-09-17, it is recorded as de +facto in force but unratified, and every escalation sent under it says so on +its face.** That is worse than either adopting or rejecting it, which is the +point — a draft that quietly governs is the thing this register was built to +notice. + ## Where the waits are visible `make check` reports every open wait with its age, its owner and its default diff --git a/tools/__pycache__/register_lib.cpython-312.pyc b/tools/__pycache__/register_lib.cpython-312.pyc index e77fdba..447cf7e 100644 Binary files a/tools/__pycache__/register_lib.cpython-312.pyc and b/tools/__pycache__/register_lib.cpython-312.pyc differ diff --git a/tools/register_check.py b/tools/register_check.py index b1b7289..e474707 100644 --- a/tools/register_check.py +++ b/tools/register_check.py @@ -124,8 +124,9 @@ def main() -> int: # Waits: typed, dated, and defaulted (docs/method/dependencies.md). waiting, due_defaults, deep = [], [], [] # A closed finding can still owe something — RISK-F-0001 is `fixed` and - # still waiting on its publication entry. Waits outlive statuses. - with_waits = [f for f in lib.findings() if f.get("waiting_on")] + # still waiting on its publication entry. Waits outlive statuses, and they + # are not a findings-only idea: adopting a rule is nobody's finding. + with_waits = lib.records_with_waits() waiting_ids = {f["id"] for f in with_waits} for f in with_waits: for w in (f.get("waiting_on") or []): diff --git a/tools/register_lib.py b/tools/register_lib.py index badcc88..46337cc 100644 --- a/tools/register_lib.py +++ b/tools/register_lib.py @@ -86,6 +86,19 @@ def regulatory() -> list[dict]: key=lambda r: r.get("id", "")) +def workplans() -> list[dict]: + """Workplans carry waits too — adoption of a rule is nobody's finding.""" + d = REPO / "workplans" + if not d.exists(): + return [] + return sorted((load(p) for p in d.glob("*.md")), key=lambda w: w.get("id", "")) + + +def records_with_waits() -> list[dict]: + """Every record that owes or is owed something, whatever kind it is.""" + return [r for r in findings() + regulatory() + workplans() if r.get("waiting_on")] + + def notes() -> list[dict]: if not NOTES.exists(): return [] diff --git a/workplans/RISK-WP-0001-make-the-register-decidable.md b/workplans/RISK-WP-0001-make-the-register-decidable.md index e5f0552..ac990f8 100644 --- a/workplans/RISK-WP-0001-make-the-register-decidable.md +++ b/workplans/RISK-WP-0001-make-the-register-decidable.md @@ -8,7 +8,20 @@ status: active owner: the-custodian topic_slug: risk-nexus created: "2026-08-19" -updated: "2026-08-19" +updated: "2026-08-20" +waiting_on: + - who: the-custodian + what: "adopt docs/method/escalation.md, which is producing decisions while still status: proposed" + since: "2026-08-19" + would_change: "the rule stops being a draft that looks like coverage; the spend thresholds become the operator's numbers rather than ours" + default: "recorded as de facto in force but unratified, and every escalation sent under it says so on its face" + default_at: "2026-09-17" + - who: the-custodian + what: "register finding / note / regulatory-record as canon work-record kinds, or rule that the register is a different ontology" + since: "2026-08-20" + would_change: "C-31 stops being a standing warning; the estate's work-record backbone gains four species it currently cannot name" + default: "C-31 documented as expected noise for this repo, and the register stops treating it as a gap it can close" + default_at: "2026-09-17" --- # RISK-WP-0001 — make the register decidable