Migrate ward-kdl -> ward: track remaining references (verb gaps, guardfile specs, repo internals) #539

Closed
opened 2026-07-03 01:24:27 +00:00 by coilysiren · 2 comments
Owner

Context

We're collapsing ward-kdl into ward ("migrating to just ward"). ward ops and ward agents already subsume most of the old surface. This issue tracks the remaining ward-kdl references that are not safe to mechanically rename yet, so they don't get lost.

Discovered while fixing a live breakage on kai-server: the forgejo git credential helper (agentic-os-kai/scripts/git-credential-forgejo-ssm.sh) called ward-kdl ops aws ssm, which silently returned no token (ward-kdl not installed — the ward formula ships only ward+warded), blocking every private-forgejo clone. Fixed to ward ops aws ssm.

Already done (safe consumer renames, this pass)

ward-kdl ops {aws,kubectl} / bare-noun mentions → ward … across, leaving commits to Kai:

  • agentic-os-kai: scripts/git-credential-forgejo-ssm.sh
  • infrastructure: AGENTS.md, ansible roles (agent-compose, fleet-reachability, o11y-telegram), scripts/{install-fdr-remake,provision-ci-release-token,provision-github-app,provision-tap-bump-token,thermal-heartbeat-install,claude-session-watcher-install-mac}.sh, several docs/+deploy/+terraform/ READMEs, skills/ops-investigation-k3s-pod-eviction/SKILL.md
  • agentic-os: scripts/rotate-{dep-bump,registry}-token.sh
  • deploy: services/atlas/scripts/rollout.sh, services/fleet-reachability/deploy/README.md, services/ser8-observability/docs/ser8-k3s.md

Blocked / skipped — needs real migration work

1. Verb gap: ward ops is missing verbs consumers still call

