Skip to content

Upgrade Core and Blaze to the latest versions#645

Merged
jviotti merged 1 commit intomainfrom
upgrade-core-blaze-2
Feb 4, 2026
Merged

Upgrade Core and Blaze to the latest versions#645
jviotti merged 1 commit intomainfrom
upgrade-core-blaze-2

Conversation

@jviotti
Copy link
Member

@jviotti jviotti commented Feb 4, 2026

Signed-off-by: Juan Cruz Viotti jv@jviotti.com

Signed-off-by: Juan Cruz Viotti <jv@jviotti.com>
Copy link

@cubic-dev-ai cubic-dev-ai bot left a comment

Choose a reason for hiding this comment

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

No issues found across 16 files

@jviotti jviotti merged commit 7ae8d69 into main Feb 4, 2026
14 checks passed
@jviotti jviotti deleted the upgrade-core-blaze-2 branch February 4, 2026 19:25
@augmentcode
Copy link

augmentcode bot commented Feb 4, 2026

🤖 Augment PR Summary

Summary: Updates the vendored core and blaze dependencies and adapts jsonschema CLI integration to the latest compiler/frame APIs.

Changes:

  • Bumps sourcemeta/core and sourcemeta/blaze revisions in DEPENDENCIES.
  • Updates jsonschema validate and jsonschema metaschema to call Blaze compilation with an explicit entrypoint (frame.root()).
  • Blaze compiler adds an explicit compilation entrypoint concept, validates that the entrypoint exists, and introduces CompilerInvalidEntryPoint.
  • Compilation planning/reachability checks in Blaze are now evaluated relative to the chosen entrypoint.
  • Core SchemaFrame refactors reachability computation to be base-relative and caches results per base location.
  • AlterSchema’s OrphanDefinitions rule is updated to pass a base location into reachability checks.
  • Unevaluated keyword dependency discovery in Blaze is reorganized and vocabulary gating is clarified for 2019-09 vs 2020-12.
  • Vendored Blaze drops Node.js packaging metadata (e.g. package.json) and related clang-format inputs.

Technical Notes: The main functional change is that “reachability” (and thus compilation planning / transforms that rely on it) is now evaluated from a specific base/entrypoint instead of being implicitly global.

🤖 Was this summary useful? React with 👍 or 👎

Copy link

@augmentcode augmentcode bot left a comment

Choose a reason for hiding this comment

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

Review completed. 2 suggestions posted.

Fix All in Augment

Comment augment review to trigger a new review at any time.


for (const auto &entry : this->locations_) {
if (needed_pointers.contains(entry.second.pointer)) {
this->pointer_to_location_[std::cref(entry.second.pointer)].push_back(
Copy link

Choose a reason for hiding this comment

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

populate_reachability mutates pointer_to_location_ directly, which can leave it only partially populated if this is the first API that touches the frame. Since populate_pointer_to_location() stops once pointer_to_location_ is non-empty, later traverse(const WeakPointer&)/uri(const WeakPointer&) calls may incorrectly return std::nullopt depending on call order.

Severity: high

Fix This in Augment

🤖 Was this useful? React with 👍 or 👎, or 🚀 if it prevented an incident/outage.

schema.defines("definitions")};
ONLY_CONTINUE_IF(has_defs || has_definitions);

const auto base{frame.traverse(frame.root())};
Copy link

Choose a reason for hiding this comment

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

This rule now bails out when frame.root() is empty (because frame.traverse(frame.root()) returns nullopt), which can happen for schemas without an explicit identifier/default id (or when analysing non-root paths). If orphan cleanup is expected to work in those scenarios, using frame.root() as the reachability base may skip intended transforms.

Severity: medium

Fix This in Augment

🤖 Was this useful? React with 👍 or 👎, or 🚀 if it prevented an incident/outage.

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