STATE-WP-0070 T04 (partial): drop open_workstreams from /state/summary

Removes the redundant open_workstreams mirror field from StateSummary (schema,
router, MCP get_domain_summary reader, dashboard consumers + empty-state stub,
and tests). Consumers already preferred open_workplans, so this is the
low-risk half of T04.

Deferred (still have live callers — not yet retirement-ready):
- workstream_id query/body field alias on preferred routes — external
  session-close curls/scripts fleet-wide still send it.
- flows/workstream.yaml — /flows/workstream/{id} routes are still served and
  exercised by tests; retire only once no callers remain.

Staged on branch state-wp-0070-legacy-retirement — do not merge until the 7th
documented zero-usage window is captured.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
This commit is contained in:
tegwick 2026-07-13 10:04:38 +02:00
parent ef62cb3872
commit 6d3de59436
8 changed files with 9 additions and 16 deletions

View file

@ -263,9 +263,7 @@ def get_domain_summary(domain_slug: str) -> str:
topic_id = topic["id"]
state_summary = _get("/state/summary")
open_workplans = state_summary.get("open_workplans") or state_summary.get(
"open_workstreams", []
)
open_workplans = state_summary.get("open_workplans", [])
workstreams = [ws for ws in open_workplans if ws.get("topic_id") == topic_id]
blocking = _get("/decisions", {"decision_type": "pending", "topic_id": topic_id})
recent = _get("/progress", {"topic_id": topic_id, "limit": 5})