2026-09-22 16:14:10 +02:00
|
|
|
# Demand: Emission Cadence activity scope — silence while a source is not running
|
|
|
|
|
|
|
|
|
|
**Status:** proposed (change proposal to the Emission Cadence standard)
|
|
|
|
|
**Date:** 2026-09-21
|
|
|
|
|
**Source:** net-kingdom (source owner), domain `infotech`
|
|
|
|
|
**Owner:** InfoTechCanon Emission Cadence standard (`standards/emission-cadence`)
|
|
|
|
|
**Consumer evidence:** `net-kingdom/local-identity/emission-cadence-findings.md` (commit `116643f`)
|
|
|
|
|
**Feedback:** `feedback/2026-09-21-net-kingdom-emission-cadence-declaration.md`
|
|
|
|
|
**Workplan:** `INFO-WP-0029` (T04 records it; no design workplan exists yet)
|
|
|
|
|
|
|
|
|
|
---
|
|
|
|
|
|
|
|
|
|
## Demand signal
|
|
|
|
|
|
|
|
|
|
The first source-owned declaration came from a source that can emit only while
|
2026-09-22 22:29:41 +02:00
|
|
|
an attended process runs: `local-identity serve`, plus attended CLI
|
|
|
|
|
invocations. For such a source, silence has two meanings. Silence while the
|
2026-09-22 16:14:10 +02:00
|
|
|
process runs may be a finding. Silence while the process is not running
|
|
|
|
|
carries no information. The contract cannot tell the two apart:
|
|
|
|
|
|
|
|
|
|
- `expected-rate` needs a floor. `expected_min: 0` is the only honest value,
|
|
|
|
|
and with it silence means nothing.
|
|
|
|
|
- `heartbeat-or-reconciliation` with a heartbeat assumes a process that can
|
|
|
|
|
emit `nothing-to-report`. Outside a session no such process exists.
|
|
|
|
|
|
|
|
|
|
The consumer fell back to reconciliation only. That preserves correctness but
|
|
|
|
|
leaves the observer unable to bound silence at all.
|
|
|
|
|
|
|
|
|
|
## Options named by the consumer
|
|
|
|
|
|
|
|
|
|
1. An **activity-scope** or session-bounded form. The source emits start/stop
|
|
|
|
|
(or open/close) markers, and the cadence expectation applies only inside the
|
|
|
|
|
bounded interval.
|
|
|
|
|
2. An explicit statement in the standard that session-scoped sources are out
|
|
|
|
|
of scope. Such sources would then declare reconciliation only, and observers
|
|
|
|
|
would not evaluate their silence.
|
|
|
|
|
|
|
|
|
|
## Constraints on a disposition
|
|
|
|
|
|
|
|
|
|
- A new form changes the wire schema (`0.1`). Under the `0.x` rules that is
|
|
|
|
|
allowed with migration guidance. Existing declarations stay valid only if the
|
|
|
|
|
form is additive.
|
|
|
|
|
- Declarations pinned before the change stay pinned to their digest. Stable
|
|
|
|
|
promotion needs declarations against one fixed reading of the contract, so
|
|
|
|
|
a schema change before stable resets which pin later evidence should use.
|
|
|
|
|
- This demand is not accepted. Choosing between the options, or rejecting both,
|
|
|
|
|
is a canon-owner decision.
|