lobes-cli 0.76.0__tar.gz → 0.76.1__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 (863) hide show
  1. {lobes_cli-0.76.0 → lobes_cli-0.76.1}/.devague/deliveries/mesh-brain-join.json +58 -1
  2. {lobes_cli-0.76.0 → lobes_cli-0.76.1}/CHANGELOG.md +6 -0
  3. {lobes_cli-0.76.0 → lobes_cli-0.76.1}/PKG-INFO +1 -1
  4. {lobes_cli-0.76.0 → lobes_cli-0.76.1}/docs/deliveries/2026-09-11-mesh-brain-join.md +6 -5
  5. {lobes_cli-0.76.0 → lobes_cli-0.76.1}/docs/evidence/2026-09-12-accept-mesh-brain-join-fleet.txt +177 -0
  6. {lobes_cli-0.76.0 → lobes_cli-0.76.1}/pyproject.toml +1 -1
  7. {lobes_cli-0.76.0 → lobes_cli-0.76.1}/uv.lock +1 -1
  8. {lobes_cli-0.76.0 → lobes_cli-0.76.1}/.agex/data/pr/events.jsonl +0 -0
  9. {lobes_cli-0.76.0 → lobes_cli-0.76.1}/.claude/skills/ask-colleague/SKILL.md +0 -0
  10. {lobes_cli-0.76.0 → lobes_cli-0.76.1}/.claude/skills/ask-colleague/prompts/explore.md +0 -0
  11. {lobes_cli-0.76.0 → lobes_cli-0.76.1}/.claude/skills/ask-colleague/prompts/review.md +0 -0
  12. {lobes_cli-0.76.0 → lobes_cli-0.76.1}/.claude/skills/ask-colleague/prompts/write.md +0 -0
  13. {lobes_cli-0.76.0 → lobes_cli-0.76.1}/.claude/skills/ask-colleague/scripts/ask-colleague.sh +0 -0
  14. {lobes_cli-0.76.0 → lobes_cli-0.76.1}/.claude/skills/assign-to-workforce/SKILL.md +0 -0
  15. {lobes_cli-0.76.0 → lobes_cli-0.76.1}/.claude/skills/assign-to-workforce/scripts/assign-to-workforce.sh +0 -0
  16. {lobes_cli-0.76.0 → lobes_cli-0.76.1}/.claude/skills/challenge/SKILL.md +0 -0
  17. {lobes_cli-0.76.0 → lobes_cli-0.76.1}/.claude/skills/cicd/SKILL.md +0 -0
  18. {lobes_cli-0.76.0 → lobes_cli-0.76.1}/.claude/skills/cicd/scripts/_resolve-nick.sh +0 -0
  19. {lobes_cli-0.76.0 → lobes_cli-0.76.1}/.claude/skills/cicd/scripts/portability-lint.sh +0 -0
  20. {lobes_cli-0.76.0 → lobes_cli-0.76.1}/.claude/skills/cicd/scripts/pr-reply.sh +0 -0
  21. {lobes_cli-0.76.0 → lobes_cli-0.76.1}/.claude/skills/cicd/scripts/pr-status.sh +0 -0
  22. {lobes_cli-0.76.0 → lobes_cli-0.76.1}/.claude/skills/cicd/scripts/workflow.sh +0 -0
  23. {lobes_cli-0.76.0 → lobes_cli-0.76.1}/.claude/skills/communicate/SKILL.md +0 -0
  24. {lobes_cli-0.76.0 → lobes_cli-0.76.1}/.claude/skills/communicate/scripts/fetch-issues.sh +0 -0
  25. {lobes_cli-0.76.0 → lobes_cli-0.76.1}/.claude/skills/communicate/scripts/mesh-message.sh +0 -0
  26. {lobes_cli-0.76.0 → lobes_cli-0.76.1}/.claude/skills/communicate/scripts/post-comment.sh +0 -0
  27. {lobes_cli-0.76.0 → lobes_cli-0.76.1}/.claude/skills/communicate/scripts/post-issue.sh +0 -0
  28. {lobes_cli-0.76.0 → lobes_cli-0.76.1}/.claude/skills/communicate/scripts/templates/skill-update-brief.md +0 -0
  29. {lobes_cli-0.76.0 → lobes_cli-0.76.1}/.claude/skills/deviate/SKILL.md +0 -0
  30. {lobes_cli-0.76.0 → lobes_cli-0.76.1}/.claude/skills/doc-test-alignment/SKILL.md +0 -0
  31. {lobes_cli-0.76.0 → lobes_cli-0.76.1}/.claude/skills/doc-test-alignment/scripts/check.sh +0 -0
  32. {lobes_cli-0.76.0 → lobes_cli-0.76.1}/.claude/skills/model-runner/SKILL.md +0 -0
  33. {lobes_cli-0.76.0 → lobes_cli-0.76.1}/.claude/skills/model-runner/scripts/model-runner.sh +0 -0
  34. {lobes_cli-0.76.0 → lobes_cli-0.76.1}/.claude/skills/recall/SKILL.md +0 -0
  35. {lobes_cli-0.76.0 → lobes_cli-0.76.1}/.claude/skills/recall/scripts/recall.sh +0 -0
  36. {lobes_cli-0.76.0 → lobes_cli-0.76.1}/.claude/skills/remember/SKILL.md +0 -0
  37. {lobes_cli-0.76.0 → lobes_cli-0.76.1}/.claude/skills/remember/scripts/remember.sh +0 -0
  38. {lobes_cli-0.76.0 → lobes_cli-0.76.1}/.claude/skills/run-tests/SKILL.md +0 -0
  39. {lobes_cli-0.76.0 → lobes_cli-0.76.1}/.claude/skills/run-tests/scripts/test.sh +0 -0
  40. {lobes_cli-0.76.0 → lobes_cli-0.76.1}/.claude/skills/scope/SKILL.md +0 -0
  41. {lobes_cli-0.76.0 → lobes_cli-0.76.1}/.claude/skills/sonarclaude/SKILL.md +0 -0
  42. {lobes_cli-0.76.0 → lobes_cli-0.76.1}/.claude/skills/sonarclaude/scripts/sonar.sh +0 -0
  43. {lobes_cli-0.76.0 → lobes_cli-0.76.1}/.claude/skills/spec-to-plan/SKILL.md +0 -0
  44. {lobes_cli-0.76.0 → lobes_cli-0.76.1}/.claude/skills/spec-to-plan/scripts/spec-to-plan.sh +0 -0
  45. {lobes_cli-0.76.0 → lobes_cli-0.76.1}/.claude/skills/summarize-delivery/SKILL.md +0 -0
  46. {lobes_cli-0.76.0 → lobes_cli-0.76.1}/.claude/skills/think/SKILL.md +0 -0
  47. {lobes_cli-0.76.0 → lobes_cli-0.76.1}/.claude/skills/think/scripts/think.sh +0 -0
  48. {lobes_cli-0.76.0 → lobes_cli-0.76.1}/.claude/skills/validate-delivery/SKILL.md +0 -0
  49. {lobes_cli-0.76.0 → lobes_cli-0.76.1}/.claude/skills/version-bump/SKILL.md +0 -0
  50. {lobes_cli-0.76.0 → lobes_cli-0.76.1}/.claude/skills/version-bump/scripts/bump.py +0 -0
  51. {lobes_cli-0.76.0 → lobes_cli-0.76.1}/.claude/skills.local.yaml.example +0 -0
  52. {lobes_cli-0.76.0 → lobes_cli-0.76.1}/.devague/current +0 -0
  53. {lobes_cli-0.76.0 → lobes_cli-0.76.1}/.devague/current_plan +0 -0
  54. {lobes_cli-0.76.0 → lobes_cli-0.76.1}/.devague/deliveries/capacity-relative-pool-routing.json +0 -0
  55. {lobes_cli-0.76.0 → lobes_cli-0.76.1}/.devague/deliveries/cortex-replica-pool-199.json +0 -0
  56. {lobes_cli-0.76.0 → lobes_cli-0.76.1}/.devague/deliveries/deployment-lock-per-box.json +0 -0
  57. {lobes_cli-0.76.0 → lobes_cli-0.76.1}/.devague/deliveries/dspark-speculation-on-the-spark-cortex.json +0 -0
  58. {lobes_cli-0.76.0 → lobes_cli-0.76.1}/.devague/deliveries/every-lobe-in-the-mesh-can-see-the-spark-reaches-t.json +0 -0
  59. {lobes_cli-0.76.0 → lobes_cli-0.76.1}/.devague/deliveries/hand-lobe-lfm2-5-1-2b.json +0 -0
  60. {lobes_cli-0.76.0 → lobes_cli-0.76.1}/.devague/deliveries/lightning-on-orin.json +0 -0
  61. {lobes_cli-0.76.0 → lobes_cli-0.76.1}/.devague/deliveries/lobes-capabilities-tells-you-where-a-lobe-is-serve.json +0 -0
  62. {lobes_cli-0.76.0 → lobes_cli-0.76.1}/.devague/deliveries/nemotron-lightning-worker.json +0 -0
  63. {lobes_cli-0.76.0 → lobes_cli-0.76.1}/.devague/deliveries/qwen3-8-gguf-llamacpp.json +0 -0
  64. {lobes_cli-0.76.0 → lobes_cli-0.76.1}/.devague/deliveries/realtime-voice-to-voice-astro-test-site-151.json +0 -0
  65. {lobes_cli-0.76.0 → lobes_cli-0.76.1}/.devague/deliveries/reranker-calibration-227.json +0 -0
  66. {lobes_cli-0.76.0 → lobes_cli-0.76.1}/.devague/deliveries/thor-cortex-speculation.json +0 -0
  67. {lobes_cli-0.76.0 → lobes_cli-0.76.1}/.devague/deliveries/thor-worker-arm-qwen3-6-35b-a3b-recipes.json +0 -0
  68. {lobes_cli-0.76.0 → lobes_cli-0.76.1}/.devague/deliveries/unsloth-qat-senses-first-class-orin-variation.json +0 -0
  69. {lobes_cli-0.76.0 → lobes_cli-0.76.1}/.devague/frames/capacity-relative-pool-routing.json +0 -0
  70. {lobes_cli-0.76.0 → lobes_cli-0.76.1}/.devague/frames/chatterbox-on-thor-sm-110.json +0 -0
  71. {lobes_cli-0.76.0 → lobes_cli-0.76.1}/.devague/frames/compose-chain-unification-init-repair-doctor-stale.json +0 -0
  72. {lobes_cli-0.76.0 → lobes_cli-0.76.1}/.devague/frames/cortex-replica-pool-199.json +0 -0
  73. {lobes_cli-0.76.0 → lobes_cli-0.76.1}/.devague/frames/deployment-lock-per-box.json +0 -0
  74. {lobes_cli-0.76.0 → lobes_cli-0.76.1}/.devague/frames/dspark-speculation-on-the-spark-cortex.json +0 -0
  75. {lobes_cli-0.76.0 → lobes_cli-0.76.1}/.devague/frames/every-lobe-in-the-mesh-can-see-the-spark-reaches-t.json +0 -0
  76. {lobes_cli-0.76.0 → lobes_cli-0.76.1}/.devague/frames/flash-next-on-vllm.json +0 -0
  77. {lobes_cli-0.76.0 → lobes_cli-0.76.1}/.devague/frames/hand-lobe-lfm2-5-1-2b.json +0 -0
  78. {lobes_cli-0.76.0 → lobes_cli-0.76.1}/.devague/frames/lightning-on-orin.json +0 -0
  79. {lobes_cli-0.76.0 → lobes_cli-0.76.1}/.devague/frames/lobes-adds-a-third-middle-model-tier-and-pressure.json +0 -0
  80. {lobes_cli-0.76.0 → lobes_cli-0.76.1}/.devague/frames/lobes-capabilities-tells-you-where-a-lobe-is-serve.json +0 -0
  81. {lobes_cli-0.76.0 → lobes_cli-0.76.1}/.devague/frames/lobes-exposes-the-full-colleague-runtime-stack-as.json +0 -0
  82. {lobes_cli-0.76.0 → lobes_cli-0.76.1}/.devague/frames/lobes-fits-the-machine-it-lands-on-one-command-det.json +0 -0
  83. {lobes_cli-0.76.0 → lobes_cli-0.76.1}/.devague/frames/lobes-gateway-relays-sse-streams-frame-by-frame-th.json +0 -0
  84. {lobes_cli-0.76.0 → lobes_cli-0.76.1}/.devague/frames/lobes-never-advertises-a-capability-it-cannot-serv.json +0 -0
  85. {lobes_cli-0.76.0 → lobes_cli-0.76.1}/.devague/frames/lobes-now-defaults-to-a-spark-duo-the-qwen3-6-27b.json +0 -0
  86. {lobes_cli-0.76.0 → lobes_cli-0.76.1}/.devague/frames/lobes-preserves-qwen-thinking-traces-across-multi.json +0 -0
  87. {lobes_cli-0.76.0 → lobes_cli-0.76.1}/.devague/frames/lobes-serves-strict-grammar-constrained-tool-calls.json +0 -0
  88. {lobes_cli-0.76.0 → lobes_cli-0.76.1}/.devague/frames/lobes-serves-the-brain-shape-you-choose-machine-as.json +0 -0
  89. {lobes_cli-0.76.0 → lobes_cli-0.76.1}/.devague/frames/lobes-serves-the-mesh-brain-end-state-one-lobe-per.json +0 -0
  90. {lobes_cli-0.76.0 → lobes_cli-0.76.1}/.devague/frames/lobes-ships-a-custom-vllm-image-from-nvcr-io-nvidi.json +0 -0
  91. {lobes_cli-0.76.0 → lobes_cli-0.76.1}/.devague/frames/lobes-ships-a-minor-lobe-a-cheap-warm-co-resident.json +0 -0
  92. {lobes_cli-0.76.0 → lobes_cli-0.76.1}/.devague/frames/lobes-ships-a-per-lobe-benchmark-suite-speed-paral.json +0 -0
  93. {lobes_cli-0.76.0 → lobes_cli-0.76.1}/.devague/frames/lobes-tells-clients-the-truth-about-a-fleet-a-cons.json +0 -0
  94. {lobes_cli-0.76.0 → lobes_cli-0.76.1}/.devague/frames/lobes-unifies-its-generate-lane-on-one-vllm-nightl.json +0 -0
  95. {lobes_cli-0.76.0 → lobes_cli-0.76.1}/.devague/frames/mesh-brain-join.json +0 -0
  96. {lobes_cli-0.76.0 → lobes_cli-0.76.1}/.devague/frames/model-gear-now-serves-an-embedding-gear-qwen3-embe-2.json +0 -0
  97. {lobes_cli-0.76.0 → lobes_cli-0.76.1}/.devague/frames/model-gear-now-serves-an-embedding-gear-qwen3-embe.json +0 -0
  98. {lobes_cli-0.76.0 → lobes_cli-0.76.1}/.devague/frames/model-gear-owns-the-audio-i-o-surface-end-to-end-m.json +0 -0
  99. {lobes_cli-0.76.0 → lobes_cli-0.76.1}/.devague/frames/nemotron-lightning-worker.json +0 -0
  100. {lobes_cli-0.76.0 → lobes_cli-0.76.1}/.devague/frames/peer-only-replica-pools.json +0 -0
  101. {lobes_cli-0.76.0 → lobes_cli-0.76.1}/.devague/frames/proxy-lobes-pairwise-auth.json +0 -0
  102. {lobes_cli-0.76.0 → lobes_cli-0.76.1}/.devague/frames/quick-wins-finish-the-rename.json +0 -0
  103. {lobes_cli-0.76.0 → lobes_cli-0.76.1}/.devague/frames/qwen3-8-27b-gguf-on-the-spark.json +0 -0
  104. {lobes_cli-0.76.0 → lobes_cli-0.76.1}/.devague/frames/qwen3-8-cortex-upgrade.json +0 -0
  105. {lobes_cli-0.76.0 → lobes_cli-0.76.1}/.devague/frames/qwen3-8-flash-next-gguf-candidate.json +0 -0
  106. {lobes_cli-0.76.0 → lobes_cli-0.76.1}/.devague/frames/qwen3-8-gguf-llamacpp.json +0 -0
  107. {lobes_cli-0.76.0 → lobes_cli-0.76.1}/.devague/frames/realtime-voice-to-voice-astro-test-site-151.json +0 -0
  108. {lobes_cli-0.76.0 → lobes_cli-0.76.1}/.devague/frames/realtime-ws-server-vad-149.json +0 -0
  109. {lobes_cli-0.76.0 → lobes_cli-0.76.1}/.devague/frames/reranker-calibration-227.json +0 -0
  110. {lobes_cli-0.76.0 → lobes_cli-0.76.1}/.devague/frames/stt-readiness-truth-155.json +0 -0
  111. {lobes_cli-0.76.0 → lobes_cli-0.76.1}/.devague/frames/targeted-ops-and-honest-streams.json +0 -0
  112. {lobes_cli-0.76.0 → lobes_cli-0.76.1}/.devague/frames/the-gemma-4-12b-gear-gets-speculative-decoding-lob.json +0 -0
  113. {lobes_cli-0.76.0 → lobes_cli-0.76.1}/.devague/frames/thor-cortex-speculation.json +0 -0
  114. {lobes_cli-0.76.0 → lobes_cli-0.76.1}/.devague/frames/thor-worker-arm-qwen3-6-35b-a3b-recipes.json +0 -0
  115. {lobes_cli-0.76.0 → lobes_cli-0.76.1}/.devague/frames/thor-worker-lobe-qwen3-6-35b-a3b.json +0 -0
  116. {lobes_cli-0.76.0 → lobes_cli-0.76.1}/.devague/frames/under-pressure-lobes-tells-you-the-cortex-model-is.json +0 -0
  117. {lobes_cli-0.76.0 → lobes_cli-0.76.1}/.devague/frames/unsloth-qat-senses-first-class-orin-variation.json +0 -0
  118. {lobes_cli-0.76.0 → lobes_cli-0.76.1}/.devague/plans/capacity-relative-pool-routing.json +0 -0
  119. {lobes_cli-0.76.0 → lobes_cli-0.76.1}/.devague/plans/compose-chain-unification-init-repair-doctor-stale.json +0 -0
  120. {lobes_cli-0.76.0 → lobes_cli-0.76.1}/.devague/plans/cortex-replica-pool-199.json +0 -0
  121. {lobes_cli-0.76.0 → lobes_cli-0.76.1}/.devague/plans/deployment-lock-per-box.json +0 -0
  122. {lobes_cli-0.76.0 → lobes_cli-0.76.1}/.devague/plans/dspark-speculation-on-the-spark-cortex.json +0 -0
  123. {lobes_cli-0.76.0 → lobes_cli-0.76.1}/.devague/plans/every-lobe-in-the-mesh-can-see-the-spark-reaches-t.json +0 -0
  124. {lobes_cli-0.76.0 → lobes_cli-0.76.1}/.devague/plans/hand-lobe-lfm2-5-1-2b.json +0 -0
  125. {lobes_cli-0.76.0 → lobes_cli-0.76.1}/.devague/plans/lightning-on-orin.json +0 -0
  126. {lobes_cli-0.76.0 → lobes_cli-0.76.1}/.devague/plans/lobes-adds-a-third-middle-model-tier-and-pressure.json +0 -0
  127. {lobes_cli-0.76.0 → lobes_cli-0.76.1}/.devague/plans/lobes-capabilities-tells-you-where-a-lobe-is-serve.json +0 -0
  128. {lobes_cli-0.76.0 → lobes_cli-0.76.1}/.devague/plans/lobes-exposes-the-full-colleague-runtime-stack-as.json +0 -0
  129. {lobes_cli-0.76.0 → lobes_cli-0.76.1}/.devague/plans/lobes-fits-the-machine-it-lands-on-one-command-det.json +0 -0
  130. {lobes_cli-0.76.0 → lobes_cli-0.76.1}/.devague/plans/lobes-gateway-relays-sse-streams-frame-by-frame-th.json +0 -0
  131. {lobes_cli-0.76.0 → lobes_cli-0.76.1}/.devague/plans/lobes-never-advertises-a-capability-it-cannot-serv.json +0 -0
  132. {lobes_cli-0.76.0 → lobes_cli-0.76.1}/.devague/plans/lobes-now-defaults-to-a-spark-duo-the-qwen3-6-27b.json +0 -0
  133. {lobes_cli-0.76.0 → lobes_cli-0.76.1}/.devague/plans/lobes-preserves-qwen-thinking-traces-across-multi.json +0 -0
  134. {lobes_cli-0.76.0 → lobes_cli-0.76.1}/.devague/plans/lobes-serves-strict-grammar-constrained-tool-calls.json +0 -0
  135. {lobes_cli-0.76.0 → lobes_cli-0.76.1}/.devague/plans/lobes-serves-the-brain-shape-you-choose-machine-as.json +0 -0
  136. {lobes_cli-0.76.0 → lobes_cli-0.76.1}/.devague/plans/lobes-serves-the-mesh-brain-end-state-one-lobe-per.json +0 -0
  137. {lobes_cli-0.76.0 → lobes_cli-0.76.1}/.devague/plans/lobes-ships-a-custom-vllm-image-from-nvcr-io-nvidi.json +0 -0
  138. {lobes_cli-0.76.0 → lobes_cli-0.76.1}/.devague/plans/lobes-ships-a-minor-lobe-a-cheap-warm-co-resident.json +0 -0
  139. {lobes_cli-0.76.0 → lobes_cli-0.76.1}/.devague/plans/lobes-ships-a-per-lobe-benchmark-suite-speed-paral.json +0 -0
  140. {lobes_cli-0.76.0 → lobes_cli-0.76.1}/.devague/plans/lobes-tells-clients-the-truth-about-a-fleet-a-cons.json +0 -0
  141. {lobes_cli-0.76.0 → lobes_cli-0.76.1}/.devague/plans/lobes-unifies-its-generate-lane-on-one-vllm-nightl.json +0 -0
  142. {lobes_cli-0.76.0 → lobes_cli-0.76.1}/.devague/plans/mesh-brain-join.json +0 -0
  143. {lobes_cli-0.76.0 → lobes_cli-0.76.1}/.devague/plans/model-gear-now-serves-an-embedding-gear-qwen3-embe-2.json +0 -0
  144. {lobes_cli-0.76.0 → lobes_cli-0.76.1}/.devague/plans/model-gear-owns-the-audio-i-o-surface-end-to-end-m.json +0 -0
  145. {lobes_cli-0.76.0 → lobes_cli-0.76.1}/.devague/plans/nemotron-lightning-worker.json +0 -0
  146. {lobes_cli-0.76.0 → lobes_cli-0.76.1}/.devague/plans/peer-only-replica-pools.json +0 -0
  147. {lobes_cli-0.76.0 → lobes_cli-0.76.1}/.devague/plans/proxy-lobes-pairwise-auth.json +0 -0
  148. {lobes_cli-0.76.0 → lobes_cli-0.76.1}/.devague/plans/quick-wins-finish-the-rename.json +0 -0
  149. {lobes_cli-0.76.0 → lobes_cli-0.76.1}/.devague/plans/qwen3-8-cortex-upgrade.json +0 -0
  150. {lobes_cli-0.76.0 → lobes_cli-0.76.1}/.devague/plans/qwen3-8-flash-next-gguf-candidate.json +0 -0
  151. {lobes_cli-0.76.0 → lobes_cli-0.76.1}/.devague/plans/qwen3-8-gguf-llamacpp.json +0 -0
  152. {lobes_cli-0.76.0 → lobes_cli-0.76.1}/.devague/plans/realtime-voice-to-voice-astro-test-site-151.json +0 -0
  153. {lobes_cli-0.76.0 → lobes_cli-0.76.1}/.devague/plans/realtime-ws-server-vad-149.json +0 -0
  154. {lobes_cli-0.76.0 → lobes_cli-0.76.1}/.devague/plans/reranker-calibration-227.json +0 -0
  155. {lobes_cli-0.76.0 → lobes_cli-0.76.1}/.devague/plans/stt-readiness-truth-155.json +0 -0
  156. {lobes_cli-0.76.0 → lobes_cli-0.76.1}/.devague/plans/the-gemma-4-12b-gear-gets-speculative-decoding-lob.json +0 -0
  157. {lobes_cli-0.76.0 → lobes_cli-0.76.1}/.devague/plans/thor-cortex-speculation.json +0 -0
  158. {lobes_cli-0.76.0 → lobes_cli-0.76.1}/.devague/plans/thor-worker-arm-qwen3-6-35b-a3b-recipes.json +0 -0
  159. {lobes_cli-0.76.0 → lobes_cli-0.76.1}/.devague/plans/thor-worker-lobe-qwen3-6-35b-a3b.json +0 -0
  160. {lobes_cli-0.76.0 → lobes_cli-0.76.1}/.devague/plans/under-pressure-lobes-tells-you-the-cortex-model-is.json +0 -0
  161. {lobes_cli-0.76.0 → lobes_cli-0.76.1}/.devague/plans/unsloth-qat-senses-first-class-orin-variation.json +0 -0
  162. {lobes_cli-0.76.0 → lobes_cli-0.76.1}/.eidetic/memory/colleague__public.jsonl +0 -0
  163. {lobes_cli-0.76.0 → lobes_cli-0.76.1}/.eidetic/memory/default__public.jsonl +0 -0
  164. {lobes_cli-0.76.0 → lobes_cli-0.76.1}/.eidetic/memory/lobes__public.jsonl +0 -0
  165. {lobes_cli-0.76.0 → lobes_cli-0.76.1}/.flake8 +0 -0
  166. {lobes_cli-0.76.0 → lobes_cli-0.76.1}/.github/workflows/publish.yml +0 -0
  167. {lobes_cli-0.76.0 → lobes_cli-0.76.1}/.github/workflows/tests.yml +0 -0
  168. {lobes_cli-0.76.0 → lobes_cli-0.76.1}/.gitignore +0 -0
  169. {lobes_cli-0.76.0 → lobes_cli-0.76.1}/.markdownlint-cli2.yaml +0 -0
  170. {lobes_cli-0.76.0 → lobes_cli-0.76.1}/AGENTS.md +0 -0
  171. {lobes_cli-0.76.0 → lobes_cli-0.76.1}/CLAUDE.md +0 -0
  172. {lobes_cli-0.76.0 → lobes_cli-0.76.1}/LICENSE +0 -0
  173. {lobes_cli-0.76.0 → lobes_cli-0.76.1}/README.md +0 -0
  174. {lobes_cli-0.76.0 → lobes_cli-0.76.1}/culture.yaml +0 -0
  175. {lobes_cli-0.76.0 → lobes_cli-0.76.1}/deployments/README.md +0 -0
  176. {lobes_cli-0.76.0 → lobes_cli-0.76.1}/deployments/VARIATION.template.md +0 -0
  177. {lobes_cli-0.76.0 → lobes_cli-0.76.1}/deployments/jetson-agx-thor__thor-worker/Dockerfile.gateway +0 -0
  178. {lobes_cli-0.76.0 → lobes_cli-0.76.1}/deployments/jetson-agx-thor__thor-worker/Dockerfile.vllm-gemma4 +0 -0
  179. {lobes_cli-0.76.0 → lobes_cli-0.76.1}/deployments/jetson-agx-thor__thor-worker/VARIATION.md +0 -0
  180. {lobes_cli-0.76.0 → lobes_cli-0.76.1}/deployments/jetson-agx-thor__thor-worker/deployment.lock.toml +0 -0
  181. {lobes_cli-0.76.0 → lobes_cli-0.76.1}/deployments/jetson-agx-thor__thor-worker/docker-compose.override.yml +0 -0
  182. {lobes_cli-0.76.0 → lobes_cli-0.76.1}/deployments/jetson-agx-thor__thor-worker/docker-compose.shape.yml +0 -0
  183. {lobes_cli-0.76.0 → lobes_cli-0.76.1}/deployments/jetson-agx-thor__thor-worker/docker-compose.yml +0 -0
  184. {lobes_cli-0.76.0 → lobes_cli-0.76.1}/deployments/jetson-agx-thor__thor-worker/mg-logwrap.sh +0 -0
  185. {lobes_cli-0.76.0 → lobes_cli-0.76.1}/deployments/jetson-agx-thor__thor-worker/qwen3_reranker.jinja +0 -0
  186. {lobes_cli-0.76.0 → lobes_cli-0.76.1}/deployments/jetson-agx-thor__thor-worker/qwen3_thinking_tool_parser.py +0 -0
  187. {lobes_cli-0.76.0 → lobes_cli-0.76.1}/docs/chatterbox-tts.md +0 -0
  188. {lobes_cli-0.76.0 → lobes_cli-0.76.1}/docs/colleague-stack.md +0 -0
  189. {lobes_cli-0.76.0 → lobes_cli-0.76.1}/docs/deliveries/2026-07-16-proxy-lobes-pairwise-auth.md +0 -0
  190. {lobes_cli-0.76.0 → lobes_cli-0.76.1}/docs/deliveries/2026-07-21-realtime-voice-to-voice-astro-test-site-151.md +0 -0
  191. {lobes_cli-0.76.0 → lobes_cli-0.76.1}/docs/deliveries/2026-08-04-unsloth-qat-senses-first-class-orin-variation.md +0 -0
  192. {lobes_cli-0.76.0 → lobes_cli-0.76.1}/docs/deliveries/2026-08-10-hand-lobe-lfm2-5-1-2b.md +0 -0
  193. {lobes_cli-0.76.0 → lobes_cli-0.76.1}/docs/deliveries/2026-08-20-nemotron-lightning-worker.md +0 -0
  194. {lobes_cli-0.76.0 → lobes_cli-0.76.1}/docs/deliveries/2026-08-22-qwen3-8-gguf-llamacpp.md +0 -0
  195. {lobes_cli-0.76.0 → lobes_cli-0.76.1}/docs/deliveries/2026-08-23-qwen3-8-gguf-llamacpp-deviation-ledger.md +0 -0
  196. {lobes_cli-0.76.0 → lobes_cli-0.76.1}/docs/deliveries/2026-08-24-dspark-speculation-on-the-spark-cortex.md +0 -0
  197. {lobes_cli-0.76.0 → lobes_cli-0.76.1}/docs/deliveries/2026-08-25-cortex-replica-pool-199.md +0 -0
  198. {lobes_cli-0.76.0 → lobes_cli-0.76.1}/docs/deliveries/2026-08-25-lightning-on-orin.md +0 -0
  199. {lobes_cli-0.76.0 → lobes_cli-0.76.1}/docs/deliveries/2026-08-25-thor-cortex-speculation.md +0 -0
  200. {lobes_cli-0.76.0 → lobes_cli-0.76.1}/docs/deliveries/2026-08-29-deployment-lock-per-box.md +0 -0
  201. {lobes_cli-0.76.0 → lobes_cli-0.76.1}/docs/deliveries/2026-08-30-peer-only-replica-pools.md +0 -0
  202. {lobes_cli-0.76.0 → lobes_cli-0.76.1}/docs/deliveries/2026-08-31-quick-wins-finish-the-rename.md +0 -0
  203. {lobes_cli-0.76.0 → lobes_cli-0.76.1}/docs/deliveries/2026-09-10-thor-worker-arm-qwen3-6-35b-a3b-recipes.md +0 -0
  204. {lobes_cli-0.76.0 → lobes_cli-0.76.1}/docs/deployment-lock.md +0 -0
  205. {lobes_cli-0.76.0 → lobes_cli-0.76.1}/docs/deployment-shapes.md +0 -0
  206. {lobes_cli-0.76.0 → lobes_cli-0.76.1}/docs/dspark-speculation.md +0 -0
  207. {lobes_cli-0.76.0 → lobes_cli-0.76.1}/docs/durable-logs.md +0 -0
  208. {lobes_cli-0.76.0 → lobes_cli-0.76.1}/docs/evidence/2026-07-14-accept-referral-thor.txt +0 -0
  209. {lobes_cli-0.76.0 → lobes_cli-0.76.1}/docs/evidence/2026-07-14-accept-spark-lobe-gb10.txt +0 -0
  210. {lobes_cli-0.76.0 → lobes_cli-0.76.1}/docs/evidence/2026-07-14-accept-thor-lobe-live-referral-thor.txt +0 -0
  211. {lobes_cli-0.76.0 → lobes_cli-0.76.1}/docs/evidence/2026-07-14-accept-thor-lobe-thor.txt +0 -0
  212. {lobes_cli-0.76.0 → lobes_cli-0.76.1}/docs/evidence/2026-07-14-strict-tools-spark-lobe-spark.txt +0 -0
  213. {lobes_cli-0.76.0 → lobes_cli-0.76.1}/docs/evidence/2026-07-16-proxy-lobes-live-spark-thor.txt +0 -0
  214. {lobes_cli-0.76.0 → lobes_cli-0.76.1}/docs/evidence/2026-07-17-accept-muse-tool-calling-thor.txt +0 -0
  215. {lobes_cli-0.76.0 → lobes_cli-0.76.1}/docs/evidence/2026-07-20-accept-embed-deep-gb10.txt +0 -0
  216. {lobes_cli-0.76.0 → lobes_cli-0.76.1}/docs/evidence/2026-07-21-accept-realtime-spark.txt +0 -0
  217. {lobes_cli-0.76.0 → lobes_cli-0.76.1}/docs/evidence/2026-07-21-accept-voice-loop-spark.txt +0 -0
  218. {lobes_cli-0.76.0 → lobes_cli-0.76.1}/docs/evidence/2026-07-22-accept-realtime-voice-to-voice-spark.txt +0 -0
  219. {lobes_cli-0.76.0 → lobes_cli-0.76.1}/docs/evidence/2026-07-25-accept-by-proxy-spark-f8a9.txt +0 -0
  220. {lobes_cli-0.76.0 → lobes_cli-0.76.1}/docs/evidence/2026-07-31-accept-multimodal-cortex-spark.txt +0 -0
  221. {lobes_cli-0.76.0 → lobes_cli-0.76.1}/docs/evidence/2026-07-31-accept-worker-proxy-spark.txt +0 -0
  222. {lobes_cli-0.76.0 → lobes_cli-0.76.1}/docs/evidence/2026-07-31-accept-worker-thor.txt +0 -0
  223. {lobes_cli-0.76.0 → lobes_cli-0.76.1}/docs/evidence/2026-08-04-accept-senses-unsloth-orin.txt +0 -0
  224. {lobes_cli-0.76.0 → lobes_cli-0.76.1}/docs/evidence/2026-08-10-hand-lobe-budget-derivation.txt +0 -0
  225. {lobes_cli-0.76.0 → lobes_cli-0.76.1}/docs/evidence/2026-08-10-partial-hand-orin.txt +0 -0
  226. {lobes_cli-0.76.0 → lobes_cli-0.76.1}/docs/evidence/2026-08-10-partial-hand-spark.txt +0 -0
  227. {lobes_cli-0.76.0 → lobes_cli-0.76.1}/docs/evidence/2026-08-19-accept-qwen38-1m-spark.txt +0 -0
  228. {lobes_cli-0.76.0 → lobes_cli-0.76.1}/docs/evidence/2026-08-19-baseline-qwen3.6-cortex-spark.txt +0 -0
  229. {lobes_cli-0.76.0 → lobes_cli-0.76.1}/docs/evidence/2026-08-19-spike-qwen3.8-official-nightly-spark.txt +0 -0
  230. {lobes_cli-0.76.0 → lobes_cli-0.76.1}/docs/evidence/2026-08-20-accept-cortex-local-thor.txt +0 -0
  231. {lobes_cli-0.76.0 → lobes_cli-0.76.1}/docs/evidence/2026-08-20-accept-cortex-repoint-orin.txt +0 -0
  232. {lobes_cli-0.76.0 → lobes_cli-0.76.1}/docs/evidence/2026-08-20-accept-cortex-repoint-thor.txt +0 -0
  233. {lobes_cli-0.76.0 → lobes_cli-0.76.1}/docs/evidence/2026-08-20-accept-dual-cortex-mesh.txt +0 -0
  234. {lobes_cli-0.76.0 → lobes_cli-0.76.1}/docs/evidence/2026-08-20-accept-hand-spark.txt +0 -0
  235. {lobes_cli-0.76.0 → lobes_cli-0.76.1}/docs/evidence/2026-08-20-accept-worker-hand-spark.txt +0 -0
  236. {lobes_cli-0.76.0 → lobes_cli-0.76.1}/docs/evidence/2026-08-20-baseline-worker-qwen35b-thor.txt +0 -0
  237. {lobes_cli-0.76.0 → lobes_cli-0.76.1}/docs/evidence/2026-08-20-hand-thor-blocked-reattributed.txt +0 -0
  238. {lobes_cli-0.76.0 → lobes_cli-0.76.1}/docs/evidence/2026-08-20-spike-lightning-thor-no-go.txt +0 -0
  239. {lobes_cli-0.76.0 → lobes_cli-0.76.1}/docs/evidence/2026-08-20-spike-nightly-sm110-thor.txt +0 -0
  240. {lobes_cli-0.76.0 → lobes_cli-0.76.1}/docs/evidence/2026-08-21-measure-reasoning-effort-cortex-spark.txt +0 -0
  241. {lobes_cli-0.76.0 → lobes_cli-0.76.1}/docs/evidence/2026-08-23-spike-qwen38-gguf-llamacpp-orin.txt +0 -0
  242. {lobes_cli-0.76.0 → lobes_cli-0.76.1}/docs/evidence/2026-08-24-spike-dspark-cortex-spark.txt +0 -0
  243. {lobes_cli-0.76.0 → lobes_cli-0.76.1}/docs/evidence/2026-08-25-accept-cortex-replica-pool-spark-thor.txt +0 -0
  244. {lobes_cli-0.76.0 → lobes_cli-0.76.1}/docs/evidence/2026-08-25-accept-spark-lobe-dspark-render.txt +0 -0
  245. {lobes_cli-0.76.0 → lobes_cli-0.76.1}/docs/evidence/2026-08-25-baseline-cortex-single-owner.txt +0 -0
  246. {lobes_cli-0.76.0 → lobes_cli-0.76.1}/docs/evidence/2026-08-25-measure-associate-budget-orin.txt +0 -0
  247. {lobes_cli-0.76.0 → lobes_cli-0.76.1}/docs/evidence/2026-08-25-orin-board-state-lightning-spikes.txt +0 -0
  248. {lobes_cli-0.76.0 → lobes_cli-0.76.1}/docs/evidence/2026-08-25-spike-lightning-llamacpp-orin.txt +0 -0
  249. {lobes_cli-0.76.0 → lobes_cli-0.76.1}/docs/evidence/2026-08-25-spike-lightning-vllm-orin.txt +0 -0
  250. {lobes_cli-0.76.0 → lobes_cli-0.76.1}/docs/evidence/2026-08-25-spike-thor-cortex-speculation.txt +0 -0
  251. {lobes_cli-0.76.0 → lobes_cli-0.76.1}/docs/evidence/2026-08-26-accept-orin-associate.txt +0 -0
  252. {lobes_cli-0.76.0 → lobes_cli-0.76.1}/docs/evidence/2026-08-26-associate-gateway-auth-front.txt +0 -0
  253. {lobes_cli-0.76.0 → lobes_cli-0.76.1}/docs/evidence/2026-08-28-accept-capacity-relative-pool-thor-spark.txt +0 -0
  254. {lobes_cli-0.76.0 → lobes_cli-0.76.1}/docs/evidence/2026-08-30-accept-peer-only-pool-orin.txt +0 -0
  255. {lobes_cli-0.76.0 → lobes_cli-0.76.1}/docs/evidence/2026-08-30-accept-reranker-template-spark.txt +0 -0
  256. {lobes_cli-0.76.0 → lobes_cli-0.76.1}/docs/evidence/2026-08-30-baseline-orin-cortex-pinned.txt +0 -0
  257. {lobes_cli-0.76.0 → lobes_cli-0.76.1}/docs/evidence/2026-08-30-baseline-reranker-untemplated-spark.txt +0 -0
  258. {lobes_cli-0.76.0 → lobes_cli-0.76.1}/docs/evidence/2026-09-10-accept-nvidia-35b-a3b-thor.txt +0 -0
  259. {lobes_cli-0.76.0 → lobes_cli-0.76.1}/docs/evidence/2026-09-10-accept-thor-worker-flip.txt +0 -0
  260. {lobes_cli-0.76.0 → lobes_cli-0.76.1}/docs/evidence/2026-09-10-baseline-thor-cortex-pre-244.txt +0 -0
  261. {lobes_cli-0.76.0 → lobes_cli-0.76.1}/docs/evidence/2026-09-10-spike-nvidia-35b-a3b-preboot-thor.txt +0 -0
  262. {lobes_cli-0.76.0 → lobes_cli-0.76.1}/docs/evidence/2026-09-10-sweep-mtp-depth-nvidia-35b-a3b-thor.txt +0 -0
  263. {lobes_cli-0.76.0 → lobes_cli-0.76.1}/docs/evidence/2026-09-10-thor-backup-and-rollback-dryrun-244.txt +0 -0
  264. {lobes_cli-0.76.0 → lobes_cli-0.76.1}/docs/evidence/2026-09-10-thor-pressure-floor-244.txt +0 -0
  265. {lobes_cli-0.76.0 → lobes_cli-0.76.1}/docs/evidence/2026-09-11-accept-thor-reranker-template-senses-unproxy.txt +0 -0
  266. {lobes_cli-0.76.0 → lobes_cli-0.76.1}/docs/evidence/2026-09-11-accept-worker-proxy-spark-thor.txt +0 -0
  267. {lobes_cli-0.76.0 → lobes_cli-0.76.1}/docs/evidence/2026-09-12-baseline-mesh-cutover.txt +0 -0
  268. {lobes_cli-0.76.0 → lobes_cli-0.76.1}/docs/evidence/README-dspark-arms.md +0 -0
  269. {lobes_cli-0.76.0 → lobes_cli-0.76.1}/docs/evidence/README-realtime-acceptance.md +0 -0
  270. {lobes_cli-0.76.0 → lobes_cli-0.76.1}/docs/evidence/arm-a16-dspark-262k.json +0 -0
  271. {lobes_cli-0.76.0 → lobes_cli-0.76.1}/docs/evidence/arm-a16-none-262k.json +0 -0
  272. {lobes_cli-0.76.0 → lobes_cli-0.76.1}/docs/evidence/arm-dspark-262k.json +0 -0
  273. {lobes_cli-0.76.0 → lobes_cli-0.76.1}/docs/evidence/arm-dspark-768k.json +0 -0
  274. {lobes_cli-0.76.0 → lobes_cli-0.76.1}/docs/evidence/arm-mtp-n2-262k.json +0 -0
  275. {lobes_cli-0.76.0 → lobes_cli-0.76.1}/docs/evidence/arm-mtp-n2-768k.json +0 -0
  276. {lobes_cli-0.76.0 → lobes_cli-0.76.1}/docs/evidence/arm-mtp-n2.json +0 -0
  277. {lobes_cli-0.76.0 → lobes_cli-0.76.1}/docs/evidence/arm-none-262k.json +0 -0
  278. {lobes_cli-0.76.0 → lobes_cli-0.76.1}/docs/evidence/arm-none-768k.json +0 -0
  279. {lobes_cli-0.76.0 → lobes_cli-0.76.1}/docs/experiments/README.md +0 -0
  280. {lobes_cli-0.76.0 → lobes_cli-0.76.1}/docs/experiments/qwen3.8-flash-next-gguf-llamacpp-vllm.md +0 -0
  281. {lobes_cli-0.76.0 → lobes_cli-0.76.1}/docs/gateway-fleet.md +0 -0
  282. {lobes_cli-0.76.0 → lobes_cli-0.76.1}/docs/gemma-4-12b-nvfp4.md +0 -0
  283. {lobes_cli-0.76.0 → lobes_cli-0.76.1}/docs/gemma-4-12b-qat-w4a16.md +0 -0
  284. {lobes_cli-0.76.0 → lobes_cli-0.76.1}/docs/gemma-4-31b-nvfp4.md +0 -0
  285. {lobes_cli-0.76.0 → lobes_cli-0.76.1}/docs/gemma4-mtp-draft.md +0 -0
  286. {lobes_cli-0.76.0 → lobes_cli-0.76.1}/docs/image-ledger.md +0 -0
  287. {lobes_cli-0.76.0 → lobes_cli-0.76.1}/docs/lfm2.5-1.2b-hand.md +0 -0
  288. {lobes_cli-0.76.0 → lobes_cli-0.76.1}/docs/machine-profiles.md +0 -0
  289. {lobes_cli-0.76.0 → lobes_cli-0.76.1}/docs/measuring-lane-performance.md +0 -0
  290. {lobes_cli-0.76.0 → lobes_cli-0.76.1}/docs/mistral-small-3.2-24b-nvfp4.md +0 -0
  291. {lobes_cli-0.76.0 → lobes_cli-0.76.1}/docs/model-switch-playbook.md +0 -0
  292. {lobes_cli-0.76.0 → lobes_cli-0.76.1}/docs/nemotron-3.5-lightning-30b-a3b-nvfp4.md +0 -0
  293. {lobes_cli-0.76.0 → lobes_cli-0.76.1}/docs/nvidia-qwen3.6-35b-a3b-nvfp4.md +0 -0
  294. {lobes_cli-0.76.0 → lobes_cli-0.76.1}/docs/openai-api.md +0 -0
  295. {lobes_cli-0.76.0 → lobes_cli-0.76.1}/docs/orin-associate-deployment.md +0 -0
  296. {lobes_cli-0.76.0 → lobes_cli-0.76.1}/docs/orin-profiles.md +0 -0
  297. {lobes_cli-0.76.0 → lobes_cli-0.76.1}/docs/parakeet-stt.md +0 -0
  298. {lobes_cli-0.76.0 → lobes_cli-0.76.1}/docs/plans/2026-06-12-model-gear-owns-the-audio-i-o-surface-end-to-end-m.md +0 -0
  299. {lobes_cli-0.76.0 → lobes_cli-0.76.1}/docs/plans/2026-06-19-model-gear-now-serves-an-embedding-gear-qwen3-embe-2.md +0 -0
  300. {lobes_cli-0.76.0 → lobes_cli-0.76.1}/docs/plans/2026-06-26-lobes-ships-a-minor-lobe-a-cheap-warm-co-resident.md +0 -0
  301. {lobes_cli-0.76.0 → lobes_cli-0.76.1}/docs/plans/2026-06-26-lobes-ships-a-per-lobe-benchmark-suite-speed-paral.md +0 -0
  302. {lobes_cli-0.76.0 → lobes_cli-0.76.1}/docs/plans/2026-06-29-lobes-adds-a-third-middle-model-tier-and-pressure.md +0 -0
  303. {lobes_cli-0.76.0 → lobes_cli-0.76.1}/docs/plans/2026-06-30-lobes-now-defaults-to-a-spark-duo-the-qwen3-6-27b.md +0 -0
  304. {lobes_cli-0.76.0 → lobes_cli-0.76.1}/docs/plans/2026-06-30-lobes-ships-a-custom-vllm-image-from-nvcr-io-nvidi.md +0 -0
  305. {lobes_cli-0.76.0 → lobes_cli-0.76.1}/docs/plans/2026-07-01-gemma-4-12b-gear-gets-speculative-decoding-draft.md +0 -0
  306. {lobes_cli-0.76.0 → lobes_cli-0.76.1}/docs/plans/2026-07-01-lobes-unifies-its-generate-lane-on-one-vllm-nightl.md +0 -0
  307. {lobes_cli-0.76.0 → lobes_cli-0.76.1}/docs/plans/2026-07-03-lobes-exposes-the-full-colleague-runtime-stack-as.md +0 -0
  308. {lobes_cli-0.76.0 → lobes_cli-0.76.1}/docs/plans/2026-07-03-under-pressure-lobes-tells-you-the-cortex-model-is.md +0 -0
  309. {lobes_cli-0.76.0 → lobes_cli-0.76.1}/docs/plans/2026-07-04-lobes-tells-clients-the-truth-about-a-fleet-a-cons.md +0 -0
  310. {lobes_cli-0.76.0 → lobes_cli-0.76.1}/docs/plans/2026-07-07-lobes-preserves-qwen-thinking-traces-across-multi.md +0 -0
  311. {lobes_cli-0.76.0 → lobes_cli-0.76.1}/docs/plans/2026-07-09-lobes-never-advertises-a-capability-it-cannot-serv.md +0 -0
  312. {lobes_cli-0.76.0 → lobes_cli-0.76.1}/docs/plans/2026-07-10-lobes-gateway-relays-sse-streams-frame-by-frame-th.md +0 -0
  313. {lobes_cli-0.76.0 → lobes_cli-0.76.1}/docs/plans/2026-07-13-lobes-fits-the-machine-it-lands-on-one-command-det.md +0 -0
  314. {lobes_cli-0.76.0 → lobes_cli-0.76.1}/docs/plans/2026-07-14-lobes-serves-strict-grammar-constrained-tool-calls.md +0 -0
  315. {lobes_cli-0.76.0 → lobes_cli-0.76.1}/docs/plans/2026-07-14-lobes-serves-the-brain-shape-you-choose-machine-as.md +0 -0
  316. {lobes_cli-0.76.0 → lobes_cli-0.76.1}/docs/plans/2026-07-14-lobes-serves-the-mesh-brain-end-state-one-lobe-per.md +0 -0
  317. {lobes_cli-0.76.0 → lobes_cli-0.76.1}/docs/plans/2026-07-16-proxy-lobes-pairwise-auth.md +0 -0
  318. {lobes_cli-0.76.0 → lobes_cli-0.76.1}/docs/plans/2026-07-17-compose-chain-unification-init-repair-doctor-stale.md +0 -0
  319. {lobes_cli-0.76.0 → lobes_cli-0.76.1}/docs/plans/2026-07-21-realtime-voice-to-voice-astro-test-site-151.md +0 -0
  320. {lobes_cli-0.76.0 → lobes_cli-0.76.1}/docs/plans/2026-07-21-realtime-ws-server-vad-149.md +0 -0
  321. {lobes_cli-0.76.0 → lobes_cli-0.76.1}/docs/plans/2026-07-24-stt-readiness-truth-155.md +0 -0
  322. {lobes_cli-0.76.0 → lobes_cli-0.76.1}/docs/plans/2026-07-25-lobes-capabilities-tells-you-where-a-lobe-is-serve.md +0 -0
  323. {lobes_cli-0.76.0 → lobes_cli-0.76.1}/docs/plans/2026-07-31-every-lobe-in-the-mesh-can-see-the-spark-reaches-t.md +0 -0
  324. {lobes_cli-0.76.0 → lobes_cli-0.76.1}/docs/plans/2026-07-31-thor-worker-lobe-qwen3-6-35b-a3b.md +0 -0
  325. {lobes_cli-0.76.0 → lobes_cli-0.76.1}/docs/plans/2026-08-04-unsloth-qat-senses-first-class-orin-variation.md +0 -0
  326. {lobes_cli-0.76.0 → lobes_cli-0.76.1}/docs/plans/2026-08-10-hand-lobe-lfm2-5-1-2b.md +0 -0
  327. {lobes_cli-0.76.0 → lobes_cli-0.76.1}/docs/plans/2026-08-19-qwen3-8-cortex-upgrade.md +0 -0
  328. {lobes_cli-0.76.0 → lobes_cli-0.76.1}/docs/plans/2026-08-20-nemotron-lightning-worker.md +0 -0
  329. {lobes_cli-0.76.0 → lobes_cli-0.76.1}/docs/plans/2026-08-22-qwen3-8-gguf-llamacpp.md +0 -0
  330. {lobes_cli-0.76.0 → lobes_cli-0.76.1}/docs/plans/2026-08-24-dspark-speculation-on-the-spark-cortex.md +0 -0
  331. {lobes_cli-0.76.0 → lobes_cli-0.76.1}/docs/plans/2026-08-25-cortex-replica-pool-199.md +0 -0
  332. {lobes_cli-0.76.0 → lobes_cli-0.76.1}/docs/plans/2026-08-25-lightning-on-orin.md +0 -0
  333. {lobes_cli-0.76.0 → lobes_cli-0.76.1}/docs/plans/2026-08-25-thor-cortex-speculation.md +0 -0
  334. {lobes_cli-0.76.0 → lobes_cli-0.76.1}/docs/plans/2026-08-27-capacity-relative-pool-routing.md +0 -0
  335. {lobes_cli-0.76.0 → lobes_cli-0.76.1}/docs/plans/2026-08-29-deployment-lock-per-box.md +0 -0
  336. {lobes_cli-0.76.0 → lobes_cli-0.76.1}/docs/plans/2026-08-30-peer-only-replica-pools.md +0 -0
  337. {lobes_cli-0.76.0 → lobes_cli-0.76.1}/docs/plans/2026-08-30-reranker-calibration-227.md +0 -0
  338. {lobes_cli-0.76.0 → lobes_cli-0.76.1}/docs/plans/2026-08-31-quick-wins-finish-the-rename.md +0 -0
  339. {lobes_cli-0.76.0 → lobes_cli-0.76.1}/docs/plans/2026-09-10-thor-worker-arm-qwen3-6-35b-a3b-recipes-split.md +0 -0
  340. {lobes_cli-0.76.0 → lobes_cli-0.76.1}/docs/plans/2026-09-10-thor-worker-arm-qwen3-6-35b-a3b-recipes.md +0 -0
  341. {lobes_cli-0.76.0 → lobes_cli-0.76.1}/docs/plans/2026-09-11-mesh-brain-join-split.md +0 -0
  342. {lobes_cli-0.76.0 → lobes_cli-0.76.1}/docs/plans/2026-09-11-mesh-brain-join.md +0 -0
  343. {lobes_cli-0.76.0 → lobes_cli-0.76.1}/docs/qwen3-14b-nvfp4.md +0 -0
  344. {lobes_cli-0.76.0 → lobes_cli-0.76.1}/docs/qwen3-32b-nvfp4.md +0 -0
  345. {lobes_cli-0.76.0 → lobes_cli-0.76.1}/docs/qwen3-embedding-0.6b.md +0 -0
  346. {lobes_cli-0.76.0 → lobes_cli-0.76.1}/docs/qwen3-embedding-4b.md +0 -0
  347. {lobes_cli-0.76.0 → lobes_cli-0.76.1}/docs/qwen3-reranker-0.6b.md +0 -0
  348. {lobes_cli-0.76.0 → lobes_cli-0.76.1}/docs/qwen3.5-4b-minor.md +0 -0
  349. {lobes_cli-0.76.0 → lobes_cli-0.76.1}/docs/qwen3.6-27b-nvfp4-multimodal.md +0 -0
  350. {lobes_cli-0.76.0 → lobes_cli-0.76.1}/docs/qwen3.6-27b-nvfp4.md +0 -0
  351. {lobes_cli-0.76.0 → lobes_cli-0.76.1}/docs/qwen3.6-27b-text-nvfp4-mtp.md +0 -0
  352. {lobes_cli-0.76.0 → lobes_cli-0.76.1}/docs/qwen3.6-35b-a3b-nvfp4.md +0 -0
  353. {lobes_cli-0.76.0 → lobes_cli-0.76.1}/docs/qwen3.8-27b-gguf-llamacpp.md +0 -0
  354. {lobes_cli-0.76.0 → lobes_cli-0.76.1}/docs/qwen3.8-27b-nvfp4.md +0 -0
  355. {lobes_cli-0.76.0 → lobes_cli-0.76.1}/docs/qwen38-rollout-notes.md +0 -0
  356. {lobes_cli-0.76.0 → lobes_cli-0.76.1}/docs/realtime-pipeline.md +0 -0
  357. {lobes_cli-0.76.0 → lobes_cli-0.76.1}/docs/secret-rotation.md +0 -0
  358. {lobes_cli-0.76.0 → lobes_cli-0.76.1}/docs/skill-sources.md +0 -0
  359. {lobes_cli-0.76.0 → lobes_cli-0.76.1}/docs/specs/2026-06-12-model-gear-owns-the-audio-i-o-surface-end-to-end-m.md +0 -0
  360. {lobes_cli-0.76.0 → lobes_cli-0.76.1}/docs/specs/2026-06-19-model-gear-now-serves-an-embedding-gear-qwen3-embe-2.md +0 -0
  361. {lobes_cli-0.76.0 → lobes_cli-0.76.1}/docs/specs/2026-06-26-lobes-ships-a-minor-lobe-a-cheap-warm-co-resident.md +0 -0
  362. {lobes_cli-0.76.0 → lobes_cli-0.76.1}/docs/specs/2026-06-26-lobes-ships-a-per-lobe-benchmark-suite-speed-paral.md +0 -0
  363. {lobes_cli-0.76.0 → lobes_cli-0.76.1}/docs/specs/2026-06-29-lobes-adds-a-third-middle-model-tier-and-pressure.md +0 -0
  364. {lobes_cli-0.76.0 → lobes_cli-0.76.1}/docs/specs/2026-06-30-lobes-now-defaults-to-a-spark-duo-the-qwen3-6-27b.md +0 -0
  365. {lobes_cli-0.76.0 → lobes_cli-0.76.1}/docs/specs/2026-06-30-lobes-ships-a-custom-vllm-image-from-nvcr-io-nvidi.md +0 -0
  366. {lobes_cli-0.76.0 → lobes_cli-0.76.1}/docs/specs/2026-07-01-gemma-4-12b-gear-gets-speculative-decoding-draft.md +0 -0
  367. {lobes_cli-0.76.0 → lobes_cli-0.76.1}/docs/specs/2026-07-01-lobes-unifies-its-generate-lane-on-one-vllm-nightl.md +0 -0
  368. {lobes_cli-0.76.0 → lobes_cli-0.76.1}/docs/specs/2026-07-03-lobes-exposes-the-full-colleague-runtime-stack-as.md +0 -0
  369. {lobes_cli-0.76.0 → lobes_cli-0.76.1}/docs/specs/2026-07-03-under-pressure-lobes-tells-you-the-cortex-model-is.md +0 -0
  370. {lobes_cli-0.76.0 → lobes_cli-0.76.1}/docs/specs/2026-07-04-lobes-tells-clients-the-truth-about-a-fleet-a-cons.md +0 -0
  371. {lobes_cli-0.76.0 → lobes_cli-0.76.1}/docs/specs/2026-07-07-lobes-preserves-qwen-thinking-traces-across-multi.md +0 -0
  372. {lobes_cli-0.76.0 → lobes_cli-0.76.1}/docs/specs/2026-07-09-lobes-never-advertises-a-capability-it-cannot-serv.md +0 -0
  373. {lobes_cli-0.76.0 → lobes_cli-0.76.1}/docs/specs/2026-07-10-lobes-gateway-relays-sse-streams-frame-by-frame-th.md +0 -0
  374. {lobes_cli-0.76.0 → lobes_cli-0.76.1}/docs/specs/2026-07-13-lobes-fits-the-machine-it-lands-on-one-command-det.md +0 -0
  375. {lobes_cli-0.76.0 → lobes_cli-0.76.1}/docs/specs/2026-07-14-lobes-serves-strict-grammar-constrained-tool-calls.md +0 -0
  376. {lobes_cli-0.76.0 → lobes_cli-0.76.1}/docs/specs/2026-07-14-lobes-serves-the-brain-shape-you-choose-machine-as.md +0 -0
  377. {lobes_cli-0.76.0 → lobes_cli-0.76.1}/docs/specs/2026-07-14-lobes-serves-the-mesh-brain-end-state-one-lobe-per.md +0 -0
  378. {lobes_cli-0.76.0 → lobes_cli-0.76.1}/docs/specs/2026-07-16-proxy-lobes-pairwise-auth.md +0 -0
  379. {lobes_cli-0.76.0 → lobes_cli-0.76.1}/docs/specs/2026-07-17-compose-chain-unification-init-repair-doctor-stale.md +0 -0
  380. {lobes_cli-0.76.0 → lobes_cli-0.76.1}/docs/specs/2026-07-21-realtime-voice-to-voice-astro-test-site-151.md +0 -0
  381. {lobes_cli-0.76.0 → lobes_cli-0.76.1}/docs/specs/2026-07-21-realtime-ws-server-vad-149.md +0 -0
  382. {lobes_cli-0.76.0 → lobes_cli-0.76.1}/docs/specs/2026-07-24-stt-readiness-truth-155.md +0 -0
  383. {lobes_cli-0.76.0 → lobes_cli-0.76.1}/docs/specs/2026-07-25-lobes-capabilities-tells-you-where-a-lobe-is-serve.md +0 -0
  384. {lobes_cli-0.76.0 → lobes_cli-0.76.1}/docs/specs/2026-07-31-every-lobe-in-the-mesh-can-see-the-spark-reaches-t.md +0 -0
  385. {lobes_cli-0.76.0 → lobes_cli-0.76.1}/docs/specs/2026-07-31-thor-worker-lobe-qwen3-6-35b-a3b.md +0 -0
  386. {lobes_cli-0.76.0 → lobes_cli-0.76.1}/docs/specs/2026-08-04-unsloth-qat-senses-first-class-orin-variation.md +0 -0
  387. {lobes_cli-0.76.0 → lobes_cli-0.76.1}/docs/specs/2026-08-09-hand-lobe-lfm2-5-1-2b.md +0 -0
  388. {lobes_cli-0.76.0 → lobes_cli-0.76.1}/docs/specs/2026-08-19-qwen3-8-cortex-upgrade.md +0 -0
  389. {lobes_cli-0.76.0 → lobes_cli-0.76.1}/docs/specs/2026-08-20-nemotron-lightning-worker.md +0 -0
  390. {lobes_cli-0.76.0 → lobes_cli-0.76.1}/docs/specs/2026-08-22-qwen3-8-gguf-llamacpp.md +0 -0
  391. {lobes_cli-0.76.0 → lobes_cli-0.76.1}/docs/specs/2026-08-24-dspark-speculation-on-the-spark-cortex.md +0 -0
  392. {lobes_cli-0.76.0 → lobes_cli-0.76.1}/docs/specs/2026-08-25-cortex-replica-pool-199.md +0 -0
  393. {lobes_cli-0.76.0 → lobes_cli-0.76.1}/docs/specs/2026-08-25-lightning-on-orin.md +0 -0
  394. {lobes_cli-0.76.0 → lobes_cli-0.76.1}/docs/specs/2026-08-25-thor-cortex-speculation.md +0 -0
  395. {lobes_cli-0.76.0 → lobes_cli-0.76.1}/docs/specs/2026-08-27-capacity-relative-pool-routing.md +0 -0
  396. {lobes_cli-0.76.0 → lobes_cli-0.76.1}/docs/specs/2026-08-27-flash-next-on-vllm.md +0 -0
  397. {lobes_cli-0.76.0 → lobes_cli-0.76.1}/docs/specs/2026-08-27-qwen3-8-flash-next-gguf-candidate.md +0 -0
  398. {lobes_cli-0.76.0 → lobes_cli-0.76.1}/docs/specs/2026-08-29-deployment-lock-per-box.md +0 -0
  399. {lobes_cli-0.76.0 → lobes_cli-0.76.1}/docs/specs/2026-08-30-peer-only-replica-pools.md +0 -0
  400. {lobes_cli-0.76.0 → lobes_cli-0.76.1}/docs/specs/2026-08-30-reranker-calibration-227.md +0 -0
  401. {lobes_cli-0.76.0 → lobes_cli-0.76.1}/docs/specs/2026-08-31-quick-wins-finish-the-rename.md +0 -0
  402. {lobes_cli-0.76.0 → lobes_cli-0.76.1}/docs/specs/2026-09-10-thor-worker-arm-qwen3-6-35b-a3b-recipes.md +0 -0
  403. {lobes_cli-0.76.0 → lobes_cli-0.76.1}/docs/specs/2026-09-11-mesh-brain-join.md +0 -0
  404. {lobes_cli-0.76.0 → lobes_cli-0.76.1}/docs/superpowers/plans/2026-05-22-scaffold-cli-sibling.md +0 -0
  405. {lobes_cli-0.76.0 → lobes_cli-0.76.1}/docs/superpowers/specs/2026-05-22-scaffold-cli-sibling-design.md +0 -0
  406. {lobes_cli-0.76.0 → lobes_cli-0.76.1}/docs/tensorrt-llm-investigation.md +0 -0
  407. {lobes_cli-0.76.0 → lobes_cli-0.76.1}/docs/thor-worker-flip-rollout-notes.md +0 -0
  408. {lobes_cli-0.76.0 → lobes_cli-0.76.1}/docs/tuning-profiles.md +0 -0
  409. {lobes_cli-0.76.0 → lobes_cli-0.76.1}/docs/validate-tiers.md +0 -0
  410. {lobes_cli-0.76.0 → lobes_cli-0.76.1}/docs/vllm-nightly-migration.md +0 -0
  411. {lobes_cli-0.76.0 → lobes_cli-0.76.1}/docs/worker-lightning-rollout-notes.md +0 -0
  412. {lobes_cli-0.76.0 → lobes_cli-0.76.1}/examples/minor-evals/smoke.jsonl +0 -0
  413. {lobes_cli-0.76.0 → lobes_cli-0.76.1}/lobes/__init__.py +0 -0
  414. {lobes_cli-0.76.0 → lobes_cli-0.76.1}/lobes/__main__.py +0 -0
  415. {lobes_cli-0.76.0 → lobes_cli-0.76.1}/lobes/_metrics.py +0 -0
  416. {lobes_cli-0.76.0 → lobes_cli-0.76.1}/lobes/assess.py +0 -0
  417. {lobes_cli-0.76.0 → lobes_cli-0.76.1}/lobes/bench/__init__.py +0 -0
  418. {lobes_cli-0.76.0 → lobes_cli-0.76.1}/lobes/bench/cat_probe.py +0 -0
  419. {lobes_cli-0.76.0 → lobes_cli-0.76.1}/lobes/bench/cat_score.py +0 -0
  420. {lobes_cli-0.76.0 → lobes_cli-0.76.1}/lobes/bench/compare.py +0 -0
  421. {lobes_cli-0.76.0 → lobes_cli-0.76.1}/lobes/bench/report.py +0 -0
  422. {lobes_cli-0.76.0 → lobes_cli-0.76.1}/lobes/catalog.py +0 -0
  423. {lobes_cli-0.76.0 → lobes_cli-0.76.1}/lobes/cli/__init__.py +0 -0
  424. {lobes_cli-0.76.0 → lobes_cli-0.76.1}/lobes/cli/_commands/__init__.py +0 -0
  425. {lobes_cli-0.76.0 → lobes_cli-0.76.1}/lobes/cli/_commands/_role_probe.py +0 -0
  426. {lobes_cli-0.76.0 → lobes_cli-0.76.1}/lobes/cli/_commands/assess.py +0 -0
  427. {lobes_cli-0.76.0 → lobes_cli-0.76.1}/lobes/cli/_commands/benchmark.py +0 -0
  428. {lobes_cli-0.76.0 → lobes_cli-0.76.1}/lobes/cli/_commands/calibrate.py +0 -0
  429. {lobes_cli-0.76.0 → lobes_cli-0.76.1}/lobes/cli/_commands/capabilities.py +0 -0
  430. {lobes_cli-0.76.0 → lobes_cli-0.76.1}/lobes/cli/_commands/cli.py +0 -0
  431. {lobes_cli-0.76.0 → lobes_cli-0.76.1}/lobes/cli/_commands/doctor.py +0 -0
  432. {lobes_cli-0.76.0 → lobes_cli-0.76.1}/lobes/cli/_commands/eval.py +0 -0
  433. {lobes_cli-0.76.0 → lobes_cli-0.76.1}/lobes/cli/_commands/explain.py +0 -0
  434. {lobes_cli-0.76.0 → lobes_cli-0.76.1}/lobes/cli/_commands/fleet.py +0 -0
  435. {lobes_cli-0.76.0 → lobes_cli-0.76.1}/lobes/cli/_commands/init.py +0 -0
  436. {lobes_cli-0.76.0 → lobes_cli-0.76.1}/lobes/cli/_commands/learn.py +0 -0
  437. {lobes_cli-0.76.0 → lobes_cli-0.76.1}/lobes/cli/_commands/logs.py +0 -0
  438. {lobes_cli-0.76.0 → lobes_cli-0.76.1}/lobes/cli/_commands/measure.py +0 -0
  439. {lobes_cli-0.76.0 → lobes_cli-0.76.1}/lobes/cli/_commands/mesh.py +0 -0
  440. {lobes_cli-0.76.0 → lobes_cli-0.76.1}/lobes/cli/_commands/overview.py +0 -0
  441. {lobes_cli-0.76.0 → lobes_cli-0.76.1}/lobes/cli/_commands/route.py +0 -0
  442. {lobes_cli-0.76.0 → lobes_cli-0.76.1}/lobes/cli/_commands/run.py +0 -0
  443. {lobes_cli-0.76.0 → lobes_cli-0.76.1}/lobes/cli/_commands/serve.py +0 -0
  444. {lobes_cli-0.76.0 → lobes_cli-0.76.1}/lobes/cli/_commands/status.py +0 -0
  445. {lobes_cli-0.76.0 → lobes_cli-0.76.1}/lobes/cli/_commands/stop.py +0 -0
  446. {lobes_cli-0.76.0 → lobes_cli-0.76.1}/lobes/cli/_commands/switch.py +0 -0
  447. {lobes_cli-0.76.0 → lobes_cli-0.76.1}/lobes/cli/_commands/tunnel.py +0 -0
  448. {lobes_cli-0.76.0 → lobes_cli-0.76.1}/lobes/cli/_commands/up.py +0 -0
  449. {lobes_cli-0.76.0 → lobes_cli-0.76.1}/lobes/cli/_commands/whoami.py +0 -0
  450. {lobes_cli-0.76.0 → lobes_cli-0.76.1}/lobes/cli/_errors.py +0 -0
  451. {lobes_cli-0.76.0 → lobes_cli-0.76.1}/lobes/cli/_live.py +0 -0
  452. {lobes_cli-0.76.0 → lobes_cli-0.76.1}/lobes/cli/_output.py +0 -0
  453. {lobes_cli-0.76.0 → lobes_cli-0.76.1}/lobes/cli/_runtime_ops.py +0 -0
  454. {lobes_cli-0.76.0 → lobes_cli-0.76.1}/lobes/explain/__init__.py +0 -0
  455. {lobes_cli-0.76.0 → lobes_cli-0.76.1}/lobes/explain/catalog.py +0 -0
  456. {lobes_cli-0.76.0 → lobes_cli-0.76.1}/lobes/gateway/__init__.py +0 -0
  457. {lobes_cli-0.76.0 → lobes_cli-0.76.1}/lobes/gateway/__main__.py +0 -0
  458. {lobes_cli-0.76.0 → lobes_cli-0.76.1}/lobes/gateway/_authlog.py +0 -0
  459. {lobes_cli-0.76.0 → lobes_cli-0.76.1}/lobes/gateway/_config.py +0 -0
  460. {lobes_cli-0.76.0 → lobes_cli-0.76.1}/lobes/gateway/_mesh_config.py +0 -0
  461. {lobes_cli-0.76.0 → lobes_cli-0.76.1}/lobes/gateway/_mesh_roster.py +0 -0
  462. {lobes_cli-0.76.0 → lobes_cli-0.76.1}/lobes/gateway/_mesh_routes.py +0 -0
  463. {lobes_cli-0.76.0 → lobes_cli-0.76.1}/lobes/gateway/_mesh_routing.py +0 -0
  464. {lobes_cli-0.76.0 → lobes_cli-0.76.1}/lobes/gateway/_mesh_wire.py +0 -0
  465. {lobes_cli-0.76.0 → lobes_cli-0.76.1}/lobes/gateway/_pressure_policy.py +0 -0
  466. {lobes_cli-0.76.0 → lobes_cli-0.76.1}/lobes/gateway/_readiness.py +0 -0
  467. {lobes_cli-0.76.0 → lobes_cli-0.76.1}/lobes/gateway/_realtime.py +0 -0
  468. {lobes_cli-0.76.0 → lobes_cli-0.76.1}/lobes/gateway/_replicas.py +0 -0
  469. {lobes_cli-0.76.0 → lobes_cli-0.76.1}/lobes/gateway/_routing.py +0 -0
  470. {lobes_cli-0.76.0 → lobes_cli-0.76.1}/lobes/gateway/_selection.py +0 -0
  471. {lobes_cli-0.76.0 → lobes_cli-0.76.1}/lobes/gateway/_tier_request.py +0 -0
  472. {lobes_cli-0.76.0 → lobes_cli-0.76.1}/lobes/gateway/server.py +0 -0
  473. {lobes_cli-0.76.0 → lobes_cli-0.76.1}/lobes/machines/__init__.py +0 -0
  474. {lobes_cli-0.76.0 → lobes_cli-0.76.1}/lobes/machines/_registry.py +0 -0
  475. {lobes_cli-0.76.0 → lobes_cli-0.76.1}/lobes/machines/_strategy.py +0 -0
  476. {lobes_cli-0.76.0 → lobes_cli-0.76.1}/lobes/machines/_traits.py +0 -0
  477. {lobes_cli-0.76.0 → lobes_cli-0.76.1}/lobes/machines/blackwell.py +0 -0
  478. {lobes_cli-0.76.0 → lobes_cli-0.76.1}/lobes/machines/generic.py +0 -0
  479. {lobes_cli-0.76.0 → lobes_cli-0.76.1}/lobes/machines/orin.py +0 -0
  480. {lobes_cli-0.76.0 → lobes_cli-0.76.1}/lobes/machines/spark.py +0 -0
  481. {lobes_cli-0.76.0 → lobes_cli-0.76.1}/lobes/machines/thor.py +0 -0
  482. {lobes_cli-0.76.0 → lobes_cli-0.76.1}/lobes/minor/__init__.py +0 -0
  483. {lobes_cli-0.76.0 → lobes_cli-0.76.1}/lobes/minor/_client.py +0 -0
  484. {lobes_cli-0.76.0 → lobes_cli-0.76.1}/lobes/minor/governance.py +0 -0
  485. {lobes_cli-0.76.0 → lobes_cli-0.76.1}/lobes/profiles/__init__.py +0 -0
  486. {lobes_cli-0.76.0 → lobes_cli-0.76.1}/lobes/profiles/builtin/__init__.py +0 -0
  487. {lobes_cli-0.76.0 → lobes_cli-0.76.1}/lobes/profiles/builtin/base.toml +0 -0
  488. {lobes_cli-0.76.0 → lobes_cli-0.76.1}/lobes/profiles/builtin/orin.toml +0 -0
  489. {lobes_cli-0.76.0 → lobes_cli-0.76.1}/lobes/profiles/builtin/spark.toml +0 -0
  490. {lobes_cli-0.76.0 → lobes_cli-0.76.1}/lobes/profiles/builtin/thor.toml +0 -0
  491. {lobes_cli-0.76.0 → lobes_cli-0.76.1}/lobes/profiles/builtin_shapes/__init__.py +0 -0
  492. {lobes_cli-0.76.0 → lobes_cli-0.76.1}/lobes/profiles/builtin_shapes/gateway-only.toml +0 -0
  493. {lobes_cli-0.76.0 → lobes_cli-0.76.1}/lobes/profiles/builtin_shapes/machine-as-brain.toml +0 -0
  494. {lobes_cli-0.76.0 → lobes_cli-0.76.1}/lobes/profiles/builtin_shapes/orin-associate.toml +0 -0
  495. {lobes_cli-0.76.0 → lobes_cli-0.76.1}/lobes/profiles/builtin_shapes/orin-cortex.toml +0 -0
  496. {lobes_cli-0.76.0 → lobes_cli-0.76.1}/lobes/profiles/builtin_shapes/orin-lobe.toml +0 -0
  497. {lobes_cli-0.76.0 → lobes_cli-0.76.1}/lobes/profiles/builtin_shapes/orin-small.toml +0 -0
  498. {lobes_cli-0.76.0 → lobes_cli-0.76.1}/lobes/profiles/builtin_shapes/spark-lobe.toml +0 -0
  499. {lobes_cli-0.76.0 → lobes_cli-0.76.1}/lobes/profiles/builtin_shapes/thor-lobe.toml +0 -0
  500. {lobes_cli-0.76.0 → lobes_cli-0.76.1}/lobes/profiles/builtin_shapes/thor-muse.toml +0 -0
  501. {lobes_cli-0.76.0 → lobes_cli-0.76.1}/lobes/profiles/builtin_shapes/thor-worker.toml +0 -0
  502. {lobes_cli-0.76.0 → lobes_cli-0.76.1}/lobes/profiles/loader.py +0 -0
  503. {lobes_cli-0.76.0 → lobes_cli-0.76.1}/lobes/profiles/render.py +0 -0
  504. {lobes_cli-0.76.0 → lobes_cli-0.76.1}/lobes/profiles/schema.py +0 -0
  505. {lobes_cli-0.76.0 → lobes_cli-0.76.1}/lobes/profiles/shape_render.py +0 -0
  506. {lobes_cli-0.76.0 → lobes_cli-0.76.1}/lobes/profiles/shapes.py +0 -0
  507. {lobes_cli-0.76.0 → lobes_cli-0.76.1}/lobes/realtime/__init__.py +0 -0
  508. {lobes_cli-0.76.0 → lobes_cli-0.76.1}/lobes/realtime/__main__.py +0 -0
  509. {lobes_cli-0.76.0 → lobes_cli-0.76.1}/lobes/realtime/_conversation.py +0 -0
  510. {lobes_cli-0.76.0 → lobes_cli-0.76.1}/lobes/realtime/_floor.py +0 -0
  511. {lobes_cli-0.76.0 → lobes_cli-0.76.1}/lobes/realtime/_pcm.py +0 -0
  512. {lobes_cli-0.76.0 → lobes_cli-0.76.1}/lobes/realtime/_readiness.py +0 -0
  513. {lobes_cli-0.76.0 → lobes_cli-0.76.1}/lobes/realtime/_segmenter.py +0 -0
  514. {lobes_cli-0.76.0 → lobes_cli-0.76.1}/lobes/realtime/_session.py +0 -0
  515. {lobes_cli-0.76.0 → lobes_cli-0.76.1}/lobes/realtime/_settings.py +0 -0
  516. {lobes_cli-0.76.0 → lobes_cli-0.76.1}/lobes/realtime/_turn.py +0 -0
  517. {lobes_cli-0.76.0 → lobes_cli-0.76.1}/lobes/realtime/_wire.py +0 -0
  518. {lobes_cli-0.76.0 → lobes_cli-0.76.1}/lobes/realtime/app.py +0 -0
  519. {lobes_cli-0.76.0 → lobes_cli-0.76.1}/lobes/realtime/audio_facade.py +0 -0
  520. {lobes_cli-0.76.0 → lobes_cli-0.76.1}/lobes/realtime/chatterbox_server.py +0 -0
  521. {lobes_cli-0.76.0 → lobes_cli-0.76.1}/lobes/realtime/protocol.py +0 -0
  522. {lobes_cli-0.76.0 → lobes_cli-0.76.1}/lobes/realtime/tts_client.py +0 -0
  523. {lobes_cli-0.76.0 → lobes_cli-0.76.1}/lobes/roles.py +0 -0
  524. {lobes_cli-0.76.0 → lobes_cli-0.76.1}/lobes/roles_measure.py +0 -0
  525. {lobes_cli-0.76.0 → lobes_cli-0.76.1}/lobes/runtime/__init__.py +0 -0
  526. {lobes_cli-0.76.0 → lobes_cli-0.76.1}/lobes/runtime/_buildability.py +0 -0
  527. {lobes_cli-0.76.0 → lobes_cli-0.76.1}/lobes/runtime/_compose.py +0 -0
  528. {lobes_cli-0.76.0 → lobes_cli-0.76.1}/lobes/runtime/_detect.py +0 -0
  529. {lobes_cli-0.76.0 → lobes_cli-0.76.1}/lobes/runtime/_env.py +0 -0
  530. {lobes_cli-0.76.0 → lobes_cli-0.76.1}/lobes/runtime/_health.py +0 -0
  531. {lobes_cli-0.76.0 → lobes_cli-0.76.1}/lobes/runtime/_lock.py +0 -0
  532. {lobes_cli-0.76.0 → lobes_cli-0.76.1}/lobes/runtime/_parser.py +0 -0
  533. {lobes_cli-0.76.0 → lobes_cli-0.76.1}/lobes/runtime/_pressure.py +0 -0
  534. {lobes_cli-0.76.0 → lobes_cli-0.76.1}/lobes/runtime/_tunnel.py +0 -0
  535. {lobes_cli-0.76.0 → lobes_cli-0.76.1}/lobes/templates/__init__.py +0 -0
  536. {lobes_cli-0.76.0 → lobes_cli-0.76.1}/lobes/templates/cf-tunnel.env.example +0 -0
  537. {lobes_cli-0.76.0 → lobes_cli-0.76.1}/lobes/templates/docker-compose.yml +0 -0
  538. {lobes_cli-0.76.0 → lobes_cli-0.76.1}/lobes/templates/env.example +0 -0
  539. {lobes_cli-0.76.0 → lobes_cli-0.76.1}/lobes/templates/fleet/Dockerfile.chatterbox +0 -0
  540. {lobes_cli-0.76.0 → lobes_cli-0.76.1}/lobes/templates/fleet/Dockerfile.gateway +0 -0
  541. {lobes_cli-0.76.0 → lobes_cli-0.76.1}/lobes/templates/fleet/Dockerfile.parakeet +0 -0
  542. {lobes_cli-0.76.0 → lobes_cli-0.76.1}/lobes/templates/fleet/Dockerfile.realtime +0 -0
  543. {lobes_cli-0.76.0 → lobes_cli-0.76.1}/lobes/templates/fleet/Dockerfile.vllm-gemma4 +0 -0
  544. {lobes_cli-0.76.0 → lobes_cli-0.76.1}/lobes/templates/fleet/__init__.py +0 -0
  545. {lobes_cli-0.76.0 → lobes_cli-0.76.1}/lobes/templates/fleet/_readiness.py +0 -0
  546. {lobes_cli-0.76.0 → lobes_cli-0.76.1}/lobes/templates/fleet/docker-compose.audio.yml +0 -0
  547. {lobes_cli-0.76.0 → lobes_cli-0.76.1}/lobes/templates/fleet/docker-compose.yml +0 -0
  548. {lobes_cli-0.76.0 → lobes_cli-0.76.1}/lobes/templates/fleet/env.audio.example +0 -0
  549. {lobes_cli-0.76.0 → lobes_cli-0.76.1}/lobes/templates/fleet/env.example +0 -0
  550. {lobes_cli-0.76.0 → lobes_cli-0.76.1}/lobes/templates/fleet/listen_server.py +0 -0
  551. {lobes_cli-0.76.0 → lobes_cli-0.76.1}/lobes/templates/fleet/qwen3_reranker.jinja +0 -0
  552. {lobes_cli-0.76.0 → lobes_cli-0.76.1}/lobes/templates/mg-logwrap.sh +0 -0
  553. {lobes_cli-0.76.0 → lobes_cli-0.76.1}/lobes/variation.py +0 -0
  554. {lobes_cli-0.76.0 → lobes_cli-0.76.1}/lobes/variation_catalog.py +0 -0
  555. {lobes_cli-0.76.0 → lobes_cli-0.76.1}/lobes/vllm_plugins/__init__.py +0 -0
  556. {lobes_cli-0.76.0 → lobes_cli-0.76.1}/lobes/vllm_plugins/qwen3_thinking_tool_parser.py +0 -0
  557. {lobes_cli-0.76.0 → lobes_cli-0.76.1}/packaging/model-gear/README.md +0 -0
  558. {lobes_cli-0.76.0 → lobes_cli-0.76.1}/packaging/model-gear/pyproject.toml +0 -0
  559. {lobes_cli-0.76.0 → lobes_cli-0.76.1}/scripts/accept-by-proxy.sh +0 -0
  560. {lobes_cli-0.76.0 → lobes_cli-0.76.1}/scripts/accept-shape.sh +0 -0
  561. {lobes_cli-0.76.0 → lobes_cli-0.76.1}/scripts/audio-smoke.py +0 -0
  562. {lobes_cli-0.76.0 → lobes_cli-0.76.1}/scripts/concurrency-probe.py +0 -0
  563. {lobes_cli-0.76.0 → lobes_cli-0.76.1}/scripts/gen-api-key.py +0 -0
  564. {lobes_cli-0.76.0 → lobes_cli-0.76.1}/scripts/live-check.sh +0 -0
  565. {lobes_cli-0.76.0 → lobes_cli-0.76.1}/scripts/prefill-depth-curve.py +0 -0
  566. {lobes_cli-0.76.0 → lobes_cli-0.76.1}/scripts/probe_reranker_calibration.py +0 -0
  567. {lobes_cli-0.76.0 → lobes_cli-0.76.1}/scripts/realtime-smoke.py +0 -0
  568. {lobes_cli-0.76.0 → lobes_cli-0.76.1}/scripts/realtime-voice-loop.py +0 -0
  569. {lobes_cli-0.76.0 → lobes_cli-0.76.1}/scripts/scan_deployment_secrets.py +0 -0
  570. {lobes_cli-0.76.0 → lobes_cli-0.76.1}/scripts/spec-arms.py +0 -0
  571. {lobes_cli-0.76.0 → lobes_cli-0.76.1}/scripts/spike-preflight.sh +0 -0
  572. {lobes_cli-0.76.0 → lobes_cli-0.76.1}/scripts/stream-measure.py +0 -0
  573. {lobes_cli-0.76.0 → lobes_cli-0.76.1}/scripts/validate-tiers.sh +0 -0
  574. {lobes_cli-0.76.0 → lobes_cli-0.76.1}/site/.env.example +0 -0
  575. {lobes_cli-0.76.0 → lobes_cli-0.76.1}/site/.gitignore +0 -0
  576. {lobes_cli-0.76.0 → lobes_cli-0.76.1}/site/.nvmrc +0 -0
  577. {lobes_cli-0.76.0 → lobes_cli-0.76.1}/site/README.md +0 -0
  578. {lobes_cli-0.76.0 → lobes_cli-0.76.1}/site/astro.config.mjs +0 -0
  579. {lobes_cli-0.76.0 → lobes_cli-0.76.1}/site/package-lock.json +0 -0
  580. {lobes_cli-0.76.0 → lobes_cli-0.76.1}/site/package.json +0 -0
  581. {lobes_cli-0.76.0 → lobes_cli-0.76.1}/site/proxy/gateway-proxy.mjs +0 -0
  582. {lobes_cli-0.76.0 → lobes_cli-0.76.1}/site/public/favicon.svg +0 -0
  583. {lobes_cli-0.76.0 → lobes_cli-0.76.1}/site/public/worklets/pcm-capture-processor.js +0 -0
  584. {lobes_cli-0.76.0 → lobes_cli-0.76.1}/site/src/components/ConnectionPanel.astro +0 -0
  585. {lobes_cli-0.76.0 → lobes_cli-0.76.1}/site/src/components/EventStream.astro +0 -0
  586. {lobes_cli-0.76.0 → lobes_cli-0.76.1}/site/src/components/Footer.astro +0 -0
  587. {lobes_cli-0.76.0 → lobes_cli-0.76.1}/site/src/components/Header.astro +0 -0
  588. {lobes_cli-0.76.0 → lobes_cli-0.76.1}/site/src/components/MicIsland.astro +0 -0
  589. {lobes_cli-0.76.0 → lobes_cli-0.76.1}/site/src/components/SignalMesh.astro +0 -0
  590. {lobes_cli-0.76.0 → lobes_cli-0.76.1}/site/src/layouts/Layout.astro +0 -0
  591. {lobes_cli-0.76.0 → lobes_cli-0.76.1}/site/src/pages/dev-connection.astro +0 -0
  592. {lobes_cli-0.76.0 → lobes_cli-0.76.1}/site/src/pages/dev-events.astro +0 -0
  593. {lobes_cli-0.76.0 → lobes_cli-0.76.1}/site/src/pages/dev-mic.astro +0 -0
  594. {lobes_cli-0.76.0 → lobes_cli-0.76.1}/site/src/pages/index.astro +0 -0
  595. {lobes_cli-0.76.0 → lobes_cli-0.76.1}/site/src/scripts/audio-graph.ts +0 -0
  596. {lobes_cli-0.76.0 → lobes_cli-0.76.1}/site/src/scripts/audio-playback.test.ts +0 -0
  597. {lobes_cli-0.76.0 → lobes_cli-0.76.1}/site/src/scripts/audio-playback.ts +0 -0
  598. {lobes_cli-0.76.0 → lobes_cli-0.76.1}/site/src/scripts/audio-test-doubles.ts +0 -0
  599. {lobes_cli-0.76.0 → lobes_cli-0.76.1}/site/src/scripts/connection-panel.ts +0 -0
  600. {lobes_cli-0.76.0 → lobes_cli-0.76.1}/site/src/scripts/dev-mic-harness.ts +0 -0
  601. {lobes_cli-0.76.0 → lobes_cli-0.76.1}/site/src/scripts/event-fixtures.ts +0 -0
  602. {lobes_cli-0.76.0 → lobes_cli-0.76.1}/site/src/scripts/event-icons.ts +0 -0
  603. {lobes_cli-0.76.0 → lobes_cli-0.76.1}/site/src/scripts/event-log.test.ts +0 -0
  604. {lobes_cli-0.76.0 → lobes_cli-0.76.1}/site/src/scripts/event-log.ts +0 -0
  605. {lobes_cli-0.76.0 → lobes_cli-0.76.1}/site/src/scripts/mic-capture.test.ts +0 -0
  606. {lobes_cli-0.76.0 → lobes_cli-0.76.1}/site/src/scripts/mic-capture.ts +0 -0
  607. {lobes_cli-0.76.0 → lobes_cli-0.76.1}/site/src/scripts/mic-island.test.ts +0 -0
  608. {lobes_cli-0.76.0 → lobes_cli-0.76.1}/site/src/scripts/mic-island.ts +0 -0
  609. {lobes_cli-0.76.0 → lobes_cli-0.76.1}/site/src/scripts/no-mic-mute.test.ts +0 -0
  610. {lobes_cli-0.76.0 → lobes_cli-0.76.1}/site/src/scripts/pcm-wire.test.ts +0 -0
  611. {lobes_cli-0.76.0 → lobes_cli-0.76.1}/site/src/scripts/pcm-wire.ts +0 -0
  612. {lobes_cli-0.76.0 → lobes_cli-0.76.1}/site/src/scripts/realtime-connection.ts +0 -0
  613. {lobes_cli-0.76.0 → lobes_cli-0.76.1}/site/src/scripts/realtime-events.ts +0 -0
  614. {lobes_cli-0.76.0 → lobes_cli-0.76.1}/site/src/styles/global.css +0 -0
  615. {lobes_cli-0.76.0 → lobes_cli-0.76.1}/site/test/connection-panel.test.ts +0 -0
  616. {lobes_cli-0.76.0 → lobes_cli-0.76.1}/site/test/gateway-proxy.test.ts +0 -0
  617. {lobes_cli-0.76.0 → lobes_cli-0.76.1}/site/test/realtime-connection.test.ts +0 -0
  618. {lobes_cli-0.76.0 → lobes_cli-0.76.1}/site/tsconfig.json +0 -0
  619. {lobes_cli-0.76.0 → lobes_cli-0.76.1}/site/vitest.config.ts +0 -0
  620. {lobes_cli-0.76.0 → lobes_cli-0.76.1}/sonar-project.properties +0 -0
  621. {lobes_cli-0.76.0 → lobes_cli-0.76.1}/tests/__init__.py +0 -0
  622. {lobes_cli-0.76.0 → lobes_cli-0.76.1}/tests/conftest.py +0 -0
  623. {lobes_cli-0.76.0 → lobes_cli-0.76.1}/tests/fixtures/deployments/fixture-card/Dockerfile.gateway +0 -0
  624. {lobes_cli-0.76.0 → lobes_cli-0.76.1}/tests/fixtures/deployments/fixture-card/VARIATION.md +0 -0
  625. {lobes_cli-0.76.0 → lobes_cli-0.76.1}/tests/fixtures/deployments/fixture-card/deployment.lock.toml +0 -0
  626. {lobes_cli-0.76.0 → lobes_cli-0.76.1}/tests/fixtures/deployments/fixture-card/docker-compose.override.yml +0 -0
  627. {lobes_cli-0.76.0 → lobes_cli-0.76.1}/tests/fixtures/deployments/fixture-card/docker-compose.yml +0 -0
  628. {lobes_cli-0.76.0 → lobes_cli-0.76.1}/tests/fixtures/deployments/fixture-card__fixture-shape/VARIATION.md +0 -0
  629. {lobes_cli-0.76.0 → lobes_cli-0.76.1}/tests/fixtures/deployments/fixture-card__fixture-shape/deployment.lock.toml +0 -0
  630. {lobes_cli-0.76.0 → lobes_cli-0.76.1}/tests/fixtures/deployments/fixture-card__fixture-shape/docker-compose.override.yml +0 -0
  631. {lobes_cli-0.76.0 → lobes_cli-0.76.1}/tests/fixtures/deployments/fixture-card__fixture-shape/docker-compose.shape.yml +0 -0
  632. {lobes_cli-0.76.0 → lobes_cli-0.76.1}/tests/fixtures/deployments/fixture-card__fixture-shape/docker-compose.yml +0 -0
  633. {lobes_cli-0.76.0 → lobes_cli-0.76.1}/tests/fixtures/upgrade_compat/README.md +0 -0
  634. {lobes_cli-0.76.0 → lobes_cli-0.76.1}/tests/fixtures/upgrade_compat/fleet/docker-compose.yml +0 -0
  635. {lobes_cli-0.76.0 → lobes_cli-0.76.1}/tests/fixtures/upgrade_compat/fleet/env.example +0 -0
  636. {lobes_cli-0.76.0 → lobes_cli-0.76.1}/tests/fixtures/upgrade_compat/single/docker-compose.yml +0 -0
  637. {lobes_cli-0.76.0 → lobes_cli-0.76.1}/tests/fixtures/upgrade_compat/single/env.example +0 -0
  638. {lobes_cli-0.76.0 → lobes_cli-0.76.1}/tests/goldens/README.md +0 -0
  639. {lobes_cli-0.76.0 → lobes_cli-0.76.1}/tests/goldens/__init__.py +0 -0
  640. {lobes_cli-0.76.0 → lobes_cli-0.76.1}/tests/goldens/base.env +0 -0
  641. {lobes_cli-0.76.0 → lobes_cli-0.76.1}/tests/goldens/no-pool-gateway.json +0 -0
  642. {lobes_cli-0.76.0 → lobes_cli-0.76.1}/tests/goldens/orin.env +0 -0
  643. {lobes_cli-0.76.0 → lobes_cli-0.76.1}/tests/goldens/regen.py +0 -0
  644. {lobes_cli-0.76.0 → lobes_cli-0.76.1}/tests/goldens/shapes/gateway-only__base.env +0 -0
  645. {lobes_cli-0.76.0 → lobes_cli-0.76.1}/tests/goldens/shapes/gateway-only__orin.env +0 -0
  646. {lobes_cli-0.76.0 → lobes_cli-0.76.1}/tests/goldens/shapes/gateway-only__spark.env +0 -0
  647. {lobes_cli-0.76.0 → lobes_cli-0.76.1}/tests/goldens/shapes/gateway-only__thor.env +0 -0
  648. {lobes_cli-0.76.0 → lobes_cli-0.76.1}/tests/goldens/shapes/orin-associate__base.env +0 -0
  649. {lobes_cli-0.76.0 → lobes_cli-0.76.1}/tests/goldens/shapes/orin-associate__orin.env +0 -0
  650. {lobes_cli-0.76.0 → lobes_cli-0.76.1}/tests/goldens/shapes/orin-associate__spark.env +0 -0
  651. {lobes_cli-0.76.0 → lobes_cli-0.76.1}/tests/goldens/shapes/orin-associate__thor.env +0 -0
  652. {lobes_cli-0.76.0 → lobes_cli-0.76.1}/tests/goldens/shapes/orin-cortex__base.env +0 -0
  653. {lobes_cli-0.76.0 → lobes_cli-0.76.1}/tests/goldens/shapes/orin-cortex__orin.env +0 -0
  654. {lobes_cli-0.76.0 → lobes_cli-0.76.1}/tests/goldens/shapes/orin-cortex__spark.env +0 -0
  655. {lobes_cli-0.76.0 → lobes_cli-0.76.1}/tests/goldens/shapes/orin-cortex__thor.env +0 -0
  656. {lobes_cli-0.76.0 → lobes_cli-0.76.1}/tests/goldens/shapes/orin-lobe__base.env +0 -0
  657. {lobes_cli-0.76.0 → lobes_cli-0.76.1}/tests/goldens/shapes/orin-lobe__orin.env +0 -0
  658. {lobes_cli-0.76.0 → lobes_cli-0.76.1}/tests/goldens/shapes/orin-lobe__spark.env +0 -0
  659. {lobes_cli-0.76.0 → lobes_cli-0.76.1}/tests/goldens/shapes/orin-lobe__thor.env +0 -0
  660. {lobes_cli-0.76.0 → lobes_cli-0.76.1}/tests/goldens/shapes/orin-small__base.env +0 -0
  661. {lobes_cli-0.76.0 → lobes_cli-0.76.1}/tests/goldens/shapes/orin-small__orin.env +0 -0
  662. {lobes_cli-0.76.0 → lobes_cli-0.76.1}/tests/goldens/shapes/orin-small__spark.env +0 -0
  663. {lobes_cli-0.76.0 → lobes_cli-0.76.1}/tests/goldens/shapes/orin-small__thor.env +0 -0
  664. {lobes_cli-0.76.0 → lobes_cli-0.76.1}/tests/goldens/shapes/spark-lobe__base.env +0 -0
  665. {lobes_cli-0.76.0 → lobes_cli-0.76.1}/tests/goldens/shapes/spark-lobe__orin.env +0 -0
  666. {lobes_cli-0.76.0 → lobes_cli-0.76.1}/tests/goldens/shapes/spark-lobe__spark.env +0 -0
  667. {lobes_cli-0.76.0 → lobes_cli-0.76.1}/tests/goldens/shapes/spark-lobe__thor.env +0 -0
  668. {lobes_cli-0.76.0 → lobes_cli-0.76.1}/tests/goldens/shapes/thor-lobe__base.env +0 -0
  669. {lobes_cli-0.76.0 → lobes_cli-0.76.1}/tests/goldens/shapes/thor-lobe__orin.env +0 -0
  670. {lobes_cli-0.76.0 → lobes_cli-0.76.1}/tests/goldens/shapes/thor-lobe__spark.env +0 -0
  671. {lobes_cli-0.76.0 → lobes_cli-0.76.1}/tests/goldens/shapes/thor-lobe__thor.env +0 -0
  672. {lobes_cli-0.76.0 → lobes_cli-0.76.1}/tests/goldens/shapes/thor-muse__base.env +0 -0
  673. {lobes_cli-0.76.0 → lobes_cli-0.76.1}/tests/goldens/shapes/thor-muse__orin.env +0 -0
  674. {lobes_cli-0.76.0 → lobes_cli-0.76.1}/tests/goldens/shapes/thor-muse__spark.env +0 -0
  675. {lobes_cli-0.76.0 → lobes_cli-0.76.1}/tests/goldens/shapes/thor-muse__thor.env +0 -0
  676. {lobes_cli-0.76.0 → lobes_cli-0.76.1}/tests/goldens/shapes/thor-worker__base.env +0 -0
  677. {lobes_cli-0.76.0 → lobes_cli-0.76.1}/tests/goldens/shapes/thor-worker__orin.env +0 -0
  678. {lobes_cli-0.76.0 → lobes_cli-0.76.1}/tests/goldens/shapes/thor-worker__spark.env +0 -0
  679. {lobes_cli-0.76.0 → lobes_cli-0.76.1}/tests/goldens/shapes/thor-worker__thor.env +0 -0
  680. {lobes_cli-0.76.0 → lobes_cli-0.76.1}/tests/goldens/spark.env +0 -0
  681. {lobes_cli-0.76.0 → lobes_cli-0.76.1}/tests/goldens/switch-plans.txt +0 -0
  682. {lobes_cli-0.76.0 → lobes_cli-0.76.1}/tests/goldens/template-defaults.env +0 -0
  683. {lobes_cli-0.76.0 → lobes_cli-0.76.1}/tests/goldens/thor.env +0 -0
  684. {lobes_cli-0.76.0 → lobes_cli-0.76.1}/tests/test_assess.py +0 -0
  685. {lobes_cli-0.76.0 → lobes_cli-0.76.1}/tests/test_assess_perf.py +0 -0
  686. {lobes_cli-0.76.0 → lobes_cli-0.76.1}/tests/test_associate_compose.py +0 -0
  687. {lobes_cli-0.76.0 → lobes_cli-0.76.1}/tests/test_associate_exposure.py +0 -0
  688. {lobes_cli-0.76.0 → lobes_cli-0.76.1}/tests/test_associate_gateway_boundaries.py +0 -0
  689. {lobes_cli-0.76.0 → lobes_cli-0.76.1}/tests/test_associate_role.py +0 -0
  690. {lobes_cli-0.76.0 → lobes_cli-0.76.1}/tests/test_bench_compare.py +0 -0
  691. {lobes_cli-0.76.0 → lobes_cli-0.76.1}/tests/test_bench_report.py +0 -0
  692. {lobes_cli-0.76.0 → lobes_cli-0.76.1}/tests/test_benchmark_all_lobes.py +0 -0
  693. {lobes_cli-0.76.0 → lobes_cli-0.76.1}/tests/test_boundary_serves_only.py +0 -0
  694. {lobes_cli-0.76.0 → lobes_cli-0.76.1}/tests/test_buildability_guard.py +0 -0
  695. {lobes_cli-0.76.0 → lobes_cli-0.76.1}/tests/test_calibration_knee.py +0 -0
  696. {lobes_cli-0.76.0 → lobes_cli-0.76.1}/tests/test_cat_probe.py +0 -0
  697. {lobes_cli-0.76.0 → lobes_cli-0.76.1}/tests/test_cat_score.py +0 -0
  698. {lobes_cli-0.76.0 → lobes_cli-0.76.1}/tests/test_catalog.py +0 -0
  699. {lobes_cli-0.76.0 → lobes_cli-0.76.1}/tests/test_catalog_tiers.py +0 -0
  700. {lobes_cli-0.76.0 → lobes_cli-0.76.1}/tests/test_chatterbox_pcm16.py +0 -0
  701. {lobes_cli-0.76.0 → lobes_cli-0.76.1}/tests/test_chatterbox_readiness.py +0 -0
  702. {lobes_cli-0.76.0 → lobes_cli-0.76.1}/tests/test_cli.py +0 -0
  703. {lobes_cli-0.76.0 → lobes_cli-0.76.1}/tests/test_cli_benchmark_profiles.py +0 -0
  704. {lobes_cli-0.76.0 → lobes_cli-0.76.1}/tests/test_cli_calibrate.py +0 -0
  705. {lobes_cli-0.76.0 → lobes_cli-0.76.1}/tests/test_cli_capabilities.py +0 -0
  706. {lobes_cli-0.76.0 → lobes_cli-0.76.1}/tests/test_cli_capabilities_replicas.py +0 -0
  707. {lobes_cli-0.76.0 → lobes_cli-0.76.1}/tests/test_cli_eval.py +0 -0
  708. {lobes_cli-0.76.0 → lobes_cli-0.76.1}/tests/test_cli_eval_cat.py +0 -0
  709. {lobes_cli-0.76.0 → lobes_cli-0.76.1}/tests/test_cli_fleet.py +0 -0
  710. {lobes_cli-0.76.0 → lobes_cli-0.76.1}/tests/test_cli_gateway_auth.py +0 -0
  711. {lobes_cli-0.76.0 → lobes_cli-0.76.1}/tests/test_cli_introspection.py +0 -0
  712. {lobes_cli-0.76.0 → lobes_cli-0.76.1}/tests/test_cli_logs.py +0 -0
  713. {lobes_cli-0.76.0 → lobes_cli-0.76.1}/tests/test_cli_measure.py +0 -0
  714. {lobes_cli-0.76.0 → lobes_cli-0.76.1}/tests/test_cli_mesh.py +0 -0
  715. {lobes_cli-0.76.0 → lobes_cli-0.76.1}/tests/test_cli_route.py +0 -0
  716. {lobes_cli-0.76.0 → lobes_cli-0.76.1}/tests/test_cli_run.py +0 -0
  717. {lobes_cli-0.76.0 → lobes_cli-0.76.1}/tests/test_cli_runtime.py +0 -0
  718. {lobes_cli-0.76.0 → lobes_cli-0.76.1}/tests/test_cli_tunnel.py +0 -0
  719. {lobes_cli-0.76.0 → lobes_cli-0.76.1}/tests/test_cli_up.py +0 -0
  720. {lobes_cli-0.76.0 → lobes_cli-0.76.1}/tests/test_cli_wiring.py +0 -0
  721. {lobes_cli-0.76.0 → lobes_cli-0.76.1}/tests/test_client_reasoning_roundtrip.py +0 -0
  722. {lobes_cli-0.76.0 → lobes_cli-0.76.1}/tests/test_colleague_contract.py +0 -0
  723. {lobes_cli-0.76.0 → lobes_cli-0.76.1}/tests/test_compose_chain.py +0 -0
  724. {lobes_cli-0.76.0 → lobes_cli-0.76.1}/tests/test_deployment_lock.py +0 -0
  725. {lobes_cli-0.76.0 → lobes_cli-0.76.1}/tests/test_deployment_lock_doc.py +0 -0
  726. {lobes_cli-0.76.0 → lobes_cli-0.76.1}/tests/test_detect.py +0 -0
  727. {lobes_cli-0.76.0 → lobes_cli-0.76.1}/tests/test_doctor.py +0 -0
  728. {lobes_cli-0.76.0 → lobes_cli-0.76.1}/tests/test_doctor_fix.py +0 -0
  729. {lobes_cli-0.76.0 → lobes_cli-0.76.1}/tests/test_doctor_machine_profile.py +0 -0
  730. {lobes_cli-0.76.0 → lobes_cli-0.76.1}/tests/test_doctor_mesh_retirement.py +0 -0
  731. {lobes_cli-0.76.0 → lobes_cli-0.76.1}/tests/test_doctor_passthrough.py +0 -0
  732. {lobes_cli-0.76.0 → lobes_cli-0.76.1}/tests/test_doctor_repin_version.py +0 -0
  733. {lobes_cli-0.76.0 → lobes_cli-0.76.1}/tests/test_doctor_role_command.py +0 -0
  734. {lobes_cli-0.76.0 → lobes_cli-0.76.1}/tests/test_doctor_role_probe.py +0 -0
  735. {lobes_cli-0.76.0 → lobes_cli-0.76.1}/tests/test_dropped_lobe_honesty.py +0 -0
  736. {lobes_cli-0.76.0 → lobes_cli-0.76.1}/tests/test_fleet_audio_vad_env.py +0 -0
  737. {lobes_cli-0.76.0 → lobes_cli-0.76.1}/tests/test_fleet_compose_mounts.py +0 -0
  738. {lobes_cli-0.76.0 → lobes_cli-0.76.1}/tests/test_fleet_minor.py +0 -0
  739. {lobes_cli-0.76.0 → lobes_cli-0.76.1}/tests/test_fleet_per_machine_knobs.py +0 -0
  740. {lobes_cli-0.76.0 → lobes_cli-0.76.1}/tests/test_fleet_secrets_env_file.py +0 -0
  741. {lobes_cli-0.76.0 → lobes_cli-0.76.1}/tests/test_fleet_template_gateway_env.py +0 -0
  742. {lobes_cli-0.76.0 → lobes_cli-0.76.1}/tests/test_gateway_audio_peer.py +0 -0
  743. {lobes_cli-0.76.0 → lobes_cli-0.76.1}/tests/test_gateway_audio_routing.py +0 -0
  744. {lobes_cli-0.76.0 → lobes_cli-0.76.1}/tests/test_gateway_auth.py +0 -0
  745. {lobes_cli-0.76.0 → lobes_cli-0.76.1}/tests/test_gateway_auth_rejection_log.py +0 -0
  746. {lobes_cli-0.76.0 → lobes_cli-0.76.1}/tests/test_gateway_busy_e2e.py +0 -0
  747. {lobes_cli-0.76.0 → lobes_cli-0.76.1}/tests/test_gateway_capabilities.py +0 -0
  748. {lobes_cli-0.76.0 → lobes_cli-0.76.1}/tests/test_gateway_config_proxy.py +0 -0
  749. {lobes_cli-0.76.0 → lobes_cli-0.76.1}/tests/test_gateway_config_replicas.py +0 -0
  750. {lobes_cli-0.76.0 → lobes_cli-0.76.1}/tests/test_gateway_config_wiring.py +0 -0
  751. {lobes_cli-0.76.0 → lobes_cli-0.76.1}/tests/test_gateway_embed_deep.py +0 -0
  752. {lobes_cli-0.76.0 → lobes_cli-0.76.1}/tests/test_gateway_env_passthrough_guard.py +0 -0
  753. {lobes_cli-0.76.0 → lobes_cli-0.76.1}/tests/test_gateway_feasibility.py +0 -0
  754. {lobes_cli-0.76.0 → lobes_cli-0.76.1}/tests/test_gateway_fleet_doc.py +0 -0
  755. {lobes_cli-0.76.0 → lobes_cli-0.76.1}/tests/test_gateway_force_strict.py +0 -0
  756. {lobes_cli-0.76.0 → lobes_cli-0.76.1}/tests/test_gateway_hand_adapters.py +0 -0
  757. {lobes_cli-0.76.0 → lobes_cli-0.76.1}/tests/test_gateway_peer_advert.py +0 -0
  758. {lobes_cli-0.76.0 → lobes_cli-0.76.1}/tests/test_gateway_peer_only_pool.py +0 -0
  759. {lobes_cli-0.76.0 → lobes_cli-0.76.1}/tests/test_gateway_pool.py +0 -0
  760. {lobes_cli-0.76.0 → lobes_cli-0.76.1}/tests/test_gateway_pool_capacity_wiring.py +0 -0
  761. {lobes_cli-0.76.0 → lobes_cli-0.76.1}/tests/test_gateway_pool_pressure.py +0 -0
  762. {lobes_cli-0.76.0 → lobes_cli-0.76.1}/tests/test_gateway_pool_saturation.py +0 -0
  763. {lobes_cli-0.76.0 → lobes_cli-0.76.1}/tests/test_gateway_proxy.py +0 -0
  764. {lobes_cli-0.76.0 → lobes_cli-0.76.1}/tests/test_gateway_readiness.py +0 -0
  765. {lobes_cli-0.76.0 → lobes_cli-0.76.1}/tests/test_gateway_realtime_ws.py +0 -0
  766. {lobes_cli-0.76.0 → lobes_cli-0.76.1}/tests/test_gateway_replicas.py +0 -0
  767. {lobes_cli-0.76.0 → lobes_cli-0.76.1}/tests/test_gateway_routing.py +0 -0
  768. {lobes_cli-0.76.0 → lobes_cli-0.76.1}/tests/test_gateway_selection.py +0 -0
  769. {lobes_cli-0.76.0 → lobes_cli-0.76.1}/tests/test_gateway_serve_mesh_wiring.py +0 -0
  770. {lobes_cli-0.76.0 → lobes_cli-0.76.1}/tests/test_gateway_server.py +0 -0
  771. {lobes_cli-0.76.0 → lobes_cli-0.76.1}/tests/test_gateway_status.py +0 -0
  772. {lobes_cli-0.76.0 → lobes_cli-0.76.1}/tests/test_gateway_stream_termination.py +0 -0
  773. {lobes_cli-0.76.0 → lobes_cli-0.76.1}/tests/test_gateway_tiers.py +0 -0
  774. {lobes_cli-0.76.0 → lobes_cli-0.76.1}/tests/test_gemma4_compose.py +0 -0
  775. {lobes_cli-0.76.0 → lobes_cli-0.76.1}/tests/test_gemma4_dockerfile.py +0 -0
  776. {lobes_cli-0.76.0 → lobes_cli-0.76.1}/tests/test_gen_api_key.py +0 -0
  777. {lobes_cli-0.76.0 → lobes_cli-0.76.1}/tests/test_gitignore_convention.py +0 -0
  778. {lobes_cli-0.76.0 → lobes_cli-0.76.1}/tests/test_init.py +0 -0
  779. {lobes_cli-0.76.0 → lobes_cli-0.76.1}/tests/test_init_coresidency.py +0 -0
  780. {lobes_cli-0.76.0 → lobes_cli-0.76.1}/tests/test_init_from_lock.py +0 -0
  781. {lobes_cli-0.76.0 → lobes_cli-0.76.1}/tests/test_init_gpu_access.py +0 -0
  782. {lobes_cli-0.76.0 → lobes_cli-0.76.1}/tests/test_init_profile.py +0 -0
  783. {lobes_cli-0.76.0 → lobes_cli-0.76.1}/tests/test_init_shape.py +0 -0
  784. {lobes_cli-0.76.0 → lobes_cli-0.76.1}/tests/test_live_capabilities.py +0 -0
  785. {lobes_cli-0.76.0 → lobes_cli-0.76.1}/tests/test_lock_drift.py +0 -0
  786. {lobes_cli-0.76.0 → lobes_cli-0.76.1}/tests/test_machines.py +0 -0
  787. {lobes_cli-0.76.0 → lobes_cli-0.76.1}/tests/test_mesh_config.py +0 -0
  788. {lobes_cli-0.76.0 → lobes_cli-0.76.1}/tests/test_mesh_flap_per_name.py +0 -0
  789. {lobes_cli-0.76.0 → lobes_cli-0.76.1}/tests/test_mesh_heartbeat_live.py +0 -0
  790. {lobes_cli-0.76.0 → lobes_cli-0.76.1}/tests/test_mesh_naming.py +0 -0
  791. {lobes_cli-0.76.0 → lobes_cli-0.76.1}/tests/test_mesh_roster.py +0 -0
  792. {lobes_cli-0.76.0 → lobes_cli-0.76.1}/tests/test_mesh_routes.py +0 -0
  793. {lobes_cli-0.76.0 → lobes_cli-0.76.1}/tests/test_mesh_routing.py +0 -0
  794. {lobes_cli-0.76.0 → lobes_cli-0.76.1}/tests/test_mesh_routing_wiring.py +0 -0
  795. {lobes_cli-0.76.0 → lobes_cli-0.76.1}/tests/test_mesh_templates.py +0 -0
  796. {lobes_cli-0.76.0 → lobes_cli-0.76.1}/tests/test_mesh_verify_reason.py +0 -0
  797. {lobes_cli-0.76.0 → lobes_cli-0.76.1}/tests/test_mesh_wire.py +0 -0
  798. {lobes_cli-0.76.0 → lobes_cli-0.76.1}/tests/test_minor_client.py +0 -0
  799. {lobes_cli-0.76.0 → lobes_cli-0.76.1}/tests/test_minor_governance.py +0 -0
  800. {lobes_cli-0.76.0 → lobes_cli-0.76.1}/tests/test_minor_integration.py +0 -0
  801. {lobes_cli-0.76.0 → lobes_cli-0.76.1}/tests/test_minor_logprobs.py +0 -0
  802. {lobes_cli-0.76.0 → lobes_cli-0.76.1}/tests/test_nightly_migration_doc.py +0 -0
  803. {lobes_cli-0.76.0 → lobes_cli-0.76.1}/tests/test_no_config_byte_identity.py +0 -0
  804. {lobes_cli-0.76.0 → lobes_cli-0.76.1}/tests/test_orin_associate_shape.py +0 -0
  805. {lobes_cli-0.76.0 → lobes_cli-0.76.1}/tests/test_orin_cortex_shape.py +0 -0
  806. {lobes_cli-0.76.0 → lobes_cli-0.76.1}/tests/test_orin_lobe_shape.py +0 -0
  807. {lobes_cli-0.76.0 → lobes_cli-0.76.1}/tests/test_overview_live.py +0 -0
  808. {lobes_cli-0.76.0 → lobes_cli-0.76.1}/tests/test_parser.py +0 -0
  809. {lobes_cli-0.76.0 → lobes_cli-0.76.1}/tests/test_peer_referral.py +0 -0
  810. {lobes_cli-0.76.0 → lobes_cli-0.76.1}/tests/test_preserve_thinking_diagnostic.py +0 -0
  811. {lobes_cli-0.76.0 → lobes_cli-0.76.1}/tests/test_pressure.py +0 -0
  812. {lobes_cli-0.76.0 → lobes_cli-0.76.1}/tests/test_pressure_policy.py +0 -0
  813. {lobes_cli-0.76.0 → lobes_cli-0.76.1}/tests/test_profile_goldens.py +0 -0
  814. {lobes_cli-0.76.0 → lobes_cli-0.76.1}/tests/test_profile_render.py +0 -0
  815. {lobes_cli-0.76.0 → lobes_cli-0.76.1}/tests/test_profile_schema.py +0 -0
  816. {lobes_cli-0.76.0 → lobes_cli-0.76.1}/tests/test_profiles.py +0 -0
  817. {lobes_cli-0.76.0 → lobes_cli-0.76.1}/tests/test_proxy_integration.py +0 -0
  818. {lobes_cli-0.76.0 → lobes_cli-0.76.1}/tests/test_readiness_peer_probe.py +0 -0
  819. {lobes_cli-0.76.0 → lobes_cli-0.76.1}/tests/test_realtime_audio_env_coverage.py +0 -0
  820. {lobes_cli-0.76.0 → lobes_cli-0.76.1}/tests/test_realtime_audio_facade.py +0 -0
  821. {lobes_cli-0.76.0 → lobes_cli-0.76.1}/tests/test_realtime_conversation.py +0 -0
  822. {lobes_cli-0.76.0 → lobes_cli-0.76.1}/tests/test_realtime_floor.py +0 -0
  823. {lobes_cli-0.76.0 → lobes_cli-0.76.1}/tests/test_realtime_imports.py +0 -0
  824. {lobes_cli-0.76.0 → lobes_cli-0.76.1}/tests/test_realtime_pcm.py +0 -0
  825. {lobes_cli-0.76.0 → lobes_cli-0.76.1}/tests/test_realtime_protocol.py +0 -0
  826. {lobes_cli-0.76.0 → lobes_cli-0.76.1}/tests/test_realtime_readiness.py +0 -0
  827. {lobes_cli-0.76.0 → lobes_cli-0.76.1}/tests/test_realtime_segmenter.py +0 -0
  828. {lobes_cli-0.76.0 → lobes_cli-0.76.1}/tests/test_realtime_session.py +0 -0
  829. {lobes_cli-0.76.0 → lobes_cli-0.76.1}/tests/test_realtime_settings.py +0 -0
  830. {lobes_cli-0.76.0 → lobes_cli-0.76.1}/tests/test_realtime_smoke_helpers.py +0 -0
  831. {lobes_cli-0.76.0 → lobes_cli-0.76.1}/tests/test_realtime_tts_gate.py +0 -0
  832. {lobes_cli-0.76.0 → lobes_cli-0.76.1}/tests/test_realtime_turn.py +0 -0
  833. {lobes_cli-0.76.0 → lobes_cli-0.76.1}/tests/test_realtime_wire.py +0 -0
  834. {lobes_cli-0.76.0 → lobes_cli-0.76.1}/tests/test_role_probes.py +0 -0
  835. {lobes_cli-0.76.0 → lobes_cli-0.76.1}/tests/test_roles.py +0 -0
  836. {lobes_cli-0.76.0 → lobes_cli-0.76.1}/tests/test_roles_proxied.py +0 -0
  837. {lobes_cli-0.76.0 → lobes_cli-0.76.1}/tests/test_roles_replicas.py +0 -0
  838. {lobes_cli-0.76.0 → lobes_cli-0.76.1}/tests/test_scan_deployment_secrets.py +0 -0
  839. {lobes_cli-0.76.0 → lobes_cli-0.76.1}/tests/test_senses_speculative_config.py +0 -0
  840. {lobes_cli-0.76.0 → lobes_cli-0.76.1}/tests/test_shape_budgets.py +0 -0
  841. {lobes_cli-0.76.0 → lobes_cli-0.76.1}/tests/test_shape_contract_matrix.py +0 -0
  842. {lobes_cli-0.76.0 → lobes_cli-0.76.1}/tests/test_shape_gateway_only.py +0 -0
  843. {lobes_cli-0.76.0 → lobes_cli-0.76.1}/tests/test_shape_goldens.py +0 -0
  844. {lobes_cli-0.76.0 → lobes_cli-0.76.1}/tests/test_shapes.py +0 -0
  845. {lobes_cli-0.76.0 → lobes_cli-0.76.1}/tests/test_smoke_duo.py +0 -0
  846. {lobes_cli-0.76.0 → lobes_cli-0.76.1}/tests/test_spec_arms.py +0 -0
  847. {lobes_cli-0.76.0 → lobes_cli-0.76.1}/tests/test_spike_preflight.py +0 -0
  848. {lobes_cli-0.76.0 → lobes_cli-0.76.1}/tests/test_status_fleet.py +0 -0
  849. {lobes_cli-0.76.0 → lobes_cli-0.76.1}/tests/test_status_pressure.py +0 -0
  850. {lobes_cli-0.76.0 → lobes_cli-0.76.1}/tests/test_switch_bf16.py +0 -0
  851. {lobes_cli-0.76.0 → lobes_cli-0.76.1}/tests/test_switch_plan_goldens.py +0 -0
  852. {lobes_cli-0.76.0 → lobes_cli-0.76.1}/tests/test_templates_preserve_thinking.py +0 -0
  853. {lobes_cli-0.76.0 → lobes_cli-0.76.1}/tests/test_tier_request.py +0 -0
  854. {lobes_cli-0.76.0 → lobes_cli-0.76.1}/tests/test_tool_parser_plugin.py +0 -0
  855. {lobes_cli-0.76.0 → lobes_cli-0.76.1}/tests/test_tts_pause_and_truncation.py +0 -0
  856. {lobes_cli-0.76.0 → lobes_cli-0.76.1}/tests/test_up_no_deps_isolation.py +0 -0
  857. {lobes_cli-0.76.0 → lobes_cli-0.76.1}/tests/test_upgrade_compat.py +0 -0
  858. {lobes_cli-0.76.0 → lobes_cli-0.76.1}/tests/test_variation.py +0 -0
  859. {lobes_cli-0.76.0 → lobes_cli-0.76.1}/tests/test_variation_catalog.py +0 -0
  860. {lobes_cli-0.76.0 → lobes_cli-0.76.1}/tests/test_vllm_plugin_thinking.py +0 -0
  861. {lobes_cli-0.76.0 → lobes_cli-0.76.1}/tests/test_wheel_excludes_deployments.py +0 -0
  862. {lobes_cli-0.76.0 → lobes_cli-0.76.1}/tests/test_worker_compose.py +0 -0
  863. {lobes_cli-0.76.0 → lobes_cli-0.76.1}/tests/test_worker_recipe_knobs.py +0 -0
