[GEMINI-HARDEN-01] Replace hard-coded fleet inventory with repo-native config #433

Open
opened 2026-04-09 14:32:35 +00:00 by Timmy · 0 comments
Owner

Parent epic: #432

Why
Merged suite code currently embeds fleet topology and path assumptions directly in Python:

  • scripts/fleet_llama.py, scripts/self_healing.py, scripts/telemetry.py, and scripts/agent_dispatch.py contain routable IP literals.
  • scripts/agent_dispatch.py assumes /opt/hermes.
  • scripts/skill_installer.py assumes ../hermes-agent.

That makes the suite non-portable, violates the linter's own "no hardcoded IPs" doctrine, and couples operational truth to scattered script literals.

Acceptance criteria

  • One inventory/config source in timmy-config defines hostnames/domains, ports, roles, local/remote path contracts, and per-host capabilities.
  • Scripts load inventory/config from that source instead of hard-coded literals.
  • No routable IP literals remain in scripts/*.py; only documented loopback/listen-address exceptions are allowed.
  • No workstation-specific or install-specific repo paths remain in code; local-vs-remote paths are explicit config.
  • scripts/README.md documents the inventory contract and override mechanism.

Related

Parent epic: #432 Why Merged suite code currently embeds fleet topology and path assumptions directly in Python: - `scripts/fleet_llama.py`, `scripts/self_healing.py`, `scripts/telemetry.py`, and `scripts/agent_dispatch.py` contain routable IP literals. - `scripts/agent_dispatch.py` assumes `/opt/hermes`. - `scripts/skill_installer.py` assumes `../hermes-agent`. That makes the suite non-portable, violates the linter's own "no hardcoded IPs" doctrine, and couples operational truth to scattered script literals. Acceptance criteria - One inventory/config source in `timmy-config` defines hostnames/domains, ports, roles, local/remote path contracts, and per-host capabilities. - Scripts load inventory/config from that source instead of hard-coded literals. - No routable IP literals remain in `scripts/*.py`; only documented loopback/listen-address exceptions are allowed. - No workstation-specific or install-specific repo paths remain in code; local-vs-remote paths are explicit config. - `scripts/README.md` documents the inventory contract and override mechanism. Related - #432 - #290 - #356 - PR #418
Timmy added the enhancement label 2026-04-09 14:32:35 +00:00
bezalel was assigned by Timmy 2026-04-09 15:15:16 +00:00
Sign in to join this conversation.
1 Participants
Notifications
Due Date
No due date set.
Dependencies

No dependencies set.

Reference: Timmy_Foundation/timmy-config#433