chore(specter): wire the pre-push annotation hook + fix manifest description#509
Merged
Conversation
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.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Closes the two cleanly-closeable Specter v0.11 "AI loop discipline" gaps from the explainer review.
CONTRIBUTING.md: contributors runspecter init --install-hook, which blocks pushes that change implementation files without a@spec/@acannotation delta (delegates tospecter pre-push-check; skips if specter is absent;git push --no-verifyto 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.)specter.yamldomain description with an accurate one.Findings on the other "gaps" (not changed here)
.specter-results.jsongitignore — turned out intentional:.gitignoretracks the root results file on purpose sospecter syncworks on a clean checkout. Not a gap; left as-is.specter init --ai claude) —CLAUDE.mdalready 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 --testCI gate — deferred, 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@specat 3 nonexistent ids; another maps toAC-09on 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.