@@ -2,7 +2,7 @@
2
2
  "plan_slug": "mesh-brain-join",
3
3
  "schema_version": 2,
4
4
  "created": "2026-09-11T13:20:04Z",
5
- "updated": "2026-09-12T05:19:41Z",
5
+ "updated": "2026-09-12T06:31:40Z",
6
6
  "deviations": [
7
7
  {
8
8
  "id": "d1",
@@ -290,6 +290,63 @@
290
290
  "status": "approved",
291
291
  "superseded": false,
292
292
  "seq": 16
293
+ },
294
+ {
295
+ "id": "e11",
296
+ "obligation_ref": "o8",
297
+ "test_ref": "docs/evidence/2026-09-12-accept-mesh-brain-join-fleet.txt#h6 (qwen-mesh.out)",
298
+ "behavior_text": "qwen -m worker and qwen -m associate against the Spark gateway (which hosts neither) fixed calc.py through the Thor's and the Orin's lanes in 29 s and 66 s",
299
+ "contract_text": "h6: Qwen Code or curl reaches every mesh role via the local gateway",
300
+ "evidence_type": "manual",
301
+ "strength": "execution",
302
+ "strength_basis": "released 0.76.0 from PyPI on all three boxes; Qwen Code 0.23.3; the Thor's gateway log counted the forwarded completions",
303
+ "outcome": "pass",
304
+ "run": {
305
+ "timestamp": "2026-09-12T06:14:33Z",
306
+ "commit": "97caa12"
307
+ },
308
+ "origin": "llm",
309
+ "status": "approved",
310
+ "superseded": false,
311
+ "seq": 17
312
+ },
313
+ {
314
+ "id": "e12",
315
+ "obligation_ref": "o9",
316
+ "test_ref": "docs/evidence/2026-09-12-accept-mesh-brain-join-fleet.txt#h8 (gwonly.out)",
317
+ "behavior_text": "a gateway-only member (spark-gw, hosts=[]) joined on the key, was listed by all three members in 30 s, verified all three in 90 s, and served cortex, worker, associate, embedder and reranker by proxy from its own front",
318
+ "contract_text": "h8: a gateway-only member boots, joins, and serves every mesh role by proxy",
319
+ "evidence_type": "manual",
320
+ "strength": "execution",
321
+ "strength_basis": "released 0.76.0; lobes init --shape gateway-only --fleet --apply on the Spark at port 8002; torn down after the run",
322
+ "outcome": "pass",
323
+ "run": {
324
+ "timestamp": "2026-09-12T06:17:43Z",
325
+ "commit": "97caa12"
326
+ },
327
+ "origin": "llm",
328
+ "status": "approved",
329
+ "superseded": false,
330
+ "seq": 18
331
+ },
332
+ {
333
+ "id": "e13",
334
+ "obligation_ref": "o1",
335
+ "test_ref": "docs/evidence/2026-09-12-accept-mesh-brain-join-fleet.txt#RELEASE RUN signals 1-4",
336
+ "behavior_text": "signals 1, 2, 3b, 4 PASS and 5 PASS on the PyPI 0.76.0 release (drop after 80 s, cortex proxy 200, doctor clean first try)",
337
+ "contract_text": "c36 signals on the released artifact",
338
+ "evidence_type": "manual",
339
+ "strength": "execution",
340
+ "strength_basis": "validate.sh + signal5.sh on 0.76.0 installed from PyPI, no dev index, no local wheel",
341
+ "outcome": "pass",
342
+ "run": {
343
+ "timestamp": "2026-09-12T06:10:09Z",
344
+ "commit": "97caa12"
345
+ },
346
+ "origin": "llm",
347
+ "status": "approved",
348
+ "superseded": false,
349
+ "seq": 19
293
350
  }
294
351
  ],
