Retired coily CLI still referenced by make http and resolve-eco-target.sh #129

Closed
opened 2026-07-21 03:06:01 +00:00 by coilyco-ops · 5 comments
Member

Found during the #128 snapshot-harness work. The coily CLI was retired (agentic-os#261) but two dev-loop paths still shell out to it:

  • Makefile http target - coily ops aws ssm get-parameter ... /eco-mcp-app/api-admin-token fails silently behind || true, so UPSTREAM_API_KEY comes up empty and local /jobs + admin-gated tools quietly degrade unless the operator exports the key by hand.
  • scripts/resolve-eco-target.sh - the tailnet branch guards on command -v coily, which now never hits, so off-LAN resolution always falls through to the public host.

The new snapshot-capture target already uses plain aws ssm get-parameter as the fetch (the ward-kdl ward ops aws ssm verb fail-closes on this parameter name, its allow pattern only matches *coilyco-ops*). Options for whoever picks this up:

  1. Swap both call sites to plain aws ssm get-parameter, matching snapshot-capture.
  2. Or widen the ward-kdl ssm allow pattern to cover /eco-mcp-app/* and route through ward ops aws ssm everywhere.

Either way the two stale coily references should go.

Found during the #128 snapshot-harness work. The `coily` CLI was retired (agentic-os#261) but two dev-loop paths still shell out to it: * `Makefile` `http` target - `coily ops aws ssm get-parameter ... /eco-mcp-app/api-admin-token` fails silently behind `|| true`, so `UPSTREAM_API_KEY` comes up empty and local `/jobs` + admin-gated tools quietly degrade unless the operator exports the key by hand. * `scripts/resolve-eco-target.sh` - the tailnet branch guards on `command -v coily`, which now never hits, so off-LAN resolution always falls through to the public host. The new `snapshot-capture` target already uses plain `aws ssm get-parameter` as the fetch (the ward-kdl `ward ops aws ssm` verb fail-closes on this parameter name, its allow pattern only matches `*coilyco-ops*`). Options for whoever picks this up: 1. Swap both call sites to plain `aws ssm get-parameter`, matching snapshot-capture. 2. Or widen the ward-kdl ssm allow pattern to cover `/eco-mcp-app/*` and route through `ward ops aws ssm` everywhere. Either way the two stale `coily` references should go.
Author
Member

WARDED_WORKFLOW: done

details

Landed 87777fe on main: retired coily calls now use AWS, while retaining public fallback and FQDN redaction; docs and resolver regression coverage were added.

workflow: merge-remote-main; review summary: skipped — the in-container review gate was intentionally skipped by the temporary Ward default pending brokered QA.

Felt clean and small. Confidence: high. Validation: 548 tests, lint, and MCP smoke passed; scoped commit hooks passed. The repository-wide pre-commit run also found the unrelated existing Ruff module-name failure in scripts/install-desktop-config.py.

Surprise: the central Ward SSM policy still rejects /eco-mcp-app/*; follow up by widening it before adopting ward ops aws ssm.

WARDED_WORKFLOW: done ✅ <details><summary>details</summary> Landed `87777fe` on `main`: retired `coily` calls now use AWS, while retaining public fallback and FQDN redaction; docs and resolver regression coverage were added. workflow: merge-remote-main; review summary: skipped — the in-container review gate was intentionally skipped by the temporary Ward default pending brokered QA. Felt clean and small. Confidence: high. Validation: 548 tests, lint, and MCP smoke passed; scoped commit hooks passed. The repository-wide pre-commit run also found the unrelated existing Ruff module-name failure in `scripts/install-desktop-config.py`. Surprise: the central Ward SSM policy still rejects `/eco-mcp-app/*`; follow up by widening it before adopting `ward ops aws ssm`. </details>
Author
Member

WARDED_WORKFLOW: blocked 🛑

salvage details

An ephemeral ward container (codex mode) dispatched for this issue finished but its work was not merged to main, so cleanup preserved it on a branch before teardown and reopened the issue (a closing reference for #129 never reached main). Recover from the salvage branch below.

  • Repo: coilyco-gaming/eco-app
  • Salvage branch: ward-salvage/eco-app-84ad1890
  • Pull request: not opened - PR creation failed: forgejo: parse created pull request: unexpected end of JSON input
  • Reason: merge conflict integrating onto main
  • Container uptime at reap: 5m (age of the baked Forgejo PAT snapshot; a long-lived container is likelier to carry a rotated token)

Cleanup diagnostics

--- reap diagnostics ---
ward version:      v0.792.0
version source:    pinned via WARD_VERSION/--ward-version (v0.788.0)
HEAD:              87777fe0bb5f
origin/main:       c450d3fb09bc
ancestry:          HEAD is ALREADY on origin/main - a salvage here is a FALSE salvage (ward#504 signature)
decision gate:     provenance missing or unreadable on already-landed merge-remote-main run
reason:            merge conflict integrating onto main
provenance:        missing or unreadable
run-owned landed:  no
working tree:      clean
container uptime:  5m (baked Forgejo PAT age proxy)
--- end reap diagnostics ---

Recover

git fetch https://forgejo.coilysiren.me/coilyco-gaming/eco-app.git ward-salvage/eco-app-84ad1890
git checkout -b ward-salvage/eco-app-84ad1890 FETCH_HEAD

— Codex, via ward agent

WARDED_WORKFLOW: blocked 🛑 <details><summary>salvage details</summary> An ephemeral `ward container` (codex mode) dispatched for this issue finished but its work was **not merged to `main`**, so cleanup preserved it on a branch before teardown and reopened the issue (a closing reference for #129 never reached `main`). Recover from the salvage branch below. - **Repo:** `coilyco-gaming/eco-app` - **Salvage branch:** `ward-salvage/eco-app-84ad1890` - **Pull request:** not opened - PR creation failed: forgejo: parse created pull request: unexpected end of JSON input - **Reason:** merge conflict integrating onto main - **Container uptime at reap:** 5m (age of the baked Forgejo PAT snapshot; a long-lived container is likelier to carry a rotated token) ## Cleanup diagnostics ``` --- reap diagnostics --- ward version: v0.792.0 version source: pinned via WARD_VERSION/--ward-version (v0.788.0) HEAD: 87777fe0bb5f origin/main: c450d3fb09bc ancestry: HEAD is ALREADY on origin/main - a salvage here is a FALSE salvage (ward#504 signature) decision gate: provenance missing or unreadable on already-landed merge-remote-main run reason: merge conflict integrating onto main provenance: missing or unreadable run-owned landed: no working tree: clean container uptime: 5m (baked Forgejo PAT age proxy) --- end reap diagnostics --- ``` ## Recover ```bash git fetch https://forgejo.coilysiren.me/coilyco-gaming/eco-app.git ward-salvage/eco-app-84ad1890 git checkout -b ward-salvage/eco-app-84ad1890 FETCH_HEAD ``` </details> <!-- ward-agent-signature --> — Codex, via `ward agent`
Author
Member

WARDED_WORKFLOW: reservation-released

release details

Run finished with WARDED_WORKFLOW: blocked 🛑.

ward container reap released container engineer-codex-eco-app-129 (--harness codex): the terminal outcome supersedes the reservation, so a later redispatch no longer needs --override-reservation.

— Codex, via ward agent

<!-- ward-agent-reservation-released --> WARDED_WORKFLOW: reservation-released <details><summary>release details</summary> Run finished with `WARDED_WORKFLOW: blocked 🛑`. `ward container reap` released container `engineer-codex-eco-app-129` (`--harness codex`): the terminal outcome supersedes the reservation, so a later redispatch no longer needs `--override-reservation`. </details> <!-- ward-agent-signature --> — Codex, via `ward agent`
Author
Member

Resolved by commit 87777fe on main. The retired coily dev-loop references were removed; this issue was reopened only by the known false-salvage/reconciliation churn, not by a regression in the repository.

Resolved by commit `87777fe` on main. The retired coily dev-loop references were removed; this issue was reopened only by the known false-salvage/reconciliation churn, not by a regression in the repository.
Author
Member

WARDED_WORKFLOW: blocked 🛑

details

human comment by @coilyco-ops at 2026-07-23T05:31:35Z is newer than the latest ward acknowledgement at 2026-07-23T05:27:13Z

This action is blocked until the feedback is visibly acknowledged.

— Codex, via ward agent

WARDED_WORKFLOW: blocked 🛑 <details><summary>details</summary> human comment by @coilyco-ops at 2026-07-23T05:31:35Z is newer than the latest ward acknowledgement at 2026-07-23T05:27:13Z This action is blocked until the feedback is visibly acknowledged. </details> <!-- ward-agent-signature --> — Codex, via `ward agent`
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-gaming/eco-app#129
No description provided.