Swap goose-triage fully onto ward (drop bare goose / coily / git) #239

Closed
opened 2026-06-17 21:27:48 +00:00 by coilysiren · 1 comment
Owner

Goal

Make the goose-triage setup fully ward-routed and coily-free. The tooling works today but still calls three things outside ward: the bare goose binary, coily ops forgejo (coily is being retired), and bare git. Flip all three to ward once the ward verbs land.

Blocked on (ward repo)

Confirm the final verb names with Kai before wiring (proposed: ward forgejo / ward goose / ward git remote).

The flips (mechanical, once the verbs exist)

  1. scripts/goose_json.py - GOOSE_BASE (~line 29): ["goose","run",...] -> ["ward","goose","run",...].
  2. scripts/goose-triage.py fetch_issues (~lines 111,122): coily ops forgejo issue list / issue view -> the ward forgejo equivalents. While here, drop the 50-issue --limit cap and page to the authoritative open count (ward#117 exposes X-Total-Count) - this fixes the partial-backlog dishonesty for repos with >50 open issues.
  3. scripts/goose-triage.py _default_repo (~line 340): git remote get-url origin -> ward git remote get-url origin.
  4. /tmp/goose-triage-run.sh launcher uses bare git (rev-parse, remote get-url). It is ephemeral; either re-home it as a committed launcher using ward git or drop it now that ward exec goose-triage defaults --repo to the current origin.

After wiring

  • Re-run ward exec goose-triage end-to-end; confirm parity (P0/P1-P4 distribution, ~2 min) and that the >50 repos now fetch fully.
  • Update the coily references in docs/goose-triage.md, docs/FEATURES.md, and the goose-triage / goose-json descriptions in .ward/ward.yaml.
  • Commit + push to Forgejo main.

Acceptance

grep -rnE '"goose"|"coily"|"git"' scripts/goose_json.py scripts/goose-triage.py shows no bare goose/coily/git invocations - everything routes through ward.

Context

Built across the goose test-harness -> triage work (agentic-os#237). Doctrine updated in agentic-os-kai/AGENTS.md ("cloud passthroughs migrate off coily ops onto ward"). Release-treadmill side issue: agentic-os#238.

## Goal Make the goose-triage setup fully ward-routed and coily-free. The tooling works today but still calls three things outside ward: the bare `goose` binary, `coily ops forgejo` (coily is being retired), and bare `git`. Flip all three to ward once the ward verbs land. ## Blocked on (ward repo) - coilyco-flight-deck/ward#117 - `ward forgejo` API surface (port from `coily ops forgejo`, with pagination + `X-Total-Count`). - coilyco-flight-deck/ward#118 - `ward goose` audited passthrough. - coilyco-flight-deck/ward#119 - `ward git remote get-url`. Confirm the final verb names with Kai before wiring (proposed: `ward forgejo` / `ward goose` / `ward git remote`). ## The flips (mechanical, once the verbs exist) 1. `scripts/goose_json.py` - `GOOSE_BASE` (~line 29): `["goose","run",...]` -> `["ward","goose","run",...]`. 2. `scripts/goose-triage.py` `fetch_issues` (~lines 111,122): `coily ops forgejo issue list` / `issue view` -> the `ward forgejo` equivalents. While here, drop the 50-issue `--limit` cap and page to the authoritative open count (ward#117 exposes `X-Total-Count`) - this fixes the partial-backlog dishonesty for repos with >50 open issues. 3. `scripts/goose-triage.py` `_default_repo` (~line 340): `git remote get-url origin` -> `ward git remote get-url origin`. 4. `/tmp/goose-triage-run.sh` launcher uses bare `git` (rev-parse, remote get-url). It is ephemeral; either re-home it as a committed launcher using `ward git` or drop it now that `ward exec goose-triage` defaults `--repo` to the current origin. ## After wiring - Re-run `ward exec goose-triage` end-to-end; confirm parity (P0/P1-P4 distribution, ~2 min) and that the >50 repos now fetch fully. - Update the coily references in `docs/goose-triage.md`, `docs/FEATURES.md`, and the `goose-triage` / `goose-json` descriptions in `.ward/ward.yaml`. - Commit + push to Forgejo main. ## Acceptance `grep -rnE '"goose"|"coily"|"git"' scripts/goose_json.py scripts/goose-triage.py` shows no bare goose/coily/git invocations - everything routes through ward. ## Context Built across the goose test-harness -> triage work (agentic-os#237). Doctrine updated in agentic-os-kai/AGENTS.md ("cloud passthroughs migrate off coily ops onto ward"). Release-treadmill side issue: agentic-os#238.
Author
Owner

Goose triage - 2026-06-17

  • Tier: P3 (score 72) - P2 backlog item with clear path forward
  • Mode: consult - Blocked on ward repo development, requires human confirmation of verb names

Auto-generated by ward exec goose-triage (qwen3-coder:30b), edited in place on each run. Labels are the conclusion; this is the why.

<!-- goose-triage --> **Goose triage** - 2026-06-17 - **Tier:** `P3` (score 72) - P2 backlog item with clear path forward - **Mode:** `consult` - Blocked on ward repo development, requires human confirmation of verb names <sub>Auto-generated by `ward exec goose-triage` (qwen3-coder:30b), edited in place on each run. Labels are the conclusion; this is the why.</sub>
coilyco-ops added
P2
and removed
P3
labels 2026-06-25 09:08:42 +00:00
coilysiren added
P3
and removed
P2
labels 2026-07-01 04:29:22 +00:00
Sign in to join this conversation.
No milestone
No project
No assignees
1 participant
Notifications
Due date
The due date is invalid or out of range. Please use the format "yyyy-mm-dd".

No due date set.

Dependencies

No dependencies set.

Reference
coilyco-flight-deck/agentic-os#239
No description provided.