Skip to content

v2.55.5

Latest

Choose a tag to compare

@bigsk1 bigsk1 released this 17 Aug 08:43
· 9 commits to main since this release

v2.55.5

Compare: v2.55.4...v2.55.5

Highlights

Unified Embeddings And Hybrid Retrieval

  • Cloud and local modes now share one 768-dimensional EmbeddingGemma contract through the immutable bigsk1/jarvis-embedding:bf16-v1 Ollama artifact. Jarvis verifies the exact model digest and input fingerprint before persisted vectors are used.
  • Semantic retrieval fails closed on incompatible namespaces instead of mixing providers, dimensions, model revisions, or synthetic fallback vectors. Memory retains its lexical recovery path when Ollama is unavailable.
  • New health, rebuild, and namespace metadata tooling makes every Memory, Tool RAG, and Intelligence vector set auditable and safely rebuildable through the configured Ollama hosts.
  • Tool RAG now combines dense and tightly gated FTS5/BM25 evidence, then applies an adaptive shortlist. This reduces unrelated tool schemas while preserving related tool clusters, explicit hints, ghost tools, and tool_search discovery.
  • Memory semantic recall gains conservative hybrid retrieval, truthful retrieval labels, and usable relevance values for keyword-only results. Auto-memory keeps dense and exact-keyword lanes separate so lexical hits are not mistaken for cosine scores.

Scoped Response Preferences

  • Addressing, response style, language, and tone are canonical preference slots with deterministic persistent, session, and expiring temporary scopes.
  • Current-turn instructions override active scoped preferences, which override the Profile Card baseline. Newer values win within the same slot and scope, while expired or other-session rows remain searchable for cleanup but cannot leak into automatic context.
  • All four active canonical slots can be injected on every turn without consuming the separate Intel/keyword/semantic retrieval budget.
  • The remember API and tool contract now carry scope, session, expiry, and TTL fields; memory follow-up surfaces expose exact IDs for safe ID-only update and forget operations.

Ollama Helper And Docker

  • The optional MiniCPM5 helper tier is now distributed as bigsk1/jarvis-helper:minicpm5-1b-q4_k_m-v1 and pulled directly through Ollama; native setup no longer downloads or builds the model from Hugging Face.
  • JARVIS_HELPER_LLM_BASE_URL remains an optional dedicated override and otherwise falls back to the required OLLAMA_BASE_URL. Status, stash-summary, and long-text roles still opt in independently.
  • Docker can reach the embedding and helper daemon through mode ENV settings or explicit JARVIS_DOCKER_* overrides. Ollama and model weights stay outside the Jarvis container.

Web, Models, And Operations

  • Web gains an explicit Chat-only mode, a mode-aware Profile Card editor, an animated processing signal, credential/proxy health status, and clearer active TTS model and voice reporting.
  • xAI updates include Grok 4.6 defaults, Grok Imagine Image 2.0, and the full supported speech-tag vocabulary.
  • Added SerpApi Google Events plus the GPU Hot monitor, alert path, and status tool. Local-services routing, YouTube transcript fallback, document OCR results, workflow tool-card ordering, and movie-night server-side tools were also hardened.
  • Router and Intelligence guidance now respect explicit tool hints more reliably, gate negative learned insights by request triggers, and keep Chat-only pinned above normal tool suggestions.

Upgrade Notes

Native installs

Cloud mode now also requires a reachable Ollama daemon for embeddings, even when OpenAI, xAI, or Anthropic provides chat. Review both mode ENV files, pull the pinned artifact on every configured OLLAMA_BASE_URL host, then rebuild existing vector namespaces. The rebuild command creates database backups under data/backups/ before replacing vectors.

cd ~/jarvis-voice
git fetch --tags
git pull
git checkout v2.55.5   # optional if you want the exact release tag
ollama pull bigsk1/jarvis-embedding:bf16-v1
./bin/check-embeddings-health.py --both --runtime-only
source ~/jarvis-venv/bin/activate
./bin/rebuild-embeddings both
./bin/sync-tools.py cloud --force
./bin/sync-tools.py local --force
./bin/start --stop && ./bin/start

The helper model remains optional. To enable it, set its provider roles in the selected mode ENV and run ./bin/setup-helper-llm --mode cloud or --mode local.

Docker installs

Docker does not install Ollama. Pull the embedding model on the external host or LAN daemon first, and use JARVIS_DOCKER_OLLAMA_BASE_URL when the mode ENV address is not reachable from containers. Rebuild because Compose, shared mounts, UI assets, and ENV plumbing changed.

cd ~/jarvis-voice
git fetch --tags
git pull
docker compose down
docker compose build --pull
docker compose --profile extras up -d --force-recreate
docker compose exec jarvis-api python bin/rebuild-embeddings both
docker compose exec jarvis-api python bin/sync-tools.py cloud --force
docker compose exec jarvis-api python bin/sync-tools.py local --force

Fresh databases initialize with the new fingerprint automatically. Existing databases must be rebuilt as above or removed for clean initialization; Jarvis will not mix the previous embedding namespaces with bf16-v1.

Review env examples before copying

git diff v2.55.4..v2.55.5 -- \
  config/cloud.env.example \
  config/local.env.example \
  config/cloud.openai.env.example \
  docker.env.example

Optional cleanup previews

