Collapse ward doctor + consume cli-guard/allowlist + drop ward lint #44

Closed
opened 2026-06-03 23:25:35 +00:00 by coilysiren · 0 comments
Owner

Scope

Three coupled cleanups, one commit. Reshaping the diagnostic surface ward landed in #40 now that downstream usage and a shared cli-guard primitive give a clearer signal.

  1. Collapse ward doctor to a single command. The allowlist and security subcommands were defensive structure that wasn't earned — coily doctor and most other tools ship a single doctor verb. --skip and --strict-credentials flags lift up to the root doctor command unchanged.
  2. Consume cli-guard/allowlist (landed via cli-guard#58). Delete the yaml/Makefile parsing helpers in cmd/ward/lint.go; the engine moved upstream. ward keeps the path-resolver-aware wrapper that calls allowlist.Lint(yamlPath, makefilePath) and renders Problems.
  3. Drop the ward lint deprecation alias. Confirmed zero callers in coilyco-flight-deck/agentic-os (no pre-commit hook entry, no script reference). The migration window from #40 is over. Closes #41.

Acceptance

  • ward doctor runs both probes (allowlist + security host probes) inline, prints per-group output, exits non-zero on any FAIL.
  • --skip <name> and --strict-credentials work on ward doctor (no subcommand prefix).
  • ward doctor allowlist / ward doctor security no longer exist as subcommands (urfave "unknown command").
  • ward lint no longer exists (urfave "unknown command").
  • cmd/ward/lint.go deletable (or shrunk to the wrapper that calls allowlist.Lint).
  • cmd/ward tests updated for the flat shape; allowlist-engine tests are gone (moved upstream).
  • docs/doctor.md documents the single command. docs/lint.md deleted.
  • go.mod pinned to a cli-guard commit that includes allowlist/.

Closes

This issue and #41.

## Scope Three coupled cleanups, one commit. Reshaping the diagnostic surface ward landed in #40 now that downstream usage and a shared cli-guard primitive give a clearer signal. 1. **Collapse `ward doctor` to a single command.** The `allowlist` and `security` subcommands were defensive structure that wasn't earned — `coily doctor` and most other tools ship a single `doctor` verb. `--skip` and `--strict-credentials` flags lift up to the root `doctor` command unchanged. 2. **Consume `cli-guard/allowlist`** (landed via cli-guard#58). Delete the yaml/Makefile parsing helpers in `cmd/ward/lint.go`; the engine moved upstream. ward keeps the path-resolver-aware wrapper that calls `allowlist.Lint(yamlPath, makefilePath)` and renders Problems. 3. **Drop the `ward lint` deprecation alias.** Confirmed zero callers in `coilyco-flight-deck/agentic-os` (no pre-commit hook entry, no script reference). The migration window from #40 is over. Closes #41. ## Acceptance - `ward doctor` runs both probes (allowlist + security host probes) inline, prints per-group output, exits non-zero on any FAIL. - `--skip <name>` and `--strict-credentials` work on `ward doctor` (no subcommand prefix). - `ward doctor allowlist` / `ward doctor security` no longer exist as subcommands (urfave "unknown command"). - `ward lint` no longer exists (urfave "unknown command"). - `cmd/ward/lint.go` deletable (or shrunk to the wrapper that calls `allowlist.Lint`). - `cmd/ward` tests updated for the flat shape; allowlist-engine tests are gone (moved upstream). - `docs/doctor.md` documents the single command. `docs/lint.md` deleted. - go.mod pinned to a cli-guard commit that includes `allowlist/`. ## Closes This issue and #41.
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/ward#44
No description provided.