chore: sweep Phase A framing from comments/docstrings

Replace "Phase A/B", "routing revamp" references with
"routing simplification" in docstrings and comments.
No code logic changes.

Files updated:
- meshai/config.py (SinkConfig docstring)
- meshai/notifications/channels.py (create_channel_from_sink docstring)
- meshai/scripts/migrate_config_routing.py (module docstring + argparse)
- meshai/dashboard/api/notification_routes.py (endpoint comments)
- tests/test_sinks.py (module docstring)

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
This commit is contained in:
Matt Johnson (via Claude) 2026-06-11 02:48:31 +00:00
commit f935b7702c
5 changed files with 9 additions and 9 deletions

View file

@ -503,8 +503,8 @@ class EnvironmentalConfig:
class SinkConfig:
"""Named notification sink — transport defined once, referenced by name.
Phase A of routing revamp: transports defined once in sinks block,
referenced by name in toggles/rules (Phase B).
Routing simplification: transports defined once in sinks block,
referenced by name in toggles/rules. See docs/routing-simplification.md.
"""
type: str = "mesh_broadcast" # mesh_broadcast|mesh_dm|email|webhook

View file

@ -311,7 +311,7 @@ async def send_rule_live(request: Request, rule_index: int):
# =============================================================================
# SINKS ENDPOINTS (Phase A of routing revamp)
# SINKS ENDPOINTS (routing simplification)
# =============================================================================
@router.get("/sinks")
@ -319,7 +319,7 @@ async def get_sinks(request: Request):
"""Get configured notification sinks.
Returns list of named sinks with their type and config.
Phase A: read-only list; Phase B adds edit endpoints.
Read-only list for now; edit endpoints added later.
"""
config = getattr(request.app.state, "config", None)
if not config or not hasattr(config, "notifications"):

View file

@ -841,7 +841,7 @@ def create_channel_from_dict(config: dict, connector=None) -> NotificationChanne
def create_channel_from_sink(sink: "SinkConfig", connector=None) -> NotificationChannel:
"""Create a channel instance from a SinkConfig dataclass.
Phase A of routing revamp: sinks are named transports defined once,
Routing simplification: sinks are named transports defined once,
this factory creates the channel instance for delivery.
Args:

View file

@ -1,5 +1,5 @@
#!/usr/bin/env python3
"""Migration script for MeshAI routing revamp Phase A: synthesize sinks.
"""Migration script for MeshAI routing simplification: synthesize sinks.
This script reads existing notification toggles and rules, extracts their
inline transport configurations, and synthesizes named sinks.
@ -12,7 +12,7 @@ The migration:
3. For each enabled rule with inline transport config, synthesizes a named sink
4. Deduplicates identical transports into one sink
5. Writes the sinks block to the config
6. Does NOT remove inline fields (Phase B does that)
6. Does NOT remove inline fields (done in a later step)
Idempotent: refuses to run if a sinks block already exists.
"""
@ -287,7 +287,7 @@ def write_sinks_to_config(config_path: Path, sinks: dict):
def main():
parser = argparse.ArgumentParser(
description="Migrate MeshAI config to use named sinks (Phase A)"
description="Migrate MeshAI config to use named sinks"
)
parser.add_argument(
"--config",

View file

@ -1,4 +1,4 @@
"""Tests for Phase A routing revamp: SinkConfig and sink utilities.
"""Tests for routing simplification: SinkConfig and sink utilities.
Tests cover:
1. SinkConfig dataclass conversion from dict