Skip to content

feat: add deployed portal validator#133

Open
leandrogilcarrano wants to merge 1 commit into
masterfrom
feat/validate-deployed-portal
Open

feat: add deployed portal validator#133
leandrogilcarrano wants to merge 1 commit into
masterfrom
feat/validate-deployed-portal

Conversation

@leandrogilcarrano

Copy link
Copy Markdown
Contributor

Summary

  • Adds scripts/build/validate_portal.py — validates a deployed portal's agentic endpoints against any URL (test, prod, or localhost)
  • Adds make validate-portal URL=<url> Makefile target
  • Documents usage in CLAUDE.md and docs/VALIDATION.md

What it checks

Check Description
C1 Core endpoints return 200: /, /AGENTS.md, /registry.json, /llms.txt
C2 registry.json is valid JSON with required fields and expected kinds
C3 Every href in registry.json returns 200
C4 All OAS specs are parseable as valid YAML
C5 All SKILL.md files are non-empty and contain frontmatter

C3 is the critical check — it caught a live bug where skills under mule-development/ had their SKILL.md unreachable at the URL agents expect.

Usage

# Against test
python3 scripts/build/validate_portal.py --url https://test-dev-portal.mulesoft.com --header "X-MS-Developer: true"

# Against local
python3 scripts/build/validate_portal.py --url http://localhost:8081

# Via Makefile
make validate-portal URL=https://test-dev-portal.mulesoft.com PORTAL_HEADER="X-MS-Developer: true"

Test Plan

  • Run against test: python3 scripts/build/validate_portal.py --url https://test-dev-portal.mulesoft.com --header "X-MS-Developer: true" — should show 5/5 checks passed
  • Run against prod: same with https://dev-portal.mulesoft.com — C3 should expose the existing 404s on mule-development skills

Adds scripts/build/validate_portal.py to validate a deployed portal's
agentic endpoints against any URL (test, prod, or localhost).

Checks C1-C5: core endpoints (200), registry.json structure, all hrefs
reachable, OAS specs parseable as YAML, SKILL.md non-empty with frontmatter.

C3 (follow registry hrefs) is the critical check — catches mismatched paths
for nested skills like mule-development/* that caused 404s in prod.

Also adds make validate-portal target and documents usage in CLAUDE.md
and docs/VALIDATION.md.
@leandrogilcarrano leandrogilcarrano requested a review from a team as a code owner June 12, 2026 17:29
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant