lobes-cli 0.84.2__tar.gz → 0.84.3__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 (1076) hide show
  1. {lobes_cli-0.84.2 → lobes_cli-0.84.3}/.devague/deliveries/thor-worker-arm-qwen3-6-35b-a3b-recipes.json +1 -1
  2. {lobes_cli-0.84.2 → lobes_cli-0.84.3}/.devague/frames/dspark-speculation-on-the-spark-cortex.json +1 -1
  3. {lobes_cli-0.84.2 → lobes_cli-0.84.3}/.devague/frames/every-lobe-in-the-mesh-can-see-the-spark-reaches-t.json +1 -1
  4. {lobes_cli-0.84.2 → lobes_cli-0.84.3}/.devague/frames/hebrew-realtime.json +1 -1
  5. {lobes_cli-0.84.2 → lobes_cli-0.84.3}/.devague/frames/lightning-on-orin.json +2 -2
  6. {lobes_cli-0.84.2 → lobes_cli-0.84.3}/.devague/frames/mesh-brain-join.json +3 -3
  7. {lobes_cli-0.84.2 → lobes_cli-0.84.3}/.devague/frames/qwen3-8-flash-next-gguf-candidate.json +1 -1
  8. {lobes_cli-0.84.2 → lobes_cli-0.84.3}/.devague/frames/stt-readiness-truth-155.json +1 -1
  9. {lobes_cli-0.84.2 → lobes_cli-0.84.3}/.devague/plans/dspark-speculation-on-the-spark-cortex.json +1 -1
  10. {lobes_cli-0.84.2 → lobes_cli-0.84.3}/.devague/plans/every-lobe-in-the-mesh-can-see-the-spark-reaches-t.json +1 -1
  11. {lobes_cli-0.84.2 → lobes_cli-0.84.3}/.devague/plans/lightning-on-orin.json +2 -2
  12. {lobes_cli-0.84.2 → lobes_cli-0.84.3}/.devague/plans/mesh-brain-join.json +1 -1
  13. {lobes_cli-0.84.2 → lobes_cli-0.84.3}/.devague/plans/qwen3-8-flash-next-gguf-candidate.json +1 -1
  14. {lobes_cli-0.84.2 → lobes_cli-0.84.3}/.devague/plans/stt-readiness-truth-155.json +1 -1
  15. {lobes_cli-0.84.2 → lobes_cli-0.84.3}/.eidetic/memory/lobes__public.jsonl +3 -3
  16. {lobes_cli-0.84.2 → lobes_cli-0.84.3}/CHANGELOG.md +7 -1
  17. {lobes_cli-0.84.2 → lobes_cli-0.84.3}/PKG-INFO +1 -1
  18. {lobes_cli-0.84.2 → lobes_cli-0.84.3}/deployments/jetson-agx-orin__orin-embed/deployment.lock.toml +1 -1
  19. {lobes_cli-0.84.2 → lobes_cli-0.84.3}/deployments/jetson-agx-orin__orin-embed/docker-compose.yml +1 -1
  20. {lobes_cli-0.84.2 → lobes_cli-0.84.3}/docs/comfyui-innereye.md +2 -2
  21. {lobes_cli-0.84.2 → lobes_cli-0.84.3}/docs/deliveries/2026-09-10-thor-worker-arm-qwen3-6-35b-a3b-recipes.md +1 -1
  22. {lobes_cli-0.84.2 → lobes_cli-0.84.3}/docs/evidence/2026-07-14-accept-referral-thor.txt +10 -10
  23. {lobes_cli-0.84.2 → lobes_cli-0.84.3}/docs/evidence/2026-07-14-accept-thor-lobe-live-referral-thor.txt +3 -3
  24. {lobes_cli-0.84.2 → lobes_cli-0.84.3}/docs/evidence/2026-07-14-strict-tools-spark-lobe-spark.txt +1 -1
  25. {lobes_cli-0.84.2 → lobes_cli-0.84.3}/docs/evidence/2026-07-22-accept-realtime-voice-to-voice-spark.txt +1 -1
  26. {lobes_cli-0.84.2 → lobes_cli-0.84.3}/docs/evidence/2026-07-25-accept-by-proxy-spark-f8a9.txt +8 -8
  27. {lobes_cli-0.84.2 → lobes_cli-0.84.3}/docs/evidence/2026-07-31-accept-worker-proxy-spark.txt +11 -11
  28. {lobes_cli-0.84.2 → lobes_cli-0.84.3}/docs/evidence/2026-07-31-accept-worker-thor.txt +2 -2
  29. {lobes_cli-0.84.2 → lobes_cli-0.84.3}/docs/evidence/2026-08-04-accept-senses-unsloth-orin.txt +2 -2
  30. {lobes_cli-0.84.2 → lobes_cli-0.84.3}/docs/evidence/2026-08-20-accept-cortex-local-thor.txt +3 -3
  31. {lobes_cli-0.84.2 → lobes_cli-0.84.3}/docs/evidence/2026-08-20-accept-cortex-repoint-orin.txt +3 -3
  32. {lobes_cli-0.84.2 → lobes_cli-0.84.3}/docs/evidence/2026-08-20-accept-cortex-repoint-thor.txt +4 -4
  33. {lobes_cli-0.84.2 → lobes_cli-0.84.3}/docs/evidence/2026-08-20-accept-dual-cortex-mesh.txt +1 -1
  34. {lobes_cli-0.84.2 → lobes_cli-0.84.3}/docs/evidence/2026-08-20-accept-worker-hand-spark.txt +1 -1
  35. {lobes_cli-0.84.2 → lobes_cli-0.84.3}/docs/evidence/2026-08-20-spike-nightly-sm110-thor.txt +1 -1
  36. {lobes_cli-0.84.2 → lobes_cli-0.84.3}/docs/evidence/2026-08-24-spike-dspark-cortex-spark.txt +2 -2
  37. {lobes_cli-0.84.2 → lobes_cli-0.84.3}/docs/evidence/2026-08-25-accept-cortex-replica-pool-spark-thor.txt +22 -22
  38. {lobes_cli-0.84.2 → lobes_cli-0.84.3}/docs/evidence/2026-08-25-spike-lightning-vllm-orin.txt +44 -44
  39. {lobes_cli-0.84.2 → lobes_cli-0.84.3}/docs/evidence/2026-08-26-accept-orin-associate.txt +3 -3
  40. {lobes_cli-0.84.2 → lobes_cli-0.84.3}/docs/evidence/2026-08-26-associate-gateway-auth-front.txt +6 -6
  41. {lobes_cli-0.84.2 → lobes_cli-0.84.3}/docs/evidence/2026-08-28-accept-capacity-relative-pool-thor-spark.txt +7 -7
  42. {lobes_cli-0.84.2 → lobes_cli-0.84.3}/docs/evidence/2026-08-30-accept-peer-only-pool-orin.txt +7 -7
  43. {lobes_cli-0.84.2 → lobes_cli-0.84.3}/docs/evidence/2026-08-30-baseline-orin-cortex-pinned.txt +11 -11
  44. {lobes_cli-0.84.2 → lobes_cli-0.84.3}/docs/evidence/2026-09-10-accept-thor-worker-flip.txt +2 -2
  45. {lobes_cli-0.84.2 → lobes_cli-0.84.3}/docs/evidence/2026-09-10-thor-pressure-floor-244.txt +3 -3
  46. {lobes_cli-0.84.2 → lobes_cli-0.84.3}/docs/evidence/2026-09-11-accept-thor-reranker-template-senses-unproxy.txt +7 -7
  47. {lobes_cli-0.84.2 → lobes_cli-0.84.3}/docs/evidence/2026-09-11-accept-worker-proxy-spark-thor.txt +14 -14
  48. {lobes_cli-0.84.2 → lobes_cli-0.84.3}/docs/evidence/2026-09-12-accept-mesh-boot-window-fleet.txt +52 -52
  49. {lobes_cli-0.84.2 → lobes_cli-0.84.3}/docs/evidence/2026-09-12-accept-mesh-brain-join-fleet.txt +45 -45
  50. {lobes_cli-0.84.2 → lobes_cli-0.84.3}/docs/evidence/2026-09-12-baseline-mesh-cutover.txt +18 -18
  51. {lobes_cli-0.84.2 → lobes_cli-0.84.3}/docs/evidence/2026-09-16-accept-innereye-spark.txt +2 -2
  52. {lobes_cli-0.84.2 → lobes_cli-0.84.3}/docs/evidence/2026-10-06-accept-mesh-member-lanes.txt +16 -16
  53. {lobes_cli-0.84.2 → lobes_cli-0.84.3}/docs/evidence/2026-10-07-accept-innereye-replace-spark.txt +4 -4
  54. {lobes_cli-0.84.2 → lobes_cli-0.84.3}/docs/evidence/2026-10-07-accept-orin-embed.txt +4 -4
  55. {lobes_cli-0.84.2 → lobes_cli-0.84.3}/docs/gateway-fleet.md +2 -2
  56. {lobes_cli-0.84.2 → lobes_cli-0.84.3}/docs/nemotron-3.5-lightning-30b-a3b-nvfp4.md +1 -1
  57. {lobes_cli-0.84.2 → lobes_cli-0.84.3}/docs/nvidia-qwen3.6-35b-a3b-nvfp4.md +2 -2
  58. {lobes_cli-0.84.2 → lobes_cli-0.84.3}/docs/orin-profiles.md +3 -3
  59. {lobes_cli-0.84.2 → lobes_cli-0.84.3}/docs/plans/2026-07-31-every-lobe-in-the-mesh-can-see-the-spark-reaches-t.md +1 -1
  60. {lobes_cli-0.84.2 → lobes_cli-0.84.3}/docs/specs/2026-07-24-stt-readiness-truth-155.md +1 -1
  61. {lobes_cli-0.84.2 → lobes_cli-0.84.3}/docs/specs/2026-07-31-every-lobe-in-the-mesh-can-see-the-spark-reaches-t.md +1 -1
  62. {lobes_cli-0.84.2 → lobes_cli-0.84.3}/docs/specs/2026-08-24-dspark-speculation-on-the-spark-cortex.md +1 -1
  63. {lobes_cli-0.84.2 → lobes_cli-0.84.3}/docs/specs/2026-08-25-lightning-on-orin.md +2 -2
  64. {lobes_cli-0.84.2 → lobes_cli-0.84.3}/docs/specs/2026-08-27-qwen3-8-flash-next-gguf-candidate.md +1 -1
  65. {lobes_cli-0.84.2 → lobes_cli-0.84.3}/docs/specs/2026-09-11-mesh-brain-join.md +3 -3
  66. {lobes_cli-0.84.2 → lobes_cli-0.84.3}/docs/specs/2026-09-18-hebrew-realtime.md +1 -1
  67. {lobes_cli-0.84.2 → lobes_cli-0.84.3}/docs/worker-lightning-rollout-notes.md +1 -1
  68. {lobes_cli-0.84.2 → lobes_cli-0.84.3}/lobes/cli/_commands/doctor.py +1 -1
  69. {lobes_cli-0.84.2 → lobes_cli-0.84.3}/lobes/cli/_commands/init.py +1 -1
  70. {lobes_cli-0.84.2 → lobes_cli-0.84.3}/lobes/templates/fleet/docker-compose.yml +1 -1
  71. {lobes_cli-0.84.2 → lobes_cli-0.84.3}/lobes/templates/fleet/env.example +1 -1
  72. {lobes_cli-0.84.2 → lobes_cli-0.84.3}/pyproject.toml +1 -1
  73. {lobes_cli-0.84.2 → lobes_cli-0.84.3}/scripts/embed_h2h/corpus.jsonl +1 -1
  74. {lobes_cli-0.84.2 → lobes_cli-0.84.3}/tests/test_associate_exposure.py +3 -3
  75. {lobes_cli-0.84.2 → lobes_cli-0.84.3}/tests/test_innereye_ui_port.py +7 -7
  76. {lobes_cli-0.84.2 → lobes_cli-0.84.3}/tests/test_mesh_templates.py +2 -1
  77. {lobes_cli-0.84.2 → lobes_cli-0.84.3}/uv.lock +11 -11
  78. {lobes_cli-0.84.2 → lobes_cli-0.84.3}/.agex/data/pr/events.jsonl +0 -0
  79. {lobes_cli-0.84.2 → lobes_cli-0.84.3}/.claude/skills/ask-colleague/SKILL.md +0 -0
  80. {lobes_cli-0.84.2 → lobes_cli-0.84.3}/.claude/skills/ask-colleague/prompts/explore.md +0 -0
  81. {lobes_cli-0.84.2 → lobes_cli-0.84.3}/.claude/skills/ask-colleague/prompts/review.md +0 -0
  82. {lobes_cli-0.84.2 → lobes_cli-0.84.3}/.claude/skills/ask-colleague/prompts/write.md +0 -0
  83. {lobes_cli-0.84.2 → lobes_cli-0.84.3}/.claude/skills/ask-colleague/scripts/ask-colleague.sh +0 -0
  84. {lobes_cli-0.84.2 → lobes_cli-0.84.3}/.claude/skills/assign-to-workforce/SKILL.md +0 -0
  85. {lobes_cli-0.84.2 → lobes_cli-0.84.3}/.claude/skills/assign-to-workforce/scripts/assign-to-workforce.sh +0 -0
  86. {lobes_cli-0.84.2 → lobes_cli-0.84.3}/.claude/skills/challenge/SKILL.md +0 -0
  87. {lobes_cli-0.84.2 → lobes_cli-0.84.3}/.claude/skills/cicd/SKILL.md +0 -0
  88. {lobes_cli-0.84.2 → lobes_cli-0.84.3}/.claude/skills/cicd/scripts/_resolve-nick.sh +0 -0
  89. {lobes_cli-0.84.2 → lobes_cli-0.84.3}/.claude/skills/cicd/scripts/portability-lint.sh +0 -0
  90. {lobes_cli-0.84.2 → lobes_cli-0.84.3}/.claude/skills/cicd/scripts/pr-reply.sh +0 -0
  91. {lobes_cli-0.84.2 → lobes_cli-0.84.3}/.claude/skills/cicd/scripts/pr-status.sh +0 -0
  92. {lobes_cli-0.84.2 → lobes_cli-0.84.3}/.claude/skills/cicd/scripts/workflow.sh +0 -0
  93. {lobes_cli-0.84.2 → lobes_cli-0.84.3}/.claude/skills/communicate/SKILL.md +0 -0
  94. {lobes_cli-0.84.2 → lobes_cli-0.84.3}/.claude/skills/communicate/scripts/fetch-issues.sh +0 -0
  95. {lobes_cli-0.84.2 → lobes_cli-0.84.3}/.claude/skills/communicate/scripts/mesh-message.sh +0 -0
  96. {lobes_cli-0.84.2 → lobes_cli-0.84.3}/.claude/skills/communicate/scripts/post-comment.sh +0 -0
  97. {lobes_cli-0.84.2 → lobes_cli-0.84.3}/.claude/skills/communicate/scripts/post-issue.sh +0 -0
  98. {lobes_cli-0.84.2 → lobes_cli-0.84.3}/.claude/skills/communicate/scripts/templates/skill-update-brief.md +0 -0
  99. {lobes_cli-0.84.2 → lobes_cli-0.84.3}/.claude/skills/deviate/SKILL.md +0 -0
  100. {lobes_cli-0.84.2 → lobes_cli-0.84.3}/.claude/skills/doc-test-alignment/SKILL.md +0 -0
  101. {lobes_cli-0.84.2 → lobes_cli-0.84.3}/.claude/skills/doc-test-alignment/scripts/check.sh +0 -0
  102. {lobes_cli-0.84.2 → lobes_cli-0.84.3}/.claude/skills/lobes-deploy/SKILL.md +0 -0
  103. {lobes_cli-0.84.2 → lobes_cli-0.84.3}/.claude/skills/lobes-deploy/scripts/lobes-compose.sh +0 -0
  104. {lobes_cli-0.84.2 → lobes_cli-0.84.3}/.claude/skills/model-runner/SKILL.md +0 -0
  105. {lobes_cli-0.84.2 → lobes_cli-0.84.3}/.claude/skills/model-runner/scripts/model-runner.sh +0 -0
  106. {lobes_cli-0.84.2 → lobes_cli-0.84.3}/.claude/skills/recall/SKILL.md +0 -0
  107. {lobes_cli-0.84.2 → lobes_cli-0.84.3}/.claude/skills/recall/scripts/recall.sh +0 -0
  108. {lobes_cli-0.84.2 → lobes_cli-0.84.3}/.claude/skills/remember/SKILL.md +0 -0
  109. {lobes_cli-0.84.2 → lobes_cli-0.84.3}/.claude/skills/remember/scripts/remember.sh +0 -0
  110. {lobes_cli-0.84.2 → lobes_cli-0.84.3}/.claude/skills/run-tests/SKILL.md +0 -0
  111. {lobes_cli-0.84.2 → lobes_cli-0.84.3}/.claude/skills/run-tests/scripts/test.sh +0 -0
  112. {lobes_cli-0.84.2 → lobes_cli-0.84.3}/.claude/skills/scope/SKILL.md +0 -0
  113. {lobes_cli-0.84.2 → lobes_cli-0.84.3}/.claude/skills/sonarclaude/SKILL.md +0 -0
  114. {lobes_cli-0.84.2 → lobes_cli-0.84.3}/.claude/skills/sonarclaude/scripts/sonar.sh +0 -0
  115. {lobes_cli-0.84.2 → lobes_cli-0.84.3}/.claude/skills/spec-to-plan/SKILL.md +0 -0
  116. {lobes_cli-0.84.2 → lobes_cli-0.84.3}/.claude/skills/spec-to-plan/scripts/spec-to-plan.sh +0 -0
  117. {lobes_cli-0.84.2 → lobes_cli-0.84.3}/.claude/skills/summarize-delivery/SKILL.md +0 -0
  118. {lobes_cli-0.84.2 → lobes_cli-0.84.3}/.claude/skills/think/SKILL.md +0 -0
  119. {lobes_cli-0.84.2 → lobes_cli-0.84.3}/.claude/skills/think/scripts/think.sh +0 -0
  120. {lobes_cli-0.84.2 → lobes_cli-0.84.3}/.claude/skills/validate-delivery/SKILL.md +0 -0
  121. {lobes_cli-0.84.2 → lobes_cli-0.84.3}/.claude/skills/version-bump/SKILL.md +0 -0
  122. {lobes_cli-0.84.2 → lobes_cli-0.84.3}/.claude/skills/version-bump/scripts/bump.py +0 -0
  123. {lobes_cli-0.84.2 → lobes_cli-0.84.3}/.claude/skills.local.yaml.example +0 -0
  124. {lobes_cli-0.84.2 → lobes_cli-0.84.3}/.devague/current +0 -0
  125. {lobes_cli-0.84.2 → lobes_cli-0.84.3}/.devague/current_plan +0 -0
  126. {lobes_cli-0.84.2 → lobes_cli-0.84.3}/.devague/deliveries/capacity-relative-pool-routing.json +0 -0
  127. {lobes_cli-0.84.2 → lobes_cli-0.84.3}/.devague/deliveries/cortex-replica-pool-199.json +0 -0
  128. {lobes_cli-0.84.2 → lobes_cli-0.84.3}/.devague/deliveries/deployment-lock-per-box.json +0 -0
  129. {lobes_cli-0.84.2 → lobes_cli-0.84.3}/.devague/deliveries/dspark-speculation-on-the-spark-cortex.json +0 -0
  130. {lobes_cli-0.84.2 → lobes_cli-0.84.3}/.devague/deliveries/every-lobe-in-the-mesh-can-see-the-spark-reaches-t.json +0 -0
  131. {lobes_cli-0.84.2 → lobes_cli-0.84.3}/.devague/deliveries/flash-next-worker-on-thor.json +0 -0
  132. {lobes_cli-0.84.2 → lobes_cli-0.84.3}/.devague/deliveries/hand-lobe-lfm2-5-1-2b.json +0 -0
  133. {lobes_cli-0.84.2 → lobes_cli-0.84.3}/.devague/deliveries/hebrew-realtime.json +0 -0
  134. {lobes_cli-0.84.2 → lobes_cli-0.84.3}/.devague/deliveries/innereye-lobes-hosts-comfyui.json +0 -0
  135. {lobes_cli-0.84.2 → lobes_cli-0.84.3}/.devague/deliveries/lightning-on-orin.json +0 -0
  136. {lobes_cli-0.84.2 → lobes_cli-0.84.3}/.devague/deliveries/lobes-capabilities-tells-you-where-a-lobe-is-serve.json +0 -0
  137. {lobes_cli-0.84.2 → lobes_cli-0.84.3}/.devague/deliveries/mesh-boot-window-and-capabilities-advert.json +0 -0
  138. {lobes_cli-0.84.2 → lobes_cli-0.84.3}/.devague/deliveries/mesh-brain-join.json +0 -0
  139. {lobes_cli-0.84.2 → lobes_cli-0.84.3}/.devague/deliveries/mesh-pool-load-sharing.json +0 -0
  140. {lobes_cli-0.84.2 → lobes_cli-0.84.3}/.devague/deliveries/nemotron-lightning-worker.json +0 -0
  141. {lobes_cli-0.84.2 → lobes_cli-0.84.3}/.devague/deliveries/orin-associate-at-1m.json +0 -0
  142. {lobes_cli-0.84.2 → lobes_cli-0.84.3}/.devague/deliveries/orin-embedding-specialist.json +0 -0
  143. {lobes_cli-0.84.2 → lobes_cli-0.84.3}/.devague/deliveries/qwen3-8-gguf-llamacpp.json +0 -0
  144. {lobes_cli-0.84.2 → lobes_cli-0.84.3}/.devague/deliveries/realtime-voice-to-voice-astro-test-site-151.json +0 -0
  145. {lobes_cli-0.84.2 → lobes_cli-0.84.3}/.devague/deliveries/reranker-calibration-227.json +0 -0
  146. {lobes_cli-0.84.2 → lobes_cli-0.84.3}/.devague/deliveries/thor-cortex-speculation.json +0 -0
  147. {lobes_cli-0.84.2 → lobes_cli-0.84.3}/.devague/deliveries/unsloth-qat-senses-first-class-orin-variation.json +0 -0
  148. {lobes_cli-0.84.2 → lobes_cli-0.84.3}/.devague/frames/capacity-relative-pool-routing.json +0 -0
  149. {lobes_cli-0.84.2 → lobes_cli-0.84.3}/.devague/frames/chatterbox-on-thor-sm-110.json +0 -0
  150. {lobes_cli-0.84.2 → lobes_cli-0.84.3}/.devague/frames/compose-chain-unification-init-repair-doctor-stale.json +0 -0
  151. {lobes_cli-0.84.2 → lobes_cli-0.84.3}/.devague/frames/cortex-replica-pool-199.json +0 -0
  152. {lobes_cli-0.84.2 → lobes_cli-0.84.3}/.devague/frames/deployment-lock-per-box.json +0 -0
  153. {lobes_cli-0.84.2 → lobes_cli-0.84.3}/.devague/frames/flash-next-on-vllm.json +0 -0
  154. {lobes_cli-0.84.2 → lobes_cli-0.84.3}/.devague/frames/flash-next-worker-on-thor.json +0 -0
  155. {lobes_cli-0.84.2 → lobes_cli-0.84.3}/.devague/frames/hand-lobe-lfm2-5-1-2b.json +0 -0
  156. {lobes_cli-0.84.2 → lobes_cli-0.84.3}/.devague/frames/innereye-lobes-hosts-comfyui.json +0 -0
  157. {lobes_cli-0.84.2 → lobes_cli-0.84.3}/.devague/frames/lightning-on-thor.json +0 -0
  158. {lobes_cli-0.84.2 → lobes_cli-0.84.3}/.devague/frames/lobes-adds-a-third-middle-model-tier-and-pressure.json +0 -0
  159. {lobes_cli-0.84.2 → lobes_cli-0.84.3}/.devague/frames/lobes-capabilities-tells-you-where-a-lobe-is-serve.json +0 -0
  160. {lobes_cli-0.84.2 → lobes_cli-0.84.3}/.devague/frames/lobes-exposes-the-full-colleague-runtime-stack-as.json +0 -0
  161. {lobes_cli-0.84.2 → lobes_cli-0.84.3}/.devague/frames/lobes-fits-the-machine-it-lands-on-one-command-det.json +0 -0
  162. {lobes_cli-0.84.2 → lobes_cli-0.84.3}/.devague/frames/lobes-gateway-relays-sse-streams-frame-by-frame-th.json +0 -0
  163. {lobes_cli-0.84.2 → lobes_cli-0.84.3}/.devague/frames/lobes-never-advertises-a-capability-it-cannot-serv.json +0 -0
  164. {lobes_cli-0.84.2 → lobes_cli-0.84.3}/.devague/frames/lobes-now-defaults-to-a-spark-duo-the-qwen3-6-27b.json +0 -0
  165. {lobes_cli-0.84.2 → lobes_cli-0.84.3}/.devague/frames/lobes-preserves-qwen-thinking-traces-across-multi.json +0 -0
  166. {lobes_cli-0.84.2 → lobes_cli-0.84.3}/.devague/frames/lobes-serves-strict-grammar-constrained-tool-calls.json +0 -0
  167. {lobes_cli-0.84.2 → lobes_cli-0.84.3}/.devague/frames/lobes-serves-the-brain-shape-you-choose-machine-as.json +0 -0
  168. {lobes_cli-0.84.2 → lobes_cli-0.84.3}/.devague/frames/lobes-serves-the-mesh-brain-end-state-one-lobe-per.json +0 -0
  169. {lobes_cli-0.84.2 → lobes_cli-0.84.3}/.devague/frames/lobes-ships-a-custom-vllm-image-from-nvcr-io-nvidi.json +0 -0
  170. {lobes_cli-0.84.2 → lobes_cli-0.84.3}/.devague/frames/lobes-ships-a-minor-lobe-a-cheap-warm-co-resident.json +0 -0
  171. {lobes_cli-0.84.2 → lobes_cli-0.84.3}/.devague/frames/lobes-ships-a-per-lobe-benchmark-suite-speed-paral.json +0 -0
  172. {lobes_cli-0.84.2 → lobes_cli-0.84.3}/.devague/frames/lobes-tells-clients-the-truth-about-a-fleet-a-cons.json +0 -0
  173. {lobes_cli-0.84.2 → lobes_cli-0.84.3}/.devague/frames/lobes-unifies-its-generate-lane-on-one-vllm-nightl.json +0 -0
  174. {lobes_cli-0.84.2 → lobes_cli-0.84.3}/.devague/frames/mesh-boot-window-and-capabilities-advert.json +0 -0
  175. {lobes_cli-0.84.2 → lobes_cli-0.84.3}/.devague/frames/mesh-pool-load-sharing.json +0 -0
  176. {lobes_cli-0.84.2 → lobes_cli-0.84.3}/.devague/frames/model-gear-now-serves-an-embedding-gear-qwen3-embe-2.json +0 -0
  177. {lobes_cli-0.84.2 → lobes_cli-0.84.3}/.devague/frames/model-gear-now-serves-an-embedding-gear-qwen3-embe.json +0 -0
  178. {lobes_cli-0.84.2 → lobes_cli-0.84.3}/.devague/frames/model-gear-owns-the-audio-i-o-surface-end-to-end-m.json +0 -0
  179. {lobes_cli-0.84.2 → lobes_cli-0.84.3}/.devague/frames/nemotron-lightning-worker.json +0 -0
  180. {lobes_cli-0.84.2 → lobes_cli-0.84.3}/.devague/frames/orin-associate-at-1m.json +0 -0
  181. {lobes_cli-0.84.2 → lobes_cli-0.84.3}/.devague/frames/orin-embedding-specialist.json +0 -0
  182. {lobes_cli-0.84.2 → lobes_cli-0.84.3}/.devague/frames/peer-only-replica-pools.json +0 -0
  183. {lobes_cli-0.84.2 → lobes_cli-0.84.3}/.devague/frames/proxy-lobes-pairwise-auth.json +0 -0
  184. {lobes_cli-0.84.2 → lobes_cli-0.84.3}/.devague/frames/public-lobes-and-hebrew-site.json +0 -0
  185. {lobes_cli-0.84.2 → lobes_cli-0.84.3}/.devague/frames/quick-wins-finish-the-rename.json +0 -0
  186. {lobes_cli-0.84.2 → lobes_cli-0.84.3}/.devague/frames/qwen3-8-27b-gguf-on-the-spark.json +0 -0
  187. {lobes_cli-0.84.2 → lobes_cli-0.84.3}/.devague/frames/qwen3-8-cortex-upgrade.json +0 -0
  188. {lobes_cli-0.84.2 → lobes_cli-0.84.3}/.devague/frames/qwen3-8-flash-next-on-thor.json +0 -0
  189. {lobes_cli-0.84.2 → lobes_cli-0.84.3}/.devague/frames/qwen3-8-gguf-llamacpp.json +0 -0
  190. {lobes_cli-0.84.2 → lobes_cli-0.84.3}/.devague/frames/realtime-voice-to-voice-astro-test-site-151.json +0 -0
  191. {lobes_cli-0.84.2 → lobes_cli-0.84.3}/.devague/frames/realtime-ws-server-vad-149.json +0 -0
  192. {lobes_cli-0.84.2 → lobes_cli-0.84.3}/.devague/frames/reranker-calibration-227.json +0 -0
  193. {lobes_cli-0.84.2 → lobes_cli-0.84.3}/.devague/frames/targeted-ops-and-honest-streams.json +0 -0
  194. {lobes_cli-0.84.2 → lobes_cli-0.84.3}/.devague/frames/the-gemma-4-12b-gear-gets-speculative-decoding-lob.json +0 -0
  195. {lobes_cli-0.84.2 → lobes_cli-0.84.3}/.devague/frames/thor-cortex-speculation.json +0 -0
  196. {lobes_cli-0.84.2 → lobes_cli-0.84.3}/.devague/frames/thor-worker-arm-qwen3-6-35b-a3b-recipes.json +0 -0
  197. {lobes_cli-0.84.2 → lobes_cli-0.84.3}/.devague/frames/thor-worker-lobe-qwen3-6-35b-a3b.json +0 -0
  198. {lobes_cli-0.84.2 → lobes_cli-0.84.3}/.devague/frames/under-pressure-lobes-tells-you-the-cortex-model-is.json +0 -0
  199. {lobes_cli-0.84.2 → lobes_cli-0.84.3}/.devague/frames/unsloth-qat-senses-first-class-orin-variation.json +0 -0
  200. {lobes_cli-0.84.2 → lobes_cli-0.84.3}/.devague/plans/capacity-relative-pool-routing.json +0 -0
  201. {lobes_cli-0.84.2 → lobes_cli-0.84.3}/.devague/plans/compose-chain-unification-init-repair-doctor-stale.json +0 -0
  202. {lobes_cli-0.84.2 → lobes_cli-0.84.3}/.devague/plans/cortex-replica-pool-199.json +0 -0
  203. {lobes_cli-0.84.2 → lobes_cli-0.84.3}/.devague/plans/deployment-lock-per-box.json +0 -0
  204. {lobes_cli-0.84.2 → lobes_cli-0.84.3}/.devague/plans/flash-next-worker-on-thor.json +0 -0
  205. {lobes_cli-0.84.2 → lobes_cli-0.84.3}/.devague/plans/hand-lobe-lfm2-5-1-2b.json +0 -0
  206. {lobes_cli-0.84.2 → lobes_cli-0.84.3}/.devague/plans/hebrew-realtime.json +0 -0
  207. {lobes_cli-0.84.2 → lobes_cli-0.84.3}/.devague/plans/innereye-lobes-hosts-comfyui.json +0 -0
  208. {lobes_cli-0.84.2 → lobes_cli-0.84.3}/.devague/plans/lobes-adds-a-third-middle-model-tier-and-pressure.json +0 -0
  209. {lobes_cli-0.84.2 → lobes_cli-0.84.3}/.devague/plans/lobes-capabilities-tells-you-where-a-lobe-is-serve.json +0 -0
  210. {lobes_cli-0.84.2 → lobes_cli-0.84.3}/.devague/plans/lobes-exposes-the-full-colleague-runtime-stack-as.json +0 -0
  211. {lobes_cli-0.84.2 → lobes_cli-0.84.3}/.devague/plans/lobes-fits-the-machine-it-lands-on-one-command-det.json +0 -0
  212. {lobes_cli-0.84.2 → lobes_cli-0.84.3}/.devague/plans/lobes-gateway-relays-sse-streams-frame-by-frame-th.json +0 -0
  213. {lobes_cli-0.84.2 → lobes_cli-0.84.3}/.devague/plans/lobes-never-advertises-a-capability-it-cannot-serv.json +0 -0
  214. {lobes_cli-0.84.2 → lobes_cli-0.84.3}/.devague/plans/lobes-now-defaults-to-a-spark-duo-the-qwen3-6-27b.json +0 -0
  215. {lobes_cli-0.84.2 → lobes_cli-0.84.3}/.devague/plans/lobes-preserves-qwen-thinking-traces-across-multi.json +0 -0
  216. {lobes_cli-0.84.2 → lobes_cli-0.84.3}/.devague/plans/lobes-serves-strict-grammar-constrained-tool-calls.json +0 -0
  217. {lobes_cli-0.84.2 → lobes_cli-0.84.3}/.devague/plans/lobes-serves-the-brain-shape-you-choose-machine-as.json +0 -0
  218. {lobes_cli-0.84.2 → lobes_cli-0.84.3}/.devague/plans/lobes-serves-the-mesh-brain-end-state-one-lobe-per.json +0 -0
  219. {lobes_cli-0.84.2 → lobes_cli-0.84.3}/.devague/plans/lobes-ships-a-custom-vllm-image-from-nvcr-io-nvidi.json +0 -0
  220. {lobes_cli-0.84.2 → lobes_cli-0.84.3}/.devague/plans/lobes-ships-a-minor-lobe-a-cheap-warm-co-resident.json +0 -0
  221. {lobes_cli-0.84.2 → lobes_cli-0.84.3}/.devague/plans/lobes-ships-a-per-lobe-benchmark-suite-speed-paral.json +0 -0
  222. {lobes_cli-0.84.2 → lobes_cli-0.84.3}/.devague/plans/lobes-tells-clients-the-truth-about-a-fleet-a-cons.json +0 -0
  223. {lobes_cli-0.84.2 → lobes_cli-0.84.3}/.devague/plans/lobes-unifies-its-generate-lane-on-one-vllm-nightl.json +0 -0
  224. {lobes_cli-0.84.2 → lobes_cli-0.84.3}/.devague/plans/mesh-boot-window-and-capabilities-advert.json +0 -0
  225. {lobes_cli-0.84.2 → lobes_cli-0.84.3}/.devague/plans/mesh-pool-load-sharing.json +0 -0
  226. {lobes_cli-0.84.2 → lobes_cli-0.84.3}/.devague/plans/model-gear-now-serves-an-embedding-gear-qwen3-embe-2.json +0 -0
  227. {lobes_cli-0.84.2 → lobes_cli-0.84.3}/.devague/plans/model-gear-owns-the-audio-i-o-surface-end-to-end-m.json +0 -0
  228. {lobes_cli-0.84.2 → lobes_cli-0.84.3}/.devague/plans/nemotron-lightning-worker.json +0 -0
  229. {lobes_cli-0.84.2 → lobes_cli-0.84.3}/.devague/plans/orin-associate-at-1m.json +0 -0
  230. {lobes_cli-0.84.2 → lobes_cli-0.84.3}/.devague/plans/orin-embedding-specialist.json +0 -0
  231. {lobes_cli-0.84.2 → lobes_cli-0.84.3}/.devague/plans/peer-only-replica-pools.json +0 -0
  232. {lobes_cli-0.84.2 → lobes_cli-0.84.3}/.devague/plans/proxy-lobes-pairwise-auth.json +0 -0
  233. {lobes_cli-0.84.2 → lobes_cli-0.84.3}/.devague/plans/quick-wins-finish-the-rename.json +0 -0
  234. {lobes_cli-0.84.2 → lobes_cli-0.84.3}/.devague/plans/qwen3-8-cortex-upgrade.json +0 -0
  235. {lobes_cli-0.84.2 → lobes_cli-0.84.3}/.devague/plans/qwen3-8-gguf-llamacpp.json +0 -0
  236. {lobes_cli-0.84.2 → lobes_cli-0.84.3}/.devague/plans/realtime-voice-to-voice-astro-test-site-151.json +0 -0
  237. {lobes_cli-0.84.2 → lobes_cli-0.84.3}/.devague/plans/realtime-ws-server-vad-149.json +0 -0
  238. {lobes_cli-0.84.2 → lobes_cli-0.84.3}/.devague/plans/reranker-calibration-227.json +0 -0
  239. {lobes_cli-0.84.2 → lobes_cli-0.84.3}/.devague/plans/the-gemma-4-12b-gear-gets-speculative-decoding-lob.json +0 -0
  240. {lobes_cli-0.84.2 → lobes_cli-0.84.3}/.devague/plans/thor-cortex-speculation.json +0 -0
  241. {lobes_cli-0.84.2 → lobes_cli-0.84.3}/.devague/plans/thor-worker-arm-qwen3-6-35b-a3b-recipes.json +0 -0
  242. {lobes_cli-0.84.2 → lobes_cli-0.84.3}/.devague/plans/thor-worker-lobe-qwen3-6-35b-a3b.json +0 -0
  243. {lobes_cli-0.84.2 → lobes_cli-0.84.3}/.devague/plans/under-pressure-lobes-tells-you-the-cortex-model-is.json +0 -0
  244. {lobes_cli-0.84.2 → lobes_cli-0.84.3}/.devague/plans/unsloth-qat-senses-first-class-orin-variation.json +0 -0
  245. {lobes_cli-0.84.2 → lobes_cli-0.84.3}/.eidetic/memory/colleague__public.jsonl +0 -0
  246. {lobes_cli-0.84.2 → lobes_cli-0.84.3}/.eidetic/memory/default__public.jsonl +0 -0
  247. {lobes_cli-0.84.2 → lobes_cli-0.84.3}/.flake8 +0 -0
  248. {lobes_cli-0.84.2 → lobes_cli-0.84.3}/.github/workflows/publish.yml +0 -0
  249. {lobes_cli-0.84.2 → lobes_cli-0.84.3}/.github/workflows/tests.yml +0 -0
  250. {lobes_cli-0.84.2 → lobes_cli-0.84.3}/.gitignore +0 -0
  251. {lobes_cli-0.84.2 → lobes_cli-0.84.3}/.markdownlint-cli2.yaml +0 -0
  252. {lobes_cli-0.84.2 → lobes_cli-0.84.3}/AGENTS.md +0 -0
  253. {lobes_cli-0.84.2 → lobes_cli-0.84.3}/CLAUDE.md +0 -0
  254. {lobes_cli-0.84.2 → lobes_cli-0.84.3}/LICENSE +0 -0
  255. {lobes_cli-0.84.2 → lobes_cli-0.84.3}/QWEN.md +0 -0
  256. {lobes_cli-0.84.2 → lobes_cli-0.84.3}/README.md +0 -0
  257. {lobes_cli-0.84.2 → lobes_cli-0.84.3}/culture.yaml +0 -0
  258. {lobes_cli-0.84.2 → lobes_cli-0.84.3}/deployments/README.md +0 -0
  259. {lobes_cli-0.84.2 → lobes_cli-0.84.3}/deployments/VARIATION.template.md +0 -0
  260. {lobes_cli-0.84.2 → lobes_cli-0.84.3}/deployments/jetson-agx-orin__orin-embed/Dockerfile.embed-st +0 -0
  261. {lobes_cli-0.84.2 → lobes_cli-0.84.3}/deployments/jetson-agx-orin__orin-embed/Dockerfile.gateway +0 -0
  262. {lobes_cli-0.84.2 → lobes_cli-0.84.3}/deployments/jetson-agx-orin__orin-embed/VARIATION.md +0 -0
  263. {lobes_cli-0.84.2 → lobes_cli-0.84.3}/deployments/jetson-agx-orin__orin-embed/docker-compose.embed.yml +0 -0
  264. {lobes_cli-0.84.2 → lobes_cli-0.84.3}/deployments/jetson-agx-orin__orin-embed/docker-compose.gpu.yml +0 -0
  265. {lobes_cli-0.84.2 → lobes_cli-0.84.3}/deployments/jetson-agx-orin__orin-embed/docker-compose.override.yml +0 -0
  266. {lobes_cli-0.84.2 → lobes_cli-0.84.3}/deployments/jetson-agx-orin__orin-embed/docker-compose.shape.yml +0 -0
  267. {lobes_cli-0.84.2 → lobes_cli-0.84.3}/deployments/jetson-agx-orin__orin-embed/mg-logwrap.sh +0 -0
  268. {lobes_cli-0.84.2 → lobes_cli-0.84.3}/deployments/jetson-agx-orin__orin-embed/qwen3_reranker.jinja +0 -0
  269. {lobes_cli-0.84.2 → lobes_cli-0.84.3}/deployments/jetson-agx-orin__orin-embed/qwen3_thinking_tool_parser.py +0 -0
  270. {lobes_cli-0.84.2 → lobes_cli-0.84.3}/deployments/jetson-agx-thor__thor-worker/Dockerfile.gateway +0 -0
  271. {lobes_cli-0.84.2 → lobes_cli-0.84.3}/deployments/jetson-agx-thor__thor-worker/Dockerfile.vllm-gemma4 +0 -0
  272. {lobes_cli-0.84.2 → lobes_cli-0.84.3}/deployments/jetson-agx-thor__thor-worker/VARIATION.md +0 -0
  273. {lobes_cli-0.84.2 → lobes_cli-0.84.3}/deployments/jetson-agx-thor__thor-worker/deployment.lock.toml +0 -0
  274. {lobes_cli-0.84.2 → lobes_cli-0.84.3}/deployments/jetson-agx-thor__thor-worker/docker-compose.override.yml +0 -0
  275. {lobes_cli-0.84.2 → lobes_cli-0.84.3}/deployments/jetson-agx-thor__thor-worker/docker-compose.shape.yml +0 -0
  276. {lobes_cli-0.84.2 → lobes_cli-0.84.3}/deployments/jetson-agx-thor__thor-worker/docker-compose.yml +0 -0
  277. {lobes_cli-0.84.2 → lobes_cli-0.84.3}/deployments/jetson-agx-thor__thor-worker/mg-logwrap.sh +0 -0
  278. {lobes_cli-0.84.2 → lobes_cli-0.84.3}/deployments/jetson-agx-thor__thor-worker/qwen3_reranker.jinja +0 -0
  279. {lobes_cli-0.84.2 → lobes_cli-0.84.3}/deployments/jetson-agx-thor__thor-worker/qwen3_thinking_tool_parser.py +0 -0
  280. {lobes_cli-0.84.2 → lobes_cli-0.84.3}/docs/chatterbox-tts.md +0 -0
  281. {lobes_cli-0.84.2 → lobes_cli-0.84.3}/docs/colleague-stack.md +0 -0
  282. {lobes_cli-0.84.2 → lobes_cli-0.84.3}/docs/contracts/README.md +0 -0
  283. {lobes_cli-0.84.2 → lobes_cli-0.84.3}/docs/contracts/realtime-tool-calling.md +0 -0
  284. {lobes_cli-0.84.2 → lobes_cli-0.84.3}/docs/deliveries/2026-07-16-proxy-lobes-pairwise-auth.md +0 -0
  285. {lobes_cli-0.84.2 → lobes_cli-0.84.3}/docs/deliveries/2026-07-21-realtime-voice-to-voice-astro-test-site-151.md +0 -0
  286. {lobes_cli-0.84.2 → lobes_cli-0.84.3}/docs/deliveries/2026-08-04-unsloth-qat-senses-first-class-orin-variation.md +0 -0
  287. {lobes_cli-0.84.2 → lobes_cli-0.84.3}/docs/deliveries/2026-08-10-hand-lobe-lfm2-5-1-2b.md +0 -0
  288. {lobes_cli-0.84.2 → lobes_cli-0.84.3}/docs/deliveries/2026-08-20-nemotron-lightning-worker.md +0 -0
  289. {lobes_cli-0.84.2 → lobes_cli-0.84.3}/docs/deliveries/2026-08-22-qwen3-8-gguf-llamacpp.md +0 -0
  290. {lobes_cli-0.84.2 → lobes_cli-0.84.3}/docs/deliveries/2026-08-23-qwen3-8-gguf-llamacpp-deviation-ledger.md +0 -0
  291. {lobes_cli-0.84.2 → lobes_cli-0.84.3}/docs/deliveries/2026-08-24-dspark-speculation-on-the-spark-cortex.md +0 -0
  292. {lobes_cli-0.84.2 → lobes_cli-0.84.3}/docs/deliveries/2026-08-25-cortex-replica-pool-199.md +0 -0
  293. {lobes_cli-0.84.2 → lobes_cli-0.84.3}/docs/deliveries/2026-08-25-lightning-on-orin.md +0 -0
  294. {lobes_cli-0.84.2 → lobes_cli-0.84.3}/docs/deliveries/2026-08-25-thor-cortex-speculation.md +0 -0
  295. {lobes_cli-0.84.2 → lobes_cli-0.84.3}/docs/deliveries/2026-08-29-deployment-lock-per-box.md +0 -0
  296. {lobes_cli-0.84.2 → lobes_cli-0.84.3}/docs/deliveries/2026-08-30-peer-only-replica-pools.md +0 -0
  297. {lobes_cli-0.84.2 → lobes_cli-0.84.3}/docs/deliveries/2026-08-31-quick-wins-finish-the-rename.md +0 -0
  298. {lobes_cli-0.84.2 → lobes_cli-0.84.3}/docs/deliveries/2026-09-11-mesh-brain-join.md +0 -0
  299. {lobes_cli-0.84.2 → lobes_cli-0.84.3}/docs/deliveries/2026-09-12-mesh-boot-window-and-capabilities-advert.md +0 -0
  300. {lobes_cli-0.84.2 → lobes_cli-0.84.3}/docs/deliveries/2026-09-13-orin-associate-at-1m.md +0 -0
  301. {lobes_cli-0.84.2 → lobes_cli-0.84.3}/docs/deliveries/2026-09-16-innereye-lobes-hosts-comfyui.md +0 -0
  302. {lobes_cli-0.84.2 → lobes_cli-0.84.3}/docs/deliveries/2026-09-18-hebrew-realtime.md +0 -0
  303. {lobes_cli-0.84.2 → lobes_cli-0.84.3}/docs/deliveries/2026-10-06-mesh-pool-load-sharing.md +0 -0
  304. {lobes_cli-0.84.2 → lobes_cli-0.84.3}/docs/deliveries/2026-10-07-orin-embedding-specialist.md +0 -0
  305. {lobes_cli-0.84.2 → lobes_cli-0.84.3}/docs/deployment-lock.md +0 -0
  306. {lobes_cli-0.84.2 → lobes_cli-0.84.3}/docs/deployment-shapes.md +0 -0
  307. {lobes_cli-0.84.2 → lobes_cli-0.84.3}/docs/dspark-speculation.md +0 -0
  308. {lobes_cli-0.84.2 → lobes_cli-0.84.3}/docs/durable-logs.md +0 -0
  309. {lobes_cli-0.84.2 → lobes_cli-0.84.3}/docs/embeddinggemma-2.md +0 -0
  310. {lobes_cli-0.84.2 → lobes_cli-0.84.3}/docs/evidence/2026-07-14-accept-spark-lobe-gb10.txt +0 -0
  311. {lobes_cli-0.84.2 → lobes_cli-0.84.3}/docs/evidence/2026-07-14-accept-thor-lobe-thor.txt +0 -0
  312. {lobes_cli-0.84.2 → lobes_cli-0.84.3}/docs/evidence/2026-07-16-proxy-lobes-live-spark-thor.txt +0 -0
  313. {lobes_cli-0.84.2 → lobes_cli-0.84.3}/docs/evidence/2026-07-17-accept-muse-tool-calling-thor.txt +0 -0
  314. {lobes_cli-0.84.2 → lobes_cli-0.84.3}/docs/evidence/2026-07-20-accept-embed-deep-gb10.txt +0 -0
  315. {lobes_cli-0.84.2 → lobes_cli-0.84.3}/docs/evidence/2026-07-21-accept-realtime-spark.txt +0 -0
  316. {lobes_cli-0.84.2 → lobes_cli-0.84.3}/docs/evidence/2026-07-21-accept-voice-loop-spark.txt +0 -0
  317. {lobes_cli-0.84.2 → lobes_cli-0.84.3}/docs/evidence/2026-07-31-accept-multimodal-cortex-spark.txt +0 -0
  318. {lobes_cli-0.84.2 → lobes_cli-0.84.3}/docs/evidence/2026-08-10-hand-lobe-budget-derivation.txt +0 -0
  319. {lobes_cli-0.84.2 → lobes_cli-0.84.3}/docs/evidence/2026-08-10-partial-hand-orin.txt +0 -0
  320. {lobes_cli-0.84.2 → lobes_cli-0.84.3}/docs/evidence/2026-08-10-partial-hand-spark.txt +0 -0
  321. {lobes_cli-0.84.2 → lobes_cli-0.84.3}/docs/evidence/2026-08-19-accept-qwen38-1m-spark.txt +0 -0
  322. {lobes_cli-0.84.2 → lobes_cli-0.84.3}/docs/evidence/2026-08-19-baseline-qwen3.6-cortex-spark.txt +0 -0
  323. {lobes_cli-0.84.2 → lobes_cli-0.84.3}/docs/evidence/2026-08-19-spike-qwen3.8-official-nightly-spark.txt +0 -0
  324. {lobes_cli-0.84.2 → lobes_cli-0.84.3}/docs/evidence/2026-08-20-accept-hand-spark.txt +0 -0
  325. {lobes_cli-0.84.2 → lobes_cli-0.84.3}/docs/evidence/2026-08-20-baseline-worker-qwen35b-thor.txt +0 -0
  326. {lobes_cli-0.84.2 → lobes_cli-0.84.3}/docs/evidence/2026-08-20-hand-thor-blocked-reattributed.txt +0 -0
  327. {lobes_cli-0.84.2 → lobes_cli-0.84.3}/docs/evidence/2026-08-20-spike-lightning-thor-no-go.txt +0 -0
  328. {lobes_cli-0.84.2 → lobes_cli-0.84.3}/docs/evidence/2026-08-21-measure-reasoning-effort-cortex-spark.txt +0 -0
  329. {lobes_cli-0.84.2 → lobes_cli-0.84.3}/docs/evidence/2026-08-23-spike-qwen38-gguf-llamacpp-orin.txt +0 -0
  330. {lobes_cli-0.84.2 → lobes_cli-0.84.3}/docs/evidence/2026-08-25-accept-spark-lobe-dspark-render.txt +0 -0
  331. {lobes_cli-0.84.2 → lobes_cli-0.84.3}/docs/evidence/2026-08-25-baseline-cortex-single-owner.txt +0 -0
  332. {lobes_cli-0.84.2 → lobes_cli-0.84.3}/docs/evidence/2026-08-25-measure-associate-budget-orin.txt +0 -0
  333. {lobes_cli-0.84.2 → lobes_cli-0.84.3}/docs/evidence/2026-08-25-orin-board-state-lightning-spikes.txt +0 -0
  334. {lobes_cli-0.84.2 → lobes_cli-0.84.3}/docs/evidence/2026-08-25-spike-lightning-llamacpp-orin.txt +0 -0
  335. {lobes_cli-0.84.2 → lobes_cli-0.84.3}/docs/evidence/2026-08-25-spike-thor-cortex-speculation.txt +0 -0
  336. {lobes_cli-0.84.2 → lobes_cli-0.84.3}/docs/evidence/2026-08-30-accept-reranker-template-spark.txt +0 -0
  337. {lobes_cli-0.84.2 → lobes_cli-0.84.3}/docs/evidence/2026-08-30-baseline-reranker-untemplated-spark.txt +0 -0
  338. {lobes_cli-0.84.2 → lobes_cli-0.84.3}/docs/evidence/2026-09-10-accept-nvidia-35b-a3b-thor.txt +0 -0
  339. {lobes_cli-0.84.2 → lobes_cli-0.84.3}/docs/evidence/2026-09-10-baseline-thor-cortex-pre-244.txt +0 -0
  340. {lobes_cli-0.84.2 → lobes_cli-0.84.3}/docs/evidence/2026-09-10-spike-nvidia-35b-a3b-preboot-thor.txt +0 -0
  341. {lobes_cli-0.84.2 → lobes_cli-0.84.3}/docs/evidence/2026-09-10-sweep-mtp-depth-nvidia-35b-a3b-thor.txt +0 -0
  342. {lobes_cli-0.84.2 → lobes_cli-0.84.3}/docs/evidence/2026-09-10-thor-backup-and-rollback-dryrun-244.txt +0 -0
  343. {lobes_cli-0.84.2 → lobes_cli-0.84.3}/docs/evidence/2026-09-13-accept-orin-associate-1m.txt +0 -0
  344. {lobes_cli-0.84.2 → lobes_cli-0.84.3}/docs/evidence/2026-09-13-measure-associate-budget-orin-1m.txt +0 -0
  345. {lobes_cli-0.84.2 → lobes_cli-0.84.3}/docs/evidence/2026-09-13-spike-lightning-thor-v029.txt +0 -0
  346. {lobes_cli-0.84.2 → lobes_cli-0.84.3}/docs/evidence/2026-09-16-baseline-comfyui-venv-spark.txt +0 -0
  347. {lobes_cli-0.84.2 → lobes_cli-0.84.3}/docs/evidence/2026-09-16-innereye-render-via-thor.png +0 -0
  348. {lobes_cli-0.84.2 → lobes_cli-0.84.3}/docs/evidence/2026-09-16-t2-comfyui-container-spark.txt +0 -0
  349. {lobes_cli-0.84.2 → lobes_cli-0.84.3}/docs/evidence/2026-09-19-accept-multimodal-gemma26b-native-context-spark.txt +0 -0
  350. {lobes_cli-0.84.2 → lobes_cli-0.84.3}/docs/evidence/2026-09-23-spike-flash-next-worker-thor.txt +0 -0
  351. {lobes_cli-0.84.2 → lobes_cli-0.84.3}/docs/evidence/2026-09-hebrew-realtime-audio-hardware-spark.txt +0 -0
  352. {lobes_cli-0.84.2 → lobes_cli-0.84.3}/docs/evidence/2026-09-hebrew-realtime-first-loop-spark.txt +0 -0
  353. {lobes_cli-0.84.2 → lobes_cli-0.84.3}/docs/evidence/2026-09-hebrew-realtime-spike-spark.txt +0 -0
  354. {lobes_cli-0.84.2 → lobes_cli-0.84.3}/docs/evidence/2026-09-hebrew-realtime-streaming-bluetts-spark.txt +0 -0
  355. {lobes_cli-0.84.2 → lobes_cli-0.84.3}/docs/evidence/2026-09-hebrew-realtime-vad-ab-spark.txt +0 -0
  356. {lobes_cli-0.84.2 → lobes_cli-0.84.3}/docs/evidence/2026-09-hebrew-stt-spike-spark.txt +0 -0
  357. {lobes_cli-0.84.2 → lobes_cli-0.84.3}/docs/evidence/2026-09-hebrew-tts-ab-spark.txt +0 -0
  358. {lobes_cli-0.84.2 → lobes_cli-0.84.3}/docs/evidence/2026-09-hebrew-voice-lane-senses12b-spark.txt +0 -0
  359. {lobes_cli-0.84.2 → lobes_cli-0.84.3}/docs/evidence/2026-10-07-h2h/run1.json +0 -0
  360. {lobes_cli-0.84.2 → lobes_cli-0.84.3}/docs/evidence/2026-10-07-h2h/run1.table.txt +0 -0
  361. {lobes_cli-0.84.2 → lobes_cli-0.84.3}/docs/evidence/2026-10-07-h2h/run2-nomic.json +0 -0
  362. {lobes_cli-0.84.2 → lobes_cli-0.84.3}/docs/evidence/2026-10-07-h2h/run2-nomic.table.txt +0 -0
  363. {lobes_cli-0.84.2 → lobes_cli-0.84.3}/docs/evidence/2026-10-07-h2h/run3-qwen3vl.json +0 -0
  364. {lobes_cli-0.84.2 → lobes_cli-0.84.3}/docs/evidence/2026-10-07-h2h/run3-qwen3vl.table.txt +0 -0
  365. {lobes_cli-0.84.2 → lobes_cli-0.84.3}/docs/evidence/2026-10-07-h2h-code-retrieval-orin.txt +0 -0
  366. {lobes_cli-0.84.2 → lobes_cli-0.84.3}/docs/evidence/2026-10-07-rollback-orin-embed-to-orin-associate.txt +0 -0
  367. {lobes_cli-0.84.2 → lobes_cli-0.84.3}/docs/evidence/2026-10-07-spike-embeddinggemma2-sidecar-orin.txt +0 -0
  368. {lobes_cli-0.84.2 → lobes_cli-0.84.3}/docs/evidence/2026-10-07-spike-orin-embed-vllm-8b.txt +0 -0
  369. {lobes_cli-0.84.2 → lobes_cli-0.84.3}/docs/evidence/README-dspark-arms.md +0 -0
  370. {lobes_cli-0.84.2 → lobes_cli-0.84.3}/docs/evidence/README-realtime-acceptance.md +0 -0
  371. {lobes_cli-0.84.2 → lobes_cli-0.84.3}/docs/evidence/arm-a16-dspark-262k.json +0 -0
  372. {lobes_cli-0.84.2 → lobes_cli-0.84.3}/docs/evidence/arm-a16-none-262k.json +0 -0
  373. {lobes_cli-0.84.2 → lobes_cli-0.84.3}/docs/evidence/arm-dspark-262k.json +0 -0
  374. {lobes_cli-0.84.2 → lobes_cli-0.84.3}/docs/evidence/arm-dspark-768k.json +0 -0
  375. {lobes_cli-0.84.2 → lobes_cli-0.84.3}/docs/evidence/arm-mtp-n2-262k.json +0 -0
  376. {lobes_cli-0.84.2 → lobes_cli-0.84.3}/docs/evidence/arm-mtp-n2-768k.json +0 -0
  377. {lobes_cli-0.84.2 → lobes_cli-0.84.3}/docs/evidence/arm-mtp-n2.json +0 -0
  378. {lobes_cli-0.84.2 → lobes_cli-0.84.3}/docs/evidence/arm-none-262k.json +0 -0
  379. {lobes_cli-0.84.2 → lobes_cli-0.84.3}/docs/evidence/arm-none-768k.json +0 -0
  380. {lobes_cli-0.84.2 → lobes_cli-0.84.3}/docs/experiments/README.md +0 -0
  381. {lobes_cli-0.84.2 → lobes_cli-0.84.3}/docs/experiments/qwen3.8-flash-next-gguf-llamacpp-vllm.md +0 -0
  382. {lobes_cli-0.84.2 → lobes_cli-0.84.3}/docs/experiments/qwen3.8-flash-next-nvfp4-thor-reference.md +0 -0
  383. {lobes_cli-0.84.2 → lobes_cli-0.84.3}/docs/gemma-4-12b-nvfp4.md +0 -0
  384. {lobes_cli-0.84.2 → lobes_cli-0.84.3}/docs/gemma-4-12b-qat-w4a16.md +0 -0
  385. {lobes_cli-0.84.2 → lobes_cli-0.84.3}/docs/gemma-4-31b-nvfp4.md +0 -0
  386. {lobes_cli-0.84.2 → lobes_cli-0.84.3}/docs/gemma4-mtp-draft.md +0 -0
  387. {lobes_cli-0.84.2 → lobes_cli-0.84.3}/docs/hebrew-realtime.md +0 -0
  388. {lobes_cli-0.84.2 → lobes_cli-0.84.3}/docs/image-ledger.md +0 -0
  389. {lobes_cli-0.84.2 → lobes_cli-0.84.3}/docs/lfm2.5-1.2b-hand.md +0 -0
  390. {lobes_cli-0.84.2 → lobes_cli-0.84.3}/docs/machine-profiles.md +0 -0
  391. {lobes_cli-0.84.2 → lobes_cli-0.84.3}/docs/measuring-lane-performance.md +0 -0
  392. {lobes_cli-0.84.2 → lobes_cli-0.84.3}/docs/mistral-small-3.2-24b-nvfp4.md +0 -0
  393. {lobes_cli-0.84.2 → lobes_cli-0.84.3}/docs/model-switch-playbook.md +0 -0
  394. {lobes_cli-0.84.2 → lobes_cli-0.84.3}/docs/nemotron-3-embed-8b.md +0 -0
  395. {lobes_cli-0.84.2 → lobes_cli-0.84.3}/docs/nomic-embed-code.md +0 -0
  396. {lobes_cli-0.84.2 → lobes_cli-0.84.3}/docs/openai-api.md +0 -0
  397. {lobes_cli-0.84.2 → lobes_cli-0.84.3}/docs/operating-a-deployment.md +0 -0
  398. {lobes_cli-0.84.2 → lobes_cli-0.84.3}/docs/orin-associate-deployment.md +0 -0
  399. {lobes_cli-0.84.2 → lobes_cli-0.84.3}/docs/orin-embed-deployment.md +0 -0
  400. {lobes_cli-0.84.2 → lobes_cli-0.84.3}/docs/parakeet-stt.md +0 -0
  401. {lobes_cli-0.84.2 → lobes_cli-0.84.3}/docs/plans/2026-06-12-model-gear-owns-the-audio-i-o-surface-end-to-end-m.md +0 -0
  402. {lobes_cli-0.84.2 → lobes_cli-0.84.3}/docs/plans/2026-06-19-model-gear-now-serves-an-embedding-gear-qwen3-embe-2.md +0 -0
  403. {lobes_cli-0.84.2 → lobes_cli-0.84.3}/docs/plans/2026-06-26-lobes-ships-a-minor-lobe-a-cheap-warm-co-resident.md +0 -0
  404. {lobes_cli-0.84.2 → lobes_cli-0.84.3}/docs/plans/2026-06-26-lobes-ships-a-per-lobe-benchmark-suite-speed-paral.md +0 -0
  405. {lobes_cli-0.84.2 → lobes_cli-0.84.3}/docs/plans/2026-06-29-lobes-adds-a-third-middle-model-tier-and-pressure.md +0 -0
  406. {lobes_cli-0.84.2 → lobes_cli-0.84.3}/docs/plans/2026-06-30-lobes-now-defaults-to-a-spark-duo-the-qwen3-6-27b.md +0 -0
  407. {lobes_cli-0.84.2 → lobes_cli-0.84.3}/docs/plans/2026-06-30-lobes-ships-a-custom-vllm-image-from-nvcr-io-nvidi.md +0 -0
  408. {lobes_cli-0.84.2 → lobes_cli-0.84.3}/docs/plans/2026-07-01-gemma-4-12b-gear-gets-speculative-decoding-draft.md +0 -0
  409. {lobes_cli-0.84.2 → lobes_cli-0.84.3}/docs/plans/2026-07-01-lobes-unifies-its-generate-lane-on-one-vllm-nightl.md +0 -0
  410. {lobes_cli-0.84.2 → lobes_cli-0.84.3}/docs/plans/2026-07-03-lobes-exposes-the-full-colleague-runtime-stack-as.md +0 -0
  411. {lobes_cli-0.84.2 → lobes_cli-0.84.3}/docs/plans/2026-07-03-under-pressure-lobes-tells-you-the-cortex-model-is.md +0 -0
  412. {lobes_cli-0.84.2 → lobes_cli-0.84.3}/docs/plans/2026-07-04-lobes-tells-clients-the-truth-about-a-fleet-a-cons.md +0 -0
  413. {lobes_cli-0.84.2 → lobes_cli-0.84.3}/docs/plans/2026-07-07-lobes-preserves-qwen-thinking-traces-across-multi.md +0 -0
  414. {lobes_cli-0.84.2 → lobes_cli-0.84.3}/docs/plans/2026-07-09-lobes-never-advertises-a-capability-it-cannot-serv.md +0 -0
  415. {lobes_cli-0.84.2 → lobes_cli-0.84.3}/docs/plans/2026-07-10-lobes-gateway-relays-sse-streams-frame-by-frame-th.md +0 -0
  416. {lobes_cli-0.84.2 → lobes_cli-0.84.3}/docs/plans/2026-07-13-lobes-fits-the-machine-it-lands-on-one-command-det.md +0 -0
  417. {lobes_cli-0.84.2 → lobes_cli-0.84.3}/docs/plans/2026-07-14-lobes-serves-strict-grammar-constrained-tool-calls.md +0 -0
  418. {lobes_cli-0.84.2 → lobes_cli-0.84.3}/docs/plans/2026-07-14-lobes-serves-the-brain-shape-you-choose-machine-as.md +0 -0
  419. {lobes_cli-0.84.2 → lobes_cli-0.84.3}/docs/plans/2026-07-14-lobes-serves-the-mesh-brain-end-state-one-lobe-per.md +0 -0
  420. {lobes_cli-0.84.2 → lobes_cli-0.84.3}/docs/plans/2026-07-16-proxy-lobes-pairwise-auth.md +0 -0
  421. {lobes_cli-0.84.2 → lobes_cli-0.84.3}/docs/plans/2026-07-17-compose-chain-unification-init-repair-doctor-stale.md +0 -0
  422. {lobes_cli-0.84.2 → lobes_cli-0.84.3}/docs/plans/2026-07-21-realtime-voice-to-voice-astro-test-site-151.md +0 -0
  423. {lobes_cli-0.84.2 → lobes_cli-0.84.3}/docs/plans/2026-07-21-realtime-ws-server-vad-149.md +0 -0
  424. {lobes_cli-0.84.2 → lobes_cli-0.84.3}/docs/plans/2026-07-24-stt-readiness-truth-155.md +0 -0
  425. {lobes_cli-0.84.2 → lobes_cli-0.84.3}/docs/plans/2026-07-25-lobes-capabilities-tells-you-where-a-lobe-is-serve.md +0 -0
  426. {lobes_cli-0.84.2 → lobes_cli-0.84.3}/docs/plans/2026-07-31-thor-worker-lobe-qwen3-6-35b-a3b.md +0 -0
  427. {lobes_cli-0.84.2 → lobes_cli-0.84.3}/docs/plans/2026-08-04-unsloth-qat-senses-first-class-orin-variation.md +0 -0
  428. {lobes_cli-0.84.2 → lobes_cli-0.84.3}/docs/plans/2026-08-10-hand-lobe-lfm2-5-1-2b.md +0 -0
  429. {lobes_cli-0.84.2 → lobes_cli-0.84.3}/docs/plans/2026-08-19-qwen3-8-cortex-upgrade.md +0 -0
  430. {lobes_cli-0.84.2 → lobes_cli-0.84.3}/docs/plans/2026-08-20-nemotron-lightning-worker.md +0 -0
  431. {lobes_cli-0.84.2 → lobes_cli-0.84.3}/docs/plans/2026-08-22-qwen3-8-gguf-llamacpp.md +0 -0
  432. {lobes_cli-0.84.2 → lobes_cli-0.84.3}/docs/plans/2026-08-24-dspark-speculation-on-the-spark-cortex.md +0 -0
  433. {lobes_cli-0.84.2 → lobes_cli-0.84.3}/docs/plans/2026-08-25-cortex-replica-pool-199.md +0 -0
  434. {lobes_cli-0.84.2 → lobes_cli-0.84.3}/docs/plans/2026-08-25-lightning-on-orin.md +0 -0
  435. {lobes_cli-0.84.2 → lobes_cli-0.84.3}/docs/plans/2026-08-25-thor-cortex-speculation.md +0 -0
  436. {lobes_cli-0.84.2 → lobes_cli-0.84.3}/docs/plans/2026-08-27-capacity-relative-pool-routing.md +0 -0
  437. {lobes_cli-0.84.2 → lobes_cli-0.84.3}/docs/plans/2026-08-29-deployment-lock-per-box.md +0 -0
  438. {lobes_cli-0.84.2 → lobes_cli-0.84.3}/docs/plans/2026-08-30-peer-only-replica-pools.md +0 -0
  439. {lobes_cli-0.84.2 → lobes_cli-0.84.3}/docs/plans/2026-08-30-reranker-calibration-227.md +0 -0
  440. {lobes_cli-0.84.2 → lobes_cli-0.84.3}/docs/plans/2026-08-31-quick-wins-finish-the-rename.md +0 -0
  441. {lobes_cli-0.84.2 → lobes_cli-0.84.3}/docs/plans/2026-09-10-thor-worker-arm-qwen3-6-35b-a3b-recipes-split.md +0 -0
  442. {lobes_cli-0.84.2 → lobes_cli-0.84.3}/docs/plans/2026-09-10-thor-worker-arm-qwen3-6-35b-a3b-recipes.md +0 -0
  443. {lobes_cli-0.84.2 → lobes_cli-0.84.3}/docs/plans/2026-09-11-mesh-brain-join-split.md +0 -0
  444. {lobes_cli-0.84.2 → lobes_cli-0.84.3}/docs/plans/2026-09-11-mesh-brain-join.md +0 -0
  445. {lobes_cli-0.84.2 → lobes_cli-0.84.3}/docs/plans/2026-09-12-mesh-boot-window-and-capabilities-advert-split.md +0 -0
  446. {lobes_cli-0.84.2 → lobes_cli-0.84.3}/docs/plans/2026-09-12-mesh-boot-window-and-capabilities-advert.md +0 -0
  447. {lobes_cli-0.84.2 → lobes_cli-0.84.3}/docs/plans/2026-09-13-orin-associate-at-1m-split.md +0 -0
  448. {lobes_cli-0.84.2 → lobes_cli-0.84.3}/docs/plans/2026-09-13-orin-associate-at-1m.md +0 -0
  449. {lobes_cli-0.84.2 → lobes_cli-0.84.3}/docs/plans/2026-09-16-innereye-lobes-hosts-comfyui-split.md +0 -0
  450. {lobes_cli-0.84.2 → lobes_cli-0.84.3}/docs/plans/2026-09-16-innereye-lobes-hosts-comfyui.md +0 -0
  451. {lobes_cli-0.84.2 → lobes_cli-0.84.3}/docs/plans/2026-09-18-hebrew-realtime-HANDOFF.md +0 -0
  452. {lobes_cli-0.84.2 → lobes_cli-0.84.3}/docs/plans/2026-09-18-hebrew-realtime-split.md +0 -0
  453. {lobes_cli-0.84.2 → lobes_cli-0.84.3}/docs/plans/2026-09-18-hebrew-realtime.md +0 -0
  454. {lobes_cli-0.84.2 → lobes_cli-0.84.3}/docs/plans/2026-09-23-flash-next-worker-on-thor.md +0 -0
  455. {lobes_cli-0.84.2 → lobes_cli-0.84.3}/docs/plans/2026-10-06-mesh-pool-load-sharing-split.md +0 -0
  456. {lobes_cli-0.84.2 → lobes_cli-0.84.3}/docs/plans/2026-10-06-mesh-pool-load-sharing.md +0 -0
  457. {lobes_cli-0.84.2 → lobes_cli-0.84.3}/docs/plans/2026-10-07-orin-embedding-specialist-split.md +0 -0
  458. {lobes_cli-0.84.2 → lobes_cli-0.84.3}/docs/plans/2026-10-07-orin-embedding-specialist.md +0 -0
  459. {lobes_cli-0.84.2 → lobes_cli-0.84.3}/docs/qwen3-14b-nvfp4.md +0 -0
  460. {lobes_cli-0.84.2 → lobes_cli-0.84.3}/docs/qwen3-32b-nvfp4.md +0 -0
  461. {lobes_cli-0.84.2 → lobes_cli-0.84.3}/docs/qwen3-embedding-0.6b.md +0 -0
  462. {lobes_cli-0.84.2 → lobes_cli-0.84.3}/docs/qwen3-embedding-4b.md +0 -0
  463. {lobes_cli-0.84.2 → lobes_cli-0.84.3}/docs/qwen3-reranker-0.6b.md +0 -0
  464. {lobes_cli-0.84.2 → lobes_cli-0.84.3}/docs/qwen3-vl-embedding-8b.md +0 -0
  465. {lobes_cli-0.84.2 → lobes_cli-0.84.3}/docs/qwen3-vl-reranker-8b.md +0 -0
  466. {lobes_cli-0.84.2 → lobes_cli-0.84.3}/docs/qwen3.5-4b-minor.md +0 -0
  467. {lobes_cli-0.84.2 → lobes_cli-0.84.3}/docs/qwen3.6-27b-nvfp4-multimodal.md +0 -0
  468. {lobes_cli-0.84.2 → lobes_cli-0.84.3}/docs/qwen3.6-27b-nvfp4.md +0 -0
  469. {lobes_cli-0.84.2 → lobes_cli-0.84.3}/docs/qwen3.6-27b-text-nvfp4-mtp.md +0 -0
  470. {lobes_cli-0.84.2 → lobes_cli-0.84.3}/docs/qwen3.6-35b-a3b-nvfp4.md +0 -0
  471. {lobes_cli-0.84.2 → lobes_cli-0.84.3}/docs/qwen3.8-27b-gguf-llamacpp.md +0 -0
  472. {lobes_cli-0.84.2 → lobes_cli-0.84.3}/docs/qwen3.8-27b-nvfp4.md +0 -0
  473. {lobes_cli-0.84.2 → lobes_cli-0.84.3}/docs/qwen38-rollout-notes.md +0 -0
  474. {lobes_cli-0.84.2 → lobes_cli-0.84.3}/docs/realtime-pipeline.md +0 -0
  475. {lobes_cli-0.84.2 → lobes_cli-0.84.3}/docs/secret-rotation.md +0 -0
  476. {lobes_cli-0.84.2 → lobes_cli-0.84.3}/docs/skill-sources.md +0 -0
  477. {lobes_cli-0.84.2 → lobes_cli-0.84.3}/docs/specs/2026-06-12-model-gear-owns-the-audio-i-o-surface-end-to-end-m.md +0 -0
  478. {lobes_cli-0.84.2 → lobes_cli-0.84.3}/docs/specs/2026-06-19-model-gear-now-serves-an-embedding-gear-qwen3-embe-2.md +0 -0
  479. {lobes_cli-0.84.2 → lobes_cli-0.84.3}/docs/specs/2026-06-26-lobes-ships-a-minor-lobe-a-cheap-warm-co-resident.md +0 -0
  480. {lobes_cli-0.84.2 → lobes_cli-0.84.3}/docs/specs/2026-06-26-lobes-ships-a-per-lobe-benchmark-suite-speed-paral.md +0 -0
  481. {lobes_cli-0.84.2 → lobes_cli-0.84.3}/docs/specs/2026-06-29-lobes-adds-a-third-middle-model-tier-and-pressure.md +0 -0
  482. {lobes_cli-0.84.2 → lobes_cli-0.84.3}/docs/specs/2026-06-30-lobes-now-defaults-to-a-spark-duo-the-qwen3-6-27b.md +0 -0
  483. {lobes_cli-0.84.2 → lobes_cli-0.84.3}/docs/specs/2026-06-30-lobes-ships-a-custom-vllm-image-from-nvcr-io-nvidi.md +0 -0
  484. {lobes_cli-0.84.2 → lobes_cli-0.84.3}/docs/specs/2026-07-01-gemma-4-12b-gear-gets-speculative-decoding-draft.md +0 -0
  485. {lobes_cli-0.84.2 → lobes_cli-0.84.3}/docs/specs/2026-07-01-lobes-unifies-its-generate-lane-on-one-vllm-nightl.md +0 -0
  486. {lobes_cli-0.84.2 → lobes_cli-0.84.3}/docs/specs/2026-07-03-lobes-exposes-the-full-colleague-runtime-stack-as.md +0 -0
  487. {lobes_cli-0.84.2 → lobes_cli-0.84.3}/docs/specs/2026-07-03-under-pressure-lobes-tells-you-the-cortex-model-is.md +0 -0
  488. {lobes_cli-0.84.2 → lobes_cli-0.84.3}/docs/specs/2026-07-04-lobes-tells-clients-the-truth-about-a-fleet-a-cons.md +0 -0
  489. {lobes_cli-0.84.2 → lobes_cli-0.84.3}/docs/specs/2026-07-07-lobes-preserves-qwen-thinking-traces-across-multi.md +0 -0
  490. {lobes_cli-0.84.2 → lobes_cli-0.84.3}/docs/specs/2026-07-09-lobes-never-advertises-a-capability-it-cannot-serv.md +0 -0
  491. {lobes_cli-0.84.2 → lobes_cli-0.84.3}/docs/specs/2026-07-10-lobes-gateway-relays-sse-streams-frame-by-frame-th.md +0 -0
  492. {lobes_cli-0.84.2 → lobes_cli-0.84.3}/docs/specs/2026-07-13-lobes-fits-the-machine-it-lands-on-one-command-det.md +0 -0
  493. {lobes_cli-0.84.2 → lobes_cli-0.84.3}/docs/specs/2026-07-14-lobes-serves-strict-grammar-constrained-tool-calls.md +0 -0
  494. {lobes_cli-0.84.2 → lobes_cli-0.84.3}/docs/specs/2026-07-14-lobes-serves-the-brain-shape-you-choose-machine-as.md +0 -0
  495. {lobes_cli-0.84.2 → lobes_cli-0.84.3}/docs/specs/2026-07-14-lobes-serves-the-mesh-brain-end-state-one-lobe-per.md +0 -0
  496. {lobes_cli-0.84.2 → lobes_cli-0.84.3}/docs/specs/2026-07-16-proxy-lobes-pairwise-auth.md +0 -0
  497. {lobes_cli-0.84.2 → lobes_cli-0.84.3}/docs/specs/2026-07-17-compose-chain-unification-init-repair-doctor-stale.md +0 -0
  498. {lobes_cli-0.84.2 → lobes_cli-0.84.3}/docs/specs/2026-07-21-realtime-voice-to-voice-astro-test-site-151.md +0 -0
  499. {lobes_cli-0.84.2 → lobes_cli-0.84.3}/docs/specs/2026-07-21-realtime-ws-server-vad-149.md +0 -0
  500. {lobes_cli-0.84.2 → lobes_cli-0.84.3}/docs/specs/2026-07-25-lobes-capabilities-tells-you-where-a-lobe-is-serve.md +0 -0
  501. {lobes_cli-0.84.2 → lobes_cli-0.84.3}/docs/specs/2026-07-31-thor-worker-lobe-qwen3-6-35b-a3b.md +0 -0
  502. {lobes_cli-0.84.2 → lobes_cli-0.84.3}/docs/specs/2026-08-04-unsloth-qat-senses-first-class-orin-variation.md +0 -0
  503. {lobes_cli-0.84.2 → lobes_cli-0.84.3}/docs/specs/2026-08-09-hand-lobe-lfm2-5-1-2b.md +0 -0
  504. {lobes_cli-0.84.2 → lobes_cli-0.84.3}/docs/specs/2026-08-19-qwen3-8-cortex-upgrade.md +0 -0
  505. {lobes_cli-0.84.2 → lobes_cli-0.84.3}/docs/specs/2026-08-20-nemotron-lightning-worker.md +0 -0
  506. {lobes_cli-0.84.2 → lobes_cli-0.84.3}/docs/specs/2026-08-22-qwen3-8-gguf-llamacpp.md +0 -0
  507. {lobes_cli-0.84.2 → lobes_cli-0.84.3}/docs/specs/2026-08-25-cortex-replica-pool-199.md +0 -0
  508. {lobes_cli-0.84.2 → lobes_cli-0.84.3}/docs/specs/2026-08-25-thor-cortex-speculation.md +0 -0
  509. {lobes_cli-0.84.2 → lobes_cli-0.84.3}/docs/specs/2026-08-27-capacity-relative-pool-routing.md +0 -0
  510. {lobes_cli-0.84.2 → lobes_cli-0.84.3}/docs/specs/2026-08-27-flash-next-on-vllm.md +0 -0
  511. {lobes_cli-0.84.2 → lobes_cli-0.84.3}/docs/specs/2026-08-29-deployment-lock-per-box.md +0 -0
  512. {lobes_cli-0.84.2 → lobes_cli-0.84.3}/docs/specs/2026-08-30-peer-only-replica-pools.md +0 -0
  513. {lobes_cli-0.84.2 → lobes_cli-0.84.3}/docs/specs/2026-08-30-reranker-calibration-227.md +0 -0
  514. {lobes_cli-0.84.2 → lobes_cli-0.84.3}/docs/specs/2026-08-31-quick-wins-finish-the-rename.md +0 -0
  515. {lobes_cli-0.84.2 → lobes_cli-0.84.3}/docs/specs/2026-09-10-thor-worker-arm-qwen3-6-35b-a3b-recipes.md +0 -0
  516. {lobes_cli-0.84.2 → lobes_cli-0.84.3}/docs/specs/2026-09-12-mesh-boot-window-and-capabilities-advert.md +0 -0
  517. {lobes_cli-0.84.2 → lobes_cli-0.84.3}/docs/specs/2026-09-13-orin-associate-at-1m.md +0 -0
  518. {lobes_cli-0.84.2 → lobes_cli-0.84.3}/docs/specs/2026-09-16-innereye-lobes-hosts-comfyui.md +0 -0
  519. {lobes_cli-0.84.2 → lobes_cli-0.84.3}/docs/specs/2026-09-23-flash-next-worker-on-thor.md +0 -0
  520. {lobes_cli-0.84.2 → lobes_cli-0.84.3}/docs/specs/2026-10-06-mesh-pool-load-sharing.md +0 -0
  521. {lobes_cli-0.84.2 → lobes_cli-0.84.3}/docs/specs/2026-10-07-orin-embedding-specialist.md +0 -0
  522. {lobes_cli-0.84.2 → lobes_cli-0.84.3}/docs/superpowers/plans/2026-05-22-scaffold-cli-sibling.md +0 -0
  523. {lobes_cli-0.84.2 → lobes_cli-0.84.3}/docs/superpowers/specs/2026-05-22-scaffold-cli-sibling-design.md +0 -0
  524. {lobes_cli-0.84.2 → lobes_cli-0.84.3}/docs/tensorrt-llm-investigation.md +0 -0
  525. {lobes_cli-0.84.2 → lobes_cli-0.84.3}/docs/thor-worker-flip-rollout-notes.md +0 -0
  526. {lobes_cli-0.84.2 → lobes_cli-0.84.3}/docs/tuning-profiles.md +0 -0
  527. {lobes_cli-0.84.2 → lobes_cli-0.84.3}/docs/validate-tiers.md +0 -0
  528. {lobes_cli-0.84.2 → lobes_cli-0.84.3}/docs/vllm-nightly-migration.md +0 -0
  529. {lobes_cli-0.84.2 → lobes_cli-0.84.3}/examples/minor-evals/smoke.jsonl +0 -0
  530. {lobes_cli-0.84.2 → lobes_cli-0.84.3}/lobes/__init__.py +0 -0
  531. {lobes_cli-0.84.2 → lobes_cli-0.84.3}/lobes/__main__.py +0 -0
  532. {lobes_cli-0.84.2 → lobes_cli-0.84.3}/lobes/_metrics.py +0 -0
  533. {lobes_cli-0.84.2 → lobes_cli-0.84.3}/lobes/assess.py +0 -0
  534. {lobes_cli-0.84.2 → lobes_cli-0.84.3}/lobes/bench/__init__.py +0 -0
  535. {lobes_cli-0.84.2 → lobes_cli-0.84.3}/lobes/bench/cat_probe.py +0 -0
  536. {lobes_cli-0.84.2 → lobes_cli-0.84.3}/lobes/bench/cat_score.py +0 -0
  537. {lobes_cli-0.84.2 → lobes_cli-0.84.3}/lobes/bench/compare.py +0 -0
  538. {lobes_cli-0.84.2 → lobes_cli-0.84.3}/lobes/bench/report.py +0 -0
  539. {lobes_cli-0.84.2 → lobes_cli-0.84.3}/lobes/catalog.py +0 -0
  540. {lobes_cli-0.84.2 → lobes_cli-0.84.3}/lobes/cli/__init__.py +0 -0
  541. {lobes_cli-0.84.2 → lobes_cli-0.84.3}/lobes/cli/_commands/__init__.py +0 -0
  542. {lobes_cli-0.84.2 → lobes_cli-0.84.3}/lobes/cli/_commands/_role_probe.py +0 -0
  543. {lobes_cli-0.84.2 → lobes_cli-0.84.3}/lobes/cli/_commands/assess.py +0 -0
  544. {lobes_cli-0.84.2 → lobes_cli-0.84.3}/lobes/cli/_commands/benchmark.py +0 -0
  545. {lobes_cli-0.84.2 → lobes_cli-0.84.3}/lobes/cli/_commands/calibrate.py +0 -0
  546. {lobes_cli-0.84.2 → lobes_cli-0.84.3}/lobes/cli/_commands/capabilities.py +0 -0
  547. {lobes_cli-0.84.2 → lobes_cli-0.84.3}/lobes/cli/_commands/cli.py +0 -0
  548. {lobes_cli-0.84.2 → lobes_cli-0.84.3}/lobes/cli/_commands/eval.py +0 -0
  549. {lobes_cli-0.84.2 → lobes_cli-0.84.3}/lobes/cli/_commands/explain.py +0 -0
  550. {lobes_cli-0.84.2 → lobes_cli-0.84.3}/lobes/cli/_commands/fleet.py +0 -0
  551. {lobes_cli-0.84.2 → lobes_cli-0.84.3}/lobes/cli/_commands/learn.py +0 -0
  552. {lobes_cli-0.84.2 → lobes_cli-0.84.3}/lobes/cli/_commands/logs.py +0 -0
  553. {lobes_cli-0.84.2 → lobes_cli-0.84.3}/lobes/cli/_commands/measure.py +0 -0
  554. {lobes_cli-0.84.2 → lobes_cli-0.84.3}/lobes/cli/_commands/mesh.py +0 -0
  555. {lobes_cli-0.84.2 → lobes_cli-0.84.3}/lobes/cli/_commands/overview.py +0 -0
  556. {lobes_cli-0.84.2 → lobes_cli-0.84.3}/lobes/cli/_commands/route.py +0 -0
  557. {lobes_cli-0.84.2 → lobes_cli-0.84.3}/lobes/cli/_commands/run.py +0 -0
  558. {lobes_cli-0.84.2 → lobes_cli-0.84.3}/lobes/cli/_commands/serve.py +0 -0
  559. {lobes_cli-0.84.2 → lobes_cli-0.84.3}/lobes/cli/_commands/status.py +0 -0
  560. {lobes_cli-0.84.2 → lobes_cli-0.84.3}/lobes/cli/_commands/stop.py +0 -0
  561. {lobes_cli-0.84.2 → lobes_cli-0.84.3}/lobes/cli/_commands/switch.py +0 -0
  562. {lobes_cli-0.84.2 → lobes_cli-0.84.3}/lobes/cli/_commands/tunnel.py +0 -0
  563. {lobes_cli-0.84.2 → lobes_cli-0.84.3}/lobes/cli/_commands/up.py +0 -0
  564. {lobes_cli-0.84.2 → lobes_cli-0.84.3}/lobes/cli/_commands/whoami.py +0 -0
  565. {lobes_cli-0.84.2 → lobes_cli-0.84.3}/lobes/cli/_errors.py +0 -0
  566. {lobes_cli-0.84.2 → lobes_cli-0.84.3}/lobes/cli/_live.py +0 -0
  567. {lobes_cli-0.84.2 → lobes_cli-0.84.3}/lobes/cli/_output.py +0 -0
  568. {lobes_cli-0.84.2 → lobes_cli-0.84.3}/lobes/cli/_role_swap.py +0 -0
  569. {lobes_cli-0.84.2 → lobes_cli-0.84.3}/lobes/cli/_runtime_ops.py +0 -0
  570. {lobes_cli-0.84.2 → lobes_cli-0.84.3}/lobes/embed_lanes.py +0 -0
  571. {lobes_cli-0.84.2 → lobes_cli-0.84.3}/lobes/embed_sidecar/__init__.py +0 -0
  572. {lobes_cli-0.84.2 → lobes_cli-0.84.3}/lobes/embed_sidecar/server.py +0 -0
  573. {lobes_cli-0.84.2 → lobes_cli-0.84.3}/lobes/explain/__init__.py +0 -0
  574. {lobes_cli-0.84.2 → lobes_cli-0.84.3}/lobes/explain/catalog.py +0 -0
  575. {lobes_cli-0.84.2 → lobes_cli-0.84.3}/lobes/gateway/__init__.py +0 -0
  576. {lobes_cli-0.84.2 → lobes_cli-0.84.3}/lobes/gateway/__main__.py +0 -0
  577. {lobes_cli-0.84.2 → lobes_cli-0.84.3}/lobes/gateway/_authlog.py +0 -0
  578. {lobes_cli-0.84.2 → lobes_cli-0.84.3}/lobes/gateway/_config.py +0 -0
  579. {lobes_cli-0.84.2 → lobes_cli-0.84.3}/lobes/gateway/_mesh_config.py +0 -0
  580. {lobes_cli-0.84.2 → lobes_cli-0.84.3}/lobes/gateway/_mesh_roster.py +0 -0
  581. {lobes_cli-0.84.2 → lobes_cli-0.84.3}/lobes/gateway/_mesh_routes.py +0 -0
  582. {lobes_cli-0.84.2 → lobes_cli-0.84.3}/lobes/gateway/_mesh_routing.py +0 -0
  583. {lobes_cli-0.84.2 → lobes_cli-0.84.3}/lobes/gateway/_mesh_wire.py +0 -0
  584. {lobes_cli-0.84.2 → lobes_cli-0.84.3}/lobes/gateway/_pressure_policy.py +0 -0
  585. {lobes_cli-0.84.2 → lobes_cli-0.84.3}/lobes/gateway/_readiness.py +0 -0
  586. {lobes_cli-0.84.2 → lobes_cli-0.84.3}/lobes/gateway/_realtime.py +0 -0
  587. {lobes_cli-0.84.2 → lobes_cli-0.84.3}/lobes/gateway/_replicas.py +0 -0
  588. {lobes_cli-0.84.2 → lobes_cli-0.84.3}/lobes/gateway/_routing.py +0 -0
  589. {lobes_cli-0.84.2 → lobes_cli-0.84.3}/lobes/gateway/_selection.py +0 -0
  590. {lobes_cli-0.84.2 → lobes_cli-0.84.3}/lobes/gateway/_tier_request.py +0 -0
  591. {lobes_cli-0.84.2 → lobes_cli-0.84.3}/lobes/gateway/server.py +0 -0
  592. {lobes_cli-0.84.2 → lobes_cli-0.84.3}/lobes/lane_keys.py +0 -0
  593. {lobes_cli-0.84.2 → lobes_cli-0.84.3}/lobes/machines/__init__.py +0 -0
  594. {lobes_cli-0.84.2 → lobes_cli-0.84.3}/lobes/machines/_registry.py +0 -0
  595. {lobes_cli-0.84.2 → lobes_cli-0.84.3}/lobes/machines/_strategy.py +0 -0
  596. {lobes_cli-0.84.2 → lobes_cli-0.84.3}/lobes/machines/_traits.py +0 -0
  597. {lobes_cli-0.84.2 → lobes_cli-0.84.3}/lobes/machines/blackwell.py +0 -0
  598. {lobes_cli-0.84.2 → lobes_cli-0.84.3}/lobes/machines/generic.py +0 -0
  599. {lobes_cli-0.84.2 → lobes_cli-0.84.3}/lobes/machines/orin.py +0 -0
  600. {lobes_cli-0.84.2 → lobes_cli-0.84.3}/lobes/machines/spark.py +0 -0
  601. {lobes_cli-0.84.2 → lobes_cli-0.84.3}/lobes/machines/thor.py +0 -0
  602. {lobes_cli-0.84.2 → lobes_cli-0.84.3}/lobes/minor/__init__.py +0 -0
  603. {lobes_cli-0.84.2 → lobes_cli-0.84.3}/lobes/minor/_client.py +0 -0
  604. {lobes_cli-0.84.2 → lobes_cli-0.84.3}/lobes/minor/governance.py +0 -0
  605. {lobes_cli-0.84.2 → lobes_cli-0.84.3}/lobes/profiles/__init__.py +0 -0
  606. {lobes_cli-0.84.2 → lobes_cli-0.84.3}/lobes/profiles/builtin/__init__.py +0 -0
  607. {lobes_cli-0.84.2 → lobes_cli-0.84.3}/lobes/profiles/builtin/base.toml +0 -0
  608. {lobes_cli-0.84.2 → lobes_cli-0.84.3}/lobes/profiles/builtin/orin.toml +0 -0
  609. {lobes_cli-0.84.2 → lobes_cli-0.84.3}/lobes/profiles/builtin/spark.toml +0 -0
  610. {lobes_cli-0.84.2 → lobes_cli-0.84.3}/lobes/profiles/builtin/thor.toml +0 -0
  611. {lobes_cli-0.84.2 → lobes_cli-0.84.3}/lobes/profiles/builtin_shapes/__init__.py +0 -0
  612. {lobes_cli-0.84.2 → lobes_cli-0.84.3}/lobes/profiles/builtin_shapes/gateway-only.toml +0 -0
  613. {lobes_cli-0.84.2 → lobes_cli-0.84.3}/lobes/profiles/builtin_shapes/machine-as-brain.toml +0 -0
  614. {lobes_cli-0.84.2 → lobes_cli-0.84.3}/lobes/profiles/builtin_shapes/orin-associate.toml +0 -0
  615. {lobes_cli-0.84.2 → lobes_cli-0.84.3}/lobes/profiles/builtin_shapes/orin-cortex.toml +0 -0
  616. {lobes_cli-0.84.2 → lobes_cli-0.84.3}/lobes/profiles/builtin_shapes/orin-embed.toml +0 -0
  617. {lobes_cli-0.84.2 → lobes_cli-0.84.3}/lobes/profiles/builtin_shapes/orin-lobe.toml +0 -0
  618. {lobes_cli-0.84.2 → lobes_cli-0.84.3}/lobes/profiles/builtin_shapes/orin-small.toml +0 -0
  619. {lobes_cli-0.84.2 → lobes_cli-0.84.3}/lobes/profiles/builtin_shapes/spark-innereye.toml +0 -0
  620. {lobes_cli-0.84.2 → lobes_cli-0.84.3}/lobes/profiles/builtin_shapes/spark-lobe.toml +0 -0
  621. {lobes_cli-0.84.2 → lobes_cli-0.84.3}/lobes/profiles/builtin_shapes/thor-lobe.toml +0 -0
  622. {lobes_cli-0.84.2 → lobes_cli-0.84.3}/lobes/profiles/builtin_shapes/thor-muse.toml +0 -0
  623. {lobes_cli-0.84.2 → lobes_cli-0.84.3}/lobes/profiles/builtin_shapes/thor-worker.toml +0 -0
  624. {lobes_cli-0.84.2 → lobes_cli-0.84.3}/lobes/profiles/loader.py +0 -0
  625. {lobes_cli-0.84.2 → lobes_cli-0.84.3}/lobes/profiles/render.py +0 -0
  626. {lobes_cli-0.84.2 → lobes_cli-0.84.3}/lobes/profiles/schema.py +0 -0
  627. {lobes_cli-0.84.2 → lobes_cli-0.84.3}/lobes/profiles/shape_render.py +0 -0
  628. {lobes_cli-0.84.2 → lobes_cli-0.84.3}/lobes/profiles/shapes.py +0 -0
  629. {lobes_cli-0.84.2 → lobes_cli-0.84.3}/lobes/realtime/__init__.py +0 -0
  630. {lobes_cli-0.84.2 → lobes_cli-0.84.3}/lobes/realtime/__main__.py +0 -0
  631. {lobes_cli-0.84.2 → lobes_cli-0.84.3}/lobes/realtime/_conversation.py +0 -0
  632. {lobes_cli-0.84.2 → lobes_cli-0.84.3}/lobes/realtime/_floor.py +0 -0
  633. {lobes_cli-0.84.2 → lobes_cli-0.84.3}/lobes/realtime/_pcm.py +0 -0
  634. {lobes_cli-0.84.2 → lobes_cli-0.84.3}/lobes/realtime/_readiness.py +0 -0
  635. {lobes_cli-0.84.2 → lobes_cli-0.84.3}/lobes/realtime/_segmenter.py +0 -0
  636. {lobes_cli-0.84.2 → lobes_cli-0.84.3}/lobes/realtime/_sentences.py +0 -0
  637. {lobes_cli-0.84.2 → lobes_cli-0.84.3}/lobes/realtime/_session.py +0 -0
  638. {lobes_cli-0.84.2 → lobes_cli-0.84.3}/lobes/realtime/_settings.py +0 -0
  639. {lobes_cli-0.84.2 → lobes_cli-0.84.3}/lobes/realtime/_speculation.py +0 -0
  640. {lobes_cli-0.84.2 → lobes_cli-0.84.3}/lobes/realtime/_timings.py +0 -0
  641. {lobes_cli-0.84.2 → lobes_cli-0.84.3}/lobes/realtime/_tts_text.py +0 -0
  642. {lobes_cli-0.84.2 → lobes_cli-0.84.3}/lobes/realtime/_turn.py +0 -0
  643. {lobes_cli-0.84.2 → lobes_cli-0.84.3}/lobes/realtime/_vocalize.py +0 -0
  644. {lobes_cli-0.84.2 → lobes_cli-0.84.3}/lobes/realtime/_wire.py +0 -0
  645. {lobes_cli-0.84.2 → lobes_cli-0.84.3}/lobes/realtime/app.py +0 -0
  646. {lobes_cli-0.84.2 → lobes_cli-0.84.3}/lobes/realtime/audio_facade.py +0 -0
  647. {lobes_cli-0.84.2 → lobes_cli-0.84.3}/lobes/realtime/bluetts_server.py +0 -0
  648. {lobes_cli-0.84.2 → lobes_cli-0.84.3}/lobes/realtime/chatterbox_multilingual_server.py +0 -0
  649. {lobes_cli-0.84.2 → lobes_cli-0.84.3}/lobes/realtime/chatterbox_server.py +0 -0
  650. {lobes_cli-0.84.2 → lobes_cli-0.84.3}/lobes/realtime/protocol.py +0 -0
  651. {lobes_cli-0.84.2 → lobes_cli-0.84.3}/lobes/realtime/tts_client.py +0 -0
  652. {lobes_cli-0.84.2 → lobes_cli-0.84.3}/lobes/roles.py +0 -0
  653. {lobes_cli-0.84.2 → lobes_cli-0.84.3}/lobes/roles_measure.py +0 -0
  654. {lobes_cli-0.84.2 → lobes_cli-0.84.3}/lobes/runtime/__init__.py +0 -0
  655. {lobes_cli-0.84.2 → lobes_cli-0.84.3}/lobes/runtime/_buildability.py +0 -0
  656. {lobes_cli-0.84.2 → lobes_cli-0.84.3}/lobes/runtime/_compose.py +0 -0
  657. {lobes_cli-0.84.2 → lobes_cli-0.84.3}/lobes/runtime/_detect.py +0 -0
  658. {lobes_cli-0.84.2 → lobes_cli-0.84.3}/lobes/runtime/_env.py +0 -0
  659. {lobes_cli-0.84.2 → lobes_cli-0.84.3}/lobes/runtime/_health.py +0 -0
  660. {lobes_cli-0.84.2 → lobes_cli-0.84.3}/lobes/runtime/_lanes.py +0 -0
  661. {lobes_cli-0.84.2 → lobes_cli-0.84.3}/lobes/runtime/_lock.py +0 -0
  662. {lobes_cli-0.84.2 → lobes_cli-0.84.3}/lobes/runtime/_parser.py +0 -0
  663. {lobes_cli-0.84.2 → lobes_cli-0.84.3}/lobes/runtime/_pressure.py +0 -0
  664. {lobes_cli-0.84.2 → lobes_cli-0.84.3}/lobes/runtime/_tunnel.py +0 -0
  665. {lobes_cli-0.84.2 → lobes_cli-0.84.3}/lobes/templates/__init__.py +0 -0
  666. {lobes_cli-0.84.2 → lobes_cli-0.84.3}/lobes/templates/cf-tunnel.env.example +0 -0
  667. {lobes_cli-0.84.2 → lobes_cli-0.84.3}/lobes/templates/docker-compose.yml +0 -0
  668. {lobes_cli-0.84.2 → lobes_cli-0.84.3}/lobes/templates/env.example +0 -0
  669. {lobes_cli-0.84.2 → lobes_cli-0.84.3}/lobes/templates/fleet/Dockerfile.bluetts +0 -0
  670. {lobes_cli-0.84.2 → lobes_cli-0.84.3}/lobes/templates/fleet/Dockerfile.chatterbox +0 -0
  671. {lobes_cli-0.84.2 → lobes_cli-0.84.3}/lobes/templates/fleet/Dockerfile.chatterbox-ml +0 -0
  672. {lobes_cli-0.84.2 → lobes_cli-0.84.3}/lobes/templates/fleet/Dockerfile.comfyui +0 -0
  673. {lobes_cli-0.84.2 → lobes_cli-0.84.3}/lobes/templates/fleet/Dockerfile.embed-st +0 -0
  674. {lobes_cli-0.84.2 → lobes_cli-0.84.3}/lobes/templates/fleet/Dockerfile.gateway +0 -0
  675. {lobes_cli-0.84.2 → lobes_cli-0.84.3}/lobes/templates/fleet/Dockerfile.parakeet +0 -0
  676. {lobes_cli-0.84.2 → lobes_cli-0.84.3}/lobes/templates/fleet/Dockerfile.realtime +0 -0
  677. {lobes_cli-0.84.2 → lobes_cli-0.84.3}/lobes/templates/fleet/Dockerfile.vllm-gemma4 +0 -0
  678. {lobes_cli-0.84.2 → lobes_cli-0.84.3}/lobes/templates/fleet/Dockerfile.whisper-stt +0 -0
  679. {lobes_cli-0.84.2 → lobes_cli-0.84.3}/lobes/templates/fleet/__init__.py +0 -0
  680. {lobes_cli-0.84.2 → lobes_cli-0.84.3}/lobes/templates/fleet/_readiness.py +0 -0
  681. {lobes_cli-0.84.2 → lobes_cli-0.84.3}/lobes/templates/fleet/docker-compose.audio-he.yml +0 -0
  682. {lobes_cli-0.84.2 → lobes_cli-0.84.3}/lobes/templates/fleet/docker-compose.audio.yml +0 -0
  683. {lobes_cli-0.84.2 → lobes_cli-0.84.3}/lobes/templates/fleet/docker-compose.embed.yml +0 -0
  684. {lobes_cli-0.84.2 → lobes_cli-0.84.3}/lobes/templates/fleet/env.audio-he.example +0 -0
  685. {lobes_cli-0.84.2 → lobes_cli-0.84.3}/lobes/templates/fleet/env.audio.example +0 -0
  686. {lobes_cli-0.84.2 → lobes_cli-0.84.3}/lobes/templates/fleet/listen_server.py +0 -0
  687. {lobes_cli-0.84.2 → lobes_cli-0.84.3}/lobes/templates/fleet/listen_server_whisper.py +0 -0
  688. {lobes_cli-0.84.2 → lobes_cli-0.84.3}/lobes/templates/fleet/qwen3_reranker.jinja +0 -0
  689. {lobes_cli-0.84.2 → lobes_cli-0.84.3}/lobes/templates/mg-logwrap.sh +0 -0
  690. {lobes_cli-0.84.2 → lobes_cli-0.84.3}/lobes/variation.py +0 -0
  691. {lobes_cli-0.84.2 → lobes_cli-0.84.3}/lobes/variation_catalog.py +0 -0
  692. {lobes_cli-0.84.2 → lobes_cli-0.84.3}/lobes/vllm_plugins/__init__.py +0 -0
  693. {lobes_cli-0.84.2 → lobes_cli-0.84.3}/lobes/vllm_plugins/qwen3_thinking_tool_parser.py +0 -0
  694. {lobes_cli-0.84.2 → lobes_cli-0.84.3}/packaging/model-gear/README.md +0 -0
  695. {lobes_cli-0.84.2 → lobes_cli-0.84.3}/packaging/model-gear/pyproject.toml +0 -0
  696. {lobes_cli-0.84.2 → lobes_cli-0.84.3}/scripts/accept-by-proxy.sh +0 -0
  697. {lobes_cli-0.84.2 → lobes_cli-0.84.3}/scripts/accept-shape.sh +0 -0
  698. {lobes_cli-0.84.2 → lobes_cli-0.84.3}/scripts/audio-smoke.py +0 -0
  699. {lobes_cli-0.84.2 → lobes_cli-0.84.3}/scripts/concurrency-probe.py +0 -0
  700. {lobes_cli-0.84.2 → lobes_cli-0.84.3}/scripts/embed_h2h/README.md +0 -0
  701. {lobes_cli-0.84.2 → lobes_cli-0.84.3}/scripts/embed_h2h/build_corpus.py +0 -0
  702. {lobes_cli-0.84.2 → lobes_cli-0.84.3}/scripts/embed_h2h/build_queries.py +0 -0
  703. {lobes_cli-0.84.2 → lobes_cli-0.84.3}/scripts/embed_h2h/h2h.py +0 -0
  704. {lobes_cli-0.84.2 → lobes_cli-0.84.3}/scripts/embed_h2h/prompts.json +0 -0
  705. {lobes_cli-0.84.2 → lobes_cli-0.84.3}/scripts/embed_h2h/queries.jsonl +0 -0
  706. {lobes_cli-0.84.2 → lobes_cli-0.84.3}/scripts/gen-api-key.py +0 -0
  707. {lobes_cli-0.84.2 → lobes_cli-0.84.3}/scripts/live-check.sh +0 -0
  708. {lobes_cli-0.84.2 → lobes_cli-0.84.3}/scripts/prefill-depth-curve.py +0 -0
  709. {lobes_cli-0.84.2 → lobes_cli-0.84.3}/scripts/probe_reranker_calibration.py +0 -0
  710. {lobes_cli-0.84.2 → lobes_cli-0.84.3}/scripts/realtime-he-accept.py +0 -0
  711. {lobes_cli-0.84.2 → lobes_cli-0.84.3}/scripts/realtime-smoke.py +0 -0
  712. {lobes_cli-0.84.2 → lobes_cli-0.84.3}/scripts/realtime-voice-loop.py +0 -0
  713. {lobes_cli-0.84.2 → lobes_cli-0.84.3}/scripts/scan_deployment_secrets.py +0 -0
  714. {lobes_cli-0.84.2 → lobes_cli-0.84.3}/scripts/spec-arms.py +0 -0
  715. {lobes_cli-0.84.2 → lobes_cli-0.84.3}/scripts/spike-preflight.sh +0 -0
  716. {lobes_cli-0.84.2 → lobes_cli-0.84.3}/scripts/stream-measure.py +0 -0
  717. {lobes_cli-0.84.2 → lobes_cli-0.84.3}/scripts/validate-tiers.sh +0 -0
  718. {lobes_cli-0.84.2 → lobes_cli-0.84.3}/site/.env.example +0 -0
  719. {lobes_cli-0.84.2 → lobes_cli-0.84.3}/site/.gitignore +0 -0
  720. {lobes_cli-0.84.2 → lobes_cli-0.84.3}/site/.nvmrc +0 -0
  721. {lobes_cli-0.84.2 → lobes_cli-0.84.3}/site/README.md +0 -0
  722. {lobes_cli-0.84.2 → lobes_cli-0.84.3}/site/astro.config.mjs +0 -0
  723. {lobes_cli-0.84.2 → lobes_cli-0.84.3}/site/package-lock.json +0 -0
  724. {lobes_cli-0.84.2 → lobes_cli-0.84.3}/site/package.json +0 -0
  725. {lobes_cli-0.84.2 → lobes_cli-0.84.3}/site/proxy/gateway-proxy.mjs +0 -0
  726. {lobes_cli-0.84.2 → lobes_cli-0.84.3}/site/public/favicon.svg +0 -0
  727. {lobes_cli-0.84.2 → lobes_cli-0.84.3}/site/public/worklets/pcm-capture-processor.js +0 -0
  728. {lobes_cli-0.84.2 → lobes_cli-0.84.3}/site/src/components/ConnectionPanel.astro +0 -0
  729. {lobes_cli-0.84.2 → lobes_cli-0.84.3}/site/src/components/ConversationView.astro +0 -0
  730. {lobes_cli-0.84.2 → lobes_cli-0.84.3}/site/src/components/EventStream.astro +0 -0
  731. {lobes_cli-0.84.2 → lobes_cli-0.84.3}/site/src/components/Footer.astro +0 -0
  732. {lobes_cli-0.84.2 → lobes_cli-0.84.3}/site/src/components/Header.astro +0 -0
  733. {lobes_cli-0.84.2 → lobes_cli-0.84.3}/site/src/components/MicIsland.astro +0 -0
  734. {lobes_cli-0.84.2 → lobes_cli-0.84.3}/site/src/components/SignalMesh.astro +0 -0
  735. {lobes_cli-0.84.2 → lobes_cli-0.84.3}/site/src/layouts/Layout.astro +0 -0
  736. {lobes_cli-0.84.2 → lobes_cli-0.84.3}/site/src/pages/dev-connection.astro +0 -0
  737. {lobes_cli-0.84.2 → lobes_cli-0.84.3}/site/src/pages/dev-events.astro +0 -0
  738. {lobes_cli-0.84.2 → lobes_cli-0.84.3}/site/src/pages/dev-mic.astro +0 -0
  739. {lobes_cli-0.84.2 → lobes_cli-0.84.3}/site/src/pages/index.astro +0 -0
  740. {lobes_cli-0.84.2 → lobes_cli-0.84.3}/site/src/scripts/audio-graph.ts +0 -0
  741. {lobes_cli-0.84.2 → lobes_cli-0.84.3}/site/src/scripts/audio-playback.test.ts +0 -0
  742. {lobes_cli-0.84.2 → lobes_cli-0.84.3}/site/src/scripts/audio-playback.ts +0 -0
  743. {lobes_cli-0.84.2 → lobes_cli-0.84.3}/site/src/scripts/audio-test-doubles.ts +0 -0
  744. {lobes_cli-0.84.2 → lobes_cli-0.84.3}/site/src/scripts/connection-panel.ts +0 -0
  745. {lobes_cli-0.84.2 → lobes_cli-0.84.3}/site/src/scripts/conversation-view.ts +0 -0
  746. {lobes_cli-0.84.2 → lobes_cli-0.84.3}/site/src/scripts/demo-tools.ts +0 -0
  747. {lobes_cli-0.84.2 → lobes_cli-0.84.3}/site/src/scripts/dev-mic-harness.ts +0 -0
  748. {lobes_cli-0.84.2 → lobes_cli-0.84.3}/site/src/scripts/event-fixtures.ts +0 -0
  749. {lobes_cli-0.84.2 → lobes_cli-0.84.3}/site/src/scripts/event-icons.ts +0 -0
  750. {lobes_cli-0.84.2 → lobes_cli-0.84.3}/site/src/scripts/event-log.test.ts +0 -0
  751. {lobes_cli-0.84.2 → lobes_cli-0.84.3}/site/src/scripts/event-log.ts +0 -0
  752. {lobes_cli-0.84.2 → lobes_cli-0.84.3}/site/src/scripts/mic-capture.test.ts +0 -0
  753. {lobes_cli-0.84.2 → lobes_cli-0.84.3}/site/src/scripts/mic-capture.ts +0 -0
  754. {lobes_cli-0.84.2 → lobes_cli-0.84.3}/site/src/scripts/mic-island.test.ts +0 -0
  755. {lobes_cli-0.84.2 → lobes_cli-0.84.3}/site/src/scripts/mic-island.ts +0 -0
  756. {lobes_cli-0.84.2 → lobes_cli-0.84.3}/site/src/scripts/no-mic-mute.test.ts +0 -0
  757. {lobes_cli-0.84.2 → lobes_cli-0.84.3}/site/src/scripts/pcm-wire.test.ts +0 -0
  758. {lobes_cli-0.84.2 → lobes_cli-0.84.3}/site/src/scripts/pcm-wire.ts +0 -0
  759. {lobes_cli-0.84.2 → lobes_cli-0.84.3}/site/src/scripts/realtime-connection.ts +0 -0
  760. {lobes_cli-0.84.2 → lobes_cli-0.84.3}/site/src/scripts/realtime-events.ts +0 -0
  761. {lobes_cli-0.84.2 → lobes_cli-0.84.3}/site/src/styles/global.css +0 -0
  762. {lobes_cli-0.84.2 → lobes_cli-0.84.3}/site/test/connection-panel.test.ts +0 -0
  763. {lobes_cli-0.84.2 → lobes_cli-0.84.3}/site/test/conversation-view.test.ts +0 -0
  764. {lobes_cli-0.84.2 → lobes_cli-0.84.3}/site/test/demo-tools.test.ts +0 -0
  765. {lobes_cli-0.84.2 → lobes_cli-0.84.3}/site/test/gateway-proxy.test.ts +0 -0
  766. {lobes_cli-0.84.2 → lobes_cli-0.84.3}/site/test/realtime-connection.test.ts +0 -0
  767. {lobes_cli-0.84.2 → lobes_cli-0.84.3}/site/tsconfig.json +0 -0
  768. {lobes_cli-0.84.2 → lobes_cli-0.84.3}/site/vitest.config.ts +0 -0
  769. {lobes_cli-0.84.2 → lobes_cli-0.84.3}/sonar-project.properties +0 -0
  770. {lobes_cli-0.84.2 → lobes_cli-0.84.3}/tests/__init__.py +0 -0
  771. {lobes_cli-0.84.2 → lobes_cli-0.84.3}/tests/conftest.py +0 -0
  772. {lobes_cli-0.84.2 → lobes_cli-0.84.3}/tests/fixtures/deployments/fixture-card/Dockerfile.gateway +0 -0
  773. {lobes_cli-0.84.2 → lobes_cli-0.84.3}/tests/fixtures/deployments/fixture-card/VARIATION.md +0 -0
  774. {lobes_cli-0.84.2 → lobes_cli-0.84.3}/tests/fixtures/deployments/fixture-card/deployment.lock.toml +0 -0
  775. {lobes_cli-0.84.2 → lobes_cli-0.84.3}/tests/fixtures/deployments/fixture-card/docker-compose.override.yml +0 -0
  776. {lobes_cli-0.84.2 → lobes_cli-0.84.3}/tests/fixtures/deployments/fixture-card/docker-compose.yml +0 -0
  777. {lobes_cli-0.84.2 → lobes_cli-0.84.3}/tests/fixtures/deployments/fixture-card__fixture-shape/VARIATION.md +0 -0
  778. {lobes_cli-0.84.2 → lobes_cli-0.84.3}/tests/fixtures/deployments/fixture-card__fixture-shape/deployment.lock.toml +0 -0
  779. {lobes_cli-0.84.2 → lobes_cli-0.84.3}/tests/fixtures/deployments/fixture-card__fixture-shape/docker-compose.override.yml +0 -0
  780. {lobes_cli-0.84.2 → lobes_cli-0.84.3}/tests/fixtures/deployments/fixture-card__fixture-shape/docker-compose.shape.yml +0 -0
  781. {lobes_cli-0.84.2 → lobes_cli-0.84.3}/tests/fixtures/deployments/fixture-card__fixture-shape/docker-compose.yml +0 -0
  782. {lobes_cli-0.84.2 → lobes_cli-0.84.3}/tests/fixtures/upgrade_compat/README.md +0 -0
  783. {lobes_cli-0.84.2 → lobes_cli-0.84.3}/tests/fixtures/upgrade_compat/fleet/docker-compose.yml +0 -0
  784. {lobes_cli-0.84.2 → lobes_cli-0.84.3}/tests/fixtures/upgrade_compat/fleet/env.example +0 -0
  785. {lobes_cli-0.84.2 → lobes_cli-0.84.3}/tests/fixtures/upgrade_compat/single/docker-compose.yml +0 -0
  786. {lobes_cli-0.84.2 → lobes_cli-0.84.3}/tests/fixtures/upgrade_compat/single/env.example +0 -0
  787. {lobes_cli-0.84.2 → lobes_cli-0.84.3}/tests/goldens/README.md +0 -0
  788. {lobes_cli-0.84.2 → lobes_cli-0.84.3}/tests/goldens/__init__.py +0 -0
  789. {lobes_cli-0.84.2 → lobes_cli-0.84.3}/tests/goldens/base.env +0 -0
  790. {lobes_cli-0.84.2 → lobes_cli-0.84.3}/tests/goldens/no-pool-gateway.json +0 -0
  791. {lobes_cli-0.84.2 → lobes_cli-0.84.3}/tests/goldens/orin.env +0 -0
  792. {lobes_cli-0.84.2 → lobes_cli-0.84.3}/tests/goldens/overlays/audio-he-defaults.env +0 -0
  793. {lobes_cli-0.84.2 → lobes_cli-0.84.3}/tests/goldens/regen.py +0 -0
  794. {lobes_cli-0.84.2 → lobes_cli-0.84.3}/tests/goldens/shapes/gateway-only__base.env +0 -0
  795. {lobes_cli-0.84.2 → lobes_cli-0.84.3}/tests/goldens/shapes/gateway-only__orin.env +0 -0
  796. {lobes_cli-0.84.2 → lobes_cli-0.84.3}/tests/goldens/shapes/gateway-only__spark.env +0 -0
  797. {lobes_cli-0.84.2 → lobes_cli-0.84.3}/tests/goldens/shapes/gateway-only__thor.env +0 -0
  798. {lobes_cli-0.84.2 → lobes_cli-0.84.3}/tests/goldens/shapes/orin-associate__base.env +0 -0
  799. {lobes_cli-0.84.2 → lobes_cli-0.84.3}/tests/goldens/shapes/orin-associate__orin.env +0 -0
  800. {lobes_cli-0.84.2 → lobes_cli-0.84.3}/tests/goldens/shapes/orin-associate__spark.env +0 -0
  801. {lobes_cli-0.84.2 → lobes_cli-0.84.3}/tests/goldens/shapes/orin-associate__thor.env +0 -0
  802. {lobes_cli-0.84.2 → lobes_cli-0.84.3}/tests/goldens/shapes/orin-cortex__base.env +0 -0
  803. {lobes_cli-0.84.2 → lobes_cli-0.84.3}/tests/goldens/shapes/orin-cortex__orin.env +0 -0
  804. {lobes_cli-0.84.2 → lobes_cli-0.84.3}/tests/goldens/shapes/orin-cortex__spark.env +0 -0
  805. {lobes_cli-0.84.2 → lobes_cli-0.84.3}/tests/goldens/shapes/orin-cortex__thor.env +0 -0
  806. {lobes_cli-0.84.2 → lobes_cli-0.84.3}/tests/goldens/shapes/orin-embed__base.env +0 -0
  807. {lobes_cli-0.84.2 → lobes_cli-0.84.3}/tests/goldens/shapes/orin-embed__orin.env +0 -0
  808. {lobes_cli-0.84.2 → lobes_cli-0.84.3}/tests/goldens/shapes/orin-embed__spark.env +0 -0
  809. {lobes_cli-0.84.2 → lobes_cli-0.84.3}/tests/goldens/shapes/orin-embed__thor.env +0 -0
  810. {lobes_cli-0.84.2 → lobes_cli-0.84.3}/tests/goldens/shapes/orin-lobe__base.env +0 -0
  811. {lobes_cli-0.84.2 → lobes_cli-0.84.3}/tests/goldens/shapes/orin-lobe__orin.env +0 -0
  812. {lobes_cli-0.84.2 → lobes_cli-0.84.3}/tests/goldens/shapes/orin-lobe__spark.env +0 -0
  813. {lobes_cli-0.84.2 → lobes_cli-0.84.3}/tests/goldens/shapes/orin-lobe__thor.env +0 -0
  814. {lobes_cli-0.84.2 → lobes_cli-0.84.3}/tests/goldens/shapes/orin-small__base.env +0 -0
  815. {lobes_cli-0.84.2 → lobes_cli-0.84.3}/tests/goldens/shapes/orin-small__orin.env +0 -0
  816. {lobes_cli-0.84.2 → lobes_cli-0.84.3}/tests/goldens/shapes/orin-small__spark.env +0 -0
  817. {lobes_cli-0.84.2 → lobes_cli-0.84.3}/tests/goldens/shapes/orin-small__thor.env +0 -0
  818. {lobes_cli-0.84.2 → lobes_cli-0.84.3}/tests/goldens/shapes/spark-innereye__base.env +0 -0
  819. {lobes_cli-0.84.2 → lobes_cli-0.84.3}/tests/goldens/shapes/spark-innereye__orin.env +0 -0
  820. {lobes_cli-0.84.2 → lobes_cli-0.84.3}/tests/goldens/shapes/spark-innereye__spark.env +0 -0
  821. {lobes_cli-0.84.2 → lobes_cli-0.84.3}/tests/goldens/shapes/spark-innereye__thor.env +0 -0
  822. {lobes_cli-0.84.2 → lobes_cli-0.84.3}/tests/goldens/shapes/spark-lobe__base.env +0 -0
  823. {lobes_cli-0.84.2 → lobes_cli-0.84.3}/tests/goldens/shapes/spark-lobe__orin.env +0 -0
  824. {lobes_cli-0.84.2 → lobes_cli-0.84.3}/tests/goldens/shapes/spark-lobe__spark.env +0 -0
  825. {lobes_cli-0.84.2 → lobes_cli-0.84.3}/tests/goldens/shapes/spark-lobe__thor.env +0 -0
  826. {lobes_cli-0.84.2 → lobes_cli-0.84.3}/tests/goldens/shapes/thor-lobe__base.env +0 -0
  827. {lobes_cli-0.84.2 → lobes_cli-0.84.3}/tests/goldens/shapes/thor-lobe__orin.env +0 -0
  828. {lobes_cli-0.84.2 → lobes_cli-0.84.3}/tests/goldens/shapes/thor-lobe__spark.env +0 -0
  829. {lobes_cli-0.84.2 → lobes_cli-0.84.3}/tests/goldens/shapes/thor-lobe__thor.env +0 -0
  830. {lobes_cli-0.84.2 → lobes_cli-0.84.3}/tests/goldens/shapes/thor-muse__base.env +0 -0
  831. {lobes_cli-0.84.2 → lobes_cli-0.84.3}/tests/goldens/shapes/thor-muse__orin.env +0 -0
  832. {lobes_cli-0.84.2 → lobes_cli-0.84.3}/tests/goldens/shapes/thor-muse__spark.env +0 -0
  833. {lobes_cli-0.84.2 → lobes_cli-0.84.3}/tests/goldens/shapes/thor-muse__thor.env +0 -0
  834. {lobes_cli-0.84.2 → lobes_cli-0.84.3}/tests/goldens/shapes/thor-worker__base.env +0 -0
  835. {lobes_cli-0.84.2 → lobes_cli-0.84.3}/tests/goldens/shapes/thor-worker__orin.env +0 -0
  836. {lobes_cli-0.84.2 → lobes_cli-0.84.3}/tests/goldens/shapes/thor-worker__spark.env +0 -0
  837. {lobes_cli-0.84.2 → lobes_cli-0.84.3}/tests/goldens/shapes/thor-worker__thor.env +0 -0
  838. {lobes_cli-0.84.2 → lobes_cli-0.84.3}/tests/goldens/spark.env +0 -0
  839. {lobes_cli-0.84.2 → lobes_cli-0.84.3}/tests/goldens/switch-plans.txt +0 -0
  840. {lobes_cli-0.84.2 → lobes_cli-0.84.3}/tests/goldens/template-defaults.env +0 -0
  841. {lobes_cli-0.84.2 → lobes_cli-0.84.3}/tests/goldens/thor.env +0 -0
  842. {lobes_cli-0.84.2 → lobes_cli-0.84.3}/tests/test_assess.py +0 -0
  843. {lobes_cli-0.84.2 → lobes_cli-0.84.3}/tests/test_assess_perf.py +0 -0
  844. {lobes_cli-0.84.2 → lobes_cli-0.84.3}/tests/test_associate_compose.py +0 -0
  845. {lobes_cli-0.84.2 → lobes_cli-0.84.3}/tests/test_associate_gateway_boundaries.py +0 -0
  846. {lobes_cli-0.84.2 → lobes_cli-0.84.3}/tests/test_associate_role.py +0 -0
  847. {lobes_cli-0.84.2 → lobes_cli-0.84.3}/tests/test_audio_he_compose_chain.py +0 -0
  848. {lobes_cli-0.84.2 → lobes_cli-0.84.3}/tests/test_audio_he_goldens.py +0 -0
  849. {lobes_cli-0.84.2 → lobes_cli-0.84.3}/tests/test_audio_he_stt_compose.py +0 -0
  850. {lobes_cli-0.84.2 → lobes_cli-0.84.3}/tests/test_audio_he_tts_compose.py +0 -0
  851. {lobes_cli-0.84.2 → lobes_cli-0.84.3}/tests/test_bench_compare.py +0 -0
  852. {lobes_cli-0.84.2 → lobes_cli-0.84.3}/tests/test_bench_report.py +0 -0
  853. {lobes_cli-0.84.2 → lobes_cli-0.84.3}/tests/test_benchmark_all_lobes.py +0 -0
  854. {lobes_cli-0.84.2 → lobes_cli-0.84.3}/tests/test_bluetts_dockerfile.py +0 -0
  855. {lobes_cli-0.84.2 → lobes_cli-0.84.3}/tests/test_bluetts_server.py +0 -0
  856. {lobes_cli-0.84.2 → lobes_cli-0.84.3}/tests/test_boundary_serves_only.py +0 -0
  857. {lobes_cli-0.84.2 → lobes_cli-0.84.3}/tests/test_buildability_guard.py +0 -0
  858. {lobes_cli-0.84.2 → lobes_cli-0.84.3}/tests/test_calibration_knee.py +0 -0
  859. {lobes_cli-0.84.2 → lobes_cli-0.84.3}/tests/test_capabilities_member_lanes.py +0 -0
  860. {lobes_cli-0.84.2 → lobes_cli-0.84.3}/tests/test_cat_probe.py +0 -0
  861. {lobes_cli-0.84.2 → lobes_cli-0.84.3}/tests/test_cat_score.py +0 -0
  862. {lobes_cli-0.84.2 → lobes_cli-0.84.3}/tests/test_catalog.py +0 -0
  863. {lobes_cli-0.84.2 → lobes_cli-0.84.3}/tests/test_catalog_embed_lanes.py +0 -0
  864. {lobes_cli-0.84.2 → lobes_cli-0.84.3}/tests/test_catalog_tiers.py +0 -0
  865. {lobes_cli-0.84.2 → lobes_cli-0.84.3}/tests/test_chatterbox_ml_dockerfile.py +0 -0
  866. {lobes_cli-0.84.2 → lobes_cli-0.84.3}/tests/test_chatterbox_multilingual_server.py +0 -0
  867. {lobes_cli-0.84.2 → lobes_cli-0.84.3}/tests/test_chatterbox_pcm16.py +0 -0
  868. {lobes_cli-0.84.2 → lobes_cli-0.84.3}/tests/test_chatterbox_readiness.py +0 -0
  869. {lobes_cli-0.84.2 → lobes_cli-0.84.3}/tests/test_cli.py +0 -0
  870. {lobes_cli-0.84.2 → lobes_cli-0.84.3}/tests/test_cli_benchmark_profiles.py +0 -0
  871. {lobes_cli-0.84.2 → lobes_cli-0.84.3}/tests/test_cli_calibrate.py +0 -0
  872. {lobes_cli-0.84.2 → lobes_cli-0.84.3}/tests/test_cli_capabilities.py +0 -0
  873. {lobes_cli-0.84.2 → lobes_cli-0.84.3}/tests/test_cli_capabilities_replicas.py +0 -0
  874. {lobes_cli-0.84.2 → lobes_cli-0.84.3}/tests/test_cli_eval.py +0 -0
  875. {lobes_cli-0.84.2 → lobes_cli-0.84.3}/tests/test_cli_eval_cat.py +0 -0
  876. {lobes_cli-0.84.2 → lobes_cli-0.84.3}/tests/test_cli_fleet.py +0 -0
  877. {lobes_cli-0.84.2 → lobes_cli-0.84.3}/tests/test_cli_gateway_auth.py +0 -0
  878. {lobes_cli-0.84.2 → lobes_cli-0.84.3}/tests/test_cli_introspection.py +0 -0
  879. {lobes_cli-0.84.2 → lobes_cli-0.84.3}/tests/test_cli_lanes.py +0 -0
  880. {lobes_cli-0.84.2 → lobes_cli-0.84.3}/tests/test_cli_logs.py +0 -0
  881. {lobes_cli-0.84.2 → lobes_cli-0.84.3}/tests/test_cli_measure.py +0 -0
  882. {lobes_cli-0.84.2 → lobes_cli-0.84.3}/tests/test_cli_mesh.py +0 -0
  883. {lobes_cli-0.84.2 → lobes_cli-0.84.3}/tests/test_cli_route.py +0 -0
  884. {lobes_cli-0.84.2 → lobes_cli-0.84.3}/tests/test_cli_run.py +0 -0
  885. {lobes_cli-0.84.2 → lobes_cli-0.84.3}/tests/test_cli_runtime.py +0 -0
  886. {lobes_cli-0.84.2 → lobes_cli-0.84.3}/tests/test_cli_tunnel.py +0 -0
  887. {lobes_cli-0.84.2 → lobes_cli-0.84.3}/tests/test_cli_up.py +0 -0
  888. {lobes_cli-0.84.2 → lobes_cli-0.84.3}/tests/test_cli_up_replace.py +0 -0
  889. {lobes_cli-0.84.2 → lobes_cli-0.84.3}/tests/test_cli_wiring.py +0 -0
  890. {lobes_cli-0.84.2 → lobes_cli-0.84.3}/tests/test_client_reasoning_roundtrip.py +0 -0
  891. {lobes_cli-0.84.2 → lobes_cli-0.84.3}/tests/test_colleague_contract.py +0 -0
  892. {lobes_cli-0.84.2 → lobes_cli-0.84.3}/tests/test_comfyui_compose.py +0 -0
  893. {lobes_cli-0.84.2 → lobes_cli-0.84.3}/tests/test_comfyui_dockerfile.py +0 -0
  894. {lobes_cli-0.84.2 → lobes_cli-0.84.3}/tests/test_comfyui_volumes.py +0 -0
  895. {lobes_cli-0.84.2 → lobes_cli-0.84.3}/tests/test_compose_chain.py +0 -0
  896. {lobes_cli-0.84.2 → lobes_cli-0.84.3}/tests/test_deployment_lock.py +0 -0
  897. {lobes_cli-0.84.2 → lobes_cli-0.84.3}/tests/test_deployment_lock_doc.py +0 -0
  898. {lobes_cli-0.84.2 → lobes_cli-0.84.3}/tests/test_detect.py +0 -0
  899. {lobes_cli-0.84.2 → lobes_cli-0.84.3}/tests/test_doctor.py +0 -0
  900. {lobes_cli-0.84.2 → lobes_cli-0.84.3}/tests/test_doctor_audio_he.py +0 -0
  901. {lobes_cli-0.84.2 → lobes_cli-0.84.3}/tests/test_doctor_fix.py +0 -0
  902. {lobes_cli-0.84.2 → lobes_cli-0.84.3}/tests/test_doctor_machine_profile.py +0 -0
  903. {lobes_cli-0.84.2 → lobes_cli-0.84.3}/tests/test_doctor_mesh_retirement.py +0 -0
  904. {lobes_cli-0.84.2 → lobes_cli-0.84.3}/tests/test_doctor_passthrough.py +0 -0
  905. {lobes_cli-0.84.2 → lobes_cli-0.84.3}/tests/test_doctor_repin_version.py +0 -0
  906. {lobes_cli-0.84.2 → lobes_cli-0.84.3}/tests/test_doctor_role_command.py +0 -0
  907. {lobes_cli-0.84.2 → lobes_cli-0.84.3}/tests/test_doctor_role_probe.py +0 -0
  908. {lobes_cli-0.84.2 → lobes_cli-0.84.3}/tests/test_dropped_lobe_honesty.py +0 -0
  909. {lobes_cli-0.84.2 → lobes_cli-0.84.3}/tests/test_embed_finetune.py +0 -0
  910. {lobes_cli-0.84.2 → lobes_cli-0.84.3}/tests/test_embed_h2h.py +0 -0
  911. {lobes_cli-0.84.2 → lobes_cli-0.84.3}/tests/test_embed_lanes.py +0 -0
  912. {lobes_cli-0.84.2 → lobes_cli-0.84.3}/tests/test_embed_lanes_import.py +0 -0
  913. {lobes_cli-0.84.2 → lobes_cli-0.84.3}/tests/test_embed_overlay.py +0 -0
  914. {lobes_cli-0.84.2 → lobes_cli-0.84.3}/tests/test_embed_sidecar.py +0 -0
  915. {lobes_cli-0.84.2 → lobes_cli-0.84.3}/tests/test_fleet_audio_vad_env.py +0 -0
  916. {lobes_cli-0.84.2 → lobes_cli-0.84.3}/tests/test_fleet_compose_mounts.py +0 -0
  917. {lobes_cli-0.84.2 → lobes_cli-0.84.3}/tests/test_fleet_minor.py +0 -0
  918. {lobes_cli-0.84.2 → lobes_cli-0.84.3}/tests/test_fleet_per_machine_knobs.py +0 -0
  919. {lobes_cli-0.84.2 → lobes_cli-0.84.3}/tests/test_fleet_secrets_env_file.py +0 -0
  920. {lobes_cli-0.84.2 → lobes_cli-0.84.3}/tests/test_fleet_template_gateway_env.py +0 -0
  921. {lobes_cli-0.84.2 → lobes_cli-0.84.3}/tests/test_gateway_audio_peer.py +0 -0
  922. {lobes_cli-0.84.2 → lobes_cli-0.84.3}/tests/test_gateway_audio_routing.py +0 -0
  923. {lobes_cli-0.84.2 → lobes_cli-0.84.3}/tests/test_gateway_auth.py +0 -0
  924. {lobes_cli-0.84.2 → lobes_cli-0.84.3}/tests/test_gateway_auth_rejection_log.py +0 -0
  925. {lobes_cli-0.84.2 → lobes_cli-0.84.3}/tests/test_gateway_busy_e2e.py +0 -0
  926. {lobes_cli-0.84.2 → lobes_cli-0.84.3}/tests/test_gateway_capabilities.py +0 -0
  927. {lobes_cli-0.84.2 → lobes_cli-0.84.3}/tests/test_gateway_config_proxy.py +0 -0
  928. {lobes_cli-0.84.2 → lobes_cli-0.84.3}/tests/test_gateway_config_replicas.py +0 -0
  929. {lobes_cli-0.84.2 → lobes_cli-0.84.3}/tests/test_gateway_config_wiring.py +0 -0
  930. {lobes_cli-0.84.2 → lobes_cli-0.84.3}/tests/test_gateway_embed_deep.py +0 -0
  931. {lobes_cli-0.84.2 → lobes_cli-0.84.3}/tests/test_gateway_embed_lanes.py +0 -0
  932. {lobes_cli-0.84.2 → lobes_cli-0.84.3}/tests/test_gateway_env_passthrough_guard.py +0 -0
  933. {lobes_cli-0.84.2 → lobes_cli-0.84.3}/tests/test_gateway_feasibility.py +0 -0
  934. {lobes_cli-0.84.2 → lobes_cli-0.84.3}/tests/test_gateway_fleet_doc.py +0 -0
  935. {lobes_cli-0.84.2 → lobes_cli-0.84.3}/tests/test_gateway_force_strict.py +0 -0
  936. {lobes_cli-0.84.2 → lobes_cli-0.84.3}/tests/test_gateway_get_relay.py +0 -0
  937. {lobes_cli-0.84.2 → lobes_cli-0.84.3}/tests/test_gateway_hand_adapters.py +0 -0
  938. {lobes_cli-0.84.2 → lobes_cli-0.84.3}/tests/test_gateway_member_lanes.py +0 -0
  939. {lobes_cli-0.84.2 → lobes_cli-0.84.3}/tests/test_gateway_no_lifecycle_actuator.py +0 -0
  940. {lobes_cli-0.84.2 → lobes_cli-0.84.3}/tests/test_gateway_peer_advert.py +0 -0
  941. {lobes_cli-0.84.2 → lobes_cli-0.84.3}/tests/test_gateway_peer_only_pool.py +0 -0
  942. {lobes_cli-0.84.2 → lobes_cli-0.84.3}/tests/test_gateway_pool.py +0 -0
  943. {lobes_cli-0.84.2 → lobes_cli-0.84.3}/tests/test_gateway_pool_capacity_wiring.py +0 -0
  944. {lobes_cli-0.84.2 → lobes_cli-0.84.3}/tests/test_gateway_pool_pressure.py +0 -0
  945. {lobes_cli-0.84.2 → lobes_cli-0.84.3}/tests/test_gateway_pool_saturation.py +0 -0
  946. {lobes_cli-0.84.2 → lobes_cli-0.84.3}/tests/test_gateway_proxy.py +0 -0
  947. {lobes_cli-0.84.2 → lobes_cli-0.84.3}/tests/test_gateway_readiness.py +0 -0
  948. {lobes_cli-0.84.2 → lobes_cli-0.84.3}/tests/test_gateway_realtime_ws.py +0 -0
  949. {lobes_cli-0.84.2 → lobes_cli-0.84.3}/tests/test_gateway_render_facade.py +0 -0
  950. {lobes_cli-0.84.2 → lobes_cli-0.84.3}/tests/test_gateway_replicas.py +0 -0
  951. {lobes_cli-0.84.2 → lobes_cli-0.84.3}/tests/test_gateway_routing.py +0 -0
  952. {lobes_cli-0.84.2 → lobes_cli-0.84.3}/tests/test_gateway_selection.py +0 -0
  953. {lobes_cli-0.84.2 → lobes_cli-0.84.3}/tests/test_gateway_serve_mesh_wiring.py +0 -0
  954. {lobes_cli-0.84.2 → lobes_cli-0.84.3}/tests/test_gateway_server.py +0 -0
  955. {lobes_cli-0.84.2 → lobes_cli-0.84.3}/tests/test_gateway_status.py +0 -0
  956. {lobes_cli-0.84.2 → lobes_cli-0.84.3}/tests/test_gateway_stream_termination.py +0 -0
  957. {lobes_cli-0.84.2 → lobes_cli-0.84.3}/tests/test_gateway_tiers.py +0 -0
  958. {lobes_cli-0.84.2 → lobes_cli-0.84.3}/tests/test_gemma4_compose.py +0 -0
  959. {lobes_cli-0.84.2 → lobes_cli-0.84.3}/tests/test_gemma4_dockerfile.py +0 -0
  960. {lobes_cli-0.84.2 → lobes_cli-0.84.3}/tests/test_gen_api_key.py +0 -0
  961. {lobes_cli-0.84.2 → lobes_cli-0.84.3}/tests/test_gitignore_convention.py +0 -0
  962. {lobes_cli-0.84.2 → lobes_cli-0.84.3}/tests/test_init.py +0 -0
  963. {lobes_cli-0.84.2 → lobes_cli-0.84.3}/tests/test_init_audio_he.py +0 -0
  964. {lobes_cli-0.84.2 → lobes_cli-0.84.3}/tests/test_init_coresidency.py +0 -0
  965. {lobes_cli-0.84.2 → lobes_cli-0.84.3}/tests/test_init_from_lock.py +0 -0
  966. {lobes_cli-0.84.2 → lobes_cli-0.84.3}/tests/test_init_gpu_access.py +0 -0
  967. {lobes_cli-0.84.2 → lobes_cli-0.84.3}/tests/test_init_profile.py +0 -0
  968. {lobes_cli-0.84.2 → lobes_cli-0.84.3}/tests/test_init_shape.py +0 -0
  969. {lobes_cli-0.84.2 → lobes_cli-0.84.3}/tests/test_listen_server_whisper.py +0 -0
  970. {lobes_cli-0.84.2 → lobes_cli-0.84.3}/tests/test_live_capabilities.py +0 -0
  971. {lobes_cli-0.84.2 → lobes_cli-0.84.3}/tests/test_lobes_compose_wrapper.py +0 -0
  972. {lobes_cli-0.84.2 → lobes_cli-0.84.3}/tests/test_lock_drift.py +0 -0
  973. {lobes_cli-0.84.2 → lobes_cli-0.84.3}/tests/test_machines.py +0 -0
  974. {lobes_cli-0.84.2 → lobes_cli-0.84.3}/tests/test_mesh_config.py +0 -0
  975. {lobes_cli-0.84.2 → lobes_cli-0.84.3}/tests/test_mesh_flap_per_name.py +0 -0
  976. {lobes_cli-0.84.2 → lobes_cli-0.84.3}/tests/test_mesh_heartbeat_live.py +0 -0
  977. {lobes_cli-0.84.2 → lobes_cli-0.84.3}/tests/test_mesh_lanes.py +0 -0
  978. {lobes_cli-0.84.2 → lobes_cli-0.84.3}/tests/test_mesh_member_lanes.py +0 -0
  979. {lobes_cli-0.84.2 → lobes_cli-0.84.3}/tests/test_mesh_naming.py +0 -0
  980. {lobes_cli-0.84.2 → lobes_cli-0.84.3}/tests/test_mesh_roster.py +0 -0
  981. {lobes_cli-0.84.2 → lobes_cli-0.84.3}/tests/test_mesh_routes.py +0 -0
  982. {lobes_cli-0.84.2 → lobes_cli-0.84.3}/tests/test_mesh_routing.py +0 -0
  983. {lobes_cli-0.84.2 → lobes_cli-0.84.3}/tests/test_mesh_routing_wiring.py +0 -0
  984. {lobes_cli-0.84.2 → lobes_cli-0.84.3}/tests/test_mesh_verify_reason.py +0 -0
  985. {lobes_cli-0.84.2 → lobes_cli-0.84.3}/tests/test_mesh_wire.py +0 -0
  986. {lobes_cli-0.84.2 → lobes_cli-0.84.3}/tests/test_minor_client.py +0 -0
  987. {lobes_cli-0.84.2 → lobes_cli-0.84.3}/tests/test_minor_governance.py +0 -0
  988. {lobes_cli-0.84.2 → lobes_cli-0.84.3}/tests/test_minor_integration.py +0 -0
  989. {lobes_cli-0.84.2 → lobes_cli-0.84.3}/tests/test_minor_logprobs.py +0 -0
  990. {lobes_cli-0.84.2 → lobes_cli-0.84.3}/tests/test_nightly_migration_doc.py +0 -0
  991. {lobes_cli-0.84.2 → lobes_cli-0.84.3}/tests/test_no_config_byte_identity.py +0 -0
  992. {lobes_cli-0.84.2 → lobes_cli-0.84.3}/tests/test_orin_associate_boot_order.py +0 -0
  993. {lobes_cli-0.84.2 → lobes_cli-0.84.3}/tests/test_orin_associate_shape.py +0 -0
  994. {lobes_cli-0.84.2 → lobes_cli-0.84.3}/tests/test_orin_cortex_shape.py +0 -0
  995. {lobes_cli-0.84.2 → lobes_cli-0.84.3}/tests/test_orin_embed_shape.py +0 -0
  996. {lobes_cli-0.84.2 → lobes_cli-0.84.3}/tests/test_orin_gateway_read_timeout.py +0 -0
  997. {lobes_cli-0.84.2 → lobes_cli-0.84.3}/tests/test_orin_lobe_shape.py +0 -0
  998. {lobes_cli-0.84.2 → lobes_cli-0.84.3}/tests/test_overview_live.py +0 -0
  999. {lobes_cli-0.84.2 → lobes_cli-0.84.3}/tests/test_parser.py +0 -0
  1000. {lobes_cli-0.84.2 → lobes_cli-0.84.3}/tests/test_peer_referral.py +0 -0
  1001. {lobes_cli-0.84.2 → lobes_cli-0.84.3}/tests/test_preserve_thinking_diagnostic.py +0 -0
  1002. {lobes_cli-0.84.2 → lobes_cli-0.84.3}/tests/test_pressure.py +0 -0
  1003. {lobes_cli-0.84.2 → lobes_cli-0.84.3}/tests/test_pressure_policy.py +0 -0
  1004. {lobes_cli-0.84.2 → lobes_cli-0.84.3}/tests/test_profile_goldens.py +0 -0
  1005. {lobes_cli-0.84.2 → lobes_cli-0.84.3}/tests/test_profile_render.py +0 -0
  1006. {lobes_cli-0.84.2 → lobes_cli-0.84.3}/tests/test_profile_schema.py +0 -0
  1007. {lobes_cli-0.84.2 → lobes_cli-0.84.3}/tests/test_profiles.py +0 -0
  1008. {lobes_cli-0.84.2 → lobes_cli-0.84.3}/tests/test_proxy_integration.py +0 -0
  1009. {lobes_cli-0.84.2 → lobes_cli-0.84.3}/tests/test_readiness_peer_probe.py +0 -0
  1010. {lobes_cli-0.84.2 → lobes_cli-0.84.3}/tests/test_realtime_app_stream_structure.py +0 -0
  1011. {lobes_cli-0.84.2 → lobes_cli-0.84.3}/tests/test_realtime_audio_env_coverage.py +0 -0
  1012. {lobes_cli-0.84.2 → lobes_cli-0.84.3}/tests/test_realtime_audio_facade.py +0 -0
  1013. {lobes_cli-0.84.2 → lobes_cli-0.84.3}/tests/test_realtime_continuation.py +0 -0
  1014. {lobes_cli-0.84.2 → lobes_cli-0.84.3}/tests/test_realtime_conversation.py +0 -0
  1015. {lobes_cli-0.84.2 → lobes_cli-0.84.3}/tests/test_realtime_conversation_stream.py +0 -0
  1016. {lobes_cli-0.84.2 → lobes_cli-0.84.3}/tests/test_realtime_floor.py +0 -0
  1017. {lobes_cli-0.84.2 → lobes_cli-0.84.3}/tests/test_realtime_floor_segments.py +0 -0
  1018. {lobes_cli-0.84.2 → lobes_cli-0.84.3}/tests/test_realtime_generate_failure_surfacing.py +0 -0
  1019. {lobes_cli-0.84.2 → lobes_cli-0.84.3}/tests/test_realtime_generate_stream_settings.py +0 -0
  1020. {lobes_cli-0.84.2 → lobes_cli-0.84.3}/tests/test_realtime_he_accept_helpers.py +0 -0
  1021. {lobes_cli-0.84.2 → lobes_cli-0.84.3}/tests/test_realtime_imports.py +0 -0
  1022. {lobes_cli-0.84.2 → lobes_cli-0.84.3}/tests/test_realtime_parallel_tool_calls.py +0 -0
  1023. {lobes_cli-0.84.2 → lobes_cli-0.84.3}/tests/test_realtime_pcm.py +0 -0
  1024. {lobes_cli-0.84.2 → lobes_cli-0.84.3}/tests/test_realtime_protocol.py +0 -0
  1025. {lobes_cli-0.84.2 → lobes_cli-0.84.3}/tests/test_realtime_readiness.py +0 -0
  1026. {lobes_cli-0.84.2 → lobes_cli-0.84.3}/tests/test_realtime_segmenter.py +0 -0
  1027. {lobes_cli-0.84.2 → lobes_cli-0.84.3}/tests/test_realtime_segmenter_eager.py +0 -0
  1028. {lobes_cli-0.84.2 → lobes_cli-0.84.3}/tests/test_realtime_segmenter_level_gate.py +0 -0
  1029. {lobes_cli-0.84.2 → lobes_cli-0.84.3}/tests/test_realtime_sentences.py +0 -0
  1030. {lobes_cli-0.84.2 → lobes_cli-0.84.3}/tests/test_realtime_session.py +0 -0
  1031. {lobes_cli-0.84.2 → lobes_cli-0.84.3}/tests/test_realtime_settings.py +0 -0
  1032. {lobes_cli-0.84.2 → lobes_cli-0.84.3}/tests/test_realtime_smoke_helpers.py +0 -0
  1033. {lobes_cli-0.84.2 → lobes_cli-0.84.3}/tests/test_realtime_speculation.py +0 -0
  1034. {lobes_cli-0.84.2 → lobes_cli-0.84.3}/tests/test_realtime_stt_forward.py +0 -0
  1035. {lobes_cli-0.84.2 → lobes_cli-0.84.3}/tests/test_realtime_timings.py +0 -0
  1036. {lobes_cli-0.84.2 → lobes_cli-0.84.3}/tests/test_realtime_tts_gate.py +0 -0
  1037. {lobes_cli-0.84.2 → lobes_cli-0.84.3}/tests/test_realtime_tts_text.py +0 -0
  1038. {lobes_cli-0.84.2 → lobes_cli-0.84.3}/tests/test_realtime_turn.py +0 -0
  1039. {lobes_cli-0.84.2 → lobes_cli-0.84.3}/tests/test_realtime_turn_stream.py +0 -0
  1040. {lobes_cli-0.84.2 → lobes_cli-0.84.3}/tests/test_realtime_vocalize.py +0 -0
  1041. {lobes_cli-0.84.2 → lobes_cli-0.84.3}/tests/test_realtime_wire.py +0 -0
  1042. {lobes_cli-0.84.2 → lobes_cli-0.84.3}/tests/test_role_probes.py +0 -0
  1043. {lobes_cli-0.84.2 → lobes_cli-0.84.3}/tests/test_roles.py +0 -0
  1044. {lobes_cli-0.84.2 → lobes_cli-0.84.3}/tests/test_roles_audio_advert.py +0 -0
  1045. {lobes_cli-0.84.2 → lobes_cli-0.84.3}/tests/test_roles_audio_language.py +0 -0
  1046. {lobes_cli-0.84.2 → lobes_cli-0.84.3}/tests/test_roles_proxied.py +0 -0
  1047. {lobes_cli-0.84.2 → lobes_cli-0.84.3}/tests/test_roles_replicas.py +0 -0
  1048. {lobes_cli-0.84.2 → lobes_cli-0.84.3}/tests/test_routing_models_member_lanes.py +0 -0
  1049. {lobes_cli-0.84.2 → lobes_cli-0.84.3}/tests/test_scan_deployment_secrets.py +0 -0
  1050. {lobes_cli-0.84.2 → lobes_cli-0.84.3}/tests/test_senses_speculative_config.py +0 -0
  1051. {lobes_cli-0.84.2 → lobes_cli-0.84.3}/tests/test_shape_budgets.py +0 -0
  1052. {lobes_cli-0.84.2 → lobes_cli-0.84.3}/tests/test_shape_contract_matrix.py +0 -0
  1053. {lobes_cli-0.84.2 → lobes_cli-0.84.3}/tests/test_shape_gateway_only.py +0 -0
  1054. {lobes_cli-0.84.2 → lobes_cli-0.84.3}/tests/test_shape_goldens.py +0 -0
  1055. {lobes_cli-0.84.2 → lobes_cli-0.84.3}/tests/test_shapes.py +0 -0
  1056. {lobes_cli-0.84.2 → lobes_cli-0.84.3}/tests/test_smoke_duo.py +0 -0
  1057. {lobes_cli-0.84.2 → lobes_cli-0.84.3}/tests/test_spec_arms.py +0 -0
  1058. {lobes_cli-0.84.2 → lobes_cli-0.84.3}/tests/test_spike_preflight.py +0 -0
  1059. {lobes_cli-0.84.2 → lobes_cli-0.84.3}/tests/test_status_fleet.py +0 -0
  1060. {lobes_cli-0.84.2 → lobes_cli-0.84.3}/tests/test_status_pressure.py +0 -0
  1061. {lobes_cli-0.84.2 → lobes_cli-0.84.3}/tests/test_switch_bf16.py +0 -0
  1062. {lobes_cli-0.84.2 → lobes_cli-0.84.3}/tests/test_switch_plan_goldens.py +0 -0
  1063. {lobes_cli-0.84.2 → lobes_cli-0.84.3}/tests/test_templates_preserve_thinking.py +0 -0
  1064. {lobes_cli-0.84.2 → lobes_cli-0.84.3}/tests/test_tier_request.py +0 -0
  1065. {lobes_cli-0.84.2 → lobes_cli-0.84.3}/tests/test_tool_parser_plugin.py +0 -0
  1066. {lobes_cli-0.84.2 → lobes_cli-0.84.3}/tests/test_tts_client_hebrew_diacritizer.py +0 -0
  1067. {lobes_cli-0.84.2 → lobes_cli-0.84.3}/tests/test_tts_pause_and_truncation.py +0 -0
  1068. {lobes_cli-0.84.2 → lobes_cli-0.84.3}/tests/test_up_no_deps_isolation.py +0 -0
  1069. {lobes_cli-0.84.2 → lobes_cli-0.84.3}/tests/test_upgrade_compat.py +0 -0
  1070. {lobes_cli-0.84.2 → lobes_cli-0.84.3}/tests/test_variation.py +0 -0
  1071. {lobes_cli-0.84.2 → lobes_cli-0.84.3}/tests/test_variation_catalog.py +0 -0
  1072. {lobes_cli-0.84.2 → lobes_cli-0.84.3}/tests/test_vllm_plugin_thinking.py +0 -0
  1073. {lobes_cli-0.84.2 → lobes_cli-0.84.3}/tests/test_wheel_excludes_deployments.py +0 -0
  1074. {lobes_cli-0.84.2 → lobes_cli-0.84.3}/tests/test_whisper_stt_dockerfile.py +0 -0
  1075. {lobes_cli-0.84.2 → lobes_cli-0.84.3}/tests/test_worker_compose.py +0 -0
  1076. {lobes_cli-0.84.2 → lobes_cli-0.84.3}/tests/test_worker_recipe_knobs.py +0 -0
