Keep review obligations visible and reconcile owner evidence (RISK-WP-0006, RISK-WP-0007)
check_all runs every check stage even when one fails; malformed dates are reported rather than aborting; accepted findings and closure evidence are shown; defer requires a valid future date. Adds SCOPE.md, the scope assessment, the open-findings source review and a unittest suite. Stops tracking __pycache__. Co-Authored-By: Claude Opus 5 <noreply@anthropic.com> Assistant: claude-code Assistant-Model: opus Assistant-Process: 6903@bnt-lap001 Assistant-Session: 8319e8a8-ffa6-4eb3-b8bf-b29945628f89
This commit is contained in:
parent
29f50d5143
commit
bbbede5f47
25 changed files with 1007 additions and 43 deletions
|
|
@ -57,6 +57,8 @@ def main(argv: list[str]) -> int:
|
|||
fail("`defer` needs a date and the operator's reason")
|
||||
until, why = rest[0], rest[1]
|
||||
new_rung, streak, nxt = rung, int(f.get("clean_streak", 0)), lib.moment(until)
|
||||
if nxt is None or nxt <= now:
|
||||
fail("`defer` needs a valid future date")
|
||||
line = f"- **{now:%Y-%m-%d}** — deferred to {until} by explicit operator decision: {why}"
|
||||
defer = until
|
||||
else:
|
||||
|
|
@ -71,6 +73,8 @@ def main(argv: list[str]) -> int:
|
|||
}
|
||||
if defer:
|
||||
subs["deferred_to"] = defer
|
||||
else:
|
||||
text = re.sub(r"(?m)^deferred_to:.*\n", "", text)
|
||||
for key, value in subs.items():
|
||||
quoted = f'"{value}"' if key not in ("cadence", "clean_streak") else value
|
||||
if re.search(rf"(?m)^{key}:", text):
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue