fix(taskfile): remove build targets for binaries deleted months ago, and make check build
CI / Lint / Test / Vet (pull_request) Successful in 54s
CI / Mirror to GitHub (pull_request) Skipped

Closes #120 (items 2 and the suggested gate fix).

`task build` has been broken since `cmd/supervisor` was deleted in c117634, and
CI stayed green the entire time. That combination is the finding: not that a
path went stale, but that nothing could notice.

`check` ran lint, test and vet. All three walk `./...`, which enumerates the
packages that EXIST. A build target naming a DELETED package is invisible to
every one of them — `go vet ./...` cannot complain about a directory it never
visits. The gate was complete with respect to the code present and blind to the
code referenced.

`build` is now part of `check`, with that reasoning written above it.
Flip-tested: reintroducing `go build ./cmd/supervisor` takes `task check` to
exit 201, naming the missing directory.

Removed, all pointing at binaries that no longer exist:

- `supervisor:dev` and `supervisor:build`     -> ./cmd/supervisor
- `supervisor:test:smoke`                     -> curls a server nothing can start
- `smoke:routing` + scripts/smoke-routing.sh  -> ./cmd/routing
- the `supervisor:` line in Procfile, which also still pointed
  SUPERVISOR_MODELS_FILE at the file deleted in #116

`build` now aggregates `hyperguild:build` + `ingestion:build`, the two binaries
that actually exist.

A false lead worth recording so it is not re-investigated: a first sweep flagged
`./cmd/server` and `./cmd/frontmatterlint` as missing too. They are not — their
tasks set `dir: ingestion`, and both exist under `ingestion/cmd/`. Any checker
for this class has to resolve a task's working directory before judging its
paths, or it reports two false positives for every true one.

Not addressed here: #120's third item, that `internal/config` has zero non-test
callers. `RoutingConfig` is the only written record of the routing pod's
configuration contract, so deleting it is a judgement call rather than a
correction.

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
This commit is contained in:
2026-09-17 00:32:32 +02:00
co-authored by Claude Opus 5
parent 868fe28c96
commit 760aa45afc
3 changed files with 9 additions and 91 deletions
+9 -26
View File
@@ -21,7 +21,7 @@ tasks:
# ── Development ────────────────────────────────────────────────────────────
start:
desc: Start ingestion + supervisor (requires goreman — go install github.com/mattn/goreman@latest)
desc: Start ingestion (requires goreman — go install github.com/mattn/goreman@latest)
cmds:
- goreman start
@@ -32,11 +32,6 @@ tasks:
- lsof -ti:3200 | xargs kill -9 2>/dev/null || true
- echo "hyperguild stopped"
supervisor:dev:
desc: Run supervisor MCP server (development)
cmds:
- go run ./cmd/supervisor
hyperguild:dev:
desc: Run hyperguild CLI from source (e.g. task hyperguild:dev -- tier)
cmds:
@@ -67,14 +62,9 @@ tasks:
build:
desc: Build all binaries
cmds:
- task: supervisor:build
- task: hyperguild:build
- task: ingestion:build
supervisor:build:
desc: Build supervisor binary
cmds:
- go build -trimpath -ldflags="-s -w -X main.version={{.VERSION}}" -o bin/supervisor ./cmd/supervisor
ingestion:build:
desc: Build ingestion server binary
dir: ingestion
@@ -84,7 +74,7 @@ tasks:
# ── Quality ────────────────────────────────────────────────────────────────
check:
desc: Run all checks (context freshness + lint + test + vet) across all modules
desc: Run all checks (context freshness + lint + test + vet + build) across all modules
cmds:
# Context sync is skipped under CI, matching dma-cli, gitea-mcp, and the
# rest of the estate. It is not a preference: context-sync.sh walks UP
@@ -120,6 +110,12 @@ tasks:
- task: lint
- task: test
- task: vet
# `build` is in the gate deliberately (hyperguild#120). vet and test walk
# ./... , which enumerates the packages that EXIST — so a build target
# naming a DELETED package is invisible to both. `task build` pointed at
# ./cmd/supervisor for months after that directory was removed, and CI
# stayed green the whole time because nothing in check ever built.
- task: build
- task: security:gitleaks
# ── Security ─────────────────────────────────────────────
@@ -173,19 +169,6 @@ tasks:
- govulncheck ./... || true
- cd ingestion && go vet ./...
supervisor:test:smoke:
desc: Smoke test supervisor via MCP (requires start running)
cmds:
- |
curl -s -X POST http://localhost:${SUPERVISOR_PORT:-3200}/mcp \
-H "Content-Type: application/json" \
-d '{"jsonrpc":"2.0","id":1,"method":"tools/list","params":{}}' | jq .
smoke:routing:
desc: Boot the routing pod against live LiteLLM + brain and verify _routing logs land
cmds:
- bash scripts/smoke-routing.sh
# ── Git / Release ──────────────────────────────────────────────────────────
tag: