Context
Area
crates/koinon/src/signal.rs (SignalKind enum) ↔ production collectors.
Severity
medium — drift between domain-agnostic pipeline claim and live coverage.
Evidence
crates/koinon/src/signal.rs:240-254 — pub enum SignalKind has 7 variants: Rf, Mesh, Network, Proximity, Gps, Environmental, Osint.
grep -rn "SignalKind::" crates/ --include="*.rs" | grep -v "signal.rs\|signal_tests.rs\|convergence.rs\|aggregator.rs" → only kerykeion/src/signals.rs constructs SignalKind::Mesh(...) in production.
semaino/src/convergence.rs:196-202 matches all 7 variants, but no production code constructs the other 6.
Conflict
The shared signal model claims 7 domains; README claims multiple shipped domains. In practice only mesh signals flow through the pipeline. The non-Mesh variants exist only in test modules.
Why it matters
Convergence detection and anomaly baselines are exercised only by mesh traffic; the "domain-agnostic" pipeline is untested for cross-domain behavior. Either the surface should match reality, or the multi-domain claim should be downgraded to planned.
Done criteria
- Either add live collectors for additional domains (RF via SDR, proximity, GPS, etc.) and prove they emit
SignalKind::* in integration tests, or
- Document that only mesh is currently wired and add property tests that inject synthetic signals of all 7 kinds to prove the pipeline handles them.
Source
Kimi L1+L2 audit pipeline 2026-04-25.
Provenance
Originally filed on the kanon forge as issue #13 on 2026-04-25T20:15:18.612874585-05:00[America/Chicago]. Recovered from 2026-05-09 pre-brick restic backup. Forge URL no longer reachable post firmware brick.
Severity
P2
Context
Area
crates/koinon/src/signal.rs(SignalKind enum) ↔ production collectors.Severity
medium — drift between domain-agnostic pipeline claim and live coverage.
Evidence
crates/koinon/src/signal.rs:240-254—pub enum SignalKindhas 7 variants:Rf,Mesh,Network,Proximity,Gps,Environmental,Osint.grep -rn "SignalKind::" crates/ --include="*.rs" | grep -v "signal.rs\|signal_tests.rs\|convergence.rs\|aggregator.rs"→ onlykerykeion/src/signals.rsconstructsSignalKind::Mesh(...)in production.semaino/src/convergence.rs:196-202matches all 7 variants, but no production code constructs the other 6.Conflict
The shared signal model claims 7 domains; README claims multiple shipped domains. In practice only mesh signals flow through the pipeline. The non-Mesh variants exist only in test modules.
Why it matters
Convergence detection and anomaly baselines are exercised only by mesh traffic; the "domain-agnostic" pipeline is untested for cross-domain behavior. Either the surface should match reality, or the multi-domain claim should be downgraded to planned.
Done criteria
SignalKind::*in integration tests, orSource
Kimi L1+L2 audit pipeline 2026-04-25.
Provenance
Originally filed on the kanon forge as issue #13 on 2026-04-25T20:15:18.612874585-05:00[America/Chicago]. Recovered from 2026-05-09 pre-brick restic backup. Forge URL no longer reachable post firmware brick.
Severity
P2