| Stream evaluation and silence findings | `kings-guard` |
| Doctrine and conformance supervision | `gate-house` |
An observer MUST NOT infer `load-bearing`, `attributive`, or rare-event status
from an event name, payload, observed rate, or historical traffic. The source
publishes those classifications in its authoritative inventory. A conformance
run supplies that inventory to the profile checker; omission from the cadence
document is then detectable rather than circular.
## 3. Normative obligations
| Source classification | Obligation |
| --- | --- |
| Load-bearing evidence | Every class **MUST** have a cadence declaration. |
| Attributive evidence | Every class **SHOULD** have a cadence declaration. A deliberate omission is advisory and completeness MUST NOT be claimed. |
| Volume load-bearing evidence | `expected-rate` is permitted when the source explicitly classifies the class as suitable for rate monitoring. A positive window and minimum are required; falling below the minimum is a finding. |
| Rare load-bearing evidence | Rate monitoring is **forbidden**. The declaration **MUST** carry both a heartbeat and reconciliation. |
For a rare load-bearing class:
1.`form` is `heartbeat-or-reconciliation`. The historical form name does not
weaken this profile's requirement for both controls.
2.`extensions.netkingdom.rate_monitoring` is `forbidden`.
3. The heartbeat is a positive assertion, normally `nothing-to-report`, and a
missing heartbeat is a `finding`.
4. Reconciliation compares the source's committed transition count with the
evidence engine's accepted count for the same source and class. Divergence
is a `finding`.
5. Locally committed but not yet drained work is lag, not divergence. A source
SHOULD declare a bounded lag signal separately.
Evidence class and cadence cover different properties. A transactional local
outbox prevents accidental omission across a state change; heartbeat and
reconciliation detect adversarial or operational omission after the fact.
Neither prevents omission by a compromised source, and conformance to this
profile MUST NOT be described as proving stream completeness.
The entry's `extensions.netkingdom.evidence_class` MUST match the supplied
source classification. NetKingdom fields belong only in this namespace;
flattened draft fields fail generic validation. Reconciliation uses the generic
`compare_local` and `compare_observed` fields. The checker also rejects duplicate
`source_id` values as required by the generic semantic contract, and duplicate
event classes within the profiled declaration.
## 4. Mechanical conformance
The checker takes a canonical contract schema, a declaration, and
source-owned class inventory on the command line:
```bash
uv run tools/emission-cadence-profile/emission_cadence_profile.py \