Drop dedupe_key_strategy from the inbox watch and say what actually happens
activity-core corrected us: it governs Temporal schedule overlap, not per-message suppression, and there is no dedupe at the sink — so an unread message re-emits hourly until read. Removed the field rather than leave it implying a guarantee it does not give, and kept the repetition deliberately: an hourly line in the progress log is a cheap price for the failure this exists to prevent, and it stops when somebody reads. Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
This commit is contained in:
parent
54606c883e
commit
2ebdc133bc
2 changed files with 27 additions and 3 deletions
|
|
@ -11,7 +11,7 @@
|
|||
| workplan | RISK-WP-0001 | active | — | workplans/RISK-WP-0001-make-the-register-decidable.md |
|
||||
| workplan | RISK-WP-0002 | proposed | — | workplans/RISK-WP-0002-publication-handover.md |
|
||||
| workplan | RISK-WP-0003 | proposed | — | workplans/RISK-WP-0003-regulatory-intake.md |
|
||||
| workplan | RISK-WP-0004 | active | — | 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-T02 | done | — | workplans/RISK-WP-0001-make-the-register-decidable.md |
|
||||
| task | RISK-WP-0001-T03 | progress | — | workplans/RISK-WP-0001-make-the-register-decidable.md |
|
||||
|
|
@ -27,7 +27,7 @@
|
|||
| task | RISK-WP-0003-T02 | todo | — | workplans/RISK-WP-0003-regulatory-intake.md |
|
||||
| task | RISK-WP-0003-T03 | todo | — | workplans/RISK-WP-0003-regulatory-intake.md |
|
||||
| task | RISK-WP-0003-T04 | todo | — | workplans/RISK-WP-0003-regulatory-intake.md |
|
||||
| task | RISK-WP-0004-T01 | progress | — | 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-T03 | done | — | workplans/RISK-WP-0004-run-the-register.md |
|
||||
| task | RISK-WP-0004-T04 | done | — | workplans/RISK-WP-0004-run-the-register.md |
|
||||
|
|
|
|||
|
|
@ -14,7 +14,6 @@ trigger:
|
|||
cron_expression: "5 * * * *"
|
||||
timezone: Europe/Berlin
|
||||
misfire_policy: skip
|
||||
dedupe_key_strategy: skip
|
||||
context_sources:
|
||||
- type: state-hub
|
||||
query: hub_inbox
|
||||
|
|
@ -49,6 +48,31 @@ the mechanism that stops it depending on somebody remembering.
|
|||
An unread message addressed to `risk-nexus` is, by construction, a claim that
|
||||
something in the register may have moved.
|
||||
|
||||
## It will repeat, and that is the deliberate choice
|
||||
|
||||
`activity-core` corrected us on 2026-08-20: `dedupe_key_strategy` governs
|
||||
Temporal schedule overlap, not per-message suppression, and cron workflow ids
|
||||
include `scheduled_for` — so an unread message re-emits an instruction **every
|
||||
hour until it is read**. There is no dedupe at the sink either.
|
||||
|
||||
We removed the field rather than leave it there implying a guarantee it does
|
||||
not give.
|
||||
|
||||
The repetition is kept, on purpose. An unread message addressed to this
|
||||
register is a claim that something in it may have moved, and the failure this
|
||||
activity exists to prevent — grading `RISK-F-0001` `critical` while its fix
|
||||
notice sat unread — cost a wrong grade and a nearly-sent escalation. An hourly
|
||||
line in the progress log is a cheap price for that, and it stops the moment
|
||||
somebody reads the message.
|
||||
|
||||
**Reading a message includes marking it read.** That is what clears the nag,
|
||||
and it is part of question zero rather than a courtesy.
|
||||
|
||||
If this ever becomes real noise — an unattended weekend, a message nobody can
|
||||
action — the fix `activity-core` named is a stable completion key gating the
|
||||
rule, not a longer interval. A longer interval would trade a visible cost for
|
||||
an invisible one.
|
||||
|
||||
## What it does not do
|
||||
|
||||
It does not grade, close, publish or escalate anything. Severity, disclosure
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue