-
Notifications
You must be signed in to change notification settings - Fork 1
Release v0.1.0: ADR-0001/0002/0003, all data draft, spec fixes #6–#15, Astro 7 (#20) #4
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Open
maehr
wants to merge
25
commits into
main
Choose a base branch
from
staging
base: main
Could not load branches
Branch not found: {{ refName }}
Loading
Could not load tags
Nothing to show
Loading
Are you sure you want to change the base?
Some commits from the old base branch may be removed from the timeline,
and old review comments may become outdated.
Open
Changes from all commits
Commits
Show all changes
25 commits
Select commit
Hold shift + click to select a range
70ddf74
chore: add textrefs/.github as submodule at github-profile/
maehr 5f63ebe
docs: revise get-started prose and document staging deploy flow
maehr 30a12a0
fix(ci): repair URL extraction in link-check workflow
maehr 6dd6e0d
chore(deps): bump astro 6.4.4 and migrate to zod 4
maehr 74bce51
docs(association): sync statutes board size and review tracks with do…
maehr 6b0f0e8
docs(spec): tighten dereferenceable-location guidance to should (#7)
maehr da48c31
docs(spec): self-contained §13 example with @context (#8)
maehr 56eb064
chore(data): bump submodule with second resolvers on single-resolver …
maehr e9b09d4
feat(spec)!: replace target_kind with dcterms:conformsTo (#6)
maehr e54b883
chore(data): bump submodule to registry main (36cae56)
maehr 666dc78
fix(404): mark docs/404.mdx as draft to drop catch-all route conflict
maehr d3ae0d7
fix(ci): repair link-check workflow + bump deps to zod 4 (#5)
maehr 24b2e36
docs: add ORCID for Luz Christopher Seiberth (#19)
maehr 9c9f2b5
feat(spec)!: seed CanonicalReference UUIDs from the semantic identity…
maehr 82bc899
feat(spec): draft lifecycle with retractable pre-promotion identity (…
maehr 1952650
chore(data): bump submodule to registry main (40af385)
maehr a765770
feat(spec): require explicit canonical ASCII digit and case forms in …
maehr 37d1481
fix(spec): erratum batch and spec-consistency fixes (#10, #11, #12, #…
maehr 29c15e4
feat(site): flag draft records and exclude them from search indexing …
maehr 59a1c54
chore(deps): astro 6.4.8, dompurify 3.4.11, actions/checkout v7
maehr 3455674
chore(release): v0.1.0 — version bump, changelog, roadmap (#28)
maehr dd1038d
feat(deps)!: upgrade to Astro 7 / Starlight 0.41, all dependencies to…
maehr 238490e
feat(site)!: minimal static templates for reference pages (#30)
maehr c4b623a
chore(release): regenerate changelog with Astro 7 and slim ref pages
maehr 3dcff6f
chore(data): bump submodule to registry main (c0a3275, ORCID docs)
maehr File filter
Filter by extension
Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
There are no files selected for viewing
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
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
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
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
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
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
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
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
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
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
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
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
Submodule data
updated
25 files
| +7 −2 | .github/workflows/validate.yml | |
| +2 −1 | .zenodo.json | |
| +1 −1 | AGENTS.md | |
| +5 −15 | systems/analects-book-chapter.yaml | |
| +8 −16 | systems/bekker.yaml | |
| +10 −18 | systems/bible-book-chapter-verse.yaml | |
| +6 −15 | systems/daodejing-chapter.yaml | |
| +6 −15 | systems/dhammapada-chapter-verse.yaml | |
| +6 −14 | systems/genji-chapter.yaml | |
| +5 −15 | systems/homer-book-line.yaml | |
| +5 −15 | systems/integer-section.yaml | |
| +8 −16 | systems/stephanus.yaml | |
| +5 −17 | systems/tractatus-proposition.yaml | |
| +24 −9 | works/aristotle.nicomachean-ethics.yaml | |
| +39 −8 | works/confucius.analects.yaml | |
| +8 −8 | works/dhammapada.yaml | |
| +18 −8 | works/homer.iliad.yaml | |
| +18 −8 | works/homer.odyssey.yaml | |
| +8 −8 | works/laozi.daodejing.yaml | |
| +21 −8 | works/murasaki-shikibu.genji.yaml | |
| +12 −12 | works/new-testament.yaml | |
| +24 −9 | works/plato.republic.yaml | |
| +15 −20 | works/tanakh.yaml | |
| +8 −8 | works/wittgenstein.philosophical-investigations.yaml | |
| +8 −8 | works/wittgenstein.tractatus.yaml |
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
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -0,0 +1,57 @@ | ||
| # ADR-0001: Replace `target_kind` with `dcterms:conformsTo` | ||
|
|
||
| - **Status:** Proposed | ||
| - **Date:** 2026-06-09 | ||
| - **Deciders:** @maehr | ||
| - **Tags:** spec | ||
|
|
||
| ## Context and problem statement | ||
|
|
||
| `MappingAssertion.target.target_kind` was introduced as an OPTIONAL human-readable scheme hint (`"cts"`, `"wikidata"`, `"doi"`, …). The spec already says validators MUST NOT key behaviour off it and the IRI in `identifier` is authoritative. Issue [#6](https://github.com/textrefs/textrefs.org/issues/6) observes that a field with no normative weight, accompanied by Appendix B's enumerated list of "known" scheme labels, is upkeep without payoff: every new scheme means another table row to police. | ||
|
|
||
| Linked Art's [digital integration model](https://linked.art/model/digital/) handles the same problem with `conforms_to` pointing at the relevant specification (e.g. the IIIF profile URI), letting the IRI carry the conformance claim without a curated label registry. | ||
|
|
||
| ## Decision drivers | ||
|
|
||
| - The field is already non-normative; the IRI is authoritative. | ||
| - Appendix B's label column would otherwise grow indefinitely. | ||
| - Pre-v1.0.0 — breaking field renames are still acceptable. | ||
| - Want to align with established Linked Data practice rather than invent a TextRefs-specific convention. | ||
|
|
||
| ## Considered options | ||
|
|
||
| 1. **Replace `target_kind` with `conforms_to`** — drop the field, introduce an optional `target.conforms_to` typed as `dcterms:conformsTo` in the JSON-LD context, accepting an IRI or array of IRIs. | ||
| 2. **Deprecate `target_kind`, keep accepting it** — add `conforms_to` alongside, mark `target_kind` deprecated. Smoother for downstream consumers; carries the dead field into v1. | ||
| 3. **Leave `target_kind` as-is** — no change. Fails to address the upkeep concern that prompted the issue. | ||
|
|
||
| ## Decision | ||
|
|
||
| We choose **Option 1**. The replacement happens before v1.0.0 freezes the schema, so a clean break is preferable to carrying a deprecated field into the stable surface. `target.conforms_to` is OPTIONAL; the registry will not synthesise values where none are known. Multiple IRIs are allowed via array form so a target can claim conformance to several specifications. | ||
|
|
||
| In the JSON-LD context, `conforms_to` maps to `dcterms:conformsTo` with `@type: @id` so the value is treated as an IRI reference. | ||
|
|
||
| ## Consequences | ||
|
|
||
| ### Positive | ||
|
|
||
| - One less curated label registry to maintain. | ||
| - IRIs are self-describing; conformance claims are dereferenceable. | ||
| - Aligns with Linked Art's established pattern. | ||
|
|
||
| ### Negative / trade-offs | ||
|
|
||
| - Breaking rename for any downstream consumer that read `target_kind`. Acceptable pre-v1.0.0. | ||
| - Coordinated change across two repos (`textrefs/textrefs.org` schema/docs, `textrefs/registry` YAML data). | ||
|
|
||
| ### Follow-up actions | ||
|
|
||
| - [x] Update spec §10 and Appendix B. | ||
| - [x] Update the v1 JSON-LD context. | ||
| - [x] Update Zod schema, compile pipeline, and in-tree fixture. | ||
| - [x] Migrate `data/works/*.yaml` in `textrefs/registry` (carried by registry PR #1). | ||
| - [x] Bump `data/` submodule pointer to the migrated registry commit. | ||
|
|
||
| ## Links | ||
|
|
||
| - Related issues / PRs: textrefs/textrefs.org#6, textrefs/textrefs.org#5, textrefs/registry#1 | ||
| - External references: [Linked Art — Digital Integration](https://linked.art/model/digital/), [DCMI Terms — conformsTo](http://purl.org/dc/terms/conformsTo) |
Oops, something went wrong.
Oops, something went wrong.
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.
Uh oh!
There was an error while loading. Please reload this page.