Waits attach to any record, not just findings
Adopting a rule is nobody's finding; neither is registering a canon kind or publishing a document. Each obligation that lived outside the mechanism was invisible to it. RISK-WP-0001 now carries both of its custodian waits, and the escalation-rule one has the register's most uncomfortable default pointed inward: unadopted by 2026-09-17 means recorded as de facto in force but unratified, said on the face of every escalation sent under it. A draft that quietly governs is exactly what this register exists to notice. Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
This commit is contained in:
parent
9a22a2adc5
commit
3a0ba5d427
6 changed files with 54 additions and 8 deletions
|
|
@ -10,7 +10,7 @@
|
||||||
| --- | --- | --- | --- | --- |
|
| --- | --- | --- | --- | --- |
|
||||||
| workplan | RISK-WP-0001 | active | — | workplans/RISK-WP-0001-make-the-register-decidable.md |
|
| 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-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 |
|
| 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-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 |
|
| 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-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-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-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-T01 | wait | — | workplans/RISK-WP-0003-regulatory-intake.md |
|
||||||
| task | RISK-WP-0003-T02 | todo | — | 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 | todo | — | 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 | todo | — | 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-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-T02 | done | — | workplans/RISK-WP-0004-run-the-register.md |
|
||||||
| task | RISK-WP-0004-T03 | done | — | workplans/RISK-WP-0004-run-the-register.md |
|
| task | RISK-WP-0004-T03 | done | — | workplans/RISK-WP-0004-run-the-register.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,
|
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.
|
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
|
## Where the waits are visible
|
||||||
|
|
||||||
`make check` reports every open wait with its age, its owner and its default
|
`make check` reports every open wait with its age, its owner and its default
|
||||||
|
|
|
||||||
Binary file not shown.
|
|
@ -124,8 +124,9 @@ def main() -> int:
|
||||||
# Waits: typed, dated, and defaulted (docs/method/dependencies.md).
|
# Waits: typed, dated, and defaulted (docs/method/dependencies.md).
|
||||||
waiting, due_defaults, deep = [], [], []
|
waiting, due_defaults, deep = [], [], []
|
||||||
# A closed finding can still owe something — RISK-F-0001 is `fixed` and
|
# A closed finding can still owe something — RISK-F-0001 is `fixed` and
|
||||||
# still waiting on its publication entry. Waits outlive statuses.
|
# still waiting on its publication entry. Waits outlive statuses, and they
|
||||||
with_waits = [f for f in lib.findings() if f.get("waiting_on")]
|
# 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}
|
waiting_ids = {f["id"] for f in with_waits}
|
||||||
for f in with_waits:
|
for f in with_waits:
|
||||||
for w in (f.get("waiting_on") or []):
|
for w in (f.get("waiting_on") or []):
|
||||||
|
|
|
||||||
|
|
@ -86,6 +86,19 @@ def regulatory() -> list[dict]:
|
||||||
key=lambda r: r.get("id", ""))
|
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]:
|
def notes() -> list[dict]:
|
||||||
if not NOTES.exists():
|
if not NOTES.exists():
|
||||||
return []
|
return []
|
||||||
|
|
|
||||||
|
|
@ -8,7 +8,20 @@ status: active
|
||||||
owner: the-custodian
|
owner: the-custodian
|
||||||
topic_slug: risk-nexus
|
topic_slug: risk-nexus
|
||||||
created: "2026-08-19"
|
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
|
# RISK-WP-0001 — make the register decidable
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue