@@ -493,7 +493,7 @@ workflow-task command payload.
493493### System
494494- ` GET /api/health ` — Health check
495495- ` GET /api/ready ` — Readiness check for migrations, default namespace, cache, and auth config
496- - ` GET /api/cluster/info ` — Server capabilities and version
496+ - ` GET /api/cluster/info ` — Server capabilities, role topology, and version
497497- ` GET /api/system/metrics ` — Server metrics including bounded stuck workflow-task diagnostics
498498- ` GET /api/system/operator-metrics ` — Full operator metrics snapshot (runs, tasks, backlog, repair, workers/fleet, backend, structural limits) for rollout-safety coordination health
499499- ` GET /api/system/repair ` — Task repair diagnostics
@@ -652,6 +652,16 @@ Server-owned cache keys and metric label sets are governed by the bounded-growth
652652policy in ` config/dw-bounded-growth.php ` ; the human-readable inventory lives in
653653` docs/bounded-growth.md ` .
654654
655+ Cluster discovery also publishes a ` topology ` manifest. It freezes the server's
656+ role vocabulary (` api_ingress ` , ` control_plane ` , ` matching ` ,
657+ ` history_projection ` , ` scheduler ` , ` execution_plane ` ), the product's supported
658+ deployment shapes (` embedded ` , ` standalone_server ` ,
659+ ` split_control_execution ` ), the roles currently hosted by the HTTP node, and
660+ the current execution mode. ` execution_mode ` is ` remote_worker_protocol ` in the
661+ default service-mode deployment and switches to ` local_queue_worker ` when
662+ ` DW_MODE=embedded ` routes workflow and activity task execution through local
663+ Laravel queue workers.
664+
655665The activity-grade external execution surface is published from
656666` GET /api/cluster/info ` at
657667` worker_protocol.external_execution_surface_contract ` . That manifest is the
0 commit comments