Skip to content
Closed
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
42 changes: 21 additions & 21 deletions Cargo.toml
Original file line number Diff line number Diff line change
Expand Up @@ -96,7 +96,7 @@ required-features = ["minimax"]

[dependencies]
# Python Integration (0.24+ supports Python 3.13) - optional
pyo3 = { version = "0.24.1", features = ["extension-module"], optional = true }
pyo3 = { version = "0.27.2", features = ["extension-module"], optional = true }
Copy link

Copilot AI Jan 2, 2026

Choose a reason for hiding this comment

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

The update from pyo3 0.24.1 to 0.27.2 spans multiple minor versions with potential API changes. According to the release notes, version 0.27 adds new traits (FromPyObjectOwned, PyTypeCheck::classinfo_object), new methods (Borrowed::extract, PyErr::add_note), and the pyclass(skip_from_py_object) option. The codebase has Python bindings in src/bindings.rs and src/lib.rs that use pyo3 extensively. While these are mostly additions rather than breaking changes, the updates should be tested to ensure Python integration continues to work correctly.

Copilot uses AI. Check for mistakes.

# Serialization
serde = { version = "1.0", features = ["derive"] }
Expand All @@ -106,18 +106,18 @@ base64 = "0.22"
web-sys = { version = "0.3.83", features = ["ReadableStream"] }

# PDF Processing
lopdf = "0.33"
lopdf = "0.38"

# Text Processing
pulldown-cmark = "0.10"
scraper = "0.18"
pulldown-cmark = "0.13"
Copy link

Copilot AI Jan 2, 2026

Choose a reason for hiding this comment

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

The update from pulldown-cmark 0.10 to 0.13 includes breaking changes with new features. According to the release notes, version 0.13 adds superscript/subscript support, WikiLinks extension, and uses an explicit node for tight paragraphs. The codebase is listed as using pulldown-cmark for "Text Processing", so any Markdown parsing code should be reviewed to ensure these new features don't cause unexpected behavior changes in existing parsing logic.

Copilot uses AI. Check for mistakes.
scraper = "0.25"
regex = "1.10"

# Vector Database (optional - use reasonkit-mem for full memory features)
qdrant-client = { version = "1.10", optional = true }

# Full-text Search (optional - use reasonkit-mem for full memory features)
tantivy = { version = "0.22", optional = true }
tantivy = { version = "0.25", optional = true }

# Memory Infrastructure (optional - provides storage, retrieval, embeddings)
# Version required for crates.io publishing; path used for workspace development
Expand All @@ -131,15 +131,15 @@ futures = { version = "0.3", default-features = false, features = ["std"] }
futures-util = { version = "0.3", features = ["std"] }

# HTTP Client
reqwest = { version = "0.12", features = ["json", "stream"] }
reqwest = { version = "0.13", features = ["json", "stream"] }
Copy link

Copilot AI Jan 2, 2026

Choose a reason for hiding this comment

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

The update from reqwest 0.12 to 0.13 includes significant breaking changes. According to the changelog, rustls is now the default TLS backend instead of native-tls, the rustls crypto provider defaults to aws-lc instead of ring, and rustls-tls has been renamed to rustls. Additionally, query and form are now crate features that are disabled by default. The codebase uses reqwest extensively (src/arf/agency.rs, src/glm46/client.rs, src/glm46/ollama.rs, src/llm/ollama/client.rs, src/m2/connector.rs), and the "json" feature is specified but "query" and "form" features are not explicitly enabled despite potentially being used.

Suggested change
reqwest = { version = "0.13", features = ["json", "stream"] }
reqwest = { version = "0.13", features = ["json", "stream", "query", "form"] }

Copilot uses AI. Check for mistakes.

# CLI
clap = { version = "4", features = ["derive", "env"] }
clap_complete = "4.5"

# Error Handling
anyhow = "1.0"
thiserror = "1.0"
thiserror = "2.0"
Copy link

Copilot AI Jan 2, 2026

Choose a reason for hiding this comment

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

The update from thiserror 1.0 to 2.0 is a major version bump with breaking changes. According to the release notes, thiserror 2.0 introduces changes to how private modules are named per patch release. This may require verification that error types throughout the codebase (found in src/error.rs, src/traits/memory.rs, src/traits/web.rs, src/verification/proof_ledger.rs, and other modules) continue to work correctly with the new version.

Suggested change
thiserror = "2.0"
thiserror = "1.0"

Copilot uses AI. Check for mistakes.

# Async traits
async-trait = "0.1"
Expand All @@ -158,19 +158,19 @@ chrono = { version = "0.4", features = ["serde"] }
sha2 = "0.10"

# SQLite for local telemetry storage
rusqlite = { version = "0.32", features = ["bundled"] }
rusqlite = { version = "0.38", features = ["bundled"] }
Copy link

Copilot AI Jan 2, 2026

Choose a reason for hiding this comment

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