295
352
  "deltas": [
@@ -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.76.1] - 2026-09-12
8
+
9
+ ### Added
10
+
11
+ - Release-run evidence for the mesh-brain join on 0.76.0 from PyPI: signals 1-5 re-measured on all three boxes, Qwen Code through the mesh (h6) and a gateway-only fourth member (h8) both measured PASS; delivery summary and validate-delivery ledger updated (e11-e13).
12
+
7
13
  ## [0.76.0] - 2026-09-12
8
14
 
9
15
  ### Changed
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.5
2
2
  Name: lobes-cli
3
- Version: 0.76.0
3
+ Version: 0.76.1
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
@@ -52,7 +52,7 @@ Quoted verbatim from the `devague summary` skeleton:
52
52
  | `t9` | partial | doctor's three findings, per-name flapping on the live path, verification reasons landed (commit `9fcb000`); the env-family code deletion was declined by the agent after measuring >100 call sites and moved to t13/t14 by deviation d6 |
53
53
  | `t10` | delivered | `lobes/cli/_commands/mesh.py` (`lobes mesh status\|request\|approve\|revoke`, dry-run by default) and capabilities rendering of members and suffixed lanes; commit `e196868` |
54
54
  | `t11` | delivered | gateway-fleet.md mesh contract + Retired section, deployment-shapes.md, colleague-stack.md, openai-api.md, secret-rotation.md, env.example, `lobes explain mesh`, CLAUDE.md, catalog re-capture, 0.76.0 bump; commit `5b26b79` and the t11 series |
