claude 5c01fe338b Give a suppressed rule a durable semantic identity (V-687)
The digest needs to know whether a candidate is already pending before it pays
the phraser, and prose is not identity: phrasing varies, and State.Now advancing
does not turn the same unmet condition into a new event.

A rule eligible for the digest declares DigestIdentity beside its predicate.
DigestCandidateFingerprint frames the rule name and severity around it so two
rules cannot alias on a shared fact. BreakRule anchors on the last completed
break, not on desk_active, which the poller refreshes without the unmet need
changing. A rule that declares no identity does not enter the digest, since a
generic state hash would either change every tick or ignore an input the rule
reads.
2026-08-13 11:35:10 +04:00
2026-07-03 00:32:48 +02:00
S
Description
No description provided
70 MiB
Languages
Go 97.1%
HTML 0.9%
Shell 0.6%
CSS 0.5%
Makefile 0.3%
Other 0.6%