Namespace academic cross-reference marks#77
Merged
Conversation
The academic theorem/equation/algorithm cross-reference marks used bare (unprefixed) type names, which placed extension-owned identifiers in the core mark namespace. This had two consequences: a consumer that does not load the academic schema saw an unknown *bare* mark and was obliged to reject the whole document, where an unknown *namespaced* mark would have been ignored and rendered as plain text; and the core content schema had to hard-code the bare names in its known-mark registry, coupling the core to the academic extension. Rename them to academic:theorem-ref / academic:equation-ref / academic:algorithm-ref so they route through the unknown-namespaced-mark disposition and join the namespaced-but-registered set alongside legal:cite and presentation:footnote (their dispatch branches, and thus strict target validation, are retained). The canonicalizer's reference rewriter, the closure vectors, the hashing prose, and the academic documentation are updated in lockstep; the academic example's document id and content hash are recomputed to match the renamed marks.
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.
Summary
theorem-ref→academic:theorem-ref,equation-ref→academic:equation-ref,algorithm-ref→academic:algorithm-ref.knownMarkTypes(so theirtarget→ Content Anchor URI validation is retained), joining the namespaced-but-registered set alongsidelegal:citeandpresentation:footnote.Test plan
npm test(schemas + examples) andnpm run test:canonicalizepass.check:document-id— academic id recomputed and verified; other 10 ids unmoved.check:manifest-projection— both signed projections unchanged.check:schema-closure(212 vectors, all with teeth),check:readme-examples,check:sync,check:refs,check:coverage,check:manifest-extension-configpass.npm ci;npx tsc --noEmitclean;npm audit0 high.