Epic: coily -> ward -> ward-kdl consolidation (umbrella) #91

Closed
opened 2026-06-15 15:22:05 +00:00 by coilysiren · 1 comment
Owner

Umbrella tracker for the coily → ward → ward-kdl consolidation. coily (operator CLI) merges into ward (contributor CLI) wholesale, and ward's verbs are re-expressed as ward-kdl - KDL-declared verbs executed by a generic runtime - instead of hand-rolled Go (verb.Spec + (*Runner).WrapVerb).

Milestones

Forgejo milestones are per-repo, so this epic spans two milestones with the same name, "coily to ward to ward-kdl consolidation":

  • coily side (coilyco-bridge/coily milestone #5) - one issue per coily surface that must leave coily and land in ward.
  • ward side (coilyco-flight-deck/ward milestone #6) - ward's own hand-rolled Go surfaces becoming ward-kdl, plus the runtime/generator enablers and the already-done work (so the bar reflects true progress).

coily → ward (milestone #5, coilyco-bridge/coily)

External-tool passthroughs → ward exec-dialect guardfiles (ward-aws precedent, #82): coily#213 aws, #214 gh, #215 kubectl, #216 flyctl, #217 gcloud, #218 mcporter, #219 netlify, #220 docker, #221 tailscale.

REST wrappers → ward-kdl HTTP guardfiles (forgejo precedent, #75): coily#222 discord, #223 sentry, #224 trello, #225 modio, #226 glama, #227 skillsmp.

Package managers: coily#228 pkg passthroughs, #229 pkg brew, #230 pkg scoop.

Operator host ops → ward exec-transport (#81 precedent): coily#231 gaming eco, #232 core-keeper, #233 icarus, #234 factorio, #235 claude-remote-control, #236 personal-dashboard, #237 systemctl.

Harness / introspection: coily#238 whoami+agent-name, #239 lockdown, #240 session, #241 audit, #242 git, #243 retire ops ci.

ward → ward-kdl (milestone #6, this repo)

New conversion / consolidation issues: #92 cut the binary over to the ward-kdl forgejo guardfile + retire forgejo_issue.go, #93 fold cmd/ward-kdl + cmd/ward-aws into one ward binary, #94 pkg passthroughs → ward-kdl, #95 pkg brew → ward-kdl, #96 doctor representation decision.

Open enablers: #74 OpenAPI→ward-kdl generator, #76 kin-openapi parse layer, #81 execverb (admin/doctor remote-exec + git slice).

Done (13): #73 runtime foundation, #75 forgejo 40-leaf surface, #82 ward-aws, #86 ward dispatch, plus the batch landings #64/#65/#69/#78/#79/#80/#83/#84/#85.

Done-condition

coily's operator surface fully reachable through ward (HTTP verbs as ward-kdl declarations, exec verbs via the exec-transport runtime), the generator backfilling the long tail, and coily retired as a standalone binary. coilyco-bridge/coily#186 closed as superseded.

Umbrella tracker for the **coily → ward → ward-kdl** consolidation. coily (operator CLI) merges into ward (contributor CLI) wholesale, and ward's verbs are re-expressed as **ward-kdl** - KDL-declared verbs executed by a generic runtime - instead of hand-rolled Go (`verb.Spec` + `(*Runner).WrapVerb`). ## Milestones Forgejo milestones are per-repo, so this epic spans two milestones with the same name, **"coily to ward to ward-kdl consolidation"**: - **coily side** (`coilyco-bridge/coily` milestone #5) - one issue per coily surface that must leave coily and land in ward. - **ward side** (`coilyco-flight-deck/ward` milestone #6) - ward's own hand-rolled Go surfaces becoming ward-kdl, plus the runtime/generator enablers and the already-done work (so the bar reflects true progress). ## coily → ward (milestone #5, coilyco-bridge/coily) **External-tool passthroughs → ward exec-dialect guardfiles** (ward-aws precedent, #82): coily#213 aws, #214 gh, #215 kubectl, #216 flyctl, #217 gcloud, #218 mcporter, #219 netlify, #220 docker, #221 tailscale. **REST wrappers → ward-kdl HTTP guardfiles** (forgejo precedent, #75): coily#222 discord, #223 sentry, #224 trello, #225 modio, #226 glama, #227 skillsmp. **Package managers**: coily#228 pkg passthroughs, #229 pkg brew, #230 pkg scoop. **Operator host ops → ward exec-transport** (#81 precedent): coily#231 gaming eco, #232 core-keeper, #233 icarus, #234 factorio, #235 claude-remote-control, #236 personal-dashboard, #237 systemctl. **Harness / introspection**: coily#238 whoami+agent-name, #239 lockdown, #240 session, #241 audit, #242 git, #243 retire ops ci. ## ward → ward-kdl (milestone #6, this repo) **New conversion / consolidation issues**: #92 cut the binary over to the ward-kdl forgejo guardfile + retire forgejo_issue.go, #93 fold cmd/ward-kdl + cmd/ward-aws into one ward binary, #94 pkg passthroughs → ward-kdl, #95 pkg brew → ward-kdl, #96 doctor representation decision. **Open enablers**: #74 OpenAPI→ward-kdl generator, #76 kin-openapi parse layer, #81 execverb (admin/doctor remote-exec + git slice). **Done** (13): #73 runtime foundation, #75 forgejo 40-leaf surface, #82 ward-aws, #86 ward dispatch, plus the batch landings #64/#65/#69/#78/#79/#80/#83/#84/#85. ## Done-condition coily's operator surface fully reachable through ward (HTTP verbs as ward-kdl declarations, exec verbs via the exec-transport runtime), the generator backfilling the long tail, and coily retired as a standalone binary. `coilyco-bridge/coily#186` closed as superseded.
Author
Owner

Backlog burndown 2026-06-17: closing low-priority (P3/P4) to bring the open count to a manageable level. Nothing lost — reopen if this resurfaces. Batch tag: burndown-2026-06.

Backlog burndown 2026-06-17: closing low-priority (P3/P4) to bring the open count to a manageable level. Nothing lost — reopen if this resurfaces. Batch tag: `burndown-2026-06`.
coilysiren 2026-06-17 08:21:58 +00:00
Sign in to join this conversation.
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/ward#91
No description provided.