feat(explain): complete ATLAS-WP-0004 — graph edges, blast-radius, determinism tests
Some checks failed
validate-registry / validate (push) Has been cancelled

T05: tests/test_effective_config.py (6 tests) — order-independence, most-specific
winner, no value/secret leak; wired into make validate + CI.
T04: tools/blast_radius.py + make blast-radius — consumers, transitive dependents
(cycle-safe), secret refs, fan-out risk band.
T03: tools/config_graph.py + make graph/graph-query — emit config-typed edges to
registry/indexes/graph.yaml (queryable by surface id); staleness check in the gate.

WP-0004 finished (5/5). Read-first control-plane MVP complete: explain, graph,
and blast-radius over the seeded surfaces.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
This commit is contained in:
2026-06-27 00:16:58 +02:00
parent 599efb958d
commit 4620244f39
8 changed files with 452 additions and 6 deletions

View File

@@ -1,17 +1,39 @@
# 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 explain
.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)
# Full gate run by agents and CI.
validate: validate-schema validate-whitespace validate-reuse
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