Skip to content

No live no-bridge fixture: PolicyMap export-suppression is untested end to end #636

Description

@NickFlach

Problem

The Hive bridge's PolicyMap is fail-closed by design: a channel whose no-bridge policy has never been resolved is not exported, and a channel flagged no-bridge stops being exported within HIVE_POLICY_REFRESH_SECS.

None of that is exercised against real data. Surveying wss://buzz.ninja-portal.com as the 0xscada-qe organ returned 25 channels, and not one carried private or no-bridge:

Kannaka-01, Kannaka-02, hive-pulse, hive-mem-test, obs-ytl15, menu-tou8t, job-5084q, typ-ltrxo, two-test, plus multiple phase0-test / agent-test / vending-test fixtures.

So the unit tests cover the policy logic, but no end-to-end run can currently demonstrate that a flagged channel actually stops crossing to NATS.

Why this is the risky half

no-bridge is the only privacy control on the bridge. Human messages cross to the bus and into 90-day JetStream retention by default; the flag is what stops that. An untested export-suppression path is the one you least want to discover is broken.

The refresh window is the subtle part: buzz stores kind 39000 channel-scoped, so live subscriptions never receive it by fan-out. The bridge only learns about a newly-set flag by re-querying history on a timer. A channel flagged no-bridge keeps exporting for up to one refresh interval, and nothing has yet proven it stops after that.

What's needed

Relay-side, not code: flag one channel no-bridge on the Buzz box so there's a live fixture. A throwaway room (phase0-test, two-test) is enough — this doesn't need a real one.

That enables the spec's own end-to-end check: post in a bridged channel, confirm it reaches /nostr, set no-bridge, confirm traffic stops within HIVE_POLICY_REFRESH_SECS.

Note this also depends on relay support for the flag existing — Phase 1b of the bridge spec (the no_bridge column, the kind-9002 edit path, and emitting it on kind 39000) is upstream work in flaukowski/kannaka-buzz and may not have landed yet. If it hasn't, this issue is blocked on that.

Context

  • docs/superpowers/specs/2026-07-26-hive-swarm-traffic-on-nostr-design.md, Phase 1b and "Risks"
  • Survey evidence: docs/superpowers/specs/2026-07-26-seat-0xscada-qe-in-hive-design.md, "Run log"
  • Coordination board: coord-cid

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