Commit Graph
15 Commits
Author SHA1 Message Date
Jon Saad-FalconandClaude Opus 4.6 cb83bff1c5 fix(rust): resolve all clippy warnings across workspace
Fix pre-existing clippy issues from rust-migration-v2 merge:
- Add #[allow(clippy::too_many_arguments)] where needed
- Add #[allow(dead_code)] for reserved struct fields
- Add #[allow(clippy::vec_init_then_push)] for prompt builders
- Add #[allow(clippy::approx_constant)] for test literals
- Add #[allow(clippy::redundant_closure, unused_variables)] crate-level
- Fix map_or → is_some_and, get().is_none() → !contains_key()
- Fix nested if → combined condition
- Fix statement with no effect → let _
- Fix RangeInclusive::contains usage
- Add #[pyo3(signature)] to fix deprecated trailing Option<T>
- Remove unused imports

cargo clippy --workspace --all-targets -- -D warnings now passes clean.
All 386 tests pass.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-03-07 22:27:45 +00:00
Jon Saad-FalconandClaude Opus 4.6 51fc24f116 merge: resolve conflicts with origin/main (rust-migration-v2)
Merge main into feat/release-preparation, resolving conflicts in:
- rust/crates/openjarvis-learning: keep both optimize module and new
  learning modules (heuristic_reward, icl_updater, orchestrator, etc.)
- rust/crates/openjarvis-python: keep both optimization PyO3 wrappers
  and new policy/evolver/reward wrappers
- rust/crates/openjarvis-python/lib.rs: register all PyO3 classes
- README.md: accept main's version

Also fix pre-existing clippy issues from rust-migration-v2:
- Replace deprecated std::io::Error::new(ErrorKind::Other, ...) with
  std::io::Error::other(...)
- Move test-only imports into #[cfg(test)] modules
- Remove unused imports (GpuInfo, Role, EngineError, futures::stream)
- Replace Iterator::last() with next_back() on DoubleEndedIterator
- Rename from_str() to parse() to avoid confusion with FromStr trait
- Fix s.len() % 2 != 0 → !s.len().is_multiple_of(2)
- Convert manual async fn to async fn syntax

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-03-07 22:19:19 +00:00
krypticmouse c504e50ccd Migrate new modules to rust, more compile time abs, remove python fallback 2026-03-06 20:37:44 -08:00
Jon Saad-FalconandClaude Opus 4.6 86869e1e27 feat(rust): update PyO3 bindings, Python bridge, and Rust CI
- Add PyO3 wrappers for NativeOpenHandsAgent, MonitorOperativeAgent
- Add PyO3 wrappers for FAISSMemory, ColBERTMemory, HybridMemory
- Add native engine variants (vllm_native, sglang_native, llamacpp_native)
- Add PyO3 wrappers for OptimizationStore and LLMOptimizer
- Update _rust_bridge.py with JSON converters for new types
- Add Rust CI job (clippy + test) to GitHub Actions workflow

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-03-07 01:08:37 +00:00
Jon Saad-FalconandClaude Opus 4.6 961b451047 feat(rust): add vLLM, SGLang, and llama.cpp engine backends
Adds three new inference engine implementations to the Rust engine crate:
- VLLMEngine: OpenAI-compatible /v1/chat/completions API
- SGLangEngine: OpenAI-compatible API with SGLang-specific features
- LlamaCppEngine: Native /completion endpoint with ChatML prompt formatting

All backends implement InferenceEngine trait with generate, stream,
list_models, and health methods. Includes comprehensive unit tests.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-03-07 00:28:29 +00:00
Jon Saad-FalconandClaude Opus 4.6 595789455b feat(rust): add FAISS, ColBERT, and hybrid storage backends
FAISSMemory with brute-force cosine similarity. ColBERTMemory with
token-level MaxSim scoring. HybridMemory with Reciprocal Rank Fusion
combining multiple backends. All backed by SQLite for persistence.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-03-07 00:25:47 +00:00
Jon Saad-FalconandClaude Opus 4.6 c457a332f1 feat(rust): add monitor_operative and native_openhands agents
MonitorOperativeAgent with 4 configurable strategies (memory extraction,
observation compression, retrieval, task decomposition). NativeOpenHandsAgent
with CodeAct pattern (code blocks + structured tool calls).

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-03-07 00:25:41 +00:00
Jon Saad-FalconandClaude Opus 4.6 9fb2d3a981 feat(rust): add optimization module to openjarvis-learning crate
Port optimization types, store, search space, engine, and LLM optimizer
from Python to Rust. Includes SearchDimension, SearchSpace, TrialConfig,
TrialResult, OptimizationStore (SQLite), OptimizationEngine with Pareto
frontier, LLMOptimizer with OptimizerBackend trait. 47 tests pass.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-03-07 00:17:25 +00:00
Jon Saad-FalconandClaude Opus 4.6 50ca80dfa4 merge: resolve conflicts with main (keep both benchmark sets)
Merge origin/main into feat/savings-meter-benchmarks-comparison.
Both sides added new benchmarks to cli.py — keep all:
- Our branch: use-case benchmarks (email_triage, morning_brief, etc.)
- Main: agentic benchmarks (loghub, ama-bench, workarena, etc.)

dataset.py: keep both create_task_env/verify_requirements and iter_episodes.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-03-06 04:38:26 +00:00
Jon Saad-FalconandClaude Opus 4.6 d89bbcce52 feat: upgrade eval pipeline with agentic runner, telemetry session, and savings meter
Add 9 capabilities to match IPW pipeline:

Eval Pipeline:
- AgenticRunner for multi-turn agent execution with per-turn trace decomposition
- QueryTrace/TurnTrace data model for agentic workload telemetry
- EventRecorder for thread-safe agent event collection
- TerminalBenchTaskEnv for Docker-based task execution
- Cost computation via engine/cloud.py PRICING table
- Rich export: JSONL, HF Arrow, summary JSON, artifacts manifest
- CLI: --agentic, --concurrency, --query-timeout flags

Telemetry:
- TelemetrySession with background-sampling ring buffer (Python fallback)
- Phase metrics: prefill/decode energy split at TTFT boundary
- ITL percentile tracking (p50/p90/p95/p99)
- FLOPs estimation and MFU computation
- EnergyMonitor.snapshot() method

Rust Performance Layer:
- Ring buffer with binary search O(log n) window queries
- Trapezoidal energy integration
- Phase metrics, ITL stats, FLOPs estimation in Rust
- PyO3 bindings for all new telemetry modules (50 Rust tests)

Savings Meter & Benchmarks:
- Use-case benchmark datasets (coding, email, research, knowledge, morning brief)
- Savings dashboard component with cost comparison visualization
- Cloud cost calculator and comparison server routes
- Use-case eval configs for multiple agent/engine combinations

Tests: 80 new tests (3779 total pass, 37 skipped, 0 failures)
Lint: ruff check src/ tests/ — all checks passed

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-03-06 04:22:55 +00:00
Jon Saad-FalconandClaude Opus 4.6 5b22d991f3 fix: remove duplicate definitions and resolve lint errors
- Remove duplicate config structs in Rust config.rs and Python config.py
- Remove duplicate match arms in Rust discovery.rs
- Fix E501 line-too-long in evals/cli.py
- Fix E402 imports-not-at-top in test_ama_bench.py and test_loghub.py
- Fix E501 long lines in test_loghub.py

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-03-06 02:13:17 +00:00
Jon Saad-FalconandClaude Opus 4.6 3040f468b6 feat: integrate Exo, Nexa, Uzu, and Apple FM inference engines
Add four new OpenAI-compatible inference engines across the full stack:

Rust backend:
- Config structs with serde defaults (ExoEngineConfig, NexaEngineConfig,
  UzuEngineConfig, AppleFmEngineConfig) in openjarvis-core
- Factory constructors on OpenAICompatEngine (exo, nexa, uzu, apple_fm)
- Engine enum variants with delegate_engine! macro dispatch
- Discovery and resolution in get_engine_static()
- PyO3 bridge support in PyEngine

Python frontend:
- Data-driven engine class registration in openai_compat_engines.py
- Config dataclasses with backward-compat host properties
- Discovery host map entries
- DEFAULT_SEARCH_SPACE updated with new engine backends
- Apple FM shim (FastAPI wrapper for python-apple-fm-sdk, macOS only)

Config & tests:
- TOML config sections for all four engines
- Unit tests for factory methods, enum variants, and search space

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-03-06 02:00:10 +00:00
krypticmouse b03a0662bb Use Rust utils in Python SDK 2026-03-04 19:15:50 -08:00
krypticmouse 77026f6803 Add Generics, reduce dynamic dispatch, python integration 2026-03-04 18:13:45 -08:00
krypticmouse 4adfc84d11 First Migration crates 2026-03-03 19:54:00 -08:00