feat: add metadata predicate backfill tranche - #4
Merged
Conversation
jonathanprozzi
force-pushed
the
feat/predicate-metadata-backfill
branch
from
June 2, 2026 17:20
9d3cc01 to
95dafee
Compare
ENG-12256 Backfill predicates package with missing 'metadata predicates' that we'll need for classifications references
ScopeBackfill Transcript/spec sequence:
First backfill trancheObject relationships that map cleanly to current or near-current classification support:
Example model from the transcript: SpotifySongAtom
classification: music-recording / MusicRecording
SpotifySongAtom -> inPlaylist -> MySongsPlaylist
SpotifySongAtom -> inAlbum -> SomeAlbum
SpotifySongAtom -> byArtist -> SomeArtist
Predicate spec shapeWhen adding these predicates, evolve predicate metadata toward the transcript/spec plan:
Out of scope
Inputs
|
jonathanprozzi
force-pushed
the
feat/predicate-metadata-backfill
branch
2 times, most recently
from
June 3, 2026 18:31
8101682 to
ace5ba1
Compare
jonathanprozzi
force-pushed
the
feat/predicate-metadata-backfill
branch
from
June 11, 2026 14:16
03ec77f to
86358a2
Compare
jonathanprozzi
marked this pull request as ready for review
June 12, 2026 19:16
jonathanprozzi
force-pushed
the
feat/predicate-metadata-backfill
branch
from
June 12, 2026 19:31
86358a2 to
b1b4e50
Compare
jonathanprozzi
changed the base branch from
feat/schema-org-vocabulary-package
to
main
June 12, 2026 19:32
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
@0xintuition/predicates.founder/foundedare cross-linked as inverses,provideris categorized with contribution-style predicates, and proposed identity predicates now carry examples.Semantic Coverage
This PR intentionally uses existing predicates where the meaning and direction are already close enough, instead of adding exact schema.org-name duplicates.
Examples:
author->authoredBycreator->createdBycitation->referencegenre/category->hasCategorykeywords/ many lightweight topic-style links ->hasTagsponsor->sponsoredByaffiliation->affiliatedWithworksFor->employedByisPartOf->listedInwhere collection/list containment is sufficientlogo/screenshot->imgUrlunless a first-class image atom relationship is neededDate-like schema.org fields such as
datePublishedanddatePostedare intentionally deferred.publishedAtremains venue/platform/location semantics only; literal date predicates need a separate object/literal policy.Relationship Modeling Note
@0xintuition/predicatesowns reusable predicate vocabulary: keys, names, descriptions, deterministic IDs, launch constants, and display helpers.The legacy
entity-type-mapexport remains available for compatibility and broad predicate discovery, but itsexpectedObjectTypevalues are human-readable hints. Classification-specific relationship contracts now belong in the@0xintuition/classificationsmetadata predicate matrix, keyed by(subjectClassification, predicate)with typed object targets.Scope
This PR only adds missing predicate specs, generated exports, tests, and the compatibility note above.
Out of scope here:
metadataPredicateswiring.The predicate relationship metadata experiment remains split into a separate stacked draft PR so it can be reviewed as an inter-package contract decision.
Stack
This branch is stacked on
feat/schema-org-vocabulary-package. After the schema.org package branch merges, this branch can be rebased/retargeted in sequence.Validation
packages/predicates:bun run testpackages/predicates:bun run typecheckpackages/predicates:bun run buildbun run predicates:check-generatedbun run buildbun run typecheckbun run testbun run check