Skip to content

Commit 9256181

Browse files
Aitomatesclaude
andcommitted
fix: migrate schema $id base to live github pages registry
Rewrite every JSON-Schema $id and $ref off the phantom domain schemas.coding-autopilot.dev to the live, org-controlled GitHub Pages registry base that actually resolves 200: https://coding-autopilot-system.github.io/cas-contracts/registry/ The version paths (v0.1/v1.0/v1.1 and the immutable releases/ tree) are unchanged; only the domain moves, so each $id now dereferences directly to the schema it identifies. Updates the scripts/lib.mjs $id base used by the example validator, the vendored example artifact uris, the contract test expectations, and docs/DISTRIBUTION.md (the canonical-namespace/custom-domain guidance is superseded now that $id == hosting URL). npm ci && npm test (35 pass), validate:registry (3 releases / 3 lines) and validate (7 examples) all green after regenerating the registry manifests with the new content hashes. Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
1 parent 461a1fb commit 9256181

28 files changed

Lines changed: 41 additions & 49 deletions

docs/DISTRIBUTION.md

Lines changed: 9 additions & 17 deletions
Original file line numberDiff line numberDiff line change
@@ -7,7 +7,7 @@ sub-path of the documentation site on a single GitHub Pages origin:
77
https://coding-autopilot-system.github.io/cas-contracts/registry/
88
```
99

10-
Schema `$id` values use the reserved canonical namespace `https://schemas.coding-autopilot.dev/`. This namespace is the stable *identity* of each schema and is independent of where the schema is hosted. Until DNS is configured for that domain, consumers must resolve schemas from the live GitHub Pages distribution URL above.
10+
Schema `$id` values use the live GitHub Pages registry base `https://coding-autopilot-system.github.io/cas-contracts/registry/`, so every `$id` resolves directly to the schema it identifies. Identity and hosting location are the same URL; consumers can dereference an `$id` to fetch the schema.
1111

1212
## URL Contract
1313

@@ -51,19 +51,11 @@ a schema tag can no longer clobber each other on the single Pages origin.
5151

5252
Repository administrators must configure GitHub Pages to use **GitHub Actions** as its source. Publication uses GitHub's OIDC token and does not require stored deployment credentials.
5353

54-
## Custom domain (manual follow-up)
55-
56-
Serving the registry under the canonical `schemas.coding-autopilot.dev` `$id`
57-
namespace requires infrastructure that cannot be provisioned from this
58-
repository:
59-
60-
1. Configure DNS for `schemas.coding-autopilot.dev` (a `CNAME` to
61-
`coding-autopilot-system.github.io`, or the four GitHub Pages `A`/`AAAA`
62-
apex records) with the domain registrar.
63-
2. Because the single Pages origin now hosts the documentation at its root and
64-
the registry under `/registry/`, a custom domain would remap the **entire**
65-
origin — it cannot point only at the `/registry/` sub-path. Activating
66-
`schemas.coding-autopilot.dev` therefore requires a dedicated hosting origin
67-
for the registry (for example, a separate Pages project or a CDN) rather than
68-
the shared docs site. Until such an origin exists, resolve schemas from the
69-
GitHub Pages URL above.
54+
## Custom domain (optional future work)
55+
56+
Schema `$id` values resolve on the live GitHub Pages origin today, so no DNS or
57+
custom-domain work is required for schemas to dereference. A vanity domain (for
58+
example `schemas.coding-autopilot.dev`) would only be a cosmetic rename of the
59+
`$id` base and, if ever adopted, would require its own hosting origin plus a
60+
coordinated `$id` migration across this repository and every consumer that
61+
vendors these schemas. It is intentionally out of scope here.

