lobes-cli 0.90.3__tar.gz → 0.92.0__tar.gz

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (1195) hide show
  1. {lobes_cli-0.90.3 → lobes_cli-0.92.0}/CHANGELOG.md +32 -0
  2. {lobes_cli-0.90.3 → lobes_cli-0.92.0}/CLAUDE.md +15 -2
  3. {lobes_cli-0.90.3 → lobes_cli-0.92.0}/PKG-INFO +1 -1
  4. lobes_cli-0.92.0/docs/evidence/2026-10-26-accept-nemotron-bolt-spark.txt +117 -0
  5. lobes_cli-0.92.0/docs/hebrew-realtime.md +325 -0
  6. lobes_cli-0.92.0/docs/nemotron-3.5-bolt-74b-a9b-24gb.md +105 -0
  7. {lobes_cli-0.90.3 → lobes_cli-0.92.0}/docs/nvidia-qwen3.6-35b-a3b-nvfp4.md +8 -0
  8. {lobes_cli-0.90.3 → lobes_cli-0.92.0}/lobes/catalog.py +80 -3
  9. {lobes_cli-0.90.3 → lobes_cli-0.92.0}/lobes/cli/_commands/switch.py +23 -0
  10. {lobes_cli-0.90.3 → lobes_cli-0.92.0}/lobes/profiles/builtin_shapes/thor-worker.toml +7 -0
  11. {lobes_cli-0.90.3 → lobes_cli-0.92.0}/lobes/runtime/_parser.py +4 -0
  12. {lobes_cli-0.90.3 → lobes_cli-0.92.0}/lobes/templates/fleet/Dockerfile.whisper-stt +9 -0
  13. {lobes_cli-0.90.3 → lobes_cli-0.92.0}/lobes/templates/fleet/docker-compose.audio-he.yml +35 -0
  14. {lobes_cli-0.90.3 → lobes_cli-0.92.0}/lobes/templates/fleet/env.audio-he.example +77 -0
  15. lobes_cli-0.92.0/lobes/templates/fleet/listen_server_whisper.py +1503 -0
  16. {lobes_cli-0.90.3 → lobes_cli-0.92.0}/pyproject.toml +1 -1
  17. {lobes_cli-0.90.3 → lobes_cli-0.92.0}/tests/goldens/no-pool-gateway.json +2 -2
  18. {lobes_cli-0.90.3 → lobes_cli-0.92.0}/tests/goldens/overlays/audio-he-defaults.env +10 -0
  19. {lobes_cli-0.90.3 → lobes_cli-0.92.0}/tests/goldens/switch-plans.txt +16 -0
  20. {lobes_cli-0.90.3 → lobes_cli-0.92.0}/tests/test_associate_role.py +3 -1
  21. {lobes_cli-0.90.3 → lobes_cli-0.92.0}/tests/test_audio_he_stt_compose.py +63 -0
  22. {lobes_cli-0.90.3 → lobes_cli-0.92.0}/tests/test_catalog.py +41 -23
  23. {lobes_cli-0.90.3 → lobes_cli-0.92.0}/tests/test_catalog_tiers.py +3 -1
  24. {lobes_cli-0.90.3 → lobes_cli-0.92.0}/tests/test_cli_runtime.py +37 -0
  25. {lobes_cli-0.90.3 → lobes_cli-0.92.0}/tests/test_gateway_proxy.py +3 -1
  26. lobes_cli-0.92.0/tests/test_listen_server_whisper.py +1337 -0
  27. {lobes_cli-0.90.3 → lobes_cli-0.92.0}/tests/test_proxy_integration.py +5 -2
  28. {lobes_cli-0.90.3 → lobes_cli-0.92.0}/tests/test_roles.py +3 -1
  29. {lobes_cli-0.90.3 → lobes_cli-0.92.0}/tests/test_whisper_stt_dockerfile.py +23 -0
  30. {lobes_cli-0.90.3 → lobes_cli-0.92.0}/uv.lock +12 -12
  31. lobes_cli-0.90.3/docs/hebrew-realtime.md +0 -161
  32. lobes_cli-0.90.3/lobes/templates/fleet/listen_server_whisper.py +0 -724
  33. lobes_cli-0.90.3/tests/test_listen_server_whisper.py +0 -544
  34. {lobes_cli-0.90.3 → lobes_cli-0.92.0}/.agex/data/pr/323/await.json +0 -0
  35. {lobes_cli-0.90.3 → lobes_cli-0.92.0}/.agex/data/pr/events.jsonl +0 -0
  36. {lobes_cli-0.90.3 → lobes_cli-0.92.0}/.claude/skills/ask-colleague/SKILL.md +0 -0
  37. {lobes_cli-0.90.3 → lobes_cli-0.92.0}/.claude/skills/ask-colleague/prompts/explore.md +0 -0
  38. {lobes_cli-0.90.3 → lobes_cli-0.92.0}/.claude/skills/ask-colleague/prompts/review.md +0 -0
  39. {lobes_cli-0.90.3 → lobes_cli-0.92.0}/.claude/skills/ask-colleague/prompts/write.md +0 -0
  40. {lobes_cli-0.90.3 → lobes_cli-0.92.0}/.claude/skills/ask-colleague/scripts/ask-colleague.sh +0 -0
  41. {lobes_cli-0.90.3 → lobes_cli-0.92.0}/.claude/skills/assign-to-workforce/SKILL.md +0 -0
  42. {lobes_cli-0.90.3 → lobes_cli-0.92.0}/.claude/skills/assign-to-workforce/scripts/assign-to-workforce.sh +0 -0
  43. {lobes_cli-0.90.3 → lobes_cli-0.92.0}/.claude/skills/challenge/SKILL.md +0 -0
  44. {lobes_cli-0.90.3 → lobes_cli-0.92.0}/.claude/skills/cicd/SKILL.md +0 -0
  45. {lobes_cli-0.90.3 → lobes_cli-0.92.0}/.claude/skills/cicd/scripts/_resolve-nick.sh +0 -0
  46. {lobes_cli-0.90.3 → lobes_cli-0.92.0}/.claude/skills/cicd/scripts/portability-lint.sh +0 -0
  47. {lobes_cli-0.90.3 → lobes_cli-0.92.0}/.claude/skills/cicd/scripts/pr-reply.sh +0 -0
  48. {lobes_cli-0.90.3 → lobes_cli-0.92.0}/.claude/skills/cicd/scripts/pr-status.sh +0 -0
  49. {lobes_cli-0.90.3 → lobes_cli-0.92.0}/.claude/skills/cicd/scripts/workflow.sh +0 -0
  50. {lobes_cli-0.90.3 → lobes_cli-0.92.0}/.claude/skills/communicate/SKILL.md +0 -0
  51. {lobes_cli-0.90.3 → lobes_cli-0.92.0}/.claude/skills/communicate/scripts/fetch-issues.sh +0 -0
  52. {lobes_cli-0.90.3 → lobes_cli-0.92.0}/.claude/skills/communicate/scripts/mesh-message.sh +0 -0
  53. {lobes_cli-0.90.3 → lobes_cli-0.92.0}/.claude/skills/communicate/scripts/post-comment.sh +0 -0
  54. {lobes_cli-0.90.3 → lobes_cli-0.92.0}/.claude/skills/communicate/scripts/post-issue.sh +0 -0
  55. {lobes_cli-0.90.3 → lobes_cli-0.92.0}/.claude/skills/communicate/scripts/templates/skill-update-brief.md +0 -0
  56. {lobes_cli-0.90.3 → lobes_cli-0.92.0}/.claude/skills/deviate/SKILL.md +0 -0
  57. {lobes_cli-0.90.3 → lobes_cli-0.92.0}/.claude/skills/doc-test-alignment/SKILL.md +0 -0
  58. {lobes_cli-0.90.3 → lobes_cli-0.92.0}/.claude/skills/doc-test-alignment/scripts/check.sh +0 -0
  59. {lobes_cli-0.90.3 → lobes_cli-0.92.0}/.claude/skills/lobes-deploy/SKILL.md +0 -0
  60. {lobes_cli-0.90.3 → lobes_cli-0.92.0}/.claude/skills/lobes-deploy/scripts/lobes-compose.sh +0 -0
  61. {lobes_cli-0.90.3 → lobes_cli-0.92.0}/.claude/skills/model-runner/SKILL.md +0 -0
  62. {lobes_cli-0.90.3 → lobes_cli-0.92.0}/.claude/skills/model-runner/scripts/model-runner.sh +0 -0
  63. {lobes_cli-0.90.3 → lobes_cli-0.92.0}/.claude/skills/recall/SKILL.md +0 -0
  64. {lobes_cli-0.90.3 → lobes_cli-0.92.0}/.claude/skills/recall/scripts/recall.sh +0 -0
  65. {lobes_cli-0.90.3 → lobes_cli-0.92.0}/.claude/skills/remember/SKILL.md +0 -0
  66. {lobes_cli-0.90.3 → lobes_cli-0.92.0}/.claude/skills/remember/scripts/remember.sh +0 -0
  67. {lobes_cli-0.90.3 → lobes_cli-0.92.0}/.claude/skills/run-tests/SKILL.md +0 -0
  68. {lobes_cli-0.90.3 → lobes_cli-0.92.0}/.claude/skills/run-tests/scripts/test.sh +0 -0
  69. {lobes_cli-0.90.3 → lobes_cli-0.92.0}/.claude/skills/scope/SKILL.md +0 -0
  70. {lobes_cli-0.90.3 → lobes_cli-0.92.0}/.claude/skills/sonarclaude/SKILL.md +0 -0
  71. {lobes_cli-0.90.3 → lobes_cli-0.92.0}/.claude/skills/sonarclaude/scripts/sonar.sh +0 -0
  72. {lobes_cli-0.90.3 → lobes_cli-0.92.0}/.claude/skills/spec-to-plan/SKILL.md +0 -0
  73. {lobes_cli-0.90.3 → lobes_cli-0.92.0}/.claude/skills/spec-to-plan/scripts/spec-to-plan.sh +0 -0
  74. {lobes_cli-0.90.3 → lobes_cli-0.92.0}/.claude/skills/summarize-delivery/SKILL.md +0 -0
  75. {lobes_cli-0.90.3 → lobes_cli-0.92.0}/.claude/skills/think/SKILL.md +0 -0
  76. {lobes_cli-0.90.3 → lobes_cli-0.92.0}/.claude/skills/think/scripts/think.sh +0 -0
  77. {lobes_cli-0.90.3 → lobes_cli-0.92.0}/.claude/skills/validate-delivery/SKILL.md +0 -0
  78. {lobes_cli-0.90.3 → lobes_cli-0.92.0}/.claude/skills/version-bump/SKILL.md +0 -0
  79. {lobes_cli-0.90.3 → lobes_cli-0.92.0}/.claude/skills/version-bump/scripts/bump.py +0 -0
  80. {lobes_cli-0.90.3 → lobes_cli-0.92.0}/.claude/skills.local.yaml.example +0 -0
  81. {lobes_cli-0.90.3 → lobes_cli-0.92.0}/.devague/current +0 -0
  82. {lobes_cli-0.90.3 → lobes_cli-0.92.0}/.devague/current_plan +0 -0
  83. {lobes_cli-0.90.3 → lobes_cli-0.92.0}/.devague/deliveries/capacity-relative-pool-routing.json +0 -0
  84. {lobes_cli-0.90.3 → lobes_cli-0.92.0}/.devague/deliveries/cortex-replica-pool-199.json +0 -0
  85. {lobes_cli-0.90.3 → lobes_cli-0.92.0}/.devague/deliveries/deployment-lock-per-box.json +0 -0
  86. {lobes_cli-0.90.3 → lobes_cli-0.92.0}/.devague/deliveries/dspark-speculation-on-the-spark-cortex.json +0 -0
  87. {lobes_cli-0.90.3 → lobes_cli-0.92.0}/.devague/deliveries/every-lobe-in-the-mesh-can-see-the-spark-reaches-t.json +0 -0
  88. {lobes_cli-0.90.3 → lobes_cli-0.92.0}/.devague/deliveries/flash-next-worker-on-thor.json +0 -0
  89. {lobes_cli-0.90.3 → lobes_cli-0.92.0}/.devague/deliveries/hand-lobe-lfm2-5-1-2b.json +0 -0
  90. {lobes_cli-0.90.3 → lobes_cli-0.92.0}/.devague/deliveries/hebrew-realtime.json +0 -0
  91. {lobes_cli-0.90.3 → lobes_cli-0.92.0}/.devague/deliveries/innereye-lobes-hosts-comfyui.json +0 -0
  92. {lobes_cli-0.90.3 → lobes_cli-0.92.0}/.devague/deliveries/lane-safety-and-quality-304-307-308-309.json +0 -0
  93. {lobes_cli-0.90.3 → lobes_cli-0.92.0}/.devague/deliveries/lightning-on-orin.json +0 -0
  94. {lobes_cli-0.90.3 → lobes_cli-0.92.0}/.devague/deliveries/lobes-capabilities-tells-you-where-a-lobe-is-serve.json +0 -0
  95. {lobes_cli-0.90.3 → lobes_cli-0.92.0}/.devague/deliveries/mesh-boot-window-and-capabilities-advert.json +0 -0
  96. {lobes_cli-0.90.3 → lobes_cli-0.92.0}/.devague/deliveries/mesh-brain-join.json +0 -0
  97. {lobes_cli-0.90.3 → lobes_cli-0.92.0}/.devague/deliveries/mesh-pool-load-sharing.json +0 -0
  98. {lobes_cli-0.90.3 → lobes_cli-0.92.0}/.devague/deliveries/nemotron-lightning-worker.json +0 -0
  99. {lobes_cli-0.90.3 → lobes_cli-0.92.0}/.devague/deliveries/orin-associate-at-1m.json +0 -0
  100. {lobes_cli-0.90.3 → lobes_cli-0.92.0}/.devague/deliveries/orin-decision-models.json +0 -0
  101. {lobes_cli-0.90.3 → lobes_cli-0.92.0}/.devague/deliveries/orin-embedding-specialist.json +0 -0
  102. {lobes_cli-0.90.3 → lobes_cli-0.92.0}/.devague/deliveries/qwen3-8-gguf-llamacpp.json +0 -0
  103. {lobes_cli-0.90.3 → lobes_cli-0.92.0}/.devague/deliveries/realtime-voice-to-voice-astro-test-site-151.json +0 -0
  104. {lobes_cli-0.90.3 → lobes_cli-0.92.0}/.devague/deliveries/reranker-calibration-227.json +0 -0
  105. {lobes_cli-0.90.3 → lobes_cli-0.92.0}/.devague/deliveries/thor-cortex-speculation.json +0 -0
  106. {lobes_cli-0.90.3 → lobes_cli-0.92.0}/.devague/deliveries/thor-worker-arm-qwen3-6-35b-a3b-recipes.json +0 -0
  107. {lobes_cli-0.90.3 → lobes_cli-0.92.0}/.devague/deliveries/unsloth-qat-senses-first-class-orin-variation.json +0 -0
  108. {lobes_cli-0.90.3 → lobes_cli-0.92.0}/.devague/deliveries/vllm-0-31-0-fleet.json +0 -0
  109. {lobes_cli-0.90.3 → lobes_cli-0.92.0}/.devague/frames/capacity-relative-pool-routing.json +0 -0
  110. {lobes_cli-0.90.3 → lobes_cli-0.92.0}/.devague/frames/chatterbox-on-thor-sm-110.json +0 -0
  111. {lobes_cli-0.90.3 → lobes_cli-0.92.0}/.devague/frames/compose-chain-unification-init-repair-doctor-stale.json +0 -0
  112. {lobes_cli-0.90.3 → lobes_cli-0.92.0}/.devague/frames/cortex-replica-pool-199.json +0 -0
  113. {lobes_cli-0.90.3 → lobes_cli-0.92.0}/.devague/frames/deployment-lock-per-box.json +0 -0
  114. {lobes_cli-0.90.3 → lobes_cli-0.92.0}/.devague/frames/dspark-speculation-on-the-spark-cortex.json +0 -0
  115. {lobes_cli-0.90.3 → lobes_cli-0.92.0}/.devague/frames/every-lobe-in-the-mesh-can-see-the-spark-reaches-t.json +0 -0
  116. {lobes_cli-0.90.3 → lobes_cli-0.92.0}/.devague/frames/flash-next-on-vllm.json +0 -0
  117. {lobes_cli-0.90.3 → lobes_cli-0.92.0}/.devague/frames/flash-next-worker-on-thor.json +0 -0
  118. {lobes_cli-0.90.3 → lobes_cli-0.92.0}/.devague/frames/hand-lobe-lfm2-5-1-2b.json +0 -0
  119. {lobes_cli-0.90.3 → lobes_cli-0.92.0}/.devague/frames/hebrew-realtime.json +0 -0
  120. {lobes_cli-0.90.3 → lobes_cli-0.92.0}/.devague/frames/innereye-lobes-hosts-comfyui.json +0 -0
  121. {lobes_cli-0.90.3 → lobes_cli-0.92.0}/.devague/frames/lane-safety-and-quality-304-307-308-309.json +0 -0
  122. {lobes_cli-0.90.3 → lobes_cli-0.92.0}/.devague/frames/lightning-on-orin.json +0 -0
  123. {lobes_cli-0.90.3 → lobes_cli-0.92.0}/.devague/frames/lightning-on-thor.json +0 -0
  124. {lobes_cli-0.90.3 → lobes_cli-0.92.0}/.devague/frames/lobes-adds-a-third-middle-model-tier-and-pressure.json +0 -0
  125. {lobes_cli-0.90.3 → lobes_cli-0.92.0}/.devague/frames/lobes-capabilities-tells-you-where-a-lobe-is-serve.json +0 -0
  126. {lobes_cli-0.90.3 → lobes_cli-0.92.0}/.devague/frames/lobes-exposes-the-full-colleague-runtime-stack-as.json +0 -0
  127. {lobes_cli-0.90.3 → lobes_cli-0.92.0}/.devague/frames/lobes-fits-the-machine-it-lands-on-one-command-det.json +0 -0
  128. {lobes_cli-0.90.3 → lobes_cli-0.92.0}/.devague/frames/lobes-gateway-relays-sse-streams-frame-by-frame-th.json +0 -0
  129. {lobes_cli-0.90.3 → lobes_cli-0.92.0}/.devague/frames/lobes-never-advertises-a-capability-it-cannot-serv.json +0 -0
  130. {lobes_cli-0.90.3 → lobes_cli-0.92.0}/.devague/frames/lobes-now-defaults-to-a-spark-duo-the-qwen3-6-27b.json +0 -0
  131. {lobes_cli-0.90.3 → lobes_cli-0.92.0}/.devague/frames/lobes-preserves-qwen-thinking-traces-across-multi.json +0 -0
  132. {lobes_cli-0.90.3 → lobes_cli-0.92.0}/.devague/frames/lobes-serves-strict-grammar-constrained-tool-calls.json +0 -0
  133. {lobes_cli-0.90.3 → lobes_cli-0.92.0}/.devague/frames/lobes-serves-the-brain-shape-you-choose-machine-as.json +0 -0
  134. {lobes_cli-0.90.3 → lobes_cli-0.92.0}/.devague/frames/lobes-serves-the-mesh-brain-end-state-one-lobe-per.json +0 -0
  135. {lobes_cli-0.90.3 → lobes_cli-0.92.0}/.devague/frames/lobes-ships-a-custom-vllm-image-from-nvcr-io-nvidi.json +0 -0
  136. {lobes_cli-0.90.3 → lobes_cli-0.92.0}/.devague/frames/lobes-ships-a-minor-lobe-a-cheap-warm-co-resident.json +0 -0
  137. {lobes_cli-0.90.3 → lobes_cli-0.92.0}/.devague/frames/lobes-ships-a-per-lobe-benchmark-suite-speed-paral.json +0 -0
  138. {lobes_cli-0.90.3 → lobes_cli-0.92.0}/.devague/frames/lobes-tells-clients-the-truth-about-a-fleet-a-cons.json +0 -0
  139. {lobes_cli-0.90.3 → lobes_cli-0.92.0}/.devague/frames/lobes-unifies-its-generate-lane-on-one-vllm-nightl.json +0 -0
  140. {lobes_cli-0.90.3 → lobes_cli-0.92.0}/.devague/frames/mesh-boot-window-and-capabilities-advert.json +0 -0
  141. {lobes_cli-0.90.3 → lobes_cli-0.92.0}/.devague/frames/mesh-brain-join.json +0 -0
  142. {lobes_cli-0.90.3 → lobes_cli-0.92.0}/.devague/frames/mesh-pool-load-sharing.json +0 -0
  143. {lobes_cli-0.90.3 → lobes_cli-0.92.0}/.devague/frames/model-gear-now-serves-an-embedding-gear-qwen3-embe-2.json +0 -0
  144. {lobes_cli-0.90.3 → lobes_cli-0.92.0}/.devague/frames/model-gear-now-serves-an-embedding-gear-qwen3-embe.json +0 -0
  145. {lobes_cli-0.90.3 → lobes_cli-0.92.0}/.devague/frames/model-gear-owns-the-audio-i-o-surface-end-to-end-m.json +0 -0
  146. {lobes_cli-0.90.3 → lobes_cli-0.92.0}/.devague/frames/nemotron-lightning-worker.json +0 -0
  147. {lobes_cli-0.90.3 → lobes_cli-0.92.0}/.devague/frames/orin-associate-at-1m.json +0 -0
  148. {lobes_cli-0.90.3 → lobes_cli-0.92.0}/.devague/frames/orin-decision-models.json +0 -0
  149. {lobes_cli-0.90.3 → lobes_cli-0.92.0}/.devague/frames/orin-embedding-specialist.json +0 -0
  150. {lobes_cli-0.90.3 → lobes_cli-0.92.0}/.devague/frames/peer-only-replica-pools.json +0 -0
  151. {lobes_cli-0.90.3 → lobes_cli-0.92.0}/.devague/frames/proxy-lobes-pairwise-auth.json +0 -0
  152. {lobes_cli-0.90.3 → lobes_cli-0.92.0}/.devague/frames/public-lobes-and-hebrew-site.json +0 -0
  153. {lobes_cli-0.90.3 → lobes_cli-0.92.0}/.devague/frames/quick-wins-finish-the-rename.json +0 -0
  154. {lobes_cli-0.90.3 → lobes_cli-0.92.0}/.devague/frames/qwen3-8-27b-gguf-on-the-spark.json +0 -0
  155. {lobes_cli-0.90.3 → lobes_cli-0.92.0}/.devague/frames/qwen3-8-cortex-upgrade.json +0 -0
  156. {lobes_cli-0.90.3 → lobes_cli-0.92.0}/.devague/frames/qwen3-8-flash-next-gguf-candidate.json +0 -0
  157. {lobes_cli-0.90.3 → lobes_cli-0.92.0}/.devague/frames/qwen3-8-flash-next-on-thor.json +0 -0
  158. {lobes_cli-0.90.3 → lobes_cli-0.92.0}/.devague/frames/qwen3-8-gguf-llamacpp.json +0 -0
  159. {lobes_cli-0.90.3 → lobes_cli-0.92.0}/.devague/frames/realtime-voice-to-voice-astro-test-site-151.json +0 -0
  160. {lobes_cli-0.90.3 → lobes_cli-0.92.0}/.devague/frames/realtime-ws-server-vad-149.json +0 -0
  161. {lobes_cli-0.90.3 → lobes_cli-0.92.0}/.devague/frames/reranker-calibration-227.json +0 -0
  162. {lobes_cli-0.90.3 → lobes_cli-0.92.0}/.devague/frames/stt-readiness-truth-155.json +0 -0
  163. {lobes_cli-0.90.3 → lobes_cli-0.92.0}/.devague/frames/targeted-ops-and-honest-streams.json +0 -0
  164. {lobes_cli-0.90.3 → lobes_cli-0.92.0}/.devague/frames/the-gemma-4-12b-gear-gets-speculative-decoding-lob.json +0 -0
  165. {lobes_cli-0.90.3 → lobes_cli-0.92.0}/.devague/frames/thor-cortex-speculation.json +0 -0
  166. {lobes_cli-0.90.3 → lobes_cli-0.92.0}/.devague/frames/thor-worker-arm-qwen3-6-35b-a3b-recipes.json +0 -0
  167. {lobes_cli-0.90.3 → lobes_cli-0.92.0}/.devague/frames/thor-worker-lobe-qwen3-6-35b-a3b.json +0 -0
  168. {lobes_cli-0.90.3 → lobes_cli-0.92.0}/.devague/frames/under-pressure-lobes-tells-you-the-cortex-model-is.json +0 -0
  169. {lobes_cli-0.90.3 → lobes_cli-0.92.0}/.devague/frames/unsloth-qat-senses-first-class-orin-variation.json +0 -0
  170. {lobes_cli-0.90.3 → lobes_cli-0.92.0}/.devague/frames/vllm-0-31-0-fleet.json +0 -0
  171. {lobes_cli-0.90.3 → lobes_cli-0.92.0}/.devague/plans/capacity-relative-pool-routing.json +0 -0
  172. {lobes_cli-0.90.3 → lobes_cli-0.92.0}/.devague/plans/compose-chain-unification-init-repair-doctor-stale.json +0 -0
  173. {lobes_cli-0.90.3 → lobes_cli-0.92.0}/.devague/plans/cortex-replica-pool-199.json +0 -0
  174. {lobes_cli-0.90.3 → lobes_cli-0.92.0}/.devague/plans/deployment-lock-per-box.json +0 -0
  175. {lobes_cli-0.90.3 → lobes_cli-0.92.0}/.devague/plans/dspark-speculation-on-the-spark-cortex.json +0 -0
  176. {lobes_cli-0.90.3 → lobes_cli-0.92.0}/.devague/plans/every-lobe-in-the-mesh-can-see-the-spark-reaches-t.json +0 -0
  177. {lobes_cli-0.90.3 → lobes_cli-0.92.0}/.devague/plans/flash-next-worker-on-thor.json +0 -0
  178. {lobes_cli-0.90.3 → lobes_cli-0.92.0}/.devague/plans/hand-lobe-lfm2-5-1-2b.json +0 -0
  179. {lobes_cli-0.90.3 → lobes_cli-0.92.0}/.devague/plans/hebrew-realtime.json +0 -0
  180. {lobes_cli-0.90.3 → lobes_cli-0.92.0}/.devague/plans/innereye-lobes-hosts-comfyui.json +0 -0
  181. {lobes_cli-0.90.3 → lobes_cli-0.92.0}/.devague/plans/lane-safety-and-quality-304-307-308-309.json +0 -0
  182. {lobes_cli-0.90.3 → lobes_cli-0.92.0}/.devague/plans/lightning-on-orin.json +0 -0
  183. {lobes_cli-0.90.3 → lobes_cli-0.92.0}/.devague/plans/lobes-adds-a-third-middle-model-tier-and-pressure.json +0 -0
  184. {lobes_cli-0.90.3 → lobes_cli-0.92.0}/.devague/plans/lobes-capabilities-tells-you-where-a-lobe-is-serve.json +0 -0
  185. {lobes_cli-0.90.3 → lobes_cli-0.92.0}/.devague/plans/lobes-exposes-the-full-colleague-runtime-stack-as.json +0 -0
  186. {lobes_cli-0.90.3 → lobes_cli-0.92.0}/.devague/plans/lobes-fits-the-machine-it-lands-on-one-command-det.json +0 -0
  187. {lobes_cli-0.90.3 → lobes_cli-0.92.0}/.devague/plans/lobes-gateway-relays-sse-streams-frame-by-frame-th.json +0 -0
  188. {lobes_cli-0.90.3 → lobes_cli-0.92.0}/.devague/plans/lobes-never-advertises-a-capability-it-cannot-serv.json +0 -0
  189. {lobes_cli-0.90.3 → lobes_cli-0.92.0}/.devague/plans/lobes-now-defaults-to-a-spark-duo-the-qwen3-6-27b.json +0 -0
  190. {lobes_cli-0.90.3 → lobes_cli-0.92.0}/.devague/plans/lobes-preserves-qwen-thinking-traces-across-multi.json +0 -0
  191. {lobes_cli-0.90.3 → lobes_cli-0.92.0}/.devague/plans/lobes-serves-strict-grammar-constrained-tool-calls.json +0 -0
  192. {lobes_cli-0.90.3 → lobes_cli-0.92.0}/.devague/plans/lobes-serves-the-brain-shape-you-choose-machine-as.json +0 -0
  193. {lobes_cli-0.90.3 → lobes_cli-0.92.0}/.devague/plans/lobes-serves-the-mesh-brain-end-state-one-lobe-per.json +0 -0
  194. {lobes_cli-0.90.3 → lobes_cli-0.92.0}/.devague/plans/lobes-ships-a-custom-vllm-image-from-nvcr-io-nvidi.json +0 -0
  195. {lobes_cli-0.90.3 → lobes_cli-0.92.0}/.devague/plans/lobes-ships-a-minor-lobe-a-cheap-warm-co-resident.json +0 -0
  196. {lobes_cli-0.90.3 → lobes_cli-0.92.0}/.devague/plans/lobes-ships-a-per-lobe-benchmark-suite-speed-paral.json +0 -0
  197. {lobes_cli-0.90.3 → lobes_cli-0.92.0}/.devague/plans/lobes-tells-clients-the-truth-about-a-fleet-a-cons.json +0 -0
  198. {lobes_cli-0.90.3 → lobes_cli-0.92.0}/.devague/plans/lobes-unifies-its-generate-lane-on-one-vllm-nightl.json +0 -0
  199. {lobes_cli-0.90.3 → lobes_cli-0.92.0}/.devague/plans/mesh-boot-window-and-capabilities-advert.json +0 -0
  200. {lobes_cli-0.90.3 → lobes_cli-0.92.0}/.devague/plans/mesh-brain-join.json +0 -0
  201. {lobes_cli-0.90.3 → lobes_cli-0.92.0}/.devague/plans/mesh-pool-load-sharing.json +0 -0
  202. {lobes_cli-0.90.3 → lobes_cli-0.92.0}/.devague/plans/model-gear-now-serves-an-embedding-gear-qwen3-embe-2.json +0 -0
  203. {lobes_cli-0.90.3 → lobes_cli-0.92.0}/.devague/plans/model-gear-owns-the-audio-i-o-surface-end-to-end-m.json +0 -0
  204. {lobes_cli-0.90.3 → lobes_cli-0.92.0}/.devague/plans/nemotron-lightning-worker.json +0 -0
  205. {lobes_cli-0.90.3 → lobes_cli-0.92.0}/.devague/plans/orin-associate-at-1m.json +0 -0
  206. {lobes_cli-0.90.3 → lobes_cli-0.92.0}/.devague/plans/orin-decision-models.json +0 -0
  207. {lobes_cli-0.90.3 → lobes_cli-0.92.0}/.devague/plans/orin-embedding-specialist.json +0 -0
  208. {lobes_cli-0.90.3 → lobes_cli-0.92.0}/.devague/plans/peer-only-replica-pools.json +0 -0
  209. {lobes_cli-0.90.3 → lobes_cli-0.92.0}/.devague/plans/proxy-lobes-pairwise-auth.json +0 -0
  210. {lobes_cli-0.90.3 → lobes_cli-0.92.0}/.devague/plans/quick-wins-finish-the-rename.json +0 -0
  211. {lobes_cli-0.90.3 → lobes_cli-0.92.0}/.devague/plans/qwen3-8-cortex-upgrade.json +0 -0
  212. {lobes_cli-0.90.3 → lobes_cli-0.92.0}/.devague/plans/qwen3-8-flash-next-gguf-candidate.json +0 -0
  213. {lobes_cli-0.90.3 → lobes_cli-0.92.0}/.devague/plans/qwen3-8-gguf-llamacpp.json +0 -0
  214. {lobes_cli-0.90.3 → lobes_cli-0.92.0}/.devague/plans/realtime-voice-to-voice-astro-test-site-151.json +0 -0
  215. {lobes_cli-0.90.3 → lobes_cli-0.92.0}/.devague/plans/realtime-ws-server-vad-149.json +0 -0
  216. {lobes_cli-0.90.3 → lobes_cli-0.92.0}/.devague/plans/reranker-calibration-227.json +0 -0
  217. {lobes_cli-0.90.3 → lobes_cli-0.92.0}/.devague/plans/stt-readiness-truth-155.json +0 -0
  218. {lobes_cli-0.90.3 → lobes_cli-0.92.0}/.devague/plans/the-gemma-4-12b-gear-gets-speculative-decoding-lob.json +0 -0
  219. {lobes_cli-0.90.3 → lobes_cli-0.92.0}/.devague/plans/thor-cortex-speculation.json +0 -0
  220. {lobes_cli-0.90.3 → lobes_cli-0.92.0}/.devague/plans/thor-worker-arm-qwen3-6-35b-a3b-recipes.json +0 -0
  221. {lobes_cli-0.90.3 → lobes_cli-0.92.0}/.devague/plans/thor-worker-lobe-qwen3-6-35b-a3b.json +0 -0
  222. {lobes_cli-0.90.3 → lobes_cli-0.92.0}/.devague/plans/under-pressure-lobes-tells-you-the-cortex-model-is.json +0 -0
  223. {lobes_cli-0.90.3 → lobes_cli-0.92.0}/.devague/plans/unsloth-qat-senses-first-class-orin-variation.json +0 -0
  224. {lobes_cli-0.90.3 → lobes_cli-0.92.0}/.devague/plans/vllm-0-31-0-fleet.json +0 -0
  225. {lobes_cli-0.90.3 → lobes_cli-0.92.0}/.eidetic/memory/colleague__public.jsonl +0 -0
  226. {lobes_cli-0.90.3 → lobes_cli-0.92.0}/.eidetic/memory/default__public.jsonl +0 -0
  227. {lobes_cli-0.90.3 → lobes_cli-0.92.0}/.eidetic/memory/lobes__public.jsonl +0 -0
  228. {lobes_cli-0.90.3 → lobes_cli-0.92.0}/.flake8 +0 -0
  229. {lobes_cli-0.90.3 → lobes_cli-0.92.0}/.github/workflows/publish.yml +0 -0
  230. {lobes_cli-0.90.3 → lobes_cli-0.92.0}/.github/workflows/tests.yml +0 -0
  231. {lobes_cli-0.90.3 → lobes_cli-0.92.0}/.gitignore +0 -0
  232. {lobes_cli-0.90.3 → lobes_cli-0.92.0}/.markdownlint-cli2.yaml +0 -0
  233. {lobes_cli-0.90.3 → lobes_cli-0.92.0}/AGENTS.md +0 -0
  234. {lobes_cli-0.90.3 → lobes_cli-0.92.0}/LICENSE +0 -0
  235. {lobes_cli-0.90.3 → lobes_cli-0.92.0}/QWEN.md +0 -0
  236. {lobes_cli-0.90.3 → lobes_cli-0.92.0}/README.md +0 -0
  237. {lobes_cli-0.90.3 → lobes_cli-0.92.0}/culture.yaml +0 -0
  238. {lobes_cli-0.90.3 → lobes_cli-0.92.0}/deployments/README.md +0 -0
  239. {lobes_cli-0.90.3 → lobes_cli-0.92.0}/deployments/VARIATION.template.md +0 -0
  240. {lobes_cli-0.90.3 → lobes_cli-0.92.0}/deployments/jetson-agx-orin__orin-embed/Dockerfile.decider-vllm +0 -0
  241. {lobes_cli-0.90.3 → lobes_cli-0.92.0}/deployments/jetson-agx-orin__orin-embed/Dockerfile.embed-st +0 -0
  242. {lobes_cli-0.90.3 → lobes_cli-0.92.0}/deployments/jetson-agx-orin__orin-embed/Dockerfile.gateway +0 -0
  243. {lobes_cli-0.90.3 → lobes_cli-0.92.0}/deployments/jetson-agx-orin__orin-embed/VARIATION.md +0 -0
  244. {lobes_cli-0.90.3 → lobes_cli-0.92.0}/deployments/jetson-agx-orin__orin-embed/deployment.lock.toml +0 -0
  245. {lobes_cli-0.90.3 → lobes_cli-0.92.0}/deployments/jetson-agx-orin__orin-embed/docker-compose.embed.yml +0 -0
  246. {lobes_cli-0.90.3 → lobes_cli-0.92.0}/deployments/jetson-agx-orin__orin-embed/docker-compose.gpu.yml +0 -0
  247. {lobes_cli-0.90.3 → lobes_cli-0.92.0}/deployments/jetson-agx-orin__orin-embed/docker-compose.override.yml +0 -0
  248. {lobes_cli-0.90.3 → lobes_cli-0.92.0}/deployments/jetson-agx-orin__orin-embed/docker-compose.shape.yml +0 -0
  249. {lobes_cli-0.90.3 → lobes_cli-0.92.0}/deployments/jetson-agx-orin__orin-embed/docker-compose.yml +0 -0
  250. {lobes_cli-0.90.3 → lobes_cli-0.92.0}/deployments/jetson-agx-orin__orin-embed/mg-logwrap.sh +0 -0
  251. {lobes_cli-0.90.3 → lobes_cli-0.92.0}/deployments/jetson-agx-orin__orin-embed/qwen3_reranker.jinja +0 -0
  252. {lobes_cli-0.90.3 → lobes_cli-0.92.0}/deployments/jetson-agx-orin__orin-embed/qwen3_thinking_tool_parser.py +0 -0
  253. {lobes_cli-0.90.3 → lobes_cli-0.92.0}/deployments/jetson-agx-thor__thor-worker/Dockerfile.gateway +0 -0
  254. {lobes_cli-0.90.3 → lobes_cli-0.92.0}/deployments/jetson-agx-thor__thor-worker/Dockerfile.vllm-gemma4 +0 -0
  255. {lobes_cli-0.90.3 → lobes_cli-0.92.0}/deployments/jetson-agx-thor__thor-worker/VARIATION.md +0 -0
  256. {lobes_cli-0.90.3 → lobes_cli-0.92.0}/deployments/jetson-agx-thor__thor-worker/deployment.lock.toml +0 -0
  257. {lobes_cli-0.90.3 → lobes_cli-0.92.0}/deployments/jetson-agx-thor__thor-worker/docker-compose.override.yml +0 -0
  258. {lobes_cli-0.90.3 → lobes_cli-0.92.0}/deployments/jetson-agx-thor__thor-worker/docker-compose.shape.yml +0 -0
  259. {lobes_cli-0.90.3 → lobes_cli-0.92.0}/deployments/jetson-agx-thor__thor-worker/docker-compose.yml +0 -0
  260. {lobes_cli-0.90.3 → lobes_cli-0.92.0}/deployments/jetson-agx-thor__thor-worker/mg-logwrap.sh +0 -0
  261. {lobes_cli-0.90.3 → lobes_cli-0.92.0}/deployments/jetson-agx-thor__thor-worker/qwen3_reranker.jinja +0 -0
  262. {lobes_cli-0.90.3 → lobes_cli-0.92.0}/deployments/jetson-agx-thor__thor-worker/qwen3_thinking_tool_parser.py +0 -0
  263. {lobes_cli-0.90.3 → lobes_cli-0.92.0}/docs/chatterbox-tts.md +0 -0
  264. {lobes_cli-0.90.3 → lobes_cli-0.92.0}/docs/colleague-stack.md +0 -0
  265. {lobes_cli-0.90.3 → lobes_cli-0.92.0}/docs/comfyui-innereye.md +0 -0
  266. {lobes_cli-0.90.3 → lobes_cli-0.92.0}/docs/contracts/README.md +0 -0
  267. {lobes_cli-0.90.3 → lobes_cli-0.92.0}/docs/contracts/lane-safety-runtime.md +0 -0
  268. {lobes_cli-0.90.3 → lobes_cli-0.92.0}/docs/contracts/machine-cli-window.md +0 -0
  269. {lobes_cli-0.90.3 → lobes_cli-0.92.0}/docs/contracts/realtime-tool-calling.md +0 -0
  270. {lobes_cli-0.90.3 → lobes_cli-0.92.0}/docs/decider.md +0 -0
  271. {lobes_cli-0.90.3 → lobes_cli-0.92.0}/docs/deliveries/2026-07-16-proxy-lobes-pairwise-auth.md +0 -0
  272. {lobes_cli-0.90.3 → lobes_cli-0.92.0}/docs/deliveries/2026-07-21-realtime-voice-to-voice-astro-test-site-151.md +0 -0
  273. {lobes_cli-0.90.3 → lobes_cli-0.92.0}/docs/deliveries/2026-08-04-unsloth-qat-senses-first-class-orin-variation.md +0 -0
  274. {lobes_cli-0.90.3 → lobes_cli-0.92.0}/docs/deliveries/2026-08-10-hand-lobe-lfm2-5-1-2b.md +0 -0
  275. {lobes_cli-0.90.3 → lobes_cli-0.92.0}/docs/deliveries/2026-08-20-nemotron-lightning-worker.md +0 -0
  276. {lobes_cli-0.90.3 → lobes_cli-0.92.0}/docs/deliveries/2026-08-22-qwen3-8-gguf-llamacpp.md +0 -0
  277. {lobes_cli-0.90.3 → lobes_cli-0.92.0}/docs/deliveries/2026-08-23-qwen3-8-gguf-llamacpp-deviation-ledger.md +0 -0
  278. {lobes_cli-0.90.3 → lobes_cli-0.92.0}/docs/deliveries/2026-08-24-dspark-speculation-on-the-spark-cortex.md +0 -0
  279. {lobes_cli-0.90.3 → lobes_cli-0.92.0}/docs/deliveries/2026-08-25-cortex-replica-pool-199.md +0 -0
  280. {lobes_cli-0.90.3 → lobes_cli-0.92.0}/docs/deliveries/2026-08-25-lightning-on-orin.md +0 -0
  281. {lobes_cli-0.90.3 → lobes_cli-0.92.0}/docs/deliveries/2026-08-25-thor-cortex-speculation.md +0 -0
  282. {lobes_cli-0.90.3 → lobes_cli-0.92.0}/docs/deliveries/2026-08-29-deployment-lock-per-box.md +0 -0
  283. {lobes_cli-0.90.3 → lobes_cli-0.92.0}/docs/deliveries/2026-08-30-peer-only-replica-pools.md +0 -0
  284. {lobes_cli-0.90.3 → lobes_cli-0.92.0}/docs/deliveries/2026-08-31-quick-wins-finish-the-rename.md +0 -0
  285. {lobes_cli-0.90.3 → lobes_cli-0.92.0}/docs/deliveries/2026-09-10-thor-worker-arm-qwen3-6-35b-a3b-recipes.md +0 -0
  286. {lobes_cli-0.90.3 → lobes_cli-0.92.0}/docs/deliveries/2026-09-11-mesh-brain-join.md +0 -0
  287. {lobes_cli-0.90.3 → lobes_cli-0.92.0}/docs/deliveries/2026-09-12-mesh-boot-window-and-capabilities-advert.md +0 -0
  288. {lobes_cli-0.90.3 → lobes_cli-0.92.0}/docs/deliveries/2026-09-13-orin-associate-at-1m.md +0 -0
  289. {lobes_cli-0.90.3 → lobes_cli-0.92.0}/docs/deliveries/2026-09-16-innereye-lobes-hosts-comfyui.md +0 -0
  290. {lobes_cli-0.90.3 → lobes_cli-0.92.0}/docs/deliveries/2026-09-18-hebrew-realtime.md +0 -0
  291. {lobes_cli-0.90.3 → lobes_cli-0.92.0}/docs/deliveries/2026-10-06-mesh-pool-load-sharing.md +0 -0
  292. {lobes_cli-0.90.3 → lobes_cli-0.92.0}/docs/deliveries/2026-10-07-orin-embedding-specialist.md +0 -0
  293. {lobes_cli-0.90.3 → lobes_cli-0.92.0}/docs/deliveries/2026-10-14-orin-decision-models.md +0 -0
  294. {lobes_cli-0.90.3 → lobes_cli-0.92.0}/docs/deliveries/2026-10-17-lane-safety-and-quality-304-307-308-309.md +0 -0
  295. {lobes_cli-0.90.3 → lobes_cli-0.92.0}/docs/deliveries/2026-10-17-vllm-0-31-0-fleet.md +0 -0
  296. {lobes_cli-0.90.3 → lobes_cli-0.92.0}/docs/deployment-lock.md +0 -0
  297. {lobes_cli-0.90.3 → lobes_cli-0.92.0}/docs/deployment-shapes.md +0 -0
  298. {lobes_cli-0.90.3 → lobes_cli-0.92.0}/docs/dspark-speculation.md +0 -0
  299. {lobes_cli-0.90.3 → lobes_cli-0.92.0}/docs/durable-logs.md +0 -0
  300. {lobes_cli-0.90.3 → lobes_cli-0.92.0}/docs/embeddinggemma-2.md +0 -0
  301. {lobes_cli-0.90.3 → lobes_cli-0.92.0}/docs/evidence/2026-07-14-accept-referral-thor.txt +0 -0
  302. {lobes_cli-0.90.3 → lobes_cli-0.92.0}/docs/evidence/2026-07-14-accept-spark-lobe-gb10.txt +0 -0
  303. {lobes_cli-0.90.3 → lobes_cli-0.92.0}/docs/evidence/2026-07-14-accept-thor-lobe-live-referral-thor.txt +0 -0
  304. {lobes_cli-0.90.3 → lobes_cli-0.92.0}/docs/evidence/2026-07-14-accept-thor-lobe-thor.txt +0 -0
  305. {lobes_cli-0.90.3 → lobes_cli-0.92.0}/docs/evidence/2026-07-14-strict-tools-spark-lobe-spark.txt +0 -0
  306. {lobes_cli-0.90.3 → lobes_cli-0.92.0}/docs/evidence/2026-07-16-proxy-lobes-live-spark-thor.txt +0 -0
  307. {lobes_cli-0.90.3 → lobes_cli-0.92.0}/docs/evidence/2026-07-17-accept-muse-tool-calling-thor.txt +0 -0
  308. {lobes_cli-0.90.3 → lobes_cli-0.92.0}/docs/evidence/2026-07-20-accept-embed-deep-gb10.txt +0 -0
  309. {lobes_cli-0.90.3 → lobes_cli-0.92.0}/docs/evidence/2026-07-21-accept-realtime-spark.txt +0 -0
  310. {lobes_cli-0.90.3 → lobes_cli-0.92.0}/docs/evidence/2026-07-21-accept-voice-loop-spark.txt +0 -0
  311. {lobes_cli-0.90.3 → lobes_cli-0.92.0}/docs/evidence/2026-07-22-accept-realtime-voice-to-voice-spark.txt +0 -0
  312. {lobes_cli-0.90.3 → lobes_cli-0.92.0}/docs/evidence/2026-07-25-accept-by-proxy-spark-f8a9.txt +0 -0
  313. {lobes_cli-0.90.3 → lobes_cli-0.92.0}/docs/evidence/2026-07-31-accept-multimodal-cortex-spark.txt +0 -0
  314. {lobes_cli-0.90.3 → lobes_cli-0.92.0}/docs/evidence/2026-07-31-accept-worker-proxy-spark.txt +0 -0
  315. {lobes_cli-0.90.3 → lobes_cli-0.92.0}/docs/evidence/2026-07-31-accept-worker-thor.txt +0 -0
  316. {lobes_cli-0.90.3 → lobes_cli-0.92.0}/docs/evidence/2026-08-04-accept-senses-unsloth-orin.txt +0 -0
  317. {lobes_cli-0.90.3 → lobes_cli-0.92.0}/docs/evidence/2026-08-10-hand-lobe-budget-derivation.txt +0 -0
  318. {lobes_cli-0.90.3 → lobes_cli-0.92.0}/docs/evidence/2026-08-10-partial-hand-orin.txt +0 -0
  319. {lobes_cli-0.90.3 → lobes_cli-0.92.0}/docs/evidence/2026-08-10-partial-hand-spark.txt +0 -0
  320. {lobes_cli-0.90.3 → lobes_cli-0.92.0}/docs/evidence/2026-08-19-accept-qwen38-1m-spark.txt +0 -0
  321. {lobes_cli-0.90.3 → lobes_cli-0.92.0}/docs/evidence/2026-08-19-baseline-qwen3.6-cortex-spark.txt +0 -0
  322. {lobes_cli-0.90.3 → lobes_cli-0.92.0}/docs/evidence/2026-08-19-spike-qwen3.8-official-nightly-spark.txt +0 -0
  323. {lobes_cli-0.90.3 → lobes_cli-0.92.0}/docs/evidence/2026-08-20-accept-cortex-local-thor.txt +0 -0
  324. {lobes_cli-0.90.3 → lobes_cli-0.92.0}/docs/evidence/2026-08-20-accept-cortex-repoint-orin.txt +0 -0
  325. {lobes_cli-0.90.3 → lobes_cli-0.92.0}/docs/evidence/2026-08-20-accept-cortex-repoint-thor.txt +0 -0
  326. {lobes_cli-0.90.3 → lobes_cli-0.92.0}/docs/evidence/2026-08-20-accept-dual-cortex-mesh.txt +0 -0
  327. {lobes_cli-0.90.3 → lobes_cli-0.92.0}/docs/evidence/2026-08-20-accept-hand-spark.txt +0 -0
  328. {lobes_cli-0.90.3 → lobes_cli-0.92.0}/docs/evidence/2026-08-20-accept-worker-hand-spark.txt +0 -0
  329. {lobes_cli-0.90.3 → lobes_cli-0.92.0}/docs/evidence/2026-08-20-baseline-worker-qwen35b-thor.txt +0 -0
  330. {lobes_cli-0.90.3 → lobes_cli-0.92.0}/docs/evidence/2026-08-20-hand-thor-blocked-reattributed.txt +0 -0
  331. {lobes_cli-0.90.3 → lobes_cli-0.92.0}/docs/evidence/2026-08-20-spike-lightning-thor-no-go.txt +0 -0
  332. {lobes_cli-0.90.3 → lobes_cli-0.92.0}/docs/evidence/2026-08-20-spike-nightly-sm110-thor.txt +0 -0
  333. {lobes_cli-0.90.3 → lobes_cli-0.92.0}/docs/evidence/2026-08-21-measure-reasoning-effort-cortex-spark.txt +0 -0
  334. {lobes_cli-0.90.3 → lobes_cli-0.92.0}/docs/evidence/2026-08-23-spike-qwen38-gguf-llamacpp-orin.txt +0 -0
  335. {lobes_cli-0.90.3 → lobes_cli-0.92.0}/docs/evidence/2026-08-24-spike-dspark-cortex-spark.txt +0 -0
  336. {lobes_cli-0.90.3 → lobes_cli-0.92.0}/docs/evidence/2026-08-25-accept-cortex-replica-pool-spark-thor.txt +0 -0
  337. {lobes_cli-0.90.3 → lobes_cli-0.92.0}/docs/evidence/2026-08-25-accept-spark-lobe-dspark-render.txt +0 -0
  338. {lobes_cli-0.90.3 → lobes_cli-0.92.0}/docs/evidence/2026-08-25-baseline-cortex-single-owner.txt +0 -0
  339. {lobes_cli-0.90.3 → lobes_cli-0.92.0}/docs/evidence/2026-08-25-measure-associate-budget-orin.txt +0 -0
  340. {lobes_cli-0.90.3 → lobes_cli-0.92.0}/docs/evidence/2026-08-25-orin-board-state-lightning-spikes.txt +0 -0
  341. {lobes_cli-0.90.3 → lobes_cli-0.92.0}/docs/evidence/2026-08-25-spike-lightning-llamacpp-orin.txt +0 -0
  342. {lobes_cli-0.90.3 → lobes_cli-0.92.0}/docs/evidence/2026-08-25-spike-lightning-vllm-orin.txt +0 -0
  343. {lobes_cli-0.90.3 → lobes_cli-0.92.0}/docs/evidence/2026-08-25-spike-thor-cortex-speculation.txt +0 -0
  344. {lobes_cli-0.90.3 → lobes_cli-0.92.0}/docs/evidence/2026-08-26-accept-orin-associate.txt +0 -0
  345. {lobes_cli-0.90.3 → lobes_cli-0.92.0}/docs/evidence/2026-08-26-associate-gateway-auth-front.txt +0 -0
  346. {lobes_cli-0.90.3 → lobes_cli-0.92.0}/docs/evidence/2026-08-28-accept-capacity-relative-pool-thor-spark.txt +0 -0
  347. {lobes_cli-0.90.3 → lobes_cli-0.92.0}/docs/evidence/2026-08-30-accept-peer-only-pool-orin.txt +0 -0
  348. {lobes_cli-0.90.3 → lobes_cli-0.92.0}/docs/evidence/2026-08-30-accept-reranker-template-spark.txt +0 -0
  349. {lobes_cli-0.90.3 → lobes_cli-0.92.0}/docs/evidence/2026-08-30-baseline-orin-cortex-pinned.txt +0 -0
  350. {lobes_cli-0.90.3 → lobes_cli-0.92.0}/docs/evidence/2026-08-30-baseline-reranker-untemplated-spark.txt +0 -0
  351. {lobes_cli-0.90.3 → lobes_cli-0.92.0}/docs/evidence/2026-09-10-accept-nvidia-35b-a3b-thor.txt +0 -0
  352. {lobes_cli-0.90.3 → lobes_cli-0.92.0}/docs/evidence/2026-09-10-accept-thor-worker-flip.txt +0 -0
  353. {lobes_cli-0.90.3 → lobes_cli-0.92.0}/docs/evidence/2026-09-10-baseline-thor-cortex-pre-244.txt +0 -0
  354. {lobes_cli-0.90.3 → lobes_cli-0.92.0}/docs/evidence/2026-09-10-spike-nvidia-35b-a3b-preboot-thor.txt +0 -0
  355. {lobes_cli-0.90.3 → lobes_cli-0.92.0}/docs/evidence/2026-09-10-sweep-mtp-depth-nvidia-35b-a3b-thor.txt +0 -0
  356. {lobes_cli-0.90.3 → lobes_cli-0.92.0}/docs/evidence/2026-09-10-thor-backup-and-rollback-dryrun-244.txt +0 -0
  357. {lobes_cli-0.90.3 → lobes_cli-0.92.0}/docs/evidence/2026-09-10-thor-pressure-floor-244.txt +0 -0
  358. {lobes_cli-0.90.3 → lobes_cli-0.92.0}/docs/evidence/2026-09-11-accept-thor-reranker-template-senses-unproxy.txt +0 -0
  359. {lobes_cli-0.90.3 → lobes_cli-0.92.0}/docs/evidence/2026-09-11-accept-worker-proxy-spark-thor.txt +0 -0
  360. {lobes_cli-0.90.3 → lobes_cli-0.92.0}/docs/evidence/2026-09-12-accept-mesh-boot-window-fleet.txt +0 -0
  361. {lobes_cli-0.90.3 → lobes_cli-0.92.0}/docs/evidence/2026-09-12-accept-mesh-brain-join-fleet.txt +0 -0
  362. {lobes_cli-0.90.3 → lobes_cli-0.92.0}/docs/evidence/2026-09-12-baseline-mesh-cutover.txt +0 -0
  363. {lobes_cli-0.90.3 → lobes_cli-0.92.0}/docs/evidence/2026-09-13-accept-orin-associate-1m.txt +0 -0
  364. {lobes_cli-0.90.3 → lobes_cli-0.92.0}/docs/evidence/2026-09-13-measure-associate-budget-orin-1m.txt +0 -0
  365. {lobes_cli-0.90.3 → lobes_cli-0.92.0}/docs/evidence/2026-09-13-spike-lightning-thor-v029.txt +0 -0
  366. {lobes_cli-0.90.3 → lobes_cli-0.92.0}/docs/evidence/2026-09-16-accept-innereye-spark.txt +0 -0
  367. {lobes_cli-0.90.3 → lobes_cli-0.92.0}/docs/evidence/2026-09-16-baseline-comfyui-venv-spark.txt +0 -0
  368. {lobes_cli-0.90.3 → lobes_cli-0.92.0}/docs/evidence/2026-09-16-innereye-render-via-thor.png +0 -0
  369. {lobes_cli-0.90.3 → lobes_cli-0.92.0}/docs/evidence/2026-09-16-t2-comfyui-container-spark.txt +0 -0
  370. {lobes_cli-0.90.3 → lobes_cli-0.92.0}/docs/evidence/2026-09-19-accept-multimodal-gemma26b-native-context-spark.txt +0 -0
  371. {lobes_cli-0.90.3 → lobes_cli-0.92.0}/docs/evidence/2026-09-23-spike-flash-next-worker-thor.txt +0 -0
  372. {lobes_cli-0.90.3 → lobes_cli-0.92.0}/docs/evidence/2026-09-hebrew-realtime-audio-hardware-spark.txt +0 -0
  373. {lobes_cli-0.90.3 → lobes_cli-0.92.0}/docs/evidence/2026-09-hebrew-realtime-first-loop-spark.txt +0 -0
  374. {lobes_cli-0.90.3 → lobes_cli-0.92.0}/docs/evidence/2026-09-hebrew-realtime-spike-spark.txt +0 -0
  375. {lobes_cli-0.90.3 → lobes_cli-0.92.0}/docs/evidence/2026-09-hebrew-realtime-streaming-bluetts-spark.txt +0 -0
  376. {lobes_cli-0.90.3 → lobes_cli-0.92.0}/docs/evidence/2026-09-hebrew-realtime-vad-ab-spark.txt +0 -0
  377. {lobes_cli-0.90.3 → lobes_cli-0.92.0}/docs/evidence/2026-09-hebrew-stt-spike-spark.txt +0 -0
  378. {lobes_cli-0.90.3 → lobes_cli-0.92.0}/docs/evidence/2026-09-hebrew-tts-ab-spark.txt +0 -0
  379. {lobes_cli-0.90.3 → lobes_cli-0.92.0}/docs/evidence/2026-09-hebrew-voice-lane-senses12b-spark.txt +0 -0
  380. {lobes_cli-0.90.3 → lobes_cli-0.92.0}/docs/evidence/2026-10-06-accept-mesh-member-lanes.txt +0 -0
  381. {lobes_cli-0.90.3 → lobes_cli-0.92.0}/docs/evidence/2026-10-07-accept-innereye-replace-spark.txt +0 -0
  382. {lobes_cli-0.90.3 → lobes_cli-0.92.0}/docs/evidence/2026-10-07-accept-orin-embed.txt +0 -0
  383. {lobes_cli-0.90.3 → lobes_cli-0.92.0}/docs/evidence/2026-10-07-h2h/run1.json +0 -0
  384. {lobes_cli-0.90.3 → lobes_cli-0.92.0}/docs/evidence/2026-10-07-h2h/run1.table.txt +0 -0
  385. {lobes_cli-0.90.3 → lobes_cli-0.92.0}/docs/evidence/2026-10-07-h2h/run2-nomic.json +0 -0
  386. {lobes_cli-0.90.3 → lobes_cli-0.92.0}/docs/evidence/2026-10-07-h2h/run2-nomic.table.txt +0 -0
  387. {lobes_cli-0.90.3 → lobes_cli-0.92.0}/docs/evidence/2026-10-07-h2h/run3-qwen3vl.json +0 -0
  388. {lobes_cli-0.90.3 → lobes_cli-0.92.0}/docs/evidence/2026-10-07-h2h/run3-qwen3vl.table.txt +0 -0
  389. {lobes_cli-0.90.3 → lobes_cli-0.92.0}/docs/evidence/2026-10-07-h2h-code-retrieval-orin.txt +0 -0
  390. {lobes_cli-0.90.3 → lobes_cli-0.92.0}/docs/evidence/2026-10-07-rollback-orin-embed-to-orin-associate.txt +0 -0
  391. {lobes_cli-0.90.3 → lobes_cli-0.92.0}/docs/evidence/2026-10-07-spike-embeddinggemma2-sidecar-orin.txt +0 -0
  392. {lobes_cli-0.90.3 → lobes_cli-0.92.0}/docs/evidence/2026-10-07-spike-orin-embed-vllm-8b.txt +0 -0
  393. {lobes_cli-0.90.3 → lobes_cli-0.92.0}/docs/evidence/2026-10-14-ab-clef-vllm-vs-sidecar-orin.txt +0 -0
  394. {lobes_cli-0.90.3 → lobes_cli-0.92.0}/docs/evidence/2026-10-14-accept-clef-bf16-interim-spark.txt +0 -0
  395. {lobes_cli-0.90.3 → lobes_cli-0.92.0}/docs/evidence/2026-10-14-accept-decider-2b-spark2.txt +0 -0
  396. {lobes_cli-0.90.3 → lobes_cli-0.92.0}/docs/evidence/2026-10-14-accept-orin-decider.txt +0 -0
  397. {lobes_cli-0.90.3 → lobes_cli-0.92.0}/docs/evidence/2026-10-14-build-clef-sets.txt +0 -0
  398. {lobes_cli-0.90.3 → lobes_cli-0.92.0}/docs/evidence/2026-10-14-spike-clef-nf4-transformers-orin.txt +0 -0
  399. {lobes_cli-0.90.3 → lobes_cli-0.92.0}/docs/evidence/2026-10-14-verify-clef-quants.txt +0 -0
  400. {lobes_cli-0.90.3 → lobes_cli-0.92.0}/docs/evidence/2026-10-17-accept-lane-safety-hardware.txt +0 -0
  401. {lobes_cli-0.90.3 → lobes_cli-0.92.0}/docs/evidence/2026-10-17-accept-vllm-031-orin.txt +0 -0
  402. {lobes_cli-0.90.3 → lobes_cli-0.92.0}/docs/evidence/2026-10-17-accept-vllm-031-spark-cortex.txt +0 -0
  403. {lobes_cli-0.90.3 → lobes_cli-0.92.0}/docs/evidence/2026-10-17-accept-vllm-031-thor.txt +0 -0
  404. {lobes_cli-0.90.3 → lobes_cli-0.92.0}/docs/evidence/2026-10-17-baseline-and-scaffold-orin.txt +0 -0
  405. {lobes_cli-0.90.3 → lobes_cli-0.92.0}/docs/evidence/2026-10-17-baseline-and-scaffold-thor.txt +0 -0
  406. {lobes_cli-0.90.3 → lobes_cli-0.92.0}/docs/evidence/2026-10-17-baseline-nightly-spark2.txt +0 -0
  407. {lobes_cli-0.90.3 → lobes_cli-0.92.0}/docs/evidence/2026-10-17-dryrun-r1-rollout-spark-copy.txt +0 -0
  408. {lobes_cli-0.90.3 → lobes_cli-0.92.0}/docs/evidence/2026-10-17-verify-cpucap-running-vllm-spark.txt +0 -0
  409. {lobes_cli-0.90.3 → lobes_cli-0.92.0}/docs/evidence/2026-10-18-accept-vllm-031-spark-cortex.txt +0 -0
  410. {lobes_cli-0.90.3 → lobes_cli-0.92.0}/docs/evidence/2026-10-18-accept-vllm-031-spark2.txt +0 -0
  411. {lobes_cli-0.90.3 → lobes_cli-0.92.0}/docs/evidence/2026-10-18-sweep-vllm-031-fleet.txt +0 -0
  412. {lobes_cli-0.90.3 → lobes_cli-0.92.0}/docs/evidence/README-dspark-arms.md +0 -0
  413. {lobes_cli-0.90.3 → lobes_cli-0.92.0}/docs/evidence/README-realtime-acceptance.md +0 -0
  414. {lobes_cli-0.90.3 → lobes_cli-0.92.0}/docs/evidence/arm-a16-dspark-262k.json +0 -0
  415. {lobes_cli-0.90.3 → lobes_cli-0.92.0}/docs/evidence/arm-a16-none-262k.json +0 -0
  416. {lobes_cli-0.90.3 → lobes_cli-0.92.0}/docs/evidence/arm-dspark-262k.json +0 -0
  417. {lobes_cli-0.90.3 → lobes_cli-0.92.0}/docs/evidence/arm-dspark-768k.json +0 -0
  418. {lobes_cli-0.90.3 → lobes_cli-0.92.0}/docs/evidence/arm-mtp-n2-262k.json +0 -0
  419. {lobes_cli-0.90.3 → lobes_cli-0.92.0}/docs/evidence/arm-mtp-n2-768k.json +0 -0
  420. {lobes_cli-0.90.3 → lobes_cli-0.92.0}/docs/evidence/arm-mtp-n2.json +0 -0
  421. {lobes_cli-0.90.3 → lobes_cli-0.92.0}/docs/evidence/arm-none-262k.json +0 -0
  422. {lobes_cli-0.90.3 → lobes_cli-0.92.0}/docs/evidence/arm-none-768k.json +0 -0
  423. {lobes_cli-0.90.3 → lobes_cli-0.92.0}/docs/experiments/README.md +0 -0
  424. {lobes_cli-0.90.3 → lobes_cli-0.92.0}/docs/experiments/qwen3.8-flash-next-gguf-llamacpp-vllm.md +0 -0
  425. {lobes_cli-0.90.3 → lobes_cli-0.92.0}/docs/experiments/qwen3.8-flash-next-nvfp4-thor-reference.md +0 -0
  426. {lobes_cli-0.90.3 → lobes_cli-0.92.0}/docs/gateway-fleet.md +0 -0
  427. {lobes_cli-0.90.3 → lobes_cli-0.92.0}/docs/gemma-4-12b-nvfp4.md +0 -0
  428. {lobes_cli-0.90.3 → lobes_cli-0.92.0}/docs/gemma-4-12b-qat-w4a16.md +0 -0
  429. {lobes_cli-0.90.3 → lobes_cli-0.92.0}/docs/gemma-4-31b-nvfp4.md +0 -0
  430. {lobes_cli-0.90.3 → lobes_cli-0.92.0}/docs/gemma4-mtp-draft.md +0 -0
  431. {lobes_cli-0.90.3 → lobes_cli-0.92.0}/docs/image-ledger.md +0 -0
  432. {lobes_cli-0.90.3 → lobes_cli-0.92.0}/docs/lfm2.5-1.2b-hand.md +0 -0
  433. {lobes_cli-0.90.3 → lobes_cli-0.92.0}/docs/machine-profiles.md +0 -0
  434. {lobes_cli-0.90.3 → lobes_cli-0.92.0}/docs/measuring-lane-performance.md +0 -0
  435. {lobes_cli-0.90.3 → lobes_cli-0.92.0}/docs/mistral-small-3.2-24b-nvfp4.md +0 -0
  436. {lobes_cli-0.90.3 → lobes_cli-0.92.0}/docs/model-switch-playbook.md +0 -0
  437. {lobes_cli-0.90.3 → lobes_cli-0.92.0}/docs/nemotron-3-embed-8b.md +0 -0
  438. {lobes_cli-0.90.3 → lobes_cli-0.92.0}/docs/nemotron-3.5-lightning-30b-a3b-nvfp4.md +0 -0
  439. {lobes_cli-0.90.3 → lobes_cli-0.92.0}/docs/nomic-embed-code.md +0 -0
  440. {lobes_cli-0.90.3 → lobes_cli-0.92.0}/docs/openai-api.md +0 -0
  441. {lobes_cli-0.90.3 → lobes_cli-0.92.0}/docs/operating-a-deployment.md +0 -0
  442. {lobes_cli-0.90.3 → lobes_cli-0.92.0}/docs/orin-associate-deployment.md +0 -0
  443. {lobes_cli-0.90.3 → lobes_cli-0.92.0}/docs/orin-embed-deployment.md +0 -0
  444. {lobes_cli-0.90.3 → lobes_cli-0.92.0}/docs/orin-profiles.md +0 -0
  445. {lobes_cli-0.90.3 → lobes_cli-0.92.0}/docs/parakeet-stt.md +0 -0
  446. {lobes_cli-0.90.3 → lobes_cli-0.92.0}/docs/plans/2026-06-12-model-gear-owns-the-audio-i-o-surface-end-to-end-m.md +0 -0
  447. {lobes_cli-0.90.3 → lobes_cli-0.92.0}/docs/plans/2026-06-19-model-gear-now-serves-an-embedding-gear-qwen3-embe-2.md +0 -0
  448. {lobes_cli-0.90.3 → lobes_cli-0.92.0}/docs/plans/2026-06-26-lobes-ships-a-minor-lobe-a-cheap-warm-co-resident.md +0 -0
  449. {lobes_cli-0.90.3 → lobes_cli-0.92.0}/docs/plans/2026-06-26-lobes-ships-a-per-lobe-benchmark-suite-speed-paral.md +0 -0
  450. {lobes_cli-0.90.3 → lobes_cli-0.92.0}/docs/plans/2026-06-29-lobes-adds-a-third-middle-model-tier-and-pressure.md +0 -0
  451. {lobes_cli-0.90.3 → lobes_cli-0.92.0}/docs/plans/2026-06-30-lobes-now-defaults-to-a-spark-duo-the-qwen3-6-27b.md +0 -0
  452. {lobes_cli-0.90.3 → lobes_cli-0.92.0}/docs/plans/2026-06-30-lobes-ships-a-custom-vllm-image-from-nvcr-io-nvidi.md +0 -0
  453. {lobes_cli-0.90.3 → lobes_cli-0.92.0}/docs/plans/2026-07-01-gemma-4-12b-gear-gets-speculative-decoding-draft.md +0 -0
  454. {lobes_cli-0.90.3 → lobes_cli-0.92.0}/docs/plans/2026-07-01-lobes-unifies-its-generate-lane-on-one-vllm-nightl.md +0 -0
  455. {lobes_cli-0.90.3 → lobes_cli-0.92.0}/docs/plans/2026-07-03-lobes-exposes-the-full-colleague-runtime-stack-as.md +0 -0
  456. {lobes_cli-0.90.3 → lobes_cli-0.92.0}/docs/plans/2026-07-03-under-pressure-lobes-tells-you-the-cortex-model-is.md +0 -0
  457. {lobes_cli-0.90.3 → lobes_cli-0.92.0}/docs/plans/2026-07-04-lobes-tells-clients-the-truth-about-a-fleet-a-cons.md +0 -0
  458. {lobes_cli-0.90.3 → lobes_cli-0.92.0}/docs/plans/2026-07-07-lobes-preserves-qwen-thinking-traces-across-multi.md +0 -0
  459. {lobes_cli-0.90.3 → lobes_cli-0.92.0}/docs/plans/2026-07-09-lobes-never-advertises-a-capability-it-cannot-serv.md +0 -0
  460. {lobes_cli-0.90.3 → lobes_cli-0.92.0}/docs/plans/2026-07-10-lobes-gateway-relays-sse-streams-frame-by-frame-th.md +0 -0
  461. {lobes_cli-0.90.3 → lobes_cli-0.92.0}/docs/plans/2026-07-13-lobes-fits-the-machine-it-lands-on-one-command-det.md +0 -0
  462. {lobes_cli-0.90.3 → lobes_cli-0.92.0}/docs/plans/2026-07-14-lobes-serves-strict-grammar-constrained-tool-calls.md +0 -0
  463. {lobes_cli-0.90.3 → lobes_cli-0.92.0}/docs/plans/2026-07-14-lobes-serves-the-brain-shape-you-choose-machine-as.md +0 -0
  464. {lobes_cli-0.90.3 → lobes_cli-0.92.0}/docs/plans/2026-07-14-lobes-serves-the-mesh-brain-end-state-one-lobe-per.md +0 -0
  465. {lobes_cli-0.90.3 → lobes_cli-0.92.0}/docs/plans/2026-07-16-proxy-lobes-pairwise-auth.md +0 -0
  466. {lobes_cli-0.90.3 → lobes_cli-0.92.0}/docs/plans/2026-07-17-compose-chain-unification-init-repair-doctor-stale.md +0 -0
  467. {lobes_cli-0.90.3 → lobes_cli-0.92.0}/docs/plans/2026-07-21-realtime-voice-to-voice-astro-test-site-151.md +0 -0
  468. {lobes_cli-0.90.3 → lobes_cli-0.92.0}/docs/plans/2026-07-21-realtime-ws-server-vad-149.md +0 -0
  469. {lobes_cli-0.90.3 → lobes_cli-0.92.0}/docs/plans/2026-07-24-stt-readiness-truth-155.md +0 -0
  470. {lobes_cli-0.90.3 → lobes_cli-0.92.0}/docs/plans/2026-07-25-lobes-capabilities-tells-you-where-a-lobe-is-serve.md +0 -0
  471. {lobes_cli-0.90.3 → lobes_cli-0.92.0}/docs/plans/2026-07-31-every-lobe-in-the-mesh-can-see-the-spark-reaches-t.md +0 -0
  472. {lobes_cli-0.90.3 → lobes_cli-0.92.0}/docs/plans/2026-07-31-thor-worker-lobe-qwen3-6-35b-a3b.md +0 -0
  473. {lobes_cli-0.90.3 → lobes_cli-0.92.0}/docs/plans/2026-08-04-unsloth-qat-senses-first-class-orin-variation.md +0 -0
  474. {lobes_cli-0.90.3 → lobes_cli-0.92.0}/docs/plans/2026-08-10-hand-lobe-lfm2-5-1-2b.md +0 -0
  475. {lobes_cli-0.90.3 → lobes_cli-0.92.0}/docs/plans/2026-08-19-qwen3-8-cortex-upgrade.md +0 -0
  476. {lobes_cli-0.90.3 → lobes_cli-0.92.0}/docs/plans/2026-08-20-nemotron-lightning-worker.md +0 -0
  477. {lobes_cli-0.90.3 → lobes_cli-0.92.0}/docs/plans/2026-08-22-qwen3-8-gguf-llamacpp.md +0 -0
  478. {lobes_cli-0.90.3 → lobes_cli-0.92.0}/docs/plans/2026-08-24-dspark-speculation-on-the-spark-cortex.md +0 -0
  479. {lobes_cli-0.90.3 → lobes_cli-0.92.0}/docs/plans/2026-08-25-cortex-replica-pool-199.md +0 -0
  480. {lobes_cli-0.90.3 → lobes_cli-0.92.0}/docs/plans/2026-08-25-lightning-on-orin.md +0 -0
  481. {lobes_cli-0.90.3 → lobes_cli-0.92.0}/docs/plans/2026-08-25-thor-cortex-speculation.md +0 -0
  482. {lobes_cli-0.90.3 → lobes_cli-0.92.0}/docs/plans/2026-08-27-capacity-relative-pool-routing.md +0 -0
  483. {lobes_cli-0.90.3 → lobes_cli-0.92.0}/docs/plans/2026-08-29-deployment-lock-per-box.md +0 -0
  484. {lobes_cli-0.90.3 → lobes_cli-0.92.0}/docs/plans/2026-08-30-peer-only-replica-pools.md +0 -0
  485. {lobes_cli-0.90.3 → lobes_cli-0.92.0}/docs/plans/2026-08-30-reranker-calibration-227.md +0 -0
  486. {lobes_cli-0.90.3 → lobes_cli-0.92.0}/docs/plans/2026-08-31-quick-wins-finish-the-rename.md +0 -0
  487. {lobes_cli-0.90.3 → lobes_cli-0.92.0}/docs/plans/2026-09-10-thor-worker-arm-qwen3-6-35b-a3b-recipes-split.md +0 -0
  488. {lobes_cli-0.90.3 → lobes_cli-0.92.0}/docs/plans/2026-09-10-thor-worker-arm-qwen3-6-35b-a3b-recipes.md +0 -0
  489. {lobes_cli-0.90.3 → lobes_cli-0.92.0}/docs/plans/2026-09-11-mesh-brain-join-split.md +0 -0
  490. {lobes_cli-0.90.3 → lobes_cli-0.92.0}/docs/plans/2026-09-11-mesh-brain-join.md +0 -0
  491. {lobes_cli-0.90.3 → lobes_cli-0.92.0}/docs/plans/2026-09-12-mesh-boot-window-and-capabilities-advert-split.md +0 -0
  492. {lobes_cli-0.90.3 → lobes_cli-0.92.0}/docs/plans/2026-09-12-mesh-boot-window-and-capabilities-advert.md +0 -0
  493. {lobes_cli-0.90.3 → lobes_cli-0.92.0}/docs/plans/2026-09-13-orin-associate-at-1m-split.md +0 -0
  494. {lobes_cli-0.90.3 → lobes_cli-0.92.0}/docs/plans/2026-09-13-orin-associate-at-1m.md +0 -0
  495. {lobes_cli-0.90.3 → lobes_cli-0.92.0}/docs/plans/2026-09-16-innereye-lobes-hosts-comfyui-split.md +0 -0
  496. {lobes_cli-0.90.3 → lobes_cli-0.92.0}/docs/plans/2026-09-16-innereye-lobes-hosts-comfyui.md +0 -0
  497. {lobes_cli-0.90.3 → lobes_cli-0.92.0}/docs/plans/2026-09-18-hebrew-realtime-HANDOFF.md +0 -0
  498. {lobes_cli-0.90.3 → lobes_cli-0.92.0}/docs/plans/2026-09-18-hebrew-realtime-split.md +0 -0
  499. {lobes_cli-0.90.3 → lobes_cli-0.92.0}/docs/plans/2026-09-18-hebrew-realtime.md +0 -0
  500. {lobes_cli-0.90.3 → lobes_cli-0.92.0}/docs/plans/2026-09-23-flash-next-worker-on-thor.md +0 -0
  501. {lobes_cli-0.90.3 → lobes_cli-0.92.0}/docs/plans/2026-10-06-mesh-pool-load-sharing-split.md +0 -0
  502. {lobes_cli-0.90.3 → lobes_cli-0.92.0}/docs/plans/2026-10-06-mesh-pool-load-sharing.md +0 -0
  503. {lobes_cli-0.90.3 → lobes_cli-0.92.0}/docs/plans/2026-10-07-orin-embedding-specialist-split.md +0 -0
  504. {lobes_cli-0.90.3 → lobes_cli-0.92.0}/docs/plans/2026-10-07-orin-embedding-specialist.md +0 -0
  505. {lobes_cli-0.90.3 → lobes_cli-0.92.0}/docs/plans/2026-10-14-orin-decision-models-split.md +0 -0
  506. {lobes_cli-0.90.3 → lobes_cli-0.92.0}/docs/plans/2026-10-14-orin-decision-models.md +0 -0
  507. {lobes_cli-0.90.3 → lobes_cli-0.92.0}/docs/plans/2026-10-17-lane-safety-HANDOFF.md +0 -0
  508. {lobes_cli-0.90.3 → lobes_cli-0.92.0}/docs/plans/2026-10-17-lane-safety-and-quality-304-307-308-309-split.md +0 -0
  509. {lobes_cli-0.90.3 → lobes_cli-0.92.0}/docs/plans/2026-10-17-lane-safety-and-quality-304-307-308-309.md +0 -0
  510. {lobes_cli-0.90.3 → lobes_cli-0.92.0}/docs/plans/2026-10-17-vllm-0-31-0-fleet-split.md +0 -0
  511. {lobes_cli-0.90.3 → lobes_cli-0.92.0}/docs/plans/2026-10-17-vllm-0-31-0-fleet.md +0 -0
  512. {lobes_cli-0.90.3 → lobes_cli-0.92.0}/docs/plans/2026-10-18-vllm-031-HANDOFF.md +0 -0
  513. {lobes_cli-0.90.3 → lobes_cli-0.92.0}/docs/plans/vllm-031-probes/colour_check.py +0 -0
  514. {lobes_cli-0.90.3 → lobes_cli-0.92.0}/docs/plans/vllm-031-probes/colour_spark.py +0 -0
  515. {lobes_cli-0.90.3 → lobes_cli-0.92.0}/docs/plans/vllm-031-probes/eg2_controls.py +0 -0
  516. {lobes_cli-0.90.3 → lobes_cli-0.92.0}/docs/plans/vllm-031-probes/fleet_sweep.sh +0 -0
  517. {lobes_cli-0.90.3 → lobes_cli-0.92.0}/docs/plans/vllm-031-probes/grammar_probe.py +0 -0
  518. {lobes_cli-0.90.3 → lobes_cli-0.92.0}/docs/plans/vllm-031-probes/mesh_roles.sh +0 -0
  519. {lobes_cli-0.90.3 → lobes_cli-0.92.0}/docs/plans/vllm-031-probes/shape_bench.py +0 -0
  520. {lobes_cli-0.90.3 → lobes_cli-0.92.0}/docs/plans/vllm-031-probes/strict-payload.json +0 -0
  521. {lobes_cli-0.90.3 → lobes_cli-0.92.0}/docs/plans/vllm-031-probes/strict_controls.py +0 -0
  522. {lobes_cli-0.90.3 → lobes_cli-0.92.0}/docs/plans/vllm-031-probes/strict_replay.py +0 -0
  523. {lobes_cli-0.90.3 → lobes_cli-0.92.0}/docs/plans/vllm-031-probes/xgr_post_think_probe.py +0 -0
  524. {lobes_cli-0.90.3 → lobes_cli-0.92.0}/docs/plans/vllm-031-probes/xgr_stop_probe.py +0 -0
  525. {lobes_cli-0.90.3 → lobes_cli-0.92.0}/docs/qwen3-14b-nvfp4.md +0 -0
  526. {lobes_cli-0.90.3 → lobes_cli-0.92.0}/docs/qwen3-32b-nvfp4.md +0 -0
  527. {lobes_cli-0.90.3 → lobes_cli-0.92.0}/docs/qwen3-embedding-0.6b.md +0 -0
  528. {lobes_cli-0.90.3 → lobes_cli-0.92.0}/docs/qwen3-embedding-4b.md +0 -0
  529. {lobes_cli-0.90.3 → lobes_cli-0.92.0}/docs/qwen3-reranker-0.6b.md +0 -0
  530. {lobes_cli-0.90.3 → lobes_cli-0.92.0}/docs/qwen3-vl-embedding-8b.md +0 -0
  531. {lobes_cli-0.90.3 → lobes_cli-0.92.0}/docs/qwen3-vl-reranker-8b.md +0 -0
  532. {lobes_cli-0.90.3 → lobes_cli-0.92.0}/docs/qwen3.5-4b-minor.md +0 -0
  533. {lobes_cli-0.90.3 → lobes_cli-0.92.0}/docs/qwen3.6-27b-nvfp4-multimodal.md +0 -0
  534. {lobes_cli-0.90.3 → lobes_cli-0.92.0}/docs/qwen3.6-27b-nvfp4.md +0 -0
  535. {lobes_cli-0.90.3 → lobes_cli-0.92.0}/docs/qwen3.6-27b-text-nvfp4-mtp.md +0 -0
  536. {lobes_cli-0.90.3 → lobes_cli-0.92.0}/docs/qwen3.6-35b-a3b-nvfp4.md +0 -0
  537. {lobes_cli-0.90.3 → lobes_cli-0.92.0}/docs/qwen3.8-27b-gguf-llamacpp.md +0 -0
  538. {lobes_cli-0.90.3 → lobes_cli-0.92.0}/docs/qwen3.8-27b-nvfp4.md +0 -0
  539. {lobes_cli-0.90.3 → lobes_cli-0.92.0}/docs/qwen38-rollout-notes.md +0 -0
  540. {lobes_cli-0.90.3 → lobes_cli-0.92.0}/docs/realtime-pipeline.md +0 -0
  541. {lobes_cli-0.90.3 → lobes_cli-0.92.0}/docs/runbooks/lane-safety-r1-rollout.md +0 -0
  542. {lobes_cli-0.90.3 → lobes_cli-0.92.0}/docs/secret-rotation.md +0 -0
  543. {lobes_cli-0.90.3 → lobes_cli-0.92.0}/docs/skill-sources.md +0 -0
  544. {lobes_cli-0.90.3 → lobes_cli-0.92.0}/docs/specs/2026-06-12-model-gear-owns-the-audio-i-o-surface-end-to-end-m.md +0 -0
  545. {lobes_cli-0.90.3 → lobes_cli-0.92.0}/docs/specs/2026-06-19-model-gear-now-serves-an-embedding-gear-qwen3-embe-2.md +0 -0
  546. {lobes_cli-0.90.3 → lobes_cli-0.92.0}/docs/specs/2026-06-26-lobes-ships-a-minor-lobe-a-cheap-warm-co-resident.md +0 -0
  547. {lobes_cli-0.90.3 → lobes_cli-0.92.0}/docs/specs/2026-06-26-lobes-ships-a-per-lobe-benchmark-suite-speed-paral.md +0 -0
  548. {lobes_cli-0.90.3 → lobes_cli-0.92.0}/docs/specs/2026-06-29-lobes-adds-a-third-middle-model-tier-and-pressure.md +0 -0
  549. {lobes_cli-0.90.3 → lobes_cli-0.92.0}/docs/specs/2026-06-30-lobes-now-defaults-to-a-spark-duo-the-qwen3-6-27b.md +0 -0
  550. {lobes_cli-0.90.3 → lobes_cli-0.92.0}/docs/specs/2026-06-30-lobes-ships-a-custom-vllm-image-from-nvcr-io-nvidi.md +0 -0
  551. {lobes_cli-0.90.3 → lobes_cli-0.92.0}/docs/specs/2026-07-01-gemma-4-12b-gear-gets-speculative-decoding-draft.md +0 -0
  552. {lobes_cli-0.90.3 → lobes_cli-0.92.0}/docs/specs/2026-07-01-lobes-unifies-its-generate-lane-on-one-vllm-nightl.md +0 -0
  553. {lobes_cli-0.90.3 → lobes_cli-0.92.0}/docs/specs/2026-07-03-lobes-exposes-the-full-colleague-runtime-stack-as.md +0 -0
  554. {lobes_cli-0.90.3 → lobes_cli-0.92.0}/docs/specs/2026-07-03-under-pressure-lobes-tells-you-the-cortex-model-is.md +0 -0
  555. {lobes_cli-0.90.3 → lobes_cli-0.92.0}/docs/specs/2026-07-04-lobes-tells-clients-the-truth-about-a-fleet-a-cons.md +0 -0
  556. {lobes_cli-0.90.3 → lobes_cli-0.92.0}/docs/specs/2026-07-07-lobes-preserves-qwen-thinking-traces-across-multi.md +0 -0
  557. {lobes_cli-0.90.3 → lobes_cli-0.92.0}/docs/specs/2026-07-09-lobes-never-advertises-a-capability-it-cannot-serv.md +0 -0
  558. {lobes_cli-0.90.3 → lobes_cli-0.92.0}/docs/specs/2026-07-10-lobes-gateway-relays-sse-streams-frame-by-frame-th.md +0 -0
  559. {lobes_cli-0.90.3 → lobes_cli-0.92.0}/docs/specs/2026-07-13-lobes-fits-the-machine-it-lands-on-one-command-det.md +0 -0
  560. {lobes_cli-0.90.3 → lobes_cli-0.92.0}/docs/specs/2026-07-14-lobes-serves-strict-grammar-constrained-tool-calls.md +0 -0
  561. {lobes_cli-0.90.3 → lobes_cli-0.92.0}/docs/specs/2026-07-14-lobes-serves-the-brain-shape-you-choose-machine-as.md +0 -0
  562. {lobes_cli-0.90.3 → lobes_cli-0.92.0}/docs/specs/2026-07-14-lobes-serves-the-mesh-brain-end-state-one-lobe-per.md +0 -0
  563. {lobes_cli-0.90.3 → lobes_cli-0.92.0}/docs/specs/2026-07-16-proxy-lobes-pairwise-auth.md +0 -0
  564. {lobes_cli-0.90.3 → lobes_cli-0.92.0}/docs/specs/2026-07-17-compose-chain-unification-init-repair-doctor-stale.md +0 -0
  565. {lobes_cli-0.90.3 → lobes_cli-0.92.0}/docs/specs/2026-07-21-realtime-voice-to-voice-astro-test-site-151.md +0 -0
  566. {lobes_cli-0.90.3 → lobes_cli-0.92.0}/docs/specs/2026-07-21-realtime-ws-server-vad-149.md +0 -0
  567. {lobes_cli-0.90.3 → lobes_cli-0.92.0}/docs/specs/2026-07-24-stt-readiness-truth-155.md +0 -0
  568. {lobes_cli-0.90.3 → lobes_cli-0.92.0}/docs/specs/2026-07-25-lobes-capabilities-tells-you-where-a-lobe-is-serve.md +0 -0
  569. {lobes_cli-0.90.3 → lobes_cli-0.92.0}/docs/specs/2026-07-31-every-lobe-in-the-mesh-can-see-the-spark-reaches-t.md +0 -0
  570. {lobes_cli-0.90.3 → lobes_cli-0.92.0}/docs/specs/2026-07-31-thor-worker-lobe-qwen3-6-35b-a3b.md +0 -0
  571. {lobes_cli-0.90.3 → lobes_cli-0.92.0}/docs/specs/2026-08-04-unsloth-qat-senses-first-class-orin-variation.md +0 -0
  572. {lobes_cli-0.90.3 → lobes_cli-0.92.0}/docs/specs/2026-08-09-hand-lobe-lfm2-5-1-2b.md +0 -0
  573. {lobes_cli-0.90.3 → lobes_cli-0.92.0}/docs/specs/2026-08-19-qwen3-8-cortex-upgrade.md +0 -0
  574. {lobes_cli-0.90.3 → lobes_cli-0.92.0}/docs/specs/2026-08-20-nemotron-lightning-worker.md +0 -0
  575. {lobes_cli-0.90.3 → lobes_cli-0.92.0}/docs/specs/2026-08-22-qwen3-8-gguf-llamacpp.md +0 -0
  576. {lobes_cli-0.90.3 → lobes_cli-0.92.0}/docs/specs/2026-08-24-dspark-speculation-on-the-spark-cortex.md +0 -0
  577. {lobes_cli-0.90.3 → lobes_cli-0.92.0}/docs/specs/2026-08-25-cortex-replica-pool-199.md +0 -0
  578. {lobes_cli-0.90.3 → lobes_cli-0.92.0}/docs/specs/2026-08-25-lightning-on-orin.md +0 -0
  579. {lobes_cli-0.90.3 → lobes_cli-0.92.0}/docs/specs/2026-08-25-thor-cortex-speculation.md +0 -0
  580. {lobes_cli-0.90.3 → lobes_cli-0.92.0}/docs/specs/2026-08-27-capacity-relative-pool-routing.md +0 -0
  581. {lobes_cli-0.90.3 → lobes_cli-0.92.0}/docs/specs/2026-08-27-flash-next-on-vllm.md +0 -0
  582. {lobes_cli-0.90.3 → lobes_cli-0.92.0}/docs/specs/2026-08-27-qwen3-8-flash-next-gguf-candidate.md +0 -0
  583. {lobes_cli-0.90.3 → lobes_cli-0.92.0}/docs/specs/2026-08-29-deployment-lock-per-box.md +0 -0
  584. {lobes_cli-0.90.3 → lobes_cli-0.92.0}/docs/specs/2026-08-30-peer-only-replica-pools.md +0 -0
  585. {lobes_cli-0.90.3 → lobes_cli-0.92.0}/docs/specs/2026-08-30-reranker-calibration-227.md +0 -0
  586. {lobes_cli-0.90.3 → lobes_cli-0.92.0}/docs/specs/2026-08-31-quick-wins-finish-the-rename.md +0 -0
  587. {lobes_cli-0.90.3 → lobes_cli-0.92.0}/docs/specs/2026-09-10-thor-worker-arm-qwen3-6-35b-a3b-recipes.md +0 -0
  588. {lobes_cli-0.90.3 → lobes_cli-0.92.0}/docs/specs/2026-09-11-mesh-brain-join.md +0 -0
  589. {lobes_cli-0.90.3 → lobes_cli-0.92.0}/docs/specs/2026-09-12-mesh-boot-window-and-capabilities-advert.md +0 -0
  590. {lobes_cli-0.90.3 → lobes_cli-0.92.0}/docs/specs/2026-09-13-orin-associate-at-1m.md +0 -0
  591. {lobes_cli-0.90.3 → lobes_cli-0.92.0}/docs/specs/2026-09-16-innereye-lobes-hosts-comfyui.md +0 -0
  592. {lobes_cli-0.90.3 → lobes_cli-0.92.0}/docs/specs/2026-09-18-hebrew-realtime.md +0 -0
  593. {lobes_cli-0.90.3 → lobes_cli-0.92.0}/docs/specs/2026-09-23-flash-next-worker-on-thor.md +0 -0
  594. {lobes_cli-0.90.3 → lobes_cli-0.92.0}/docs/specs/2026-10-06-mesh-pool-load-sharing.md +0 -0
  595. {lobes_cli-0.90.3 → lobes_cli-0.92.0}/docs/specs/2026-10-07-orin-embedding-specialist.md +0 -0
  596. {lobes_cli-0.90.3 → lobes_cli-0.92.0}/docs/specs/2026-10-14-orin-decision-models.md +0 -0
  597. {lobes_cli-0.90.3 → lobes_cli-0.92.0}/docs/specs/2026-10-17-lane-safety-and-quality-304-307-308-309.md +0 -0
  598. {lobes_cli-0.90.3 → lobes_cli-0.92.0}/docs/specs/2026-10-17-vllm-0-31-0-fleet.md +0 -0
  599. {lobes_cli-0.90.3 → lobes_cli-0.92.0}/docs/superpowers/plans/2026-05-22-scaffold-cli-sibling.md +0 -0
  600. {lobes_cli-0.90.3 → lobes_cli-0.92.0}/docs/superpowers/specs/2026-05-22-scaffold-cli-sibling-design.md +0 -0
  601. {lobes_cli-0.90.3 → lobes_cli-0.92.0}/docs/tensorrt-llm-investigation.md +0 -0
  602. {lobes_cli-0.90.3 → lobes_cli-0.92.0}/docs/thor-worker-flip-rollout-notes.md +0 -0
  603. {lobes_cli-0.90.3 → lobes_cli-0.92.0}/docs/tuning-profiles.md +0 -0
  604. {lobes_cli-0.90.3 → lobes_cli-0.92.0}/docs/validate-tiers.md +0 -0
  605. {lobes_cli-0.90.3 → lobes_cli-0.92.0}/docs/vllm-nightly-migration.md +0 -0
  606. {lobes_cli-0.90.3 → lobes_cli-0.92.0}/docs/worker-lightning-rollout-notes.md +0 -0
  607. {lobes_cli-0.90.3 → lobes_cli-0.92.0}/examples/minor-evals/smoke.jsonl +0 -0
  608. {lobes_cli-0.90.3 → lobes_cli-0.92.0}/lobes/__init__.py +0 -0
  609. {lobes_cli-0.90.3 → lobes_cli-0.92.0}/lobes/__main__.py +0 -0
  610. {lobes_cli-0.90.3 → lobes_cli-0.92.0}/lobes/_metrics.py +0 -0
  611. {lobes_cli-0.90.3 → lobes_cli-0.92.0}/lobes/assess.py +0 -0
  612. {lobes_cli-0.90.3 → lobes_cli-0.92.0}/lobes/bench/__init__.py +0 -0
  613. {lobes_cli-0.90.3 → lobes_cli-0.92.0}/lobes/bench/cat_probe.py +0 -0
  614. {lobes_cli-0.90.3 → lobes_cli-0.92.0}/lobes/bench/cat_score.py +0 -0
  615. {lobes_cli-0.90.3 → lobes_cli-0.92.0}/lobes/bench/compare.py +0 -0
  616. {lobes_cli-0.90.3 → lobes_cli-0.92.0}/lobes/bench/report.py +0 -0
  617. {lobes_cli-0.90.3 → lobes_cli-0.92.0}/lobes/cli/__init__.py +0 -0
  618. {lobes_cli-0.90.3 → lobes_cli-0.92.0}/lobes/cli/_commands/__init__.py +0 -0
  619. {lobes_cli-0.90.3 → lobes_cli-0.92.0}/lobes/cli/_commands/_doctor_lane_safety.py +0 -0
  620. {lobes_cli-0.90.3 → lobes_cli-0.92.0}/lobes/cli/_commands/_doctor_plugin.py +0 -0
  621. {lobes_cli-0.90.3 → lobes_cli-0.92.0}/lobes/cli/_commands/_role_probe.py +0 -0
  622. {lobes_cli-0.90.3 → lobes_cli-0.92.0}/lobes/cli/_commands/assess.py +0 -0
  623. {lobes_cli-0.90.3 → lobes_cli-0.92.0}/lobes/cli/_commands/benchmark.py +0 -0
  624. {lobes_cli-0.90.3 → lobes_cli-0.92.0}/lobes/cli/_commands/calibrate.py +0 -0
  625. {lobes_cli-0.90.3 → lobes_cli-0.92.0}/lobes/cli/_commands/capabilities.py +0 -0
  626. {lobes_cli-0.90.3 → lobes_cli-0.92.0}/lobes/cli/_commands/cli.py +0 -0
  627. {lobes_cli-0.90.3 → lobes_cli-0.92.0}/lobes/cli/_commands/doctor.py +0 -0
  628. {lobes_cli-0.90.3 → lobes_cli-0.92.0}/lobes/cli/_commands/eval.py +0 -0
  629. {lobes_cli-0.90.3 → lobes_cli-0.92.0}/lobes/cli/_commands/explain.py +0 -0
  630. {lobes_cli-0.90.3 → lobes_cli-0.92.0}/lobes/cli/_commands/fleet.py +0 -0
  631. {lobes_cli-0.90.3 → lobes_cli-0.92.0}/lobes/cli/_commands/governor.py +0 -0
  632. {lobes_cli-0.90.3 → lobes_cli-0.92.0}/lobes/cli/_commands/init.py +0 -0
  633. {lobes_cli-0.90.3 → lobes_cli-0.92.0}/lobes/cli/_commands/learn.py +0 -0
  634. {lobes_cli-0.90.3 → lobes_cli-0.92.0}/lobes/cli/_commands/logs.py +0 -0
  635. {lobes_cli-0.90.3 → lobes_cli-0.92.0}/lobes/cli/_commands/measure.py +0 -0
  636. {lobes_cli-0.90.3 → lobes_cli-0.92.0}/lobes/cli/_commands/mesh.py +0 -0
  637. {lobes_cli-0.90.3 → lobes_cli-0.92.0}/lobes/cli/_commands/overview.py +0 -0
  638. {lobes_cli-0.90.3 → lobes_cli-0.92.0}/lobes/cli/_commands/route.py +0 -0
  639. {lobes_cli-0.90.3 → lobes_cli-0.92.0}/lobes/cli/_commands/run.py +0 -0
  640. {lobes_cli-0.90.3 → lobes_cli-0.92.0}/lobes/cli/_commands/serve.py +0 -0
  641. {lobes_cli-0.90.3 → lobes_cli-0.92.0}/lobes/cli/_commands/status.py +0 -0
  642. {lobes_cli-0.90.3 → lobes_cli-0.92.0}/lobes/cli/_commands/stop.py +0 -0
  643. {lobes_cli-0.90.3 → lobes_cli-0.92.0}/lobes/cli/_commands/tunnel.py +0 -0
  644. {lobes_cli-0.90.3 → lobes_cli-0.92.0}/lobes/cli/_commands/up.py +0 -0
  645. {lobes_cli-0.90.3 → lobes_cli-0.92.0}/lobes/cli/_commands/watcher.py +0 -0
  646. {lobes_cli-0.90.3 → lobes_cli-0.92.0}/lobes/cli/_commands/whoami.py +0 -0
  647. {lobes_cli-0.90.3 → lobes_cli-0.92.0}/lobes/cli/_errors.py +0 -0
  648. {lobes_cli-0.90.3 → lobes_cli-0.92.0}/lobes/cli/_live.py +0 -0
  649. {lobes_cli-0.90.3 → lobes_cli-0.92.0}/lobes/cli/_output.py +0 -0
  650. {lobes_cli-0.90.3 → lobes_cli-0.92.0}/lobes/cli/_role_swap.py +0 -0
  651. {lobes_cli-0.90.3 → lobes_cli-0.92.0}/lobes/cli/_runtime_ops.py +0 -0
  652. {lobes_cli-0.90.3 → lobes_cli-0.92.0}/lobes/decider_sidecar/__init__.py +0 -0
  653. {lobes_cli-0.90.3 → lobes_cli-0.92.0}/lobes/decider_sidecar/clef_vllm.py +0 -0
  654. {lobes_cli-0.90.3 → lobes_cli-0.92.0}/lobes/decider_sidecar/server.py +0 -0
  655. {lobes_cli-0.90.3 → lobes_cli-0.92.0}/lobes/embed_lanes.py +0 -0
  656. {lobes_cli-0.90.3 → lobes_cli-0.92.0}/lobes/embed_sidecar/__init__.py +0 -0
  657. {lobes_cli-0.90.3 → lobes_cli-0.92.0}/lobes/embed_sidecar/server.py +0 -0
  658. {lobes_cli-0.90.3 → lobes_cli-0.92.0}/lobes/explain/__init__.py +0 -0
  659. {lobes_cli-0.90.3 → lobes_cli-0.92.0}/lobes/explain/catalog.py +0 -0
  660. {lobes_cli-0.90.3 → lobes_cli-0.92.0}/lobes/gateway/__init__.py +0 -0
  661. {lobes_cli-0.90.3 → lobes_cli-0.92.0}/lobes/gateway/__main__.py +0 -0
  662. {lobes_cli-0.90.3 → lobes_cli-0.92.0}/lobes/gateway/_authlog.py +0 -0
  663. {lobes_cli-0.90.3 → lobes_cli-0.92.0}/lobes/gateway/_config.py +0 -0
  664. {lobes_cli-0.90.3 → lobes_cli-0.92.0}/lobes/gateway/_mesh_config.py +0 -0
  665. {lobes_cli-0.90.3 → lobes_cli-0.92.0}/lobes/gateway/_mesh_roster.py +0 -0
  666. {lobes_cli-0.90.3 → lobes_cli-0.92.0}/lobes/gateway/_mesh_routes.py +0 -0
  667. {lobes_cli-0.90.3 → lobes_cli-0.92.0}/lobes/gateway/_mesh_routing.py +0 -0
  668. {lobes_cli-0.90.3 → lobes_cli-0.92.0}/lobes/gateway/_mesh_wire.py +0 -0
  669. {lobes_cli-0.90.3 → lobes_cli-0.92.0}/lobes/gateway/_pressure_policy.py +0 -0
  670. {lobes_cli-0.90.3 → lobes_cli-0.92.0}/lobes/gateway/_readiness.py +0 -0
  671. {lobes_cli-0.90.3 → lobes_cli-0.92.0}/lobes/gateway/_realtime.py +0 -0
  672. {lobes_cli-0.90.3 → lobes_cli-0.92.0}/lobes/gateway/_replicas.py +0 -0
  673. {lobes_cli-0.90.3 → lobes_cli-0.92.0}/lobes/gateway/_routing.py +0 -0
  674. {lobes_cli-0.90.3 → lobes_cli-0.92.0}/lobes/gateway/_selection.py +0 -0
  675. {lobes_cli-0.90.3 → lobes_cli-0.92.0}/lobes/gateway/_tier_request.py +0 -0
  676. {lobes_cli-0.90.3 → lobes_cli-0.92.0}/lobes/gateway/server.py +0 -0
  677. {lobes_cli-0.90.3 → lobes_cli-0.92.0}/lobes/lane_keys.py +0 -0
  678. {lobes_cli-0.90.3 → lobes_cli-0.92.0}/lobes/machines/__init__.py +0 -0
  679. {lobes_cli-0.90.3 → lobes_cli-0.92.0}/lobes/machines/_registry.py +0 -0
  680. {lobes_cli-0.90.3 → lobes_cli-0.92.0}/lobes/machines/_strategy.py +0 -0
  681. {lobes_cli-0.90.3 → lobes_cli-0.92.0}/lobes/machines/_traits.py +0 -0
  682. {lobes_cli-0.90.3 → lobes_cli-0.92.0}/lobes/machines/blackwell.py +0 -0
  683. {lobes_cli-0.90.3 → lobes_cli-0.92.0}/lobes/machines/generic.py +0 -0
  684. {lobes_cli-0.90.3 → lobes_cli-0.92.0}/lobes/machines/orin.py +0 -0
  685. {lobes_cli-0.90.3 → lobes_cli-0.92.0}/lobes/machines/spark.py +0 -0
  686. {lobes_cli-0.90.3 → lobes_cli-0.92.0}/lobes/machines/thor.py +0 -0
  687. {lobes_cli-0.90.3 → lobes_cli-0.92.0}/lobes/minor/__init__.py +0 -0
  688. {lobes_cli-0.90.3 → lobes_cli-0.92.0}/lobes/minor/_client.py +0 -0
  689. {lobes_cli-0.90.3 → lobes_cli-0.92.0}/lobes/minor/governance.py +0 -0
  690. {lobes_cli-0.90.3 → lobes_cli-0.92.0}/lobes/profiles/__init__.py +0 -0
  691. {lobes_cli-0.90.3 → lobes_cli-0.92.0}/lobes/profiles/builtin/__init__.py +0 -0
  692. {lobes_cli-0.90.3 → lobes_cli-0.92.0}/lobes/profiles/builtin/base.toml +0 -0
  693. {lobes_cli-0.90.3 → lobes_cli-0.92.0}/lobes/profiles/builtin/orin.toml +0 -0
  694. {lobes_cli-0.90.3 → lobes_cli-0.92.0}/lobes/profiles/builtin/spark.toml +0 -0
  695. {lobes_cli-0.90.3 → lobes_cli-0.92.0}/lobes/profiles/builtin/thor.toml +0 -0
  696. {lobes_cli-0.90.3 → lobes_cli-0.92.0}/lobes/profiles/builtin_shapes/__init__.py +0 -0
  697. {lobes_cli-0.90.3 → lobes_cli-0.92.0}/lobes/profiles/builtin_shapes/gateway-only.toml +0 -0
  698. {lobes_cli-0.90.3 → lobes_cli-0.92.0}/lobes/profiles/builtin_shapes/machine-as-brain.toml +0 -0
  699. {lobes_cli-0.90.3 → lobes_cli-0.92.0}/lobes/profiles/builtin_shapes/orin-associate.toml +0 -0
  700. {lobes_cli-0.90.3 → lobes_cli-0.92.0}/lobes/profiles/builtin_shapes/orin-cortex.toml +0 -0
  701. {lobes_cli-0.90.3 → lobes_cli-0.92.0}/lobes/profiles/builtin_shapes/orin-decider.toml +0 -0
  702. {lobes_cli-0.90.3 → lobes_cli-0.92.0}/lobes/profiles/builtin_shapes/orin-embed.toml +0 -0
  703. {lobes_cli-0.90.3 → lobes_cli-0.92.0}/lobes/profiles/builtin_shapes/orin-lobe.toml +0 -0
  704. {lobes_cli-0.90.3 → lobes_cli-0.92.0}/lobes/profiles/builtin_shapes/orin-small.toml +0 -0
  705. {lobes_cli-0.90.3 → lobes_cli-0.92.0}/lobes/profiles/builtin_shapes/spark-innereye.toml +0 -0
  706. {lobes_cli-0.90.3 → lobes_cli-0.92.0}/lobes/profiles/builtin_shapes/spark-lobe.toml +0 -0
  707. {lobes_cli-0.90.3 → lobes_cli-0.92.0}/lobes/profiles/builtin_shapes/thor-lobe.toml +0 -0
  708. {lobes_cli-0.90.3 → lobes_cli-0.92.0}/lobes/profiles/builtin_shapes/thor-muse.toml +0 -0
  709. {lobes_cli-0.90.3 → lobes_cli-0.92.0}/lobes/profiles/loader.py +0 -0
  710. {lobes_cli-0.90.3 → lobes_cli-0.92.0}/lobes/profiles/render.py +0 -0
  711. {lobes_cli-0.90.3 → lobes_cli-0.92.0}/lobes/profiles/schema.py +0 -0
  712. {lobes_cli-0.90.3 → lobes_cli-0.92.0}/lobes/profiles/shape_render.py +0 -0
  713. {lobes_cli-0.90.3 → lobes_cli-0.92.0}/lobes/profiles/shapes.py +0 -0
  714. {lobes_cli-0.90.3 → lobes_cli-0.92.0}/lobes/realtime/__init__.py +0 -0
  715. {lobes_cli-0.90.3 → lobes_cli-0.92.0}/lobes/realtime/__main__.py +0 -0
  716. {lobes_cli-0.90.3 → lobes_cli-0.92.0}/lobes/realtime/_conversation.py +0 -0
  717. {lobes_cli-0.90.3 → lobes_cli-0.92.0}/lobes/realtime/_floor.py +0 -0
  718. {lobes_cli-0.90.3 → lobes_cli-0.92.0}/lobes/realtime/_pcm.py +0 -0
  719. {lobes_cli-0.90.3 → lobes_cli-0.92.0}/lobes/realtime/_readiness.py +0 -0
  720. {lobes_cli-0.90.3 → lobes_cli-0.92.0}/lobes/realtime/_segmenter.py +0 -0
  721. {lobes_cli-0.90.3 → lobes_cli-0.92.0}/lobes/realtime/_sentences.py +0 -0
  722. {lobes_cli-0.90.3 → lobes_cli-0.92.0}/lobes/realtime/_session.py +0 -0
  723. {lobes_cli-0.90.3 → lobes_cli-0.92.0}/lobes/realtime/_settings.py +0 -0
  724. {lobes_cli-0.90.3 → lobes_cli-0.92.0}/lobes/realtime/_speculation.py +0 -0
  725. {lobes_cli-0.90.3 → lobes_cli-0.92.0}/lobes/realtime/_timings.py +0 -0
  726. {lobes_cli-0.90.3 → lobes_cli-0.92.0}/lobes/realtime/_tts_text.py +0 -0
  727. {lobes_cli-0.90.3 → lobes_cli-0.92.0}/lobes/realtime/_turn.py +0 -0
  728. {lobes_cli-0.90.3 → lobes_cli-0.92.0}/lobes/realtime/_vocalize.py +0 -0
  729. {lobes_cli-0.90.3 → lobes_cli-0.92.0}/lobes/realtime/_wire.py +0 -0
  730. {lobes_cli-0.90.3 → lobes_cli-0.92.0}/lobes/realtime/app.py +0 -0
  731. {lobes_cli-0.90.3 → lobes_cli-0.92.0}/lobes/realtime/audio_facade.py +0 -0
  732. {lobes_cli-0.90.3 → lobes_cli-0.92.0}/lobes/realtime/bluetts_server.py +0 -0
  733. {lobes_cli-0.90.3 → lobes_cli-0.92.0}/lobes/realtime/chatterbox_multilingual_server.py +0 -0
  734. {lobes_cli-0.90.3 → lobes_cli-0.92.0}/lobes/realtime/chatterbox_server.py +0 -0
  735. {lobes_cli-0.90.3 → lobes_cli-0.92.0}/lobes/realtime/protocol.py +0 -0
  736. {lobes_cli-0.90.3 → lobes_cli-0.92.0}/lobes/realtime/tts_client.py +0 -0
  737. {lobes_cli-0.90.3 → lobes_cli-0.92.0}/lobes/roles.py +0 -0
  738. {lobes_cli-0.90.3 → lobes_cli-0.92.0}/lobes/roles_measure.py +0 -0
  739. {lobes_cli-0.90.3 → lobes_cli-0.92.0}/lobes/runtime/__init__.py +0 -0
  740. {lobes_cli-0.90.3 → lobes_cli-0.92.0}/lobes/runtime/_buildability.py +0 -0
  741. {lobes_cli-0.90.3 → lobes_cli-0.92.0}/lobes/runtime/_compose.py +0 -0
  742. {lobes_cli-0.90.3 → lobes_cli-0.92.0}/lobes/runtime/_detect.py +0 -0
  743. {lobes_cli-0.90.3 → lobes_cli-0.92.0}/lobes/runtime/_env.py +0 -0
  744. {lobes_cli-0.90.3 → lobes_cli-0.92.0}/lobes/runtime/_governor.py +0 -0
  745. {lobes_cli-0.90.3 → lobes_cli-0.92.0}/lobes/runtime/_health.py +0 -0
  746. {lobes_cli-0.90.3 → lobes_cli-0.92.0}/lobes/runtime/_lanes.py +0 -0
  747. {lobes_cli-0.90.3 → lobes_cli-0.92.0}/lobes/runtime/_lock.py +0 -0
  748. {lobes_cli-0.90.3 → lobes_cli-0.92.0}/lobes/runtime/_machine.py +0 -0
  749. {lobes_cli-0.90.3 → lobes_cli-0.92.0}/lobes/runtime/_pressure.py +0 -0
  750. {lobes_cli-0.90.3 → lobes_cli-0.92.0}/lobes/runtime/_tunnel.py +0 -0
  751. {lobes_cli-0.90.3 → lobes_cli-0.92.0}/lobes/runtime/_window.py +0 -0
  752. {lobes_cli-0.90.3 → lobes_cli-0.92.0}/lobes/templates/__init__.py +0 -0
  753. {lobes_cli-0.90.3 → lobes_cli-0.92.0}/lobes/templates/cf-tunnel.env.example +0 -0
  754. {lobes_cli-0.90.3 → lobes_cli-0.92.0}/lobes/templates/docker-compose.yml +0 -0
  755. {lobes_cli-0.90.3 → lobes_cli-0.92.0}/lobes/templates/env.example +0 -0
  756. {lobes_cli-0.90.3 → lobes_cli-0.92.0}/lobes/templates/fleet/Dockerfile.bluetts +0 -0
  757. {lobes_cli-0.90.3 → lobes_cli-0.92.0}/lobes/templates/fleet/Dockerfile.chatterbox +0 -0
  758. {lobes_cli-0.90.3 → lobes_cli-0.92.0}/lobes/templates/fleet/Dockerfile.chatterbox-ml +0 -0
  759. {lobes_cli-0.90.3 → lobes_cli-0.92.0}/lobes/templates/fleet/Dockerfile.comfyui +0 -0
  760. {lobes_cli-0.90.3 → lobes_cli-0.92.0}/lobes/templates/fleet/Dockerfile.decider +0 -0
  761. {lobes_cli-0.90.3 → lobes_cli-0.92.0}/lobes/templates/fleet/Dockerfile.decider-vllm +0 -0
  762. {lobes_cli-0.90.3 → lobes_cli-0.92.0}/lobes/templates/fleet/Dockerfile.embed-st +0 -0
  763. {lobes_cli-0.90.3 → lobes_cli-0.92.0}/lobes/templates/fleet/Dockerfile.gateway +0 -0
  764. {lobes_cli-0.90.3 → lobes_cli-0.92.0}/lobes/templates/fleet/Dockerfile.parakeet +0 -0
  765. {lobes_cli-0.90.3 → lobes_cli-0.92.0}/lobes/templates/fleet/Dockerfile.realtime +0 -0
  766. {lobes_cli-0.90.3 → lobes_cli-0.92.0}/lobes/templates/fleet/Dockerfile.vllm-gemma4 +0 -0
  767. {lobes_cli-0.90.3 → lobes_cli-0.92.0}/lobes/templates/fleet/__init__.py +0 -0
  768. {lobes_cli-0.90.3 → lobes_cli-0.92.0}/lobes/templates/fleet/_readiness.py +0 -0
  769. {lobes_cli-0.90.3 → lobes_cli-0.92.0}/lobes/templates/fleet/docker-compose.audio.yml +0 -0
  770. {lobes_cli-0.90.3 → lobes_cli-0.92.0}/lobes/templates/fleet/docker-compose.embed.yml +0 -0
  771. {lobes_cli-0.90.3 → lobes_cli-0.92.0}/lobes/templates/fleet/docker-compose.yml +0 -0
  772. {lobes_cli-0.90.3 → lobes_cli-0.92.0}/lobes/templates/fleet/env.audio.example +0 -0
  773. {lobes_cli-0.90.3 → lobes_cli-0.92.0}/lobes/templates/fleet/env.example +0 -0
  774. {lobes_cli-0.90.3 → lobes_cli-0.92.0}/lobes/templates/fleet/listen_server.py +0 -0
  775. {lobes_cli-0.90.3 → lobes_cli-0.92.0}/lobes/templates/fleet/qwen3_reranker.jinja +0 -0
  776. {lobes_cli-0.90.3 → lobes_cli-0.92.0}/lobes/templates/lobes-watcher.service.in +0 -0
  777. {lobes_cli-0.90.3 → lobes_cli-0.92.0}/lobes/templates/mg-logwrap.sh +0 -0
  778. {lobes_cli-0.90.3 → lobes_cli-0.92.0}/lobes/variation.py +0 -0
  779. {lobes_cli-0.90.3 → lobes_cli-0.92.0}/lobes/variation_catalog.py +0 -0
  780. {lobes_cli-0.90.3 → lobes_cli-0.92.0}/lobes/vllm_plugins/__init__.py +0 -0
  781. {lobes_cli-0.90.3 → lobes_cli-0.92.0}/lobes/vllm_plugins/qwen3_thinking_tool_parser.py +0 -0
  782. {lobes_cli-0.90.3 → lobes_cli-0.92.0}/lobes/watcher/__init__.py +0 -0
  783. {lobes_cli-0.90.3 → lobes_cli-0.92.0}/lobes/watcher/_install.py +0 -0
  784. {lobes_cli-0.90.3 → lobes_cli-0.92.0}/lobes/watcher/_run.py +0 -0
  785. {lobes_cli-0.90.3 → lobes_cli-0.92.0}/packaging/model-gear/README.md +0 -0
  786. {lobes_cli-0.90.3 → lobes_cli-0.92.0}/packaging/model-gear/pyproject.toml +0 -0
  787. {lobes_cli-0.90.3 → lobes_cli-0.92.0}/scripts/accept-by-proxy.sh +0 -0
  788. {lobes_cli-0.90.3 → lobes_cli-0.92.0}/scripts/accept-shape.sh +0 -0
  789. {lobes_cli-0.90.3 → lobes_cli-0.92.0}/scripts/audio-smoke.py +0 -0
  790. {lobes_cli-0.90.3 → lobes_cli-0.92.0}/scripts/clef_eval/compare.py +0 -0
  791. {lobes_cli-0.90.3 → lobes_cli-0.92.0}/scripts/clef_eval/run_nf4_probe.py +0 -0
  792. {lobes_cli-0.90.3 → lobes_cli-0.92.0}/scripts/clef_eval/run_probe.py +0 -0
  793. {lobes_cli-0.90.3 → lobes_cli-0.92.0}/scripts/clef_quant/quantize.py +0 -0
  794. {lobes_cli-0.90.3 → lobes_cli-0.92.0}/scripts/clef_sets/build_sets.py +0 -0
  795. {lobes_cli-0.90.3 → lobes_cli-0.92.0}/scripts/clef_sets/calibration.manifest.jsonl +0 -0
  796. {lobes_cli-0.90.3 → lobes_cli-0.92.0}/scripts/clef_sets/incidents.py +0 -0
  797. {lobes_cli-0.90.3 → lobes_cli-0.92.0}/scripts/clef_sets/probe.manifest.jsonl +0 -0
  798. {lobes_cli-0.90.3 → lobes_cli-0.92.0}/scripts/clef_sets/routing.py +0 -0
  799. {lobes_cli-0.90.3 → lobes_cli-0.92.0}/scripts/concurrency-probe.py +0 -0
  800. {lobes_cli-0.90.3 → lobes_cli-0.92.0}/scripts/embed_h2h/README.md +0 -0
  801. {lobes_cli-0.90.3 → lobes_cli-0.92.0}/scripts/embed_h2h/build_corpus.py +0 -0
  802. {lobes_cli-0.90.3 → lobes_cli-0.92.0}/scripts/embed_h2h/build_queries.py +0 -0
  803. {lobes_cli-0.90.3 → lobes_cli-0.92.0}/scripts/embed_h2h/corpus.jsonl +0 -0
  804. {lobes_cli-0.90.3 → lobes_cli-0.92.0}/scripts/embed_h2h/h2h.py +0 -0
  805. {lobes_cli-0.90.3 → lobes_cli-0.92.0}/scripts/embed_h2h/prompts.json +0 -0
  806. {lobes_cli-0.90.3 → lobes_cli-0.92.0}/scripts/embed_h2h/queries.jsonl +0 -0
  807. {lobes_cli-0.90.3 → lobes_cli-0.92.0}/scripts/gen-api-key.py +0 -0
  808. {lobes_cli-0.90.3 → lobes_cli-0.92.0}/scripts/live-check.sh +0 -0
  809. {lobes_cli-0.90.3 → lobes_cli-0.92.0}/scripts/prefill-depth-curve.py +0 -0
  810. {lobes_cli-0.90.3 → lobes_cli-0.92.0}/scripts/probe_reranker_calibration.py +0 -0
  811. {lobes_cli-0.90.3 → lobes_cli-0.92.0}/scripts/realtime-he-accept.py +0 -0
  812. {lobes_cli-0.90.3 → lobes_cli-0.92.0}/scripts/realtime-smoke.py +0 -0
  813. {lobes_cli-0.90.3 → lobes_cli-0.92.0}/scripts/realtime-voice-loop.py +0 -0
  814. {lobes_cli-0.90.3 → lobes_cli-0.92.0}/scripts/scan_deployment_secrets.py +0 -0
  815. {lobes_cli-0.90.3 → lobes_cli-0.92.0}/scripts/spec-arms.py +0 -0
  816. {lobes_cli-0.90.3 → lobes_cli-0.92.0}/scripts/spike-preflight.sh +0 -0
  817. {lobes_cli-0.90.3 → lobes_cli-0.92.0}/scripts/stream-measure.py +0 -0
  818. {lobes_cli-0.90.3 → lobes_cli-0.92.0}/scripts/validate-tiers.sh +0 -0
  819. {lobes_cli-0.90.3 → lobes_cli-0.92.0}/site/.env.example +0 -0
  820. {lobes_cli-0.90.3 → lobes_cli-0.92.0}/site/.gitignore +0 -0
  821. {lobes_cli-0.90.3 → lobes_cli-0.92.0}/site/.nvmrc +0 -0
  822. {lobes_cli-0.90.3 → lobes_cli-0.92.0}/site/README.md +0 -0
  823. {lobes_cli-0.90.3 → lobes_cli-0.92.0}/site/astro.config.mjs +0 -0
  824. {lobes_cli-0.90.3 → lobes_cli-0.92.0}/site/package-lock.json +0 -0
  825. {lobes_cli-0.90.3 → lobes_cli-0.92.0}/site/package.json +0 -0
  826. {lobes_cli-0.90.3 → lobes_cli-0.92.0}/site/proxy/gateway-proxy.mjs +0 -0
  827. {lobes_cli-0.90.3 → lobes_cli-0.92.0}/site/public/favicon.svg +0 -0
  828. {lobes_cli-0.90.3 → lobes_cli-0.92.0}/site/public/worklets/pcm-capture-processor.js +0 -0
  829. {lobes_cli-0.90.3 → lobes_cli-0.92.0}/site/src/components/ConnectionPanel.astro +0 -0
  830. {lobes_cli-0.90.3 → lobes_cli-0.92.0}/site/src/components/ConversationView.astro +0 -0
  831. {lobes_cli-0.90.3 → lobes_cli-0.92.0}/site/src/components/EventStream.astro +0 -0
  832. {lobes_cli-0.90.3 → lobes_cli-0.92.0}/site/src/components/Footer.astro +0 -0
  833. {lobes_cli-0.90.3 → lobes_cli-0.92.0}/site/src/components/Header.astro +0 -0
  834. {lobes_cli-0.90.3 → lobes_cli-0.92.0}/site/src/components/MicIsland.astro +0 -0
  835. {lobes_cli-0.90.3 → lobes_cli-0.92.0}/site/src/components/SignalMesh.astro +0 -0
  836. {lobes_cli-0.90.3 → lobes_cli-0.92.0}/site/src/layouts/Layout.astro +0 -0
  837. {lobes_cli-0.90.3 → lobes_cli-0.92.0}/site/src/pages/dev-connection.astro +0 -0
  838. {lobes_cli-0.90.3 → lobes_cli-0.92.0}/site/src/pages/dev-events.astro +0 -0
  839. {lobes_cli-0.90.3 → lobes_cli-0.92.0}/site/src/pages/dev-mic.astro +0 -0
  840. {lobes_cli-0.90.3 → lobes_cli-0.92.0}/site/src/pages/index.astro +0 -0
  841. {lobes_cli-0.90.3 → lobes_cli-0.92.0}/site/src/scripts/audio-graph.ts +0 -0
  842. {lobes_cli-0.90.3 → lobes_cli-0.92.0}/site/src/scripts/audio-playback.test.ts +0 -0
  843. {lobes_cli-0.90.3 → lobes_cli-0.92.0}/site/src/scripts/audio-playback.ts +0 -0
  844. {lobes_cli-0.90.3 → lobes_cli-0.92.0}/site/src/scripts/audio-test-doubles.ts +0 -0
  845. {lobes_cli-0.90.3 → lobes_cli-0.92.0}/site/src/scripts/connection-panel.ts +0 -0
  846. {lobes_cli-0.90.3 → lobes_cli-0.92.0}/site/src/scripts/conversation-view.ts +0 -0
  847. {lobes_cli-0.90.3 → lobes_cli-0.92.0}/site/src/scripts/demo-tools.ts +0 -0
  848. {lobes_cli-0.90.3 → lobes_cli-0.92.0}/site/src/scripts/dev-mic-harness.ts +0 -0
  849. {lobes_cli-0.90.3 → lobes_cli-0.92.0}/site/src/scripts/event-fixtures.ts +0 -0
  850. {lobes_cli-0.90.3 → lobes_cli-0.92.0}/site/src/scripts/event-icons.ts +0 -0
  851. {lobes_cli-0.90.3 → lobes_cli-0.92.0}/site/src/scripts/event-log.test.ts +0 -0
  852. {lobes_cli-0.90.3 → lobes_cli-0.92.0}/site/src/scripts/event-log.ts +0 -0
  853. {lobes_cli-0.90.3 → lobes_cli-0.92.0}/site/src/scripts/mic-capture.test.ts +0 -0
  854. {lobes_cli-0.90.3 → lobes_cli-0.92.0}/site/src/scripts/mic-capture.ts +0 -0
  855. {lobes_cli-0.90.3 → lobes_cli-0.92.0}/site/src/scripts/mic-island.test.ts +0 -0
  856. {lobes_cli-0.90.3 → lobes_cli-0.92.0}/site/src/scripts/mic-island.ts +0 -0
  857. {lobes_cli-0.90.3 → lobes_cli-0.92.0}/site/src/scripts/no-mic-mute.test.ts +0 -0
  858. {lobes_cli-0.90.3 → lobes_cli-0.92.0}/site/src/scripts/pcm-wire.test.ts +0 -0
  859. {lobes_cli-0.90.3 → lobes_cli-0.92.0}/site/src/scripts/pcm-wire.ts +0 -0
  860. {lobes_cli-0.90.3 → lobes_cli-0.92.0}/site/src/scripts/realtime-connection.ts +0 -0
  861. {lobes_cli-0.90.3 → lobes_cli-0.92.0}/site/src/scripts/realtime-events.ts +0 -0
  862. {lobes_cli-0.90.3 → lobes_cli-0.92.0}/site/src/styles/global.css +0 -0
  863. {lobes_cli-0.90.3 → lobes_cli-0.92.0}/site/test/connection-panel.test.ts +0 -0
  864. {lobes_cli-0.90.3 → lobes_cli-0.92.0}/site/test/conversation-view.test.ts +0 -0
  865. {lobes_cli-0.90.3 → lobes_cli-0.92.0}/site/test/demo-tools.test.ts +0 -0
  866. {lobes_cli-0.90.3 → lobes_cli-0.92.0}/site/test/gateway-proxy.test.ts +0 -0
  867. {lobes_cli-0.90.3 → lobes_cli-0.92.0}/site/test/realtime-connection.test.ts +0 -0
  868. {lobes_cli-0.90.3 → lobes_cli-0.92.0}/site/tsconfig.json +0 -0
  869. {lobes_cli-0.90.3 → lobes_cli-0.92.0}/site/vitest.config.ts +0 -0
  870. {lobes_cli-0.90.3 → lobes_cli-0.92.0}/sonar-project.properties +0 -0
  871. {lobes_cli-0.90.3 → lobes_cli-0.92.0}/tests/__init__.py +0 -0
  872. {lobes_cli-0.90.3 → lobes_cli-0.92.0}/tests/conftest.py +0 -0
  873. {lobes_cli-0.90.3 → lobes_cli-0.92.0}/tests/fixtures/deployments/fixture-card/Dockerfile.gateway +0 -0
  874. {lobes_cli-0.90.3 → lobes_cli-0.92.0}/tests/fixtures/deployments/fixture-card/VARIATION.md +0 -0
  875. {lobes_cli-0.90.3 → lobes_cli-0.92.0}/tests/fixtures/deployments/fixture-card/deployment.lock.toml +0 -0
  876. {lobes_cli-0.90.3 → lobes_cli-0.92.0}/tests/fixtures/deployments/fixture-card/docker-compose.override.yml +0 -0
  877. {lobes_cli-0.90.3 → lobes_cli-0.92.0}/tests/fixtures/deployments/fixture-card/docker-compose.yml +0 -0
  878. {lobes_cli-0.90.3 → lobes_cli-0.92.0}/tests/fixtures/deployments/fixture-card__fixture-shape/VARIATION.md +0 -0
  879. {lobes_cli-0.90.3 → lobes_cli-0.92.0}/tests/fixtures/deployments/fixture-card__fixture-shape/deployment.lock.toml +0 -0
  880. {lobes_cli-0.90.3 → lobes_cli-0.92.0}/tests/fixtures/deployments/fixture-card__fixture-shape/docker-compose.override.yml +0 -0
  881. {lobes_cli-0.90.3 → lobes_cli-0.92.0}/tests/fixtures/deployments/fixture-card__fixture-shape/docker-compose.shape.yml +0 -0
  882. {lobes_cli-0.90.3 → lobes_cli-0.92.0}/tests/fixtures/deployments/fixture-card__fixture-shape/docker-compose.yml +0 -0
  883. {lobes_cli-0.90.3 → lobes_cli-0.92.0}/tests/fixtures/upgrade_compat/README.md +0 -0
  884. {lobes_cli-0.90.3 → lobes_cli-0.92.0}/tests/fixtures/upgrade_compat/fleet/docker-compose.yml +0 -0
  885. {lobes_cli-0.90.3 → lobes_cli-0.92.0}/tests/fixtures/upgrade_compat/fleet/env.example +0 -0
  886. {lobes_cli-0.90.3 → lobes_cli-0.92.0}/tests/fixtures/upgrade_compat/single/docker-compose.yml +0 -0
  887. {lobes_cli-0.90.3 → lobes_cli-0.92.0}/tests/fixtures/upgrade_compat/single/env.example +0 -0
  888. {lobes_cli-0.90.3 → lobes_cli-0.92.0}/tests/goldens/README.md +0 -0
  889. {lobes_cli-0.90.3 → lobes_cli-0.92.0}/tests/goldens/__init__.py +0 -0
  890. {lobes_cli-0.90.3 → lobes_cli-0.92.0}/tests/goldens/base.env +0 -0
  891. {lobes_cli-0.90.3 → lobes_cli-0.92.0}/tests/goldens/orin.env +0 -0
  892. {lobes_cli-0.90.3 → lobes_cli-0.92.0}/tests/goldens/regen.py +0 -0
  893. {lobes_cli-0.90.3 → lobes_cli-0.92.0}/tests/goldens/shapes/gateway-only__base.env +0 -0
  894. {lobes_cli-0.90.3 → lobes_cli-0.92.0}/tests/goldens/shapes/gateway-only__orin.env +0 -0
  895. {lobes_cli-0.90.3 → lobes_cli-0.92.0}/tests/goldens/shapes/gateway-only__spark.env +0 -0
  896. {lobes_cli-0.90.3 → lobes_cli-0.92.0}/tests/goldens/shapes/gateway-only__thor.env +0 -0
  897. {lobes_cli-0.90.3 → lobes_cli-0.92.0}/tests/goldens/shapes/orin-associate__base.env +0 -0
  898. {lobes_cli-0.90.3 → lobes_cli-0.92.0}/tests/goldens/shapes/orin-associate__orin.env +0 -0
  899. {lobes_cli-0.90.3 → lobes_cli-0.92.0}/tests/goldens/shapes/orin-associate__spark.env +0 -0
  900. {lobes_cli-0.90.3 → lobes_cli-0.92.0}/tests/goldens/shapes/orin-associate__thor.env +0 -0
  901. {lobes_cli-0.90.3 → lobes_cli-0.92.0}/tests/goldens/shapes/orin-cortex__base.env +0 -0
  902. {lobes_cli-0.90.3 → lobes_cli-0.92.0}/tests/goldens/shapes/orin-cortex__orin.env +0 -0
  903. {lobes_cli-0.90.3 → lobes_cli-0.92.0}/tests/goldens/shapes/orin-cortex__spark.env +0 -0
  904. {lobes_cli-0.90.3 → lobes_cli-0.92.0}/tests/goldens/shapes/orin-cortex__thor.env +0 -0
  905. {lobes_cli-0.90.3 → lobes_cli-0.92.0}/tests/goldens/shapes/orin-decider__base.env +0 -0
  906. {lobes_cli-0.90.3 → lobes_cli-0.92.0}/tests/goldens/shapes/orin-decider__orin.env +0 -0
  907. {lobes_cli-0.90.3 → lobes_cli-0.92.0}/tests/goldens/shapes/orin-decider__spark.env +0 -0
  908. {lobes_cli-0.90.3 → lobes_cli-0.92.0}/tests/goldens/shapes/orin-decider__thor.env +0 -0
  909. {lobes_cli-0.90.3 → lobes_cli-0.92.0}/tests/goldens/shapes/orin-embed__base.env +0 -0
  910. {lobes_cli-0.90.3 → lobes_cli-0.92.0}/tests/goldens/shapes/orin-embed__orin.env +0 -0
  911. {lobes_cli-0.90.3 → lobes_cli-0.92.0}/tests/goldens/shapes/orin-embed__spark.env +0 -0
  912. {lobes_cli-0.90.3 → lobes_cli-0.92.0}/tests/goldens/shapes/orin-embed__thor.env +0 -0
  913. {lobes_cli-0.90.3 → lobes_cli-0.92.0}/tests/goldens/shapes/orin-lobe__base.env +0 -0
  914. {lobes_cli-0.90.3 → lobes_cli-0.92.0}/tests/goldens/shapes/orin-lobe__orin.env +0 -0
  915. {lobes_cli-0.90.3 → lobes_cli-0.92.0}/tests/goldens/shapes/orin-lobe__spark.env +0 -0
  916. {lobes_cli-0.90.3 → lobes_cli-0.92.0}/tests/goldens/shapes/orin-lobe__thor.env +0 -0
  917. {lobes_cli-0.90.3 → lobes_cli-0.92.0}/tests/goldens/shapes/orin-small__base.env +0 -0
  918. {lobes_cli-0.90.3 → lobes_cli-0.92.0}/tests/goldens/shapes/orin-small__orin.env +0 -0
  919. {lobes_cli-0.90.3 → lobes_cli-0.92.0}/tests/goldens/shapes/orin-small__spark.env +0 -0
  920. {lobes_cli-0.90.3 → lobes_cli-0.92.0}/tests/goldens/shapes/orin-small__thor.env +0 -0
  921. {lobes_cli-0.90.3 → lobes_cli-0.92.0}/tests/goldens/shapes/spark-innereye__base.env +0 -0
  922. {lobes_cli-0.90.3 → lobes_cli-0.92.0}/tests/goldens/shapes/spark-innereye__orin.env +0 -0
  923. {lobes_cli-0.90.3 → lobes_cli-0.92.0}/tests/goldens/shapes/spark-innereye__spark.env +0 -0
  924. {lobes_cli-0.90.3 → lobes_cli-0.92.0}/tests/goldens/shapes/spark-innereye__thor.env +0 -0
  925. {lobes_cli-0.90.3 → lobes_cli-0.92.0}/tests/goldens/shapes/spark-lobe__base.env +0 -0
  926. {lobes_cli-0.90.3 → lobes_cli-0.92.0}/tests/goldens/shapes/spark-lobe__orin.env +0 -0
  927. {lobes_cli-0.90.3 → lobes_cli-0.92.0}/tests/goldens/shapes/spark-lobe__spark.env +0 -0
  928. {lobes_cli-0.90.3 → lobes_cli-0.92.0}/tests/goldens/shapes/spark-lobe__thor.env +0 -0
  929. {lobes_cli-0.90.3 → lobes_cli-0.92.0}/tests/goldens/shapes/thor-lobe__base.env +0 -0
  930. {lobes_cli-0.90.3 → lobes_cli-0.92.0}/tests/goldens/shapes/thor-lobe__orin.env +0 -0
  931. {lobes_cli-0.90.3 → lobes_cli-0.92.0}/tests/goldens/shapes/thor-lobe__spark.env +0 -0
  932. {lobes_cli-0.90.3 → lobes_cli-0.92.0}/tests/goldens/shapes/thor-lobe__thor.env +0 -0
  933. {lobes_cli-0.90.3 → lobes_cli-0.92.0}/tests/goldens/shapes/thor-muse__base.env +0 -0
  934. {lobes_cli-0.90.3 → lobes_cli-0.92.0}/tests/goldens/shapes/thor-muse__orin.env +0 -0
  935. {lobes_cli-0.90.3 → lobes_cli-0.92.0}/tests/goldens/shapes/thor-muse__spark.env +0 -0
  936. {lobes_cli-0.90.3 → lobes_cli-0.92.0}/tests/goldens/shapes/thor-muse__thor.env +0 -0
  937. {lobes_cli-0.90.3 → lobes_cli-0.92.0}/tests/goldens/shapes/thor-worker__base.env +0 -0
  938. {lobes_cli-0.90.3 → lobes_cli-0.92.0}/tests/goldens/shapes/thor-worker__orin.env +0 -0
  939. {lobes_cli-0.90.3 → lobes_cli-0.92.0}/tests/goldens/shapes/thor-worker__spark.env +0 -0
  940. {lobes_cli-0.90.3 → lobes_cli-0.92.0}/tests/goldens/shapes/thor-worker__thor.env +0 -0
  941. {lobes_cli-0.90.3 → lobes_cli-0.92.0}/tests/goldens/spark.env +0 -0
  942. {lobes_cli-0.90.3 → lobes_cli-0.92.0}/tests/goldens/template-defaults.env +0 -0
  943. {lobes_cli-0.90.3 → lobes_cli-0.92.0}/tests/goldens/thor.env +0 -0
  944. {lobes_cli-0.90.3 → lobes_cli-0.92.0}/tests/test_assess.py +0 -0
  945. {lobes_cli-0.90.3 → lobes_cli-0.92.0}/tests/test_assess_perf.py +0 -0
  946. {lobes_cli-0.90.3 → lobes_cli-0.92.0}/tests/test_associate_compose.py +0 -0
  947. {lobes_cli-0.90.3 → lobes_cli-0.92.0}/tests/test_associate_exposure.py +0 -0
  948. {lobes_cli-0.90.3 → lobes_cli-0.92.0}/tests/test_associate_gateway_boundaries.py +0 -0
  949. {lobes_cli-0.90.3 → lobes_cli-0.92.0}/tests/test_audio_he_compose_chain.py +0 -0
  950. {lobes_cli-0.90.3 → lobes_cli-0.92.0}/tests/test_audio_he_goldens.py +0 -0
  951. {lobes_cli-0.90.3 → lobes_cli-0.92.0}/tests/test_audio_he_tts_compose.py +0 -0
  952. {lobes_cli-0.90.3 → lobes_cli-0.92.0}/tests/test_bench_compare.py +0 -0
  953. {lobes_cli-0.90.3 → lobes_cli-0.92.0}/tests/test_bench_report.py +0 -0
  954. {lobes_cli-0.90.3 → lobes_cli-0.92.0}/tests/test_benchmark_all_lobes.py +0 -0
  955. {lobes_cli-0.90.3 → lobes_cli-0.92.0}/tests/test_benchmark_window.py +0 -0
  956. {lobes_cli-0.90.3 → lobes_cli-0.92.0}/tests/test_bluetts_dockerfile.py +0 -0
  957. {lobes_cli-0.90.3 → lobes_cli-0.92.0}/tests/test_bluetts_server.py +0 -0
  958. {lobes_cli-0.90.3 → lobes_cli-0.92.0}/tests/test_boundary_serves_only.py +0 -0
  959. {lobes_cli-0.90.3 → lobes_cli-0.92.0}/tests/test_buildability_guard.py +0 -0
  960. {lobes_cli-0.90.3 → lobes_cli-0.92.0}/tests/test_calibration_knee.py +0 -0
  961. {lobes_cli-0.90.3 → lobes_cli-0.92.0}/tests/test_capabilities_member_lanes.py +0 -0
  962. {lobes_cli-0.90.3 → lobes_cli-0.92.0}/tests/test_cat_probe.py +0 -0
  963. {lobes_cli-0.90.3 → lobes_cli-0.92.0}/tests/test_cat_score.py +0 -0
  964. {lobes_cli-0.90.3 → lobes_cli-0.92.0}/tests/test_catalog_embed_lanes.py +0 -0
  965. {lobes_cli-0.90.3 → lobes_cli-0.92.0}/tests/test_chatterbox_ml_dockerfile.py +0 -0
  966. {lobes_cli-0.90.3 → lobes_cli-0.92.0}/tests/test_chatterbox_multilingual_server.py +0 -0
  967. {lobes_cli-0.90.3 → lobes_cli-0.92.0}/tests/test_chatterbox_pcm16.py +0 -0
  968. {lobes_cli-0.90.3 → lobes_cli-0.92.0}/tests/test_chatterbox_readiness.py +0 -0
  969. {lobes_cli-0.90.3 → lobes_cli-0.92.0}/tests/test_clef_eval.py +0 -0
  970. {lobes_cli-0.90.3 → lobes_cli-0.92.0}/tests/test_clef_quant_index.py +0 -0
  971. {lobes_cli-0.90.3 → lobes_cli-0.92.0}/tests/test_clef_sets.py +0 -0
  972. {lobes_cli-0.90.3 → lobes_cli-0.92.0}/tests/test_cli.py +0 -0
  973. {lobes_cli-0.90.3 → lobes_cli-0.92.0}/tests/test_cli_benchmark_profiles.py +0 -0
  974. {lobes_cli-0.90.3 → lobes_cli-0.92.0}/tests/test_cli_calibrate.py +0 -0
  975. {lobes_cli-0.90.3 → lobes_cli-0.92.0}/tests/test_cli_capabilities.py +0 -0
  976. {lobes_cli-0.90.3 → lobes_cli-0.92.0}/tests/test_cli_capabilities_replicas.py +0 -0
  977. {lobes_cli-0.90.3 → lobes_cli-0.92.0}/tests/test_cli_eval.py +0 -0
  978. {lobes_cli-0.90.3 → lobes_cli-0.92.0}/tests/test_cli_eval_cat.py +0 -0
  979. {lobes_cli-0.90.3 → lobes_cli-0.92.0}/tests/test_cli_fleet.py +0 -0
  980. {lobes_cli-0.90.3 → lobes_cli-0.92.0}/tests/test_cli_gateway_auth.py +0 -0
  981. {lobes_cli-0.90.3 → lobes_cli-0.92.0}/tests/test_cli_introspection.py +0 -0
  982. {lobes_cli-0.90.3 → lobes_cli-0.92.0}/tests/test_cli_lanes.py +0 -0
  983. {lobes_cli-0.90.3 → lobes_cli-0.92.0}/tests/test_cli_logs.py +0 -0
  984. {lobes_cli-0.90.3 → lobes_cli-0.92.0}/tests/test_cli_measure.py +0 -0
  985. {lobes_cli-0.90.3 → lobes_cli-0.92.0}/tests/test_cli_mesh.py +0 -0
  986. {lobes_cli-0.90.3 → lobes_cli-0.92.0}/tests/test_cli_route.py +0 -0
  987. {lobes_cli-0.90.3 → lobes_cli-0.92.0}/tests/test_cli_run.py +0 -0
  988. {lobes_cli-0.90.3 → lobes_cli-0.92.0}/tests/test_cli_tunnel.py +0 -0
  989. {lobes_cli-0.90.3 → lobes_cli-0.92.0}/tests/test_cli_up.py +0 -0
  990. {lobes_cli-0.90.3 → lobes_cli-0.92.0}/tests/test_cli_up_replace.py +0 -0
  991. {lobes_cli-0.90.3 → lobes_cli-0.92.0}/tests/test_cli_wiring.py +0 -0
  992. {lobes_cli-0.90.3 → lobes_cli-0.92.0}/tests/test_client_reasoning_roundtrip.py +0 -0
  993. {lobes_cli-0.90.3 → lobes_cli-0.92.0}/tests/test_colleague_contract.py +0 -0
  994. {lobes_cli-0.90.3 → lobes_cli-0.92.0}/tests/test_comfyui_compose.py +0 -0
  995. {lobes_cli-0.90.3 → lobes_cli-0.92.0}/tests/test_comfyui_dockerfile.py +0 -0
  996. {lobes_cli-0.90.3 → lobes_cli-0.92.0}/tests/test_comfyui_volumes.py +0 -0
  997. {lobes_cli-0.90.3 → lobes_cli-0.92.0}/tests/test_compose_chain.py +0 -0
  998. {lobes_cli-0.90.3 → lobes_cli-0.92.0}/tests/test_decider_render.py +0 -0
  999. {lobes_cli-0.90.3 → lobes_cli-0.92.0}/tests/test_decider_sidecar.py +0 -0
  1000. {lobes_cli-0.90.3 → lobes_cli-0.92.0}/tests/test_decider_sidecar_vllm.py +0 -0
  1001. {lobes_cli-0.90.3 → lobes_cli-0.92.0}/tests/test_deployment_lock.py +0 -0
  1002. {lobes_cli-0.90.3 → lobes_cli-0.92.0}/tests/test_deployment_lock_doc.py +0 -0
  1003. {lobes_cli-0.90.3 → lobes_cli-0.92.0}/tests/test_detect.py +0 -0
  1004. {lobes_cli-0.90.3 → lobes_cli-0.92.0}/tests/test_doctor.py +0 -0
  1005. {lobes_cli-0.90.3 → lobes_cli-0.92.0}/tests/test_doctor_audio_he.py +0 -0
  1006. {lobes_cli-0.90.3 → lobes_cli-0.92.0}/tests/test_doctor_fix.py +0 -0
  1007. {lobes_cli-0.90.3 → lobes_cli-0.92.0}/tests/test_doctor_lane_safety.py +0 -0
  1008. {lobes_cli-0.90.3 → lobes_cli-0.92.0}/tests/test_doctor_machine_profile.py +0 -0
  1009. {lobes_cli-0.90.3 → lobes_cli-0.92.0}/tests/test_doctor_mesh_retirement.py +0 -0
  1010. {lobes_cli-0.90.3 → lobes_cli-0.92.0}/tests/test_doctor_passthrough.py +0 -0
  1011. {lobes_cli-0.90.3 → lobes_cli-0.92.0}/tests/test_doctor_refresh_plugin.py +0 -0
  1012. {lobes_cli-0.90.3 → lobes_cli-0.92.0}/tests/test_doctor_repin_version.py +0 -0
  1013. {lobes_cli-0.90.3 → lobes_cli-0.92.0}/tests/test_doctor_role_command.py +0 -0
  1014. {lobes_cli-0.90.3 → lobes_cli-0.92.0}/tests/test_doctor_role_probe.py +0 -0
  1015. {lobes_cli-0.90.3 → lobes_cli-0.92.0}/tests/test_dropped_lobe_honesty.py +0 -0
  1016. {lobes_cli-0.90.3 → lobes_cli-0.92.0}/tests/test_embed_finetune.py +0 -0
  1017. {lobes_cli-0.90.3 → lobes_cli-0.92.0}/tests/test_embed_h2h.py +0 -0
  1018. {lobes_cli-0.90.3 → lobes_cli-0.92.0}/tests/test_embed_lanes.py +0 -0
  1019. {lobes_cli-0.90.3 → lobes_cli-0.92.0}/tests/test_embed_lanes_import.py +0 -0
  1020. {lobes_cli-0.90.3 → lobes_cli-0.92.0}/tests/test_embed_overlay.py +0 -0
  1021. {lobes_cli-0.90.3 → lobes_cli-0.92.0}/tests/test_embed_sidecar.py +0 -0
  1022. {lobes_cli-0.90.3 → lobes_cli-0.92.0}/tests/test_fleet_audio_vad_env.py +0 -0
  1023. {lobes_cli-0.90.3 → lobes_cli-0.92.0}/tests/test_fleet_compose_mounts.py +0 -0
  1024. {lobes_cli-0.90.3 → lobes_cli-0.92.0}/tests/test_fleet_minor.py +0 -0
  1025. {lobes_cli-0.90.3 → lobes_cli-0.92.0}/tests/test_fleet_per_machine_knobs.py +0 -0
  1026. {lobes_cli-0.90.3 → lobes_cli-0.92.0}/tests/test_fleet_secrets_env_file.py +0 -0
  1027. {lobes_cli-0.90.3 → lobes_cli-0.92.0}/tests/test_fleet_template_gateway_env.py +0 -0
  1028. {lobes_cli-0.90.3 → lobes_cli-0.92.0}/tests/test_gateway_audio_peer.py +0 -0
  1029. {lobes_cli-0.90.3 → lobes_cli-0.92.0}/tests/test_gateway_audio_routing.py +0 -0
  1030. {lobes_cli-0.90.3 → lobes_cli-0.92.0}/tests/test_gateway_auth.py +0 -0
  1031. {lobes_cli-0.90.3 → lobes_cli-0.92.0}/tests/test_gateway_auth_rejection_log.py +0 -0
  1032. {lobes_cli-0.90.3 → lobes_cli-0.92.0}/tests/test_gateway_busy_e2e.py +0 -0
  1033. {lobes_cli-0.90.3 → lobes_cli-0.92.0}/tests/test_gateway_capabilities.py +0 -0
  1034. {lobes_cli-0.90.3 → lobes_cli-0.92.0}/tests/test_gateway_config_proxy.py +0 -0
  1035. {lobes_cli-0.90.3 → lobes_cli-0.92.0}/tests/test_gateway_config_replicas.py +0 -0
  1036. {lobes_cli-0.90.3 → lobes_cli-0.92.0}/tests/test_gateway_config_wiring.py +0 -0
  1037. {lobes_cli-0.90.3 → lobes_cli-0.92.0}/tests/test_gateway_decider.py +0 -0
  1038. {lobes_cli-0.90.3 → lobes_cli-0.92.0}/tests/test_gateway_decider_mesh.py +0 -0
  1039. {lobes_cli-0.90.3 → lobes_cli-0.92.0}/tests/test_gateway_embed_deep.py +0 -0
  1040. {lobes_cli-0.90.3 → lobes_cli-0.92.0}/tests/test_gateway_embed_lanes.py +0 -0
  1041. {lobes_cli-0.90.3 → lobes_cli-0.92.0}/tests/test_gateway_env_passthrough_guard.py +0 -0
  1042. {lobes_cli-0.90.3 → lobes_cli-0.92.0}/tests/test_gateway_feasibility.py +0 -0
  1043. {lobes_cli-0.90.3 → lobes_cli-0.92.0}/tests/test_gateway_fleet_doc.py +0 -0
  1044. {lobes_cli-0.90.3 → lobes_cli-0.92.0}/tests/test_gateway_force_strict.py +0 -0
  1045. {lobes_cli-0.90.3 → lobes_cli-0.92.0}/tests/test_gateway_get_relay.py +0 -0
  1046. {lobes_cli-0.90.3 → lobes_cli-0.92.0}/tests/test_gateway_hand_adapters.py +0 -0
  1047. {lobes_cli-0.90.3 → lobes_cli-0.92.0}/tests/test_gateway_member_lanes.py +0 -0
  1048. {lobes_cli-0.90.3 → lobes_cli-0.92.0}/tests/test_gateway_no_lifecycle_actuator.py +0 -0
  1049. {lobes_cli-0.90.3 → lobes_cli-0.92.0}/tests/test_gateway_peer_advert.py +0 -0
  1050. {lobes_cli-0.90.3 → lobes_cli-0.92.0}/tests/test_gateway_peer_only_pool.py +0 -0
  1051. {lobes_cli-0.90.3 → lobes_cli-0.92.0}/tests/test_gateway_pool.py +0 -0
  1052. {lobes_cli-0.90.3 → lobes_cli-0.92.0}/tests/test_gateway_pool_capacity_wiring.py +0 -0
  1053. {lobes_cli-0.90.3 → lobes_cli-0.92.0}/tests/test_gateway_pool_pressure.py +0 -0
  1054. {lobes_cli-0.90.3 → lobes_cli-0.92.0}/tests/test_gateway_pool_saturation.py +0 -0
  1055. {lobes_cli-0.90.3 → lobes_cli-0.92.0}/tests/test_gateway_readiness.py +0 -0
  1056. {lobes_cli-0.90.3 → lobes_cli-0.92.0}/tests/test_gateway_realtime_ws.py +0 -0
  1057. {lobes_cli-0.90.3 → lobes_cli-0.92.0}/tests/test_gateway_render_facade.py +0 -0
  1058. {lobes_cli-0.90.3 → lobes_cli-0.92.0}/tests/test_gateway_replicas.py +0 -0
  1059. {lobes_cli-0.90.3 → lobes_cli-0.92.0}/tests/test_gateway_routing.py +0 -0
  1060. {lobes_cli-0.90.3 → lobes_cli-0.92.0}/tests/test_gateway_selection.py +0 -0
  1061. {lobes_cli-0.90.3 → lobes_cli-0.92.0}/tests/test_gateway_serve_mesh_wiring.py +0 -0
  1062. {lobes_cli-0.90.3 → lobes_cli-0.92.0}/tests/test_gateway_server.py +0 -0
  1063. {lobes_cli-0.90.3 → lobes_cli-0.92.0}/tests/test_gateway_status.py +0 -0
  1064. {lobes_cli-0.90.3 → lobes_cli-0.92.0}/tests/test_gateway_stream_termination.py +0 -0
  1065. {lobes_cli-0.90.3 → lobes_cli-0.92.0}/tests/test_gateway_tiers.py +0 -0
  1066. {lobes_cli-0.90.3 → lobes_cli-0.92.0}/tests/test_gemma4_compose.py +0 -0
  1067. {lobes_cli-0.90.3 → lobes_cli-0.92.0}/tests/test_gemma4_dockerfile.py +0 -0
  1068. {lobes_cli-0.90.3 → lobes_cli-0.92.0}/tests/test_gen_api_key.py +0 -0
  1069. {lobes_cli-0.90.3 → lobes_cli-0.92.0}/tests/test_gitignore_convention.py +0 -0
  1070. {lobes_cli-0.90.3 → lobes_cli-0.92.0}/tests/test_governor.py +0 -0
  1071. {lobes_cli-0.90.3 → lobes_cli-0.92.0}/tests/test_init.py +0 -0
  1072. {lobes_cli-0.90.3 → lobes_cli-0.92.0}/tests/test_init_audio_he.py +0 -0
  1073. {lobes_cli-0.90.3 → lobes_cli-0.92.0}/tests/test_init_coresidency.py +0 -0
  1074. {lobes_cli-0.90.3 → lobes_cli-0.92.0}/tests/test_init_from_lock.py +0 -0
  1075. {lobes_cli-0.90.3 → lobes_cli-0.92.0}/tests/test_init_gpu_access.py +0 -0
  1076. {lobes_cli-0.90.3 → lobes_cli-0.92.0}/tests/test_init_profile.py +0 -0
  1077. {lobes_cli-0.90.3 → lobes_cli-0.92.0}/tests/test_init_shape.py +0 -0
  1078. {lobes_cli-0.90.3 → lobes_cli-0.92.0}/tests/test_innereye_ui_port.py +0 -0
  1079. {lobes_cli-0.90.3 → lobes_cli-0.92.0}/tests/test_lane_safety_compose.py +0 -0
  1080. {lobes_cli-0.90.3 → lobes_cli-0.92.0}/tests/test_lane_safety_knobs_documented.py +0 -0
  1081. {lobes_cli-0.90.3 → lobes_cli-0.92.0}/tests/test_lane_state_dir.py +0 -0
  1082. {lobes_cli-0.90.3 → lobes_cli-0.92.0}/tests/test_lifecycle_cache_clear.py +0 -0
  1083. {lobes_cli-0.90.3 → lobes_cli-0.92.0}/tests/test_live_capabilities.py +0 -0
  1084. {lobes_cli-0.90.3 → lobes_cli-0.92.0}/tests/test_lobes_compose_wrapper.py +0 -0
  1085. {lobes_cli-0.90.3 → lobes_cli-0.92.0}/tests/test_lock_drift.py +0 -0
  1086. {lobes_cli-0.90.3 → lobes_cli-0.92.0}/tests/test_logwrap_backoff.py +0 -0
  1087. {lobes_cli-0.90.3 → lobes_cli-0.92.0}/tests/test_logwrap_held.py +0 -0
  1088. {lobes_cli-0.90.3 → lobes_cli-0.92.0}/tests/test_logwrap_hold.py +0 -0
  1089. {lobes_cli-0.90.3 → lobes_cli-0.92.0}/tests/test_machine_adapter.py +0 -0
  1090. {lobes_cli-0.90.3 → lobes_cli-0.92.0}/tests/test_machines.py +0 -0
  1091. {lobes_cli-0.90.3 → lobes_cli-0.92.0}/tests/test_mesh_config.py +0 -0
  1092. {lobes_cli-0.90.3 → lobes_cli-0.92.0}/tests/test_mesh_flap_per_name.py +0 -0
  1093. {lobes_cli-0.90.3 → lobes_cli-0.92.0}/tests/test_mesh_heartbeat_live.py +0 -0
  1094. {lobes_cli-0.90.3 → lobes_cli-0.92.0}/tests/test_mesh_lanes.py +0 -0
  1095. {lobes_cli-0.90.3 → lobes_cli-0.92.0}/tests/test_mesh_member_lanes.py +0 -0
  1096. {lobes_cli-0.90.3 → lobes_cli-0.92.0}/tests/test_mesh_naming.py +0 -0
  1097. {lobes_cli-0.90.3 → lobes_cli-0.92.0}/tests/test_mesh_roster.py +0 -0
  1098. {lobes_cli-0.90.3 → lobes_cli-0.92.0}/tests/test_mesh_routes.py +0 -0
  1099. {lobes_cli-0.90.3 → lobes_cli-0.92.0}/tests/test_mesh_routing.py +0 -0
  1100. {lobes_cli-0.90.3 → lobes_cli-0.92.0}/tests/test_mesh_routing_wiring.py +0 -0
  1101. {lobes_cli-0.90.3 → lobes_cli-0.92.0}/tests/test_mesh_templates.py +0 -0
  1102. {lobes_cli-0.90.3 → lobes_cli-0.92.0}/tests/test_mesh_verify_reason.py +0 -0
  1103. {lobes_cli-0.90.3 → lobes_cli-0.92.0}/tests/test_mesh_wire.py +0 -0
  1104. {lobes_cli-0.90.3 → lobes_cli-0.92.0}/tests/test_minor_client.py +0 -0
  1105. {lobes_cli-0.90.3 → lobes_cli-0.92.0}/tests/test_minor_governance.py +0 -0
  1106. {lobes_cli-0.90.3 → lobes_cli-0.92.0}/tests/test_minor_integration.py +0 -0
  1107. {lobes_cli-0.90.3 → lobes_cli-0.92.0}/tests/test_minor_logprobs.py +0 -0
  1108. {lobes_cli-0.90.3 → lobes_cli-0.92.0}/tests/test_nightly_migration_doc.py +0 -0
  1109. {lobes_cli-0.90.3 → lobes_cli-0.92.0}/tests/test_no_config_byte_identity.py +0 -0
  1110. {lobes_cli-0.90.3 → lobes_cli-0.92.0}/tests/test_orin_associate_boot_order.py +0 -0
  1111. {lobes_cli-0.90.3 → lobes_cli-0.92.0}/tests/test_orin_associate_shape.py +0 -0
  1112. {lobes_cli-0.90.3 → lobes_cli-0.92.0}/tests/test_orin_cortex_shape.py +0 -0
  1113. {lobes_cli-0.90.3 → lobes_cli-0.92.0}/tests/test_orin_decider_shape.py +0 -0
  1114. {lobes_cli-0.90.3 → lobes_cli-0.92.0}/tests/test_orin_embed_shape.py +0 -0
  1115. {lobes_cli-0.90.3 → lobes_cli-0.92.0}/tests/test_orin_gateway_read_timeout.py +0 -0
  1116. {lobes_cli-0.90.3 → lobes_cli-0.92.0}/tests/test_orin_lobe_shape.py +0 -0
  1117. {lobes_cli-0.90.3 → lobes_cli-0.92.0}/tests/test_overview_live.py +0 -0
  1118. {lobes_cli-0.90.3 → lobes_cli-0.92.0}/tests/test_parser.py +0 -0
  1119. {lobes_cli-0.90.3 → lobes_cli-0.92.0}/tests/test_peer_referral.py +0 -0
  1120. {lobes_cli-0.90.3 → lobes_cli-0.92.0}/tests/test_pooling_gear_fingerprint.py +0 -0
  1121. {lobes_cli-0.90.3 → lobes_cli-0.92.0}/tests/test_preserve_thinking_diagnostic.py +0 -0
  1122. {lobes_cli-0.90.3 → lobes_cli-0.92.0}/tests/test_pressure.py +0 -0
  1123. {lobes_cli-0.90.3 → lobes_cli-0.92.0}/tests/test_pressure_policy.py +0 -0
  1124. {lobes_cli-0.90.3 → lobes_cli-0.92.0}/tests/test_profile_goldens.py +0 -0
  1125. {lobes_cli-0.90.3 → lobes_cli-0.92.0}/tests/test_profile_render.py +0 -0
  1126. {lobes_cli-0.90.3 → lobes_cli-0.92.0}/tests/test_profile_schema.py +0 -0
  1127. {lobes_cli-0.90.3 → lobes_cli-0.92.0}/tests/test_profiles.py +0 -0
  1128. {lobes_cli-0.90.3 → lobes_cli-0.92.0}/tests/test_readiness_peer_probe.py +0 -0
  1129. {lobes_cli-0.90.3 → lobes_cli-0.92.0}/tests/test_realtime_app_stream_structure.py +0 -0
  1130. {lobes_cli-0.90.3 → lobes_cli-0.92.0}/tests/test_realtime_audio_env_coverage.py +0 -0
  1131. {lobes_cli-0.90.3 → lobes_cli-0.92.0}/tests/test_realtime_audio_facade.py +0 -0
  1132. {lobes_cli-0.90.3 → lobes_cli-0.92.0}/tests/test_realtime_continuation.py +0 -0
  1133. {lobes_cli-0.90.3 → lobes_cli-0.92.0}/tests/test_realtime_conversation.py +0 -0
  1134. {lobes_cli-0.90.3 → lobes_cli-0.92.0}/tests/test_realtime_conversation_stream.py +0 -0
  1135. {lobes_cli-0.90.3 → lobes_cli-0.92.0}/tests/test_realtime_floor.py +0 -0
  1136. {lobes_cli-0.90.3 → lobes_cli-0.92.0}/tests/test_realtime_floor_segments.py +0 -0
  1137. {lobes_cli-0.90.3 → lobes_cli-0.92.0}/tests/test_realtime_generate_failure_surfacing.py +0 -0
  1138. {lobes_cli-0.90.3 → lobes_cli-0.92.0}/tests/test_realtime_generate_stream_settings.py +0 -0
  1139. {lobes_cli-0.90.3 → lobes_cli-0.92.0}/tests/test_realtime_he_accept_helpers.py +0 -0
  1140. {lobes_cli-0.90.3 → lobes_cli-0.92.0}/tests/test_realtime_imports.py +0 -0
  1141. {lobes_cli-0.90.3 → lobes_cli-0.92.0}/tests/test_realtime_parallel_tool_calls.py +0 -0
  1142. {lobes_cli-0.90.3 → lobes_cli-0.92.0}/tests/test_realtime_pcm.py +0 -0
  1143. {lobes_cli-0.90.3 → lobes_cli-0.92.0}/tests/test_realtime_protocol.py +0 -0
  1144. {lobes_cli-0.90.3 → lobes_cli-0.92.0}/tests/test_realtime_readiness.py +0 -0
  1145. {lobes_cli-0.90.3 → lobes_cli-0.92.0}/tests/test_realtime_segmenter.py +0 -0
  1146. {lobes_cli-0.90.3 → lobes_cli-0.92.0}/tests/test_realtime_segmenter_eager.py +0 -0
  1147. {lobes_cli-0.90.3 → lobes_cli-0.92.0}/tests/test_realtime_segmenter_level_gate.py +0 -0
  1148. {lobes_cli-0.90.3 → lobes_cli-0.92.0}/tests/test_realtime_sentences.py +0 -0
  1149. {lobes_cli-0.90.3 → lobes_cli-0.92.0}/tests/test_realtime_session.py +0 -0
  1150. {lobes_cli-0.90.3 → lobes_cli-0.92.0}/tests/test_realtime_settings.py +0 -0
  1151. {lobes_cli-0.90.3 → lobes_cli-0.92.0}/tests/test_realtime_smoke_helpers.py +0 -0
  1152. {lobes_cli-0.90.3 → lobes_cli-0.92.0}/tests/test_realtime_speculation.py +0 -0
  1153. {lobes_cli-0.90.3 → lobes_cli-0.92.0}/tests/test_realtime_stt_forward.py +0 -0
  1154. {lobes_cli-0.90.3 → lobes_cli-0.92.0}/tests/test_realtime_timings.py +0 -0
  1155. {lobes_cli-0.90.3 → lobes_cli-0.92.0}/tests/test_realtime_tts_gate.py +0 -0
  1156. {lobes_cli-0.90.3 → lobes_cli-0.92.0}/tests/test_realtime_tts_text.py +0 -0
  1157. {lobes_cli-0.90.3 → lobes_cli-0.92.0}/tests/test_realtime_turn.py +0 -0
  1158. {lobes_cli-0.90.3 → lobes_cli-0.92.0}/tests/test_realtime_turn_stream.py +0 -0
  1159. {lobes_cli-0.90.3 → lobes_cli-0.92.0}/tests/test_realtime_vocalize.py +0 -0
  1160. {lobes_cli-0.90.3 → lobes_cli-0.92.0}/tests/test_realtime_wire.py +0 -0
  1161. {lobes_cli-0.90.3 → lobes_cli-0.92.0}/tests/test_role_probes.py +0 -0
  1162. {lobes_cli-0.90.3 → lobes_cli-0.92.0}/tests/test_roles_audio_advert.py +0 -0
  1163. {lobes_cli-0.90.3 → lobes_cli-0.92.0}/tests/test_roles_audio_language.py +0 -0
  1164. {lobes_cli-0.90.3 → lobes_cli-0.92.0}/tests/test_roles_proxied.py +0 -0
  1165. {lobes_cli-0.90.3 → lobes_cli-0.92.0}/tests/test_roles_replicas.py +0 -0
  1166. {lobes_cli-0.90.3 → lobes_cli-0.92.0}/tests/test_routing_models_member_lanes.py +0 -0
  1167. {lobes_cli-0.90.3 → lobes_cli-0.92.0}/tests/test_scan_deployment_secrets.py +0 -0
  1168. {lobes_cli-0.90.3 → lobes_cli-0.92.0}/tests/test_senses_speculative_config.py +0 -0
  1169. {lobes_cli-0.90.3 → lobes_cli-0.92.0}/tests/test_shape_budgets.py +0 -0
  1170. {lobes_cli-0.90.3 → lobes_cli-0.92.0}/tests/test_shape_contract_matrix.py +0 -0
  1171. {lobes_cli-0.90.3 → lobes_cli-0.92.0}/tests/test_shape_gateway_only.py +0 -0
  1172. {lobes_cli-0.90.3 → lobes_cli-0.92.0}/tests/test_shape_goldens.py +0 -0
  1173. {lobes_cli-0.90.3 → lobes_cli-0.92.0}/tests/test_shape_host_env_rerender.py +0 -0
  1174. {lobes_cli-0.90.3 → lobes_cli-0.92.0}/tests/test_shapes.py +0 -0
  1175. {lobes_cli-0.90.3 → lobes_cli-0.92.0}/tests/test_smoke_duo.py +0 -0
  1176. {lobes_cli-0.90.3 → lobes_cli-0.92.0}/tests/test_spec_arms.py +0 -0
  1177. {lobes_cli-0.90.3 → lobes_cli-0.92.0}/tests/test_spike_preflight.py +0 -0
  1178. {lobes_cli-0.90.3 → lobes_cli-0.92.0}/tests/test_status_fleet.py +0 -0
  1179. {lobes_cli-0.90.3 → lobes_cli-0.92.0}/tests/test_status_pressure.py +0 -0
  1180. {lobes_cli-0.90.3 → lobes_cli-0.92.0}/tests/test_switch_bf16.py +0 -0
  1181. {lobes_cli-0.90.3 → lobes_cli-0.92.0}/tests/test_switch_plan_goldens.py +0 -0
  1182. {lobes_cli-0.90.3 → lobes_cli-0.92.0}/tests/test_templates_preserve_thinking.py +0 -0
  1183. {lobes_cli-0.90.3 → lobes_cli-0.92.0}/tests/test_tier_request.py +0 -0
  1184. {lobes_cli-0.90.3 → lobes_cli-0.92.0}/tests/test_tool_parser_plugin.py +0 -0
  1185. {lobes_cli-0.90.3 → lobes_cli-0.92.0}/tests/test_tts_client_hebrew_diacritizer.py +0 -0
  1186. {lobes_cli-0.90.3 → lobes_cli-0.92.0}/tests/test_tts_pause_and_truncation.py +0 -0
  1187. {lobes_cli-0.90.3 → lobes_cli-0.92.0}/tests/test_up_no_deps_isolation.py +0 -0
  1188. {lobes_cli-0.90.3 → lobes_cli-0.92.0}/tests/test_upgrade_compat.py +0 -0
  1189. {lobes_cli-0.90.3 → lobes_cli-0.92.0}/tests/test_variation.py +0 -0
  1190. {lobes_cli-0.90.3 → lobes_cli-0.92.0}/tests/test_variation_catalog.py +0 -0
  1191. {lobes_cli-0.90.3 → lobes_cli-0.92.0}/tests/test_vllm_plugin_thinking.py +0 -0
  1192. {lobes_cli-0.90.3 → lobes_cli-0.92.0}/tests/test_watcher.py +0 -0
  1193. {lobes_cli-0.90.3 → lobes_cli-0.92.0}/tests/test_wheel_excludes_deployments.py +0 -0
  1194. {lobes_cli-0.90.3 → lobes_cli-0.92.0}/tests/test_worker_compose.py +0 -0
  1195. {lobes_cli-0.90.3 → lobes_cli-0.92.0}/tests/test_worker_recipe_knobs.py +0 -0
