Commit Graph
193 Commits
Author SHA1 Message Date
Jon Saad-FalconandClaude Opus 4.6 c1bbe286e1 fix(tests): update 110 tests to match Rust backend behavior
Update test expectations across all test modules to align with the
Rust (PyO3) backend that replaced Python implementations:

- calculator: meval uses ^/ln/floor(), returns floats, inf for 1/0
- shell_exec: output format uses "Exit code: N\n--- stdout ---\n..."
- git_tool: always --oneline, mock Rust bridge for git-not-found
- http_request: force httpx fallback so respx mocks work
- memory: UUID is 36 chars (hyphenated), BM25Memory() takes no args
- loop_guard: Rust blocks on 2nd identical call, capitalized messages
- ssrf: Rust returns "Invalid URL" for unparseable URLs
- mcp: division by zero returns inf (success), not error
- integration: calculator results are float strings ("4.0" not "4")

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-03-08 00:29:33 +00:00
Jon Saad-FalconandClaude Opus 4.6 bf23192380 ci: build Rust PyO3 extension before running Python tests
The test job was failing because `openjarvis_rust` (the PyO3 module)
wasn't being built. Add Rust toolchain, cargo cache, and maturin
develop step so the extension is available when pytest runs.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-03-08 00:03:34 +00:00
Jon Saad-FalconandClaude Opus 4.6 12467666c0 fix: resolve ruff lint errors (unused imports, line length)
Remove unused imports (fnmatch, re, uuid, ScanFinding, Tuple) and
shorten docstrings to fix E501/F401 violations across loop_guard,
security, and storage modules.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-03-07 23:48:27 +00:00
Jon Saad-FalconandClaude Opus 4.6 350916699e chore: restructure CLAUDE.md as routing table with .claude/rules/
Move detailed architecture, testing, and pattern docs out of CLAUDE.md
into focused .claude/rules/ files. CLAUDE.md is now a lean routing table
that points to the right context based on what you're working on.

Also fixes stale HazyResearch links in README.md (docs URL, clone URL)
and adds CLAUDE.md to .gitignore so it stays per-developer.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-03-07 23:19:12 +00:00
Jon Saad-FalconandGitHub b91cd6230c Merge pull request #21 from open-jarvis/feat/release-preparation
Release preparation: code cleanup, Rust parity, tutorials, docs overhaul
2026-03-07 14:41:11 -08:00
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
Jon Saad-FalconandClaude Opus 4.6 17b2f540c4 fix: migrate all references from HazyResearch to open-jarvis org
The repo was transferred from HazyResearch/OpenJarvis to
open-jarvis/OpenJarvis. Update ~35 references across 12 files:
mkdocs site_url/repo_url, Tauri updater endpoints, frontend doc links,
clone URLs in docs and scripts, and agent config.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-03-07 21:50:47 +00:00
Jon Saad-FalconandClaude Opus 4.6 c7feec2925 fix: hide permalink anchor on h1 heading in docs
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-03-07 21:45:45 +00:00
Herumb ShandilyaandGitHub 9fd60fc373 Merge pull request #22 from open-jarvis/rust-migration-v2
Migrate new modules to rust, more compile time abs, remove python fallback
2026-03-06 20:39:55 -08: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 202a764c10 fix: remove old api/ docs and fix broken links for mkdocs --strict
Remove orphaned docs/api/ pages (superseded by auto-generated
api-reference/) and update 5 broken cross-references to point to
the new api-reference/ paths. mkdocs build --strict now passes
with zero warnings.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-03-07 02:01:00 +00:00
Jon Saad-FalconandClaude Opus 4.6 e1568e1669 docs: add tutorial pages, deployment index, and optimization architecture
- 5 tutorial docs pages with mermaid diagrams, admonitions, content tabs
- Deployment index page linking Docker, systemd, launchd, API server
- Learning architecture updated with optimization framework section

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-03-07 01:31:10 +00:00
Jon Saad-FalconandClaude Opus 4.6 e04481a3d0 docs: update mkdocs.yml nav, Georgia font, and hero tagline
- New tagline: "Composable, Programmable Systems for On-Device, Personal AI"
- Georgia font in mkdocs.yml theme and all CSS references
- Remove Google Fonts import for Merriweather/Inter
- New 6-tab nav: Home, Getting Started, Tutorials, Architecture,
  API Reference, Development
- Deployment moves under Development tab

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-03-07 01:26:45 +00:00
Jon Saad-FalconandClaude Opus 4.6 25358cf14a docs: add 4 tutorial examples for release
- Deep Research Assistant: multi-source research with memory-augmented orchestrator
- Scheduled Personal Ops: cron-driven agents (daily digest, code review, gym)
- Messaging Hub: smart inbox with message triage and auto-replies
- Code Companion: code review, debugging, and test generation agents

Each example includes README walkthrough, standalone CLI scripts, and
optional TOML recipe configs. All scripts work with --help without
requiring a running engine.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-03-07 01:23:23 +00: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-FalconandGitHub 176a975944 Merge pull request #20 from HazyResearch/feat/logo-white-bg
Revert border, set white background on logo
2026-03-06 16:48:42 -08:00
Jon Saad-FalconandClaude Opus 4.6 b7be6ebe83 style: revert border and set white background on horizontal logo
Remove the black border and flatten the horizontal logo onto a solid
white background for cleaner rendering on GitHub.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-03-06 16:46:47 -08:00
Jon Saad-FalconandGitHub 9c20a4e1ca Merge pull request #19 from HazyResearch/feat/logo-border
Add thin black border to horizontal logo
2026-03-06 16:43:56 -08:00
Jon Saad-FalconandClaude Opus 4.6 7aab425b54 style: add thin black border to horizontal logo
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-03-06 16:43:13 -08:00
Jon Saad-FalconandGitHub 1dec358d21 Update README.md 2026-03-06 16:40:06 -08:00
Jon Saad-FalconandGitHub 66d7cba3d5 Add files via upload 2026-03-06 16:37:15 -08:00
Jon Saad-FalconandGitHub 504cc56a3b Merge pull request #18 from HazyResearch/feat/update-logos
Replace logos with new branded PNG logos
2026-03-06 16:34:01 -08:00
Jon Saad-FalconandClaude Opus 4.6 17955079f6 feat: replace logos with new circular and horizontal PNG logos
Replace the old dark/light SVG logos with new branded PNG logos
(circular and horizontal). Use horizontal logo as the README headline image.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-03-06 16:32:28 -08: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 e280cc41ff test: consolidate test files into subdirectories
Move remaining top-level test files to appropriate subdirectories:
- test_system.py -> tests/sdk/
- test_system_learning.py -> tests/learning/
- test_integration*.py -> tests/integration/
- test_docker.py -> tests/deployment/
- test_rust_bridge.py -> tests/core/

Fix ROOT path in test_docker.py for new directory depth.
All 3772 tests pass, 57 skipped (optional deps).

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-03-06 23:32:54 +00:00
Jon Saad-FalconandClaude Opus 4.6 3677dbab6c style: fix all Ruff lint errors in src/
Shorten docstrings in backward-compat shims to fix E501 (line too long).
Sort imports in learning/__init__.py. Zero Ruff violations remaining.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-03-06 23:28:57 +00:00
Jon Saad-FalconandClaude Opus 4.6 1aae88ccde refactor: move optimize test files into tests/learning/
Move 12 optimize-related test files from tests/ root into tests/learning/
to match the module reorganization. All 305 tests pass from new locations.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-03-06 23:27:19 +00:00
Jon Saad-FalconandClaude Opus 4.6 9d4e935af8 refactor: move optimize/ into learning/optimize/ with backward-compat shims
Move the optimization module under the Learning pillar where it
conceptually belongs. All internal imports updated to
openjarvis.learning.optimize. Backward-compatibility shims at the old
openjarvis.optimize path re-export everything. External consumers
(CLI optimize_cmd, server api_routes) updated to import from new location.
All 305 optimize-related tests pass.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-03-06 23:26:36 +00:00
Jon Saad-FalconandClaude Opus 4.6 418892b38a chore: clean extraneous files from repo, update .gitignore
Remove NFS lock artifacts, empty research output files, results/ and
site/ build artifacts. Add .ruff_cache/, .nfs*, research_mining_* to
.gitignore.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-03-06 23:16:44 +00:00
Jon Saad-FalconandClaude Opus 4.6 f19970dece chore: remove extraneous files from repo root
Remove internal docs (CLAUDE.md, README.md, ROADMAP.md, VISION.md, NOTES.md),
testing scripts (run_dry_run.py, run_full_optimization.py), and update .gitignore
to prevent re-accumulation of logs/, traces/, coding_task_*, *.jsonl, *.npz, and
NFS lock files.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-03-06 23:11:31 +00:00
Jon Saad-FalconandGitHub 2ed56fb0b3 Merge pull request #17 from HazyResearch/feat/multi-benchmark-optimization
feat: joint multi-benchmark optimization with LLM-guided search
2026-03-06 11:09:14 -08:00
Tarun SureshandClaude Opus 4.6 2ac1993ea8 fix: resolve lint errors and update tests for fixed params injection
- Fix all ruff E501 line-length violations
- Add noqa: E402 for intentional late imports in runner scripts
- Remove unused imports in tb_agent.py
- Update test_llm_optimizer assertions to expect fixed params in
  unparseable/missing-params cases (intended behavior change)

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-03-06 18:58:53 +00:00
Tarun SureshandClaude Opus 4.6 df96348e81 merge: resolve conflicts with origin/main (Phase 25)
Keep both system_prompt (optimization) and episode_mode (Phase 25) in
RunConfig. Merge terminalbench_native metadata using v2 task_data dict
API while preserving new create_task_env/verify_requirements methods.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-03-06 18:53:27 +00:00
Tarun SureshandClaude Opus 4.6 bf24ffc527 feat: joint multi-benchmark optimization with LLM-guided search
Add Claude Opus-guided optimization loop that jointly optimizes agent
configs across multiple benchmarks (TerminalBench-native, GAIA, HLE)
with weighted accuracy aggregation and Pareto frontier computation.

Key additions:
- MultiBenchTrialRunner with native terminal-bench v2 Docker execution
- LLM optimizer: fixed params injection, structured trial feedback
- OptimizationStore (SQLite) with per-benchmark score persistence
- System prompt passthrough from optimizer → eval → agent
- Custom terminal-bench agent (OpenJarvisTerminalBenchAgent) avoiding
  LiteLLM serialization issues with agent_import_path
- TOML configs for Qwen3-235B joint agentic optimization
- CLI: `jarvis optimize` command with dry-run support

Early results on Qwen3-235B-A22B-Instruct-2507-FP8 (4xA100):
  Best config: native_openhands, temp=0.0, 20 turns → 5.6% weighted acc
  (TB2=5%, GAIA=6%, HLE=6%)

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-03-06 18:44:24 +00:00
Jon Saad-FalconandGitHub 90c6066b10 Merge pull request #16 from HazyResearch/feat/savings-meter-benchmarks-comparison
feat: eval pipeline upgrade + savings meter benchmarks
2026-03-05 20:48:57 -08: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-FalconandGitHub 2a78b6e537 Merge pull request #15 from HazyResearch/feat/integrate-exo-nexa-uzu-applefm-engines
feat: integrate Exo, Nexa, Uzu, and Apple FM engines
2026-03-05 18:16:24 -08: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
Gabriel Bo e278d3ac5e desktop app warning for damaged mac app 2026-03-05 14:21:05 -08:00
Gabriel Bo 152b3bf92d merge conflict in index.md 2026-03-05 13:47:26 -08:00
Gabriel Bo 0ad9fdba8a feat: removing downloads and consolidating all to getting started 2026-03-05 13:45:26 -08:00
Jon Saad-FalconandGitHub 6bf872c079 Merge pull request #14 from HazyResearch/desktop-app
Desktop app
2026-03-05 13:30:52 -08:00
Jon Saad-FalconandGitHub c8f3c01407 Merge pull request #13 from HazyResearch/feat/auto-gen-api-reference
feat: add auto-generated API reference via gen-files + literate-nav
2026-03-05 13:25:19 -08:00
Gabriel Bo fdde659347 uploaded working dmg for macos, ubuntu, and windows 2026-03-05 13:19:27 -08:00