# config-atlas — registry validation gate (ATLAS-WP-0002-T06) # Markdown-first repo: no build/run, only validation and the explain tool. .PHONY: validate validate-schema validate-reuse validate-whitespace validate-tests explain blast-radius # Effective-config override path for a surface (ATLAS-WP-0004). # make explain SURFACE=surface.infotech.state-hub.api-config explain: @python3 tools/config_explain.py $(SURFACE) # Change blast-radius / dependency view for a surface (ATLAS-WP-0004). # make blast-radius SURFACE=surface.infotech.state-hub.api-config blast-radius: @python3 tools/blast_radius.py $(SURFACE) # Regenerate the config knowledge-graph edge artifact (ATLAS-WP-0004). graph: @python3 tools/config_graph.py # Query graph edges touching a surface id. # make graph-query SURFACE=surface.infotech.state-hub.api-config graph-query: @python3 tools/config_graph.py --surface $(SURFACE) # Discovery connectors (ATLAS-WP-0003) — emit candidates for PR review. connect-gitconfig: @python3 tools/connector_gitconfig.py $(REPO) connect-reposcoping: @python3 tools/connector_reposcoping.py $(REPO) $(if $(FACTS),--facts $(FACTS),) connect-featurecontrol: @python3 tools/connector_featurecontrol.py $(if $(KEYS),--keys $(KEYS),) # Stale / unowned surface report (ATLAS-WP-0003-T05). registry-health: @python3 tools/registry_health.py # Full gate run by agents and CI. validate: validate-schema validate-graph validate-tests validate-whitespace validate-reuse @echo "validate: all checks passed" # The committed graph edge artifact must match the registry. validate-graph: @python3 tools/config_graph.py --check # Resolver determinism + no-value-leak tests (ATLAS-WP-0004-T05). validate-tests: @python3 -m unittest discover -s tests -q # Surface entries validate against the JSON Schema; index is consistent. validate-schema: @python3 tools/validate_registry.py # No trailing whitespace / conflict markers in staged or working tree. validate-whitespace: @git diff --check HEAD -- . && echo "validate-whitespace: OK" # Capability registry federation validation (skipped if reuse-surface absent). validate-reuse: @if command -v reuse-surface >/dev/null 2>&1; then \ reuse-surface validate --root . ; \ else \ echo "validate-reuse: reuse-surface CLI not on PATH — skipped" ; \ fi