Skip to content

chore(specter): wire the pre-push annotation hook + fix manifest description#509

Merged
remyluslosius merged 4 commits into
mainfrom
chore/specter-discipline
Jun 10, 2026
Merged

chore(specter): wire the pre-push annotation hook + fix manifest description#509
remyluslosius merged 4 commits into
mainfrom
chore/specter-discipline

Conversation

@remyluslosius

Copy link
Copy Markdown
Contributor

Closes the two cleanly-closeable Specter v0.11 "AI loop discipline" gaps from the explainer review.

  • Pre-push hook — documented in CONTRIBUTING.md: contributors run specter init --install-hook, which blocks pushes that change implementation files without a @spec/@ac annotation delta (delegates to specter pre-push-check; skips if specter is absent; git push --no-verify to bypass). Git hooks live under .git/ and can't be committed, so the setup instruction is the shareable artifact. (Installed in this working tree already.)
  • Manifest description — replaced the stale auto-generated specter.yaml domain description with an accurate one.

Findings on the other "gaps" (not changed here)

  • .specter-results.json gitignore — turned out intentional: .gitignore tracks the root results file on purpose so specter sync works on a clean checkout. Not a gap; left as-is.
  • AI instruction file (specter init --ai claude) — CLAUDE.md already encodes the spec-first discipline by hand and is gitignored; a Specter-managed marker region is optional. Not done (would clutter a hand-maintained, local-only file).
  • specter check --test CI gatedeferred, needs decisions. The repo doesn't pass it today: 15 real annotation errors + 201 "no runner-visible token" warnings. Two of the errors need spec-owner calls (a test points @spec at 3 nonexistent ids; another maps to AC-09 on a spec that declares only AC-01–05 — a genuine spec gap), and the rest are entangled with multi-AC coverage mappings I won't guess at. This is a focused SDD-hygiene follow-up, not a one-line gate.

Replace 18 Python/Docker-era operator guides + runbooks (bannered legacy in #505) with accurate Go-era docs for the single-binary + PostgreSQL + systemd + Kensa stack. Authored via a multi-agent sweep under a hard anti-fabrication rule: every command/endpoint/flag/path verified against the code; capabilities absent in rc.5 (Prometheus metrics, horizontal scaling, openwatch backup/restore, migrate down, API rate limiting, scan-execution endpoints) marked not-implemented rather than invented. Refresh .secrets.baseline for placeholder credentials in the rewritten docs.
…ription

Closes two of the Specter v0.11 "AI loop discipline" gaps:

- Document the pre-push hook in CONTRIBUTING: contributors run
  `specter init --install-hook`, which blocks pushes that change
  implementation files without a @spec/@ac annotation delta (delegates to
  `specter pre-push-check`; skips cleanly if specter is absent). Git hooks
  live under .git/ and are not committable, so the setup instruction is the
  shareable artifact.
- Replace the stale auto-generated specter.yaml domain description
  ("12 .spec.yaml file(s) ... could not be parsed") with an accurate one.

Not changed (intentional): the root .specter-results.json is tracked on
purpose (see .gitignore) so `specter sync` works on a clean checkout.
@github-actions github-actions Bot added ci/cd documentation Improvements or additions to documentation size/XL labels Jun 10, 2026
@remyluslosius remyluslosius enabled auto-merge (squash) June 10, 2026 22:39
@github-actions github-actions Bot added size/S and removed size/XL labels Jun 10, 2026
@remyluslosius remyluslosius merged commit 645882c into main Jun 10, 2026
13 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

ci/cd documentation Improvements or additions to documentation size/S

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant