Skip to content

feat(meshcore): region scope on MessageChannel (#391)#393

Merged
pskillen merged 5 commits into
mainfrom
api-391/pskillen/region-scope
Jun 3, 2026
Merged

feat(meshcore): region scope on MessageChannel (#391)#393
pskillen merged 5 commits into
mainfrom
api-391/pskillen/region-scope

Conversation

@pskillen
Copy link
Copy Markdown
Owner

@pskillen pskillen commented Jun 3, 2026

Summary

  • Add canonical region_scope on MessageChannel (MC rows); drop mc_hashtag with data migration and new uniqueness on (name, mc_channel_type, region_scope).
  • Sync/apply serializers and OpenAPI use region_scope; labels show scope suffix (e.g. #galloway · sample-west).
  • Follow-up: when device snapshots omit region_scope, reconcile preserves scope from the feeder’s existing slot link when name/type still match (avoids duplicate unscoped canonical rows).
  • Timeless docs under docs/features/meshcore/mc-channel-sync/ including region-scope.md; ADR-0002 amended.

Deploy: run migrations before bot/UI that send region_scope.

Closes #391 (API slice).

Related PRs: meshflow-bot #127, meshflow-ui #321

Testing performed

  • pytest for test_mc_region_scope, test_mc_channel_labels, test_channel_sync (including scope preservation when snapshot omits scope), test_canonical_channels, test_channel_apply_service, test_apply_channel.

Document device-to-API channel mirror, apply-to-radio flow, data model,
and operations. Link from meshcore README; groundwork for #391.
Progress/outstanding logs, region-scope.md, and updates to mc-channel-sync
hub, flow, data-model, and ADR-0002.
Migration drops mc_hashtag, backfills hashtag names, and enforces uniqueness
on name, type, and region_scope. Channel identity upsert keys on the new shape.
Serializers, OpenAPI, admin, and labels; tests updated for region-scoped
canonical channels.
…#391)

Enrich mc-channel-sync from existing feeder slot links when CHANNEL_INFO
returns name only, avoiding duplicate unscoped canonical MessageChannel rows.
@pskillen pskillen merged commit ece5e0c into main Jun 3, 2026
2 checks passed
@pskillen pskillen deleted the api-391/pskillen/region-scope branch June 3, 2026 15:34
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.

feat: support MeshCore region scopes

2 participants