examples/v0.1/artifact-manifest.json

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -11,7 +11,7 @@
1111
"artifacts": [
1212
{
1313
"kind": "schema",
14-
"uri": "https://schemas.coding-autopilot.dev/v0.1/prompt-envelope.schema.json",
14+
"uri": "https://coding-autopilot-system.github.io/cas-contracts/registry/v0.1/prompt-envelope.schema.json",
1515
"sha256": "0123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef"
1616
}
1717
]

examples/v1.0/artifact-manifest.json

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -11,7 +11,7 @@
1111
"artifacts": [
1212
{
1313
"kind": "schema",
14-
"uri": "https://schemas.coding-autopilot.dev/v1.0/prompt-envelope.schema.json",
14+
"uri": "https://coding-autopilot-system.github.io/cas-contracts/registry/v1.0/prompt-envelope.schema.json",
1515
"sha256": "0123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef"
1616
}
1717
]

schemas/v0.1/artifact-manifest.schema.json

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
{
22
"$schema": "https://json-schema.org/draft/2020-12/schema",
3-
"$id": "https://schemas.coding-autopilot.dev/v0.1/artifact-manifest.schema.json",
3+
"$id": "https://coding-autopilot-system.github.io/cas-contracts/registry/v0.1/artifact-manifest.schema.json",
44
"title": "ArtifactManifest",
55
"type": "object",
66
"allOf": [

schemas/v0.1/common.schema.json

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
{
22
"$schema": "https://json-schema.org/draft/2020-12/schema",
3-
"$id": "https://schemas.coding-autopilot.dev/v0.1/common.schema.json",
3+
"$id": "https://coding-autopilot-system.github.io/cas-contracts/registry/v0.1/common.schema.json",
44
"title": "CAS Common Definitions",
55
"$defs": {
66
"actor": {

schemas/v0.1/evaluation-result.schema.json

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
{
22
"$schema": "https://json-schema.org/draft/2020-12/schema",
3-
"$id": "https://schemas.coding-autopilot.dev/v0.1/evaluation-result.schema.json",
3+
"$id": "https://coding-autopilot-system.github.io/cas-contracts/registry/v0.1/evaluation-result.schema.json",
44
"title": "EvaluationResult",
55
"type": "object",
66
"allOf": [

schemas/v0.1/policy-decision.schema.json

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
{
22
"$schema": "https://json-schema.org/draft/2020-12/schema",
3-
"$id": "https://schemas.coding-autopilot.dev/v0.1/policy-decision.schema.json",
3+
"$id": "https://coding-autopilot-system.github.io/cas-contracts/registry/v0.1/policy-decision.schema.json",
44
"title": "PolicyDecision",
55
"type": "object",
66
"allOf": [

schemas/v0.1/prompt-envelope.schema.json

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
{
22
"$schema": "https://json-schema.org/draft/2020-12/schema",
3-
"$id": "https://schemas.coding-autopilot.dev/v0.1/prompt-envelope.schema.json",
3+
"$id": "https://coding-autopilot-system.github.io/cas-contracts/registry/v0.1/prompt-envelope.schema.json",
44
"title": "PromptEnvelope",
55
"type": "object",
66
"allOf": [

schemas/v0.1/run-event.schema.json

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
{
22
"$schema": "https://json-schema.org/draft/2020-12/schema",
3-
"$id": "https://schemas.coding-autopilot.dev/v0.1/run-event.schema.json",
3+
"$id": "https://coding-autopilot-system.github.io/cas-contracts/registry/v0.1/run-event.schema.json",
44
"title": "RunEvent",
55
"type": "object",
66
"allOf": [

schemas/v0.1/verification-result.schema.json

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
{
22
"$schema": "https://json-schema.org/draft/2020-12/schema",
3-
"$id": "https://schemas.coding-autopilot.dev/v0.1/verification-result.schema.json",
3+
"$id": "https://coding-autopilot-system.github.io/cas-contracts/registry/v0.1/verification-result.schema.json",
44
"title": "VerificationResult",
55
"type": "object",
66
"allOf": [

0 commit comments

Comments
 (0)