Skip to content

fix(release): publish index rows in the engine reader's five-field contract - #3

Merged
jonit-dev merged 1 commit into
mainfrom
fix/release-index-contract
Oct 28, 2026
Merged

jonit-dev merged 1 commit into
mainfrom
fix/release-index-contract

Conversation

@jonit-dev

Copy link
Copy Markdown
Collaborator

The engine cannot read our index. validateReferenceIndex in threenative-engine/packages/engine-mcp/src/references.ts accepts exactly id, title, platform, repo, tier per game row and rejects unknown fields, so v0.3's index fails with TN_REFERENCES_MALFORMED (four extra fields: kind, rating, genre, subgenre).

This projects the published rows to that contract. Catalog keeps the rich fields for search and filtering; only the release asset is narrowed.

Verified: npm test 35/35, npm run release:assets exit 0, index now has 48 rows with exactly the five accepted keys and 1363 stubs.

…ntract

The engine's reference reader rejects unknown fields: its index validator
accepts exactly id, title, platform, repo and tier per game row, so the
richer catalog rows (kind, rating, genre, subgenre) made every release index
unreadable with TN_REFERENCES_MALFORMED. Project the rows at publish time;
rating, genre and kind stay in data/catalog.json, where this library needs them.

Verified against the engine source contract at
threenative-engine packages/engine-mcp/src/references.ts (IReferenceGameRow).
@jonit-dev
jonit-dev merged commit 14fb30f into main Oct 28, 2026
1 check passed
@jonit-dev
jonit-dev deleted the fix/release-index-contract branch October 28, 2026 04:25
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.

1 participant