./bin/cleanup-all --dry-run
./bin/cleanup-web-conversations --days 90 --dry-run
./bin/cleanup-generated-images --days 120 --dry-run

Change Summary

  • Commits: 35
  • Files changed: 248
  • Insertions: 19,110
  • Deletions: 4,436

Full Commit List

  • 3c5ad64 feat(tools): add SerpApi Google Events
  • a08fbc0 docs(readme): refresh August roadmap and features
  • 5ac7816 docs(readme): align setup and current capabilities
  • d8c3742 fix(youtube): harden transcript fallback and summaries
  • 83f3a10 feat(web): animate processing signal core
  • b0aa669 feat(tts): expose full xAI speech tag vocabulary
  • 319d9e8 Add explicit Chat-only mode
  • fb630f3 Prioritize explicit tool hints over learned avoidance
  • 31a4e4a Gate negative insights by request triggers
  • c8763c2 Document Web Chat-only mode
  • eb7b1d3 docs(stash): clarify quotas and streaming roadmap
  • ef8464b Improve document OCR result handling
  • f943e92 Add Grok 4.6 as xAI default
  • a65be91 Fix mixed workflow tool card ordering
  • ddecd01 Pin Chat only atop tool suggestions
  • f9f0315 use server side tools in movie night workflow
  • 68fb8ca Add Grok Imagine Image 2.0 catalog entry
  • af5e2af Add credential and proxy health status UI
  • 00e5954 Show TTS model and voice in AI settings
  • ee7c7ed feat(web): add mode-aware user profile editor
  • 20b109c small router context tweak
  • 337abf4 remove provider specific phrase for images
  • f734d46 update status phrases example text in envs
  • 7353c94 fix(tools): improve local services routing and diagnostics
  • dcdb84b update tracked jarvis intel tool doc
  • 417a57d feat(monitoring): add GPU Hot alerts and status tool
  • 9b4e971 Clarify request-scoped native tool availability
  • bb9fd6c add stash to ghost tool cloud envs
  • 36d2a5c feat(llm): add native MiniCPM helper tier
  • 9a43669 feat: unify embeddings on pinned Ollama model
  • b551227 feat: simplify Ollama helper distribution
  • 437ac2f feat: support external Ollama helper in Docker
  • ba6e5cd feat: add hybrid retrieval for tools and memory
  • 1fe5832 feat: add scoped response preference lifecycle
  • 94a4a98 v2.55.5

Files Added Or Notable New Paths

  • bin/benchmark-helper-llm
  • bin/check-embeddings-health.py
  • bin/check-intelligence-health.py
  • bin/debug-tool-rag.py
  • bin/jarvis-api
  • bin/jarvis-services
  • bin/re-embed-experience
  • bin/re-embed-insight
  • bin/re-embed-memory
  • bin/rebuild-embeddings
  • bin/setup-helper-llm
  • bin/sync-intelligence-db.py
  • bin/sync-memory-db.py
  • bin/sync-tools.py
  • docs/ollama/JARVIS_EMBEDDING_MODEL.md
  • docs/tools/google-events-tool/README.md
  • jarvis-web/server/services/user_profile_service.py
  • lib/embedding_inputs.py
  • lib/embedding_metadata.py
  • lib/embeddings.py
  • lib/gpu_hot_client.py
  • lib/hybrid_retrieval.py
  • lib/intelligence.py
  • lib/intelligence_hooks.py
  • lib/llm_provider.py
  • lib/memory_db.py
  • lib/model_catalog.py
  • lib/ollama_utils.py
  • lib/openai_responses_adapter.py
  • lib/provider_tool_policy.py
  • lib/self_play.py
  • lib/serpapi_client.py
  • lib/status_llm.py
  • lib/tool_logger.py
  • lib/tool_schema.py
  • lib/tool_search_runtime.py
  • lib/user_profile.py
  • lib/xai_oauth.py
  • orchestrator/router_prompts/README.md
  • orchestrator/router_prompts/v2.py
  • orchestrator/router_prompts/v3.py
  • orchestrator/router_prompts/v4.py
  • services/gpu-hot-monitor/.gitignore
  • services/gpu-hot-monitor/README.md
  • services/gpu-hot-monitor/config.env.example
  • services/gpu-hot-monitor/gpu-hot-monitor.service
  • services/gpu-hot-monitor/gpu_hot_monitor.py
  • skills/gpu_hot_status.py
  • skills/gpu_hot_status.tool.json
  • skills/serpapi_google_events.py
  • skills/serpapi_google_events.tool.json
  • tests/test_api_intel_mode_ingest.py
  • tests/test_chat_only_mode.py
  • tests/test_cloud_env_example.py
  • tests/test_deep_memory_search_hybrid.py
  • tests/test_embedding_metadata.py
  • tests/test_gpu_hot_client.py
  • tests/test_gpu_hot_monitor.py
  • tests/test_gpu_hot_status.py
  • tests/test_hybrid_retrieval.py
  • tests/test_memory_api_hybrid_search.py
  • tests/test_memory_hybrid_search.py
  • tests/test_preference_lifecycle.py
  • tests/test_serpapi_google_events.py
  • tests/test_setup_helper_llm.py
  • tests/test_tool_fts_integrity.py
  • tests/test_tool_logger_retrieval.py
  • tests/test_update_memory_tool.py
  • tests/test_web_proxy_status.py
  • tests/test_web_user_profile.py

Links