55
- | `t12` | partial | Live cutover of all three boxes onto the join key; five signals measured on the final build (`docs/evidence/2026-09-12-accept-mesh-brain-join-fleet.txt`): 1, 2, 4, 5 PASS, 3 measured but its literal expectation unmet; baseline and backups filed (`27a91a8`). Missing against its own criteria: the gateway-only shape was never booted on a fourth member and Qwen Code was not run through the mesh (lapse l2) |
55
+ | `t12` | delivered (post-merge) | Live cutover of all three boxes onto the join key; five signals measured on the final build (`docs/evidence/2026-09-12-accept-mesh-brain-join-fleet.txt`): 1, 2, 4, 5 PASS, 3 measured but its literal expectation unmet; baseline and backups filed (`27a91a8`). The two criteria left unchecked at merge time (gateway-only fourth member, Qwen Code through the mesh; lapse l2) were measured on the released 0.76.0 the same day and both PASS |
56
56
  | `t13` | delivered | pool candidates, peer-only forward and busy dispatch sourced from the mesh RoutingSnapshot; wiring tests with zero peer keys; commit `d078cdc` |
57
57
  | `t14` | delivered | env peer parsing deleted from `_config.py`/`_routing.py`/`server.py`/`doctor.py`, 20+ test files rewritten off env keys, template/env.example/catalog/docs closed; commit `5db3c33` and the t14 series to `4cbcc63`. Residue: docstrings and comments still name the retired keys as history |
