Repository navigation
Conversation
Ora and ax.guide moved their Personal Agent Protocol pins from Draft 0.3 to the in-progress Draft 1.0 after this branch was cut (Ora #1674, #1675, #1692; ax.guide #33 to #35). The registry now records the same reviewed state: version 1.0 read 2026-11-13, the content/versions/1.0 tree pin, the new versions.json blob and the four working draft digests that moved, with 0.4 listed as the latest published draft (2026-11-10). The protocol-pap skill follows the 1.0 rules (the 2026-11-13 fixes, the 1.x minor compatibility rule, ports in organization.domain, scopes from the protected resource metadata) and gains the 2026-11-12 and 2026-11-13 research reports, with the one private PR reference removed. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01NWyUpDvmVGnxkjcJcd7nKm
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01NWyUpDvmVGnxkjcJcd7nKm
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
What this PR does
Creates the registry that becomes the single source of truth for every agent protocol spec Ora tracks. Each of the 21 specs gets
specs/<id>/spec.yaml(its versions, the latest upstream sources and the state Ora reviewed), validated by a strict JSON Schema and built into the@ora-ai/specsnpm package. The spec drift watcher moves here as its only copy, with a daily watch, a fix workflow, a release workflow and the six protocol skills, so the Ora ranker and ax.guide can read versions and pins from one place instead of comparing two sets of pins.Contents
specs/<id>/spec.yamlfor the 15 Ora manifest entries merged with ax.guide's 12 (the pins agreed: the lockstep run reported "pins agree with ax.guide" on 2026-11-11, and again on 2026-11-14 after both repos moved the Personal Agent Protocol to Draft 1.0), plus six watched-only specs withreviewed: nulland live pins: A2A, llms.txt, OpenAPI, RFC 9309 (robots), RFC 9727 (api-catalog) and RFC 9728 (protected resource metadata).schema/spec.schema.json(draft 2020-12,additionalProperties: falseeverywhere) andscripts/build.mjs, which adds the checks a schema cannot express: folder named after the id, at most one current version, the reviewed version listed inversions, the watched revision folder agreeing with the dated folder pin, each pin of its kind's shape and on its ownpin: "..."line, the named skill existing, and no em dashes.dist/:specs.json,index.js+index.d.ts(literal types, soversionIds("pap", [...])is typed"1.0" | "0.4" | "0.3" | "0.2" | "0.1"),kinds.js(state shapes,sourceKey, link builders) andschema.json.scripts/spec-drift.mjs, moved from the Ora ranker. It now reads the spec files, pins are literals, the lockstep and peer comparison are gone, two kinds are new (rfc: status plus the RFCs that update or obsolete it;git-latest-file: the newest file name matching a pattern), and--status-outcarries each source's shape-checked live value.ci.yml;watch.yml(daily; issues, thestatusbranch withstatus.json, and the report sent to ora.ai);fix.yml(schedule and dispatch only, neverpull_request_target; code moves the pins,vet-stagedconfirms only pin lines changed, Claude writes the review only);release.yml(release-please, then an npm publish with OIDC trusted publishing and provenance on the model of oramono'spublish-oss.yaml, then a smoke install from the registry).skills/protocol-{webmcp,mcp,mcp-apps,authmd,pap,nlweb}/: the spec rules that hold in any repo, split from Ora's skills (Ora's file postures and decisions stay in Ora's own overlay), plus their research reports.Review notes
specs/pap/spec.yamlnow records that state (thecontent/versions/1.0tree, the newversions.jsonblob, the four moved working draft digests; 1.0 current with nopublisheddate, 0.4 the latest published, 2026-11-10), andskills/protocol-pap/follows the 1.0 rules with the 2026-11-12 and 2026-11-13 reports added. One slip to know about: the commit message of3e608f5names three Ora PR numbers and three ax.guide PR numbers; nothing else from those PRs is in this repo.index.bs, the AI Catalogspecificationtree, and PAP again after 2026-11-13 (the 1.0 tree,versions.json, and the spec, guides and Mediated Sign-In pages), sonode scripts/spec-drift.mjs check specsshows them as drifted. The first watch run opens one issue per spec and starts the fix workflow.scripts/pap-spec-digest.mjsand workflow names (two PAP reports).SPEC_DRIFT_INGEST_SECRET(watch to ora.ai),ANTHROPIC_API_KEYorCLAUDE_CODE_OAUTH_TOKEN(fix), andNPM_TOKEN(first publish only; then configure the npm Trusted Publisher and delete it). Each workflow skips cleanly without its secret.Verification
npm run check: 21 specs valid.npm test: 31 pass.npm run build && npm run typecheck: the published types compile, literal narrowing included.node scripts/spec-drift.mjs check specs --only pap --dry-runon 2026-11-14: every PAP source resolves; the four that moved upstream after 2026-11-13 show as drifted, the rest match.npm pack: 9 files, 19 kB.🤖 Generated with Claude Code
https://claude.ai/code/session_01NWyUpDvmVGnxkjcJcd7nKm