risk-nexus/activity-definitions/daily-register-check-sweep.md
tegwick bbbede5f47 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
2026-09-22 07:56:58 +02:00

3.2 KiB

id name type version enabled owner governance status created updated trigger dedupe_key_strategy context_sources report_sinks
daily-register-check-sweep Daily Register Check Sweep activity-definition 1.0 true risk-nexus custodian active 2026-08-20 2026-08-20
type cron_expression timezone misfire_policy
cron 15 7 * * * Europe/Berlin skip
skip
type query required params bind_to
state-hub hub_inbox false
to_agent unread_only
risk-nexus true
context.inbox
type event_type author
state-hub-progress risk_register_check activity-core

Daily Register Check Sweep

Runs daily at 07:15 Berlin time, before the working day, and unconditionally.

Why a floor exists at all

The cadence ladder is self-pacing: a finding that keeps coming back clean is checked less often, up to a quarterly ceiling. That works only if something performs checks. RISK-WP-0004-T01 recorded the honest state — the procedure and the tooling existed, and nothing ran them, so every finding sat at instant and the ladder was decoration.

This is the floor. It does not decide what is due; make due does that from the findings' own front-matter. It guarantees that the question is asked once a day whether or not anyone remembers to ask it.

The work this instruction stands for

Per docs/method/check-procedure.md, for each finding make due lists:

  1. read anything the inbox has said about it (question zero);
  2. is the grade still right;
  3. is every stated blocker still true — a blocker is a claim about the world at a date;
  4. has the fix moved, read from the owner's record rather than from memory;
  5. is the disclosure state still right.

Then make checked ARGS="<id> clean" or "<id> moved '<what changed>'", and make register. A check that is not written down did not happen.

The one thing that must not happen

Stamping clean without doing those five. It costs nothing and produces a 1q rung that is a lie about stability — the RISK-F-0002 failure mode (a control that produces a false record is worse than no control) turned on this register's own instruments. clean_streak is in the register partly so that a suspiciously smooth climb is visible.

This activity therefore emits an instruction to a session that can exercise judgement. It does not, and must not, grow the ability to record outcomes itself.

id: work-the-due-list
condition: 'true'
action:
  task_template: 'risk-nexus: work the register due list'
  description: >-
    Run `make due` in risk-nexus, then work each due finding through the five
    questions in docs/method/check-procedure.md and record the outcome with
    `make checked`. Also review due regulatory records and full policies,
    re-decide due embargoes, and reconcile pending publication handovers,
    including closed findings, per docs/method/check-procedure.md.
    Findings at the `instant` rung are due immediately; the
    ladder climbs only on a clean check. Escalate only what
    docs/method/escalation.md says to escalate, batched into one operator
    conversation. If nothing is due, that is a complete run and worth nothing
    further.
  target_repo: risk-nexus
  priority: medium
  labels: ["risk-register", "cadence", "check"]