Commit Graph
58 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-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 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
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
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-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-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
Jon Saad-FalconandClaude Opus 4.6 3fffcc8cb4 feat(speech): wire speech backend into SystemBuilder and JarvisSystem
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-03-03 19:08:15 +00:00
Jon Saad-FalconandClaude Opus 4.6 6dc4ad1dbb feat(speech): add auto-discovery and wire speech package init
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-03-03 06:22:20 +00:00
Jon Saad-FalconandClaude Opus 4.6 16d793652b feat(speech): implement DeepgramSpeechBackend (cloud STT)
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-03-03 06:19:00 +00:00
Jon Saad-FalconandClaude Opus 4.6 9bf5a4b466 feat(speech): implement OpenAIWhisperBackend (cloud STT)
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-03-03 06:18:59 +00:00
Jon Saad-FalconandClaude Opus 4.6 cb28dd2ba9 feat(speech): implement FasterWhisperBackend (local STT)
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-03-03 06:18:57 +00:00
Jon Saad-FalconandClaude Opus 4.6 002c63a205 feat(speech): add SpeechBackend ABC, TranscriptionResult, Segment
Define the abstract interface for the speech subsystem: SpeechBackend ABC
with transcribe/health/supported_formats methods, TranscriptionResult and
Segment dataclasses for structured transcription output.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-03-03 06:13:44 +00:00
Jon Saad-FalconandClaude Opus 4.6 8b2bf136f1 feat(speech): add SpeechConfig to configuration system
Add SpeechConfig dataclass with backend, model, language, device, and
compute_type fields. Wire it into JarvisConfig and load_config() so
[speech] TOML sections are loaded automatically.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-03-03 05:51:29 +00:00
Jon Saad-FalconandClaude Opus 4.6 4c76b93569 feat(speech): add SpeechRegistry to core registry module
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-03-03 04:33:15 +00:00
Jon Saad-FalconandClaude Opus 4.6 7829e29392 refactor: consolidate 5 OpenAI-compat engine wrappers into single data-driven file
Replace vllm.py, sglang.py, llamacpp.py, mlx.py, lmstudio.py with
openai_compat_engines.py using dynamic class creation and registration.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-03-02 23:11:00 +00:00
Jon Saad-FalconandClaude Opus 4.6 2ead10b13e fix: update Docker test paths after deploy/docker/ migration
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-03-02 23:10:19 +00:00
Jon Saad-FalconandClaude Opus 4.6 1e7d0fe1de refactor: remove memory/ backward-compat shim package
Delete the entire src/openjarvis/memory/ directory (11 files) which
was a pure re-export shim pointing to openjarvis.tools.storage.*.
Update all imports across src/ and tests/ to use the canonical
openjarvis.tools.storage imports directly.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-03-02 22:33:57 +00:00
Jon Saad-FalconandClaude Opus 4.6 a9518e1574 refactor: move evals/ into src/openjarvis/evals/ as proper subpackage
Move the standalone evals framework from the project root into the
openjarvis package. Rewrite all ~50+ import statements from 'from evals.'
to 'from openjarvis.evals.' across the package, CLI, and tests. Remove
the evals-specific pyproject.toml (no longer a standalone package).
Update ruff per-file-ignores paths and fix line-length violations
introduced by the longer import paths.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-03-02 21:06:08 +00:00
Jon Saad-FalconandClaude Opus 4.6 99d8f39613 refactor: move operators/ TOML data into src/openjarvis/operators/data/
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-03-02 20:57:52 +00:00
Jon Saad-FalconandClaude Opus 4.6 f236bf3012 refactor: move skills/builtin/ TOML data into src/openjarvis/skills/data/
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-03-02 20:53:59 +00:00
Jon Saad-FalconandClaude Opus 4.6 6376d9b0e4 refactor: move templates/agents/ TOML data into src/openjarvis/templates/data/
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-03-02 20:51:16 +00:00
Jon Saad-Falcon be0b12aa5d Merge branch 'feat/phase-23-differentiated-functionalities'
# Conflicts:
#	src/openjarvis/cli/__init__.py
2026-03-02 05:53:24 +00:00
Jon Saad-FalconandClaude Opus 4.6 2aebcd7d77 feat: Phase 23 — Differentiated functionalities
Trace-driven learning pipeline:
- TrainingDataMiner: extract SFT/routing/agent pairs from traces
- LoRATrainer: fine-tune local models from trace-derived data
- AgentConfigEvolver: rewrite agent configs from trace analysis
- LearningOrchestrator: coordinate mine→train→evolve cycle, wired into SystemBuilder

Eval framework (15 real IPW benchmarks):
- Datasets: SuperGPQA, GPQA, MMLU-Pro, MATH-500, Natural Reasoning, HLE,
  SimpleQA, WildChat, IPW, GAIA, FRAMES, SWE-bench, SWEfficiency,
  TerminalBench, TerminalBench Native
- Scorers: MCQ extraction, LLM-judge, exact match, structural validation
- CLI: jarvis eval list|run|compare|report