ward ops today exposes only forgejo, aws, forgejo-key, kubectl. Still under ward-kdl only:

  • ward-kdl ops tailscaleinfrastructure/scripts/tailscale-entity-rollup.sh
  • ward-kdl ops signozdeploy/services/ser8-observability/*, agentic-os ward-specs/ward-kdl.signoz.guardfile.kdl
  • ward-kdl ops glitchtip — referenced in agentic-os-kai/data/ssm-descriptions.yaml

Mount these under ward ops first, then migrate their callers. Renaming callers now would break them.

2. Guardfile specs + generated docs (agentic-os)

  • ward-specs/ward-kdl.{forgejo,ollama,signoz}.guardfile.kdlwrap ward-kdl ops … mount definitions, plus the ward-kdl.* filenames.
  • docs/ward-ops-forgejo-reference.mdgenerated from the forgejo guardfile by scripts/gen-ward-ops-reference.sh; regenerate after the guardfile migrates, don't hand-edit (60+ ward-kdl ops forgejo headers).
  • ward-specs/signoz.openapi.lock.json title/description strings.

3. ward repo internals + cli-guard

~1426 hits in ward itself and ~132 in cli-guard — the actual package/binary/build-target rename (make build-ward-kdl, cmd/ward-kdl, docs). Owned in-repo, not a cross-repo sweep.

4. Residual prose

Noun-form ward-kdl mentions in agentic-os (.forgejo/workflows/issue-corpus.yml, docker/dev-base/Dockerfile, shell/common.sh), deploy/.ward/ward.yaml, coilysiren (5), and scattered comments. Low priority; sweep once the command surface is unified.

Suggested sequence

  1. Land the ward-repo/cli-guard internal rename + keep ward-kdl as an alias during transition (so consumers don't hard-break).
  2. Mount tailscale/signoz/glitchtip under ward ops.
  3. Migrate the guardfile specs + regenerate the forgejo reference doc.
  4. Final residual-prose sweep + drop the ward-kdl alias.
## Context We're collapsing `ward-kdl` into `ward` ("migrating to just ward"). `ward ops` and `ward agents` already subsume most of the old surface. This issue tracks the remaining `ward-kdl` references that are **not** safe to mechanically rename yet, so they don't get lost. Discovered while fixing a live breakage on kai-server: the forgejo git credential helper (`agentic-os-kai/scripts/git-credential-forgejo-ssm.sh`) called `ward-kdl ops aws ssm`, which silently returned no token (`ward-kdl` not installed — the ward formula ships only `ward`+`warded`), blocking every private-forgejo clone. Fixed to `ward ops aws ssm`. ## Already done (safe consumer renames, this pass) `ward-kdl ops {aws,kubectl}` / bare-noun mentions → `ward …` across, leaving commits to Kai: - **agentic-os-kai**: `scripts/git-credential-forgejo-ssm.sh` - **infrastructure**: `AGENTS.md`, ansible roles (`agent-compose`, `fleet-reachability`, `o11y-telegram`), `scripts/{install-fdr-remake,provision-ci-release-token,provision-github-app,provision-tap-bump-token,thermal-heartbeat-install,claude-session-watcher-install-mac}.sh`, several `docs/`+`deploy/`+`terraform/` READMEs, `skills/ops-investigation-k3s-pod-eviction/SKILL.md` - **agentic-os**: `scripts/rotate-{dep-bump,registry}-token.sh` - **deploy**: `services/atlas/scripts/rollout.sh`, `services/fleet-reachability/deploy/README.md`, `services/ser8-observability/docs/ser8-k3s.md` ## Blocked / skipped — needs real migration work ### 1. Verb gap: `ward ops` is missing verbs consumers still call `ward ops` today exposes only `forgejo`, `aws`, `forgejo-key`, `kubectl`. Still under `ward-kdl` only: - `ward-kdl ops tailscale` — `infrastructure/scripts/tailscale-entity-rollup.sh` - `ward-kdl ops signoz` — `deploy/services/ser8-observability/*`, agentic-os `ward-specs/ward-kdl.signoz.guardfile.kdl` - `ward-kdl ops glitchtip` — referenced in `agentic-os-kai/data/ssm-descriptions.yaml` **Mount these under `ward ops` first**, then migrate their callers. Renaming callers now would break them. ### 2. Guardfile specs + generated docs (agentic-os) - `ward-specs/ward-kdl.{forgejo,ollama,signoz}.guardfile.kdl` — `wrap ward-kdl ops …` mount definitions, plus the `ward-kdl.*` **filenames**. - `docs/ward-ops-forgejo-reference.md` — **generated** from the forgejo guardfile by `scripts/gen-ward-ops-reference.sh`; regenerate after the guardfile migrates, don't hand-edit (60+ `ward-kdl ops forgejo` headers). - `ward-specs/signoz.openapi.lock.json` title/description strings. ### 3. ward repo internals + cli-guard ~1426 hits in **ward** itself and ~132 in **cli-guard** — the actual package/binary/build-target rename (`make build-ward-kdl`, `cmd/ward-kdl`, docs). Owned in-repo, not a cross-repo sweep. ### 4. Residual prose Noun-form `ward-kdl` mentions in `agentic-os` (`.forgejo/workflows/issue-corpus.yml`, `docker/dev-base/Dockerfile`, `shell/common.sh`), `deploy/.ward/ward.yaml`, `coilysiren` (5), and scattered comments. Low priority; sweep once the command surface is unified. ## Suggested sequence 1. Land the ward-repo/cli-guard internal rename + keep `ward-kdl` as an alias during transition (so consumers don't hard-break). 2. Mount `tailscale`/`signoz`/`glitchtip` under `ward ops`. 3. Migrate the guardfile specs + regenerate the forgejo reference doc. 4. Final residual-prose sweep + drop the `ward-kdl` alias.
Owner

Cross-link: the config-driven ward epic (#650) and its topology-fold issue (#655) overlap this migration. aos#332 (landed 2026-07-08) already homed the signoz/ollama/glitchtip guardfiles into aos's .ward/ bundle, moving part of section-2 forward. #655's container-consts fold should be sequenced against this issue's verb-gap work (mount tailscale/signoz/glitchtip under ward ops) so they do not collide. Keeping this open - it is broader than the epic. Filed from the read-only director surface (she/her).

Cross-link: the config-driven ward epic (#650) and its topology-fold issue (**#655**) overlap this migration. aos#332 (landed 2026-07-08) already homed the signoz/ollama/glitchtip guardfiles into aos's `.ward/` bundle, moving part of section-2 forward. #655's container-consts fold should be sequenced against this issue's verb-gap work (mount tailscale/signoz/glitchtip under `ward ops`) so they do not collide. Keeping this open - it is broader than the epic. Filed from the read-only director surface (she/her).
Owner

Closing as superseded by the current Ward boundary and #1622. Ward main no longer carries ward-kdl product-tree references, and remaining AOS or AOSguard coupling is being removed rather than migrated into Ward.

Closing as superseded by the current Ward boundary and #1622. Ward main no longer carries ward-kdl product-tree references, and remaining AOS or AOSguard coupling is being removed rather than migrated into Ward.
Commenting is not possible because the repository is archived.
No milestone
No project
No assignees
2 participants
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#539
No description provided.