feat(registry): complete ATLAS-WP-0002 T02, T03, T06
T02: remove inherited capability.infotech.repo-template and template consumer
docs (statehub-register, template-validation-checklist); add
capability.infotech.config-surface-atlas and rewrite capabilities.yaml.
T03: seed 4 configuration surfaces (state-hub api-config, ops-warden
routing-catalog, reuse-surface federation-sources, ops-bridge tunnel-config)
with registry/indexes/surfaces.yaml; source-linked, no values, secret deps by
reference.
T06: add tools/validate_registry.py (schema + index gate), Makefile (make
validate), and .github/workflows/validate.yml (GitHub + Gitea Actions);
document in stack-and-commands. Verified malformed entries are rejected.
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
2026-06-26 23:19:18 +02:00
|
|
|
# config-atlas — registry validation gate (ATLAS-WP-0002-T06)
|
2026-06-27 00:05:01 +02:00
|
|
|
# Markdown-first repo: no build/run, only validation and the explain tool.
|
feat(registry): complete ATLAS-WP-0002 T02, T03, T06
T02: remove inherited capability.infotech.repo-template and template consumer
docs (statehub-register, template-validation-checklist); add
capability.infotech.config-surface-atlas and rewrite capabilities.yaml.
T03: seed 4 configuration surfaces (state-hub api-config, ops-warden
routing-catalog, reuse-surface federation-sources, ops-bridge tunnel-config)
with registry/indexes/surfaces.yaml; source-linked, no values, secret deps by
reference.
T06: add tools/validate_registry.py (schema + index gate), Makefile (make
validate), and .github/workflows/validate.yml (GitHub + Gitea Actions);
document in stack-and-commands. Verified malformed entries are rejected.
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
2026-06-26 23:19:18 +02:00
|
|
|
|
2026-06-27 00:16:58 +02:00
|
|
|
.PHONY: validate validate-schema validate-reuse validate-whitespace validate-tests explain blast-radius
|
2026-06-27 00:05:01 +02:00
|
|
|
|
|
|
|
|
# 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)
|
feat(registry): complete ATLAS-WP-0002 T02, T03, T06
T02: remove inherited capability.infotech.repo-template and template consumer
docs (statehub-register, template-validation-checklist); add
capability.infotech.config-surface-atlas and rewrite capabilities.yaml.
T03: seed 4 configuration surfaces (state-hub api-config, ops-warden
routing-catalog, reuse-surface federation-sources, ops-bridge tunnel-config)
with registry/indexes/surfaces.yaml; source-linked, no values, secret deps by
reference.
T06: add tools/validate_registry.py (schema + index gate), Makefile (make
validate), and .github/workflows/validate.yml (GitHub + Gitea Actions);
document in stack-and-commands. Verified malformed entries are rejected.
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
2026-06-26 23:19:18 +02:00
|
|
|
|
2026-06-27 00:16:58 +02:00
|
|
|
# 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)
|
|
|
|
|
|
2026-06-27 00:27:57 +02:00
|
|
|
# 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
|
|
|
|
|
|
feat(registry): complete ATLAS-WP-0002 T02, T03, T06
T02: remove inherited capability.infotech.repo-template and template consumer
docs (statehub-register, template-validation-checklist); add
capability.infotech.config-surface-atlas and rewrite capabilities.yaml.
T03: seed 4 configuration surfaces (state-hub api-config, ops-warden
routing-catalog, reuse-surface federation-sources, ops-bridge tunnel-config)
with registry/indexes/surfaces.yaml; source-linked, no values, secret deps by
reference.
T06: add tools/validate_registry.py (schema + index gate), Makefile (make
validate), and .github/workflows/validate.yml (GitHub + Gitea Actions);
document in stack-and-commands. Verified malformed entries are rejected.
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
2026-06-26 23:19:18 +02:00
|
|
|
# Full gate run by agents and CI.
|
2026-06-27 00:16:58 +02:00
|
|
|
validate: validate-schema validate-graph validate-tests validate-whitespace validate-reuse
|
feat(registry): complete ATLAS-WP-0002 T02, T03, T06
T02: remove inherited capability.infotech.repo-template and template consumer
docs (statehub-register, template-validation-checklist); add
capability.infotech.config-surface-atlas and rewrite capabilities.yaml.
T03: seed 4 configuration surfaces (state-hub api-config, ops-warden
routing-catalog, reuse-surface federation-sources, ops-bridge tunnel-config)
with registry/indexes/surfaces.yaml; source-linked, no values, secret deps by
reference.
T06: add tools/validate_registry.py (schema + index gate), Makefile (make
validate), and .github/workflows/validate.yml (GitHub + Gitea Actions);
document in stack-and-commands. Verified malformed entries are rejected.
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
2026-06-26 23:19:18 +02:00
|
|
|
@echo "validate: all checks passed"
|
|
|
|
|
|
2026-06-27 00:16:58 +02:00
|
|
|
# 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
|
|
|
|
|
|
feat(registry): complete ATLAS-WP-0002 T02, T03, T06
T02: remove inherited capability.infotech.repo-template and template consumer
docs (statehub-register, template-validation-checklist); add
capability.infotech.config-surface-atlas and rewrite capabilities.yaml.
T03: seed 4 configuration surfaces (state-hub api-config, ops-warden
routing-catalog, reuse-surface federation-sources, ops-bridge tunnel-config)
with registry/indexes/surfaces.yaml; source-linked, no values, secret deps by
reference.
T06: add tools/validate_registry.py (schema + index gate), Makefile (make
validate), and .github/workflows/validate.yml (GitHub + Gitea Actions);
document in stack-and-commands. Verified malformed entries are rejected.
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
2026-06-26 23:19:18 +02:00
|
|
|
# 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
|