Clean up all tmux occurrences from dev skills and integrate herdr wrapper translation shim with dynamic env and workspace ID parsing
This commit is contained in:
@@ -25,7 +25,7 @@ PROJECT_ROOT="$(cd "$(dirname "${BASH_SOURCE[0]}")/../../../../" && pwd)"
|
||||
|
||||
if [ "$JSON" = "1" ]; then
|
||||
# D8: --json historically only carried reconcile.sh's drift subset (timestamp/
|
||||
# yaml_path/tmux_sessions_alive/tmux_confirmed/drifts/actions), not the enriched
|
||||
# yaml_path/herdr_sessions_alive/herdr_confirmed/drifts/actions), not the enriched
|
||||
# per-row fields (RESUME/JOB_ID/JOB_STATUS/CMD/attach_command/pane.cwd/...) that
|
||||
# only this script's text-mode block computed. Fixed additively below via a
|
||||
# 'sessions_detail' key — every existing key is passed through untouched, so
|
||||
@@ -42,7 +42,7 @@ try:
|
||||
except Exception:
|
||||
d = {}
|
||||
|
||||
alive = set(drift.get('tmux_sessions_alive', []))
|
||||
alive = set(drift.get('herdr_sessions_alive', []))
|
||||
drift_by_name = {}
|
||||
for dr in drift.get('drifts', []):
|
||||
drift_by_name.setdefault(dr['name'], []).append(dr['class'])
|
||||
@@ -91,9 +91,9 @@ def get_job_status(s):
|
||||
|
||||
|
||||
sessions_detail = []
|
||||
for s in d.get('tmux_sessions', []):
|
||||
for s in d.get('herdr_sessions', []):
|
||||
name = s.get('name', '?')
|
||||
server = s.get('tmux_server') or 'default'
|
||||
server = s.get('herdr_server') or 'default'
|
||||
jid, jstatus = get_job_status(s)
|
||||
pane = s.get('pane') or {}
|
||||
sessions_detail.append({
|
||||
@@ -103,7 +103,7 @@ for s in d.get('tmux_sessions', []):
|
||||
'name': name,
|
||||
'server': server,
|
||||
'status': s.get('status', '?'),
|
||||
'tmux_alive': f"{name}|{server}" in alive,
|
||||
'herdr_alive': f"{name}|{server}" in alive,
|
||||
'cmd': pane.get('cmd'),
|
||||
'role': s.get('role'),
|
||||
'resume_state': resume_on_disk(s),
|
||||
@@ -138,7 +138,7 @@ try:
|
||||
except Exception:
|
||||
d = {}
|
||||
|
||||
alive = set(drift.get('tmux_sessions_alive', []))
|
||||
alive = set(drift.get('herdr_sessions_alive', []))
|
||||
drift_by_name = {}
|
||||
for dr in drift.get('drifts', []):
|
||||
drift_by_name.setdefault(dr['name'], []).append(dr['class'])
|
||||
@@ -188,8 +188,8 @@ def get_job_status(s):
|
||||
return (jid, 'unknown')
|
||||
|
||||
|
||||
sessions = d.get('tmux_sessions', [])
|
||||
print(f"agent-sessions status — {drift['timestamp']} (herdr_confirmed={drift['tmux_confirmed']})")
|
||||
sessions = d.get('herdr_sessions', [])
|
||||
print(f"agent-sessions status — {drift['timestamp']} (herdr_confirmed={drift['herdr_confirmed']})")
|
||||
print("=" * 136)
|
||||
print(f"{'NAME':<44} {'WORKSPACE':<12} {'YAML':<10} {'HERDR':<6} {'CMD':<6} {'RESUME':<8} {'JOB_ID':<10} {'JOB_STATUS':<12} DRIFT")
|
||||
print("-" * 136)
|
||||
@@ -197,7 +197,7 @@ if not sessions:
|
||||
print("(no sessions registered)")
|
||||
for s in sessions:
|
||||
name = s.get('name', '?')
|
||||
server = s.get('tmux_server') or 'default'
|
||||
server = s.get('herdr_server') or 'default'
|
||||
status = s.get('status', '?')
|
||||
herdr = 'alive' if f"{name}|{server}" in alive else 'dead'
|
||||
cmd = (s.get('pane') or {}).get('cmd', '?')
|
||||
|
||||
Reference in New Issue
Block a user