PR #52's substance (Tanko -> DSH) was merged out-of-band earlier (squash 79af0ae), but the subsequent out-of-band squash of PR #50 (2dfc3e1) overwrote scripts/agent-health-check.py with a version whose AGENTS dict was empty. The health check has silently skipped every agent (gateway, config, wrapper checks) since — the DSH/report-only logic survived, with no roster to act on.
Additionally, two Tanko-DSH rows from #52 never landed.
scripts/agent-health-check.py parses (ast.parse) with the roster restored.
Closes the reland of PR #52; stale branch head stays closed.
## Problem
PR #52's substance (Tanko -> DSH) was merged out-of-band earlier (squash `79af0ae`), but the subsequent out-of-band squash of PR #50 (`2dfc3e1`) **overwrote `scripts/agent-health-check.py` with a version whose `AGENTS` dict was empty**. The health check has silently skipped every agent (gateway, config, wrapper checks) since — the DSH/report-only logic survived, with no roster to act on.
Additionally, two Tanko-DSH rows from #52 never landed.
## Change
1. **Restore the pre-stomp `AGENTS` roster verbatim** (`2dfc3e1^`): tanko (`runtime: "dsh"`), abiba, koby, koonimo.
2. **hermes-zulip-plugin.prose.md**: add Tanko row (CT112 — plugin retired on this host, DSH since 2026-08-27).
3. **zulip-self-heal.prose.md**: add Tanko row (restart via DSH service, NOT `hermes gateway restart`).
## Intentionally NOT changed
- The branch's Mumuni rows (CT100/.24) were **not** restored — pre-migration data superseded by PRs #54-56 (Mumuni on kagentz CT105/.14).
- zulip-monitor.sh stays on master's de-spammed version (PR #57); the branch's copy still had Gmail creds that were deliberately removed.
- All DSH contract text already on master — untouched.
- Model rows in gpu-fleet / gpu-self-heal (pending @abiba-bot's live verification of the RTX 5070, relay #744).
## Verification
- `scripts/prose-lint.sh`: PASSED (15 pre-existing warnings, 0 errors).
- `scripts/agent-health-check.py` parses (`ast.parse`) with the roster restored.
- Closes the reland of PR #52; stale branch head stays closed.
2dfc3e1 (PR #50's out-of-band squash) overwrote agent-health-check.py with
a version whose AGENTS dict was empty — the health check silently skipped
every agent since. Restore the pre-stomp roster verbatim: tanko (runtime:
dsh), abiba, koby, koonimo.
Also land two Tanko-DSH rows from PR #52 that the earlier merge missed:
- hermes-zulip-plugin live-state table (plugin retired on CT112)
- zulip-self-heal restart-services table (restart via DSH service, not
hermes gateway restart)
Mumuni rows from the branch were NOT restored: they carry pre-migration
CT100/.24 data, superseded by PRs #54-56 (Mumuni now on kagentz CT105/.14).
Closes the reland of PR #52's substance; the stale branch head stays closed.
Blocking a user prevents them from interacting with repositories, such as opening or commenting on pull requests or issues. Learn more about blocking a user.
Problem
PR #52's substance (Tanko -> DSH) was merged out-of-band earlier (squash
79af0ae), but the subsequent out-of-band squash of PR #50 (2dfc3e1) overwrotescripts/agent-health-check.pywith a version whoseAGENTSdict was empty. The health check has silently skipped every agent (gateway, config, wrapper checks) since — the DSH/report-only logic survived, with no roster to act on.Additionally, two Tanko-DSH rows from #52 never landed.
Change
AGENTSroster verbatim (2dfc3e1^): tanko (runtime: "dsh"), abiba, koby, koonimo.hermes gateway restart).Intentionally NOT changed
Verification
scripts/prose-lint.sh: PASSED (15 pre-existing warnings, 0 errors).scripts/agent-health-check.pyparses (ast.parse) with the roster restored.