Waits outlive statuses
RISK-F-0001 is fixed and still owes a publication entry; it fell out of the waiting list because that list was built from watched findings only. A closed record with an open obligation is exactly the thing that goes quiet, since nothing prompts anyone to look at it any more. Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
This commit is contained in:
parent
ce8fb70afd
commit
d3aefefdc0
3 changed files with 16 additions and 3 deletions
|
|
@ -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
|
can establish itself, and every grade resting on a document rather than a probe
|
||||||
says so on its face.
|
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
|
## 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
|
||||||
|
|
|
||||||
|
|
@ -123,8 +123,11 @@ 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 = [], [], []
|
||||||
waiting_ids = {f["id"] for f in fs if f.get("waiting_on")}
|
# A closed finding can still owe something — RISK-F-0001 is `fixed` and
|
||||||
for f in fs:
|
# 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 []):
|
for w in (f.get("waiting_on") or []):
|
||||||
since = lib.moment(w.get("since"))
|
since = lib.moment(w.get("since"))
|
||||||
age = f"{(NOW - since).days}d" if since else "?"
|
age = f"{(NOW - since).days}d" if since else "?"
|
||||||
|
|
|
||||||
|
|
@ -96,7 +96,7 @@ def render() -> str:
|
||||||
id=f["id"], on=f.get("constraint_on", "—"),
|
id=f["id"], on=f.get("constraint_on", "—"),
|
||||||
sev=f.get("constraint_severity", "—"), text=f["constraint"]))
|
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:
|
if waits:
|
||||||
out += ["", "## Waiting on someone", "",
|
out += ["", "## Waiting on someone", "",
|
||||||
"Every wait resolves on its default date whether or not anyone answers.",
|
"Every wait resolves on its default date whether or not anyone answers.",
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue