Skip to content

research(R7): Stoer-Wagner mincut detects adversarial CSI nodes 3/3#704

Merged
ruvnet merged 1 commit into
mainfrom
research/sota-r7-multilink-consistency
May 22, 2026
Merged

research(R7): Stoer-Wagner mincut detects adversarial CSI nodes 3/3#704
ruvnet merged 1 commit into
mainfrom
research/sota-r7-multilink-consistency

Conversation

@ruvnet
Copy link
Copy Markdown
Owner

@ruvnet ruvnet commented May 22, 2026

Third tick of the SOTA research loop. Pure-NumPy demo lands a 3/3 detection rate against synthetic adversarial nodes in a multi-node CSI mesh.

Result

Attack mode Mincut value Partition_B Adversarial isolated?
replay 3.4513 {4} YES
constant shift 3.5724 {4} YES
noise injection 2.5586 {4} YES

3/3 = 100% detection rate.

Architectural payoff

This is exactly the primitive that fills the stub at cog-person-count::fusion::fuse_with_mincut_clip() introduced in ADR-103. The mincut value doubles as a continuous mesh-trustworthiness score for the cog-gateway dashboard.

Honest scope

Sloppy adversaries only. An adaptive attacker who read this note can probably evade by calibrating noise to keep cosine similarity inside the honest cluster floor. Stackelberg-game framing queued in the research note.

🤖 Generated with claude-flow

…n synthetic

Premise: in a multi-node CSI mesh, all nodes see the same physical
scene through slightly different multipath. Their per-window CSI
vectors cluster tightly under cosine similarity. An adversarial node
(replay / shift / noise injection) sits *outside* that cluster. The
Stoer-Wagner minimum cut on the inter-node similarity graph isolates
it cleanly when the cut is sharp.

Demo synthesises 4 honest nodes (one real CSI window from the paired
data + per-node Gaussian noise 6 dB below signal) and 1 adversarial
node under three attack modes. Cosine-similarity matrix, then
Stoer-Wagner mincut, then check whether partition_B is the singleton
{4} — the adversarial node.

  Attack       Mincut value   Partition_B   Isolated?
  -------      ------------   -----------   ---------
  replay       3.4513         {4}           YES
  shift        3.5724         {4}           YES
  noise        2.5586         {4}           YES

Detection rate: 3/3 = 100%.

Architectural payoff: this is the primitive that fills the stub at
. ADR-103 v0.2.0
can wire it in directly. The mincut value also becomes a continuous
'mesh trustworthiness' metric for the cog-gateway dashboard.

Honest scope: the demo uses sloppy attackers. Adaptive attackers who
have read this note can almost certainly evade by adding calibrated
noise that keeps cosine similarity above the cluster floor. The next
research step is the Stackelberg-game extension. See the
'Honest scope of this result' section in the research note.

Connections:
* R5 — top-8 saliency subcarriers are the priority list for a
  more-targeted per-subcarrier consistency check.
* R8 — same primitive likely works at lower SNR with RSSI-only
  metrics; cluster structure is preserved by the band integral.

Files:
* examples/research-sota/r7_multilink_consistency.py — pure-NumPy
  Stoer-Wagner mincut + synthetic-adversary harness.
* examples/research-sota/r7_multilink_consistency_results.json —
  full result JSON for cross-tick reproducibility.
* docs/research/sota-2026-05-22/R7-multilink-consistency.md — note.
* docs/research/sota-2026-05-22/PROGRESS.md — updated index + Done.
@ruvnet ruvnet merged commit bb92419 into main May 22, 2026
@ruvnet ruvnet deleted the research/sota-r7-multilink-consistency branch May 22, 2026 03:28
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant