chore(goose): decide disposition of scripts/goose-health.sh probe #268
Labels
No labels
burndown-2026-06
coherence-core
consult
headless
interactive
P0
P1
P2
P3
P4
No milestone
No project
No assignees
1 participant
Notifications
Due date
No due date set.
Dependencies
No dependencies set.
Reference
coilyco-flight-deck/agentic-os#268
Loading…
Add table
Add a link
Reference in a new issue
No description provided.
Delete branch "%!s()"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
An uncommitted helper
scripts/goose-health.shwas created during a goose-slowness investigation and is sitting in the working tree. It is a one-shot health probe of the Goose serving stack (Ollama on the tower over tailnet): reachability + latency via/api/version, and resident-model +expires_atvia/api/ps. It sits next to the existinggoose-*family (goose-ask,goose-json,goose-triage).Decide its disposition:
goose-healthward verb and adocs/FEATURES.mdline, matching thegoose-*family pattern, ORContext: the goose "slowness" root cause was VRAM contention on the tower - the bound model
qwen3-coder:30bgets evicted by another resident model (deepseek-v2:16b), so every goose call cold-loads. The probe surfaces exactly that: which model is resident, and a marchingexpires_atmeaning an active job is re-warming it.Related: the agent-health heartbeat issue in
infrastructure(the always-on version of this probe, emitting to SigNoz).Preserving the working-tree probe here verbatim before deleting it from disk - as written it likely won't land (it would need a
goose-healthward verb + adocs/FEATURES.mdline to match thegoose-*family, or folding into the agent-health heartbeat per the options above). Captured so the disposition decision still has the artifact after the file is gone.— claude-macos-kais-macbook-pro-2-df00-she-her
🔎 ward agent advisor
ward agent advisor --harness codexran a one-shot standard research pass on this question:Recommendation: do not commit
scripts/goose-health.shas a standingagentic-oshelper. Treat it as a prototype whose logic has already been successfully absorbed into the canonical infrastructure surface, then close this issue with the disposition "folded into agent-health heartbeat; no standalonegoose-healthverb."Why this is the better disposition
goose-ask,goose-json, andgoose-triageare harness-facing tools.goose-healthprobes remote Ollama reachability, residency, and VRAM state on the tower over tailnet. That is the serving layer below Goose, so it fitsinfrastructure, not thegoose-*family.coilyco-flight-deck/infrastructure#389is closed and says the heartbeat landed onmainwith OTLP-to-SigNoz, a dashboard, a timer rollout, and the probe logic explicitly lifted from this prototype./api/version,/api/ps, resident model names,size_vram, andexpires_at. The shipped heartbeat now emits those signals continuously, adds spill detection (size_vram < size), turnsexpires_atintoexpires_in_seconds, and includes best-effort GPU/VRAM telemetry and a glance view.agentic-oshas non-trivial carrying cost for weak payoff: ward verb,docs/FEATURES.md, likely a doc page, and ongoing expectation thatagentic-osis the right place to debug tower/Ollama health.Decision framing
goose-healthagentic-oscheckout; human-readable one-shot output.goose-*surface with something that is not really a Goose harness verb, and invites drift between the ad hoc script and the canonical heartbeat.Advisory conclusion
Choose Option B. The issue's underlying need was "answer goose slowness caused by tower/Ollama residency and VRAM contention quickly." The infrastructure heartbeat now does that in the right repo and at the right abstraction level. Shipping a second helper in
agentic-oswould mostly preserve an older debugging shape after the canonical solution already exists.Open question worth calling out in the comment
The only real remaining gap is ergonomic, not architectural: whether Kai still wants a human-readable ad hoc snapshot in addition to SigNoz. If yes, that should be satisfied by the canonical infrastructure surface, for example by documenting or polishing the existing dry-run path (
python3 scripts/agent-health-heartbeat.py --dry-run) there, not by resurrecting a secondagentic-osscript.Risks / caveats
goose-healthinagentic-oswould create a larger long-term risk: two near-identical probes that can silently disagree.Suggested close-out wording
Researched and posted automatically by
ward agent advisor --harness codex(ward#179). This is one-shot research, not a carried change - verify before acting on it.— Codex, via
ward agentWARD-RESERVATION: held 🔒
reservation details
Holder: container
engineer-codex-agentic-os-268on hostkais-macbook-pro-2.local.Reserved by
ward agent --harness codex(reserved 2026-07-10T16:21:46Z). Concurrentward agentruns are blocked until it finishes or the reservation goes stale (1h TTL).--forceoverrides.Do not comment on or edit this issue to steer the run while it is reserved. The engineer seeded the body once at launch and never re-reads it, so a comment or edit reaches only human readers, never the running engineer. A correction goes to a new issue, dispatched fresh. That is the only channel that reaches a run in flight. Where the forge supports it, ward locks this conversation to make that a road-block rather than a convention (ward#494).
run seed context — what this run is carrying (ward#609)
coilyco-flight-deck/agentic-os#268· branchissue-268· harnesscodex· workflowpull-requests-and-mergeengineer-codex-agentic-os-268· wardv0.583.0· dispatched2026-07-10T16:21:46ZStatic container doctrine and seed boilerplate are identical every run and omitted here (they ride ward v0.583.0).
— Codex, via
ward agentWARD-OUTCOME: merge-ready
details
workflow: pull-requests-and-merge; review summary: review gate skipped by ~/.ward/config.yaml default
retrospective: this felt like fixing stale repo contracts more than changing Goose behavior.
confidence: high
surprises: the first CI failure came from stale ward-spec expectations, then the shell path seeding needed to stop assuming one checkout root.
follow-ups: none.