Files
OpenJarvis/docs/PROGRESS.md
T
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

6.9 KiB

OpenJarvis Roadmap Progress

Last updated: 2026-02-27

Phase 17: Production Tool Parity

Core Tools

  • FileWriteToolsrc/openjarvis/tools/file_write.py + tests/tools/test_file_write.py (16 tests)
  • ApplyPatchToolsrc/openjarvis/tools/apply_patch.py + tests/tools/test_apply_patch.py (13 tests)
  • ShellExecToolsrc/openjarvis/tools/shell_exec.py + tests/tools/test_shell_exec.py (19 tests)
  • GitTool (4 ops) — src/openjarvis/tools/git_tool.py + tests/tools/test_git_tool.py (41 tests)
  • HttpRequestToolsrc/openjarvis/tools/http_request.py + tests/tools/test_http_request.py (21 tests)
  • DatabaseQueryToolsrc/openjarvis/tools/db_query.py + tests/tools/test_db_query.py (26 tests)

Inter-Agent Tools

  • AgentSpawnToolsrc/openjarvis/tools/agent_tools.py + tests/tools/test_agent_tools.py
  • AgentSendTool — (same file)
  • AgentListTool — (same file)
  • AgentKillTool — (same file, 22 tests total)

Browser Automation

  • BrowserNavigateToolsrc/openjarvis/tools/browser.py + tests/tools/test_browser.py
  • BrowserClickTool — (same file)
  • BrowserTypeTool — (same file)
  • BrowserScreenshotTool — (same file)
  • BrowserExtractTool — (same file, 71 tests total)

Media Tools

  • ImageGenerateToolsrc/openjarvis/tools/image_tool.py + tests/tools/test_image_tool.py (12 tests)
  • AudioTranscribeToolsrc/openjarvis/tools/audio_tool.py + tests/tools/test_audio_tool.py (17 tests)
  • PDFExtractToolsrc/openjarvis/tools/pdf_tool.py + tests/tools/test_pdf_tool.py (19 tests)

Security Hardening

  • SSRF protection — src/openjarvis/security/ssrf.py + tests/security/test_ssrf.py (18 tests)
  • Subprocess sandbox — src/openjarvis/security/subprocess_sandbox.py + tests/security/test_subprocess_sandbox.py (11 tests)
  • Prompt injection scanner — src/openjarvis/security/injection_scanner.py + tests/security/test_injection_scanner.py (10 tests)
  • Rate limiting — src/openjarvis/security/rate_limiter.py + tests/security/test_rate_limiter.py (12 tests)
  • Security headers middleware — src/openjarvis/server/middleware.py + tests/server/test_middleware.py (4 tests)

Config & Integration

  • New extras in pyproject.toml: browser, media, pdf, channel extras for Phase 21
  • ToolsConfig.browser section added to config.py (BrowserConfig: headless, timeout_ms, viewport)
  • SecurityConfig.ssrf_protection, rate_limit_enabled, rate_limit_rpm, rate_limit_burst fields

Phase 18: CLI & API Expansion

CLI Commands

  • jarvis start/stop/restart/statussrc/openjarvis/cli/daemon_cmd.py + tests/cli/test_daemon_cmd.py (7 tests)
  • jarvis chatsrc/openjarvis/cli/chat_cmd.py + tests/cli/test_chat_cmd.py (6 tests)
  • jarvis agentsrc/openjarvis/cli/agent_cmd.py + tests/cli/test_agent_cmd.py (3 tests)
  • jarvis workflowsrc/openjarvis/cli/workflow_cmd.py + tests/cli/test_workflow_cmd.py (4 tests)
  • jarvis skillsrc/openjarvis/cli/skill_cmd.py + tests/cli/test_skill_cmd.py (4 tests)
  • jarvis vaultsrc/openjarvis/cli/vault_cmd.py + tests/cli/test_vault_cmd.py (6 tests)
  • jarvis addsrc/openjarvis/cli/add_cmd.py + tests/cli/test_add_cmd.py (5 tests)

