diff --git a/docs/method/dependencies.md b/docs/method/dependencies.md index df34a7b..66ba913 100644 --- a/docs/method/dependencies.md +++ b/docs/method/dependencies.md @@ -102,6 +102,16 @@ independent of the blockage. `docs/method/verification.md` bounds what this repo can establish itself, and every grade resting on a document rather than a probe says so on its face. +## Waits outlive statuses + +A finding that is `fixed` can still owe something. `RISK-F-0001` was closed on +2026-08-19 and is still waiting on `policy-nexus` for the publication entry +that turns `disclosure: public` into an actual address. + +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. + ## Where the waits are visible `make check` reports every open wait with its age, its owner and its default diff --git a/tools/register_check.py b/tools/register_check.py index 2d90db5..b1b7289 100644 --- a/tools/register_check.py +++ b/tools/register_check.py @@ -123,8 +123,11 @@ def main() -> int: # Waits: typed, dated, and defaulted (docs/method/dependencies.md). waiting, due_defaults, deep = [], [], [] - waiting_ids = {f["id"] for f in fs if f.get("waiting_on")} - for f in fs: + # 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")] + waiting_ids = {f["id"] for f in with_waits} + for f in with_waits: for w in (f.get("waiting_on") or []): since = lib.moment(w.get("since")) age = f"{(NOW - since).days}d" if since else "?" diff --git a/tools/register_index.py b/tools/register_index.py index c149fe1..9d04ac8 100644 --- a/tools/register_index.py +++ b/tools/register_index.py @@ -96,7 +96,7 @@ def render() -> str: id=f["id"], on=f.get("constraint_on", "—"), sev=f.get("constraint_severity", "—"), text=f["constraint"])) - waits = [(f, w) for f in fs for w in (f.get("waiting_on") or [])] + waits = [(f, w) for f in fs for w in (f.get("waiting_on") or [])] # fs is every finding, closed included if waits: out += ["", "## Waiting on someone", "", "Every wait resolves on its default date whether or not anyone answers.",