Commit Graph
70 Commits
Author SHA1 Message Date
Jon Saad-FalconandClaude Opus 4.6 cf12b9b28c fix: patch stale evals imports missed during migration
- Fix mock.patch() target in test_config.py (evals.cli -> openjarvis.evals.cli)
- Remove stale sys.path manipulation in evals/tests/conftest.py

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-03-02 22:19:45 +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-FalconandClaude Opus 4.6 d1be888af1 refactor: move recipes/ TOML data into src/openjarvis/recipes/data/
Co-locate recipe TOML files with the loader code that reads them,
eliminating the fragile parents[3] path traversal. Updates
_PROJECT_RECIPES_DIR to use a relative package data path instead.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-03-02 20:48:11 +00:00
Jon Saad-FalconandClaude Opus 4.6 828f28b72a refactor: move Docker files to deploy/docker/
Move all 6 Docker files (Dockerfile, Dockerfile.gpu, Dockerfile.gpu.rocm,
Dockerfile.sandbox, docker-compose.yml, docker-compose.gpu.rocm.yml) from
the project root into deploy/docker/ to reduce root-level clutter. Update
build context paths in both docker-compose files to point back to the
project root (../..) so Docker builds continue to work correctly.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-03-02 20:29:57 +00:00
Jon Saad-FalconandClaude Opus 4.6 f4b056870b chore: remove get-pip.py from repository (2.2MB regenerable artifact)
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-03-02 20:26:11 +00:00
Jon Saad-FalconandClaude Opus 4.6 28a6c5e675 docs: add codebase simplification implementation plan
13 incremental tasks covering structure cleanup, data migration,
shim removal, engine consolidation, and init.py refactoring.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-03-02 20:21:12 +00:00
Jon Saad-FalconandClaude Opus 4.6 ad2c186b89 docs: add codebase simplification design plan
Outlines incremental restructuring to reduce root sprawl from 32 to 21
items, consolidate data dirs into src/ package, remove backward-compat
shims, and clean up repetitive code patterns.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-03-02 20:14:20 +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-FalconandGitHub c016d85256 Merge pull request #1 from HazyResearch/feat/experience-polish
Experience polish: eval display, first-run UX, dashboard improvements
2026-03-01 21:47:26 -08: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 a834a470ec Restyle PWA with Catppuccin Mocha dark theme and scoped CSS files
Split monolithic App.css into 5 scoped files:
- variables.css: Catppuccin Mocha palette + semantic tokens
- base.css: reset, layout, responsive breakpoints
- sidebar.css: sidebar, model selector, conversations, savings
- chat.css: messages, bubbles, tool calls, streaming
- input.css: textarea, buttons, pasted-pill attachments

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-02-28 18:06:27 +00:00
Jon Saad-FalconandClaude Opus 4.6 759efb9fa8 Add frontend CI workflow, error boundary, and VITE_API_URL support
- .github/workflows/frontend.yml: type-check + build on push/PR
- ErrorBoundary component wraps App with catch + retry UI
- API client reads VITE_API_URL env var for non-same-origin deploys
- vite-env.d.ts declares ImportMetaEnv type

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-02-28 18:02:09 +00:00
Jon Saad-FalconandClaude Opus 4.6 1c44f51ef5 Add system tray menu with Show/Hide, Health status, and Quit
Build tray programmatically via TrayIconBuilder with menu items.
Show/Hide toggles main window visibility. Remove declarative
trayIcon config to avoid conflict with programmatic setup.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-02-28 17:45:44 +00:00
Jon Saad-FalconandClaude Opus 4.6 00fc627e3e Regenerate Windows icon with multi-resolution .ico (16/32/48/256px)
Previous .ico only had 16x16. Windows needs multiple sizes for
taskbar, title bar, and explorer icon display.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-02-28 17:44:12 +00:00
Jon Saad-FalconandClaude Opus 4.6 21884ebd0e Add Settings tab to desktop app with localStorage persistence
New SettingsPanel component with API URL, refresh interval, and
theme toggle. Wired into App.tsx as sixth tab.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-02-28 17:43:10 +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 1358dc9813 feat(cli): add progress indicators for generation and indexing
Wrap engine.generate() in ask.py with console.status() spinner.
Wrap memory indexing loop in memory_cmd.py with rich.progress.track().

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-02-28 17:34:45 +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 f6c02c13d8 feat(evals): add --compact and --trace-detail CLI flags
Wire new display flags through the run command to print_full_results.
--compact renders a single dense table; --trace-detail enables full
per-step trace listing.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-02-28 17:18:11 +00:00
Jon Saad-FalconandClaude Opus 4.6 d82a324189 feat(evals): grouped display tables (accuracy, latency, energy, trace)
Add print_accuracy_panel, print_latency_table, print_energy_table,
print_trace_summary, print_compact_table, and print_full_results
orchestrator. Keep existing print_metrics_table for backward compat.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-02-28 17:13:04 +00:00
Jon Saad-FalconandClaude Opus 4.6 1b8882c7e2 Wire trace data and token totals into eval RunSummary (Task 6)
- Add total_input_tokens, total_output_tokens, avg_power_watts to
  _compute_summary() and include in RunSummary constructor
- Add _output_path and _traces_dir as proper slots on RunSummary (fixes
  pre-existing bug: slots=True prevented dynamic attribute setting)
- Update _summary_to_dict to serialize new fields
- Fix pre-existing test_metric_stats_to_dict to check p90/p95/p99 keys
- Add 2 new tests: total token counts and avg power in summary

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-02-28 17:03:15 +00:00
Jon Saad-FalconandClaude Opus 4.6 b9a89f1ac7 Add trace and power fields to EvalResult and RunSummary (Task 5)
- Add trace_steps and trace_energy_joules to EvalResult
- Add avg_power_watts, total_input_tokens, total_output_tokens, and
  trace_step_type_stats to RunSummary
