Skip to content

audit: SignalKind defines 7 domains; only Mesh has a live production collector #127

@forkwright

Description

@forkwright

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-254pub 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

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions