FEP-6757 defines its vocabulary through the context https://w3id.org/fep/6757. That URL redirects through w3id.org to Codeberg Pages, which suffers recurring outages. When the context cannot be resolved, JSON-LD expansion fails before application handlers run, so the whole document fails to parse. Fedify already bundles contexts for this reason in packages/vocab-runtime/src/contexts.ts (FEP-ef61, FEP-7aa9, FEP-22cd, and FEP-5711).
Proposal
Add packages/vocab-runtime/src/contexts/fep-6757.json and register https://w3id.org/fep/6757 in packages/vocab-runtime/src/contexts.ts.
Copy the upstream context verbatim. Do not add, remove, or correct terms under the upstream URL: a divergent copy makes Fedify expand and canonicalize differently from other processors and can break Object Integrity Proof verification. The current context defines both terms with "@type": "@id", license as http://purl.org/dc/terms/license (Dublin Core uses http:), and preferredLicense as https://w3id.org/fep/6757#preferredLicense.
This targets the 2.0-maintenance branch for a patch release, ahead of the vocabulary work, per the maintainer's decision. No implementation emits the context yet, but resolution failures are hard failures, and landing the bundle first lets the vocabulary feature rely on it.
Scope
In: the bundled JSON and its registration. Out: the vocabulary properties themselves (separate issue).
Acceptance criteria
https://w3id.org/fep/6757 resolves from the bundled copy with the network unavailable.
- Offline expansion of a document that references the context yields the two IRIs above.
- Existing contexts and their order are unchanged, and Deno, Node.js, and Bun tests pass.
Notes
Consider a non-blocking CI check that diffs each bundled w3id context against upstream to detect drift.
FEP-6757 defines its vocabulary through the context
https://w3id.org/fep/6757. That URL redirects through w3id.org to Codeberg Pages, which suffers recurring outages. When the context cannot be resolved, JSON-LD expansion fails before application handlers run, so the whole document fails to parse. Fedify already bundles contexts for this reason in packages/vocab-runtime/src/contexts.ts (FEP-ef61, FEP-7aa9, FEP-22cd, and FEP-5711).Proposal
Add packages/vocab-runtime/src/contexts/fep-6757.json and register
https://w3id.org/fep/6757in packages/vocab-runtime/src/contexts.ts.Copy the upstream context verbatim. Do not add, remove, or correct terms under the upstream URL: a divergent copy makes Fedify expand and canonicalize differently from other processors and can break Object Integrity Proof verification. The current context defines both terms with
"@type": "@id",licenseashttp://purl.org/dc/terms/license(Dublin Core useshttp:), andpreferredLicenseashttps://w3id.org/fep/6757#preferredLicense.This targets the
2.0-maintenancebranch for a patch release, ahead of the vocabulary work, per the maintainer's decision. No implementation emits the context yet, but resolution failures are hard failures, and landing the bundle first lets the vocabulary feature rely on it.Scope
In: the bundled JSON and its registration. Out: the vocabulary properties themselves (separate issue).
Acceptance criteria
https://w3id.org/fep/6757resolves from the bundled copy with the network unavailable.Notes
Consider a non-blocking CI check that diffs each bundled w3id context against upstream to detect drift.