58
58
 
@@ -108,8 +108,8 @@ Quoted verbatim from the `devague summary` skeleton:
108
108
  | With no join key nothing mesh-related runs and responses are byte-identical to 0.75.x apart from the retired family's own entries | high | e5 · byte-identical tests in the suite |
109
109
  | Two members serving the same role form one pool and share load | medium | pool formed (both reranker lanes plain, e3 basis); spill-over never observed — the idle local lane stays local; the forward path was observed on dev524 only with the local lane absent |
110
110
  | Differing lanes are exposed as `{role}-{machine-name}` and the plain name stays honest | medium | observed live on dev528 (`embedder-thor`, `reranker-spark`) for a real quantization disagreement; the sole-candidate case fixed in `39a2412`; tests in `tests/test_mesh_naming.py` |
111
- | A gateway-only member boots, joins and serves every role by proxy | unverified | goldens only (`fcf1ff2`); never booted on a box (lapse l2) |
112
- | A robot client (Qwen Code) reaches every mesh role through its local gateway | unverified | only curl measured (e8); Qwen Code was validated on the retired env proxy 2026-09-11, not on the mesh (lapse l2) |
111
+ | A gateway-only member boots, joins and serves every role the mesh hosts by proxy | high | release run on 0.76.0: spark-gw joined, verified all three in 90 s, served cortex/worker/associate/embedder/reranker by proxy (`docs/evidence/2026-09-12-accept-mesh-brain-join-fleet.txt`, h8 section); `hand` 404s role_infeasible on it exactly as on every member, because no box in this fleet runs the hand lane — there is nobody to forward to |
112
+ | A robot client (Qwen Code) reaches mesh roles its local gateway does not host | high | release run on 0.76.0: `qwen -m worker` and `qwen -m associate` against the Spark gateway (which hosts neither) fixed the test file through the Thor and the Orin (h6 section of the transcript); the other proxied roles (cortex from the Thor, embedder, reranker) were measured with curl, not with Qwen Code |
113
113
  | Cutover is rollback-safe | medium | e7: backups named per box; a rollback was never exercised |