Composable abstractions:
- Recipe system: TOML composition of all 5 pillars (3 built-in recipes)
- Agent templates: 15 pre-configured TOML manifests with system prompts
- Bundled skills: 20 ready-to-use TOML skill manifests
- Operator recipes: researcher (4h), correspondent (5min), sentinel (2h)

102 files changed, ~11,500 lines added. 3241 tests pass (44 skipped).

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-03-02 05:34:46 +00:00
Jon Saad-FalconandClaude Opus 4.6 565282352f feat(bench): full stats tables in bench CLI
Add std_latency to LatencyBenchmark metrics. New _render_stats_table
in bench_cmd.py detects stats-pattern keys (mean_X, p50_X, min_X,
max_X, std_X, p95_X) and renders Avg/Median/Min/Max/Std/P95 columns.
Falls back to simple key-value for non-stats metrics.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-02-28 17:37:02 +00:00
Jon Saad-FalconandClaude Opus 4.6 390deeefd0 feat(cli): add global verbose/quiet logging flags
New log_config.py with setup_logging() configuring the openjarvis
logger (WARNING default, DEBUG on --verbose, ERROR on --quiet).
RotatingFileHandler (5MB, 3 backups) enabled in verbose mode.
Flags added to root CLI group and forwarded via click context.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-02-28 17:31:49 +00:00
Jon Saad-FalconandClaude Opus 4.6 d1d113c1b1 feat(cli): add error hints system
New hints.py with hint_no_config(), hint_no_engine(), hint_no_model().
Wire hint_no_engine into ask.py EngineConnectionError handlers to
show actionable suggestions when engine is unreachable.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-02-28 17:27:10 +00:00
Jon Saad-FalconandClaude Opus 4.6 30a6aa585d feat(cli): add jarvis quickstart command
5-step guided setup: detect hardware, write config, check engine,
verify model, run test query. Skips config step if already present
unless --force is used. Exits with helpful message on engine failure.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-02-28 17:23:37 +00:00
Jon Saad-FalconandClaude Opus 4.6 392218735d Add energy aggregation and step-type stats to TraceAnalyzer (Task 4)
- Add StepTypeStats dataclass with full descriptive statistics per step
  type (count, avg/median/min/max/std duration, total energy, and
  avg/median/min/max/std input/output tokens)
- Add total_energy_joules, total_generate_energy_joules, and
  step_type_stats fields to TraceSummary
- Compute per-step-type aggregations in summary() method
- Add 3 tests covering energy totals, step-type stats, and dataclass fields

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-02-28 07:19:39 +00:00
Jon Saad-FalconandClaude Opus 4.6 45892539bc Add tokens_per_joule to telemetry store and aggregator (Task 3)
- Add tokens_per_joule column to TelemetryStore schema, INSERT, and migration
- Add avg_tokens_per_joule field to ModelStats and EngineStats
- Add AVG(tokens_per_joule) to per_model_stats() and per_engine_stats() SQL
  queries using _safe_col() pattern for backward compatibility
- Add 3 tests for store/retrieve, multi-record aggregation, and engine stats

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-02-28 06:53:23 +00:00
Jon Saad-FalconandClaude Opus 4.6 4e5709d478 feat(telemetry): compute tokens_per_joule in InstrumentedEngine
Computes completion_tokens / energy_joules in both generate() and
stream() methods. Zero when energy or tokens are zero.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-02-28 06:47:55 +00:00
Jon Saad-FalconandClaude Opus 4.6 ac8d6b01c7 feat(telemetry): add tokens_per_joule field to TelemetryRecord
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-02-28 06:42:54 +00:00
Jon Saad-FalconandClaude Opus 4.6 7b5cbf9d12 Add Operators: persistent, scheduled autonomous agents (Phase 22)
Introduces the Operator subsystem — persistent agents that run on a schedule
with automatic state management. Built on a new OperativeAgent (extends
ToolUsingAgent) with built-in session persistence, memory state recall, and
tick-aware lifecycle. Includes OperatorManager for lifecycle management,
TOML manifest format, 4 bundled operators, 9 CLI commands, and 39 tests.

New: OperativeAgent, operators package (types/loader/manager),
operators CLI, OperatorsConfig, OPERATOR_TICK_START/END events.
Modified: system.py (system_prompt/operator_id passthrough),
scheduler.py (operator metadata forwarding), config.py, events.py.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-02-28 01:17:04 +00:00
Jon Saad-FalconandClaude Opus 4.6 a4c4081ff4 Add desktop distribution pipeline: rolling releases, auto-updates, code signing
- Rewrite .github/workflows/desktop.yml: 2-job pipeline (validate + build-and-release)
  with rolling desktop-latest pre-release on push to main and stable desktop-v* releases
- Add UpdateChecker component: checks for updates on startup + every 30 min,
  background download with progress bar, one-click relaunch
