[Protocol] Resolve canonical channel namespace (mesh.* vs bare) #22

Closed
opened 2026-03-12 15:42:14 +00:00 by Mark · 3 comments
Owner

Inflection from v1 protocol implementation.

Problem

Current docs and examples mix both channel styles:

  • bare: intent.discovered, intent.claimed, result.committed
  • prefixed: mesh.intent.discovered, mesh.result.committed

Runtime now supports aliases, but this ambiguity will create drift across nodes and tools.

Proposed Resolution

  • Canonicalize to one namespace for v1 (recommend bare lifecycle channels + mesh.announce/mesh.heartbeat control channels)
  • Keep alias compatibility for one release
  • Add explicit deprecation warning and migration timeline

Acceptance

  • Single canonical channel table in specs/v1-protocol-and-gates.md
  • Backplane emits warning when non-canonical alias used
  • Node0/Node1 runtime examples use canonical only
Inflection from v1 protocol implementation. ## Problem Current docs and examples mix both channel styles: - bare: `intent.discovered`, `intent.claimed`, `result.committed` - prefixed: `mesh.intent.discovered`, `mesh.result.committed` Runtime now supports aliases, but this ambiguity will create drift across nodes and tools. ## Proposed Resolution - Canonicalize to one namespace for v1 (recommend bare lifecycle channels + `mesh.announce`/`mesh.heartbeat` control channels) - Keep alias compatibility for one release - Add explicit deprecation warning and migration timeline ## Acceptance - Single canonical channel table in `specs/v1-protocol-and-gates.md` - Backplane emits warning when non-canonical alias used - Node0/Node1 runtime examples use canonical only
Author
Owner

Status update (implemented in current working tree):

  • Canonical channel table documented in specs/v1-protocol-and-gates.md
  • Alias normalization retained for compatibility in substrate/protocol.py
  • Backplane now emits deprecation warnings on alias usage in substrate/backplane.py

This issue appears functionally complete pending review/merge.

Status update (implemented in current working tree): - Canonical channel table documented in `specs/v1-protocol-and-gates.md` - Alias normalization retained for compatibility in `substrate/protocol.py` - Backplane now emits deprecation warnings on alias usage in `substrate/backplane.py` This issue appears functionally complete pending review/merge.
Author
Owner

Closing update:

Implemented and verified in working tree:

  • canonical channel table documented in specs/v1-protocol-and-gates.md
  • alias normalization support in substrate/protocol.py
  • deprecation warnings for alias usage in substrate/backplane.py
  • runtime examples now use canonical channels

Acceptance criteria are satisfied; closing issue.

Closing update: Implemented and verified in working tree: - canonical channel table documented in `specs/v1-protocol-and-gates.md` - alias normalization support in `substrate/protocol.py` - deprecation warnings for alias usage in `substrate/backplane.py` - runtime examples now use canonical channels Acceptance criteria are satisfied; closing issue.
Mark closed this issue 2026-03-13 01:27:28 +00:00
Author
Owner

Phase Dependency Mapping

Linked to Phase Tracker: #31 (Phase 4: Optimization)

Prerequisites:

  • #19 (Multi-node mesh) - protocol across nodes
  • #8 (Integration test) - establishes conventions

Type: Protocol standardization
Priority: P2 (breaking change if done wrong)

Decision Needed:

  • mesh.* prefix: explicit, avoids collisions
  • Bare channels: cleaner, requires coordination

Impact: Affects all channel naming across the mesh
Blocker for: Production deployment

Recommendation: Decide before Phase 2 federation scales.

## Phase Dependency Mapping **Linked to Phase Tracker:** #31 (Phase 4: Optimization) **Prerequisites:** - #19 (Multi-node mesh) - protocol across nodes - #8 (Integration test) - establishes conventions **Type:** Protocol standardization **Priority:** P2 (breaking change if done wrong) **Decision Needed:** - `mesh.*` prefix: explicit, avoids collisions - Bare channels: cleaner, requires coordination **Impact:** Affects all channel naming across the mesh **Blocker for:** Production deployment **Recommendation:** Decide before Phase 2 federation scales.
Sign in to join this conversation.
No milestone
No project
No assignees
1 participant
Notifications
Due date
The due date is invalid or out of range. Please use the format "yyyy-mm-dd".

No due date set.

Dependencies

No dependencies set.

Reference
Mark/mesh-seed#22
No description provided.