Skip to content

Fix upgrade not correctly handling $vocabulary in 2019-09 to 2020-12#770

Merged
jviotti merged 1 commit into
mainfrom
upgrade-blaze-2
Jun 4, 2026
Merged

Fix upgrade not correctly handling $vocabulary in 2019-09 to 2020-12#770
jviotti merged 1 commit into
mainfrom
upgrade-blaze-2

Conversation

@jviotti

@jviotti jviotti commented Jun 4, 2026

Copy link
Copy Markdown
Member

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

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

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

Copy link
Copy Markdown

Choose a reason for hiding this comment

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

No issues found across 4 files

Re-trigger cubic

@augmentcode

augmentcode Bot commented Jun 4, 2026

Copy link
Copy Markdown
🤖 Augment PR Summary

Summary: This PR updates the Blaze vendored dependency and fixes JSON Schema upgrade logic from draft 2019-09 to 2020-12 to correctly handle $vocabulary.

Changes:

  • Adds a $vocabulary rewrite step during 2019-09 → 2020-12 upgrade, mapping known vocabulary URIs and inlining the 2020-12 unevaluated vocabulary when applicable.
  • Extends the “pending pattern” detection to trigger upgrades when $vocabulary needs rewriting.
  • Makes parse_vocabularies return nullopt on non-object / non-boolean $vocabulary entries instead of asserting.
  • Updates Blaze’s JavaScript README to document the lack of Format Assertion vocabulary support.

🤖 Was this summary useful? React with 👍 or 👎

@augmentcode augmentcode Bot left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

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

Review completed. 1 suggestion posted.

Fix All in Augment

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

}

assert(vocabulary_entry->is_object());
if (!vocabulary_entry->is_object()) {

@augmentcode augmentcode Bot Jun 4, 2026

Copy link
Copy Markdown

Choose a reason for hiding this comment

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

In vendor/blaze/src/foundation/foundation.cc:515, returning std::nullopt for a malformed $vocabulary (wrong type / non-boolean members) makes it indistinguishable from “no $vocabulary present”; callers like vocabularies(...) use .value_or(Vocabularies{}) and may silently fall back to a core-only vocabulary set.

Severity: medium

Other Locations
  • vendor/blaze/src/foundation/foundation.cc:521

Fix This in Augment

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

@jviotti jviotti merged commit b75b27c into main Jun 4, 2026
15 checks passed
@jviotti jviotti deleted the upgrade-blaze-2 branch June 4, 2026 17:20
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