Expand description
evaluate — the pure conviction engine (§1, §3.2, §5).
Signals in, report out. No I/O, no keys, no capability checks, no clock: the
caller passes now. Two clients holding the same inputs reach byte-identical
conclusions, which is the whole reason the engine convicts and never
sentences.
Structs§
- Loaded
Policy - A policy plus the hash of the exact bytes it arrived as. The hash is never recomputed from a re-serialization — a client that re-encodes JSON has changed the policy.
- Member
Signal - What the caller knows about one member before any judgement.
- Message
Signal - One message in the evaluation corpus.
- Signals
- Everything
evaluatereads. The caller owns fetching, decryption and the clock; the engine owns only arithmetic.
Enums§
- Eval
Mode - Who is evaluating. A member’s client runs only stateless rules — word and link filters over the message in front of it — because everything else needs history it may not hold and authority it does not have. Admins and moderation bots run everything.
Functions§
- evaluate
- Evaluate every policy against the signals. Pure: same inputs, same bytes.
- evaluate_
as evaluatewith an explicit evaluator role.- merged_
exempt - Union of a policy-level and rule-level exemption block.
- refusing_
rules - Which rules a policy would refuse a send under (cooperative prevention). Only Deterministic rules reach here — the validator already refused the rest.