Assistant: codex Assistant-Model: gpt-6-astra Assistant-Session: 01a06e82-3e08-7042-a79d-438ac6eed8db
79 lines
3.3 KiB
Markdown
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.
|