chore(tooling): consolidate atlas tooling + harden pre-push hook

- Rewrite atlas-verify as proper Python script (was inline Python in
  bash with path injection risk). Adds star_type/spectral_class
  consistency check. Supports multiple files via glob.
- Add atlas-names and atlas-systems-done query helpers (clean versions
  of what the copy branch created — supersedes atlas-helpers.sh)
- Wire atlas-verify into Makefile (make atlas-verify, pre-pr-content)
- Update atlas skill references to point to the script
- Merge diff-based skip into pre-push hook: only lint client/ or
  server/ when those dirs actually changed in the push. Combined with
  existing directory-existence guards for cold worktrees.

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
This commit is contained in:
2026-03-26 08:06:44 +01:00
co-authored by Claude Opus 4.6
parent 604467045c
commit 73c81c1217
7 changed files with 218 additions and 9 deletions
+6 -2
View File
@@ -3,7 +3,7 @@ GODOT := $(shell command -v godot4 2>/dev/null || command -v godot 2>/dev/null)
.PHONY: help setup build check-protocol client server game stop test lint ci ci-client ci-server clean \
decisions-sync decisions-coverage decisions-active decisions-orphan \
db-backup db-install validate-content check-fact-ids setup-hooks \
audit \
audit atlas-verify \
pre-pr pre-pr-lint pre-pr-build pre-pr-test pre-pr-validate pre-pr-fixtures \
pre-pr-server pre-pr-client pre-pr-content \
fixtures-client fixtures-gauntlet golden-diff golden-update \
@@ -49,6 +49,7 @@ help:
@echo " make audit Run cargo audit (security advisory check)"
@echo " make validate-content Validate content YAML against schemas"
@echo " make check-fact-ids Check fact_id references against knowledge catalogs"
@echo " make atlas-verify Verify atlas proposal JSONs (all in docs/atlas/proposals/)"
@echo " make fixtures-client Generate GDScript->Rust cross-encoder fixtures (#475)"
@echo " make golden-diff Show diff if golden file output has changed"
@echo " make golden-update Regenerate golden file and stage for commit"
@@ -291,7 +292,7 @@ pre-pr-server: lint-server build-server test-server pre-pr-fixtures audit
pre-pr-client: lint-client build-client test-client
@echo "=== Client pre-PR: PASSED ==="
pre-pr-content: validate-content check-fact-ids checklist-validate
pre-pr-content: validate-content check-fact-ids checklist-validate atlas-verify
@echo "=== Content pre-PR: PASSED ==="
# --- CI (run locally) ---
@@ -332,6 +333,9 @@ validate-content:
check-fact-ids:
@tooling/check-fact-ids
atlas-verify:
@tooling/atlas-verify docs/atlas/proposals/*.json
audit:
cd server && cargo audit