@@ -243,7 +243,7 @@
243
243
  "id": "e9",
244
244
  "obligation_ref": "o8",
245
245
  "test_ref": "live probe: GET /capabilities senses entry on the Thor after the flip",
246
- "behavior_text": "senses feasible=false, proxied=true, hosted_by http://orin.tail0be7e0.ts.net:8000 \u2014 unchanged by the flip",
246
+ "behavior_text": "senses feasible=false, proxied=true, hosted_by http://orin.TAILNET.ts.net:8000 \u2014 unchanged by the flip",
247
247
  "contract_text": "after the flip model=senses on the Thor still resolves to the Orin peer, byte-identically to today",
248
248
  "evidence_type": "manual",
249
249
  "strength": "execution",
@@ -319,7 +319,7 @@
319
319
  {
320
320
  "id": "c18",
321
321
  "kind": "requirement",
322
- "text": "Peers must be checked before the cortex goes down, not just the local box: the Jetson AGX Orin's .env declares PRIMARY_PEER_ORIGIN=http://spark.tail0be7e0.ts.net:8001 \u2014 this Spark \u2014 from the dual-cortex era, with PRIMARY_PEER_PROXY currently false after its 2026-08-23 local-GGUF cutover. A referral origin is a live declaration even when proxy is off, so the run reads each peer's PRIMARY_PEER_* state and reports what pointed here.",
322
+ "text": "Peers must be checked before the cortex goes down, not just the local box: the Jetson AGX Orin's .env declares PRIMARY_PEER_ORIGIN=http://spark.TAILNET.ts.net:8001 \u2014 this Spark \u2014 from the dual-cortex era, with PRIMARY_PEER_PROXY currently false after its 2026-08-23 local-GGUF cutover. A referral origin is a live declaration even when proxy is off, so the run reads each peer's PRIMARY_PEER_* state and reports what pointed here.",
323
323
  "origin": "llm",
324
324
  "status": "confirmed",
325
325
  "honesty_conditions": [
@@ -22,7 +22,7 @@
22
22
  ],
23
23
  "hard_questions": [],
24
24
  "links": [],
25
- "instruction": "Land in two halves. (A) Spark deployment: copy the packaged fleet compose over ~/.lobes/docker-compose.yml (the deployed copy predates WORKER_* passthrough), re-pin MODEL_GEAR_VERSION>=0.54.7, replace the MUSE_* peer block with WORKER_PEER_ORIGIN=http://thor.tail0be7e0.ts.net:8000 + WORKER_PEER_PROXY=true + empty WORKER_PEER_API_KEY (Thor sets no inbound key), then rebuild the gateway ALWAYS with -f docker-compose.yml -f docker-compose.shape.yml. (B) Repo: add unsloth/Qwen3.6-27B-NVFP4 to lobes/catalog.py and point the primary compose lane at it with the worker lane's flag shape, then boot it on the Spark to measure the real budget.",
25
+ "instruction": "Land in two halves. (A) Spark deployment: copy the packaged fleet compose over ~/.lobes/docker-compose.yml (the deployed copy predates WORKER_* passthrough), re-pin MODEL_GEAR_VERSION>=0.54.7, replace the MUSE_* peer block with WORKER_PEER_ORIGIN=http://thor.TAILNET.ts.net:8000 + WORKER_PEER_PROXY=true + empty WORKER_PEER_API_KEY (Thor sets no inbound key), then rebuild the gateway ALWAYS with -f docker-compose.yml -f docker-compose.shape.yml. (B) Repo: add unsloth/Qwen3.6-27B-NVFP4 to lobes/catalog.py and point the primary compose lane at it with the worker lane's flag shape, then boot it on the Spark to measure the real budget.",
26
26
  "revisions": []
27
27
  },
