Skip to content

fix: upgrade rig-core to 0.38 and jsonschema to 0.46 with API migration#1764

Draft
broomva wants to merge 4 commits into
mainfrom
claude/happy-cannon-dm0ufr
Draft

fix: upgrade rig-core to 0.38 and jsonschema to 0.46 with API migration#1764
broomva wants to merge 4 commits into
mainfrom
claude/happy-cannon-dm0ufr

Conversation

@broomva

@broomva broomva commented Jun 24, 2026

Copy link
Copy Markdown
Owner

Summary

  • Aliases rig-core as rig in workspace deps to preserve all existing use rig::... imports while upgrading from 0.36 to 0.38 (which renamed its internal lib to rig_core). The Cargo dependency alias makes rustc map --extern rig=librig_core.rlib so no source changes are needed in rig_bridge.rs.
  • Bumps jsonschema from 0.18 to 0.46 in workspace deps, which contains a breaking API removal: JSONSchema::options().compile() and compiled.validate() no longer exist.
  • Migrates all 4 call sites to the new API: jsonschema::compile(schema)Validator, then validator.iter_errors(instance) for error iteration.

Files changed

File Change
Cargo.toml rig-core = "0.36"rig = { package = "rig-core", version = "0.38" }; jsonschema 0.18 → 0.46
crates/arcan/arcan-provider/Cargo.toml rig-core.workspacerig.workspace
crates/ergon/ergon/src/agent.rs validate_against_schema: new jsonschema 0.46 API
crates/arcan/arcan/src/agent_cmd.rs validate_against_schema: new jsonschema 0.46 API
crates/arcan/arcan-ergon/tests/anthropic_agents_smoke.rs assert_schema: new jsonschema 0.46 API
crates/arcan/arcan-ergon/tests/agents_fixtures.rs each_blessed_agent_schema_compiles_under_production_validator: new API

Addresses dependabot PRs

Test plan

  • cargo check -p arcan-provider — rig alias resolves correctly
  • cargo check -p ergon — jsonschema 0.46 API compiles
  • cargo check -p arcan — agent_cmd.rs compiles
  • cargo test -p ergon — schema validation tests pass
  • cargo test -p arcan-ergon — agents_fixtures schema compile test passes
  • CI Gates 1–3 (format, lint, test) green

🤖 Generated with Claude Code

https://claude.ai/code/session_01XqadKZDEB6J9WAAmuVkmoV


Generated by Claude Code

- Alias rig-core as `rig` in workspace deps to preserve existing `use rig::...`
  imports while upgrading from 0.36 to 0.38 (which renamed its lib to rig_core)
- Bump jsonschema from 0.18 to 0.46 in workspace deps
- Migrate all jsonschema call sites from deprecated JSONSchema::options().compile()
  / compiled.validate() API to the new jsonschema::compile() / compiled.iter_errors()
  API used in 0.26+ (affects ergon/agent.rs, arcan/agent_cmd.rs, and arcan-ergon tests)

Addresses dependabot PRs #1752 (rig-core bump) and #1755 (jsonschema bump).

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01XqadKZDEB6J9WAAmuVkmoV
@coderabbitai

coderabbitai Bot commented Jun 24, 2026

Copy link
Copy Markdown

Important

Review skipped

Draft detected.

Please check the settings in the CodeRabbit UI or the .coderabbit.yaml file in this repository. To trigger a single review, invoke the @coderabbitai review command.

⚙️ Run configuration

Configuration used: defaults

Review profile: CHILL

Plan: Pro

Run ID: 35cf4271-03bc-4b0e-bb0c-c6552626d05e

You can disable this status message by setting the reviews.review_status to false in the CodeRabbit configuration file.

Use the checkbox below for a quick retry:

  • 🔍 Trigger review
✨ Finishing Touches
🧪 Generate unit tests (beta)
  • Create PR with unit tests
  • Commit unit tests in branch claude/happy-cannon-dm0ufr

Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out.

❤️ Share

Comment @coderabbitai help to get the list of available commands.

claude added 3 commits June 24, 2026 00:12
Reformatted iter_errors chain to match rustfmt line-length limits.

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01XqadKZDEB6J9WAAmuVkmoV
jsonschema 0.46.x removed the top-level `compile()` free function.
The correct entry point is `jsonschema::validator_for(schema)` which
returns a `Validator`. The `iter_errors()` method API is unchanged.

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01XqadKZDEB6J9WAAmuVkmoV
ValidationError::instance_path changed from a field to a method
in jsonschema 0.46.x. Add () to all call sites.

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01XqadKZDEB6J9WAAmuVkmoV
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