docs: codify live public routing coverage and gaps
This commit is contained in:
@@ -3,6 +3,8 @@
|
||||
# Recommendation: docs/10-best-practices/IMPLEMENTATION_CHECKLIST.md (Configuration validation)
|
||||
# Usage: ./scripts/validation/validate-config-files.sh [--dry-run]
|
||||
# --dry-run Print what would be validated and exit 0 (no file checks).
|
||||
# Optional: URA_STRICT_CLOSURE=1 — after URA manifest/profile checks, fail if pilot placeholders
|
||||
# or open reconciliation remain (see scripts/ura/validate-manifest-closure.mjs).
|
||||
|
||||
set -euo pipefail
|
||||
|
||||
@@ -91,6 +93,26 @@ else
|
||||
fi
|
||||
fi
|
||||
fi
|
||||
if [[ -f "$PROJECT_ROOT/config/public-routing-coverage-matrix.json" ]]; then
|
||||
log_ok "Found: config/public-routing-coverage-matrix.json"
|
||||
if command -v jq &>/dev/null; then
|
||||
if jq -e '
|
||||
(.schemaVersion | type == "string")
|
||||
and (.supportedBridgeDestinations | type == "array")
|
||||
and (.stablecoinCoverage | type == "array")
|
||||
and (.topAssetCoverage | type == "array")
|
||||
and (.shortIntegrationLeaps | type == "array")
|
||||
and (.additionalComponentsRequired | type == "array")
|
||||
' "$PROJECT_ROOT/config/public-routing-coverage-matrix.json" &>/dev/null; then
|
||||
log_ok "public-routing-coverage-matrix.json: structure valid"
|
||||
else
|
||||
log_err "public-routing-coverage-matrix.json: invalid structure"
|
||||
ERRORS=$((ERRORS + 1))
|
||||
fi
|
||||
fi
|
||||
else
|
||||
log_warn "Optional config/public-routing-coverage-matrix.json missing; skipping"
|
||||
fi
|
||||
[[ -f "$PROJECT_ROOT/config/smart-contracts-master.json" ]] && log_ok "Found: config/smart-contracts-master.json" || true
|
||||
# Token lists (Uniswap format): validate structure if present
|
||||
for list in token-lists/lists/dbis-138.tokenlist.json token-lists/lists/cronos.tokenlist.json token-lists/lists/all-mainnet.tokenlist.json; do
|
||||
@@ -149,6 +171,32 @@ else
|
||||
log_err "Missing config/universal-resource-activation/manifest.json"
|
||||
ERRORS=$((ERRORS + 1))
|
||||
fi
|
||||
# URA policy profile registry (must match manifest policyProfileRefs and resource.policyProfileId)
|
||||
if [[ -f "$PROJECT_ROOT/config/universal-resource-activation/policy-profiles.json" ]]; then
|
||||
log_ok "Found: config/universal-resource-activation/policy-profiles.json"
|
||||
if command -v node &>/dev/null && [[ -f "$PROJECT_ROOT/scripts/validate/validate-ura-policy-profiles.mjs" ]]; then
|
||||
if node "$PROJECT_ROOT/scripts/validate/validate-ura-policy-profiles.mjs"; then
|
||||
log_ok "universal-resource-activation: policy profile registry validation passed"
|
||||
else
|
||||
log_err "universal-resource-activation: policy-profiles.json or manifest profile refs failed validation"
|
||||
ERRORS=$((ERRORS + 1))
|
||||
fi
|
||||
else
|
||||
log_warn "Node or validate-ura-policy-profiles.mjs missing; skipping URA profile registry validation"
|
||||
fi
|
||||
else
|
||||
log_warn "Optional config/universal-resource-activation/policy-profiles.json missing; skipping"
|
||||
fi
|
||||
# Optional production gate: URA_STRICT_CLOSURE=1 fails if pilots/TBD/open reconciliation remain
|
||||
if [[ "${URA_STRICT_CLOSURE:-}" == "1" ]] && [[ -f "$PROJECT_ROOT/scripts/ura/validate-manifest-closure.mjs" ]]; then
|
||||
log_info "URA_STRICT_CLOSURE=1: running URA manifest closure gate…"
|
||||
if node "$PROJECT_ROOT/scripts/ura/validate-manifest-closure.mjs" --strict; then
|
||||
log_ok "universal-resource-activation: strict closure validation passed"
|
||||
else
|
||||
log_err "universal-resource-activation: strict closure failed (see URA_PILOT_CLOSURE_RUNBOOK.md)"
|
||||
ERRORS=$((ERRORS + 1))
|
||||
fi
|
||||
fi
|
||||
# Phoenix deploy targets (used by phoenix-deploy-api POST /api/deploy)
|
||||
if [[ -f "$PROJECT_ROOT/phoenix-deploy-api/deploy-targets.json" ]]; then
|
||||
log_ok "Found: phoenix-deploy-api/deploy-targets.json"
|
||||
|
||||
Reference in New Issue
Block a user