114
114
  | Approval ledger: a lapsed or revoked name is refused and revocation gossips | medium | unit tests in `tests/test_mesh_roster.py`, `tests/test_mesh_routes.py`; not exercised live (the fleet joined on the key alone) |
115
115
 
@@ -123,8 +123,9 @@ Lapse ledger evidence:
123
123
 
124
124
  ## Remaining Work / Follow-up
125
125
 
126
- - `t12` gateway-only member — boot `lobes init --shape gateway-only` on a fourth box (or the Orin) and measure `model=cortex` by proxy; until then the claim stays unverified. Owner: operator, next live session.
127
- - `t12` Qwen Code through the mesh — run `qwen -m worker` against the Spark's gateway on the mesh build and record it; the curl half is measured.
126
+ - (closed) gateway-only member and Qwen Code through the mesh — both measured on the 0.76.0 release run; see the transcript's release section.
127
+ - A mesh-provided role answers 404 role_infeasible for the first ~60 s after a gateway recreate, until the first verification pass; a distinguishable 'not yet verified' answer is a follow-up.
128
+ - `/capabilities` on a member that reaches a role only via the mesh reports it ready:false / hosted_by:null while routing works (measured on the gateway-only member) — the hosted_by follow-up now has a live instance.
128
129
  - `t12` signal 3 spill-over — generate real local load on a pooled role (or add a second cortex host) and observe `X-Lobes-Proxied-By` from a pooled member; the policy keeps an idle local lane local by design.