28
28
  {
@@ -720,7 +720,7 @@
720
720
  },
721
721
  {
722
722
  "id": "s3",
723
- "surface": "associate live probe via http://localhost:8001/v1/chat/completions (model=associate, proxied to orin.tail0be7e0.ts.net:8000)",
723
+ "surface": "associate live probe via http://localhost:8001/v1/chat/completions (model=associate, proxied to orin.TAILNET.ts.net:8000)",
724
724
  "finding": "Hebrew replies 1.59 s and 1.95 s wall for 56/60 completion tokens; chat_template_kwargs enable_thinking:false produced direct content with no reasoning trace; a Hebrew 'list my home dir' request with one tool returned tool_calls=[list_directory {path:/home/spark}] in 0.48 s. Hebrew quality is unofficial: nvidia/NVIDIA-Nemotron-3.5-Lightning-30B-A3B model card omits Hebrew",
725
725
  "seeds": [
726
726
  "c8",
@@ -519,7 +519,7 @@
519
519
  {
520
520
  "id": "c30",
521
521
  "kind": "requirement",
522
- "text": "SECURITY: both published recipes stand up an UNAUTHENTICATED 30B endpoint on this box's tailnet. Each binds --host 0.0.0.0 (llama.cpp) or --network host (both), and llama-server's own startup banner warns verbatim: 'CORS is set to allow all origins and no API key is set / this can be a security risk'. PROBED 2026-08-25: this box holds tailnet address 100.81.137.121, so for the whole life of a spike every tailnet peer can reach port 8080 (or 8000) with no credential. The repo's own gateway exists partly to avoid this -- it has an opt-in GATEWAY_API_KEY bearer gate and #127's rule that peer credentials are always a copy of the peer's own inbound key. The frame carried no claim about this before this pass.",
522
+ "text": "SECURITY: both published recipes stand up an UNAUTHENTICATED 30B endpoint on this box's tailnet. Each binds --host 0.0.0.0 (llama.cpp) or --network host (both), and llama-server's own startup banner warns verbatim: 'CORS is set to allow all origins and no API key is set / this can be a security risk'. PROBED 2026-08-25: this box holds tailnet address 100.64.0.12, so for the whole life of a spike every tailnet peer can reach port 8080 (or 8000) with no credential. The repo's own gateway exists partly to avoid this -- it has an opt-in GATEWAY_API_KEY bearer gate and #127's rule that peer credentials are always a copy of the peer's own inbound key. The frame carried no claim about this before this pass.",
523
523
  "origin": "llm",
524
524
  "status": "confirmed",
525
525
  "honesty_conditions": [
@@ -823,7 +823,7 @@
823
823
  {
824
824
  "id": "c46",
825
825
  "kind": "requirement",
826
- "text": "SECURITY, now REALISED not hypothetical: within seconds of the API server starting, two DISTINCT tailnet peers hit the unauthenticated endpoint -- the transcript records 'INFO: 100.127.105.72:50652 - GET /v1/models HTTP/1.1 200 OK' and 'INFO: 100.105.216.63:55196 - GET /v1/models HTTP/1.1 200 OK', neither of which this session initiated. c30 predicted the exposure; the boot log proves mesh peers actually discovered and queried it. Any adopted lane must sit behind the gateway's GATEWAY_API_KEY rather than binding an open port on the tailnet.",
826
+ "text": "SECURITY, now REALISED not hypothetical: within seconds of the API server starting, two DISTINCT tailnet peers hit the unauthenticated endpoint -- the transcript records 'INFO: 100.64.0.10:50652 - GET /v1/models HTTP/1.1 200 OK' and 'INFO: 100.64.0.11:55196 - GET /v1/models HTTP/1.1 200 OK', neither of which this session initiated. c30 predicted the exposure; the boot log proves mesh peers actually discovered and queried it. Any adopted lane must sit behind the gateway's GATEWAY_API_KEY rather than binding an open port on the tailnet.",
827
827
  "origin": "llm",
828
828
  "status": "confirmed",
829
829
  "honesty_conditions": [
@@ -252,7 +252,7 @@
252
252
  {
253
253
  "id": "c10",
254
254
  "kind": "assumption",
255
- "text": "Live baseline 2026-09-11 (ssh, read-only): Spark hosts cortex+rerank and proxies worker/embed->Thor, associate->Orin; Thor hosts worker/embed/rerank and proxies cortex/hand->Spark; Orin hosts associate and pools cortex over Spark+Thor \u2014 but the Thor no longer hosts cortex, so that replica reads compatible:false ('quantization: unknown; runtime: unknown'): a static peer list already went stale. Orin .env pins MODEL_GEAR_VERSION=0.63.1 while its gateway serves 0.70.0, lacks GATEWAY_SELF_ORIGIN, and neither Thor nor Orin has the lobes CLI on PATH. All three are on the tailnet tail0be7e0.ts.net (Spark :8001, Thor :8000, Orin :8000).",
255
+ "text": "Live baseline 2026-09-11 (ssh, read-only): Spark hosts cortex+rerank and proxies worker/embed->Thor, associate->Orin; Thor hosts worker/embed/rerank and proxies cortex/hand->Spark; Orin hosts associate and pools cortex over Spark+Thor \u2014 but the Thor no longer hosts cortex, so that replica reads compatible:false ('quantization: unknown; runtime: unknown'): a static peer list already went stale. Orin .env pins MODEL_GEAR_VERSION=0.63.1 while its gateway serves 0.70.0, lacks GATEWAY_SELF_ORIGIN, and neither Thor nor Orin has the lobes CLI on PATH. All three are on the tailnet TAILNET.ts.net (Spark :8001, Thor :8000, Orin :8000).",
256
256
  "origin": "llm",
257
257
  "status": "confirmed",
258
258
  "honesty_conditions": [],
@@ -725,7 +725,7 @@
725
725
  {
726
726
  "id": "c38",
727
727
  "kind": "requirement",
728
- "text": "Bootstrap discovery: a joining box needs at least one address to detect the mesh. Introduce LOBES_MESH_SEEDS (comma-separated member origins, typed once on the joining box only); the roster fills in every other member after the first successful keyless detect. No mDNS/broadcast: the fleet lives on a Tailscale tailnet (tail0be7e0.ts.net) where multicast does not cross nodes.",
728
+ "text": "Bootstrap discovery: a joining box needs at least one address to detect the mesh. Introduce LOBES_MESH_SEEDS (comma-separated member origins, typed once on the joining box only); the roster fills in every other member after the first successful keyless detect. No mDNS/broadcast: the fleet lives on a Tailscale tailnet (TAILNET.ts.net) where multicast does not cross nodes.",
729
729
  "origin": "llm",
730
730
  "status": "confirmed",
731
731
  "honesty_conditions": [
@@ -1224,7 +1224,7 @@
1224
1224
  },
1225
1225
  {
1226
1226
  "id": "s15",
1227
- "surface": "challenge pass / hidden-dependency lens: tailnet transport (tail0be7e0.ts.net), no multicast; _replicas.py:283 outbound bearer",
1227
+ "surface": "challenge pass / hidden-dependency lens: tailnet transport (TAILNET.ts.net), no multicast; _replicas.py:283 outbound bearer",
1228
1228
  "finding": "Every member is the brain, but the FIRST contact needs a typed seed \u2014 no broadcast on a tailnet; member-to-member auth must move from per-box peer keys to the join key.",
1229
1229
  "seeds": [
1230
1230
  "c38",
@@ -507,7 +507,7 @@
507
507
  {
508
508
  "id": "c30",
509
509
  "kind": "requirement",
510
- "text": "the blast radius is LARGER than c20 records: probing the live mesh, the DGX Spark declares 'embedder feasible=false, proxied=true, hosted_by=http://thor.tail0be7e0.ts.net:8000' -- the Spark proxies its EMBEDDINGS to this Thor. Taking this box down removes the Spark's embedder lane too, not just this box's cortex. The window must either be announced as embed-affecting mesh-wide, or the Spark must re-declare a local embedder first.",
510
+ "text": "the blast radius is LARGER than c20 records: probing the live mesh, the DGX Spark declares 'embedder feasible=false, proxied=true, hosted_by=http://thor.TAILNET.ts.net:8000' -- the Spark proxies its EMBEDDINGS to this Thor. Taking this box down removes the Spark's embedder lane too, not just this box's cortex. The window must either be announced as embed-affecting mesh-wide, or the Spark must re-declare a local embedder first.",
511
511
  "origin": "llm",
512
512
  "status": "confirmed",
513
513
  "honesty_conditions": [
@@ -345,7 +345,7 @@
345
345
  {
346
346
  "id": "c22",
347
347
  "kind": "requirement",
348
- "text": "The realtime composite is today INCOMPLETE and the split is the moment to fix it: lobes/realtime/app.py's ready() probes ONLY settings.tts_url and settings.stt_url, so it reports a session consumable while (a) Silero VAD may be unavailable and (b) the generate lane may be unreachable. On this very box the voice lane's generate target is multimodal, which is MULTIMODAL_FEASIBLE=false and PROXIED to http://orin.tail0be7e0.ts.net:8000 \u2014 so a realtime session here depends on a REMOTE peer that the readiness aggregate never dials.",
348
+ "text": "The realtime composite is today INCOMPLETE and the split is the moment to fix it: lobes/realtime/app.py's ready() probes ONLY settings.tts_url and settings.stt_url, so it reports a session consumable while (a) Silero VAD may be unavailable and (b) the generate lane may be unreachable. On this very box the voice lane's generate target is multimodal, which is MULTIMODAL_FEASIBLE=false and PROXIED to http://orin.TAILNET.ts.net:8000 \u2014 so a realtime session here depends on a REMOTE peer that the readiness aggregate never dials.",
349
349
  "origin": "llm",
350
350
  "status": "confirmed",
351
351
  "honesty_conditions": [
@@ -206,7 +206,7 @@
206
206
  {
207
207
  "id": "c18",
208
208
  "kind": "requirement",
209
- "text": "Peers must be checked before the cortex goes down, not just the local box: the Jetson AGX Orin's .env declares PRIMARY_PEER_ORIGIN=http://spark.tail0be7e0.ts.net:8001 \u2014 this Spark \u2014 from the dual-cortex era, with PRIMARY_PEER_PROXY currently false after its 2026-08-23 local-GGUF cutover. A referral origin is a live declaration even when proxy is off, so the run reads each peer's PRIMARY_PEER_* state and reports what pointed here.",
209
+ "text": "Peers must be checked before the cortex goes down, not just the local box: the Jetson AGX Orin's .env declares PRIMARY_PEER_ORIGIN=http://spark.TAILNET.ts.net:8001 \u2014 this Spark \u2014 from the dual-cortex era, with PRIMARY_PEER_PROXY currently false after its 2026-08-23 local-GGUF cutover. A referral origin is a live declaration even when proxy is off, so the run reads each peer's PRIMARY_PEER_* state and reports what pointed here.",
210
210
  "deferred": false,
211
211
  "deferred_reason": ""
212
212
  },
@@ -212,7 +212,7 @@
212
212
  "status": "confirmed",
213
213
  "acceptance_criteria": [
214
214
  "MUSE_PEER_ORIGIN, MUSE_PEER_PROXY and MUSE_PEER_API_KEY are removed from ~/.lobes/.env and MUSE_FEASIBLE is left unset",
215
- "WORKER_PEER_ORIGIN=http://thor.tail0be7e0.ts.net:8000 and WORKER_PEER_PROXY=true are set, with WORKER_PEER_API_KEY left EMPTY because Thor declares no inbound gate",
215
+ "WORKER_PEER_ORIGIN=http://thor.TAILNET.ts.net:8000 and WORKER_PEER_PROXY=true are set, with WORKER_PEER_API_KEY left EMPTY because Thor declares no inbound gate",
216
216
  "after bring-up, GET /capabilities on the Spark reports muse with hosted_by=null and a model=muse request returns 404 role_infeasible -- NOT a proxied 503 backend_unavailable",
217
217
  "lobes overview --list still lists the muse catalog entry and lobes init --shape thor-muse still renders, proving cite-don't-delete held"
218
218
  ],
@@ -276,7 +276,7 @@
276
276
  {
277
277
  "id": "c30",
278
278
  "kind": "requirement",
279
- "text": "SECURITY: both published recipes stand up an UNAUTHENTICATED 30B endpoint on this box's tailnet. Each binds --host 0.0.0.0 (llama.cpp) or --network host (both), and llama-server's own startup banner warns verbatim: 'CORS is set to allow all origins and no API key is set / this can be a security risk'. PROBED 2026-08-25: this box holds tailnet address 100.81.137.121, so for the whole life of a spike every tailnet peer can reach port 8080 (or 8000) with no credential. The repo's own gateway exists partly to avoid this -- it has an opt-in GATEWAY_API_KEY bearer gate and #127's rule that peer credentials are always a copy of the peer's own inbound key. The frame carried no claim about this before this pass.",
279
+ "text": "SECURITY: both published recipes stand up an UNAUTHENTICATED 30B endpoint on this box's tailnet. Each binds --host 0.0.0.0 (llama.cpp) or --network host (both), and llama-server's own startup banner warns verbatim: 'CORS is set to allow all origins and no API key is set / this can be a security risk'. PROBED 2026-08-25: this box holds tailnet address 100.64.0.12, so for the whole life of a spike every tailnet peer can reach port 8080 (or 8000) with no credential. The repo's own gateway exists partly to avoid this -- it has an opt-in GATEWAY_API_KEY bearer gate and #127's rule that peer credentials are always a copy of the peer's own inbound key. The frame carried no claim about this before this pass.",
280
280
  "deferred": false,
281
281
  "deferred_reason": ""
282
282
  },
@@ -437,7 +437,7 @@
437
437
  {
438
438
  "id": "c46",
439
439
  "kind": "requirement",
440
- "text": "SECURITY, now REALISED not hypothetical: within seconds of the API server starting, two DISTINCT tailnet peers hit the unauthenticated endpoint -- the transcript records 'INFO: 100.127.105.72:50652 - GET /v1/models HTTP/1.1 200 OK' and 'INFO: 100.105.216.63:55196 - GET /v1/models HTTP/1.1 200 OK', neither of which this session initiated. c30 predicted the exposure; the boot log proves mesh peers actually discovered and queried it. Any adopted lane must sit behind the gateway's GATEWAY_API_KEY rather than binding an open port on the tailnet.",
440
+ "text": "SECURITY, now REALISED not hypothetical: within seconds of the API server starting, two DISTINCT tailnet peers hit the unauthenticated endpoint -- the transcript records 'INFO: 100.64.0.10:50652 - GET /v1/models HTTP/1.1 200 OK' and 'INFO: 100.64.0.11:55196 - GET /v1/models HTTP/1.1 200 OK', neither of which this session initiated. c30 predicted the exposure; the boot log proves mesh peers actually discovered and queried it. Any adopted lane must sit behind the gateway's GATEWAY_API_KEY rather than binding an open port on the tailnet.",
441
441
  "deferred": false,
442
442
  "deferred_reason": ""
443
443
  },
@@ -353,7 +353,7 @@
353
353
  {
354
354
  "id": "c38",
355
355
  "kind": "requirement",
356
- "text": "Bootstrap discovery: a joining box needs at least one address to detect the mesh. Introduce LOBES_MESH_SEEDS (comma-separated member origins, typed once on the joining box only); the roster fills in every other member after the first successful keyless detect. No mDNS/broadcast: the fleet lives on a Tailscale tailnet (tail0be7e0.ts.net) where multicast does not cross nodes.",
356
+ "text": "Bootstrap discovery: a joining box needs at least one address to detect the mesh. Introduce LOBES_MESH_SEEDS (comma-separated member origins, typed once on the joining box only); the roster fills in every other member after the first successful keyless detect. No mDNS/broadcast: the fleet lives on a Tailscale tailnet (TAILNET.ts.net) where multicast does not cross nodes.",
357
357
  "deferred": false,
358
358
  "deferred_reason": ""
359
359
  },
@@ -178,7 +178,7 @@
178
178
  {
179
179
  "id": "c30",
180
180
  "kind": "requirement",
181
- "text": "the blast radius is LARGER than c20 records: probing the live mesh, the DGX Spark declares 'embedder feasible=false, proxied=true, hosted_by=http://thor.tail0be7e0.ts.net:8000' -- the Spark proxies its EMBEDDINGS to this Thor. Taking this box down removes the Spark's embedder lane too, not just this box's cortex. The window must either be announced as embed-affecting mesh-wide, or the Spark must re-declare a local embedder first.",
181
+ "text": "the blast radius is LARGER than c20 records: probing the live mesh, the DGX Spark declares 'embedder feasible=false, proxied=true, hosted_by=http://thor.TAILNET.ts.net:8000' -- the Spark proxies its EMBEDDINGS to this Thor. Taking this box down removes the Spark's embedder lane too, not just this box's cortex. The window must either be announced as embed-affecting mesh-wide, or the Spark must re-declare a local embedder first.",
182
182
  "deferred": false,
183
183
  "deferred_reason": ""
184
184
  },
@@ -140,7 +140,7 @@
140
140
  {
141
141
  "id": "c22",
142
142
  "kind": "requirement",
143
- "text": "The realtime composite is today INCOMPLETE and the split is the moment to fix it: lobes/realtime/app.py's ready() probes ONLY settings.tts_url and settings.stt_url, so it reports a session consumable while (a) Silero VAD may be unavailable and (b) the generate lane may be unreachable. On this very box the voice lane's generate target is multimodal, which is MULTIMODAL_FEASIBLE=false and PROXIED to http://orin.tail0be7e0.ts.net:8000 \u2014 so a realtime session here depends on a REMOTE peer that the readiness aggregate never dials."
143
+ "text": "The realtime composite is today INCOMPLETE and the split is the moment to fix it: lobes/realtime/app.py's ready() probes ONLY settings.tts_url and settings.stt_url, so it reports a session consumable while (a) Silero VAD may be unavailable and (b) the generate lane may be unreachable. On this very box the voice lane's generate target is multimodal, which is MULTIMODAL_FEASIBLE=false and PROXIED to http://orin.TAILNET.ts.net:8000 \u2014 so a realtime session here depends on a REMOTE peer that the readiness aggregate never dials."
144
144
  },
145
145
  {
146
146
  "id": "h15",
@@ -37,7 +37,7 @@
37
37
  {"id": "issue-81-cortex-senses-roles-specced", "hash": "37fc19bb17bdcac85e4d013d2815fafeb6d8a5bbe624f01c592feb3aedaed6de", "content": "Issue #81 (expose full Colleague stack as cortex/senses role-based lobes) specced via /think 2026-07-03 -> docs/specs/2026-07-03-lobes-exposes-the-full-colleague-runtime-stack-as.md. USER-confirmed FULL-#81 scope: six first-class roles cortex/senses/stt/tts/embedder/reranker; REBALANCE cortex(Qwen3.6-27B-MTP)=128K (up from fleet's 64K), senses(Gemma4-12B)=32K (down from 128K), util retuned, pressure degrades cortex->minor (senses is a distinct capability not a rung); 'lobes capabilities'/'lobes endpoint <role>' + gateway GET /capabilities JSON contract for Colleague; 'lobes up <role>' + 'colleague-stack' profile; per-role RUNTIME metrics only (Colleague owns task-quality); cortex-only-vs-cortex+senses bench profiles. KEY DECISIONS: (c24) ROLE LAYER not rename -- cortex->primary, senses->multimodal via catalog.TIER_ROLE + mirrors (_pressure_policy._TIER_ROLE, _tier_request); internal service/env/container names (vllm-primary/vllm-multimodal, PRIMARY_*/MULTIMODAL_*) NOT renamed; main|multimodal|hard|normal kept as back-compat aliases. (c25) contract transport = CLI 'lobes capabilities --json' AND gateway GET /capabilities. (c26) fix FLEET_CONTAINERS gap. 'brain' FORBIDDEN as role name/alias. Parked (nonblocking): exact utils, canonical responsibilities word-lists, 'lobes up' verb shape, whether colleague-stack bundles audio overlay. Next leg: /spec-to-plan.", "scope": {"name": "lobes", "visibility": "public"}, "metadata": {"type": "project", "record_metadata": {"source": "claude-code-session", "topic": "cortex-senses-roles", "relates_to": "issue-81", "date": "2026-07-03"}, "created": "2026-07-03T08:22:08.845819+00:00", "last_recall": "2026-09-12T09:11:54.914683+00:00", "recall_count": 8.5, "links": [], "supersedes": null, "lifecycle": "active", "added_by": null}}
38
38
  {"id": "issue-112-one-lobe-per-box-specced", "hash": "e35e355dbbaf1c8541373e807e911db0508ef5b92ed565db1a76fe83c42225e9", "content": "Issue #112 (mesh-brain end-state: one lobe per box) specced via /think 2026-07-14 -> docs/specs/2026-07-14-lobes-serves-the-mesh-brain-end-state-one-lobe-per.md (branch spec/112-one-lobe-per-box). USER DECISIONS: (1) the shape axis is BACKWARD COMPATIBLE and MIXABLE \u2014 many specialized machines (some cloud if you want), some multi-role machines, or any mix; machine-as-brain stays default; one-lobe shapes are the far end of the axis, not a mandate. (2) Cross-box reachability = DIRECT + HONEST REFERRAL: no data-plane proxying; consumers dial each box directly (as the Culture mesh does today); with opt-in peer config, a box's capabilities and role_infeasible 404s NAME the peer hosting an absent role; #92 invariant holds. (3) CHEAP GEARS CO-RESIDE EVERYWHERE: 'one lobe per box' specializes the HEAVY generate lobes only; embedder/reranker/stt/tts stay on every box that wants them (~0.06 util each); consumers keep localhost embed/rerank (eidetic unchanged); Orin takes minor + optionally pooling when validated. (4) Qwen-only Spark stays a FLEET shape (gateway + one heavy vLLM, capabilities surface intact); 'return to 256K-native solo' = full GPU budget + 262144 context as shape overrides, NOT the legacy single-model scaffold. Reference shapes: qwen-only spark @262144 (2.0x co-resident 131072), gemma-only thor senses @131072 (4.0x the 32768 trim), small-model orin DECLARED-BUT-UNVALIDATED until physically booted (#108 rule). Composes on the near-term brain-shapes plan (t1-t8, #113, spec+plan merged, IMPLEMENTATION NOT YET LANDED as of 2026-07-14) \u2014 that plan must land first (stated assumption). Next leg: /spec-to-plan.", "scope": {"name": "lobes", "visibility": "public"}, "metadata": {"type": "project", "record_metadata": {"source": "claude-code-session", "topic": "one-lobe-per-box", "relates_to": "issue-112", "date": "2026-07-14"}, "created": "2026-07-14T05:59:15.053474+00:00", "last_recall": "2026-09-12T21:26:02.712614+00:00", "recall_count": 14.0, "links": ["issue-81-cortex-senses-roles-specced"], "supersedes": null, "lifecycle": "active", "added_by": null}}
39
39
  {"id": "devague-no-move-to-resolve-hard-questions", "hash": "49cf9acb89fd001b4a6c3fd58971c806b7fce31db51869ec9782b83cafcd96b5", "content": "devague gotcha (2026-07-14, adjacent to the known no-unpark gap): there is NO CLI move to resolve a hard question created by 'interrogate --hard-question'. 'devague question --resolve QID' manages a DIFFERENT id-space (.devague/questions/ standalone decisions) and errors 'no such question' for interrogate-created q-ids. A BLOCKING hard question therefore holds converge forever unless (a) its parent claim is rejected (the question dies with the claim) or (b) you hand-edit .devague/frames/<slug>.json setting resolved:true on the question object. Correct workflow: record the user's answer as a user-origin decision claim (auto-confirms), then hand-edit resolved:true, and after export annotate the doc's Hard-questions section with 'RESOLVED (user decision, see Decisions): ... -> answer' (export renders questions WITHOUT resolutions, and also dumps rejected claims' hard questions \u2014 trim both). Precedent: the #113 brain-shapes frame did exactly this. Worth an upstream issue on agentculture/devague (resolve-hard-question move).", "scope": {"name": "lobes", "visibility": "public"}, "metadata": {"type": "gotcha", "record_metadata": {"source": "claude-code-session", "topic": "devague-hard-questions", "relates_to": "devague", "date": "2026-07-14"}, "created": "2026-07-14T05:59:15.055842+00:00", "last_recall": null, "recall_count": 0, "links": ["devague-export-dumps-rejected-hard-questions", "devague-instruct-flips-confirmed-state"], "supersedes": null, "lifecycle": "active", "added_by": null}}
40
- {"id": "thor-serves-thor-lobe-2026-07-14", "hash": "69e7a5f411a88226fa2172e160bd60b96b470c5cd367d3e77977ee682195d73f", "content": "Deployment change (2026-07-14, PR #121 live test, operator-directed, permanent): the Jetson AGX Thor box now serves the thor-lobe shape \u2014 Gemma senses at max_model_len=131072 / gpu_mem_util=0.30 plus embedder+reranker; the Qwen cortex is DROPPED here (PRIMARY_FEASIBLE=false) with the honest referral PRIMARY_PEER_ORIGIN=http://spark.tail0be7e0.ts.net:8001 (the Spark hosts cortex; its lobes gateway is on port 8001). Callers on the Thor asking for model=main/hard/cortex get 404 role_infeasible with hosted_by \u2014 dial the Spark directly, nothing proxies. Gateway pinned to TestPyPI 0.43.0.dev239 until PR #121 releases 0.43.0 \u2014 re-pin after merge. Previous machine-as-brain deployment preserved at ~/.lobes.pre-accept-20260714T151429Z. The re-scaffold fixed the stale rerank-lane hang (#105/#119): rerank ordering passes in ~1.4s. Full PASS transcript: docs/evidence/2026-07-14-accept-thor-lobe-live-referral-thor.txt. Boot caveat stands: after teardown run sync + drop_caches before fleet up (unified-memory race; 16 restarts without it).", "scope": {"name": "lobes", "visibility": "public"}, "metadata": {"type": "decision", "record_metadata": {"issue": "#112", "pr": "#121", "box": "thor"}, "created": "2026-07-14T15:52:50.642616+00:00", "last_recall": "2026-09-18T11:12:03.282529+00:00", "recall_count": 9.0, "links": [], "supersedes": null, "lifecycle": "active", "added_by": null}}
40
+ {"id": "thor-serves-thor-lobe-2026-07-14", "hash": "69e7a5f411a88226fa2172e160bd60b96b470c5cd367d3e77977ee682195d73f", "content": "Deployment change (2026-07-14, PR #121 live test, operator-directed, permanent): the Jetson AGX Thor box now serves the thor-lobe shape \u2014 Gemma senses at max_model_len=131072 / gpu_mem_util=0.30 plus embedder+reranker; the Qwen cortex is DROPPED here (PRIMARY_FEASIBLE=false) with the honest referral PRIMARY_PEER_ORIGIN=http://spark.TAILNET.ts.net:8001 (the Spark hosts cortex; its lobes gateway is on port 8001). Callers on the Thor asking for model=main/hard/cortex get 404 role_infeasible with hosted_by \u2014 dial the Spark directly, nothing proxies. Gateway pinned to TestPyPI 0.43.0.dev239 until PR #121 releases 0.43.0 \u2014 re-pin after merge. Previous machine-as-brain deployment preserved at ~/.lobes.pre-accept-20260714T151429Z. The re-scaffold fixed the stale rerank-lane hang (#105/#119): rerank ordering passes in ~1.4s. Full PASS transcript: docs/evidence/2026-07-14-accept-thor-lobe-live-referral-thor.txt. Boot caveat stands: after teardown run sync + drop_caches before fleet up (unified-memory race; 16 restarts without it).", "scope": {"name": "lobes", "visibility": "public"}, "metadata": {"type": "decision", "record_metadata": {"issue": "#112", "pr": "#121", "box": "thor"}, "created": "2026-07-14T15:52:50.642616+00:00", "last_recall": "2026-09-18T11:12:03.282529+00:00", "recall_count": 9.0, "links": [], "supersedes": null, "lifecycle": "active", "added_by": null}}
41
41
  {"id": "colleague-320-tool-call-mangle-root-cause", "hash": "1592fa70f1407d998bd87856f4d54472f7779065b4b5a8e75fc44b8d187de8d1", "content": "Colleague #320 (cortex tool calls arrive mangled: name read_file\" + empty arguments, every work item delivers nothing) ROOT-CAUSED 2026-07-14 on the Spark GB10, hypothesis (a) CONFIRMED server-side: a two-way logging proxy captured the RAW gateway/vLLM response during a real colleague work run and the server itself already returns tool_call name=read_file\\\" args={} \u2014 colleague parsing is exonerated. Deterministic minimal repro (temp 0.0): colleague 4K-char system prompt + 14 tools + tool_choice=auto \u2192 the Qwen3.6-27B-MTP cortex drifts off its own chat template and emits a hallucinated <tool_call>\\n\\n[tool_id]{json} format (NOT the qwen3_coder XML its template prescribes); vLLM qwen3 parser salvage mangles it. The long-prompt theory was WRONG \u2014 4K chars suffices; nothing in colleague prompt teaches JSON tool format. FIX PATH: (1) strict:true on function tools arms xgrammar structural-tag constrained decoding (VLLM_ENFORCE_STRICT_TOOL_CALLING defaults True, but with tool_choice=auto it only arms if some tool declares strict:true \u2014 structural_tag_registry.get_model_structural_tag gate); (2) BUT the served vLLM build (0.23.1rc1.dev672+g93d8f834d) hardcodes reasoning=False at the call site (parser/abstract_parser.py _apply_structural_tag \u2192 get_structural_tag(request, reasoning=False)), so with thinking on, the grammar cannot accept the </think> special token (id 248069) \u2192 FSM failure \u2192 HTTP 500 (grammar rejected tokens [</think>,\\n\\n,<tool_call>,\\n]); (3) strict + chat_template_kwargs enable_thinking:false returns a CLEAN structured call (read_file {path: calc.py}) \u2014 proven live, MTP spec-decode active (77.8% draft acceptance) so constrained decoding + MTP coexist; (4) reasoning=True IS supported by this build xgrammar builtin (sequence: any_text \u2192 </think> \u2192 \\n\\n \u2192 triggered <tool_call> tags) \u2014 only the call site never passes it. Candidate lobes fix: tiny --tool-parser-plugin subclassing Qwen3EngineToolParser overriding get_structural_tag to pass reasoning=True when the request has thinking enabled (ToolParserManager.import_tool_parser exists in the image); then colleague sends strict:true (or lobes gateway injects it, config-gated). All 14 colleague tool schemas compiled fine under xgrammar (failure was FSM-advance, not schema compile). All probes read-only; no config/code changed yet.", "scope": {"name": "lobes", "visibility": "public"}, "metadata": {"type": "gotcha", "record_metadata": {"source": "claude-code-session", "topic": "colleague-320-tool-calls", "relates_to": "colleague-issue-320", "date": "2026-07-14", "box": "spark"}, "created": "2026-07-14T17:27:39.211406+00:00", "last_recall": "2026-09-18T11:12:03.282529+00:00", "recall_count": 4.5, "links": ["thor-serves-thor-lobe-2026-07-14", "unified-memory-budget-is-measured-truth-2026-07-14"], "supersedes": null, "lifecycle": "active", "added_by": null}}
42
42
  {"id": "lobes-fleet-up-drops-audio-override", "hash": "092dcde3ef3b5c56392d6d8a5275614da30967578e07ed936a647de645076434", "content": "lobes fleet up resolves exactly -f docker-compose.yml -f docker-compose.audio.yml -f docker-compose.shape.yml (verified via lobes.runtime._compose._compose_files). It does NOT pick up a hand-written docker-compose.audio.override.yml. On the Spark box that override is what publishes the stt container on 127.0.0.1:9002, which reachy-mini-cli's default REACHY_STT_URL depends on -- so a lobes-driven fleet up would silently recreate stt WITHOUT the loopback publish and break reachy. Bring the audio overlay up with an explicit docker compose -f ... chain including the override until this is fixed.", "scope": {"name": "lobes", "visibility": "public"}, "metadata": {"type": "note", "record_metadata": {"source": "session-2026-07-17", "area": "runtime/_compose", "repo": "lobes-cli"}, "created": "2026-07-17T04:26:47.475910+00:00", "last_recall": "2026-07-17T05:22:37.990040+00:00", "recall_count": 1, "links": [], "supersedes": null, "lifecycle": "active", "added_by": null}}
43
43
  {"id": "eidetic-embed-is-hash-fallback-not-semantic", "hash": "b7d4b3fc0a93504696691b8b209f5a9a91bdf6dcb84a2a5eeacea7174e3c451c", "content": "FINDING (2026-07-20, spark-f8a9, verified by reading the installed package): eidetic's semantic recall on this box is NOT semantic \u2014 it has never reached a real embedding model. Installed eidetic-cli 0.10.1's memory/embed.py has _DEFAULT_BASE_URL='http://localhost:8101/v1' and _DEFAULT_MODEL='text-embedding-3-small' (NOT the 'localhost:8002 + Qwen3-Embedding-0.6B' the recall SKILL.md claims \u2014 that doc is STALE). Ports 8101 and 8002 are both CLOSED; the only open port is the lobes gateway on 8001. So embed_detect() throws on connect, catches, and returns (_local_embed(...), online=False) \u2014 a 128-dim deterministic lexical HASH (_EMBED_DIM=128, _local_embed at embed.py:63). Every approximate/hybrid recall runs on that hash. It is at least HONEST about it: embed_detect returns the `online` flag and hybrid refuses to fuse fallback cosine, so hybrid silently degrades to keyword-only rather than lying. HARD BLOCKER for wiring it up: _remote_embed builds its urllib Request with headers={'Content-Type': 'application/json'} ONLY \u2014 there is NO Authorization/API-key support anywhere in the embed client. The lobes gateway has inbound auth armed (GATEWAY_API_KEY; /v1/models returns invalid_api_key), so even setting EIDETIC_EMBED_URL=http://localhost:8001/v1 would 401 -> exception -> silent hash fallback. Fixing this is an UPSTREAM eidetic change (add API-key support to the embed client), not a lobes change. Also note the dim change 128 -> 1024 (0.6B) or 2560 (4B) invalidates every stored vector: adopting a real embedder means a full re-embed of the store either way.", "scope": {"name": "lobes", "visibility": "public"}, "metadata": {"type": "reference", "record_metadata": {"source": "claude-code-session", "topic": "eidetic-embed-wiring", "host": "spark-f8a9", "date": "2026-07-20", "repo": "lobes-cli"}, "created": "2026-07-20T17:07:25.072568+00:00", "last_recall": "2026-08-31T07:35:34.442875+00:00", "recall_count": 2.0, "links": [], "supersedes": null, "lifecycle": "active", "added_by": null}}
@@ -47,9 +47,9 @@
47
47
  {"id": "fakes-must-model-blocking-rule", "hash": "587f16c9f32a85c661fd3194e725acb06e952b68d6df1dc5f7c7ee16395a3e50", "content": "STANDING RULE learned the hard way on lobes-cli PR #150 (#149 realtime WS): A TEST CANNOT VALIDATE A BEHAVIOUR THE TEST ITSELF DEFINES. Three separate defects in ONE PR were hidden by fake objects that did not model the real thing, each passing a green suite of 2200+ tests: (1) a fake reader whose read(n) returned data[:n] immediately, vs io.BufferedReader which on a blocking socket fills n bytes or hits EOF -> gateway read_head() hung on EVERY real connection; fix read1() + real socket.socketpair() tests. (2) a unit test asserting `leftover` was sent to `upstream` -- the WRONG DIRECTION enshrined as the contract -> every WS session died at open (RFC 6455 5.1: bridge must close on an unmasked server frame); only a live run could catch a direction the test picked. (3) _FakeSock.recv returning b\"\" as soon as its script ran dry, vs a real IDLE peer that just sits there -> a dead upstream stranded one gateway handler thread per open session, because shutdown(SHUT_WR) on the opposite socket does NOT wake a recv blocked on that same socket; fix: shutdown(SHUT_RDWR) on peer when either pump exits, and a _BlockingSock fake that waits on threading.Event. PRACTICE: (a) when a fake stands in for blocking I/O, model the BLOCKING contract or use a real socketpair; (b) when you assert a DIRECTION/ORDERING you chose, only an integration/live run validates it; (c) always verify a new regression test FAILS against the reintroduced bug before trusting it. Qodo independently found (2) and (3) \u2014 the diverse-review reflex plus live testing both earned their keep; neither alone was sufficient.", "scope": {"name": "lobes", "visibility": "public"}, "metadata": {"type": "lesson", "record_metadata": {"repo": "lobes-cli", "relates_to": "issue-149, pr-150", "area": "testing", "date": "2026-07-21"}, "created": "2026-07-21T14:03:39.021488+00:00", "last_recall": null, "recall_count": 0, "links": [], "supersedes": null, "lifecycle": "active", "added_by": null}}
48
48
  {"id": "silent-failure-antipattern-voice-tools", "hash": "337c99c77ec7beb7632d5011ecb3ad34a21f4b8a6fdb8540f723442e8d500072", "content": "PATTERN learned across lobes-cli PR #150 + #152 (realtime voice work, 2026-07-21): IN AN INTERACTIVE/VOICE TOOL, EVERY SILENT FAILURE PATH MUST BE MADE TO SPEAK. Six separate defects in the voice loop all presented identically \u2014 the loop sat quietly until its idle timeout and printed \"nothing heard \u2014 ending\", indistinguishable from a user who simply did not speak: (1) the event reader caught EVERY read_frame exception and retried, so an EOF after disconnect spun forever; fix = socket.timeout continues, anything else stops the session and names it; (2) speak() ran the audio player with no timeout and paplay REALLY DID hang on a sink whose ALSA device reachy-mini-dae held exclusively \u2014 with the mic muted for the speak window this deafens the session permanently; fix = bounded per-backend timeout, fall through to next; (3) a mid-session mic EOF broke the feeder without setting stop; (4) arecord stderr was never piped so the no-audio message could not quote the ALSA error (the `if mic.stderr else \"\"` guard made it dead code); (5) a busy capture device looked exactly like a silent room; (6) terminate() left arecord orphaned holding the mic so the NEXT run failed busy. WHY IT MATTERS: the natural human response to silence is to TALK LOUDER, not to read logs \u2014 so a silent failure in a voice tool actively misleads the operator. ALSO: a /v1/realtime client MUST answer WebSocket PING with PONG \u2014 uvicorn pings ~every 20s and closes a peer that never pongs; both ends then report misleadingly (bridge logs a clean client_disconnect, client gets BrokenPipeError) so it looks like a network fault. A one-shot smoke run finishes inside one ping interval and never sees it. Isolate gateway-vs-client by bypassing the gateway and reproducing.", "scope": {"name": "lobes", "visibility": "public"}, "metadata": {"type": "lesson", "record_metadata": {"repo": "lobes-cli", "relates_to": "pr-150, pr-152, issue-151", "area": "testing/interactive-tools", "date": "2026-07-21"}, "created": "2026-07-21T15:45:42.604858+00:00", "last_recall": "2026-09-18T11:12:03.282529+00:00", "recall_count": 1.0, "links": [], "supersedes": null, "lifecycle": "active", "added_by": null}}
49
49
  {"id": "pr-90-fleet-reachability-truth-review-reflex", "hash": "91a2aafd09c1fb6859b760c68c8417e2866db446a86a7edc7c3c87dadb80c26c", "content": "PR #90 (agentculture/lobes-cli, 0.38.0, 2026-07-04) shipped fleet reachability truth as ONE PR fixing #84/#87/#89: (#84) lobes status fleet-aware via _compose.is_fleet() Dockerfile.gateway marker, single-model output byte-identical; (#87) GET /capabilities + every role endpoint advertises a client-reachable origin from the request Host header with a GATEWAY_PUBLIC_URL override for tunnels; (#89) stt/tts ready is a LIVE probe of the realtime bridge GET /v1/health/ready aggregate, gateway returns 503-warming vs 502-unreachable for /v1/audio/*, Chatterbox reports honest 503 cuda_context_poisoned. Built via the devague pipeline (/think spec -> /spec-to-plan 6 tasks/3 waves decomposed by FILE for disjointness -> /assign-to-workforce) with colleague local-vLLM as the wave-0 workforce and opus for the gateway integration. LESSON \u2014 the diverse-review reflex earns its keep: the ask-colleague review AND the Qodo agentic review each independently caught real semantic bugs in the SAME audio loaded/ready area. colleague caught loaded/ready conflation (a warming backend read as not-deployed). Qodo caught two more: probe_audio_ready caught only OSError so a malformed AUDIO_URL (non-numeric port -> urlsplit(...).port raises ValueError) crashed the handler uncaught; and build_role_registry did not clamp ready on audio_configured, so a caller passing audio_ready=True with AUDIO_URL unset got ready=True/loaded=False/endpoint=empty. Fix patterns: catch ValueError in URL-parsing probes exactly like open_upstream does; make public builders self-enforce the invariants their own docstrings promise. Run BOTH review passes on a committed diff before merge.", "scope": {"name": "lobes", "visibility": "public"}, "metadata": {"type": "project", "record_metadata": {"source": "claude-code-session", "topic": "pr-90-fleet-reachability", "relates_to": "issues-84-87-89", "date": "2026-07-04"}, "created": "2026-07-04T04:03:43.104710+00:00", "last_recall": "2026-08-31T06:22:46.383230+00:00", "recall_count": 7.0, "links": [], "supersedes": null, "lifecycle": "active", "added_by": null}}
50
- {"id": "spark-serves-spark-lobe-no-audio-2026-07-14", "hash": "70f2bfc02014f3787e6a39d7ada9548217fdb1ee0d8066b13a74b12f95f4c5d2", "content": "Deployment change (2026-07-14, operator-directed): the Spark GB10 box moves to the spark-lobe shape at lobes-cli 0.44.0 \u2014 cortex (Qwen3.6-27B-MTP) at full native 262144 / util 0.44, senses DROPPED with honest referral MULTIMODAL_PEER_ORIGIN=http://thor.tail0be7e0.ts.net:8000 (Thor gateway port is 8000, not 8001), embedder+reranker co-resident, GATEWAY_FORCE_STRICT_TOOLS=1 armed (colleague#320 fix, qwen3_coder_thinking plugin). The realtime AUDIO OVERLAY IS DROPPED on this box (operator: \"we can give up realtime for this machine\") \u2014 stt/tts stay in the six-role contract as feasible:true/ready:false. OPERATOR DIRECTION captured: ALL dropped/undeployed models must stay DECLARED as sleeping lobes (never erased from the contract) in preparation for a future fallback feature that serves a sleeping role from another machine \u2014 the referral half exists today (hosted_by), the proxy/fallback half is issue #115 (proxy-lobes follow-up). Env carries: CULTURE_VLLM_API_KEY, pressure thresholds=100; TTS_SPEED/OPENAI_API_KEY dropped with the overlay. Previous machine-as-brain deployment: ~/.lobes.pre-accept-20260714T183827Z (restore via accept-shape.sh --restore). Gotcha: two acceptance attempts failed on PyPI CDN propagation lag right after the 0.44.0 publish (pip in the image build could not see the fresh wheel; retry minutes later succeeds).", "scope": {"name": "lobes", "visibility": "public"}, "metadata": {"type": "decision", "record_metadata": {"box": "spark", "topic": "spark-lobe-golive", "relates_to": "issue-115, colleague-320", "date": "2026-07-14"}, "created": "2026-07-14T19:10:03.888285+00:00", "last_recall": "2026-09-18T11:12:03.282529+00:00", "recall_count": 15.5, "links": ["thor-serves-thor-lobe-2026-07-14", "colleague-320-tool-call-mangle-root-cause", "unified-memory-budget-is-measured-truth-2026-07-14"], "supersedes": null, "lifecycle": "active", "added_by": null}}
50
+ {"id": "spark-serves-spark-lobe-no-audio-2026-07-14", "hash": "70f2bfc02014f3787e6a39d7ada9548217fdb1ee0d8066b13a74b12f95f4c5d2", "content": "Deployment change (2026-07-14, operator-directed): the Spark GB10 box moves to the spark-lobe shape at lobes-cli 0.44.0 \u2014 cortex (Qwen3.6-27B-MTP) at full native 262144 / util 0.44, senses DROPPED with honest referral MULTIMODAL_PEER_ORIGIN=http://thor.TAILNET.ts.net:8000 (Thor gateway port is 8000, not 8001), embedder+reranker co-resident, GATEWAY_FORCE_STRICT_TOOLS=1 armed (colleague#320 fix, qwen3_coder_thinking plugin). The realtime AUDIO OVERLAY IS DROPPED on this box (operator: \"we can give up realtime for this machine\") \u2014 stt/tts stay in the six-role contract as feasible:true/ready:false. OPERATOR DIRECTION captured: ALL dropped/undeployed models must stay DECLARED as sleeping lobes (never erased from the contract) in preparation for a future fallback feature that serves a sleeping role from another machine \u2014 the referral half exists today (hosted_by), the proxy/fallback half is issue #115 (proxy-lobes follow-up). Env carries: CULTURE_VLLM_API_KEY, pressure thresholds=100; TTS_SPEED/OPENAI_API_KEY dropped with the overlay. Previous machine-as-brain deployment: ~/.lobes.pre-accept-20260714T183827Z (restore via accept-shape.sh --restore). Gotcha: two acceptance attempts failed on PyPI CDN propagation lag right after the 0.44.0 publish (pip in the image build could not see the fresh wheel; retry minutes later succeeds).", "scope": {"name": "lobes", "visibility": "public"}, "metadata": {"type": "decision", "record_metadata": {"box": "spark", "topic": "spark-lobe-golive", "relates_to": "issue-115, colleague-320", "date": "2026-07-14"}, "created": "2026-07-14T19:10:03.888285+00:00", "last_recall": "2026-09-18T11:12:03.282529+00:00", "recall_count": 15.5, "links": ["thor-serves-thor-lobe-2026-07-14", "colleague-320-tool-call-mangle-root-cause", "unified-memory-budget-is-measured-truth-2026-07-14"], "supersedes": null, "lifecycle": "active", "added_by": null}}
51
51
  {"id": "issue-127-proxy-lobes-pairwise-auth-specced", "hash": "9defa4bc3dc4492ddf198c25e0dcefdbcbb5eb5656fecb33f8d9cf9103511272", "content": "Issue #127 (heterogeneous multi-node routing) scoped+specced+planned 2026-07-16 via full devague chain -> docs/specs/2026-07-16-proxy-lobes-pairwise-auth.md + docs/plans/2026-07-16-proxy-lobes-pairwise-auth.md (branch feat/127-proxy-lobes-pairwise-auth). USER DECISIONS: (q1) proxy opt-in is an EXPLICIT per-role knob <PREFIX>_PEER_PROXY=true next to <PREFIX>_PEER_ORIGIN \u2014 origin alone stays referral-only, live Spark/Thor referral deployments unchanged; (q2) inbound gateway auth = new GATEWAY_API_KEY env with CULTURE_VLLM_API_KEY fallback (both unset = no auth); (q3) delivery = #127 phase 1 only (proxy data plane + pairwise auth + existing role vocabulary + explainable surfaces), fanout/trace/runtime-aware routing parked as follow-ups. KEY DESIGN: pairwise keys never propagate (caller key authenticates only to the box dialed; proxy branch REPLACES Authorization with <PREFIX>_PEER_API_KEY = the peer own inbound key); single-hop loop guard via X-Lobes-Proxied marker family; proxied responses carry X-Lobes-Proxied-By; peer down => 503 Retry-After; peer role_infeasible => honest relay, never chain; /v1/models lists a proxied role only when a peer-readiness probe (peer /v1/models with peer key) passes; capabilities show proxied:true + hosted_by, feasible stays false. GOTCHA FOUND: fleet gateway had NO inbound auth at all (docs/gateway-fleet.md:376 known limitation) \u2014 CULTURE_VLLM_API_KEY only ever protected the legacy single-model path.", "scope": {"name": "lobes", "visibility": "public"}, "metadata": {"type": "decision", "record_metadata": {"source": "claude-code-session", "topic": "proxy-lobes", "relates_to": "issue-127, issue-115, issue-112", "date": "2026-07-16"}, "created": "2026-07-16T12:43:07.190007+00:00", "last_recall": "2026-09-12T21:26:02.712614+00:00", "recall_count": 7.5, "links": ["spark-serves-spark-lobe-no-audio-2026-07-14", "issue-112-one-lobe-per-box-specced"], "supersedes": null, "lifecycle": "active", "added_by": null}}
52
- {"id": "muse-role-gemma31b-design-2026-07-17", "hash": "e83179b7098e2c15e61485f58cb9f5c706ad94ef0eff525055a74b26ab3e1e78", "content": "muse role landed (PR #134, 0.46.0, 2026-07-17): the SEVENTH Colleague role \u2014 creative/ideation lobe, nvidia/Gemma-4-31B-IT-NVFP4 (NVIDIA modelopt NVFP4 \u2014 NOT compressed-tensors like the community 12B; 30.4 GiB weights; 256K native; plain-gemma4 line Gemma4ForConditionalGeneration with vision+audio configs; calibrated FP8 KV scales). KEY DESIGN: muse is the first OPT-IN CORE ROLE (shapes.OPT_IN_CORE_ROLES) \u2014 full Profile knobs (MUSE_* prefix, schema now 5 core roles) but machine-as-brain NEVER hosts it (31B cannot co-reside with cortex+senses on 128GB). DEFAULT_HOSTED_ROLES (6) = machine-as-brain identity set; COLLEAGUE_ROLES (7) = contract set. Byte-identity preserved: non-hosted opt-in core role renders NOTHING; gateway OPT_IN_BACKENDS rule makes unwired muse infeasible-by-default so model=muse on stale .env 404s role_infeasible instead of upward-fallback to cortex (the #92 trap). thor-muse shape carries the FULL muse declaration in [overrides.muse] (model + util 0.40 HYPOTHESIS + 131072 + modelopt + TRITON_ATTN); cards stay silent, base.toml vetoes. vllm-muse service is compose-profile-gated (COMPOSE_PROFILES=muse + MUSE_BASE_URL = the activation pair a hosting shape renders). MTP declared via google/gemma-4-31B-it-assistant (gemma4_assistant family) \u2014 UNMEASURED, first acceptance run gates it. Capability order: minor < multimodal < muse < primary (TIER_ROLE last-occurrence: muse inserted between senses and cortex). Deployment intent: Thor moves thor-lobe -> thor-muse; senses served by the ORIN (already live at orin.tail0be7e0.ts.net:8000 serving the 12B unauthenticated) with MULTIMODAL_PEER_ORIGIN + MULTIMODAL_PEER_PROXY=true on Thor. Everything muse is DECLARED/UNVALIDATED until accept-shape.sh thor-muse runs on the physical Thor (#108).", "scope": {"name": "lobes", "visibility": "public"}, "metadata": {"type": "decision", "record_metadata": {"topic": "muse-role", "relates_to": "PR-134, issue-81, issue-112", "date": "2026-07-17"}, "created": "2026-07-16T23:14:05.347710+00:00", "last_recall": "2026-09-12T21:26:02.712614+00:00", "recall_count": 6.0, "links": ["issue-112-one-lobe-per-box-specced", "issue-127-proxy-lobes-pairwise-auth-specced"], "supersedes": null, "lifecycle": "active", "added_by": null}}
52
+ {"id": "muse-role-gemma31b-design-2026-07-17", "hash": "e83179b7098e2c15e61485f58cb9f5c706ad94ef0eff525055a74b26ab3e1e78", "content": "muse role landed (PR #134, 0.46.0, 2026-07-17): the SEVENTH Colleague role \u2014 creative/ideation lobe, nvidia/Gemma-4-31B-IT-NVFP4 (NVIDIA modelopt NVFP4 \u2014 NOT compressed-tensors like the community 12B; 30.4 GiB weights; 256K native; plain-gemma4 line Gemma4ForConditionalGeneration with vision+audio configs; calibrated FP8 KV scales). KEY DESIGN: muse is the first OPT-IN CORE ROLE (shapes.OPT_IN_CORE_ROLES) \u2014 full Profile knobs (MUSE_* prefix, schema now 5 core roles) but machine-as-brain NEVER hosts it (31B cannot co-reside with cortex+senses on 128GB). DEFAULT_HOSTED_ROLES (6) = machine-as-brain identity set; COLLEAGUE_ROLES (7) = contract set. Byte-identity preserved: non-hosted opt-in core role renders NOTHING; gateway OPT_IN_BACKENDS rule makes unwired muse infeasible-by-default so model=muse on stale .env 404s role_infeasible instead of upward-fallback to cortex (the #92 trap). thor-muse shape carries the FULL muse declaration in [overrides.muse] (model + util 0.40 HYPOTHESIS + 131072 + modelopt + TRITON_ATTN); cards stay silent, base.toml vetoes. vllm-muse service is compose-profile-gated (COMPOSE_PROFILES=muse + MUSE_BASE_URL = the activation pair a hosting shape renders). MTP declared via google/gemma-4-31B-it-assistant (gemma4_assistant family) \u2014 UNMEASURED, first acceptance run gates it. Capability order: minor < multimodal < muse < primary (TIER_ROLE last-occurrence: muse inserted between senses and cortex). Deployment intent: Thor moves thor-lobe -> thor-muse; senses served by the ORIN (already live at orin.TAILNET.ts.net:8000 serving the 12B unauthenticated) with MULTIMODAL_PEER_ORIGIN + MULTIMODAL_PEER_PROXY=true on Thor. Everything muse is DECLARED/UNVALIDATED until accept-shape.sh thor-muse runs on the physical Thor (#108).", "scope": {"name": "lobes", "visibility": "public"}, "metadata": {"type": "decision", "record_metadata": {"topic": "muse-role", "relates_to": "PR-134, issue-81, issue-112", "date": "2026-07-17"}, "created": "2026-07-16T23:14:05.347710+00:00", "last_recall": "2026-09-12T21:26:02.712614+00:00", "recall_count": 6.0, "links": ["issue-112-one-lobe-per-box-specced", "issue-127-proxy-lobes-pairwise-auth-specced"], "supersedes": null, "lifecycle": "active", "added_by": null}}
53
53
  {"id": "thor-muse-live-bringup-20260717", "hash": "c73f9a932dff115c5c6ae1746e085edcbae9424c5efafffb3c01920d1c340d5f", "content": "thor-muse live bring-up lessons (2026-07-17, PR #134): (1) muse budget MEASURED on the physical Thor \u2014 util 0.40 refused (0.6 GiB KV left after the 262144-token profiling pass), util 0.55 boots healthy (26.47 GiB KV pool / 611,415 fp8 tokens / 2.33x concurrency at the full 256K window). (2) compose depends_on service_healthy can ORPHAN a dependent: vllm-embed crashed once during the concurrent cold boot (Available KV cache memory: -3.83 GiB), self-healed via its restart policy, but compose never retro-starts the dependent \u2014 vllm-muse sat in created state (Pid 0, no logs, invisible in docker ps) until a manual `lobes up muse --apply`; with deps healthy the 31B loads in ~6.5 min. (3) Status discipline: the budget is measured but the thor-muse shape stays UNVALIDATED until scripts/accept-shape.sh passes and its transcript lands in docs/evidence/ (#108) \u2014 that acceptance run is the open follow-up.", "scope": {"name": "lobes", "visibility": "public"}, "metadata": {"type": "note", "record_metadata": {"source": "PR #134 live bring-up", "repo": "lobes-cli", "machine": "thor"}, "created": "2026-07-17T03:05:37.994416+00:00", "last_recall": "2026-07-31T13:22:44.488792+00:00", "recall_count": 1.0, "links": [], "supersedes": null, "lifecycle": "active", "added_by": null}}
54
54
  {"id": "spark-proxy-golive-senses-orin-muse-thor-20260717", "hash": "fcea0b2d605daa116476a6ea9a918c8a83a7bd30c51a3ecc0ee9533596e8487d", "content": "Spark GB10 proxy wiring (2026-07-17, lobes 0.46.0): senses->orin and muse->thor are both live on the spark-lobe box. TWO TRAPS COST TIME. (1) COMPOSE PASSTHROUGH: a deployed docker-compose.yml scaffolded by an OLDER lobes has no MUSE_* passthrough in the gateway service, so MUSE_PEER_ORIGIN/PROXY in .env silently never reach the container and the proxy will NOT arm even with a 0.46.0 gateway image \u2014 /capabilities shows muse proxied=None. The deployed compose here was a 0.45.0 template HAND-PATCHED during the #127 proxy test (4 added lines: GATEWAY_API_KEY, CULTURE_VLLM_API_KEY, MULTIMODAL_PEER_PROXY, MULTIMODAL_PEER_API_KEY). Fix = copy the packaged FLEET template (templates/fleet/docker-compose.yml, NOT the top-level single-model one) over it; only 3 stale comment lines were lost. Bump MODEL_GEAR_VERSION too \u2014 it pins the gateway image's pip lobes-cli. (2) SHAPE-OVERRIDE TRAP: NEVER run bare `docker compose up -d --build gateway` in ~/.lobes \u2014 the gateway's base depends_on fans out to every core service, so without `-f docker-compose.shape.yml` the DROPPED vllm-multimodal boots and eats the reclaimed GPU budget, and cortex gets recreated (27B reload). Always pass -f docker-compose.yml -f docker-compose.shape.yml. `lobes fleet up --apply` is the intended path but is BROKEN on this box: it auto-includes docker-compose.audio.yml which references a missing Dockerfile.chatterbox. AUTH STATE: thor was re-scaffolded to thor-muse and now sets NO inbound key, so its old key mg-6kYbjF1... is STALE; both MUSE_PEER_API_KEY and MULTIMODAL_PEER_API_KEY are deliberately EMPTY (never send a key to a box with no gate). This Spark DOES gate inbound via CULTURE_VLLM_API_KEY \u2014 callers get 401 without it. VERIFIED: senses 200 + X-Lobes-Proxied-By orin (text 17+25=42, vision identified a circle); muse honest 503 backend_unavailable while thor's muse is down. STT (parakeet, model-gear-stt) works standalone on 127.0.0.1:9002 (perfect JFK transcription) but is NOT gateway-exposed \u2014 AUDIO_URL is empty so /v1/audio/* 404s 'audio endpoints are not configured'; the gateway fans audio to the realtime bridge, which this box never built. UPDATE (same day, ~06:40 local): thor muse FINISHED BOOTING and muse->thor now serves 200 OK end-to-end (model nvidia/Gemma-4-31B-IT-NVFP4, X-Lobes-Proxied-By thor, vivid creative reply); /capabilities muse ready=true proxied=true, /v1/models lists both proxied peers. FIRST LIVE BOOT of the muse role \u2014 but it did NOT validate the shipped thor-muse.toml: the live Thor runs HAND-TUNED MUSE_GPU_MEM_UTIL=0.55 / MUSE_MAX_MODEL_LEN=262144, whereas the built-in shape ships the UNPROVEN hypothesis 0.40 / 131072. So lobes init --shape thor-muse renders values that have never booted, while the values that did boot are not in the shape. Reconcile before any doc/support-table claims thor-muse validated (#108 rule). Thor muse boot profile: engine init 200.51s (compilation 79.53s), ~95/122 GB system mem used, MTP draft google/gemma-4-31B-it-assistant armed via --speculative-config. Three-box mesh brain now whole: Spark cortex + Orin senses + Thor muse, one endpoint.", "scope": {"name": "lobes", "visibility": "public"}, "metadata": {"type": "fact", "record_metadata": {"box": "spark", "topic": "proxy-lobes-golive", "relates_to": "issue-115, issue-127, PR-134", "date": "2026-07-17"}, "created": "2026-07-17T03:45:05.791703+00:00", "last_recall": "2026-09-12T21:26:02.712614+00:00", "recall_count": 13.5, "links": [], "supersedes": null, "lifecycle": "active", "added_by": null}}
55
55
  {"id": "lobes-init-apply-is-not-a-repair-path", "hash": "d4e7cf97c5624eae62ba0d2bede92a7db832086d60703a72a770776bace9481e", "content": "lobes init --audio --apply is NOT a repair path for a partially-scaffolded deployment. write_scaffold (lobes/runtime/_compose.py:322) refuses when ANY target file already exists ('re-run with --force'), and --force then overwrites EVERY template including .env -- which on a live box destroys the shape reclaim values, the *_PEER_* proxy config and the gateway API key. To heal a partial scaffold, hand-copy the missing files from the installed wheel's lobes/templates/fleet/ and append only the missing keys from env.audio.example. Skip HF_CACHE when appending: docker compose env_file semantics let the LAST duplicate key win, so appending a blank HF_CACHE= would clobber a real value. Found 2026-07-17 repairing the Spark audio overlay, where Dockerfile.chatterbox + Dockerfile.realtime and ALL audio .env keys were missing (append_audio_env had never run), which is why chatterbox/realtime never built and the gateway had AUDIO_URL empty.", "scope": {"name": "lobes", "visibility": "public"}, "metadata": {"type": "note", "record_metadata": {"source": "session-2026-07-17", "area": "init/scaffold", "repo": "lobes-cli"}, "created": "2026-07-17T04:26:47.471525+00:00", "last_recall": "2026-08-31T06:22:44.376041+00:00", "recall_count": 5.0, "links": [], "supersedes": null, "lifecycle": "active", "added_by": null}}
@@ -4,6 +4,12 @@ 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.84.3] - 2026-10-07
8
+
9
+ ### Changed
10
+
11
+ - Scrub the fleet tailnet MagicDNS name (now TAILNET) and three real tailnet IPs (now 100.64.0.10-12) from committed docs, evidence, devague/eidetic records, code comments, templates and test fixtures (#301); the env.example mesh test now rejects any `*.tail<hex>.ts.net` name; the orin-embed deployment lock digest is re-captured for its comment-only change.
12
+
7
13
  ## [0.84.2] - 2026-10-07
8
14
 
9
15
  ### Added
@@ -162,7 +168,7 @@ adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html).
162
168
 
163
169
  ### Added
164
170
 
165
- - `INNEREYE_UI_PORT` — an opt-in, default-OFF knob that publishes ComfyUI's own web UI. A bare port number binds loopback (`127.0.0.1:PORT:8188`); a wider bind must be typed as an explicit interface (`100.127.105.72:8188`). Rendered by `lobes init --apply` into the generated `docker-compose.shape.yml`, never a hand-written override, and never parsed into an int (issue #272). Unset, the rendered deployment is byte-identical to before the knob existed.
171
+ - `INNEREYE_UI_PORT` — an opt-in, default-OFF knob that publishes ComfyUI's own web UI. A bare port number binds loopback (`127.0.0.1:PORT:8188`); a wider bind must be typed as an explicit interface (`100.64.0.10:8188`). Rendered by `lobes init --apply` into the generated `docker-compose.shape.yml`, never a hand-written override, and never parsed into an int (issue #272). Unset, the rendered deployment is byte-identical to before the knob existed.
166
172
  - `lobes.runtime._compose.shape_parked_service_keys` — reads the shape overlay's dropped-profile MARKER instead of bare service presence.
167
173
 
168
174
  ### Changed
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.5
2
2
  Name: lobes-cli
3
- Version: 0.84.2
3
+ Version: 0.84.3
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
@@ -74,7 +74,7 @@ WORKER_FEASIBLE = "false"
74
74
  "docker-compose.gpu.yml" = "sha256:9a725dc59144280c882d73ab4eeab86ad3acf7bf0cd37c82f83d64748282cbd2"
75
75
  "docker-compose.override.yml" = "sha256:6a93a0570994feaba56f63457ea86313dcf228df73a4c9363b3bdc2f4d716b1b"
76
76
  "docker-compose.shape.yml" = "sha256:142e558ed662d552e009d773b41af0c838f60cb443258bb38cc6ac70261c4dc0"
77
- "docker-compose.yml" = "sha256:9433061bed261ff64f781896b6c8a3fe19874b86a621887ef71f2bf3bb7ff265"
77
+ "docker-compose.yml" = "sha256:9f429dc24787663cfa45507efa5aa9b2c79e49f05ef20eab8c7056ceddc9e8f5"
78
78
  "mg-logwrap.sh" = "sha256:fd9dfb7d30cee5d8e3045201ecb9c99ee3b1e82c5d397a1b993c99f0006e0ee0"
79
79
  "qwen3_reranker.jinja" = "sha256:e1ee98e69aab7b2da366edf1c50efcef37e34b4a0c50fb816336213e68d9047a"
80
80
  "qwen3_thinking_tool_parser.py" = "sha256:22a030552d033b897316ca2d0aa75ccac53dc955fe9ddd6c614b75c684338130"
@@ -1716,7 +1716,7 @@ services:
1716
1716
  # smuggled): the recipe's `--network host` is NOT inherited. Running it
1717
1717
  # verbatim during the 2026-08-25 spike put an uncredentialed 30B generate
1718
1718
  # endpoint on this box's tailnet, and within seconds two distinct tailnet
1719
- # peers queried it unprompted (100.127.105.72 and 100.105.216.63 — see
1719
+ # peers queried it unprompted (100.64.0.10 and 100.64.0.11 — see
1720
1720
  # docs/evidence/2026-08-25-spike-lightning-vllm-orin.txt and the writeup
1721
1721
  # in docs/evidence/2026-08-26-associate-gateway-auth-front.txt).
1722
1722
  #
@@ -188,7 +188,7 @@ facade exposes.
188
188
  | value | rendered bind |
189
189
  |---|---|
190
190
  | `INNEREYE_UI_PORT=8188` | `127.0.0.1:8188:8188` — **loopback only** |
191
- | `INNEREYE_UI_PORT=100.127.105.72:8188` | `100.127.105.72:8188:8188` — that interface only |
191
+ | `INNEREYE_UI_PORT=100.64.0.10:8188` | `100.64.0.10:8188:8188` — that interface only |
192
192
 
193
193
  A bare port number binds loopback, never `0.0.0.0`. A wider bind (a LAN
194
194
  address, a tailnet address, or `0.0.0.0` itself) has to be typed as an
@@ -219,7 +219,7 @@ truth about what gets published, so the value has to *be* an address, not an
219
219
  expression that becomes one later. The accepted grammar:
220
220
 
221
221
  - **port** — 1 to 65535, digits only. A bare port binds `127.0.0.1`.
222
- - **interface** — an IPv4 address (`100.127.105.72`), a hostname
222
+ - **interface** — an IPv4 address (`100.64.0.10`), a hostname
223
223
  (`localhost`, `host.example`), or a **bracketed** IPv6 literal
224
224
  (`[::1]:8188`, with an optional `%zone`).
225
225
  - nothing else. Anything outside `[A-Za-z0-9.\-:\[\]%]` is refused, which
@@ -110,7 +110,7 @@ Quoted verbatim from the `devague summary` skeleton:
110
110
 
111
111
  ## Remaining Work / Follow-up
112
112
 
113
- - **`t13` cross-box leg (`d4`)** — declare `WORKER_PEER_ORIGIN`/`_PEER_PROXY`/`_PEER_API_KEY` on the Spark (and the Orin) pointing at `http://thor.tail0be7e0.ts.net:8000`, then re-probe for `X-Lobes-Proxied-By`. **Operator action on those boxes** — this box has no SSH access.
113
+ - **`t13` cross-box leg (`d4`)** — declare `WORKER_PEER_ORIGIN`/`_PEER_PROXY`/`_PEER_API_KEY` on the Spark (and the Orin) pointing at `http://thor.TAILNET.ts.net:8000`, then re-probe for `X-Lobes-Proxied-By`. **Operator action on those boxes** — this box has no SSH access.
114
114
  - **`thor-worker.toml` is behind deployed reality (`d5`)** — it commits `max_model_len=65536`; the box serves 262144. Re-point the shape and regenerate its goldens.
115
115
  - **The deployed compose is hand-patched (`d6`)** — reconcile `~/.lobes/docker-compose.yml` with the packaged template, or capture it as a `deployment.lock.toml` variation (#214).
116
116
  - **`hand` is unservable mesh-wide (`d3`)** — the Thor's `HAND_PEER_ORIGIN` points at the Spark, which declares it infeasible; only the Orin declares it feasible and its lane is not running. Repoint and start it, or document the floor's absence mesh-wide.
@@ -9,10 +9,10 @@
9
9
  method : the serving machine-as-brain fleet stays up; this branch's gateway runs from source
10
10
  on :8100 with the thor-lobe feasibility env (PRIMARY_FEASIBLE=false) against the SAME
11
11
  live vLLM lanes (senses/embedder/reranker container IPs), peer origin operator-declared:
12
- PRIMARY_PEER_ORIGIN=http://spark.tail0be7e0.ts.net:8001 (the real peer that hosts cortex).
12
+ PRIMARY_PEER_ORIGIN=http://spark.TAILNET.ts.net:8001 (the real peer that hosts cortex).
13
13
 
14
14
  === check 1: GET /capabilities — dropped cortex is flagged, not hidden, and carries the referral ===
15
- cortex feasible=False ready=False hosted_by=http://spark.tail0be7e0.ts.net:8001
15
+ cortex feasible=False ready=False hosted_by=http://spark.TAILNET.ts.net:8001
16
16
  senses feasible=True ready=True hosted_by=-
17
17
  embedder feasible=True ready=True hosted_by=-
18
18
  reranker feasible=True ready=True hosted_by=-
@@ -23,12 +23,12 @@
23
23
  PASS no cortex alias advertised
24
24
 
25
25
  === check 3: POST for each dropped alias -> 404 role_infeasible carrying the referral (never rerouted) ===
26
- PASS model=main -> 404 role_infeasible, hosted_by=http://spark.tail0be7e0.ts.net:8001
27
- message: The model `main` is not feasible on this machine — its backend (`primary`) is declared hardware-infeasible by this deployment's per-machine profile and will never be served here. It is hosted by the peer at `http://spark.tail0be7e0.ts.net:8001` — address that box directly; this gateway never proxies requests to peers.
28
- PASS model=hard -> 404 role_infeasible, hosted_by=http://spark.tail0be7e0.ts.net:8001
29
- message: The model `hard` is not feasible on this machine — its backend (`primary`) is declared hardware-infeasible by this deployment's per-machine profile and will never be served here. It is hosted by the peer at `http://spark.tail0be7e0.ts.net:8001` — address that box directly; this gateway never proxies requests to peers.
30
- PASS model=cortex -> 404 role_infeasible, hosted_by=http://spark.tail0be7e0.ts.net:8001
31
- message: The model `cortex` is not feasible on this machine — its backend (`primary`) is declared hardware-infeasible by this deployment's per-machine profile and will never be served here. It is hosted by the peer at `http://spark.tail0be7e0.ts.net:8001` — address that box directly; this gateway never proxies requests to peers.
26
+ PASS model=main -> 404 role_infeasible, hosted_by=http://spark.TAILNET.ts.net:8001
27
+ message: The model `main` is not feasible on this machine — its backend (`primary`) is declared hardware-infeasible by this deployment's per-machine profile and will never be served here. It is hosted by the peer at `http://spark.TAILNET.ts.net:8001` — address that box directly; this gateway never proxies requests to peers.
28
+ PASS model=hard -> 404 role_infeasible, hosted_by=http://spark.TAILNET.ts.net:8001
29
+ message: The model `hard` is not feasible on this machine — its backend (`primary`) is declared hardware-infeasible by this deployment's per-machine profile and will never be served here. It is hosted by the peer at `http://spark.TAILNET.ts.net:8001` — address that box directly; this gateway never proxies requests to peers.
30
+ PASS model=cortex -> 404 role_infeasible, hosted_by=http://spark.TAILNET.ts.net:8001
31
+ message: The model `cortex` is not feasible on this machine — its backend (`primary`) is declared hardware-infeasible by this deployment's per-machine profile and will never be served here. It is hosted by the peer at `http://spark.TAILNET.ts.net:8001` — address that box directly; this gateway never proxies requests to peers.
32
32
 
33
33
  === check 4: hosted roles serve LIVE through the same gateway (advertised implies reachable) ===
34
34
  senses (model=multimodal, coolthor/gemma-4-12B-it-NVFP4A16): 'Blue'
@@ -46,7 +46,7 @@
46
46
 
47
47
  === check 5: the brain stays whole — a consumer follows the referral and reaches cortex on the peer ===
48
48
  (dialing the referral origin DIRECTLY, as the 404 message instructs — this gateway did not proxy)
49
- cortex via http://spark.tail0be7e0.ts.net:8001 (model=sakamakismile/Qwen3.6-27B-Text-NVFP4-MTP): 'cortex-on-spark-alive'
49
+ cortex via http://spark.TAILNET.ts.net:8001 (model=sakamakismile/Qwen3.6-27B-Text-NVFP4-MTP): 'cortex-on-spark-alive'
50
50
  PASS every role of the brain reachable across the two boxes (direct + referral)
51
51
 
52
52
  === check 6: shape moves are byte-for-byte restorable (scratch deployment dir, no containers) ===
@@ -62,7 +62,7 @@
62
62
  === verdict ===
63
63
  PASS — the #112 t5 Thor-side surface is live-validated on the physical Jetson AGX Thor:
64
64
  - referral: capabilities hosted_by + 404 role_infeasible referral for every dropped-cortex alias,
65
- origin operator-declared (http://spark.tail0be7e0.ts.net:8001), gateway never proxies
65
+ origin operator-declared (http://spark.TAILNET.ts.net:8001), gateway never proxies
66
66
  - hosted lanes live through the same gateway: senses known-answer, embedder 1024-dim vector
67
67
  - whole brain across boxes: cortex answered a direct consumer request on the referral origin
68
68
  - shape moves byte-for-byte restorable (machine-as-brain -> thor-lobe -> machine-as-brain)
@@ -54,7 +54,7 @@ Re-run with --apply to write.
54
54
  >> next: docker login nvcr.io && lobes fleet up --apply
55
55
 
56
56
  === phase 2a2: operator env overrides ===
57
- PRIMARY_PEER_ORIGIN=http://spark.tail0be7e0.ts.net:8001
57
+ PRIMARY_PEER_ORIGIN=http://spark.TAILNET.ts.net:8001
58
58
 
59
59
  === phase 2b: dev lane — MODEL_GEAR_VERSION=0.43.0.dev239 via https://test.pypi.org/simple/ ===
60
60
  pinned (documented operator vars — see Dockerfile.gateway)
@@ -76,8 +76,8 @@ fleet healthy after 282s
76
76
  PASS POST model=hard -> 404 role_infeasible (never rerouted)
77
77
 
78
78
  === phase 4b: honest referral (opt-in peer origins) ===
79
- PASS gateway /capabilities: cortex hosted_by http://spark.tail0be7e0.ts.net:8001
80
- PASS CLI capabilities: cortex hosted_by http://spark.tail0be7e0.ts.net:8001
79
+ PASS gateway /capabilities: cortex hosted_by http://spark.TAILNET.ts.net:8001
80
+ PASS CLI capabilities: cortex hosted_by http://spark.TAILNET.ts.net:8001
81
81
  PASS POST model=cortex -> 404 body carries the referral
82
82
 
83
83
  === phase 5: correctness probes ===
@@ -11,7 +11,7 @@ Deployment under test
11
11
  mounted at /opt/lobes/qwen3_thinking_tool_parser.py, --tool-parser-plugin)
12
12
  - gateway : lobes-cli 0.44.0, GATEWAY_FORCE_STRICT_TOOLS=1 (opt-in knob armed)
13
13
  - senses : DROPPED (spark-lobe), honest referral MULTIMODAL_PEER_ORIGIN=
14
- http://thor.tail0be7e0.ts.net:8000 — capabilities: feasible=false,
14
+ http://thor.TAILNET.ts.net:8000 — capabilities: feasible=false,
15
15
  hosted_by=<thor>; per-alias 404 role_infeasible names the peer
16
16
  - stt/tts : declared, sleeping (feasible=true, ready=false, loaded=false)
17
17
  - embedder/reranker: co-resident, probes PASS (embed sim 0.894/0.23; rerank top_index 0)
@@ -6,7 +6,7 @@ bridge: lobes-cli 0.54.0 built from branch spec/151-realtime-voice-to-voice
6
6
  (local wheel layered over the deployed image — 0.54.0 is not on PyPI yet)
7
7
  gateway: http://localhost:8001 (unchanged, 0.52.3 — this work has a zero-line gateway diff)
8
8
  voice lane: OPENAI_MODEL empty -> resolves to 'multimodal', served via MULTIMODAL_PEER_PROXY
9
- to http://orin.tail0be7e0.ts.net:8000 (senses is dropped on this shape)
9
+ to http://orin.TAILNET.ts.net:8000 (senses is dropped on this shape)
10
10
 
11
11
  ## 0. Preconditions
12
12
 
@@ -17,11 +17,11 @@ cortex sakamakismile/Qwen3.6-27B-Text-NVFP4-MTP 262144 yes h
17
17
  responsibilities: reasoning, deciding, planning, tool_use, code_repo_actions, validation, final_authority
18
18
  senses coolthor/gemma-4-12B-it-NVFP4A16 32768 by-proxy http://localhost:8001
19
19
  ** infeasible on this machine — never served here **
20
- proxied via this gateway from peer: http://orin.tail0be7e0.ts.net:8000
20
+ proxied via this gateway from peer: http://orin.TAILNET.ts.net:8000
21
21
  responsibilities: intake, normalize_input, classify_intent, prepare_context_packet, speak_back
22
22
  muse nvidia/Gemma-4-31B-IT-NVFP4 262144 by-proxy http://localhost:8001
23
23
  ** infeasible on this machine — never served here **
24
- proxied via this gateway from peer: http://thor.tail0be7e0.ts.net:8000
24
+ proxied via this gateway from peer: http://thor.TAILNET.ts.net:8000
25
25
  responsibilities: creative_generation, long_form_writing, ideation, style_variation, divergent_second_opinion, tool_use
26
26
  embedder Qwen/Qwen3-Embedding-0.6B 8192 yes http://localhost:8001
27
27
  responsibilities: vectorization, memory_retrieval_input
@@ -34,8 +34,8 @@ tts ResembleAI/chatterbox 0 yes h
34
34
 
35
35
  --- [2] gateway JSON: loaded is STILL a bool for every role ---
36
36
  cortex loaded=True (type=bool) feasible=True proxied=None hosted_by=None
37
- senses loaded=True (type=bool) feasible=False proxied=True hosted_by=http://orin.tail0be7e0.ts.net:8000
38
- muse loaded=False (type=bool) feasible=False proxied=True hosted_by=http://thor.tail0be7e0.ts.net:8000
37
+ senses loaded=True (type=bool) feasible=False proxied=True hosted_by=http://orin.TAILNET.ts.net:8000
38
+ muse loaded=False (type=bool) feasible=False proxied=True hosted_by=http://thor.TAILNET.ts.net:8000
39
39
  embedder loaded=True (type=bool) feasible=True proxied=None hosted_by=None
40
40
  reranker loaded=True (type=bool) feasible=True proxied=None hosted_by=None
41
41
  stt loaded=True (type=bool) feasible=True proxied=None hosted_by=None
@@ -44,20 +44,20 @@ tts ResembleAI/chatterbox 0 yes h
44
44
  WIRE CONTRACT: UNCHANGED — every loaded is a bool
45
45
 
46
46
  --- [3] the toggle-proof: display does NOT track local wiring (h7/h9) ---
47
- senses loaded=True -> table reads by-proxy (peer: http://orin.tail0be7e0.ts.net:8000)
48
- muse loaded=False -> table reads by-proxy (peer: http://thor.tail0be7e0.ts.net:8000)
47
+ senses loaded=True -> table reads by-proxy (peer: http://orin.TAILNET.ts.net:8000)
48
+ muse loaded=False -> table reads by-proxy (peer: http://thor.TAILNET.ts.net:8000)
49
49
 
50
50
  PROOF: loaded DIFFERS across proxied roles, yet both render by-proxy — the display is independent of local wiring.
51
51
 
52
52
  --- [4] traffic did not move: live POST per proxied role (h10) ---
53
53
  model=senses
54
54
  HTTP/1.1 200 OK
55
- X-Lobes-Proxied-By: http://orin.tail0be7e0.ts.net:8000
55
+ X-Lobes-Proxied-By: http://orin.TAILNET.ts.net:8000
56
56
  served model: coolthor/gemma-4-12B-it-NVFP4A16
57
57
  finish: stop | content: 'The ocean is vast and deep.'
58
58
  model=muse
59
59
  HTTP/1.1 200 OK
60
- X-Lobes-Proxied-By: http://thor.tail0be7e0.ts.net:8000
60
+ X-Lobes-Proxied-By: http://thor.TAILNET.ts.net:8000
61
61
  served model: nvidia/Gemma-4-31B-IT-NVFP4
62
62
  finish: stop | content: 'The ocean is vast and deep.'
63
63