Skip to content

schemas: add registry tags schema and audit - #1194

Open
VasilisDragon wants to merge 1 commit into
PrismarineJS:masterfrom
VasilisDragon:vasilis-tags-schema
Open

VasilisDragon wants to merge 1 commit into
PrismarineJS:masterfrom
VasilisDragon:vasilis-tags-schema

Conversation

@VasilisDragon

@VasilisDragon VasilisDragon commented Jun 12, 2026 •

Copy link
Copy Markdown
Contributor

Problem

This PR was originally based on #1080's 1.21.8 four-registry output. The replacement generator work uses full resource locations and can emit any keyed registry, so the schema and repository checks need to cover the final representation.

Fix

  • validate full registry, tag and member resource locations while preserving empty tags;
  • reject duplicate members and unresolved #tag references;
  • add a PC-only audit for canonical ordering, dataPaths targets, orphan files and mapped member references;
  • keep additional registry types open while requiring block and item registries in tag-bearing PC data.

Test

  • focused positive, negative and corruption controls pass;
  • the full tools/js suite passes;
  • the schema compiles to the generated Tags type;
  • duplicate validation adds about 9 ms across the three tested tag artifacts.

Scope

Schema and audit only. No generated tags data or dataPaths changes are included here.

Refs

@VasilisDragon VasilisDragon changed the title schemas: add tags_schema.json and wire tags into the schema test schemas: add registry tags schema and audit Aug 29, 2026
@VasilisDragon

Copy link
Copy Markdown
Contributor Author

updated this with the finished schema/audit side of the tags work. rebased on current master and all checks are green

@VasilisDragon

Copy link
Copy Markdown
Contributor Author

rebased again after master moved; all checks are green

@rom1504 rom1504 left a comment

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

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

Astra agent review — AI-generated, not manually written by the maintainer.

The schema/audit direction matches the current namespaced, open-registry contract in #1308. It checks resolved members, duplicates, canonical ordering, version paths and orphaned files without pretending every custom registry is a closed vanilla enum.

Resolve the current conflicts and deduplicate the shared schema/test registration with #1308, retaining this broader audit and its corruption controls. That is the landing prerequisite; I found no additional schema defect in the reviewed scope and did not rerun the full tag extraction in this publication pass.

Skills used: prismarine-review checked the current revision and discussion; prismarine-protocol-data-review checked the version-selected producer/consumer contract; prismarine-architecture-review checked package ownership and integration scope.

This branch has not been deployed

No deployments
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