Files
natsdotnet/docs/plans/2026-02-23-go-dotnet-test-parity-plan.md.tasks.json
Joseph Doherty 36847b732d docs: add go-to-dotnet test parity implementation plan (30 tasks, 4 phases)
30-task plan across 4 gated phases:
- Phase A (Foundation): Client, Parser, SubList, Server, Routes, Gateways, Leaf Nodes, Accounts
- Phase B (Distributed Substrate): RAFT, Storage, Config/Reload, Monitoring
- Phase C (JetStream Depth): Core, Clustering
- Phase D (Protocol Surfaces): MQTT, JWT

Includes concrete test code, TDD steps, and task dependency tracking.
2026-02-23 17:36:07 -05:00

37 lines
3.7 KiB
JSON

{
"planPath": "docs/plans/2026-02-23-go-dotnet-test-parity-plan.md",
"tasks": [
{"id": 7, "subject": "Task 1: Port Client Basic Pub/Sub Tests", "status": "pending", "phase": "A"},
{"id": 8, "subject": "Task 2: Port Client UNSUB and Auto-Unsub Tests", "status": "pending", "phase": "A"},
{"id": 9, "subject": "Task 3: Port Client Header Tests", "status": "pending", "phase": "A"},
{"id": 10, "subject": "Task 4: Port Client Lifecycle and Slow Consumer Tests", "status": "pending", "phase": "A"},
{"id": 11, "subject": "Task 5: Port Parser Edge Case Tests", "status": "pending", "phase": "A"},
{"id": 12, "subject": "Task 6: Port SubList Concurrency and Edge Case Tests", "status": "pending", "phase": "A"},
{"id": 13, "subject": "Task 7: Port Server Configuration and Lifecycle Edge Case Tests", "status": "pending", "phase": "A"},
{"id": 14, "subject": "Task 8: Port Route Tests", "status": "pending", "phase": "A"},
{"id": 15, "subject": "Task 9: Port Gateway Tests", "status": "pending", "phase": "A"},
{"id": 16, "subject": "Task 10: Port Leaf Node Tests", "status": "pending", "phase": "A"},
{"id": 17, "subject": "Task 11: Port Account Isolation and Import/Export Tests", "status": "pending", "phase": "A"},
{"id": 18, "subject": "Task 12: Phase A Gate", "status": "pending", "phase": "A", "blockedBy": [7,8,9,10,11,12,13,14,15,16,17]},
{"id": 19, "subject": "Task 13: Port Storage Contract Tests — FileStore Basics", "status": "pending", "phase": "B", "blockedBy": [18]},
{"id": 20, "subject": "Task 14: Port Storage Contract Tests — MemStore and Retention", "status": "pending", "phase": "B", "blockedBy": [18]},
{"id": 21, "subject": "Task 15: Port RAFT Consensus Tests", "status": "pending", "phase": "B", "blockedBy": [18]},
{"id": 22, "subject": "Task 16: Port Config Reload Tests", "status": "pending", "phase": "B", "blockedBy": [18]},
{"id": 23, "subject": "Task 17: Port Monitoring Endpoint Tests", "status": "pending", "phase": "B", "blockedBy": [18]},
{"id": 24, "subject": "Task 18: Phase B Gate", "status": "pending", "phase": "B", "blockedBy": [19,20,21,22,23]},
{"id": 25, "subject": "Task 19: Port JetStream Stream Lifecycle Tests", "status": "pending", "phase": "C", "blockedBy": [24]},
{"id": 26, "subject": "Task 20: Port JetStream Publish and Ack Tests", "status": "pending", "phase": "C", "blockedBy": [24]},
{"id": 27, "subject": "Task 21: Port JetStream Consumer Delivery Tests", "status": "pending", "phase": "C", "blockedBy": [24]},
{"id": 28, "subject": "Task 22: Port JetStream Retention Policy Tests", "status": "pending", "phase": "C", "blockedBy": [24]},
{"id": 29, "subject": "Task 23: Port JetStream API Endpoint Tests", "status": "pending", "phase": "C", "blockedBy": [24]},
{"id": 30, "subject": "Task 24: Port JetStream Cluster Formation and Replica Tests", "status": "pending", "phase": "C", "blockedBy": [24]},
{"id": 31, "subject": "Task 25: Port JetStream Cluster Leader Failover Tests", "status": "pending", "phase": "C", "blockedBy": [24]},
{"id": 32, "subject": "Task 26: Phase C Gate", "status": "pending", "phase": "C", "blockedBy": [25,26,27,28,29,30,31]},
{"id": 33, "subject": "Task 27: Port MQTT Packet Parsing Tests", "status": "pending", "phase": "D", "blockedBy": [32]},
{"id": 34, "subject": "Task 28: Port MQTT QoS and Session Tests", "status": "pending", "phase": "D", "blockedBy": [32]},
{"id": 35, "subject": "Task 29: Port JWT Claim Edge Case Tests", "status": "pending", "phase": "D", "blockedBy": [32]},
{"id": 36, "subject": "Task 30: Phase D Gate and Final Verification", "status": "pending", "phase": "D", "blockedBy": [33,34,35]}
],
"lastUpdated": "2026-02-23T00:00:00Z"
}