[object Object]

← back to Chief Of Operations

add plannator state oversight

7a7cb75cb91d390b488da478c20bfe2331a9e3ea · 2026-09-17 08:36:49 -0700 · Steve Abrams

Files touched

Diff

commit 7a7cb75cb91d390b488da478c20bfe2331a9e3ea
Author: Steve Abrams <steve@designerwallcoverings.com>
Date:   Thu Sep 17 08:36:49 2026 -0700

    add plannator state oversight
---
 chief_ops.py | 14 ++++++++++++++
 1 file changed, 14 insertions(+)

diff --git a/chief_ops.py b/chief_ops.py
index 574a6f2..021d5a1 100755
--- a/chief_ops.py
+++ b/chief_ops.py
@@ -57,6 +57,19 @@ def router_evidence():
             'frontmost_exempt': front_exempt, 'last': last, 'samples': len(rows),
             'cellfails': sum(1 for x in log.read_text(errors='replace').splitlines()[-40:] if '"event":"cellfail"' in x)}
 
+def plannator_state():
+    root = HOME/'.claude/skills/plannator/state'
+    files = sorted(root.glob('*.json')) if root.exists() else []
+    active=[]; blocked=[]
+    for p in files:
+        try:
+            d=json.loads(p.read_text())
+            states=[str(s.get('status','')).lower() for s in d.get('steps',[]) if isinstance(s,dict)]
+            if any(s in ('running','pending') for s in states): active.append(p.stem)
+            if 'blocked' in states: blocked.append(p.stem)
+        except Exception: continue
+    return {'ok': root.exists(), 'manifest_count': len(files), 'active': active[-20:], 'blocked': blocked[-20:]}
+
 
 def check():
     status={}
@@ -75,6 +88,7 @@ def check():
       'dotbar_launchd': launchd('com.steve.desktop-dotbar'),
       'dotbar_health': http_health(9787),
       'plannator_health': http_health(9772),
+      'plannator_state': plannator_state(),
       'router_evidence': router_evidence(),
       'legacy_conflicts_archived': {'ok': all(x in archived for x in ('arrange','tile-blue-right','tile-green-left')), 'items': archived},
       'screenshots': {'ok': all(x['ok'] for x in screenshots), 'items': screenshots},

← e47b4c0 treat frontmost layout exemption as healthy  ·  back to Chief Of Operations  ·  auto-data-snapshot: 2026-09-17T08:48:40 (1 data files) — REA e1f1d58 →