- Add 3 tests covering new field defaults and setters

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-02-28 07:20:21 +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 598d3473ee chore: add .worktrees/ to .gitignore
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-02-28 06:33:07 +00:00
Jon Saad-FalconandClaude Opus 4.6 a841b4abb4 Add experience polish implementation plan (18 TDD tasks)
Detailed TDD implementation plan for Phases 23a/23b/23c covering eval
display, telemetry, trace aggregation, quickstart CLI, logging, bench
stats, and dashboard polish. Phase 23a fully specified with test code.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-02-28 06:08:46 +00:00
Jon Saad-FalconandClaude Opus 4.6 a000a7dbb2 Add experience polish design doc (Phases 23a/23b/23c)
Design for eval output quality, CLI polish, installation flow, and
dashboard aesthetics across three independently shippable mini-phases.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-02-28 02:36:29 +00:00
Jon Saad-FalconandClaude Opus 4.6 2849f39cbc Update Cargo.lock and tsconfig.tsbuildinfo after desktop pipeline changes
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-02-28 02:35:54 +00:00
Jon Saad-FalconandClaude Opus 4.6 791d5e9bef Enable updater artifacts and update signing key
- Add createUpdaterArtifacts: true to bundle config, which tells
  cargo tauri build to produce .sig files alongside installers
- Update pubkey to match regenerated key (now with password)
- Without createUpdaterArtifacts, no .sig or .tar.gz updater bundles
  are produced, so latest.json was never generated

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-02-28 01:50:28 +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 5016269533 Configure updater signing key and fix endpoint URL
- Set updater pubkey from generated signing keypair
- Fix endpoint URL to use HazyResearch/OpenJarvis (not jonsf)
- TAURI_SIGNING_PRIVATE_KEY configured as GitHub Secret

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-02-28 00:28:27 +00:00
Jon Saad-FalconandClaude Opus 4.6 3cd55ba20d Fix macOS CI: only set Apple signing env vars when certificate is configured
The tauri action attempts certificate import when APPLE_CERTIFICATE is
present in the environment (even as empty string). Move Apple signing
env vars to a conditional step that only writes to GITHUB_ENV when the
secret is actually non-empty.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-02-27 22:40:25 +00:00
Jon Saad-FalconandClaude Opus 4.6 75aeedde9e Fix desktop CI: add icon.ico for Windows, skip macOS codesign, drop macos-13
- Add icons/icon.ico generated from 256x256.png (required for Windows resource file)
- Add icon.ico to bundle.icon list in tauri.conf.json
- Set APPLE_SIGNING_IDENTITY to '-' when APPLE_CERTIFICATE is not configured,
  skipping codesign instead of failing with keychain import error
- Remove macos-13 matrix entry (Intel runners sunset by GitHub)

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-02-27 20:55:03 +00:00
Jon Saad-FalconandClaude Opus 4.6 c379c12acc Fix desktop CI: add @tauri-apps/cli as devDependency
The tauri-apps/tauri-action runs `npx tauri build` which requires
@tauri-apps/cli to be installed as an npm dependency. Without it,
npx fails with "could not determine executable to run".

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
desktop-latest
2026-02-27 19:50:27 +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 9f5e97eed9 Add eval framework efficiency metrics: MFU, MBU, IPW, IPJ
Extend the eval framework to compute per-sample hardware efficiency
metrics when model hardware parameters are provided in TOML config:

- ModelConfig gains param_count_b, active_params_b, gpu_peak_tflops,
  gpu_peak_bandwidth_gb_s, num_gpus fields
- RunConfig gains metadata dict, populated by expand_suite() from
  model hardware params
- EvalRunner._process_one() computes IPW (Intelligence Per Watt),
  IPJ (Intelligence Per Joule), MFU, and MBU per sample
- All telemetry fields (energy, power, GPU util, throughput, MFU, MBU,
  IPW, IPJ) written to JSONL output and summary JSON
- RunSummary includes MetricStats (mean/median/min/max/std) for all
  telemetry metrics plus total_energy_joules
- GLM-4.7-Flash eval config enriched with A100 SXM hardware params
- 146 eval tests pass (26 new tests for telemetry, efficiency metrics,
  metadata flow, MetricStats helpers)
- User guide and API docs updated with new fields and output format

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-02-25 21:17:53 +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 160995c4c0 Update landing page to five-pillar architecture and Phase 10 status
Rewrites the main docs/index.md to reflect the current five-pillar
structure (Intelligence, Agents, Tools, Engine, Learning) with
accurate descriptions of each. Updates project status to v1.5
Phase 10 complete, seven agent types, 1800+ tests.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-02-24 05:15:30 +00:00
Jon Saad-FalconandClaude Opus 4.6 8f641020ed Fix mkdocs build: replace missing OpenClaw mkdocstrings refs with admonitions
The openclaw_protocol, openclaw_transport, openclaw_plugin, and
openclaw_bridge modules are not installed in CI. Replace their
mkdocstrings auto-doc directives with note admonitions linking
to the architecture docs.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-02-24 04:40:28 +00:00
Jon Saad-FalconandClaude Opus 4.6 d7002e22d8 Update MkDocs documentation for Phase 10 agent restructuring
Reflects the new agent hierarchy (BaseAgent helpers, ToolUsingAgent
intermediate base, NativeReActAgent, NativeOpenHandsAgent, RLMAgent,
OpenHandsAgent SDK) across all architecture, user-guide, extending,
contributing, roadmap, and API reference pages. Removes CustomAgent
references and adds Mermaid diagrams for new agent types.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-02-24 04:29:04 +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