Skip to content

feat(works)!: reclassify mappings to alternateOf and isReferencedBy (ADR-0006) - #13

Merged
maehr merged 1 commit into
mainfrom
feat/mapping-relation-vocabulary
Aug 12, 2026
Merged

feat(works)!: reclassify mappings to alternateOf and isReferencedBy (ADR-0006)#13
maehr merged 1 commit into
mainfrom
feat/mapping-relation-vocabulary

Conversation

@maehr

@maehr maehr commented Aug 11, 2026

Copy link
Copy Markdown
Member

Registry half of ADR-0006. The parent-side change is textrefs/textrefs.org#67; the two must merge together.

What changed

Every mapping is reclassified by what its target is, which is the rule ADR-0006 replaces the old confidence-based one with:

Target Was Now Published as
Wikidata entity (12) exactMatch alternateOf prov:alternateOf
Wikipedia article (12) closeMatch isReferencedBy dcterms:isReferencedBy

exactMatch and closeMatch are removed from the vocabulary entirely. Each of the 12 work files also gets its modified bumped, on the work and on both mappings.

AGENTS.md authoring rules are rewritten around the new rule. The disputed-attribution guidance ("encode uncertainty via a closeMatch mapping") is dropped rather than translated — closeMatch never actually expressed attribution uncertainty and no record used it that way; ADR-0006 records finding a real mechanism as a follow-up.

.github/PULL_REQUEST_TEMPLATE.md no longer tells contributors to link a re-minted record to its successor with an exactMatch MappingAssertion; succession is already carried by superseded_by (dcterms:isReplacedBy), so the instruction was redundant rather than translatable.

Identifier churn

relation is part of the MappingAssertion UUID seed (subject \n relation \n target.identifier, ADR-0002), so all 24 mapping IRIs are re-minted. Every record is status: draft and there are no tags, so under ADR-0004 these identifiers carry no persistence promise — this is free now and will not be after the first promotion to active.

Verified locally against the parent branch: npm run build:data compiles and validate-data.ts independently recomputes all 24 UUIDs from the new seeds — 39250/39250 records valid.

CI will be red until the parent merges

.github/workflows/validate.yml validates registry PRs against textrefs.org@staging, which still has the old two-value enum. This PR cannot go green until textrefs/textrefs.org#67 reaches staging. That is the intended behaviour for a coordinated schema+data change, per the workflow's own comment.

Stacking

Based on docs/preferred-citation-system (#11) rather than main, because #11 edits AGENTS.md immediately adjacent to the relation-guidance line this PR rewrites. Merge #11 first; retarget this to main afterwards.

Merge order overall: textrefs.org#63 + registry#11, then textrefs.org#67 + this.

Refs textrefs/textrefs.org#58, textrefs/textrefs.org#59.

🤖 Generated with Claude Code

Copilot AI lite review requested due to automatic review settings August 11, 2026 17:05
maehr added a commit to maehr/textrefs.org that referenced this pull request Aug 11, 2026
Points data/ at textrefs/registry#13, which carries the alternateOf /
isReferencedBy records this branch's compiler requires. Re-bump to the
registry main tip once textrefs#13 merges.

Also ticks the ADR-0006 follow-ups completed by the previous commit.

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>

Copilot AI left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull request overview

Updates the registry data and contributor guidance to implement ADR-0006’s mapping-relation semantics: mapping relations are now chosen by what the target is (entity vs document/page), and the old exactMatch/closeMatch relations are removed from use across the registry work files.

Changes:

  • Reclassified all work-file mappings from exactMatchalternateOf (Wikidata entities) and closeMatchisReferencedBy (Wikipedia articles), and bumped modified timestamps accordingly.
  • Updated AGENTS.md authoring rules to reflect the new relation-selection rule and removed the prior “encode attribution uncertainty via closeMatch” guidance.
  • Updated the PR template re-mint checklist to rely on superseded_by rather than a successor-linking MappingAssertion.

Reviewed changes

Copilot reviewed 14 out of 14 changed files in this pull request and generated no comments.

Show a summary per file
File Description
works/wittgenstein.tractatus.yaml Reclassifies Wikidata/Wikipedia mappings to alternateOf/isReferencedBy and updates modified.
works/wittgenstein.philosophical-investigations.yaml Reclassifies Wikidata/Wikipedia mappings to alternateOf/isReferencedBy and updates modified.
works/tanakh.yaml Reclassifies Wikidata/Wikipedia mappings to alternateOf/isReferencedBy and updates modified.
works/plato.republic.yaml Reclassifies Wikidata/Wikipedia mappings to alternateOf/isReferencedBy and updates modified.
works/new-testament.yaml Reclassifies Wikidata/Wikipedia mappings to alternateOf/isReferencedBy and updates modified.
works/murasaki-shikibu.genji.yaml Reclassifies Wikidata/Wikipedia mappings to alternateOf/isReferencedBy and updates modified.
works/laozi.daodejing.yaml Reclassifies Wikidata/Wikipedia mappings to alternateOf/isReferencedBy and updates modified.
works/homer.odyssey.yaml Reclassifies Wikidata/Wikipedia mappings to alternateOf/isReferencedBy and updates modified.
works/homer.iliad.yaml Reclassifies Wikidata/Wikipedia mappings to alternateOf/isReferencedBy and updates modified.
works/dhammapada.yaml Reclassifies Wikidata/Wikipedia mappings to alternateOf/isReferencedBy and updates modified.
works/confucius.analects.yaml Reclassifies Wikidata/Wikipedia mappings to alternateOf/isReferencedBy and updates modified.
works/aristotle.nicomachean-ethics.yaml Reclassifies Wikidata/Wikipedia mappings to alternateOf/isReferencedBy and updates modified.
AGENTS.md Updates authoring guidance to the ADR-0006 rule and removes outdated closeMatch-based guidance.
.github/PULL_REQUEST_TEMPLATE.md Updates re-mint checklist to use superseded_by for successor linkage.

💡 Add a code-review agent skill or configure MCP servers for context-aware, tailored reviews. Learn more in the docs.

Base automatically changed from docs/preferred-citation-system to main August 12, 2026 20:10
maehr added a commit to maehr/textrefs.org that referenced this pull request Aug 12, 2026
Points data/ at textrefs/registry#13, which carries the alternateOf /
isReferencedBy records this branch's compiler requires. Re-bump to the
registry main tip once textrefs#13 merges.

Also ticks the ADR-0006 follow-ups completed by the previous commit.

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
…ADR-0006)

Wikidata entity targets become alternateOf (prov:alternateOf); Wikipedia
article targets become isReferencedBy (dcterms:isReferencedBy). exactMatch
and closeMatch are removed from the vocabulary.

BREAKING CHANGE: relation is part of the MappingAssertion UUID seed, so all
24 mapping IRIs are re-minted. Permitted because every record is still draft
under ADR-0004 and carries no persistence promise.

Requires the parent-side change (textrefs/textrefs.org#67); CI here validates
against textrefs.org@staging and stays red until that merges.

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
@maehr
maehr force-pushed the feat/mapping-relation-vocabulary branch from ea61fd3 to 24c854d Compare August 12, 2026 20:17
@maehr
maehr merged commit 0f00bd4 into main Aug 12, 2026
4 checks passed
@maehr
maehr deleted the feat/mapping-relation-vocabulary branch August 12, 2026 20:18
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants