Commit Graph
142 Commits
Author SHA1 Message Date
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 8a0aee7e38 Merge pull request #12 from HazyResearch/fix/codebase-cleanup-bugs-and-lint
fix: codebase cleanup — bug fixes, test hardening, and lint
2026-03-04 22:02:36 -08:00
Jon Saad-FalconandClaude Opus 4.6 6bb323a9fc fix: resolve CI failures — lint, import guards, and test fixtures
- Remove unused imports (os, pytest) in test_rust_bridge.py
- Add pytest.importorskip for fastapi/starlette in test_learning_api.py
- Fix AppleEnergyMonitor test fixtures: set _zeus_ok, _chip_name,
  _tdp_watts attributes when using __new__ to skip __init__
- Fix uninitialized monitor test to match CPU-time fallback behavior

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-03-05 05:59:32 +00:00
Jon Saad-FalconandClaude Opus 4.6 c488e2a263 style: fix remaining import guards and unused imports
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-03-05 05:47:29 +00:00
Jon Saad-Falcon 449bdac2a1 Merge remote-tracking branch 'origin/main' into fix/codebase-cleanup-bugs-and-lint 2026-03-05 05:44:23 +00:00
Jon Saad-FalconandClaude Opus 4.6 2c5a9a76d7 ci: add lint and test workflow for pushes and PRs
Runs ruff check and pytest on every push to main and every PR.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-03-05 05:38:45 +00:00
Jon Saad-FalconandClaude Opus 4.6 62f2ea2252 fix: fix loop_guard role comparison for Python 3.10 compatibility
str(Role.SYSTEM) returns 'Role.SYSTEM' on Python 3.10, not 'system'.
Use getattr(m, 'role', None) == 'system' which works because Role
inherits from str. Also wires compress_context into operative agent.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-03-05 05:38:27 +00:00
Jon Saad-FalconandGitHub ac1bc4ded1 Merge pull request #11 from HazyResearch/python-rust
Use Rust utils in Python SDK
2026-03-04 21:31:24 -08:00
Jon Saad-FalconandClaude Opus 4.6 82ef2664a6 fix: codebase cleanup — bug fixes, test hardening, and lint
- Remove pynvml from core deps (optional, behind pynvml import guard)
- Fix SystemBuilder wiring bugs (agent/tools/telemetry initialization)
- Fix LoopGuard hash tracking and ping-pong detection edge cases
- Fix OrchestratorAgent/NativeReActAgent tool_calls handling
- Fix OpenAI-compat engine streaming and error handling
- Fix Ollama engine model listing and health checks
- Fix eval display, config parsing, and runner edge cases
- Fix guardrails engine scan mode handling
- Fix dashboard panel rendering and data formatting
- Fix web_search tool error handling
- Fix quickstart CLI detection and setup flow
- Harden channel tests (WhatsApp, Matrix, IRC, Signal, Teams, etc.)
- Harden optimizer, trace judge, and personal synthesizer tests
- Add missing test coverage for types, engine, system, and security

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-03-05 05:29:42 +00:00
Jon Saad-FalconandGitHub 07d283f705 Merge pull request #10 from HazyResearch/composition
Add unified composition system
2026-03-04 21:29:27 -08:00
krypticmouse 2cd131847c Add unified composition system 2026-03-04 19:35:33 -08:00
krypticmouse b03a0662bb Use Rust utils in Python SDK 2026-03-04 19:15:50 -08:00
Herumb ShandilyaandGitHub 83330183fb Merge pull request #9 from HazyResearch/rust-migration
Add Generics, reduce dynamic dispatch, python integration
2026-03-04 18:14:31 -08:00
krypticmouse 77026f6803 Add Generics, reduce dynamic dispatch, python integration 2026-03-04 18:13:45 -08:00
Jon Saad-FalconandGitHub c58bab27ec Merge pull request #8 from HazyResearch/feat/optimize
feat(optimize): trace-aware multi-objective optimization engine
2026-03-04 17:14:14 -08:00
Jon Saad-FalconandClaude Opus 4.6 3c39995476 feat(optimize): add trace-aware multi-objective optimization
Surface per-instance scores (SampleScore), structured feedback
(TrialFeedback), Pareto frontier tracking, pillar-targeted mutation,
and config merge strategies. Store migration adds new columns with
backward-compatible deserialization.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-03-05 01:04:30 +00:00
Jon Saad-FalconandClaude Opus 4.6 552ce4cba0 feat(optimize): add CLI commands, API routes, and config integration
- Add `jarvis optimize` CLI group (run, status, results, best, personal)
- Add `jarvis feedback` CLI group (score, thumbs, evaluate, stats)
- Add OptimizeConfig to JarvisConfig with TOML loading support
- Add optimization + feedback event types to EventType enum
- Add TraceStore.update_feedback() for recording trace scores
- Add /v1/feedback and /v1/optimize API routes
- Register optimize/feedback commands in cli/__init__.py
- Update optimize/__init__.py with all Phase 25 exports

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-03-05 00:01:52 +00:00
Jon Saad-FalconandClaude Opus 4.6 d234471c03 feat(optimize): add optimization engine, SQLite store, and config loader
Add the orchestration layer that ties together the LLM optimizer, trial
runner, and persistence into a propose-evaluate-analyze loop with early
stopping and recipe export. 36 new tests pass.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-03-04 23:56:30 +00:00
Jon Saad-FalconandClaude Opus 4.6 44dc78ff7a feat(optimize): add LLM optimizer for config tuning
Implement LLMOptimizer that uses a cloud LLM to propose and analyze
OpenJarvis configurations, inspired by DSPy's GEPA approach with
textual trace feedback rather than just scalar rewards. 46 tests pass.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-03-04 23:50:19 +00:00
Jon Saad-FalconandClaude Opus 4.6 9ef339f531 feat(optimize): add trial runner and feedback system
Add TrialRunner to bridge TrialConfig to the eval framework (EvalRunner),
TraceJudge for LLM-as-judge scoring of agent traces, and FeedbackCollector
for aggregating explicit, thumbs, and judge-driven feedback signals.
68 tests pass covering all three modules.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-03-04 23:49:23 +00:00
Jon Saad-FalconandClaude Opus 4.6 8437fccbb3 feat(optimize): add personal benchmark system for trace-driven eval
Synthesize reusable benchmarks from interaction traces with feedback
scores. Mines high-quality traces, groups by query class, picks the
best reference per class, and exposes results through DatasetProvider
and LLM-judge Scorer so EvalRunner can evaluate against personal
workflow patterns.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-03-04 23:46:53 +00:00
Jon Saad-FalconandClaude Opus 4.6 529cd77ccd feat(optimize): add foundation types and search space builder
Add the optimize module with core data types (SearchDimension, SearchSpace,
TrialConfig, TrialResult, OptimizationRun) and search space builder
(build_search_space, DEFAULT_SEARCH_SPACE) covering all 5 pillars. Includes
TrialConfig.to_recipe() mapping and SearchSpace.to_prompt_description()
for LLM-readable rendering. 66 tests pass.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-03-04 23:43:54 +00:00
Jon Saad-FalconandGitHub d1b68df3fc Merge pull request #7 from HazyResearch/rust-migration
Python to Rust Migration [WIP]
2026-03-04 11:27:56 -08:00
Orhun AkenginandClaude Opus 4.6 896404b4e0 Merge main into rust-migration, resolve conflicts
- .gitignore: keep both Rust target/ and Claude plan artifacts/Tauri schemas sections
- uv.lock: keep main's provides-extras with speech, eval-wandb, eval-sheets extras

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-03-04 18:56:04 +00:00
Jon Saad-FalconandGitHub 21870cfb37 Merge pull request #4 from HazyResearch/gabebo-ui
webapp + desktop app UI setup w/ working backend + pods
2026-03-03 22:08:43 -08:00
krypticmouse 4adfc84d11 First Migration crates 2026-03-03 19:54:00 -08:00
Gabriel Bo 4a7116ba0a aesthetic preview 2026-03-03 19:18:03 -08:00
Gabriel Bo 9ddebbfca9 removing unnecessary files 2026-03-03 19:12:37 -08:00
Gabriel Bo 494fc39c65 fixing ui + adding diff fonts + fixing merge conflicts 2026-03-03 18:54:35 -08:00
Gabriel Bo 9d7e9669b3 redesign w/ designated boxes 2026-03-03 18:44:39 -08:00
Gabriel Bo 75dc674e44 Merge origin/main into gabebo-ui
Integrate speech-to-text (Phase 24) and eval trackers features.
Resolve conflicts: add speech Tauri commands to lib.rs, merge
MicButton + useSpeech into InputArea, consolidate speech API
functions into lib/api.ts (removed old api/client.ts).

Made-with: Cursor
2026-03-03 18:44:09 -08:00
Jon Saad-FalconandGitHub ceb8e6a47d Merge pull request #6 from HazyResearch/feat/eval-trackers
feat(evals): add W&B and Google Sheets result trackers
2026-03-03 17:05:02 -08:00
Jon Saad-FalconandClaude Opus 4.6 2606c283e9 feat(evals): add W&B and Google Sheets result trackers
Introduce ResultTracker ABC with pluggable experiment tracking for the
eval framework, enabling per-sample streaming to W&B and summary-row
appending to Google Sheets — critical for the NeurIPS paper sweep.

- ResultTracker ABC: on_run_start/on_result/on_summary/on_run_end
- WandbTracker: per-sample wandb.log with sample/ prefix, flattened
  MetricStats in run summary, reinit=True for suite mode
- SheetsTracker: summary-only (no per-sample API calls), 29-column
  canonical row, idempotent header, service account + ADC auth
- EvalRunner: trackers wired into lifecycle, all calls try/except
  wrapped so tracker failures never abort an eval run
- CLI: 7 new flags (--wandb-project/entity/tags/group,
  --sheets-id/worksheet/creds) on both jarvis eval run and
  python -m openjarvis.evals run
- Config: tracker fields parsed from TOML [run] section, propagated
  through expand_suite() for suite mode
- pyproject.toml: eval-wandb and eval-sheets optional dependency groups
- 9 new tests (lifecycle, crash resilience, mock W&B/Sheets)

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-03-04 01:00:47 +00:00
Jon Saad-FalconandGitHub bb5f421b1b Merge pull request #5 from HazyResearch/feat/speech-to-text
feat: add speech-to-text subsystem with pluggable backends
2026-03-03 14:56:38 -08:00
Jon Saad-FalconandClaude Opus 4.6 81cde86638 fix(desktop): enable reqwest multipart feature for audio upload
The transcribe_audio command uses reqwest::multipart which requires
the "multipart" feature flag on the reqwest crate.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-03-03 22:54:17 +00:00
Jon Saad-FalconandClaude Opus 4.6 304ff54eb1 chore: update uv.lock for speech optional dependencies
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-03-03 22:15:22 +00:00
Jon Saad-FalconandClaude Opus 4.6 694d7b00b9 fix: shorten SpeechConfig comment to pass line-length lint
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-03-03 22:13:08 +00:00
Gabriel Bo 62dd0ce6c9 quick start local on doc page + gh pg redesign setup 2026-03-03 14:03:26 -08:00
Jon Saad-FalconandClaude Opus 4.6 ba444bec0c docs: update CLAUDE.md for Phase 24 speech subsystem
Updates test count to ~3295, adds Speech subsystem section, API
endpoints, Phase 24 row, and speech extras to the docs.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-03-03 20:06:19 +00:00
Jon Saad-FalconandClaude Opus 4.6 8d9a830b70 feat(speech): add speech and speech-deepgram optional dependencies
Adds openjarvis[speech] (faster-whisper) and openjarvis[speech-deepgram]
(deepgram-sdk) extras to pyproject.toml.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-03-03 20:00:32 +00:00
Jon Saad-FalconandClaude Opus 4.6 e4ed38edd3 feat(speech): add Tauri transcribe_audio and speech_health commands
Proxies multipart audio upload and health check to the Python backend
for the desktop app's speech-to-text integration.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-03-03 20:00:27 +00:00
Gabriel Bo 917895a29f working doctor for cli 2026-03-03 11:59:33 -08:00
Jon Saad-FalconandClaude Opus 4.6 2dcd05227a feat(speech): add frontend speech API client and useSpeech hook
Adds transcribeAudio() and fetchSpeechHealth() to the API client,
and the useSpeech React hook for managing mic recording lifecycle.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-03-03 19:57:57 +00:00
Gabriel Bo 1bc5be786f validate job w/ frontend stub for tauri generate context 2026-03-03 11:55:42 -08:00
Gabriel Bo c32c9b0d14 cargo check 2026-03-03 11:51:19 -08:00
Gabriel Bo 4cdf32a21a setup for tauri frontend w/ rust implementation for desktop app 2026-03-03 11:45:51 -08:00
krypticmouse 9772497b60 Convert classes to context handlers 2026-03-03 11:33:17 -08:00
krypticmouse 05f3dca77f single call profiling 2026-03-03 11:25:25 -08:00
Jon Saad-FalconandClaude Opus 4.6 a85db10cf2 feat(speech): add MicButton component and integrate into InputArea
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-03-03 19:12:35 +00:00
Jon Saad-FalconandClaude Opus 4.6 8e29f08832 feat(speech): add /v1/speech/transcribe and /health API endpoints
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-03-03 19:10:41 +00:00