- Configure Tauri updater: endpoints pointing to desktop-latest release, pubkey placeholder
- Add tauri-plugin-process for relaunch support (Cargo.toml, lib.rs, package.json)
- Add macOS Entitlements.plist for notarization (network + file access, no sandbox)
- Add scripts/bump-desktop-version.sh for atomic version bumps across 3 config files
- Add desktop/README.md with dev setup, auto-update architecture, signing docs
- Update .gitignore for desktop/node_modules, dist, target
- Configure macOS minimumSystemVersion, Windows timestampUrl
- Include all Phase 14-21 work: agent hardening, RBAC, taint tracking, workflows,
  skills, knowledge graph, sessions, A2A, MCP templates, WASM sandbox, TUI dashboard,
  production tools, CLI expansion, API expansion, learning productionization,
  Tauri desktop app, and 10 new channels

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-02-27 19:14:05 +00:00
Jon Saad-FalconandClaude Opus 4.6 24972e3e52 Add Phase 12+13: energy measurement, install polish, PWA, cross-hardware
Phase 12 — Energy Measurement Upgrade:
- EnergyMonitor ABC with multi-vendor support (NVIDIA hw counters,
  AMD amdsmi, Apple zeus-ml, CPU RAPL sysfs)
- EnergyBatch batch-level energy-per-token accounting
- SteadyStateDetector CV-based thermal equilibrium detection
- EnergyBenchmark with warmup phase
- InstrumentedEngine prefers EnergyMonitor over legacy GpuMonitor
- Telemetry store/aggregator extended with energy fields

Phase 13 — Install, Hosting, Cross-Hardware:
- jarvis doctor diagnostic command (8 checks, --json output)
- jarvis init post-setup guidance with engine-specific next steps
- README Quick Start section
- MLX engine backend (Apple Silicon → mlx recommendation)
- AMD VRAM/multi-GPU detection via rocm-smi
- PyTorch MPS device selection in orchestrator trainers
- PWA support (vite-plugin-pwa, service worker, manifest, icons)
- Server static file serving fix for PWA files
- Dockerfile.gpu.rocm + docker-compose.gpu.rocm.yml for ROCm
- Eval framework display module and efficiency metrics

2244 tests pass, 37 skipped.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-02-26 20:09:07 +00:00
Jon Saad-FalconandClaude Opus 4.6 eb9b481510 Subsume NanoClaw into OpenJarvis (Phase 11)
Add four major components that bring NanoClaw's capabilities into the
OpenJarvis framework as native, config-driven modules:

- ClaudeCodeAgent: wraps @anthropic-ai/claude-code SDK via Node.js subprocess
- WhatsAppBaileysChannel: bidirectional WhatsApp messaging via Baileys protocol
- ContainerRunner/SandboxedAgent: Docker sandbox with mount security enforcement
- TaskScheduler: cron/interval/once scheduling with SQLite persistence, MCP tools, CLI

New config sections: [sandbox], [scheduler], [channel.whatsapp_baileys].
New CLI: jarvis scheduler create|list|pause|resume|cancel|logs|start.
46 files changed, ~5,867 lines. 2078 tests pass (36 skipped).

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-02-25 03:47:07 +00:00
Jon Saad-FalconandClaude Opus 4.6 9ec402ab4a Enrich agent tool awareness, normalize engine tool_calls, add telemetry and eval config
- Add build_tool_descriptions() shared builder for enriched agent system
  prompts (NativeReAct, NativeOpenHands, RLM, Orchestrator structured mode)
- Normalize tool_calls to flat {id, name, arguments} across CloudEngine
  (OpenAI/Anthropic/Google), LiteLLM, and Ollama
- Add Anthropic tool_use extraction and input_schema conversion
- Add Google function_call extraction
- Make ReAct/OpenHands parsing case-insensitive
- Add telemetry efficiency, GPU monitor, and vLLM metrics modules
- Add TOML-based eval suite config system
- Update documentation and changelog

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-02-25 01:58:18 +00:00
Jon Saad-FalconandClaude Opus 4.6 68091dd90b Refactor agent hierarchy: extract BaseAgent/ToolUsingAgent helpers, add native ReAct/OpenHands
- Pull shared boilerplate (event emission, message building, generation,
  think-tag stripping) into BaseAgent concrete helpers and ToolUsingAgent
  intermediate base class with tool-call loop
- Add NativeReActAgent and NativeOpenHandsAgent as clean implementations
  built on the new base classes
- Simplify SimpleAgent, OrchestratorAgent, ReActAgent, OpenHandsAgent,
  and RLMAgent to use inherited helpers instead of duplicated logic
- Remove CustomAgent (superseded by BaseAgent subclassing)
- Add backward-compat tests, base agent tests, native agent tests

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-02-24 03:59:24 +00:00
Jon Saad-FalconandClaude Opus 4.6 323d7ff032 Add TOML config system for eval suites, pillar-aligned config, and documentation
- Eval config: TOML-based suite configs defining models x benchmarks matrix,
  loaded via --config flag. Includes load_eval_config(), expand_suite(),
  7 config dataclasses, 3 example configs, and 61 new tests.
- Pillar-aligned config: generation params in IntelligenceConfig, nested
  engine/learning configs, agent objective/system_prompt/context_from_memory,
  structured learning sub-policies, TOML migration layer.
- Documentation: evaluations user guide, evals API reference, updated
  mkdocs.yml navigation, updated architecture docs.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-02-24 03:34:05 +00:00