Skip to main content
This page is kept honest on purpose — it’s the place anything found while writing or verifying these docs goes, bugs included, rather than being quietly smoothed over.

Verified live, 2026-09-08

The full publishing walkthrough was run against a real local stack (jaas-ui + jaas-skills + jaas-guardrails), not assumed from source reading. Result: no functional defects found. Everything that happened matched what’s documented, including the one step that didn’t succeed on the first try:
  • Publishing jaas.demo.personal-notes:1.0.0 a second time correctly hit DUPLICATE_PUBLISH (409) — the exact documented corner case, not a bug.
  • Auto-defaulted files (dependencies.yaml, permissions.yaml) appeared exactly as Package layout describes, with no need to author them by hand.
  • The projected guardrail certification shown at Validate time (Level 2 — Standard) matched the certification actually recorded after Publish.

Documentation inconsistency found

jaas-skills/SKILLS_GUIDE.md (in the backend repo) lists schema.json as REQUIRED. The actual validation and packaging code (artifact/packaging.py, api/release_routes.py) treats it as optional, defaulting to {"inputs": {"type": "object", "properties": {}}, "outputs": {...}} when absent — matching design.md §4.1, not SKILLS_GUIDE.md. These docs follow the code (and design.md), i.e. schema.json is optional. Worth a fix in SKILLS_GUIDE.md itself at some point, since it’s a maintainer-facing doc in that repo, not this one.

Product observation, not a bug

Search matches indexed tokens (id segments, name words, tags, category, description words — see the ranking model), not substrings. Searching personal-notes — the id’s own hyphenated suffix — returns nothing, while searching notes (an actual tag) finds it immediately. This surprised us live during the walkthrough before we understood why. It’s consistent, documented-once-you-know-it behavior, not a defect — but it’s the kind of thing a fuzzier/substring-aware search would smooth over. Flagging it here as a possible product enhancement, not something these docs can fix.

Not yet documented here

  • The four framework SDKs (jaas-client, jaas-langgraph, jaas-crewai, jaas-autogen) — how a caller actually consumes a published skill at runtime, as opposed to publishing one.
  • Tenant administration beyond guardrail policy: member invites/roles, PAT (personal access token) issuance and rotation, the GitHub OAuth App connection flow tenants set up for git-native release.
  • The full reference CI workflow (examples/ci/github-actions-release.yml) walked through step by step, beyond the jaasctl release command itself.
  • Custom guardrail rule drafts (fork-edit-republish a rule, CustomGuardrailRuleDraftResponse) — covered today only at the “attach an ad-hoc rule to one /scan call” level in Custom rules & RE2.
Contributions/requests against any of the above are the natural next additions to this site.