API Endpoints

  • Agent API endpoints — src/openjarvis/server/api_routes.py
  • Workflow API endpoints — (same file)
  • Memory API endpoints — (same file)
  • Traces API endpoints — (same file)
  • Telemetry API endpoints — (same file)
  • Skills API endpoints — (same file)
  • Sessions API endpoints — (same file)
  • Budget API endpoints — (same file)
  • Prometheus metrics — (same file)
  • Security headers middleware wired into app — src/openjarvis/server/app.py
  • All routes tested — tests/server/test_api_routes.py (11 tests)
  • WebSocket streaming endpoint — WS /v1/chat/stream + tests/server/test_websocket.py (9 tests)

Phase 19: Learning System Productionization

  • GRPO Router — src/openjarvis/learning/grpo_policy.py (replaced stub) + tests/learning/test_grpo_policy.py (13 tests)
  • Multi-Armed Bandit Router — src/openjarvis/learning/bandit_router.py + tests/learning/test_bandit_router.py (13 tests)
  • Closed-Loop Skill Discovery — src/openjarvis/learning/skill_discovery.py + tests/learning/test_skill_discovery.py (10 tests)
  • Auto-Apply ICL Updates — modified src/openjarvis/learning/icl_updater.py + tests/learning/test_icl_updates.py (13 tests)
  • Learning Dashboard API — GET /v1/learning/stats, GET /v1/learning/policy + tests/learning/test_learning_api.py (8 tests)

Phase 20: Desktop App (Tauri 2.0)

  • Tauri scaffold in desktop/src-tauri/, package.json, vite.config.ts, tsconfig.json
  • Tauri Rust backend — src-tauri/src/lib.rs with 11 commands (health, energy, telemetry, traces, learning, memory, agents, jarvis CLI)
  • Tauri plugins — notification, shell, global-shortcut, autostart, updater, single-instance
  • Energy dashboard — src/components/EnergyDashboard.tsx (recharts line chart, auto-refresh)
  • Trace debugger — src/components/TraceDebugger.tsx (dual-panel, color-coded step timeline)
  • Learning curve visualization — src/components/LearningCurve.tsx (GRPO/bandit/ICL stats)
  • Memory browser — src/components/MemoryBrowser.tsx (search + stats)
  • Admin panel — src/components/AdminPanel.tsx (health, agents, server control)
  • Build successful — .deb, .rpm, .AppImage bundles produced
  • CI workflow — .github/workflows/desktop.yml (Linux/macOS/Windows matrix)

Phase 21: Channels

  • LINE — src/openjarvis/channels/line_channel.py
  • Viber — src/openjarvis/channels/viber_channel.py
  • Facebook Messenger — src/openjarvis/channels/messenger_channel.py
  • Reddit — src/openjarvis/channels/reddit_channel.py
  • Mastodon — src/openjarvis/channels/mastodon_channel.py
  • XMPP — src/openjarvis/channels/xmpp_channel.py
  • Rocket.Chat — src/openjarvis/channels/rocketchat_channel.py
  • Zulip — src/openjarvis/channels/zulip_channel.py
  • Twitch — src/openjarvis/channels/twitch_channel.py
  • Nostr — src/openjarvis/channels/nostr_channel.py
  • All channels tested — tests/channels/test_channels_phase21.py (103 tests)

Test Summary

Phase New Tests Cumulative
Pre-existing ~2,447 2,447
Phase 17 ~300 ~2,747
Phase 18 ~56 ~2,803
Phase 19 ~49 ~2,852
Phase 21 ~103 ~2,923
WebSocket + Learning API ~17 ~2,940
Verified total 2,997 passed, 42 skipped

CLAUDE.md

  • Updated with all new tools, CLI commands, API endpoints, channels, learning policies, desktop app, config fields, and phase table