120120TERMINAL_COMMANDER_STATUSES = {"success" , "partial" , "complete" , "completed" , "done" , "failed" , "error" , "blocked" }
121121TERMINAL_SUCCESS_COMMANDER_STATUSES = {"success" , "partial" , "complete" , "completed" , "done" }
122122
123+
124+ def terminal_commander_status_label (status : str ) -> str :
125+ normalized = (status or "" ).lower ()
126+ if normalized == "blocked" :
127+ return "BLOCKED"
128+ if normalized in {"failed" , "error" }:
129+ return "FAILED"
130+ if normalized == "partial" :
131+ return "PARTIAL"
132+ if normalized in TERMINAL_SUCCESS_COMMANDER_STATUSES :
133+ return "DONE"
134+ return "STALE"
135+
136+
123137_SPARK_CHARS = "▁▂▃▄▅▆▇█"
124138_WAVE_CHARS = "▁▂▃▄▅▆▇█▇▆▅▄▃▂▁"
125139_HEARTBEATS = ["💗" , "💖" , "💓" , "❤️" , "💓" , "💗" ]
@@ -1383,15 +1397,57 @@ def metric_int(*values: object, default: int = 0) -> int:
13831397 commander_state .get ("atoms_received" ),
13841398 ),
13851399 heartbeat_age_s = heartbeat_age ,
1386- child_agents_seen = int (child_counts .get ("total" ) or 0 ),
1400+ child_agents_seen = max (
1401+ int (child_counts .get ("total" ) or 0 ),
1402+ metric_int (
1403+ telemetry .get ("squad_leads_launched" ),
1404+ commander_state .get ("squad_leads_launched" ),
1405+ )
1406+ + metric_int (
1407+ telemetry .get ("workers_launched" ),
1408+ commander_state .get ("workers_launched" ),
1409+ ),
1410+ ),
13871411 child_agents_running = child_in_progress if commander_active else 0 ,
1388- child_agents_completed = int (child_counts .get ("completed" ) or 0 ),
1389- child_agents_failed = int (child_counts .get ("failed" ) or 0 ),
1390- child_agents_stale = 0 if commander_active else child_in_progress ,
1412+ child_agents_completed = max (
1413+ int (child_counts .get ("completed" ) or 0 ),
1414+ metric_int (
1415+ telemetry .get ("squad_leads_completed" ),
1416+ commander_state .get ("squad_leads_completed" ),
1417+ )
1418+ + metric_int (
1419+ telemetry .get ("workers_completed" ),
1420+ commander_state .get ("workers_completed" ),
1421+ ),
1422+ ),
1423+ child_agents_failed = max (
1424+ int (child_counts .get ("failed" ) or 0 ),
1425+ metric_int (
1426+ telemetry .get ("squad_leads_failed" ),
1427+ commander_state .get ("squad_leads_failed" ),
1428+ )
1429+ + metric_int (
1430+ telemetry .get ("workers_failed" ),
1431+ commander_state .get ("workers_failed" ),
1432+ ),
1433+ ),
1434+ child_agents_stale = 0 if commander_active or status_text in TERMINAL_COMMANDER_STATUSES else child_in_progress ,
13911435 division_commanders_seen = int (child_counts .get ("division_commanders" ) or 0 ),
13921436 commanders_seen = int (child_counts .get ("commanders" ) or 0 ),
1393- squad_leads_seen = int (child_counts .get ("squad_leads" ) or 0 ),
1394- workers_seen = int (child_counts .get ("workers" ) or 0 ),
1437+ squad_leads_seen = max (
1438+ int (child_counts .get ("squad_leads" ) or 0 ),
1439+ metric_int (
1440+ telemetry .get ("squad_leads_launched" ),
1441+ commander_state .get ("squad_leads_launched" ),
1442+ ),
1443+ ),
1444+ workers_seen = max (
1445+ int (child_counts .get ("workers" ) or 0 ),
1446+ metric_int (
1447+ telemetry .get ("workers_launched" ),
1448+ commander_state .get ("workers_launched" ),
1449+ ),
1450+ ),
13951451 reviewers_seen = int (child_counts .get ("reviewers" ) or 0 ),
13961452 other_children_seen = int (child_counts .get ("other" ) or 0 ),
13971453 recent_children = recent_children ,
@@ -1493,12 +1549,8 @@ def live_agents(self, metaswarm_runs: Optional[List[MetaswarmRun]] = None) -> Li
14931549 )
14941550 )
14951551 if commander_agent_id not in seen_stampede_agents :
1496- if commander .status == "blocked" :
1497- commander_status = "BLOCKED"
1498- elif commander .status in {"failed" , "error" }:
1499- commander_status = "FAILED"
1500- elif commander .status in {"success" , "done" , "completed" }:
1501- commander_status = "DONE"
1552+ if commander_status_text in TERMINAL_COMMANDER_STATUSES :
1553+ commander_status = terminal_commander_status_label (commander_status_text )
15021554 elif commander_active :
15031555 commander_status = "RUN"
15041556 else :
@@ -1516,7 +1568,14 @@ def live_agents(self, metaswarm_runs: Optional[List[MetaswarmRun]] = None) -> Li
15161568 )
15171569 )
15181570 if commander .child_agents_seen :
1519- summary_status = "RUN" if commander_active and commander .child_agents_running else "STALE" if commander .child_agents_stale else "DONE"
1571+ if commander_status_text in TERMINAL_COMMANDER_STATUSES :
1572+ summary_status = terminal_commander_status_label (commander_status_text )
1573+ elif commander_active and commander .child_agents_running :
1574+ summary_status = "RUN"
1575+ elif commander .child_agents_stale :
1576+ summary_status = "STALE"
1577+ else :
1578+ summary_status = "DONE"
15201579 live .append (
15211580 LiveAgent (
15221581 source = "metaswarm" ,
@@ -1525,7 +1584,7 @@ def live_agents(self, metaswarm_runs: Optional[List[MetaswarmRun]] = None) -> Li
15251584 name = (
15261585 f"sub-agents { commander .child_agents_seen } "
15271586 f"(div { commander .division_commanders_seen } , cmd { commander .commanders_seen } , "
1528- f"sq { commander .squad_leads_seen } , sub { commander .workers_seen } , "
1587+ f"sq { commander .squad_leads_seen } , workers { commander .workers_seen } , "
15291588 f"rev { commander .reviewers_seen } , other { commander .other_children_seen } ; "
15301589 f"run { commander .child_agents_running } , stale { commander .child_agents_stale } , "
15311590 f"done { commander .child_agents_completed } , fail { commander .child_agents_failed } )"
@@ -2038,16 +2097,7 @@ def _model_from_cmd(cmd: str) -> Optional[str]:
20382097
20392098 @staticmethod
20402099 def _terminal_commander_status (status : str ) -> str :
2041- normalized = (status or "" ).lower ()
2042- if normalized == "blocked" :
2043- return "BLOCKED"
2044- if normalized in {"failed" , "error" }:
2045- return "FAILED"
2046- if normalized == "partial" :
2047- return "PARTIAL"
2048- if normalized in TERMINAL_SUCCESS_COMMANDER_STATUSES :
2049- return "DONE"
2050- return "STALE"
2100+ return terminal_commander_status_label (status )
20512101
20522102 @staticmethod
20532103 def _stampede_commander_key (agent : LiveAgent ) -> Optional [Tuple [str , str ]]:
0 commit comments