Skip to content

Speed up framing, linting, and compilation#629

Merged
jviotti merged 1 commit intomainfrom
performance-improvements
Feb 5, 2026
Merged

Speed up framing, linting, and compilation#629
jviotti merged 1 commit intomainfrom
performance-improvements

Conversation

@jviotti
Copy link
Member

@jviotti jviotti commented Feb 5, 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 29 files

@augmentcode
Copy link

augmentcode bot commented Feb 5, 2026

🤖 Augment PR Summary

Summary: This PR updates core dependencies and refactors schema framing/linting/compilation paths to reduce unnecessary work and enable compiling/validating from a specific subschema entrypoint.

Changes:

  • Bumps vendored dependency SHAs (core/blaze/jsonbinpack/codegen/jsonschema) and updates jsonschema to 14.7.0.
  • Adds an explicit entrypoint concept to the Blaze compiler API and introduces CompilerInvalidEntryPoint for clearer failures.
  • Refactors Blaze compilation to compute reachability starting from the chosen entrypoint and to always bundle in the high-level compile path.
  • Reworks SchemaFrame reachability into a cached, graph-based traversal keyed by base location (intended to speed repeated reachability queries).
  • Updates transformer callbacks to include a boolean indicating “mutable on check” / “applied on apply”, and wires this through generators/tools.
  • Improves lint auto-fix UX (progress output) and adds lint --format/--keep-ordering options.
  • Extends CLI compile and validate commands with --entrypoint (compile/validate a subschema by pointer/URI).

Technical Notes: Entry-point compilation uses a pre-analysed SchemaFrame to avoid redundant bundling/framing where possible, and linter rules reuse an Evaluator instance to reduce per-check overhead.

🤖 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. 1 suggestions posted.

Fix All in Augment

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

return result.recompose();
}

if (entrypoint.front() == '#') {
Copy link

Choose a reason for hiding this comment

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

If entrypoint is exactly "#", pointer_string becomes empty and this returns <root>#, which likely won’t match frame.root() (no fragment) and makes the root-pointer form unusable. Consider special-casing "#" to return frame.root() directly.

Severity: medium

Fix This in Augment

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

@jviotti jviotti merged commit 3ab76b0 into main Feb 5, 2026
6 checks passed
@jviotti jviotti deleted the performance-improvements branch February 5, 2026 16:49
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