Repository navigation
Portal v0.1.1 — loopback clarification + trending-demo rename
Additive clarifications over v0.1.0. Every v0.1.0-conformant portal remains v0.1.1-conformant.
Spec changes
- call_endpoint loopback exception.
http://localhostandhttp://127.0.0.1are now explicitly permitted (local development). Production still requireshttps://. Both the JSON Schema pattern and the lean validator's URL regex updated together. - New vector:
MV-11-loopback-httpcovers the exception. - Rate-limit appendix (B): SHOULD-level defaults +
Retry-Afterheader semantics for theRATE_LIMITEDerror code. - Runner API: adds
validateAgainstVectors(manifest)for offline full-suite reporting.runConformance()renamed torunSmokeConformance()for clarity.
Reference rename
reference/star-screener/ → reference/trending-demo/.
Preserved: the human-facing service name "Star Screener" (appears in manifests, terminal demos, directory entries).
Replaced: the kebab-case package/filesystem slug. pnpm --filter trending-demo start now runs the demo.
Version bumps
@visitportal/spec0.1.0 → 0.1.1@visitportal/visit0.1.0 → 0.1.1 (no API changes; version tracks spec)@visitportal/cli0.1.0 → 0.1.1 (no API changes)
Numbers still hold
| Tool count | MCP | Portal | Ratio |
|---|---|---|---|
| 10 | 1,956 | 172 | 11.4× |
| 100 | 13,929 | 172 | 81.0× |
| 400 | 54,677 | 172 | 317.9× |
Matrix unchanged: packages/bench/results/tokens-matrix-v1.json.
Verified
pnpm -r test→ 121/121 still greenpnpm --filter @visitportal/spec test→ 32 vectors OK · ajv↔lean agree on all 22 manifest vectorspnpm --filter visitportal-web build→ 7 static + 1 dynamic routes- SDK bundle: 2.25 kB gzipped (under 15 kB ceiling)
bash scripts/demo.sh→ 7s end-to-end (now runspnpm --filter trending-demo)
Live
- Web: https://web-ten-neon-86.vercel.app/
- Docs: https://web-ten-neon-86.vercel.app/docs
- Bench: https://web-ten-neon-86.vercel.app/bench
License
Unchanged: Apache 2.0 for code, CC0 1.0 for the spec.
Built with Opus 4.7 for the Claude Code hackathon · April 2026