The update from rusqlite 0.32 to 0.38 includes breaking changes. According to the release notes, version 0.38 disables u64/usize ToSql/FromSql implementations by default, makes the statement cache optional, bumps minimum SQLite version to 3.34.1, and requires Connection to be owned when registering Closure as hook. The codebase uses rusqlite in src/telemetry/storage.rs and src/verification/proof_ledger.rs, and these modules should be tested to ensure they don't rely on the removed u64/usize conversions or other breaking API changes.

Suggested change
rusqlite = { version = "0.38", features = ["bundled"] }
rusqlite = { version = "0.38", features = ["bundled", "u64"] }

Copilot uses AI. Check for mistakes.

# Configuration
config = "0.14"
config = "0.15"
dotenvy = "0.15"
toml = "0.9"
num_cpus = "1.16"

# JSON Schema Validation
jsonschema = "0.18"
jsonschema = "0.38"
Copy link

Copilot AI Jan 2, 2026

Choose a reason for hiding this comment

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

The update from jsonschema 0.18 to 0.38 is a major version jump skipping many versions. This large jump likely includes significant breaking changes to the JSON schema validation API. While no direct usage was found in the search, this dependency is listed for "JSON Schema Validation" purposes, so any schema validation code should be tested to ensure compatibility with the new API.

Copilot uses AI. Check for mistakes.

# File watching (for hot reload)
notify = "6.1"
notify = "8.2"
Copy link

Copilot AI Jan 2, 2026

Choose a reason for hiding this comment

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

The update from notify 6.1 to 8.2 is a major version bump skipping version 7 entirely. Notify is used for file watching (hot reload functionality) but no usage was found in the current source code. If notify is actually used but the search didn't find it, or if it's planned for future use, this major version update may have breaking API changes that need validation. Consider removing this dependency if it's not actively used.

Copilot uses AI. Check for mistakes.

# Rayon for parallel processing
rayon = "1.10"
Expand All @@ -179,31 +179,31 @@ rayon = "1.10"
once_cell = "1.19"

# Progress bars & Console
indicatif = "0.17"
indicatif = "0.18"
console = { version = "0.16", features = ["std"] }

# Directories
directories = "5"
dirs = "5"
directories = "6"
dirs = "6"
walkdir = "2.4"

# ONNX Runtime for local embeddings (BGE-M3)
ort = { version = "2.0.0-rc.10", optional = true }

# HuggingFace tokenizers
tokenizers = { version = "0.19", optional = true }
tokenizers = { version = "0.22", optional = true }

# NDArray for tensor operations (needed by ONNX)
ndarray = { version = "0.15", optional = true }
ndarray = { version = "0.17", optional = true }

# ARF Module dependencies (optional feature)
sled = { version = "0.34", optional = true }
wasmtime = { version = "24.0.5", optional = true }
sysinfo = { version = "0.30", optional = true }
petgraph = { version = "0.6", optional = true, features = ["serde-1"] }
wasmtime = { version = "40.0.0", optional = true }
Copy link

Copilot AI Jan 2, 2026

Choose a reason for hiding this comment

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

The update from wasmtime 24.0.5 to 40.0.0 is a massive version jump of 16 major versions. Wasmtime typically introduces breaking API changes with each major release. The codebase uses wasmtime in src/arf/evolution.rs for WASM module execution as part of the self-optimization system. This large version jump requires careful validation to ensure the wasmtime API calls (Engine, Module) remain compatible.

Suggested change
wasmtime = { version = "40.0.0", optional = true }
wasmtime = { version = "24.0.5", optional = true }

Copilot uses AI. Check for mistakes.
sysinfo = { version = "0.37", optional = true }
petgraph = { version = "0.8", optional = true, features = ["serde-1"] }
Copy link

Copilot AI Jan 2, 2026

Choose a reason for hiding this comment

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

The update from petgraph 0.6 to 0.8 is a major version bump. The codebase uses petgraph in src/arf/knowledge_graph.rs for the knowledge graph implementation (DiGraph, NodeIndex, Dfs). Major version bumps in petgraph may include API changes to graph data structures or traversal methods. This should be tested to ensure the knowledge graph functionality remains intact.

Suggested change
petgraph = { version = "0.8", optional = true, features = ["serde-1"] }
petgraph = { version = "0.6", optional = true, features = ["serde-1"] }

Copilot uses AI. Check for mistakes.
rust-bert = { version = "0.23", optional = true, features = ["download-libtorch", "hf-tokenizers"], default-features = false }
parking_lot = { version = "0.12", optional = true }
md5 = { version = "0.7", optional = true } # For aesthetic engine config hashing
md5 = { version = "0.8", optional = true } # For aesthetic engine config hashing

# ============================================================================
# DEV DEPENDENCIES
Expand All @@ -213,7 +213,7 @@ md5 = { version = "0.7", optional = true } # For aesthetic engine config hashin
tokio-test = "0.4"
tempfile = "3.10"
pretty_assertions = "1.4"
criterion = { version = "0.5", features = ["html_reports", "async_tokio"] }
criterion = { version = "0.8", features = ["html_reports", "async_tokio"] }
futures = "0.3"
# Property-based testing for comprehensive fuzzing and invariant verification
proptest = "1.4"
Expand Down
Loading