@@ -4,6 +4,38 @@ All notable changes to this project are documented here. The format is based on
4
4
  [Keep a Changelog](https://keepachangelog.com/en/1.1.0/), and this project
5
5
  adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html).
6
6
 
7
+ ## [0.92.0] - 2026-10-26
8
+
9
+ ### Added
10
+
11
+ - Catalog entry `nvidia/NVIDIA-Nemotron-3.5-Bolt-74B-A9B-24GB` (74B-A9B MoE hybrid, text+image+video, 262144 native, modelopt mixed IQ2/Q8/NVFP4, DFlash LiLiCorr draft) with its doc, a `qwen3_coder` parser rule, and a Spark GB10 acceptance transcript (text, image, tool call and a 231,935-token needle pass).
12
+
13
+ ### Changed
14
+
15
+ - `worker` is now Nemotron 3.5 Bolt (operator decision, 2026-10-26), hosted on the DGX Spark; `nvidia/Qwen3.6-35B-A3B-NVFP4` is demoted to a kept candidate. The worker contract is unchanged. Bolt needs the card's vLLM nightly plus `b12x` and is sm_12x-only; the packaged `vllm-worker` lane cannot express its flags yet, so the Spark serves it through a full command in its hand-kept override.
16
+
17
+ ## [0.91.0] - 2026-10-23
18
+
19
+ ### Added
20
+
21
+ - Hebrew Whisper STT (audio-he overlay): decode-quality knobs for long recordings (issue #329) - STT_NO_REPEAT_NGRAM_SIZE (default 6), STT_REPETITION_PENALTY (default 1.0 = off), STT_COMPRESSION_RATIO_MAX (default 2.4), STT_TEMPERATURE_FALLBACK (default 0.2,0.4), STT_LOGPROB_STAT (default median; mean = legacy), STT_MAX_WORD_RUN (default 4; 0/off disables), STT_VAD (default auto) with STT_VAD_THRESHOLD / STT_VAD_MIN_SPEECH_MS; each has an off value that restores the previous decode exactly.
22
+ - Word-run knobs (#329 follow-up): STT_MAX_WORD_RUN (default 4; 0/off disables) TRIMS a run of one word, or one two-word phrase (Unicode word tokens, punctuation ignored), to 3 repeats and keeps the rest of the chunk, so emphatic speech is never dropped; STT_WORD_RUN_FAIL (default 8; 0/off disables) fails a multi-window chunk with a run that long like a compression-ratio failure - retried through the temperature ladder, then dropped with reason=word_run. stt_chunk lines carry word_run=, max_word_run= and word_run_fail=, and a trim logs event=trimmed.
23
+ - Structured stt_chunk (retry / dropped / trimmed / skipped) and per-request stt_request log lines in the stt container, so dropped and retried chunks are observable server-side; stt_request names the request policy (policy=single_window|multi_window stat=mean|median); the client-facing dropped[] field waits for verbose_json (#328).
24
+
25
+ ### Changed
26
+
27
+ - STT_LOGPROB_STAT now defaults to median (threshold STT_MIN_AVG_LOGPROB=-0.35 unchanged) for multi-window uploads: on a live A/B on the DGX Spark the mean gate dropped 118 of 215 decoded chunks and the median gate 39 of 215.
28
+ - Single-window requests (every realtime turn) keep the pre-#329 confidence gate exactly: the mean statistic, one greedy decode, no temperature fallback, a word run trimmed but never failed. A short silence hallucination (mean -0.58, median -0.15) would pass a median gate.
29
+ - The stt handler runs the whole transcription (resample, Silero scan, every Whisper decode) off the event loop in a worker thread, one transcription at a time behind one lock, so /v1/health/ready stays responsive during a long upload; the Silero wrapper's lock now covers a whole chunk scan (reset plus every window).
30
+ - DecodeSettings, DecodePolicy (both frozen), ChunkOutcome and RequestSummary are dataclasses; STT_MIN_AVG_LOGPROB accepts the same off tokens as the other knobs (false and no included).
31
+ - Dockerfile.whisper-stt installs silero-vad==6.2.1 with --no-deps (its torchaudio dependency would replace the base image torch); the server loads the bundled TorchScript model by path and falls back to decoding every chunk if it cannot.
32
+
33
+ ### Fixed
34
+
35
+ - Hebrew batch STT no longer passes a phrase looped to the token cap (n-gram block plus a per-character zlib compression-ratio check), and re-decodes a chunk failing either gate at sampling temperatures before dropping it (#329). The live A/B measured the median gate with a fail-at-4 word-run gate; the single-window policy and the trim-versus-fail word-run design have not run live.
36
+ - The last chunk of a multi-window upload is never VAD-skipped (a short closing word was lost), and a chunk too short for one VAD window counts as speech.
37
+ - A retry that comes back empty after an earlier attempt failed a gate is a drop (reason=empty_after_retry), logged and counted as one, never as a recovery.
38
+
7
39
  ## [0.90.3] - 2026-10-18
8
40
 
9
41
  ### Fixed
@@ -345,6 +345,19 @@ entry, and the `thor-muse` shape all **stay in-tree** (cite-don't-delete) —
345
345
  dormant, not deleted — and the tier vocabulary above still ranks `worker` <
346
346
  `muse`. See `docs/gemma-4-31b-nvfp4.md`.
347
347
 
348
+ **`worker` re-checkpointed again (2026-10-26, operator decision): Nemotron 3.5
349
+ Bolt 74B-A9B 24GB, hosted on the DGX Spark.** The catalog's `worker` role_hint
350
+ moved from `nvidia/Qwen3.6-35B-A3B-NVFP4` (now a kept candidate) to
351
+ `nvidia/NVIDIA-Nemotron-3.5-Bolt-74B-A9B-24GB`: a ~9B-active MoE hybrid with a
352
+ RADIO ViT (image+video), 262144 native, DFlash from its LiLiCorr draft, the
353
+ same multimodal-coder contract. Its IQ2 experts run only on sm_12x, so the
354
+ Spark hosts it (cortex is dropped there and served by spark2) and the Thor
355
+ stops hosting worker. The packaged `vllm-worker` lane cannot express its flags
356
+ yet; the Spark serves it through a full command in its hand-kept override. See
357
+ `docs/nemotron-3.5-bolt-74b-a9b-24gb.md` and
358
+ `docs/evidence/2026-10-26-accept-nemotron-bolt-spark.txt`. The paragraphs
359
+ below are the record of the Qwen and Lightning workers before it.
360
+
348
361
  **`worker` — the eighth role (opt-in hosting), the fast ground-work DOER —
349
362
  RE-CHECKPOINTED AGAIN, issue #244 (2026-09-10), off Lightning onto
350
363
  `nvidia/Qwen3.6-35B-A3B-NVFP4`.** Deviation d1 (2026-08-20) had put worker on
@@ -383,8 +396,8 @@ exactly (`WORKER_FEASIBLE` / `WORKER_PEER_ORIGIN` / `WORKER_PEER_PROXY` /
383
396
  like `muse`). Under pressure `worker` sheds (429) exactly like
384
397
  cortex/senses/muse.
385
398
 
386
- **Hosted on the Jetson AGX Thor again (#244); the DGX Spark reaches it by
387
- proxy (2026-09-11).** The Thor serves the lane locally through the
399
+ **(Superseded 2026-10-26 — see the Bolt paragraph above.) Hosted on the Jetson
400
+ AGX Thor again (#244); the DGX Spark reaches it by proxy (2026-09-11).** The Thor serves the lane locally through the
388
401
  `thor-worker` shape at `gpu_mem_util=0.45`, full `max_model_len=262144`,
389
402
  DFlash speculation, and `WORKER_MAX_NUM_SEQS=1`. One request at a time is
390
403
  **by design** and is still to be tested under a real multi-agent load. See
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.5
2
2
  Name: lobes-cli
3
- Version: 0.90.3
3
+ Version: 0.92.0
4
4
  Summary: lobes — run, assess, and switch the local vLLM model.
5
5
  Project-URL: Homepage, https://github.com/agentculture/lobes-cli
6
6
  Project-URL: Issues, https://github.com/agentculture/lobes-cli/issues
@@ -0,0 +1,117 @@
1
+ ACCEPTANCE — nvidia/NVIDIA-Nemotron-3.5-Bolt-74B-A9B-24GB served standalone on the DGX Spark GB10
2
+ Date: 2026-10-25 22:36Z - 22:47Z (UTC)
3
+ Box: DGX Spark GB10 (sm_121, 128 GB unified memory)
4
+ Scope: one standalone vLLM container via sparkrun, OUTSIDE the lobes fleet compose and gateway.
5
+ Proves the checkpoint boots and serves on this card with the recipe below. It does NOT
6
+ prove `lobes switch`, a fleet lane, a shape or a gateway route — none of those exist for it.
7
+
8
+ == Checkpoint ==
9
+ model: nvidia/NVIDIA-Nemotron-3.5-Bolt-74B-A9B-24GB @ c6cc2e8ffa353403213d6b9b18aaf8eb684d705a
10
+ draft: nvidia/NVIDIA-Nemotron-3.5-Bolt-74B-A9B-24GB-LiLiCorr @ 449d24140160b8e51871bfc0f0a7338abf640aa1
11
+ config.json: NemotronHPuzzleForCausalLM in a nemotron_h_omni wrapper; RADIO vision_config; no sound_config;
12
+ llm_config.max_position_embeddings 262144
13
+ quantization_config: quant_method modelopt, quant_algo MIXED_PRECISION
14
+ IQ2_XXS 27,728 layers / Q8_0 113 / W4A16_NVFP4 80
15
+
16
+ == Engine ==
17
+ image: vllm/vllm-openai:nightly-77154ca6116ae34cbfe314beef1016bde9b63989 + b12x 1.5.1 baked in
18
+ (the card installs b12x at container start; baked so the boot runs offline)
19
+ vllm: 0.32.0rc1.dev100+g77154ca61 torch 2.13.0+cu130
20
+ Resolved architecture: NemotronH_Omni_Reasoning_V3 (target), LiLiCorrDraftModel (draft)
21
+
22
+ == Serve flags (the card's vLLM command, with the deviations marked) ==
23
+ --revision c6cc2e8f... --trust-remote-code --load-format auto --tensor-parallel-size 1
24
+ --max-model-len 262144 --max-num-seqs 1 --enable-chunked-prefill --kv-cache-dtype fp8
25
+ --linear-backend b12x --moe-backend b12x --attention-backend FLASHINFER
26
+ --mamba-backend flashinfer --mamba-ssm-cache-dtype bfloat16 --mamba-cache-dtype bfloat16 --mamba-cache-mode align
27
+ --limit-mm-per-prompt '{"video":1,"image":1}' --video-pruning-rate 0.5
28
+ --media-io-kwargs '{"video":{"fps":2,"num_frames":256}}'
29
+ --enable-auto-tool-choice --tool-call-parser qwen3_coder
30
+ --reasoning-parser-plugin <checkpoint>/ultra_v3_reasoning_parser.py --reasoning-parser ultra_v3
31
+ --speculative-config '{"method":"dflash","model":"...-LiLiCorr","revision":"449d2414...","num_speculative_tokens":7,
32
+ "rejection_sample_method":"standard","attention_backend":"FLASHINFER","draft_load_config":{"load_format":"auto"}}'
33
+ --seed 42
34
+ DEVIATION --kv-cache-memory-bytes 4294967296 (4 GiB) added; --gpu-memory-utilization 0.40 then only gates the
35
+ startup free-memory check. Reason: on this unified-memory box a util-sized KV pool is not
36
+ deterministic (vLLM's profiling counts other processes' memory growth), measured the same night on a
37
+ different checkpoint at util 0.70 / 0.60 / 0.63 -> 22.99 / 5.87 / 2.94 GiB.
38
+ DEVIATION --allowed-local-media-path / dropped (it lets any caller read any file on the box via file:// URLs).
39
+ DEVIATION revisions pinned; bound to 127.0.0.1.
40
+
41
+ == Boot ==
42
+ 22:39:14 Loading weights took 125.55 seconds (target); 22:39:34 5.63 seconds (draft)
43
+ 22:39:35 Model loading took 24.09 GiB memory and 150.801226 seconds
44
+ 22:40:18 Initial free memory 105.18 GiB, reserved 4.0 GiB memory for KV Cache as specified by kv_cache_memory_bytes
45
+ 22:40:18 GPU KV cache size: 350,464 tokens, Maximum concurrency for 262,144 tokens per request: 1.34x
46
+ 22:40:30 Application startup complete; inference ready
47
+ WARNING max_num_scheduled_tokens is set to 2048 based on the speculative decoding settings (vLLM's own note)
48
+
49
+ == Probes (temperature 1.0, top_p 0.95, thinking on by default) ==
50
+ /v1/models: ['nemotron-3.5-bolt', 'nvidia/NVIDIA-Nemotron-3.5-Bolt-74B-A9B-24GB']
51
+ known-answer "What is 17*23?" -> '391', reasoning split off (149 chars) 0.8 s PASS
52
+ image 64x64 solid red PNG -> 'Red' 2.0 s PASS
53
+ image 64x64 solid blue PNG -> 'Blue' 3.1 s PASS
54
+ image 64x64 solid green PNG -> 'Green' 2.2 s PASS
55
+ tool call get_weather, "weather in Haifa?" -> finish_reason tool_calls,
56
+ get_weather({"city": "Haifa"}), content None 1.2 s PASS
57
+ speed palindrome function -> 359 completion tokens in 5.2 s wall = 69.3 tok/s
58
+ (one request; wall clock includes prefill and reasoning)
59
+ long context 231,935-token prompt, needle mid-document
60
+ -> 'PELICAN-4471' 200.3 s PASS
61
+ The image probes are synthetic solid colours: they prove the vision path is wired and the colour
62
+ negative controls separate, not real-image quality.
63
+
64
+ == Host after the probes ==
65
+ host MemAvailable 70,146 MiB
66
+ kernel NV_ERR_NO_MEMORY lines since the boot: 0
67
+ hottest ACPI zone 86 C (just after the 200 s long-context prefill)
68
+
69
+ == Not proven here ==
70
+ - Any lobes path: `lobes switch` (the stock template's image lacks the nightly + b12x), a fleet lane, a gateway route.
71
+ - Other cards: the IQ2 expert path is sm_12x-only in vLLM; the Orin (sm_87) refuses it, the Thor (sm_110) is untried.
72
+ - Concurrency above 1, sustained decode speed under load, DFlash acceptance rates.
73
+
74
+ ======================================================================================================
75
+ PART 2 — Bolt as THE `worker`, served by the Spark's lobes `vllm-worker` lane (2026-10-25 22:56Z - 23:20Z)
76
+ ======================================================================================================
77
+ Operator decision: `worker` = Bolt, hosted on the Spark (sm_12x only); cortex dropped on the Spark and served
78
+ by spark2 alone; the Thor stops hosting its nvidia/Qwen3.6-35B-A3B-NVFP4 worker and reaches `worker` by mesh.
79
+
80
+ == Spark deployment (hand-kept files, each backed up first) ==
81
+ .env: WORKER_MODEL / WORKER_SERVED_NAME = nvidia/NVIDIA-Nemotron-3.5-Bolt-74B-A9B-24GB, WORKER_MAX_MODEL_LEN=262144,
82
+ WORKER_QUANTIZATION=modelopt_mixed (what vLLM resolves for this config), WORKER_GPU_MEM_UTIL=0.40,
83
+ WORKER_IMAGE=<the nightly + b12x image above>, WORKER_FEASIBLE=true, COMPOSE_PROFILES=worker,
84
+ PRIMARY_FEASIBLE=false
85
+ docker-compose.override.yml: vllm-worker `command:` replaced with the PART 1 flag list (the packaged lane cannot
86
+ express --linear-backend, the mamba cache flags, --kv-cache-memory-bytes, the media limits or the
87
+ reasoning-parser plugin), `depends_on: !reset null` (the pooling lanes it waits on are not hosted here)
88
+ docker-compose.shape.yml: vllm-primary parked in the inert shape-dropped profile
89
+ `lobes up worker --apply`, then `lobes up gateway --apply`
90
+
91
+ == Lane boot (cold compile cache) ==
92
+ 22:59:20 Model loading took 24.09 GiB memory and 155.386063 seconds
93
+ 23:01:24 GPU KV cache size: 350,464 tokens, Maximum concurrency for 262,144 tokens per request: 1.34x
94
+ Application startup complete; container healthy
95
+
96
+ == Thor ==
97
+ .env backed up; WORKER_FEASIBLE=false (explicit), worker dropped from COMPOSE_PROFILES, WORKER_MODEL /
98
+ WORKER_SERVED_NAME set to the Bolt id (advert only). `lobes up worker --down --apply` (with worker still in
99
+ COMPOSE_PROFILES: the verb refuses a role the .env does not activate), then `lobes up gateway --apply`.
100
+ Host MemAvailable after the gateway was healthy: 62 GiB.
101
+
102
+ == Through each member's gateway (API key on) ==
103
+ /capabilities worker model=worker model=cortex
104
+ spark (host) feasible true, ready true, context 262144, quant modelopt '391' local '391' via spark2
105
+ thor feasible false, ready true, hosted_by spark, proxied true '391' via spark '391' via spark2
106
+ spark2 feasible false, ready true, hosted_by spark, proxied true '391' via spark '391' local
107
+ Every forward carried X-Lobes-Mesh-Member (spark for worker, spark2 for cortex) and X-Lobes-Proxied-By.
108
+
109
+ Via the Thor's gateway (mesh forward to the Spark lane):
110
+ image 64x64 solid red -> 'red' 5.5 s PASS
111
+ image 64x64 solid blue -> 'Blue' 2.1 s PASS
112
+ tool get_weather -> finish_reason tool_calls, get_weather({"city": "Haifa"}) 1.9 s PASS
113
+
114
+ == Not proven by PART 2 ==
115
+ - The packaged template serving Bolt (it cannot yet; the Spark uses an override command).
116
+ - Load: `--max-num-seqs 1`, so concurrent worker callers queue.
117
+ - The Orin member's view (not probed).
@@ -0,0 +1,325 @@
1
+ # Hebrew realtime — a duplex Hebrew voice session with tool calling
2
+
3
+ An **opt-in overlay** on top of the realtime audio overlay
4
+ ([`realtime-pipeline.md`](realtime-pipeline.md)): the same `GET /v1/realtime`
5
+ WebSocket session, serving Hebrew. A person speaks Hebrew, the box answers in
6
+ Hebrew, and the model can call tools that the **client** owns. The English
7
+ overlay's files are byte-identical with or without it.
8
+
9
+ If you are building a client, read the contract instead:
10
+ [`contracts/realtime-tool-calling.md`](contracts/realtime-tool-calling.md).
11
+
12
+ > **Status (the #108 rule).** Everything here was built and measured on ONE box
13
+ > — the DGX Spark GB10, 2026-09-18 — from a hand-carried deployment of this
14
+ > branch's wheel. The measurements are real and cited; the *packaged* path
15
+ > (`lobes init --audio --audio-lang he` from a released wheel) is
16
+ > **DECLARED / UNVALIDATED** until an acceptance transcript from that path
17
+ > lands under `docs/evidence/`. No Jetson has run any of it (issue #276).
18
+
19
+ ## The stack
20
+
21
+ | stage | engine | notes |
22
+ |---|---|---|
23
+ | VAD / turn-taking | Silero, `server_vad` | PulseVAD was tried and false-triggered on all four non-speech clips |
24
+ | STT | `ivrit-ai/whisper-large-v3-turbo`, transformers fp16 (`Dockerfile.whisper-stt`, `listen_server_whisper.py`) | ~170–200 ms per turn |
25
+ | generate | the gateway's own `/v1/chat/completions`, `OPENAI_MODEL=multimodal` | on the Spark: `nvidia/Gemma-4-26B-A4B-NVFP4`, `gemma4` tool + reasoning parsers, 32–44 tok/s; native 262144 window since 2026-09-19 (was 32768; `docs/evidence/2026-09-19-accept-multimodal-gemma26b-native-context-spark.txt`) |
26
+ | TTS (shipped default) | Chatterbox **Multilingual**, `language_id="he"`, phonikud niqqud (`Dockerfile.chatterbox-ml`) | seconds per sentence; needs niqqud; samples non-deterministically, hence a runaway guard |
27
+ | TTS (measured best) | **BlueTTS**, CPU ONNX (`Dockerfile.bluetts`, `lobes.realtime.bluetts_server`) | 93–305 ms per sentence, its own G2P, no niqqud wanted — see *BlueTTS* below for why it is not the default |
28
+
29
+ Evidence: `docs/evidence/2026-09-hebrew-*.txt` (seven files) and
30
+ `docs/evidence/2026-09-hebrew-realtime-streaming-bluetts-spark.txt`.
31
+
32
+ ### Three things that are easy to get wrong
33
+
34
+ - **Whisper hallucinates on non-speech** — this fine-tune emits plain text such
35
+ as `תודה רבה` for a door slam, and its `<|nospeech|>` probability reads 0.000.
36
+ The mean token log-probability separates cleanly (speech ≥ −0.12,
37
+ hallucination ≤ −0.58), so the sidecar drops a transcript below
38
+ `STT_MIN_AVG_LOGPROB` (default −0.35; `off` disables). 4/4 non-speech clips
39
+ dropped, 22/22 speech clips kept.
40
+ - **Chatterbox Multilingual without niqqud is unusable for Hebrew** (92 % → ~9 %
41
+ round-trip WER with phonikud), and a Latin-script word derails it.
42
+ - **An NVFP4A16 export of Gemma 4 12B damaged Hebrew** where bf16 and Google's
43
+ QAT checkpoint did not. Check Hebrew output before promoting a quantization.
44
+
45
+ ### Batch transcription: formats and long clips
46
+
47
+ `POST /v1/audio/transcriptions` takes any format the image's ffmpeg decodes —
48
+ m4a/aac, mp3, ogg/opus, webm, flac, and WAV at any bit depth — not only 16-bit
49
+ PCM WAV. A 16-bit RIFF/WAVE upload (the realtime bridge's own turn audio) is
50
+ still read directly and never touches ffmpeg; anything else is transcoded to
51
+ 16 kHz mono PCM16 first, and an undecodable upload is a 400 `invalid_audio`.
52
+
53
+ An upload longer than Whisper's 30 s window is **chunked**, not refused: each
54
+ cut goes at the quietest 20 ms frame in the last 5 s of its window, every
55
+ window is judged on its own (silence skip, gates and retries, below), and the
56
+ non-empty pieces are joined with a space. `STT_MAX_AUDIO_SECONDS` (default 600) caps the
57
+ total; past it the reply is a 413 `clip_too_long`. The upload byte cap
58
+ (`STT_MAX_UPLOAD_BYTES`, 16 MiB) still applies first, so ten minutes of
59
+ uncompressed 16 kHz WAV (~19 MB) needs it raised; a compressed voice note does
60
+ not. MEASURED on the DGX Spark, 2026-10-09, with synthetic BlueTTS speech: an
61
+ 80 s m4a was transcribed in 3 windows in 3.9 s with every sentence intact at
62
+ the seams; mp3, ogg/opus, webm, 24-bit WAV and m4a single sentences each came
63
+ back verbatim. A real microphone recording is still UNVALIDATED (#108).
64
+
65
+ ### Decode quality: loops, retries and silence (issue #329)
66
+
67
+ On a real 56-minute recording, the decode above failed in two ways. A two-word
68
+ phrase looped until the token cap, and a loop is high-confidence, so it passed
69
+ the gate. The gate also dropped 61 of 125 chunks whole with no second try, and
70
+ some of them were real speech. Each chunk now goes through the steps below.
71
+ Each step has a knob whose off value gives back the old decode exactly (for
72
+ `STT_LOGPROB_STAT`, the legacy value `mean`).
73
+
74
+ **Two request policies.** A request of **one** window (30 s or less), which
75
+ covers every realtime turn, and a **multi-window** upload are judged
76
+ differently. The `stt_request` log line names the policy a request used
77
+ (`policy=single_window stat=mean` or `policy=multi_window stat=median`).
78
+
79
+ | | single window (realtime) | multi-window upload |
80
+ |---|---|---|
81
+ | confidence statistic | `mean`, always (the pre-#329 gate) | `STT_LOGPROB_STAT` (default `median`) |
82
+ | decodes per chunk | one greedy decode, never retried | greedy, then `STT_TEMPERATURE_FALLBACK` |
83
+ | word run of 4–7 | trimmed to 3 | trimmed to 3 |
84
+ | word run of 8 or more | trimmed to 3 | fails the chunk: retry, then drop |
85
+ | Silero VAD | never consulted | every chunk except the last |
86
+
87
+ The −0.35 threshold was measured on the **mean**. A short silence
88
+ hallucination can fail the mean while passing a median gate: in live data,
89
+ 4 tokens with log-probabilities −1.9, −0.1, −0.1, −0.2 have a mean of −0.58
90
+ and a median of −0.15. Among short (6 tokens or fewer) first attempts that
91
+ failed the mean gate, 7 of 24 would have passed a median gate. A long upload
92
+ gains more from the median than it loses, but a realtime turn is usually
93
+ short, so it keeps the mean. It also keeps one greedy decode: re-sampling a
94
+ silent turn's hallucination at a higher temperature until one sample passes
95
+ would add up to two decodes of latency for nothing.
96
+
97
+ 1. **Silence skipping (`STT_VAD`).** On an upload longer than one window,
98
+ Silero VAD reads each chunk first. Three kinds of chunk are never skipped:
99
+ a single-window request (the bridge's own VAD already opened that turn, and
100
+ a one-word reply may hold very little speech), the **last** chunk of an
101
+ upload (`plan_chunks` leaves it 0–5 s long, so a closing word may hold less
102
+ than `STT_VAD_MIN_SPEECH_MS` of speech), and a chunk shorter than one 32 ms
103
+ VAD window (there is nothing to judge, so it counts as speech). If Silero
104
+ finds less than `STT_VAD_MIN_SPEECH_MS` of speech, Whisper never decodes
105
+ the chunk, so a silent chunk cannot turn into `תודה רבה`. The scan stops as
106
+ soon as it has found enough speech, so a speech chunk costs only a few VAD
107
+ calls. The image installs the `silero-vad` wheel `--no-deps`, because its
108
+ torchaudio dependency would replace the base image's torch. The server loads
109
+ the bundled TorchScript model by path. If Silero fails to load, or fails on
110
+ a call, the server logs a warning and decodes the chunk as before.
111
+ 2. **Loop prevention at decode time.** `STT_NO_REPEAT_NGRAM_SIZE` sets the
112
+ transformers n-gram block. `STT_REPETITION_PENALTY` is off by default,
113
+ because it penalises every recurring token, Hebrew prefix letters included.
114
+ Beam search was considered and left out. It would cost about 4× the GPU
115
+ time on a shared box, and the per-token log-probabilities the gate reads
116
+ would need different bookkeeping.
117
+ 3. **Gates per attempt.** The first is the confidence gate,
118
+ `STT_MIN_AVG_LOGPROB` (−0.35) on the request policy's statistic (above).
119
+ The second is OpenAI Whisper's zlib compression ratio,
120
+ `STT_COMPRESSION_RATIO_MAX`, default 2.4, on both policies. The ratio is
121
+ taken one byte per character, not over UTF-8. Every Hebrew letter shares
122
+ one UTF-8 lead byte, which alone pushes ordinary Hebrew prose to about 2.3.
123
+ Counted per character, the same prose scores about 1.7, like English. Those
124
+ figures come from synthetic text, not from a recording. The third is the
125
+ **word-run failure check**, `STT_WORD_RUN_FAIL`, default 8, on multi-window
126
+ uploads only (next step).
127
+ 4. **Word runs: trim, or fail only when far beyond speech.** A word run is one
128
+ word, or one two-word phrase, repeated back to back. Words are Unicode
129
+ word tokens compared case-folded and without niqqud, so punctuation between
130
+ the repeats does not break the run. The n-gram block misses such a run (the
131
+ punctuation tokens make every n-gram different), and so does the
132
+ compression ratio (one short run inside a full chunk of speech). Emphatic
133
+ speech repeats words too ("no no no no, I disagree", or a realtime "yes yes
134
+ yes yes"), and failing the whole chunk for it would drop 30 s of correct
135
+ text. So a run of `STT_MAX_WORD_RUN` (4) or more is **trimmed** to
136
+ `STT_MAX_WORD_RUN − 1` repeats, and the rest of the chunk is kept. The cut
137
+ goes from the last kept repeat to the end of the run, so the punctuation
138
+ and words after it follow on. Only a run of `STT_WORD_RUN_FAIL` (8) or
139
+ more, far beyond normal speech, fails a multi-window chunk with
140
+ `reason=word_run`. A single window only trims. The trade-off: the live A/B
141
+ below found hallucinated one-word runs of 11 and 5, both absent from a
142
+ reference transcript. With these defaults the 11 is re-decoded or dropped,
143
+ but the 5 is trimmed to 3, so three words of that hallucination stay in the
144
+ text.
145
+ 5. **Retry before dropping (`STT_TEMPERATURE_FALLBACK`, multi-window only).**
146
+ A chunk that fails any gate is decoded again at each sampling temperature
147
+ in turn. Sampling uses the full distribution, and the gate undoes the
148
+ temperature, so it reads the same quantity every time. The first result
149
+ that passes every gate is kept. If none passes, the chunk is dropped, as
150
+ before, with the failing gates as its `reason` (`low_logprob`,
151
+ `compression_ratio`, `word_run`). An empty or tags-only transcript on the
152
+ first attempt counts as silence and is never retried. An empty retry after
153
+ a failed attempt is a **drop** (`reason=empty_after_retry`), not a
154
+ recovery: the first attempt heard something, and it is gone.
155
+
156
+ | knob | default | off | what it does |
157
+ |---|---|---|---|
158
+ | `STT_LOGPROB_STAT` | `median` | `mean` | Which statistic the confidence gate reads on a multi-window upload. `median` ignores a few rare tokens, such as a name, in an otherwise confident chunk. A single window always reads `mean`. The log lines carry both. |
159
+ | `STT_NO_REPEAT_NGRAM_SIZE` | `6` | `0` | Blocks any repeated token n-gram within a chunk. |
160
+ | `STT_REPETITION_PENALTY` | `1.0` | `1.0` | transformers' repetition penalty. `1.1` is the issue's suggestion. |
161
+ | `STT_COMPRESSION_RATIO_MAX` | `2.4` | `off` | Treats a chunk whose text compresses better than this as a loop. |
162
+ | `STT_MAX_WORD_RUN` | `4` | `0` / `off` | Trims a run of one word or two-word phrase this long to one fewer repeats. Values below 2 fall back to the default. |
163
+ | `STT_WORD_RUN_FAIL` | `8` | `0` / `off` | Fails a multi-window chunk with a run this long (retry, then drop). Values below 2 fall back to the default. |
164
+ | `STT_TEMPERATURE_FALLBACK` | `0.2,0.4` | `off` | Re-decode temperatures for a failing multi-window chunk. Each one is another Whisper decode. |
165
+ | `STT_VAD` | `auto` | `off` | Skips non-speech chunks of a multi-window upload with Silero before decoding. |
166
+ | `STT_VAD_THRESHOLD` | `0.5` | — | Silero speech probability per 32 ms window. |
167
+ | `STT_VAD_MIN_SPEECH_MS` | `250` | — | How much speech makes a chunk worth decoding. |
168
+
169
+ **Off the event loop.** The handler runs the whole transcription (resample,
170
+ VAD scan and every Whisper decode) in a worker thread, as it already did the
171
+ ffmpeg transcode, so `/v1/health/ready` answers while a long upload decodes.
172
+ One transcription runs at a time, behind one lock, so concurrent requests
173
+ never share the GPU or Silero's recurrent state. A realtime turn that arrives
174
+ during a long upload still waits for that upload to finish.
175
+
176
+ **Observability.** The stt container logs one line for each retried, dropped,
177
+ trimmed or skipped chunk:
178
+
179
+ ```text
180
+ stt_chunk event=retry chunk=3/18 attempt=0 temperature=0.0 reason=compression_ratio avg_logprob=-0.04 median_logprob=-0.01 compression_ratio=9.80 word_run=30 policy=multi_window stat=median ... tokens=440
181
+ stt_chunk event=dropped chunk=7/18 attempt=2 temperature=0.4 reason=low_logprob ... text='...'
182
+ stt_chunk event=dropped chunk=8/18 attempt=1 temperature=0.2 reason=empty_after_retry ... previous_reason=compression_ratio
183
+ stt_chunk event=trimmed chunk=5/18 word_run=5 runs=1 max_word_run=4
184
+ stt_chunk event=skipped chunk=9/18 reason=no_speech
185
+ ```
186
+
187
+ It also logs one summary line per request:
188
+ `stt_request policy= stat= chunks= decoded= vad_skipped= retried= recovered= dropped= trimmed= decodes= seconds=`.
189
+ Clients cannot see any of this yet. A `dropped[]` field and per-segment
190
+ `avg_logprob` / `compression_ratio` wait for `response_format=verbose_json`
191
+ (#328).
192
+
193
+ **Live A/B, DGX Spark, 2026-10-23 — why the default is now the median.** The
194
+ first build of this section ran on the live Hebrew `stt` lane against two
195
+ private recordings, cut into 16 requests of 480 s (269 chunks). Counts only:
196
+
197
+ - **Loops are fixed.** The longest run of one phrase fell from 220 (pre-#329)
198
+ to 3 at the defaults of the time.
199
+ - **The mean gate was the binding constraint.** It still dropped 118 of 215
200
+ decoded chunks (55 %); retries recovered 7. Every drop was `low_logprob`.
201
+ - **The median gate dropped 39 of 215 (18 %)**, and every window then carried
202
+ at least as much text as a reference transcript of the same span (a rough
203
+ speech reference, not ground truth). That is why `median` became the
204
+ multi-window default.
205
+ - **It let through a confident hallucination.** In two windows a short word
206
+ was repeated 11 and 5 times in a row, with punctuation between, and a
207
+ two-word run of 5 sat in the same span. The word was absent from the
208
+ reference transcript. That is what the word-run knobs were added for.
209
+ - Silero loaded in the built image and skipped 54 of the 269 chunks.
210
+
211
+ A second run measured the median default with a word-run gate that **failed**
212
+ the chunk at 4 repeats (an earlier design of step 4): still 39 of 215 dropped
213
+ (18 %), the longest run of one phrase 3, three chunks hitting the word-run
214
+ gate. 15 of the 16 requests in both runs were multi-window. The 16th, the
215
+ 20 s tail of one recording, was a single window: it returned 6 characters
216
+ in the second run, where the pre-#329 build returned none. That one request
217
+ is the only single-window evidence, and it predates the single-window
218
+ policy.
219
+
220
+ **Status (#108).** The single-window/multi-window split, the trim-versus-fail
221
+ word-run design, the never-skipped last chunk, `empty_after_retry` and the
222
+ off-loop, serialized transcription are unit-tested with a fake decoder and a
223
+ fake VAD only; none of them has run live. 18 % still misses the issue's 10 %
224
+ drop target. To validate, re-run the recordings on the live lane, plus a set
225
+ of short realtime turns, and read the `stt_request` and `stt_chunk` lines.
226
+ Acceptance means no phrase repeated more than 3 times in a row, fewer than
227
+ 10 % of non-silent chunks dropped, and still no text from silence.
228
+
229
+ ## Latency: what was built, and what it bought
230
+
231
+ Measured live, a human on a reSpeaker XVF3800, from the moment the server
232
+ decides the turn ended to the first audio byte:
233
+
234
+ | configuration | first audio |
235
+ |---|---|
236
+ | whole-reply generate + Chatterbox Multilingual | 2.6 s (one sentence), 7.3 s (longer) |
237
+ | + sentence streaming (`GENERATE_STREAM`, default on) + BlueTTS | 0.67–1.0 s |
238
+ | + hidden speculation (`VAD_EAGER_MS=250`) | **1–113 ms** |
239
+
240
+ …plus, always, the silence the VAD waits through before it believes the turn
241
+ ended (`VAD_SILENCE_MS`). Once speculation is on, that wait is essentially the
242
+ whole perceived delay:
243
+
244
+ ```text
245
+ perceived delay ≈ max( VAD_SILENCE_MS , VAD_EAGER_MS + pipeline )
246
+ pipeline ≈ 600 ms = STT ~170 + first clause ~300 + TTS ~120
247
+ ```
248
+
249
+ | knob | default | what it does |
250
+ |---|---|---|
251
+ | `GENERATE_STREAM` | `true` | Stream the generate call; speak sentence by sentence. `false` is the exact previous path. **On for every language, English included.** |
252
+ | `REPLY_FIRST_CLAUSE_MIN_CHARS` | `24` | How long the opening clause must be before a comma may end the first spoken piece. `5` on the Spark: first audio ~1.1 s → ~0.6 s, at the price of a short first piece. |
253
+ | `VAD_MIN_LEVEL_PCT` | `0` (off) | **Ignore quiet voices** (background talk, a TV, the next room). A chunk counts as speech only while the PEAK input level — held ~250 ms, like a level meter — is at least this % of full scale; below it, speech opens no turn, interrupts no reply and does not keep a turn open. Silero cannot do this: a far voice scores as high as a near one. On a reSpeaker direct speech peaks at 15–55 % and the room floor at 1–2 %, so 3–5 is a sensible start (`4` on the Spark). Peak, not RMS — speech RMS is only 5–9 %. Depends on microphone gain and AGC: tune per device. |
254
+ | `VAD_EAGER_MS` | `0` (off) | **Hidden speculation.** At this much provisional silence the bridge runs STT → generate → TTS out of sight. Speech resumes → discarded without trace. Turn confirmed → adopted, but only if the real generate request is byte-identical to the speculative one. Costs a wasted STT + generate on every mid-sentence pause. |
255
+ | `CONTINUATION_WINDOW_MS` | `0` (off) | **Continuation merge.** An onset this soon after a silence commit is the speaker carrying on: the reply stops (inside the barge-in guard window too), the half-turn leaves history, both halves are re-transcribed as one turn. One take-back per utterance. What makes a short `VAD_SILENCE_MS` affordable. |
256
+ | `CONTINUATION_TOOL_HOLD_MS` | `500` | With the merge on, a finished tool call is held this long after the commit — a call the client already has cannot be taken back. Speech is never held. A fixed cost on every tool turn. |
257
+
258
+ The Spark runs `VAD_SILENCE_MS=500`, `VAD_EAGER_MS=160`,
259
+ `CONTINUATION_WINDOW_MS=1200`: plain replies 328–370 ms after the commit
260
+ (~830–870 ms after the speaker stops), tool turns 1.16–1.64 s.
261
+
262
+ **Honest limits.** The continuation merge has been proven on a recording only —
263
+ no live session has yet produced one. A noise burst with no words in it still
264
+ counts as a barge-in. A merged turn sends two `transcription.completed` events
265
+ (the half, then the whole) and nothing on the wire marks the second as
266
+ superseding the first. English words inside Hebrew speech are misheard and hard
267
+ to follow when spoken (issue #277).
268
+
269
+ ## BlueTTS — built, measured, deliberately not the default
270
+
271
+ `lobes.realtime.bluetts_server` is a drop-in for the `chatterbox` service (same
272
+ port keys, same `POST /v1/audio/synthesize` → raw PCM16 mono 24 kHz). CPU-only,
273
+ resamples its native 44.1 kHz, strips any niqqud (it runs its own RenikudPlus
274
+ G2P — leave the bridge's `PHONIKUD_MODEL_PATH` unset), and reports ready only
275
+ after a warm-up synthesis has loaded that G2P.
276
+
277
+ The engine **code** (github.com/maxmelichov/BlueTTS) is MIT and pinned by
278
+ commit; `Dockerfile.bluetts` installs its dependencies from the engine's own
279
+ `uv.lock`, because an unpinned resolve picked a `renikud-plus` that 404s at
280
+ warm-up. The **weights** repo declared **no licence** when this was written, so:
281
+
282
+ - nothing in this repo downloads the weights or names their repo as a default;
283
+ - the operator downloads them deliberately and mounts the directory at
284
+ `BLUETTS_ONNX_DIR`;
285
+ - the Hebrew overlay's shipped voice stays Chatterbox Multilingual, and no
286
+ compose file wires BlueTTS in.
287
+
288
+ To run it, add a service built from `Dockerfile.bluetts` with that mount and
289
+ point the bridge's `TTS_URL` at it. `BLUETTS_VOICE` (`noa`), `BLUETTS_STEPS`
290
+ (5; 2–3 buys ~20–25 %, quality not auditioned), `BLUETTS_SPEED`.
291
+
292
+ ## Audio hardware notes (both cost hours)
293
+
294
+ - **Check the pipewire card profile first.** The reSpeaker XVF3800 had flipped
295
+ to its *digital* output at 34 % volume: almost nothing reached the speaker on
296
+ its 3.5 mm jack, its echo canceller reported `converged: false` all day, and
297
+ the session interrupted itself (6 times in 7 turns). `pactl set-card-profile
298
+ <card> output:analog-stereo+input:analog-stereo` plus full sink volume →
299
+ `converged: true`, zero self-interruptions. The profile can flip when the
300
+ device re-enumerates, and the source/sink numeric suffixes change with it.
301
+ - **Wire the speaker to the device that owns the microphone.** An echo
302
+ canceller only cancels what it plays itself; audio sent to a monitor over
303
+ HDMI has no reference and makes echo worse. For the same reason you cannot
304
+ test a session by playing a recording through that speaker — the canceller
305
+ removes it.
306
+ - **A client must drain its player before exiting.** The server delivers ahead
307
+ of the playhead; closing the player on `response.done` cut replies
308
+ mid-sentence. In a browser the same gap shows up as stutter unless playback
309
+ (re)starts a jitter buffer ahead of now.
310
+
311
+ ## Selecting it
312
+
313
+ ```bash
314
+ lobes init --fleet --audio --audio-lang he # dry-run; add --apply
315
+ ```
316
+
317
+ materialises `docker-compose.audio-he.yml`, `env.audio-he.example` (merged
318
+ append-only into `.env`), `Dockerfile.whisper-stt`, `Dockerfile.chatterbox-ml`,
319
+ `Dockerfile.bluetts` and `listen_server_whisper.py`; `lobes fleet up` includes
320
+ the overlay when it is present. `--audio` alone, or `--audio-lang en`, is
321
+ exactly the English overlay. Language is an overlay choice — not a shape, not a
322
+ variation.
323
+
324
+ `GET /capabilities` names what is served: `stt`/`tts` carry the declared
325
+ `model`, `runtime` and — only when declared — `language`.
@@ -0,0 +1,105 @@
1
+ # NVIDIA Nemotron 3.5 Bolt 74B-A9B 24GB — the `worker` role
2
+
3
+ > One entry in lobes's **supported catalog** (`lobes overview --list`). For the
4
+ > catalog-vs-warm distinction — what you *can* load vs. what's loaded *now* —
5
+ > see
6
+ > [`gateway-fleet.md`](gateway-fleet.md#supported-catalog-vs-warm-backends).
7
+ >
8
+ > **Status: the `worker` role_hint (operator decision, 2026-10-26)**,
9
+ > replacing `nvidia/Qwen3.6-35B-A3B-NVFP4` (now a kept candidate — see
10
+ > [`nvidia-qwen3.6-35b-a3b-nvfp4.md`](nvidia-qwen3.6-35b-a3b-nvfp4.md)). The
11
+ > worker contract does not move: Bolt is a fast multimodal (image+video)
12
+ > coder/doer with tool calls, which is exactly what `roles.py` already
13
+ > promises. It is hosted on the **DGX Spark** — the only card family its IQ2
14
+ > experts run on — and every other mesh member reaches `worker` through the
15
+ > mesh. Measured as a standalone container first
16
+ > ([`evidence/2026-10-26-accept-nemotron-bolt-spark.txt`](evidence/2026-10-26-accept-nemotron-bolt-spark.txt)).
17
+ >
18
+ > **The packaged template cannot express Bolt's flags yet.** The fleet
19
+ > `vllm-worker` lane has no knob for `--linear-backend`, the mamba cache
20
+ > flags, `--kv-cache-memory-bytes`, the media limits or the reasoning-parser
21
+ > plugin, and it always passes `--quantization`. The Spark serves it through a
22
+ > full `command:` replacement in its hand-kept `docker-compose.override.yml`
23
+ > (the [recipe](#serving-it-on-the-spark) below). `lobes switch` to this id
24
+ > will not boot on the stock template either (see [Engine](#engine)).
25
+
26
+ ## What it is
27
+
28
+ | | |
29
+ |---|---|
30
+ | id | `nvidia/NVIDIA-Nemotron-3.5-Bolt-74B-A9B-24GB` |
31
+ | revision | `c6cc2e8ffa353403213d6b9b18aaf8eb684d705a` |
32
+ | architecture | `NemotronHPuzzleForCausalLM` in a `nemotron_h_omni` wrapper: hybrid Mamba-2 / attention with sparse MoE, about 9B active of 74B total |
33
+ | modalities | text, image and video (RADIO vision encoder); no audio |
34
+ | context | 262144 native (`llm_config.max_position_embeddings`) |
35
+ | quantization | `modelopt_mixed` (the checkpoint's `quant_method` is modelopt, `MIXED_PRECISION`): IQ2_XXS on the routed experts (~2.06 bits, ggml packing), Q8_0, and W4A16 NVFP4 on the mixer projections — 24.09 GiB loaded |
36
+ | tool parser | `qwen3_coder` (the card's own serve command) |
37
+ | reasoning parser | `ultra_v3`, shipped as a plugin file inside the checkpoint |
38
+ | speculative decoding | DFlash, 7 draft tokens, from `nvidia/NVIDIA-Nemotron-3.5-Bolt-74B-A9B-24GB-LiLiCorr` @ `449d2414…` |
39
+ | licence | OpenMDW 1.1 (the card) |
40
+
41
+ All of the above was read from the checkpoint's own `config.json` and
42
+ `hf_quant_config.json` at the pinned revision, and from its card's vLLM
43
+ command.
44
+
45
+ ## Engine
46
+
47
+ - **sm_12x only.** vLLM's IQ2 expert path is gated to Blackwell consumer/GB10
48
+ silicon. The Jetson AGX Orin (sm_87) refuses it on v0.32.0 and on main; the
49
+ Jetson AGX Thor (sm_110) has not been tried.
50
+ - **Nightly plus `b12x`.** The card names
51
+ `vllm/vllm-openai:nightly-77154ca6116ae34cbfe314beef1016bde9b63989` and
52
+ installs `b12x` at container start (`--linear-backend b12x --moe-backend
53
+ b12x`). The measured run used that nightly with `b12x==1.5.1` baked into a
54
+ derived image so the boot runs offline (vLLM `0.32.0rc1.dev100+g77154ca61`).
55
+
56
+ ## Serving it on the Spark
57
+
58
+ The measured recipe is the card's vLLM command with three deviations:
59
+
60
+ 1. **`--kv-cache-memory-bytes 4294967296` (4 GiB).** On the Spark's unified
61
+ memory a KV pool sized by `--gpu-memory-utilization` is not
62
+ deterministic: vLLM's profiling counts other processes' memory growth, so
63
+ the same flag gives very different pools from boot to boot. Pinning the
64
+ pool makes the footprint predictable. 4 GiB holds 350,464 fp8 tokens = 1.34
65
+ full 262144-token requests; `--max-num-seqs` is 1 as on the card.
66
+ 2. **`--allowed-local-media-path /` dropped.** That flag lets any caller read
67
+ any file on the box through a `file://` URL.
68
+ 3. **Revisions pinned**, and the server bound to `127.0.0.1`.
69
+
70
+ The full flag list is in the evidence transcript.
71
+
72
+ ## Measured — DGX Spark GB10, 2026-10-25
73
+
74
+ From
75
+ [`evidence/2026-10-26-accept-nemotron-bolt-spark.txt`](evidence/2026-10-26-accept-nemotron-bolt-spark.txt):
76
+
77
+ | | |
78
+ |---|---|
79
+ | weights | 24.09 GiB, 150.8 s to load |
80
+ | KV pool | 4.0 GiB pinned = 350,464 tokens (1.34× at 262144) |
81
+ | host memory available after the probes | 70,146 MiB |
82
+ | known-answer | PASS (`391`, reasoning split off) |
83
+ | image | PASS on red / blue / green solid-colour controls (synthetic) |
84
+ | tool call | PASS — `get_weather({"city": "Haifa"})`, `finish_reason: tool_calls` |
85
+ | speed | 69.3 tok/s wall on one short request (includes prefill and reasoning) |
86
+ | long context | PASS — 231,935-token needle retrieved in 200.3 s |
87
+
88
+ ## Measured — as the `worker` lane, 2026-10-25
89
+
90
+ PART 2 of the same transcript: the Spark's lobes `vllm-worker` lane (cold
91
+ compile, the same 350,464-token pinned pool), reached as `model=worker` from
92
+ the spark, thor and spark2 gateways — the Thor and spark2 by mesh forward,
93
+ with `X-Lobes-Mesh-Member: spark`. Through the Thor's forward the red/blue
94
+ image controls and a `get_weather` tool call passed.
95
+
96
+ ## Not proven
97
+
98
+ - The packaged template serving it (the Spark uses an override command), a
99
+ deployment shape that hosts it, and `lobes switch` to it — switch prints
100
+ the gear's serving note and, on `--apply`, writes `.env` without
101
+ restarting.
102
+ - Any card other than the Spark GB10.
103
+ - Concurrency above 1, sustained decode under load, and DFlash acceptance
104
+ rates.
105
+ - Real-image and video quality (the image probes are synthetic).
@@ -1,5 +1,13 @@
1
1
  # `nvidia/Qwen3.6-35B-A3B-NVFP4` — the Thor `worker` lane
2
2
 
3
+ > **SUPERSEDED as the `worker` role_hint (2026-10-26, operator decision).**
4
+ > The catalog's `worker` moved to `nvidia/NVIDIA-Nemotron-3.5-Bolt-74B-A9B-24GB`,
5
+ > hosted on the DGX Spark (see
6
+ > [`nemotron-3.5-bolt-74b-a9b-24gb.md`](nemotron-3.5-bolt-74b-a9b-24gb.md)).
7
+ > This checkpoint is a kept `candidate` (cite-don't-delete); the
8
+ > `thor-worker` shape still renders it. Read "the `worker` lane" below as
9
+ > history.
10
+
3
11
  **Status: VALIDATED live on the physical Jetson AGX Thor, 2026-09-10, on the
4
12
  nightly `0.26.1rc1.dev942`; re-accepted on vLLM 0.31.0 (2026-10-17) for the
5
13
  items listed in [Engine relabel](#engine-relabel-310-t15) only** — see