e762ae00f2
Claude-Session: https://claude.ai/code/session_01GASWkNEi68FSCtvr6rLoEW
19 lines
2.9 KiB
JSON
19 lines
2.9 KiB
JSON
{
|
|
"planPath": "docs/plans/2026-07-22-mesh-phase2-clusterclient-transport.md",
|
|
"note": "Per-cluster mesh Phase 2. Decisions pre-made: config-flagged dark switch (MeshTransport:Mode), buffer-size=0, alarm-commands central leg in scope. Three design-doc corrections and the single-mesh duplicate-delivery trap are documented in the plan header — read them before Task 3.",
|
|
"tasks": [
|
|
{"id": 0, "subject": "Task 0: MeshTransportOptions + validator + registration", "status": "completed", "classification": "small", "parallelizableWith": [1], "commit": "5439f148"},
|
|
{"id": 1, "subject": "Task 1: receptionist extension, buffer-size=0, frame-size logging (effective-config test)", "status": "completed", "classification": "small", "parallelizableWith": [0], "commit": "7b71a6a3", "note": "First draft of the buffering test was VACUOUS -- Config.GetInt returns 0 for a missing key, so it passed before the feature existed. Rewritten to assert through ClusterClientSettings/ClusterReceptionistSettings."},
|
|
{"id": 2, "subject": "Task 2: MeshCommand envelope + generation-suffixed ClusterClient factory", "status": "completed", "classification": "small", "blockedBy": [0], "commit": "0d6669d5", "note": "Dropped a third test that asserted ClusterClientSettings directly and never touched the factory."},
|
|
{"id": 3, "subject": "Task 3: CentralCommunicationActor — dark-switched SendToAll fan-out, DB-sourced contacts, ApplyAck forward", "status": "pending", "classification": "high-risk", "blockedBy": [1, 2], "parallelizableWith": [4]},
|
|
{"id": 4, "subject": "Task 4: NodeCommunicationActor — inbound to node-local EventStream, outbound ApplyAck", "status": "pending", "classification": "standard", "blockedBy": [1, 2], "parallelizableWith": [3]},
|
|
{"id": 5, "subject": "Task 5: node subscribers accept EventStream too; rename _coordinatorOverride -> _ackRouter", "status": "pending", "classification": "standard", "blockedBy": [4]},
|
|
{"id": 6, "subject": "Task 6: wire both sides, receptionist registration, pin the wire-contract actor paths", "status": "pending", "classification": "standard", "blockedBy": [3, 5]},
|
|
{"id": 7, "subject": "Task 7: route the five publish sites through the mesh router (nullable, mediator fallback)", "status": "pending", "classification": "standard", "blockedBy": [6]},
|
|
{"id": 8, "subject": "Task 8: real two-ActorSystem ClusterClient boundary test + falsifiability control", "status": "pending", "classification": "high-risk", "blockedBy": [7], "parallelizableWith": [9]},
|
|
{"id": 9, "subject": "Task 9: docker-dev rig config + docs + design-doc correction", "status": "pending", "classification": "small", "blockedBy": [7], "parallelizableWith": [8]},
|
|
{"id": 10, "subject": "Task 10: live gate on docker-dev (10 steps; step 4 and step 8 are the ones that matter)", "status": "pending", "classification": "high-risk", "blockedBy": [8, 9]}
|
|
],
|
|
"lastUpdated": "2026-07-22T00:00:00Z"
|
|
}
|