Skip to content

refactor(web_core): isolate catalog reference resolution - #27

Closed
louis-bompart wants to merge 2 commits into
claude/zod-scope/json-spec-shaperfrom
claude/zod-scope/catalog-schema-compiler-v2
Closed

louis-bompart wants to merge 2 commits into
claude/zod-scope/json-spec-shaperfrom
claude/zod-scope/catalog-schema-compiler-v2

Conversation

@louis-bompart

@louis-bompart louis-bompart commented Oct 27, 2026 •

Copy link
Copy Markdown
Collaborator

Summary

  • Move peer-catalog document matching, cross-document reference detection, and peer reference scope resolution into a Zod-neutral core module.
  • Keep protocol-specific common-type mirrors and JSON-Schema-to-Zod-3 compilation in schema_loader.ts.
  • Preserve the Catalog.fromJson() API and its Zod-typed loaded schemas; this PR intentionally adds no compiler injection or global configuration.

This is the first replacement layer for the earlier compiler-boundary prototype. It isolates loader-owned reference resolution before a later stacked PR makes validation compilation injectable.

Validation

  • yarn build
  • node --test "dist/**/*.test.js" — 1258 passing, 0 failing, 21 todo
  • node tests/conformance/conformance_test.mjs — 561/561 passing
  • yarn lint — 0 errors
  • yarn format:check
  • yarn test in typescript/catalogs/mcp
  • git diff --check

Part of a2ui-project#2160

@louis-bompart
louis-bompart force-pushed the claude/zod-scope/json-spec-shaper branch from ed3f3cd to c0ae049 Compare October 28, 2026 02:58
@louis-bompart
louis-bompart force-pushed the claude/zod-scope/catalog-schema-compiler-v2 branch from c0373ba to 6a88b59 Compare October 28, 2026 02:58
@louis-bompart
louis-bompart force-pushed the claude/zod-scope/catalog-schema-compiler-v2 branch from 6a88b59 to eaa5588 Compare October 28, 2026 03:14
@louis-bompart louis-bompart changed the title refactor(web_core): inject catalog schema compiler refactor(web_core): isolate catalog reference resolution Oct 28, 2026
@louis-bompart

Copy link
Copy Markdown
Collaborator Author

Superseded by the regrouped stack on upstream main: this change is now part of #50 (series #45 to #54). The branch is kept for reference.

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