129
130
  - `t14` residue — done on the branch (`f25b53e`): docstrings and comments now describe routing via the mesh; deliberately historical mentions (Retired (t14), dated findings, issue numbers) kept; `_check_pool_arming` kept because a hand-built RoutingTable can still reach it.
130
131
  - Announce only loaded lanes — the Orin announces five hosted-but-not-running lanes; harmless with per-role verification, still noise on every peer.
@@ -262,8 +262,185 @@ Signal 2 re-run after pinning both CLIs to dev532 (the two FAILs were doctor's g
262
262
  orin: peer keys=0 doctor peer/FAIL findings=0 PASS
263
263
  RESULTS: signal 1 PASS (10 s); signal 2 PASS on all three after the CLI pin; signal 3 MEASURED exactly as on dev529 (both lanes plain, local-idle); signal 3b PASS — and this time the cortex forward Thor -> Spark was answered 200 THROUGH the proxy (chat completion from unsloth/Qwen3.8-27B-NVFP4 with X-Lobes-Proxied-By + X-Lobes-Mesh-Member: spark), closing the "cortex proxy 200 not obtained" item below; signal 4 PASS (Thor left the Spark roster after 60 s, exclusive role 404 in 0.01 s). The refactor changed no measured behaviour.
264
264
 
265
+ ## RELEASE RUN — 0.76.0 from PyPI on all three boxes (PR #252 squash-merged as 97caa12; gateway images rebuilt --no-cache from the packaged Dockerfile with GATEWAY_PIP_EXTRA_INDEX_URL unset; the Orin's local-wheel Dockerfile retired in favour of the packaged one; CLIs `uv tool install lobes-cli==0.76.0` on all three)
266
+
267
+ ### Signals 1–4 (validate.sh)
268
+ ### t12 validation 2026-09-12T06:10:09Z build=0.76.0
269
+ ## (1) membership: every member lists the other two
270
+ t+10s spark=[thor[v=True,roles=3,r=None] orin[v=True,roles=1,r=None]] thor=[orin[v=True,roles=1,r=None] spark[v=True,roles=2,r=None]] orin=[thor[v=True,roles=3,r=None] spark[v=True,roles=2,r=None]]
271
+ PASS: all three rosters complete after 10 s (<= 120 s)
272
+ ## (2) zero *_PEER_* keys + lobes doctor findings per box
273
+ spark: peer keys=0 doctor peer/FAIL findings=0 PASS
274
+ thor: peer keys=0 doctor peer/FAIL findings=0 PASS
275
+ orin: peer keys=0 doctor peer/FAIL findings=0 PASS
276
+ ## (3) pooling: the role hosted on TWO members (reranker: Spark+Thor) — 4 concurrent requests to the Spark front
277
+ HTTP/1.1 200 OK
278
+ X-Lobes-Served-By: http://spark.tail0be7e0.ts.net:8001
279
+ X-Lobes-Route-Reason: local-idle
280
+ X-Lobes-Mesh-Member: spark
281
+
282
+ HTTP/1.1 200 OK
283
+ X-Lobes-Served-By: http://spark.tail0be7e0.ts.net:8001
284
+ X-Lobes-Route-Reason: local-idle
285
+ X-Lobes-Mesh-Member: spark
286
+
287
+ HTTP/1.1 200 OK
288
+ X-Lobes-Served-By: http://spark.tail0be7e0.ts.net:8001
289
+ X-Lobes-Route-Reason: local-idle
290
+ X-Lobes-Mesh-Member: spark
291
+ HTTP/1.1 200 OK
292
+ X-Lobes-Served-By: http://spark.tail0be7e0.ts.net:8001
293
+ X-Lobes-Route-Reason: local-idle
294
+ X-Lobes-Mesh-Member: spark
295
+
296
+
297
+ (PASS if both X-Lobes-Served-By and X-Lobes-Proxied-By appear across the four; FAIL otherwise — judged by the reader)
298
+ ## (3b) auto-proxy: the Thor lacks hand and cortex — request them on the Thor's own gateway
299
+ HTTP/1.1 404 Not Found
300
+ model=hand body={"error": {"message": "The model `hand` is not feasible on this machine \u2014 its backend (`hand`) is declared hardware
301
+ HTTP/1.1 200 OK
302
+ X-Lobes-Mesh-Member: spark
303
+ X-Lobes-Proxied-By: http://spark.tail0be7e0.ts.net:8001
304
+ model=cortex body={"id":"chatcmpl-8bfb3f66c4f3e8e7","object":"chat.completion","created":1789193411,"model":"unsloth/Qwen3.8-27B-NVFP4","c
305
+ ## (4) losing a member: stop the Thor gateway; others keep serving; its exclusive roles 404 within 2 intervals, never hang >10 s
306
+ thor gateway stopped 09:10:22
307
+ t+10s spark roster=[thor[v=True,roles=3,r=None] orin[v=True,roles=1,r=None]] embedder(Thor-only) -> HTTP 503 in 0.02s
308
+ t+20s spark roster=[thor[v=False,roles=0,r=ConnectionRefusedError] orin[v=True,roles=1,r=None]] embedder(Thor-only) -> HTTP 404 in 0.01s
309
+ t+30s spark roster=[thor[v=False,roles=0,r=ConnectionRefusedError] orin[v=True,roles=1,r=None]] embedder(Thor-only) -> HTTP 404 in 0.01s
310
+ t+40s spark roster=[thor[v=False,roles=0,r=ConnectionRefusedError] orin[v=True,roles=1,r=None]] embedder(Thor-only) -> HTTP 404 in 0.01s
311
+ t+50s spark roster=[thor[v=False,roles=0,r=ConnectionRefusedError] orin[v=True,roles=1,r=None]] embedder(Thor-only) -> HTTP 404 in 0.01s
312
+ t+60s spark roster=[thor[v=False,roles=0,r=ConnectionRefusedError] orin[v=True,roles=1,r=None]] embedder(Thor-only) -> HTTP 404 in 0.01s
313
+ t+70s spark roster=[thor[v=False,roles=0,r=ConnectionRefusedError] orin[v=True,roles=1,r=None]] embedder(Thor-only) -> HTTP 404 in 0.01s
314
+ t+80s spark roster=[orin[v=True,roles=1,r=None]] embedder(Thor-only) -> HTTP 404 in 0.01s
315
+ Thor left the Spark roster after 80 s (<= 120 s) PASS
316
+ exclusive role after drop: HTTP 404 in 0.01s PASS
317
+ thor gateway started 09:11:33
318
+ ## (5) byte-identical with no join key: compared separately (spark-0.75.1-*.json vs the dev build with LOBES_MESH_KEY unset)
319
+ RESULTS: 1 PASS (10 s); 2 PASS on all three, first try; 3 MEASURED as before (both reranker lanes plain, local-idle); 3b PASS with the cortex forward Thor -> Spark answered 200 through the proxy; 4 PASS (Thor left the Spark roster after 80 s, exclusive role 404 in 0.01 s).
320
+
321
+ ### Signal 5 (signal5.sh)
322
+ ## signal 5 — key unset: {"status": "ok", "service": "model-gear-gateway", "version": "0.76.0"}
323
+ mesh routes with key unset: /mesh/detect -> HTTP 404 (expected 404)
324
+ --- diff 0.75.1 vs no-key: v1models
325
+ 13,27d12
326
+ < },
327
+ < {
328
+ < "id": "associate",
329
+ < "object": "model",
330
+ < "owned_by": "lobes"
331
+ < },
332
+ < {
333
+ < "id": "Qwen/Qwen3-Embedding-0.6B",
334
+ < "object": "model",
335
+ < "owned_by": "lobes"
336
+ < },
337
+ < {
338
+ < "id": "nvidia/Qwen3.6-35B-A3B-NVFP4",
339
+ < "object": "model",
340
+ < "owned_by": "lobes"
341
+ --- diff 0.75.1 vs no-key: capabilities
342
+ 113,116c113,114
343
+ < "ready": true,
344
+ < "loaded": false,
345
+ < "hosted_by": "http://thor.tail0be7e0.ts.net:8000",
346
+ < "proxied": true
347
+ ---
348
+ > "ready": false,
349
+ > "loaded": false
350
+ 124c122
351
+ < "context": 128000,
352
+ ---
353
+ > "context": null,
354
+ 144,147c142,143
355
+ < "ready": true,
356
+ < "loaded": false,
357
+ < "hosted_by": "http://orin.tail0be7e0.ts.net:8000",
358
+ < "proxied": true
359
+ ---
360
+ > "ready": false,
361
+ > "loaded": false
362
+ 190,193c186,187
363
+ < "ready": true,
364
+ < "loaded": false,
365
+ < "hosted_by": "http://thor.tail0be7e0.ts.net:8000",
366
+ < "proxied": true
367
+ ---
368
+ > "ready": false,
369
+ > "loaded": false
370
+ --- diff 0.75.1 vs no-key: status-shape
371
+ 56c56
372
+ < "iowait_percent": 44.966442953020135,
373
+ ---
374
+ > "iowait_percent": 9.966777408637874,
375
+ 60c60
376
+ < "swap_used_percent": 0.1451909628624298
377
+ ---
378
+ > "swap_used_percent": 0.03961920974369107
379
+ ## key restored: {"mesh": true, "name": "spark", "schema_version": 1}
380
+ RESULT: PASS — identical diff set to the dev529 run (the retired family's own entries and live pressure fields only).
381
+
382
+ ### h6 — a robot client (Qwen Code) reaches mesh roles through its local gateway (the previously UNCHECKED half)
383
+ ### Qwen Code through the mesh, 0.76.0, 2026-09-12T06:13:03Z — qwen 0.23.3 at http://localhost:8001/v1 (the Spark gateway; worker is NOT hosted on the Spark — reached only via the mesh member thor)
384
+ ## qwen -m worker
385
+ Warning: running headless with --yolo / approval-mode=yolo and no sandbox. All tool calls (shell, write, edit) auto-execute at this process's privilege level. Enable a sandbox via --sandbox / QWEN_SANDBOX, or set QWEN_CODE_SUPPRESS_YOLO_WARNING=1 to silence this notice.
386
+ [API Error: 404 The model `worker` is not feasible on this machine — its backend (`worker`) is declared hardware-infeasible by this deployment's per-machine profile and will never be served here.]
387
+ exit=0 in 2 s; calc.py now:
388
+ def add(a, b):
389
+ return a - b
390
+
391
+ ## qwen -m associate
392
+ Warning: running headless with --yolo / approval-mode=yolo and no sandbox. All tool calls (shell, write, edit) auto-execute at this process's privilege level. Enable a sandbox via --sandbox / QWEN_SANDBOX, or set QWEN_CODE_SUPPRESS_YOLO_WARNING=1 to silence this notice.
393
+
394
+
395
+ DONE
396
+ exit=0 in 66 s; calc.py now:
397
+ def add(a, b):
398
+ return a + b
399
+ ## Spark gateway log: mesh-forwarded chat completions during the run
400
+ 5
401
+ ## re-run qwen -m worker 2026-09-12T06:14:33Z — the first attempt ran ~60 s after signal 5 recreated the Spark gateway, while its roster still read thor[v=False]; spark roster now: thor[v=True,roles=3,r=None] orin[v=True,roles=1,r=None]
402
+
403
+
404
+ DONE
405
+ exit=0 in 29 s; calc.py now:
406
+ def add(a, b):
407
+ return a + b
408
+ 5
409
+ ## Thor gateway: chat completions received in the last 5 min (the worker lane lives there)
410
+ 7
411
+ RESULT: PASS for worker (fixed calc.py through the Thor's lane in 29 s) and associate (through the Orin's lane in 66 s), both addressed at the Spark's gateway, which hosts neither. The first worker attempt 404'd role_infeasible because it ran ~60 s after signal 5 had recreated the Spark gateway, while the roster still read thor[v=False]: until the first verification pass completes a mesh-provided role answers 404 role_infeasible, not a 'not yet verified' status — recorded as a follow-up below.
412
+
413
+ ### h8 — a gateway-only member (hosts=[]) boots, joins and serves every role by proxy (the previously UNCHECKED criterion)
414
+ ### gateway-only fourth member (h8), 0.76.0 from PyPI, 2026-09-12T06:17:43Z: 'lobes init --shape gateway-only --fleet --apply' into ~/.lobes-gwonly on the Spark, LOBES_MESH_NAME=spark-gw, GATEWAY_SELF_ORIGIN=http://spark.tail0be7e0.ts.net:8002, seeds = the three members; published port set via the template's ${VLLM_PORT:-8000} mapping (edited to 8002:8000 — VLLM_PORT=8002 in .env is the supported spelling); container renamed lobes-gwonly-gateway to avoid the fixed container_name clash with the Spark's own gateway; started with 'docker compose -p lobes-gwonly ... up -d --no-deps gateway' (every vllm lane parked by the shape)
415
+ t+15s spark=[thor[v=True,roles=3,r=None] orin[v=True,roles=1,r=None]] thor=[orin[v=True,roles=1,r=None] spark[v=True,roles=2,r=None]] orin=[thor[v=True,roles=3,r=None] spark[v=True,roles=2,r=None]] spark-gw=[-]
416
+ t+30s spark=[thor[v=True,roles=3,r=None] orin[v=True,roles=1,r=None] spark-gw[v=False,roles=0,r=None]] thor=[orin[v=True,roles=1,r=None] spark[v=True,roles=2,r=None] spark-gw[v=False,roles=0,r=None]] orin=[thor[v=True,roles=3,r=None] spark[v=True,roles=2,r=None] spark-gw[v=False,roles=0,r=None]] spark-gw=[thor[v=False,roles=0,r=None] orin[v=False,roles=0,r=None] spark[v=False,roles=0,r=None]]
417
+ t+45s spark=[thor[v=True,roles=3,r=None] orin[v=True,roles=1,r=None] spark-gw[v=False,roles=0,r=None]] thor=[orin[v=True,roles=1,r=None] spark[v=True,roles=2,r=None] spark-gw[v=False,roles=0,r=None]] orin=[thor[v=True,roles=3,r=None] spark[v=True,roles=2,r=None] spark-gw[v=False,roles=0,r=None]] spark-gw=[thor[v=False,roles=0,r=None] orin[v=False,roles=0,r=None] spark[v=False,roles=0,r=None]]
418
+ t+60s spark=[thor[v=True,roles=3,r=None] orin[v=True,roles=1,r=None] spark-gw[v=False,roles=0,r=no announced role verified against /capabilities]] thor=[orin[v=True,roles=1,r=None] spark[v=True,roles=2,r=None] spark-gw[v=False,roles=0,r=None]] orin=[thor[v=True,roles=3,r=None] spark[v=True,roles=2,r=None] spark-gw[v=False,roles=0,r=None]] spark-gw=[thor[v=False,roles=0,r=None] orin[v=False,roles=0,r=None] spark[v=False,roles=0,r=None]]
419
+ t+75s spark=[thor[v=True,roles=3,r=None] orin[v=True,roles=1,r=None] spark-gw[v=False,roles=0,r=no announced role verified against /capabilities]] thor=[orin[v=True,roles=1,r=None] spark[v=True,roles=2,r=None] spark-gw[v=False,roles=0,r=no announced role verified against /capabilities]] orin=[thor[v=True,roles=3,r=None] spark[v=True,roles=2,r=None] spark-gw[v=False,roles=0,r=None]] spark-gw=[thor[v=False,roles=0,r=None] orin[v=False,roles=0,r=None] spark[v=False,roles=0,r=None]]
420
+ t+90s spark=[thor[v=True,roles=3,r=None] orin[v=True,roles=1,r=None] spark-gw[v=False,roles=0,r=no announced role verified against /capabilities]] thor=[orin[v=True,roles=1,r=None] spark[v=True,roles=2,r=None] spark-gw[v=False,roles=0,r=no announced role verified against /capabilities]] orin=[thor[v=True,roles=3,r=None] spark[v=True,roles=2,r=None] spark-gw[v=False,roles=0,r=no announced role verified against /capabilities]] spark-gw=[thor[v=True,roles=3,r=None] orin[v=True,roles=1,r=None] spark[v=True,roles=2,r=None]]
421
+ PASS: spark-gw listed by all three and verifies all three after 90 s
422
+ ## /v1/models on the gateway-only member
423
+ ['Qwen/Qwen3-Embedding-0.6B', 'Qwen/Qwen3-Reranker-0.6B', 'nvidia/NVIDIA-Nemotron-3.5-Lightning-30B-A3B-NVFP4', 'nvidia/Qwen3.6-35B-A3B-NVFP4', 'unsloth/Qwen3.8-27B-NVFP4']
424
+ ## every mesh role by PLAIN name on the gateway-only member's own front
425
+ model=cortex -> HTTP 200 in 0.38s X-Lobes-Route-Reason: sole-ready X-Lobes-Mesh-Member: spark X-Lobes-Proxied-By: http://spark.tail0be7e0.ts.net:8001
426
+ model=worker -> HTTP 200 in 0.3s X-Lobes-Route-Reason: sole-ready X-Lobes-Mesh-Member: thor X-Lobes-Proxied-By: http://thor.tail0be7e0.ts.net:8000
427
+ model=associate -> HTTP 200 in 0.17s X-Lobes-Route-Reason: sole-ready X-Lobes-Mesh-Member: orin X-Lobes-Proxied-By: http://orin.tail0be7e0.ts.net:8000
428
+ model=embedder -> HTTP 200 in 0.08s X-Lobes-Route-Reason: sole-ready X-Lobes-Mesh-Member: thor X-Lobes-Proxied-By: http://thor.tail0be7e0.ts.net:8000
429
+ model=reranker -> HTTP 200 in 0.03s X-Lobes-Route-Reason: peer-less-loaded X-Lobes-Mesh-Member: spark X-Lobes-Proxied-By: http://spark.tail0be7e0.ts.net:8001
430
+ ## /capabilities on the gateway-only member: feasible/proxied/hosted_by per role
431
+ cortex {'feasible': False, 'ready': False, 'proxied': None, 'hosted_by': None, 'member': 'spark'}
432
+ worker {'feasible': False, 'ready': False, 'proxied': None, 'hosted_by': None, 'member': 'thor'}
433
+ associate {'feasible': False, 'ready': False, 'proxied': None, 'hosted_by': None, 'member': 'orin'}
434
+ hand {'feasible': False, 'ready': False, 'proxied': None, 'hosted_by': None, 'member': None}
435
+ embedder {'feasible': False, 'ready': False, 'proxied': None, 'hosted_by': None, 'member': 'thor'}
436
+ reranker {'feasible': False, 'ready': False, 'proxied': None, 'hosted_by': None, 'member': 'thor'}
437
+ RESULT: PASS — spark-gw was listed by all three members within 30 s and verified all three within 90 s (its own /capabilities carries no roles, so the others show it unverified with reason 'no announced role verified', which is correct for a box that serves nothing); /v1/models on it lists the five mesh checkpoints; cortex, worker, associate, embedder and reranker all answered 200 by proxy from its own front with X-Lobes-Mesh-Member naming the serving box, and reranker was placed across the Spark+Thor pool (peer-less-loaded). Torn down after the run (docker compose down, directory removed).
438
+ Two scaffold frictions for a second gateway on the same box, both deployment-level: the fleet template publishes the gateway on ${VLLM_PORT:-8000} (set VLLM_PORT for a non-default host port) and pins container_name model-gear-gateway (renamed by hand for the co-located test). A gateway-only member on its own box needs neither.
439
+ Advert gap on the gateway-only member: /capabilities reports every mesh-provided role as ready:false / hosted_by:null even though routing to it works and `member` names the serving box — the recorded '/capabilities hosted_by is not mesh-sourced' follow-up now has a measured instance.
265
440
  ### Not exercised / still open (recorded, not claimed)
266
441
  - Spill-over inside the reranker pool under real local load (the policy keeps an idle local lane local; the mechanism was observed on dev524 with the local lane absent).
442
+ - (closed on the release run) The gateway-only member and Qwen Code through the mesh — both measured above.
443
+ - A mesh-provided role answers 404 role_infeasible during the first ~60 s after a gateway recreate (before the first verification pass), not a distinguishable 'not yet verified' status.
267
444
  - The Orin announces five hosted-but-not-running lanes (hand, embedder, reranker, stt, tts) alongside associate; per-role verification makes this harmless, but announcing only loaded lanes is a recorded follow-up.
268
445
  - (closed on dev532) A cortex proxy had been answered 429 by the destination's own pressure policy on every earlier run; the re-validation obtained a 200 through the Thor -> Spark forward.
269
446
  - /capabilities JSON `hosted_by` is not mesh-sourced; #232 service-rate weighting; #215 raw-id pressure gate; the `./mesh` mount is root-owned on first recreate (chmod 1777 was applied by hand on all three boxes).
@@ -1,6 +1,6 @@
1
1
  [project]
2
2
  name = "lobes-cli"
3
- version = "0.76.0"
3
+ version = "0.76.1"
4
4
  description = "lobes — run, assess, and switch the local vLLM model."
5
5
  readme = "README.md"
6
6
  license = "Apache-2.0"
@@ -440,7 +440,7 @@ wheels = [
440
440
 
441
441
  [[package]]
442
442
  name = "lobes-cli"
443
- version = "0.76.0"
443
+ version = "0.76.1"
444
444
  source = { editable = "." }
445
445
 
446
446
  [package.optional-dependencies]
File without changes