info-tech-canon/infospace/assimilation/emission-cadence/ASSIMILATION.md
tegwick b081d39da1
All checks were successful
CI Smoke / host-smoke (push) Successful in 0s
CI Smoke / container-smoke (push) Successful in 3s
Implement canon conformance and maintenance optimizations
Assistant: codex
Assistant-Model: gpt-6-astra
Assistant-Session: 01a06e82-3e08-7042-a79d-438ac6eed8db
2026-09-05 00:50:09 +02:00

79 lines
3.3 KiB
Markdown

# Assimilation — EmissionCadenceDeclaration
**Status:** Closed
**Disposition:** Adapt
**Source:** King's Guard Taxonomy draft 0.1.0
**Authority:** `GH-DEC-2026-004` / State Hub decision
`89c73f45-d07b-40ea-b428-5a7375ce4b09`
## Scope
This assimilation covers the generic, ecosystem-wide shape by which a source
declares an expected emission cadence for an event class. It does not absorb
the NetKingdom security profile: evidence-class policy, MUST/SHOULD obligations,
and the rule requiring heartbeat plus reconciliation for rare load-bearing
classes remain owned by NetKingdom.
## Findings
- The Observability Model already owns `Signal`, `SignalSource`, `Event`,
`EventSource`, and the missing-signal pattern. It does not own a portable
source declaration for the expected arrival of an event class.
- The Governance Model already owns `Finding`. A cadence declaration names
detection conditions but does not redefine the finding record or lifecycle.
- The handover contains two useful generic forms: an expected count over a
window, and a positive heartbeat and/or count reconciliation for streams
whose meaningful events are intermittent.
- `evidence_class`, security modality, and required combinations are importing
profile concerns rather than generic cadence semantics.
## DecisionRecord
### Context
King's Guard needs a stable contract to evaluate silence but is a Staff-layer
consumer, not the Taxonomy owner. Gate House assigned the generic contract to
InfoTechCanon and the NetKingdom security profile to `net-kingdom`.
### Decision
Adapt the draft into `standard/emission-cadence` and schema version `0.1`.
Preserve its two form names and field meanings. Make profile classifications
optional extension data, and let the heartbeat-or-reconciliation form contain
either mechanism or both. Publish strict validation for the generic core and a
namespaced `extensions` object for profile-owned additions.
### Options Considered
- Keep the schema in King's Guard — rejected because a consumer would own the
semantics it evaluates.
- Put the whole contract in NetKingdom — rejected because generic cadence is
reusable outside that security estate.
- Joint ownership — rejected because version authority would be ambiguous.
- Adapt the generic core here and import it from a NetKingdom profile — chosen.
### Rationale
The split follows the repository's Taxonomy role and Core's single-owner rule.
Allowing heartbeat, reconciliation, or both keeps the generic form useful while
leaving NetKingdom free to require the stronger combination.
### Consequences
- Sources own their declaration instances and emission behavior.
- Observers own evaluation and findings, not the declaration schema.
- Importing profiles may require fields or combinations but may not change the
generic fields' meanings.
- King's Guard's draft becomes provenance rather than a competing contract.
### Review Trigger
Review the draft after two independent source implementations, or when an
importing profile needs a third cadence form that cannot be expressed through
extensions without changing generic semantics.
## Result
The source was adapted, not copied into the canon. The resulting standard,
schema, and worked example are registered in canon 0.7.0 and validated by the
service surface.