Compare: v2.54.1...v2.54.2
Highlights
Autonomous bug hunting
Jarvis now has an isolated autonomous bug-hunt workflow for finding, tracking, and safely triaging repo issues without mixing that state into normal runtime behavior.
- Added
bin/jarvis-bug-huntandlib/bug_hunt.py. - Added finding severity display.
- Added a human dismissal registry so dismissed findings are not rediscovered as new work.
- Hardened long-running bug-hunt runs and provider selection, including xAI support.
- Added regression coverage for bug-hunt behavior.
Router, Tool RAG, and tool-turn control
Routing is more observable and tunable, especially for large tool sets and repeated tool turns.
- Added versioned router system prompts (
v1throughv4) with hash tooling and docs. - Added compact router prompt experiments.
- Tuned Tool RAG final schema caps and surfaced failed Tool RAG syncs in the Web UI.
- Fixed tool turn budget retry accounting.
- Improved provider labels in server-side tool logs.
- Disabled the SerpApi Yelp tool by default until explicitly enabled.
Models, providers, and media catalogs
Provider and media metadata got a broad refresh.
- Added Grok 4.5 xAI support and prompt overrides.
- Enabled xAI OAuth vision for Grok 4.5.
- Added GPT 5.6 model entries.
- Showed OpenAI vision capability in model dropdowns.
- Fixed OpenAI tool discovery continuation.
- Honored OpenAI image model overrides in the image edit UI.
- Unified and refreshed generated-video catalog metadata.
- Enforced local-mode opt-in before using Ollama cloud-tagged models.
- Stripped leaked Ollama/GLM reasoning text at the provider boundary.
Web UI and shared branding
The Web UI and related dashboards received a shared Jarvis visual identity plus several practical UX fixes.
- Replaced emoji robot branding with a Jarvis HUD logo across Web, Canvas, Memory, Intelligence, and Docs.
- Added animated HUD and HAL-eye SVG assets, plus an opaque Apple touch icon.
- Fixed shared UI assets on Windows Docker builds.
- Added conversation renaming.
- Added tool-aware personal Web prompts and tool-aware processing phases.
- Fixed tooltips showing behind menus.
- Improved Web reconnect behavior after extended outages.
- Fixed provider-aware model defaults in Web settings.
- Fixed image edit failure handling so stash-prep failures abort cleanly and failed attachments remain visible.
- Added direct-script header comments across the question/say entry points.
Canvas and Image Gallery
Canvas gained safer write behavior and the generated Image Gallery became more useful for long-term curation.
- Hardened Canvas append flows and live tool cards.
- Prevented same-second Canvas page overwrites.
- Retained stash assets referenced by pinned Canvas pages.
- Fixed tool routing and Canvas failure handling.
- Added Canvas page ID helpers and tests.
- Added Image Gallery favorites, favorites-only filtering, and favorite-aware generated-image cleanup.
- Added CDN cached-status sorting in the gallery.
- Added confirmation before uncached Cloudflare CDN uploads; cached URLs still copy directly from
cdn_catalog.json. - Added missing gallery button tooltips and a more consistent favorite-button style.
Stash, storage paths, and cleanup
Several cleanup and storage paths now use the same configured roots instead of assuming fixed locations.
- Honored configured stash/API storage paths in Web, Canvas, API, and stash tooling.
- Created stash spaces through the upload API path.
- Preserved versioned stash files and metadata.
- Clarified configurable stash storage docs.
- Added conversation-aware retention cleanup for uploads and stash.
- Added 90-day cleanup for old unpinned Web conversations.
- Added generated-image cleanup that preserves favorites.
- Cleaned partial Cloudflare temp files after failed uploads.
Workflows and extraction reliability
Workflow output extraction and validation are more predictable, especially for nested paths and for_each steps.
- Fixed validated research workflow synthesis.
- Enforced
for_eachattempt limits. - Aborted
for_eachcleanly when the item list is empty. - Resolved indexed extract paths.
- Preserved transformed output variables.
- Surfaced empty validated outputs instead of silently succeeding.
- Honored recovered search success variables.
- Corrected workflow authoring examples.
- Labeled memory-scan reports with the active cloud/local database mode.
- Disabled native LLM tools for crypto workflow helper steps.
- Increased crypto market report paragraph length for email output.
Scheduler, reminders, alerts, and TTS
Background scheduling and notification delivery are safer under failure.
- Recovered locks abandoned by crashed scheduled-task runners.
- Enforced per-task execution timeouts.
- Isolated notification delivery failures so one failed channel does not unwind the runner.
- Allowed run-once execution for cancelled tasks without reviving them.
- Reactivated rescheduled reminder entries correctly.
- Counted reminders and alerts as spoken only after playback succeeds.
- Skipped raw stash space IDs in TTS output.
- Serialized direct question payloads safely.
- Added shared TTS shell helper logic.
Memory, intelligence, search, and embeddings
Memory/intel mutation paths and search health checks are tighter.
- Deleted intel facts by exact source path.
- Preserved intel fact ownership across files.
- Matched API intel sources literally.
- Cleaned up final deleted intel files.
- Preserved manage-intel follow-up content.
- Repaired external-content FTS triggers.
- Applied
date_filterto deep memory search intel source results. - Defaulted Brave source metadata off.
- Preserved repeated tool follow-up candidates.
- Rejected fallback embedding vectors on persistent writes.
- Reported fallback health probes as unavailable.
MCP, API, security, and docs
The release includes several API/documentation corrections and safer tool behavior.
- Prevented remote MCP SSE initialization deadlocks.
- Surfaced MCP tool execution errors.
- Hardened local tool file access.
- Corrected API docs for authentication, intelligence evaluation, duplicated quick-start content, and memory tool counts.
- Clarified Docker local-mode config, configurable host ports, and Windows/macOS behavior.
- Added Mermaid rendering to the Jarvis Docs viewer.
- Updated workflow, stash, Tool RAG, Web UI, Canvas, XAI, FTS5, install, and scheduled-task docs.
Upgrade Notes
Native installs
cd ~/jarvis-voice
git fetch --tags
git pull
git checkout v2.54.2 # optional if you want the exact release tag
source ~/jarvis-venv/bin/activate
./bin/start --stop && ./bin/startDocker installs
This release changes shared UI assets, vendored Web assets, env examples, and entrypoint behavior. Rebuild containers after pulling.
cd ~/jarvis-voice
git fetch --tags
git pull
docker compose down
docker compose build --pull
docker compose --profile extras up -d --force-recreateReview env examples before copying
Diff your live env files before merging example changes.
git diff v2.54.1..v2.54.2 -- \
config/cloud.env.example \
config/local.env.example \
config/cloud.openai.env.example \
docker.env.exampleNotable config/doc areas to review:
- Grok 4.5 and xAI OAuth vision behavior.
- GPT 5.6 and OpenAI vision/model dropdown metadata.
- Ollama cloud-tagged model opt-in from local mode.
- Docker host-port and local-mode guidance.
- External/default-blocked tool examples.
Optional cleanup previews
The new cleanup paths support dry-run mode. Preview before deleting anything.
./bin/cleanup-all --dry-run
./bin/cleanup-web-conversations --days 90 --dry-run
./bin/cleanup-generated-images --days 120 --dry-runCleanup behavior:
- Pinned Web UI conversations are preserved.
- Generated Image Gallery favorites are preserved.
- Referenced Web uploads and protected stash assets are preserved by the retention helper.
Change Summary
- Commits: 106
- Files changed: 313
- Insertions: 20,959
- Deletions: 3,099
Full Commit List
25b616bHarden local tool file access93d9945update intellegence sync docs9529552Fix validated research workflow synthesisead38b0Skip stash space IDs in TTS57fc2cdHarden Canvas append flows and live tool cardsc55c68aReplace emoji robot branding with Jarvis HUD logo across web UIs.4ef42b8Honor OpenAI image model overrides in edit UI7be1d58Add animated HUD and HAL eye SVG branding across web and canvas.8f55323update openai docker env example05ec081Persist Docker Web status TTS cache5a89173Fix shared UI assets on Windows Docker builds85a42a1Add opaque Apple touch icon5e4e52efeat: add isolated autonomous bug hunterc574b25fix: harden long-running bug hunts92ca252fix(canvas): prevent same-second page overwritesb5b5826feat: show finding severity during bug huntsa1ca6a6fix(scheduler): recover locks abandoned by crashed runners969e2e3fix(mcp): prevent remote SSE initialization deadlockb87a887fix(stash): preserve versioned files and metadata0a5c8defix(intel): delete facts by exact source pathd49e65efix(scheduler): enforce per-task execution timeouts691f859fix(workflows): enforce for-each attempt limitsdebe6f4docs(docker): mark local mode config optional in cmdccd30f1docs(api): remove duplicated stale quick startc60dbf0docs(docker): clarify configurable host portsefae619docs(api): correct intelligence evaluation endpoint670008edocs(api): use built-in Bearer authenticationad8c5a2docs(memory): correct memory tool count4d78ac0docs(install): correct n8n host configuration06314a6Fix StashSpace.touch() crash when reopening existing stash spaces.20a8ae1Apply date_filter to deep_memory_search intel source results.72c46dbRoute Completion Guard repair emits through conversation room.179014ffeat(bug-hunt): honor human dismissal registry32fe8eefix(workflows): abort for_each when items list is empty2834491fix(scheduled-tasks): run once on cancelled tasks without revival857a348fix(routing): avoid rate-limit false positives in provider errorsa1080cdfeat(docs): render mermaid diagrams in the Jarvis Docs viewer.7783b0aAdd tool-aware personal Web promptsc5ea211Show tool-aware Web processing phases9b31739fix(scheduler): isolate notification delivery failuresec84b38fix(stash): honor configured API storage path7847bacfix(stash): create spaces through upload APIa2d87e4fix(embeddings): reject fallback vectors on persistent writese4d9874fix(embeddings): report fallback health probes as unavailablebfd7f22fix(web): surface failed Tool RAG syncs92cd0d2fix(web): reconnect after extended outages296ca93fix(memory): repair external-content FTS triggerse937bddfix(intel): clean up final deleted filebb79277fix(ollama): enforce local cloud-model opt-ina855483fix(intel): preserve fact ownership across filesf30b3cdfix(mcp): surface tool execution errors2036b09fix(intel): match API sources literallyd121415fix(reminders): reactivate rescheduled entries9de7bdafix(canvas): retain stash assets on pinned pages0cf21fefix(video): unify and refresh shared catalog metadata1c630efAdd conversation-aware retention cleanup for uploads and stash.5759dc5fix(stash): mark unused cleanup loop variables as intentional.d380672Add shared placeholder fallbacks for missing chat and gallery media.9115636Revert "Add shared placeholder fallbacks for missing chat and gallery media."3db85a2Fix Samantha OpenClaw model ID and default-block external tools in env examples.fba5384feat(web): add conversation renaming82638d0fix(web): suppress chat tooltips behind menus587e2bafeat(router): add versioned system promptsa915365feat(router): add compact prompt experiments00dd10fremeber importance bumpcbfd34cfix(ollama): strip leaked reasoning from responsesf088e16Add Grok 4.5 xAI support968bcefTune Tool RAG final schema limits4901449update docs8f2f1c2Enable xAI OAuth vision for Grok 4.52a392f9Add xAI provider option to bug hunt3f63fd1Fix tool turn budget retry accounting9e8755dShow OpenAI vision capability in model dropdownsad758b4Label server-side tool logs by providerf9a4859Fix OpenAI tool discovery continuation0920770Fix tool routing and canvas failure handlinge44868ddisable serpapi_yelp tool by default6d918c1update cloud env example to new baseline0e0eb04update user profilea454127add gpt 5.6 models10c5e3efix(web): abort image edits when stash preparation failsefb414dfix(voice): serialize direct question payloads safely1f5644ffix(web): retain failed image edit attachmentfd63d2dheader comments on all direct scriptsacdc39bfix(pdf): honor string page ranges for image actionscb3b6dcfix(web): show provider-aware model defaultsd7a84cdupdate readme image6fcc7edfix: preserve manage intel follow-up content7694ec0update ignore files8e1393afix: preserve repeated tool follow-up candidatesb50b2b1fix: default brave source metadata offaf0cd0cDisable native LLM tools for crypto workflow helpers294bc02fix(stash): honor configured storage in web and canvas1a57b72docs(stash): clarify configurable storage root4d1b8e9fix(workflows): honor recovered search success variablesc760a06fix(tts): count reminders and alerts only after playbackc76632bfix(upload): clean partial Cloudflare temp filesfe151c5fix(workflows): resolve indexed extract paths1cc5f12fix(workflows): surface empty validated outputse6d86b9fix(workflows): preserve transformed output variables8695e36docs(workflows): corrected workflow authoring examplesc608ea3increase market report paragraph length email1b8b18bfix(workflows): label memory scan database mode5fac4e0feat(cleanup): prune old unpinned web conversationsb4c4d58feat(canvas): add gallery favorites and cleanup safeguardsf9d9bdbv2.54.2
Files Added Or Notable New Paths
bin/jarvis-bug-huntlib/bug_hunt.pybin/router-prompt-hashorchestrator/router_prompts/bin/cleanup-retentionbin/cleanup-web-conversationsbin/cleanup-generated-imageslib/retention_cleanup.pylib/generated_image_cleanup.pylib/tool_sync_status.pylib/video_catalog.pylib/canvas_content.pylib/canvas_page_ids.pybin/tts-common.shjarvis-web/client/vendor/mermaid.min.js- Shared Jarvis UI assets under Web, Canvas, Memory, Intelligence, and Docs.
Links
- Previous release: https://github.com/bigsk1/jarvis-voice/releases/tag/v2.54.1
- Compare: v2.54.1...v2.54.2
- Full changelog file: https://github.com/bigsk1/jarvis-voice/blob/main/docs/README.md