lobes-cli 0.89.0__tar.gz → 0.89.2__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.
- lobes_cli-0.89.2/.agex/data/pr/323/await.json +13 -0
- {lobes_cli-0.89.0 → lobes_cli-0.89.2}/.agex/data/pr/events.jsonl +6 -0
- {lobes_cli-0.89.0 → lobes_cli-0.89.2}/.devague/frames/vllm-0-31-0-fleet.json +23 -1
- {lobes_cli-0.89.0 → lobes_cli-0.89.2}/CHANGELOG.md +13 -0
- {lobes_cli-0.89.0 → lobes_cli-0.89.2}/CLAUDE.md +7 -1
- {lobes_cli-0.89.0 → lobes_cli-0.89.2}/PKG-INFO +1 -1
- lobes_cli-0.89.2/docs/evidence/2026-10-17-dryrun-r1-rollout-spark-copy.txt +264 -0
- lobes_cli-0.89.2/docs/evidence/2026-10-18-accept-vllm-031-spark-cortex.txt +71 -0
- {lobes_cli-0.89.0 → lobes_cli-0.89.2}/docs/operating-a-deployment.md +7 -0
- {lobes_cli-0.89.0 → lobes_cli-0.89.2}/docs/qwen3.6-27b-text-nvfp4-mtp.md +18 -1
- lobes_cli-0.89.2/docs/runbooks/lane-safety-r1-rollout.md +332 -0
- {lobes_cli-0.89.0 → lobes_cli-0.89.2}/lobes/assess.py +15 -4
- {lobes_cli-0.89.0 → lobes_cli-0.89.2}/lobes/templates/fleet/docker-compose.yml +2 -0
- {lobes_cli-0.89.0 → lobes_cli-0.89.2}/lobes/vllm_plugins/__init__.py +5 -3
- {lobes_cli-0.89.0 → lobes_cli-0.89.2}/lobes/vllm_plugins/qwen3_thinking_tool_parser.py +63 -7
- {lobes_cli-0.89.0 → lobes_cli-0.89.2}/pyproject.toml +1 -1
- {lobes_cli-0.89.0 → lobes_cli-0.89.2}/tests/test_assess.py +30 -0
- {lobes_cli-0.89.0 → lobes_cli-0.89.2}/tests/test_vllm_plugin_thinking.py +117 -2
- {lobes_cli-0.89.0 → lobes_cli-0.89.2}/uv.lock +1 -1
- {lobes_cli-0.89.0 → lobes_cli-0.89.2}/.claude/skills/ask-colleague/SKILL.md +0 -0
- {lobes_cli-0.89.0 → lobes_cli-0.89.2}/.claude/skills/ask-colleague/prompts/explore.md +0 -0
- {lobes_cli-0.89.0 → lobes_cli-0.89.2}/.claude/skills/ask-colleague/prompts/review.md +0 -0
- {lobes_cli-0.89.0 → lobes_cli-0.89.2}/.claude/skills/ask-colleague/prompts/write.md +0 -0
- {lobes_cli-0.89.0 → lobes_cli-0.89.2}/.claude/skills/ask-colleague/scripts/ask-colleague.sh +0 -0
- {lobes_cli-0.89.0 → lobes_cli-0.89.2}/.claude/skills/assign-to-workforce/SKILL.md +0 -0
- {lobes_cli-0.89.0 → lobes_cli-0.89.2}/.claude/skills/assign-to-workforce/scripts/assign-to-workforce.sh +0 -0
- {lobes_cli-0.89.0 → lobes_cli-0.89.2}/.claude/skills/challenge/SKILL.md +0 -0
- {lobes_cli-0.89.0 → lobes_cli-0.89.2}/.claude/skills/cicd/SKILL.md +0 -0
- {lobes_cli-0.89.0 → lobes_cli-0.89.2}/.claude/skills/cicd/scripts/_resolve-nick.sh +0 -0
- {lobes_cli-0.89.0 → lobes_cli-0.89.2}/.claude/skills/cicd/scripts/portability-lint.sh +0 -0
- {lobes_cli-0.89.0 → lobes_cli-0.89.2}/.claude/skills/cicd/scripts/pr-reply.sh +0 -0
- {lobes_cli-0.89.0 → lobes_cli-0.89.2}/.claude/skills/cicd/scripts/pr-status.sh +0 -0
- {lobes_cli-0.89.0 → lobes_cli-0.89.2}/.claude/skills/cicd/scripts/workflow.sh +0 -0
- {lobes_cli-0.89.0 → lobes_cli-0.89.2}/.claude/skills/communicate/SKILL.md +0 -0
- {lobes_cli-0.89.0 → lobes_cli-0.89.2}/.claude/skills/communicate/scripts/fetch-issues.sh +0 -0
- {lobes_cli-0.89.0 → lobes_cli-0.89.2}/.claude/skills/communicate/scripts/mesh-message.sh +0 -0
- {lobes_cli-0.89.0 → lobes_cli-0.89.2}/.claude/skills/communicate/scripts/post-comment.sh +0 -0
- {lobes_cli-0.89.0 → lobes_cli-0.89.2}/.claude/skills/communicate/scripts/post-issue.sh +0 -0
- {lobes_cli-0.89.0 → lobes_cli-0.89.2}/.claude/skills/communicate/scripts/templates/skill-update-brief.md +0 -0
- {lobes_cli-0.89.0 → lobes_cli-0.89.2}/.claude/skills/deviate/SKILL.md +0 -0
- {lobes_cli-0.89.0 → lobes_cli-0.89.2}/.claude/skills/doc-test-alignment/SKILL.md +0 -0
- {lobes_cli-0.89.0 → lobes_cli-0.89.2}/.claude/skills/doc-test-alignment/scripts/check.sh +0 -0
- {lobes_cli-0.89.0 → lobes_cli-0.89.2}/.claude/skills/lobes-deploy/SKILL.md +0 -0
- {lobes_cli-0.89.0 → lobes_cli-0.89.2}/.claude/skills/lobes-deploy/scripts/lobes-compose.sh +0 -0
- {lobes_cli-0.89.0 → lobes_cli-0.89.2}/.claude/skills/model-runner/SKILL.md +0 -0
- {lobes_cli-0.89.0 → lobes_cli-0.89.2}/.claude/skills/model-runner/scripts/model-runner.sh +0 -0
- {lobes_cli-0.89.0 → lobes_cli-0.89.2}/.claude/skills/recall/SKILL.md +0 -0
- {lobes_cli-0.89.0 → lobes_cli-0.89.2}/.claude/skills/recall/scripts/recall.sh +0 -0
- {lobes_cli-0.89.0 → lobes_cli-0.89.2}/.claude/skills/remember/SKILL.md +0 -0
- {lobes_cli-0.89.0 → lobes_cli-0.89.2}/.claude/skills/remember/scripts/remember.sh +0 -0
- {lobes_cli-0.89.0 → lobes_cli-0.89.2}/.claude/skills/run-tests/SKILL.md +0 -0
- {lobes_cli-0.89.0 → lobes_cli-0.89.2}/.claude/skills/run-tests/scripts/test.sh +0 -0
- {lobes_cli-0.89.0 → lobes_cli-0.89.2}/.claude/skills/scope/SKILL.md +0 -0
- {lobes_cli-0.89.0 → lobes_cli-0.89.2}/.claude/skills/sonarclaude/SKILL.md +0 -0
- {lobes_cli-0.89.0 → lobes_cli-0.89.2}/.claude/skills/sonarclaude/scripts/sonar.sh +0 -0
- {lobes_cli-0.89.0 → lobes_cli-0.89.2}/.claude/skills/spec-to-plan/SKILL.md +0 -0
- {lobes_cli-0.89.0 → lobes_cli-0.89.2}/.claude/skills/spec-to-plan/scripts/spec-to-plan.sh +0 -0
- {lobes_cli-0.89.0 → lobes_cli-0.89.2}/.claude/skills/summarize-delivery/SKILL.md +0 -0
- {lobes_cli-0.89.0 → lobes_cli-0.89.2}/.claude/skills/think/SKILL.md +0 -0
- {lobes_cli-0.89.0 → lobes_cli-0.89.2}/.claude/skills/think/scripts/think.sh +0 -0
- {lobes_cli-0.89.0 → lobes_cli-0.89.2}/.claude/skills/validate-delivery/SKILL.md +0 -0
- {lobes_cli-0.89.0 → lobes_cli-0.89.2}/.claude/skills/version-bump/SKILL.md +0 -0
- {lobes_cli-0.89.0 → lobes_cli-0.89.2}/.claude/skills/version-bump/scripts/bump.py +0 -0
- {lobes_cli-0.89.0 → lobes_cli-0.89.2}/.claude/skills.local.yaml.example +0 -0
- {lobes_cli-0.89.0 → lobes_cli-0.89.2}/.devague/current +0 -0
- {lobes_cli-0.89.0 → lobes_cli-0.89.2}/.devague/current_plan +0 -0
- {lobes_cli-0.89.0 → lobes_cli-0.89.2}/.devague/deliveries/capacity-relative-pool-routing.json +0 -0
- {lobes_cli-0.89.0 → lobes_cli-0.89.2}/.devague/deliveries/cortex-replica-pool-199.json +0 -0
- {lobes_cli-0.89.0 → lobes_cli-0.89.2}/.devague/deliveries/deployment-lock-per-box.json +0 -0
- {lobes_cli-0.89.0 → lobes_cli-0.89.2}/.devague/deliveries/dspark-speculation-on-the-spark-cortex.json +0 -0
- {lobes_cli-0.89.0 → lobes_cli-0.89.2}/.devague/deliveries/every-lobe-in-the-mesh-can-see-the-spark-reaches-t.json +0 -0
- {lobes_cli-0.89.0 → lobes_cli-0.89.2}/.devague/deliveries/flash-next-worker-on-thor.json +0 -0
- {lobes_cli-0.89.0 → lobes_cli-0.89.2}/.devague/deliveries/hand-lobe-lfm2-5-1-2b.json +0 -0
- {lobes_cli-0.89.0 → lobes_cli-0.89.2}/.devague/deliveries/hebrew-realtime.json +0 -0
- {lobes_cli-0.89.0 → lobes_cli-0.89.2}/.devague/deliveries/innereye-lobes-hosts-comfyui.json +0 -0
- {lobes_cli-0.89.0 → lobes_cli-0.89.2}/.devague/deliveries/lane-safety-and-quality-304-307-308-309.json +0 -0
- {lobes_cli-0.89.0 → lobes_cli-0.89.2}/.devague/deliveries/lightning-on-orin.json +0 -0
- {lobes_cli-0.89.0 → lobes_cli-0.89.2}/.devague/deliveries/lobes-capabilities-tells-you-where-a-lobe-is-serve.json +0 -0
- {lobes_cli-0.89.0 → lobes_cli-0.89.2}/.devague/deliveries/mesh-boot-window-and-capabilities-advert.json +0 -0
- {lobes_cli-0.89.0 → lobes_cli-0.89.2}/.devague/deliveries/mesh-brain-join.json +0 -0
- {lobes_cli-0.89.0 → lobes_cli-0.89.2}/.devague/deliveries/mesh-pool-load-sharing.json +0 -0
- {lobes_cli-0.89.0 → lobes_cli-0.89.2}/.devague/deliveries/nemotron-lightning-worker.json +0 -0
- {lobes_cli-0.89.0 → lobes_cli-0.89.2}/.devague/deliveries/orin-associate-at-1m.json +0 -0
- {lobes_cli-0.89.0 → lobes_cli-0.89.2}/.devague/deliveries/orin-decision-models.json +0 -0
- {lobes_cli-0.89.0 → lobes_cli-0.89.2}/.devague/deliveries/orin-embedding-specialist.json +0 -0
- {lobes_cli-0.89.0 → lobes_cli-0.89.2}/.devague/deliveries/qwen3-8-gguf-llamacpp.json +0 -0
- {lobes_cli-0.89.0 → lobes_cli-0.89.2}/.devague/deliveries/realtime-voice-to-voice-astro-test-site-151.json +0 -0
- {lobes_cli-0.89.0 → lobes_cli-0.89.2}/.devague/deliveries/reranker-calibration-227.json +0 -0
- {lobes_cli-0.89.0 → lobes_cli-0.89.2}/.devague/deliveries/thor-cortex-speculation.json +0 -0
- {lobes_cli-0.89.0 → lobes_cli-0.89.2}/.devague/deliveries/thor-worker-arm-qwen3-6-35b-a3b-recipes.json +0 -0
- {lobes_cli-0.89.0 → lobes_cli-0.89.2}/.devague/deliveries/unsloth-qat-senses-first-class-orin-variation.json +0 -0
- {lobes_cli-0.89.0 → lobes_cli-0.89.2}/.devague/frames/capacity-relative-pool-routing.json +0 -0
- {lobes_cli-0.89.0 → lobes_cli-0.89.2}/.devague/frames/chatterbox-on-thor-sm-110.json +0 -0
- {lobes_cli-0.89.0 → lobes_cli-0.89.2}/.devague/frames/compose-chain-unification-init-repair-doctor-stale.json +0 -0
- {lobes_cli-0.89.0 → lobes_cli-0.89.2}/.devague/frames/cortex-replica-pool-199.json +0 -0
- {lobes_cli-0.89.0 → lobes_cli-0.89.2}/.devague/frames/deployment-lock-per-box.json +0 -0
- {lobes_cli-0.89.0 → lobes_cli-0.89.2}/.devague/frames/dspark-speculation-on-the-spark-cortex.json +0 -0
- {lobes_cli-0.89.0 → lobes_cli-0.89.2}/.devague/frames/every-lobe-in-the-mesh-can-see-the-spark-reaches-t.json +0 -0
- {lobes_cli-0.89.0 → lobes_cli-0.89.2}/.devague/frames/flash-next-on-vllm.json +0 -0
- {lobes_cli-0.89.0 → lobes_cli-0.89.2}/.devague/frames/flash-next-worker-on-thor.json +0 -0
- {lobes_cli-0.89.0 → lobes_cli-0.89.2}/.devague/frames/hand-lobe-lfm2-5-1-2b.json +0 -0
- {lobes_cli-0.89.0 → lobes_cli-0.89.2}/.devague/frames/hebrew-realtime.json +0 -0
- {lobes_cli-0.89.0 → lobes_cli-0.89.2}/.devague/frames/innereye-lobes-hosts-comfyui.json +0 -0
- {lobes_cli-0.89.0 → lobes_cli-0.89.2}/.devague/frames/lane-safety-and-quality-304-307-308-309.json +0 -0
- {lobes_cli-0.89.0 → lobes_cli-0.89.2}/.devague/frames/lightning-on-orin.json +0 -0
- {lobes_cli-0.89.0 → lobes_cli-0.89.2}/.devague/frames/lightning-on-thor.json +0 -0
- {lobes_cli-0.89.0 → lobes_cli-0.89.2}/.devague/frames/lobes-adds-a-third-middle-model-tier-and-pressure.json +0 -0
- {lobes_cli-0.89.0 → lobes_cli-0.89.2}/.devague/frames/lobes-capabilities-tells-you-where-a-lobe-is-serve.json +0 -0
- {lobes_cli-0.89.0 → lobes_cli-0.89.2}/.devague/frames/lobes-exposes-the-full-colleague-runtime-stack-as.json +0 -0
- {lobes_cli-0.89.0 → lobes_cli-0.89.2}/.devague/frames/lobes-fits-the-machine-it-lands-on-one-command-det.json +0 -0
- {lobes_cli-0.89.0 → lobes_cli-0.89.2}/.devague/frames/lobes-gateway-relays-sse-streams-frame-by-frame-th.json +0 -0
- {lobes_cli-0.89.0 → lobes_cli-0.89.2}/.devague/frames/lobes-never-advertises-a-capability-it-cannot-serv.json +0 -0
- {lobes_cli-0.89.0 → lobes_cli-0.89.2}/.devague/frames/lobes-now-defaults-to-a-spark-duo-the-qwen3-6-27b.json +0 -0
- {lobes_cli-0.89.0 → lobes_cli-0.89.2}/.devague/frames/lobes-preserves-qwen-thinking-traces-across-multi.json +0 -0
- {lobes_cli-0.89.0 → lobes_cli-0.89.2}/.devague/frames/lobes-serves-strict-grammar-constrained-tool-calls.json +0 -0
- {lobes_cli-0.89.0 → lobes_cli-0.89.2}/.devague/frames/lobes-serves-the-brain-shape-you-choose-machine-as.json +0 -0
- {lobes_cli-0.89.0 → lobes_cli-0.89.2}/.devague/frames/lobes-serves-the-mesh-brain-end-state-one-lobe-per.json +0 -0
- {lobes_cli-0.89.0 → lobes_cli-0.89.2}/.devague/frames/lobes-ships-a-custom-vllm-image-from-nvcr-io-nvidi.json +0 -0
- {lobes_cli-0.89.0 → lobes_cli-0.89.2}/.devague/frames/lobes-ships-a-minor-lobe-a-cheap-warm-co-resident.json +0 -0
- {lobes_cli-0.89.0 → lobes_cli-0.89.2}/.devague/frames/lobes-ships-a-per-lobe-benchmark-suite-speed-paral.json +0 -0
- {lobes_cli-0.89.0 → lobes_cli-0.89.2}/.devague/frames/lobes-tells-clients-the-truth-about-a-fleet-a-cons.json +0 -0
- {lobes_cli-0.89.0 → lobes_cli-0.89.2}/.devague/frames/lobes-unifies-its-generate-lane-on-one-vllm-nightl.json +0 -0
- {lobes_cli-0.89.0 → lobes_cli-0.89.2}/.devague/frames/mesh-boot-window-and-capabilities-advert.json +0 -0
- {lobes_cli-0.89.0 → lobes_cli-0.89.2}/.devague/frames/mesh-brain-join.json +0 -0
- {lobes_cli-0.89.0 → lobes_cli-0.89.2}/.devague/frames/mesh-pool-load-sharing.json +0 -0
- {lobes_cli-0.89.0 → lobes_cli-0.89.2}/.devague/frames/model-gear-now-serves-an-embedding-gear-qwen3-embe-2.json +0 -0
- {lobes_cli-0.89.0 → lobes_cli-0.89.2}/.devague/frames/model-gear-now-serves-an-embedding-gear-qwen3-embe.json +0 -0
- {lobes_cli-0.89.0 → lobes_cli-0.89.2}/.devague/frames/model-gear-owns-the-audio-i-o-surface-end-to-end-m.json +0 -0
- {lobes_cli-0.89.0 → lobes_cli-0.89.2}/.devague/frames/nemotron-lightning-worker.json +0 -0
- {lobes_cli-0.89.0 → lobes_cli-0.89.2}/.devague/frames/orin-associate-at-1m.json +0 -0
- {lobes_cli-0.89.0 → lobes_cli-0.89.2}/.devague/frames/orin-decision-models.json +0 -0
- {lobes_cli-0.89.0 → lobes_cli-0.89.2}/.devague/frames/orin-embedding-specialist.json +0 -0
- {lobes_cli-0.89.0 → lobes_cli-0.89.2}/.devague/frames/peer-only-replica-pools.json +0 -0
- {lobes_cli-0.89.0 → lobes_cli-0.89.2}/.devague/frames/proxy-lobes-pairwise-auth.json +0 -0
- {lobes_cli-0.89.0 → lobes_cli-0.89.2}/.devague/frames/public-lobes-and-hebrew-site.json +0 -0
- {lobes_cli-0.89.0 → lobes_cli-0.89.2}/.devague/frames/quick-wins-finish-the-rename.json +0 -0
- {lobes_cli-0.89.0 → lobes_cli-0.89.2}/.devague/frames/qwen3-8-27b-gguf-on-the-spark.json +0 -0
- {lobes_cli-0.89.0 → lobes_cli-0.89.2}/.devague/frames/qwen3-8-cortex-upgrade.json +0 -0
- {lobes_cli-0.89.0 → lobes_cli-0.89.2}/.devague/frames/qwen3-8-flash-next-gguf-candidate.json +0 -0
- {lobes_cli-0.89.0 → lobes_cli-0.89.2}/.devague/frames/qwen3-8-flash-next-on-thor.json +0 -0
- {lobes_cli-0.89.0 → lobes_cli-0.89.2}/.devague/frames/qwen3-8-gguf-llamacpp.json +0 -0
- {lobes_cli-0.89.0 → lobes_cli-0.89.2}/.devague/frames/realtime-voice-to-voice-astro-test-site-151.json +0 -0
- {lobes_cli-0.89.0 → lobes_cli-0.89.2}/.devague/frames/realtime-ws-server-vad-149.json +0 -0
- {lobes_cli-0.89.0 → lobes_cli-0.89.2}/.devague/frames/reranker-calibration-227.json +0 -0
- {lobes_cli-0.89.0 → lobes_cli-0.89.2}/.devague/frames/stt-readiness-truth-155.json +0 -0
- {lobes_cli-0.89.0 → lobes_cli-0.89.2}/.devague/frames/targeted-ops-and-honest-streams.json +0 -0
- {lobes_cli-0.89.0 → lobes_cli-0.89.2}/.devague/frames/the-gemma-4-12b-gear-gets-speculative-decoding-lob.json +0 -0
- {lobes_cli-0.89.0 → lobes_cli-0.89.2}/.devague/frames/thor-cortex-speculation.json +0 -0
- {lobes_cli-0.89.0 → lobes_cli-0.89.2}/.devague/frames/thor-worker-arm-qwen3-6-35b-a3b-recipes.json +0 -0
- {lobes_cli-0.89.0 → lobes_cli-0.89.2}/.devague/frames/thor-worker-lobe-qwen3-6-35b-a3b.json +0 -0
- {lobes_cli-0.89.0 → lobes_cli-0.89.2}/.devague/frames/under-pressure-lobes-tells-you-the-cortex-model-is.json +0 -0
- {lobes_cli-0.89.0 → lobes_cli-0.89.2}/.devague/frames/unsloth-qat-senses-first-class-orin-variation.json +0 -0
- {lobes_cli-0.89.0 → lobes_cli-0.89.2}/.devague/plans/capacity-relative-pool-routing.json +0 -0
- {lobes_cli-0.89.0 → lobes_cli-0.89.2}/.devague/plans/compose-chain-unification-init-repair-doctor-stale.json +0 -0
- {lobes_cli-0.89.0 → lobes_cli-0.89.2}/.devague/plans/cortex-replica-pool-199.json +0 -0
- {lobes_cli-0.89.0 → lobes_cli-0.89.2}/.devague/plans/deployment-lock-per-box.json +0 -0
- {lobes_cli-0.89.0 → lobes_cli-0.89.2}/.devague/plans/dspark-speculation-on-the-spark-cortex.json +0 -0
- {lobes_cli-0.89.0 → lobes_cli-0.89.2}/.devague/plans/every-lobe-in-the-mesh-can-see-the-spark-reaches-t.json +0 -0
- {lobes_cli-0.89.0 → lobes_cli-0.89.2}/.devague/plans/flash-next-worker-on-thor.json +0 -0
- {lobes_cli-0.89.0 → lobes_cli-0.89.2}/.devague/plans/hand-lobe-lfm2-5-1-2b.json +0 -0
- {lobes_cli-0.89.0 → lobes_cli-0.89.2}/.devague/plans/hebrew-realtime.json +0 -0
- {lobes_cli-0.89.0 → lobes_cli-0.89.2}/.devague/plans/innereye-lobes-hosts-comfyui.json +0 -0
- {lobes_cli-0.89.0 → lobes_cli-0.89.2}/.devague/plans/lane-safety-and-quality-304-307-308-309.json +0 -0
- {lobes_cli-0.89.0 → lobes_cli-0.89.2}/.devague/plans/lightning-on-orin.json +0 -0
- {lobes_cli-0.89.0 → lobes_cli-0.89.2}/.devague/plans/lobes-adds-a-third-middle-model-tier-and-pressure.json +0 -0
- {lobes_cli-0.89.0 → lobes_cli-0.89.2}/.devague/plans/lobes-capabilities-tells-you-where-a-lobe-is-serve.json +0 -0
- {lobes_cli-0.89.0 → lobes_cli-0.89.2}/.devague/plans/lobes-exposes-the-full-colleague-runtime-stack-as.json +0 -0
- {lobes_cli-0.89.0 → lobes_cli-0.89.2}/.devague/plans/lobes-fits-the-machine-it-lands-on-one-command-det.json +0 -0
- {lobes_cli-0.89.0 → lobes_cli-0.89.2}/.devague/plans/lobes-gateway-relays-sse-streams-frame-by-frame-th.json +0 -0
- {lobes_cli-0.89.0 → lobes_cli-0.89.2}/.devague/plans/lobes-never-advertises-a-capability-it-cannot-serv.json +0 -0
- {lobes_cli-0.89.0 → lobes_cli-0.89.2}/.devague/plans/lobes-now-defaults-to-a-spark-duo-the-qwen3-6-27b.json +0 -0
- {lobes_cli-0.89.0 → lobes_cli-0.89.2}/.devague/plans/lobes-preserves-qwen-thinking-traces-across-multi.json +0 -0
- {lobes_cli-0.89.0 → lobes_cli-0.89.2}/.devague/plans/lobes-serves-strict-grammar-constrained-tool-calls.json +0 -0
- {lobes_cli-0.89.0 → lobes_cli-0.89.2}/.devague/plans/lobes-serves-the-brain-shape-you-choose-machine-as.json +0 -0
- {lobes_cli-0.89.0 → lobes_cli-0.89.2}/.devague/plans/lobes-serves-the-mesh-brain-end-state-one-lobe-per.json +0 -0
- {lobes_cli-0.89.0 → lobes_cli-0.89.2}/.devague/plans/lobes-ships-a-custom-vllm-image-from-nvcr-io-nvidi.json +0 -0
- {lobes_cli-0.89.0 → lobes_cli-0.89.2}/.devague/plans/lobes-ships-a-minor-lobe-a-cheap-warm-co-resident.json +0 -0
- {lobes_cli-0.89.0 → lobes_cli-0.89.2}/.devague/plans/lobes-ships-a-per-lobe-benchmark-suite-speed-paral.json +0 -0
- {lobes_cli-0.89.0 → lobes_cli-0.89.2}/.devague/plans/lobes-tells-clients-the-truth-about-a-fleet-a-cons.json +0 -0
- {lobes_cli-0.89.0 → lobes_cli-0.89.2}/.devague/plans/lobes-unifies-its-generate-lane-on-one-vllm-nightl.json +0 -0
- {lobes_cli-0.89.0 → lobes_cli-0.89.2}/.devague/plans/mesh-boot-window-and-capabilities-advert.json +0 -0
- {lobes_cli-0.89.0 → lobes_cli-0.89.2}/.devague/plans/mesh-brain-join.json +0 -0
- {lobes_cli-0.89.0 → lobes_cli-0.89.2}/.devague/plans/mesh-pool-load-sharing.json +0 -0
- {lobes_cli-0.89.0 → lobes_cli-0.89.2}/.devague/plans/model-gear-now-serves-an-embedding-gear-qwen3-embe-2.json +0 -0
- {lobes_cli-0.89.0 → lobes_cli-0.89.2}/.devague/plans/model-gear-owns-the-audio-i-o-surface-end-to-end-m.json +0 -0
- {lobes_cli-0.89.0 → lobes_cli-0.89.2}/.devague/plans/nemotron-lightning-worker.json +0 -0
- {lobes_cli-0.89.0 → lobes_cli-0.89.2}/.devague/plans/orin-associate-at-1m.json +0 -0
- {lobes_cli-0.89.0 → lobes_cli-0.89.2}/.devague/plans/orin-decision-models.json +0 -0
- {lobes_cli-0.89.0 → lobes_cli-0.89.2}/.devague/plans/orin-embedding-specialist.json +0 -0
- {lobes_cli-0.89.0 → lobes_cli-0.89.2}/.devague/plans/peer-only-replica-pools.json +0 -0
- {lobes_cli-0.89.0 → lobes_cli-0.89.2}/.devague/plans/proxy-lobes-pairwise-auth.json +0 -0
- {lobes_cli-0.89.0 → lobes_cli-0.89.2}/.devague/plans/quick-wins-finish-the-rename.json +0 -0
- {lobes_cli-0.89.0 → lobes_cli-0.89.2}/.devague/plans/qwen3-8-cortex-upgrade.json +0 -0
- {lobes_cli-0.89.0 → lobes_cli-0.89.2}/.devague/plans/qwen3-8-flash-next-gguf-candidate.json +0 -0
- {lobes_cli-0.89.0 → lobes_cli-0.89.2}/.devague/plans/qwen3-8-gguf-llamacpp.json +0 -0
- {lobes_cli-0.89.0 → lobes_cli-0.89.2}/.devague/plans/realtime-voice-to-voice-astro-test-site-151.json +0 -0
- {lobes_cli-0.89.0 → lobes_cli-0.89.2}/.devague/plans/realtime-ws-server-vad-149.json +0 -0
- {lobes_cli-0.89.0 → lobes_cli-0.89.2}/.devague/plans/reranker-calibration-227.json +0 -0
- {lobes_cli-0.89.0 → lobes_cli-0.89.2}/.devague/plans/stt-readiness-truth-155.json +0 -0
- {lobes_cli-0.89.0 → lobes_cli-0.89.2}/.devague/plans/the-gemma-4-12b-gear-gets-speculative-decoding-lob.json +0 -0
- {lobes_cli-0.89.0 → lobes_cli-0.89.2}/.devague/plans/thor-cortex-speculation.json +0 -0
- {lobes_cli-0.89.0 → lobes_cli-0.89.2}/.devague/plans/thor-worker-arm-qwen3-6-35b-a3b-recipes.json +0 -0
- {lobes_cli-0.89.0 → lobes_cli-0.89.2}/.devague/plans/thor-worker-lobe-qwen3-6-35b-a3b.json +0 -0
- {lobes_cli-0.89.0 → lobes_cli-0.89.2}/.devague/plans/under-pressure-lobes-tells-you-the-cortex-model-is.json +0 -0
- {lobes_cli-0.89.0 → lobes_cli-0.89.2}/.devague/plans/unsloth-qat-senses-first-class-orin-variation.json +0 -0
- {lobes_cli-0.89.0 → lobes_cli-0.89.2}/.devague/plans/vllm-0-31-0-fleet.json +0 -0
- {lobes_cli-0.89.0 → lobes_cli-0.89.2}/.eidetic/memory/colleague__public.jsonl +0 -0
- {lobes_cli-0.89.0 → lobes_cli-0.89.2}/.eidetic/memory/default__public.jsonl +0 -0
- {lobes_cli-0.89.0 → lobes_cli-0.89.2}/.eidetic/memory/lobes__public.jsonl +0 -0
- {lobes_cli-0.89.0 → lobes_cli-0.89.2}/.flake8 +0 -0
- {lobes_cli-0.89.0 → lobes_cli-0.89.2}/.github/workflows/publish.yml +0 -0
- {lobes_cli-0.89.0 → lobes_cli-0.89.2}/.github/workflows/tests.yml +0 -0
- {lobes_cli-0.89.0 → lobes_cli-0.89.2}/.gitignore +0 -0
- {lobes_cli-0.89.0 → lobes_cli-0.89.2}/.markdownlint-cli2.yaml +0 -0
- {lobes_cli-0.89.0 → lobes_cli-0.89.2}/AGENTS.md +0 -0
- {lobes_cli-0.89.0 → lobes_cli-0.89.2}/LICENSE +0 -0
- {lobes_cli-0.89.0 → lobes_cli-0.89.2}/QWEN.md +0 -0
- {lobes_cli-0.89.0 → lobes_cli-0.89.2}/README.md +0 -0
- {lobes_cli-0.89.0 → lobes_cli-0.89.2}/culture.yaml +0 -0
- {lobes_cli-0.89.0 → lobes_cli-0.89.2}/deployments/README.md +0 -0
- {lobes_cli-0.89.0 → lobes_cli-0.89.2}/deployments/VARIATION.template.md +0 -0
- {lobes_cli-0.89.0 → lobes_cli-0.89.2}/deployments/jetson-agx-orin__orin-embed/Dockerfile.embed-st +0 -0
- {lobes_cli-0.89.0 → lobes_cli-0.89.2}/deployments/jetson-agx-orin__orin-embed/Dockerfile.gateway +0 -0
- {lobes_cli-0.89.0 → lobes_cli-0.89.2}/deployments/jetson-agx-orin__orin-embed/VARIATION.md +0 -0
- {lobes_cli-0.89.0 → lobes_cli-0.89.2}/deployments/jetson-agx-orin__orin-embed/deployment.lock.toml +0 -0
- {lobes_cli-0.89.0 → lobes_cli-0.89.2}/deployments/jetson-agx-orin__orin-embed/docker-compose.embed.yml +0 -0
- {lobes_cli-0.89.0 → lobes_cli-0.89.2}/deployments/jetson-agx-orin__orin-embed/docker-compose.gpu.yml +0 -0
- {lobes_cli-0.89.0 → lobes_cli-0.89.2}/deployments/jetson-agx-orin__orin-embed/docker-compose.override.yml +0 -0
- {lobes_cli-0.89.0 → lobes_cli-0.89.2}/deployments/jetson-agx-orin__orin-embed/docker-compose.shape.yml +0 -0
- {lobes_cli-0.89.0 → lobes_cli-0.89.2}/deployments/jetson-agx-orin__orin-embed/docker-compose.yml +0 -0
- {lobes_cli-0.89.0 → lobes_cli-0.89.2}/deployments/jetson-agx-orin__orin-embed/mg-logwrap.sh +0 -0
- {lobes_cli-0.89.0 → lobes_cli-0.89.2}/deployments/jetson-agx-orin__orin-embed/qwen3_reranker.jinja +0 -0
- {lobes_cli-0.89.0 → lobes_cli-0.89.2}/deployments/jetson-agx-orin__orin-embed/qwen3_thinking_tool_parser.py +0 -0
- {lobes_cli-0.89.0 → lobes_cli-0.89.2}/deployments/jetson-agx-thor__thor-worker/Dockerfile.gateway +0 -0
- {lobes_cli-0.89.0 → lobes_cli-0.89.2}/deployments/jetson-agx-thor__thor-worker/Dockerfile.vllm-gemma4 +0 -0
- {lobes_cli-0.89.0 → lobes_cli-0.89.2}/deployments/jetson-agx-thor__thor-worker/VARIATION.md +0 -0
- {lobes_cli-0.89.0 → lobes_cli-0.89.2}/deployments/jetson-agx-thor__thor-worker/deployment.lock.toml +0 -0
- {lobes_cli-0.89.0 → lobes_cli-0.89.2}/deployments/jetson-agx-thor__thor-worker/docker-compose.override.yml +0 -0
- {lobes_cli-0.89.0 → lobes_cli-0.89.2}/deployments/jetson-agx-thor__thor-worker/docker-compose.shape.yml +0 -0
- {lobes_cli-0.89.0 → lobes_cli-0.89.2}/deployments/jetson-agx-thor__thor-worker/docker-compose.yml +0 -0
- {lobes_cli-0.89.0 → lobes_cli-0.89.2}/deployments/jetson-agx-thor__thor-worker/mg-logwrap.sh +0 -0
- {lobes_cli-0.89.0 → lobes_cli-0.89.2}/deployments/jetson-agx-thor__thor-worker/qwen3_reranker.jinja +0 -0
- {lobes_cli-0.89.0 → lobes_cli-0.89.2}/deployments/jetson-agx-thor__thor-worker/qwen3_thinking_tool_parser.py +0 -0
- {lobes_cli-0.89.0 → lobes_cli-0.89.2}/docs/chatterbox-tts.md +0 -0
- {lobes_cli-0.89.0 → lobes_cli-0.89.2}/docs/colleague-stack.md +0 -0
- {lobes_cli-0.89.0 → lobes_cli-0.89.2}/docs/comfyui-innereye.md +0 -0
- {lobes_cli-0.89.0 → lobes_cli-0.89.2}/docs/contracts/README.md +0 -0
- {lobes_cli-0.89.0 → lobes_cli-0.89.2}/docs/contracts/lane-safety-runtime.md +0 -0
- {lobes_cli-0.89.0 → lobes_cli-0.89.2}/docs/contracts/machine-cli-window.md +0 -0
- {lobes_cli-0.89.0 → lobes_cli-0.89.2}/docs/contracts/realtime-tool-calling.md +0 -0
- {lobes_cli-0.89.0 → lobes_cli-0.89.2}/docs/decider.md +0 -0
- {lobes_cli-0.89.0 → lobes_cli-0.89.2}/docs/deliveries/2026-07-16-proxy-lobes-pairwise-auth.md +0 -0
- {lobes_cli-0.89.0 → lobes_cli-0.89.2}/docs/deliveries/2026-07-21-realtime-voice-to-voice-astro-test-site-151.md +0 -0
- {lobes_cli-0.89.0 → lobes_cli-0.89.2}/docs/deliveries/2026-08-04-unsloth-qat-senses-first-class-orin-variation.md +0 -0
- {lobes_cli-0.89.0 → lobes_cli-0.89.2}/docs/deliveries/2026-08-10-hand-lobe-lfm2-5-1-2b.md +0 -0
- {lobes_cli-0.89.0 → lobes_cli-0.89.2}/docs/deliveries/2026-08-20-nemotron-lightning-worker.md +0 -0
- {lobes_cli-0.89.0 → lobes_cli-0.89.2}/docs/deliveries/2026-08-22-qwen3-8-gguf-llamacpp.md +0 -0
- {lobes_cli-0.89.0 → lobes_cli-0.89.2}/docs/deliveries/2026-08-23-qwen3-8-gguf-llamacpp-deviation-ledger.md +0 -0
- {lobes_cli-0.89.0 → lobes_cli-0.89.2}/docs/deliveries/2026-08-24-dspark-speculation-on-the-spark-cortex.md +0 -0
- {lobes_cli-0.89.0 → lobes_cli-0.89.2}/docs/deliveries/2026-08-25-cortex-replica-pool-199.md +0 -0
- {lobes_cli-0.89.0 → lobes_cli-0.89.2}/docs/deliveries/2026-08-25-lightning-on-orin.md +0 -0
- {lobes_cli-0.89.0 → lobes_cli-0.89.2}/docs/deliveries/2026-08-25-thor-cortex-speculation.md +0 -0
- {lobes_cli-0.89.0 → lobes_cli-0.89.2}/docs/deliveries/2026-08-29-deployment-lock-per-box.md +0 -0
- {lobes_cli-0.89.0 → lobes_cli-0.89.2}/docs/deliveries/2026-08-30-peer-only-replica-pools.md +0 -0
- {lobes_cli-0.89.0 → lobes_cli-0.89.2}/docs/deliveries/2026-08-31-quick-wins-finish-the-rename.md +0 -0
- {lobes_cli-0.89.0 → lobes_cli-0.89.2}/docs/deliveries/2026-09-10-thor-worker-arm-qwen3-6-35b-a3b-recipes.md +0 -0
- {lobes_cli-0.89.0 → lobes_cli-0.89.2}/docs/deliveries/2026-09-11-mesh-brain-join.md +0 -0
- {lobes_cli-0.89.0 → lobes_cli-0.89.2}/docs/deliveries/2026-09-12-mesh-boot-window-and-capabilities-advert.md +0 -0
- {lobes_cli-0.89.0 → lobes_cli-0.89.2}/docs/deliveries/2026-09-13-orin-associate-at-1m.md +0 -0
- {lobes_cli-0.89.0 → lobes_cli-0.89.2}/docs/deliveries/2026-09-16-innereye-lobes-hosts-comfyui.md +0 -0
- {lobes_cli-0.89.0 → lobes_cli-0.89.2}/docs/deliveries/2026-09-18-hebrew-realtime.md +0 -0
- {lobes_cli-0.89.0 → lobes_cli-0.89.2}/docs/deliveries/2026-10-06-mesh-pool-load-sharing.md +0 -0
- {lobes_cli-0.89.0 → lobes_cli-0.89.2}/docs/deliveries/2026-10-07-orin-embedding-specialist.md +0 -0
- {lobes_cli-0.89.0 → lobes_cli-0.89.2}/docs/deliveries/2026-10-14-orin-decision-models.md +0 -0
- {lobes_cli-0.89.0 → lobes_cli-0.89.2}/docs/deliveries/2026-10-17-lane-safety-and-quality-304-307-308-309.md +0 -0
- {lobes_cli-0.89.0 → lobes_cli-0.89.2}/docs/deployment-lock.md +0 -0
- {lobes_cli-0.89.0 → lobes_cli-0.89.2}/docs/deployment-shapes.md +0 -0
- {lobes_cli-0.89.0 → lobes_cli-0.89.2}/docs/dspark-speculation.md +0 -0
- {lobes_cli-0.89.0 → lobes_cli-0.89.2}/docs/durable-logs.md +0 -0
- {lobes_cli-0.89.0 → lobes_cli-0.89.2}/docs/embeddinggemma-2.md +0 -0
- {lobes_cli-0.89.0 → lobes_cli-0.89.2}/docs/evidence/2026-07-14-accept-referral-thor.txt +0 -0
- {lobes_cli-0.89.0 → lobes_cli-0.89.2}/docs/evidence/2026-07-14-accept-spark-lobe-gb10.txt +0 -0
- {lobes_cli-0.89.0 → lobes_cli-0.89.2}/docs/evidence/2026-07-14-accept-thor-lobe-live-referral-thor.txt +0 -0
- {lobes_cli-0.89.0 → lobes_cli-0.89.2}/docs/evidence/2026-07-14-accept-thor-lobe-thor.txt +0 -0
- {lobes_cli-0.89.0 → lobes_cli-0.89.2}/docs/evidence/2026-07-14-strict-tools-spark-lobe-spark.txt +0 -0
- {lobes_cli-0.89.0 → lobes_cli-0.89.2}/docs/evidence/2026-07-16-proxy-lobes-live-spark-thor.txt +0 -0
- {lobes_cli-0.89.0 → lobes_cli-0.89.2}/docs/evidence/2026-07-17-accept-muse-tool-calling-thor.txt +0 -0
- {lobes_cli-0.89.0 → lobes_cli-0.89.2}/docs/evidence/2026-07-20-accept-embed-deep-gb10.txt +0 -0
- {lobes_cli-0.89.0 → lobes_cli-0.89.2}/docs/evidence/2026-07-21-accept-realtime-spark.txt +0 -0
- {lobes_cli-0.89.0 → lobes_cli-0.89.2}/docs/evidence/2026-07-21-accept-voice-loop-spark.txt +0 -0
- {lobes_cli-0.89.0 → lobes_cli-0.89.2}/docs/evidence/2026-07-22-accept-realtime-voice-to-voice-spark.txt +0 -0
- {lobes_cli-0.89.0 → lobes_cli-0.89.2}/docs/evidence/2026-07-25-accept-by-proxy-spark-f8a9.txt +0 -0
- {lobes_cli-0.89.0 → lobes_cli-0.89.2}/docs/evidence/2026-07-31-accept-multimodal-cortex-spark.txt +0 -0
- {lobes_cli-0.89.0 → lobes_cli-0.89.2}/docs/evidence/2026-07-31-accept-worker-proxy-spark.txt +0 -0
- {lobes_cli-0.89.0 → lobes_cli-0.89.2}/docs/evidence/2026-07-31-accept-worker-thor.txt +0 -0
- {lobes_cli-0.89.0 → lobes_cli-0.89.2}/docs/evidence/2026-08-04-accept-senses-unsloth-orin.txt +0 -0
- {lobes_cli-0.89.0 → lobes_cli-0.89.2}/docs/evidence/2026-08-10-hand-lobe-budget-derivation.txt +0 -0
- {lobes_cli-0.89.0 → lobes_cli-0.89.2}/docs/evidence/2026-08-10-partial-hand-orin.txt +0 -0
- {lobes_cli-0.89.0 → lobes_cli-0.89.2}/docs/evidence/2026-08-10-partial-hand-spark.txt +0 -0
- {lobes_cli-0.89.0 → lobes_cli-0.89.2}/docs/evidence/2026-08-19-accept-qwen38-1m-spark.txt +0 -0
- {lobes_cli-0.89.0 → lobes_cli-0.89.2}/docs/evidence/2026-08-19-baseline-qwen3.6-cortex-spark.txt +0 -0
- {lobes_cli-0.89.0 → lobes_cli-0.89.2}/docs/evidence/2026-08-19-spike-qwen3.8-official-nightly-spark.txt +0 -0
- {lobes_cli-0.89.0 → lobes_cli-0.89.2}/docs/evidence/2026-08-20-accept-cortex-local-thor.txt +0 -0
- {lobes_cli-0.89.0 → lobes_cli-0.89.2}/docs/evidence/2026-08-20-accept-cortex-repoint-orin.txt +0 -0
- {lobes_cli-0.89.0 → lobes_cli-0.89.2}/docs/evidence/2026-08-20-accept-cortex-repoint-thor.txt +0 -0
- {lobes_cli-0.89.0 → lobes_cli-0.89.2}/docs/evidence/2026-08-20-accept-dual-cortex-mesh.txt +0 -0
- {lobes_cli-0.89.0 → lobes_cli-0.89.2}/docs/evidence/2026-08-20-accept-hand-spark.txt +0 -0
- {lobes_cli-0.89.0 → lobes_cli-0.89.2}/docs/evidence/2026-08-20-accept-worker-hand-spark.txt +0 -0
- {lobes_cli-0.89.0 → lobes_cli-0.89.2}/docs/evidence/2026-08-20-baseline-worker-qwen35b-thor.txt +0 -0
- {lobes_cli-0.89.0 → lobes_cli-0.89.2}/docs/evidence/2026-08-20-hand-thor-blocked-reattributed.txt +0 -0
- {lobes_cli-0.89.0 → lobes_cli-0.89.2}/docs/evidence/2026-08-20-spike-lightning-thor-no-go.txt +0 -0
- {lobes_cli-0.89.0 → lobes_cli-0.89.2}/docs/evidence/2026-08-20-spike-nightly-sm110-thor.txt +0 -0
- {lobes_cli-0.89.0 → lobes_cli-0.89.2}/docs/evidence/2026-08-21-measure-reasoning-effort-cortex-spark.txt +0 -0
- {lobes_cli-0.89.0 → lobes_cli-0.89.2}/docs/evidence/2026-08-23-spike-qwen38-gguf-llamacpp-orin.txt +0 -0
- {lobes_cli-0.89.0 → lobes_cli-0.89.2}/docs/evidence/2026-08-24-spike-dspark-cortex-spark.txt +0 -0
- {lobes_cli-0.89.0 → lobes_cli-0.89.2}/docs/evidence/2026-08-25-accept-cortex-replica-pool-spark-thor.txt +0 -0
- {lobes_cli-0.89.0 → lobes_cli-0.89.2}/docs/evidence/2026-08-25-accept-spark-lobe-dspark-render.txt +0 -0
- {lobes_cli-0.89.0 → lobes_cli-0.89.2}/docs/evidence/2026-08-25-baseline-cortex-single-owner.txt +0 -0
- {lobes_cli-0.89.0 → lobes_cli-0.89.2}/docs/evidence/2026-08-25-measure-associate-budget-orin.txt +0 -0
- {lobes_cli-0.89.0 → lobes_cli-0.89.2}/docs/evidence/2026-08-25-orin-board-state-lightning-spikes.txt +0 -0
- {lobes_cli-0.89.0 → lobes_cli-0.89.2}/docs/evidence/2026-08-25-spike-lightning-llamacpp-orin.txt +0 -0
- {lobes_cli-0.89.0 → lobes_cli-0.89.2}/docs/evidence/2026-08-25-spike-lightning-vllm-orin.txt +0 -0
- {lobes_cli-0.89.0 → lobes_cli-0.89.2}/docs/evidence/2026-08-25-spike-thor-cortex-speculation.txt +0 -0
- {lobes_cli-0.89.0 → lobes_cli-0.89.2}/docs/evidence/2026-08-26-accept-orin-associate.txt +0 -0
- {lobes_cli-0.89.0 → lobes_cli-0.89.2}/docs/evidence/2026-08-26-associate-gateway-auth-front.txt +0 -0
- {lobes_cli-0.89.0 → lobes_cli-0.89.2}/docs/evidence/2026-08-28-accept-capacity-relative-pool-thor-spark.txt +0 -0
- {lobes_cli-0.89.0 → lobes_cli-0.89.2}/docs/evidence/2026-08-30-accept-peer-only-pool-orin.txt +0 -0
- {lobes_cli-0.89.0 → lobes_cli-0.89.2}/docs/evidence/2026-08-30-accept-reranker-template-spark.txt +0 -0
- {lobes_cli-0.89.0 → lobes_cli-0.89.2}/docs/evidence/2026-08-30-baseline-orin-cortex-pinned.txt +0 -0
- {lobes_cli-0.89.0 → lobes_cli-0.89.2}/docs/evidence/2026-08-30-baseline-reranker-untemplated-spark.txt +0 -0
- {lobes_cli-0.89.0 → lobes_cli-0.89.2}/docs/evidence/2026-09-10-accept-nvidia-35b-a3b-thor.txt +0 -0
- {lobes_cli-0.89.0 → lobes_cli-0.89.2}/docs/evidence/2026-09-10-accept-thor-worker-flip.txt +0 -0
- {lobes_cli-0.89.0 → lobes_cli-0.89.2}/docs/evidence/2026-09-10-baseline-thor-cortex-pre-244.txt +0 -0
- {lobes_cli-0.89.0 → lobes_cli-0.89.2}/docs/evidence/2026-09-10-spike-nvidia-35b-a3b-preboot-thor.txt +0 -0
- {lobes_cli-0.89.0 → lobes_cli-0.89.2}/docs/evidence/2026-09-10-sweep-mtp-depth-nvidia-35b-a3b-thor.txt +0 -0
- {lobes_cli-0.89.0 → lobes_cli-0.89.2}/docs/evidence/2026-09-10-thor-backup-and-rollback-dryrun-244.txt +0 -0
- {lobes_cli-0.89.0 → lobes_cli-0.89.2}/docs/evidence/2026-09-10-thor-pressure-floor-244.txt +0 -0
- {lobes_cli-0.89.0 → lobes_cli-0.89.2}/docs/evidence/2026-09-11-accept-thor-reranker-template-senses-unproxy.txt +0 -0
- {lobes_cli-0.89.0 → lobes_cli-0.89.2}/docs/evidence/2026-09-11-accept-worker-proxy-spark-thor.txt +0 -0
- {lobes_cli-0.89.0 → lobes_cli-0.89.2}/docs/evidence/2026-09-12-accept-mesh-boot-window-fleet.txt +0 -0
- {lobes_cli-0.89.0 → lobes_cli-0.89.2}/docs/evidence/2026-09-12-accept-mesh-brain-join-fleet.txt +0 -0
- {lobes_cli-0.89.0 → lobes_cli-0.89.2}/docs/evidence/2026-09-12-baseline-mesh-cutover.txt +0 -0
- {lobes_cli-0.89.0 → lobes_cli-0.89.2}/docs/evidence/2026-09-13-accept-orin-associate-1m.txt +0 -0
- {lobes_cli-0.89.0 → lobes_cli-0.89.2}/docs/evidence/2026-09-13-measure-associate-budget-orin-1m.txt +0 -0
- {lobes_cli-0.89.0 → lobes_cli-0.89.2}/docs/evidence/2026-09-13-spike-lightning-thor-v029.txt +0 -0
- {lobes_cli-0.89.0 → lobes_cli-0.89.2}/docs/evidence/2026-09-16-accept-innereye-spark.txt +0 -0
- {lobes_cli-0.89.0 → lobes_cli-0.89.2}/docs/evidence/2026-09-16-baseline-comfyui-venv-spark.txt +0 -0
- {lobes_cli-0.89.0 → lobes_cli-0.89.2}/docs/evidence/2026-09-16-innereye-render-via-thor.png +0 -0
- {lobes_cli-0.89.0 → lobes_cli-0.89.2}/docs/evidence/2026-09-16-t2-comfyui-container-spark.txt +0 -0
- {lobes_cli-0.89.0 → lobes_cli-0.89.2}/docs/evidence/2026-09-19-accept-multimodal-gemma26b-native-context-spark.txt +0 -0
- {lobes_cli-0.89.0 → lobes_cli-0.89.2}/docs/evidence/2026-09-23-spike-flash-next-worker-thor.txt +0 -0
- {lobes_cli-0.89.0 → lobes_cli-0.89.2}/docs/evidence/2026-09-hebrew-realtime-audio-hardware-spark.txt +0 -0
- {lobes_cli-0.89.0 → lobes_cli-0.89.2}/docs/evidence/2026-09-hebrew-realtime-first-loop-spark.txt +0 -0
- {lobes_cli-0.89.0 → lobes_cli-0.89.2}/docs/evidence/2026-09-hebrew-realtime-spike-spark.txt +0 -0
- {lobes_cli-0.89.0 → lobes_cli-0.89.2}/docs/evidence/2026-09-hebrew-realtime-streaming-bluetts-spark.txt +0 -0
- {lobes_cli-0.89.0 → lobes_cli-0.89.2}/docs/evidence/2026-09-hebrew-realtime-vad-ab-spark.txt +0 -0
- {lobes_cli-0.89.0 → lobes_cli-0.89.2}/docs/evidence/2026-09-hebrew-stt-spike-spark.txt +0 -0
- {lobes_cli-0.89.0 → lobes_cli-0.89.2}/docs/evidence/2026-09-hebrew-tts-ab-spark.txt +0 -0
- {lobes_cli-0.89.0 → lobes_cli-0.89.2}/docs/evidence/2026-09-hebrew-voice-lane-senses12b-spark.txt +0 -0
- {lobes_cli-0.89.0 → lobes_cli-0.89.2}/docs/evidence/2026-10-06-accept-mesh-member-lanes.txt +0 -0
- {lobes_cli-0.89.0 → lobes_cli-0.89.2}/docs/evidence/2026-10-07-accept-innereye-replace-spark.txt +0 -0
- {lobes_cli-0.89.0 → lobes_cli-0.89.2}/docs/evidence/2026-10-07-accept-orin-embed.txt +0 -0
- {lobes_cli-0.89.0 → lobes_cli-0.89.2}/docs/evidence/2026-10-07-h2h/run1.json +0 -0
- {lobes_cli-0.89.0 → lobes_cli-0.89.2}/docs/evidence/2026-10-07-h2h/run1.table.txt +0 -0
- {lobes_cli-0.89.0 → lobes_cli-0.89.2}/docs/evidence/2026-10-07-h2h/run2-nomic.json +0 -0
- {lobes_cli-0.89.0 → lobes_cli-0.89.2}/docs/evidence/2026-10-07-h2h/run2-nomic.table.txt +0 -0
- {lobes_cli-0.89.0 → lobes_cli-0.89.2}/docs/evidence/2026-10-07-h2h/run3-qwen3vl.json +0 -0
- {lobes_cli-0.89.0 → lobes_cli-0.89.2}/docs/evidence/2026-10-07-h2h/run3-qwen3vl.table.txt +0 -0
- {lobes_cli-0.89.0 → lobes_cli-0.89.2}/docs/evidence/2026-10-07-h2h-code-retrieval-orin.txt +0 -0
- {lobes_cli-0.89.0 → lobes_cli-0.89.2}/docs/evidence/2026-10-07-rollback-orin-embed-to-orin-associate.txt +0 -0
- {lobes_cli-0.89.0 → lobes_cli-0.89.2}/docs/evidence/2026-10-07-spike-embeddinggemma2-sidecar-orin.txt +0 -0
- {lobes_cli-0.89.0 → lobes_cli-0.89.2}/docs/evidence/2026-10-07-spike-orin-embed-vllm-8b.txt +0 -0
- {lobes_cli-0.89.0 → lobes_cli-0.89.2}/docs/evidence/2026-10-14-ab-clef-vllm-vs-sidecar-orin.txt +0 -0
- {lobes_cli-0.89.0 → lobes_cli-0.89.2}/docs/evidence/2026-10-14-accept-clef-bf16-interim-spark.txt +0 -0
- {lobes_cli-0.89.0 → lobes_cli-0.89.2}/docs/evidence/2026-10-14-accept-decider-2b-spark2.txt +0 -0
- {lobes_cli-0.89.0 → lobes_cli-0.89.2}/docs/evidence/2026-10-14-accept-orin-decider.txt +0 -0
- {lobes_cli-0.89.0 → lobes_cli-0.89.2}/docs/evidence/2026-10-14-build-clef-sets.txt +0 -0
- {lobes_cli-0.89.0 → lobes_cli-0.89.2}/docs/evidence/2026-10-14-spike-clef-nf4-transformers-orin.txt +0 -0
- {lobes_cli-0.89.0 → lobes_cli-0.89.2}/docs/evidence/2026-10-14-verify-clef-quants.txt +0 -0
- {lobes_cli-0.89.0 → lobes_cli-0.89.2}/docs/evidence/2026-10-17-accept-lane-safety-hardware.txt +0 -0
- {lobes_cli-0.89.0 → lobes_cli-0.89.2}/docs/evidence/2026-10-17-baseline-nightly-spark2.txt +0 -0
- {lobes_cli-0.89.0 → lobes_cli-0.89.2}/docs/evidence/2026-10-17-verify-cpucap-running-vllm-spark.txt +0 -0
- {lobes_cli-0.89.0 → lobes_cli-0.89.2}/docs/evidence/README-dspark-arms.md +0 -0
- {lobes_cli-0.89.0 → lobes_cli-0.89.2}/docs/evidence/README-realtime-acceptance.md +0 -0
- {lobes_cli-0.89.0 → lobes_cli-0.89.2}/docs/evidence/arm-a16-dspark-262k.json +0 -0
- {lobes_cli-0.89.0 → lobes_cli-0.89.2}/docs/evidence/arm-a16-none-262k.json +0 -0
- {lobes_cli-0.89.0 → lobes_cli-0.89.2}/docs/evidence/arm-dspark-262k.json +0 -0
- {lobes_cli-0.89.0 → lobes_cli-0.89.2}/docs/evidence/arm-dspark-768k.json +0 -0
- {lobes_cli-0.89.0 → lobes_cli-0.89.2}/docs/evidence/arm-mtp-n2-262k.json +0 -0
- {lobes_cli-0.89.0 → lobes_cli-0.89.2}/docs/evidence/arm-mtp-n2-768k.json +0 -0
- {lobes_cli-0.89.0 → lobes_cli-0.89.2}/docs/evidence/arm-mtp-n2.json +0 -0
- {lobes_cli-0.89.0 → lobes_cli-0.89.2}/docs/evidence/arm-none-262k.json +0 -0
- {lobes_cli-0.89.0 → lobes_cli-0.89.2}/docs/evidence/arm-none-768k.json +0 -0
- {lobes_cli-0.89.0 → lobes_cli-0.89.2}/docs/experiments/README.md +0 -0
- {lobes_cli-0.89.0 → lobes_cli-0.89.2}/docs/experiments/qwen3.8-flash-next-gguf-llamacpp-vllm.md +0 -0
- {lobes_cli-0.89.0 → lobes_cli-0.89.2}/docs/experiments/qwen3.8-flash-next-nvfp4-thor-reference.md +0 -0
- {lobes_cli-0.89.0 → lobes_cli-0.89.2}/docs/gateway-fleet.md +0 -0
- {lobes_cli-0.89.0 → lobes_cli-0.89.2}/docs/gemma-4-12b-nvfp4.md +0 -0
- {lobes_cli-0.89.0 → lobes_cli-0.89.2}/docs/gemma-4-12b-qat-w4a16.md +0 -0
- {lobes_cli-0.89.0 → lobes_cli-0.89.2}/docs/gemma-4-31b-nvfp4.md +0 -0
- {lobes_cli-0.89.0 → lobes_cli-0.89.2}/docs/gemma4-mtp-draft.md +0 -0
- {lobes_cli-0.89.0 → lobes_cli-0.89.2}/docs/hebrew-realtime.md +0 -0
- {lobes_cli-0.89.0 → lobes_cli-0.89.2}/docs/image-ledger.md +0 -0
- {lobes_cli-0.89.0 → lobes_cli-0.89.2}/docs/lfm2.5-1.2b-hand.md +0 -0
- {lobes_cli-0.89.0 → lobes_cli-0.89.2}/docs/machine-profiles.md +0 -0
- {lobes_cli-0.89.0 → lobes_cli-0.89.2}/docs/measuring-lane-performance.md +0 -0
- {lobes_cli-0.89.0 → lobes_cli-0.89.2}/docs/mistral-small-3.2-24b-nvfp4.md +0 -0
- {lobes_cli-0.89.0 → lobes_cli-0.89.2}/docs/model-switch-playbook.md +0 -0
- {lobes_cli-0.89.0 → lobes_cli-0.89.2}/docs/nemotron-3-embed-8b.md +0 -0
- {lobes_cli-0.89.0 → lobes_cli-0.89.2}/docs/nemotron-3.5-lightning-30b-a3b-nvfp4.md +0 -0
- {lobes_cli-0.89.0 → lobes_cli-0.89.2}/docs/nomic-embed-code.md +0 -0
- {lobes_cli-0.89.0 → lobes_cli-0.89.2}/docs/nvidia-qwen3.6-35b-a3b-nvfp4.md +0 -0
- {lobes_cli-0.89.0 → lobes_cli-0.89.2}/docs/openai-api.md +0 -0
- {lobes_cli-0.89.0 → lobes_cli-0.89.2}/docs/orin-associate-deployment.md +0 -0
- {lobes_cli-0.89.0 → lobes_cli-0.89.2}/docs/orin-embed-deployment.md +0 -0
- {lobes_cli-0.89.0 → lobes_cli-0.89.2}/docs/orin-profiles.md +0 -0
- {lobes_cli-0.89.0 → lobes_cli-0.89.2}/docs/parakeet-stt.md +0 -0
- {lobes_cli-0.89.0 → lobes_cli-0.89.2}/docs/plans/2026-06-12-model-gear-owns-the-audio-i-o-surface-end-to-end-m.md +0 -0
- {lobes_cli-0.89.0 → lobes_cli-0.89.2}/docs/plans/2026-06-19-model-gear-now-serves-an-embedding-gear-qwen3-embe-2.md +0 -0
- {lobes_cli-0.89.0 → lobes_cli-0.89.2}/docs/plans/2026-06-26-lobes-ships-a-minor-lobe-a-cheap-warm-co-resident.md +0 -0
- {lobes_cli-0.89.0 → lobes_cli-0.89.2}/docs/plans/2026-06-26-lobes-ships-a-per-lobe-benchmark-suite-speed-paral.md +0 -0
- {lobes_cli-0.89.0 → lobes_cli-0.89.2}/docs/plans/2026-06-29-lobes-adds-a-third-middle-model-tier-and-pressure.md +0 -0
- {lobes_cli-0.89.0 → lobes_cli-0.89.2}/docs/plans/2026-06-30-lobes-now-defaults-to-a-spark-duo-the-qwen3-6-27b.md +0 -0
- {lobes_cli-0.89.0 → lobes_cli-0.89.2}/docs/plans/2026-06-30-lobes-ships-a-custom-vllm-image-from-nvcr-io-nvidi.md +0 -0
- {lobes_cli-0.89.0 → lobes_cli-0.89.2}/docs/plans/2026-07-01-gemma-4-12b-gear-gets-speculative-decoding-draft.md +0 -0
- {lobes_cli-0.89.0 → lobes_cli-0.89.2}/docs/plans/2026-07-01-lobes-unifies-its-generate-lane-on-one-vllm-nightl.md +0 -0
- {lobes_cli-0.89.0 → lobes_cli-0.89.2}/docs/plans/2026-07-03-lobes-exposes-the-full-colleague-runtime-stack-as.md +0 -0
- {lobes_cli-0.89.0 → lobes_cli-0.89.2}/docs/plans/2026-07-03-under-pressure-lobes-tells-you-the-cortex-model-is.md +0 -0
- {lobes_cli-0.89.0 → lobes_cli-0.89.2}/docs/plans/2026-07-04-lobes-tells-clients-the-truth-about-a-fleet-a-cons.md +0 -0
- {lobes_cli-0.89.0 → lobes_cli-0.89.2}/docs/plans/2026-07-07-lobes-preserves-qwen-thinking-traces-across-multi.md +0 -0
- {lobes_cli-0.89.0 → lobes_cli-0.89.2}/docs/plans/2026-07-09-lobes-never-advertises-a-capability-it-cannot-serv.md +0 -0
- {lobes_cli-0.89.0 → lobes_cli-0.89.2}/docs/plans/2026-07-10-lobes-gateway-relays-sse-streams-frame-by-frame-th.md +0 -0
- {lobes_cli-0.89.0 → lobes_cli-0.89.2}/docs/plans/2026-07-13-lobes-fits-the-machine-it-lands-on-one-command-det.md +0 -0
- {lobes_cli-0.89.0 → lobes_cli-0.89.2}/docs/plans/2026-07-14-lobes-serves-strict-grammar-constrained-tool-calls.md +0 -0
- {lobes_cli-0.89.0 → lobes_cli-0.89.2}/docs/plans/2026-07-14-lobes-serves-the-brain-shape-you-choose-machine-as.md +0 -0
- {lobes_cli-0.89.0 → lobes_cli-0.89.2}/docs/plans/2026-07-14-lobes-serves-the-mesh-brain-end-state-one-lobe-per.md +0 -0
- {lobes_cli-0.89.0 → lobes_cli-0.89.2}/docs/plans/2026-07-16-proxy-lobes-pairwise-auth.md +0 -0
- {lobes_cli-0.89.0 → lobes_cli-0.89.2}/docs/plans/2026-07-17-compose-chain-unification-init-repair-doctor-stale.md +0 -0
- {lobes_cli-0.89.0 → lobes_cli-0.89.2}/docs/plans/2026-07-21-realtime-voice-to-voice-astro-test-site-151.md +0 -0
- {lobes_cli-0.89.0 → lobes_cli-0.89.2}/docs/plans/2026-07-21-realtime-ws-server-vad-149.md +0 -0
- {lobes_cli-0.89.0 → lobes_cli-0.89.2}/docs/plans/2026-07-24-stt-readiness-truth-155.md +0 -0
- {lobes_cli-0.89.0 → lobes_cli-0.89.2}/docs/plans/2026-07-25-lobes-capabilities-tells-you-where-a-lobe-is-serve.md +0 -0
- {lobes_cli-0.89.0 → lobes_cli-0.89.2}/docs/plans/2026-07-31-every-lobe-in-the-mesh-can-see-the-spark-reaches-t.md +0 -0
- {lobes_cli-0.89.0 → lobes_cli-0.89.2}/docs/plans/2026-07-31-thor-worker-lobe-qwen3-6-35b-a3b.md +0 -0
- {lobes_cli-0.89.0 → lobes_cli-0.89.2}/docs/plans/2026-08-04-unsloth-qat-senses-first-class-orin-variation.md +0 -0
- {lobes_cli-0.89.0 → lobes_cli-0.89.2}/docs/plans/2026-08-10-hand-lobe-lfm2-5-1-2b.md +0 -0
- {lobes_cli-0.89.0 → lobes_cli-0.89.2}/docs/plans/2026-08-19-qwen3-8-cortex-upgrade.md +0 -0
- {lobes_cli-0.89.0 → lobes_cli-0.89.2}/docs/plans/2026-08-20-nemotron-lightning-worker.md +0 -0
- {lobes_cli-0.89.0 → lobes_cli-0.89.2}/docs/plans/2026-08-22-qwen3-8-gguf-llamacpp.md +0 -0
- {lobes_cli-0.89.0 → lobes_cli-0.89.2}/docs/plans/2026-08-24-dspark-speculation-on-the-spark-cortex.md +0 -0
- {lobes_cli-0.89.0 → lobes_cli-0.89.2}/docs/plans/2026-08-25-cortex-replica-pool-199.md +0 -0
- {lobes_cli-0.89.0 → lobes_cli-0.89.2}/docs/plans/2026-08-25-lightning-on-orin.md +0 -0
- {lobes_cli-0.89.0 → lobes_cli-0.89.2}/docs/plans/2026-08-25-thor-cortex-speculation.md +0 -0
- {lobes_cli-0.89.0 → lobes_cli-0.89.2}/docs/plans/2026-08-27-capacity-relative-pool-routing.md +0 -0
- {lobes_cli-0.89.0 → lobes_cli-0.89.2}/docs/plans/2026-08-29-deployment-lock-per-box.md +0 -0
- {lobes_cli-0.89.0 → lobes_cli-0.89.2}/docs/plans/2026-08-30-peer-only-replica-pools.md +0 -0
- {lobes_cli-0.89.0 → lobes_cli-0.89.2}/docs/plans/2026-08-30-reranker-calibration-227.md +0 -0
- {lobes_cli-0.89.0 → lobes_cli-0.89.2}/docs/plans/2026-08-31-quick-wins-finish-the-rename.md +0 -0
- {lobes_cli-0.89.0 → lobes_cli-0.89.2}/docs/plans/2026-09-10-thor-worker-arm-qwen3-6-35b-a3b-recipes-split.md +0 -0
- {lobes_cli-0.89.0 → lobes_cli-0.89.2}/docs/plans/2026-09-10-thor-worker-arm-qwen3-6-35b-a3b-recipes.md +0 -0
- {lobes_cli-0.89.0 → lobes_cli-0.89.2}/docs/plans/2026-09-11-mesh-brain-join-split.md +0 -0
- {lobes_cli-0.89.0 → lobes_cli-0.89.2}/docs/plans/2026-09-11-mesh-brain-join.md +0 -0
- {lobes_cli-0.89.0 → lobes_cli-0.89.2}/docs/plans/2026-09-12-mesh-boot-window-and-capabilities-advert-split.md +0 -0
- {lobes_cli-0.89.0 → lobes_cli-0.89.2}/docs/plans/2026-09-12-mesh-boot-window-and-capabilities-advert.md +0 -0
- {lobes_cli-0.89.0 → lobes_cli-0.89.2}/docs/plans/2026-09-13-orin-associate-at-1m-split.md +0 -0
- {lobes_cli-0.89.0 → lobes_cli-0.89.2}/docs/plans/2026-09-13-orin-associate-at-1m.md +0 -0
- {lobes_cli-0.89.0 → lobes_cli-0.89.2}/docs/plans/2026-09-16-innereye-lobes-hosts-comfyui-split.md +0 -0
- {lobes_cli-0.89.0 → lobes_cli-0.89.2}/docs/plans/2026-09-16-innereye-lobes-hosts-comfyui.md +0 -0
- {lobes_cli-0.89.0 → lobes_cli-0.89.2}/docs/plans/2026-09-18-hebrew-realtime-HANDOFF.md +0 -0
- {lobes_cli-0.89.0 → lobes_cli-0.89.2}/docs/plans/2026-09-18-hebrew-realtime-split.md +0 -0
- {lobes_cli-0.89.0 → lobes_cli-0.89.2}/docs/plans/2026-09-18-hebrew-realtime.md +0 -0
- {lobes_cli-0.89.0 → lobes_cli-0.89.2}/docs/plans/2026-09-23-flash-next-worker-on-thor.md +0 -0
- {lobes_cli-0.89.0 → lobes_cli-0.89.2}/docs/plans/2026-10-06-mesh-pool-load-sharing-split.md +0 -0
- {lobes_cli-0.89.0 → lobes_cli-0.89.2}/docs/plans/2026-10-06-mesh-pool-load-sharing.md +0 -0
- {lobes_cli-0.89.0 → lobes_cli-0.89.2}/docs/plans/2026-10-07-orin-embedding-specialist-split.md +0 -0
- {lobes_cli-0.89.0 → lobes_cli-0.89.2}/docs/plans/2026-10-07-orin-embedding-specialist.md +0 -0
- {lobes_cli-0.89.0 → lobes_cli-0.89.2}/docs/plans/2026-10-14-orin-decision-models-split.md +0 -0
- {lobes_cli-0.89.0 → lobes_cli-0.89.2}/docs/plans/2026-10-14-orin-decision-models.md +0 -0
- {lobes_cli-0.89.0 → lobes_cli-0.89.2}/docs/plans/2026-10-17-lane-safety-HANDOFF.md +0 -0
- {lobes_cli-0.89.0 → lobes_cli-0.89.2}/docs/plans/2026-10-17-lane-safety-and-quality-304-307-308-309-split.md +0 -0
- {lobes_cli-0.89.0 → lobes_cli-0.89.2}/docs/plans/2026-10-17-lane-safety-and-quality-304-307-308-309.md +0 -0
- {lobes_cli-0.89.0 → lobes_cli-0.89.2}/docs/plans/2026-10-17-vllm-0-31-0-fleet-split.md +0 -0
- {lobes_cli-0.89.0 → lobes_cli-0.89.2}/docs/plans/2026-10-17-vllm-0-31-0-fleet.md +0 -0
- {lobes_cli-0.89.0 → lobes_cli-0.89.2}/docs/qwen3-14b-nvfp4.md +0 -0
- {lobes_cli-0.89.0 → lobes_cli-0.89.2}/docs/qwen3-32b-nvfp4.md +0 -0
- {lobes_cli-0.89.0 → lobes_cli-0.89.2}/docs/qwen3-embedding-0.6b.md +0 -0
- {lobes_cli-0.89.0 → lobes_cli-0.89.2}/docs/qwen3-embedding-4b.md +0 -0
- {lobes_cli-0.89.0 → lobes_cli-0.89.2}/docs/qwen3-reranker-0.6b.md +0 -0
- {lobes_cli-0.89.0 → lobes_cli-0.89.2}/docs/qwen3-vl-embedding-8b.md +0 -0
- {lobes_cli-0.89.0 → lobes_cli-0.89.2}/docs/qwen3-vl-reranker-8b.md +0 -0
- {lobes_cli-0.89.0 → lobes_cli-0.89.2}/docs/qwen3.5-4b-minor.md +0 -0
- {lobes_cli-0.89.0 → lobes_cli-0.89.2}/docs/qwen3.6-27b-nvfp4-multimodal.md +0 -0
- {lobes_cli-0.89.0 → lobes_cli-0.89.2}/docs/qwen3.6-27b-nvfp4.md +0 -0
- {lobes_cli-0.89.0 → lobes_cli-0.89.2}/docs/qwen3.6-35b-a3b-nvfp4.md +0 -0
- {lobes_cli-0.89.0 → lobes_cli-0.89.2}/docs/qwen3.8-27b-gguf-llamacpp.md +0 -0
- {lobes_cli-0.89.0 → lobes_cli-0.89.2}/docs/qwen3.8-27b-nvfp4.md +0 -0
- {lobes_cli-0.89.0 → lobes_cli-0.89.2}/docs/qwen38-rollout-notes.md +0 -0
- {lobes_cli-0.89.0 → lobes_cli-0.89.2}/docs/realtime-pipeline.md +0 -0
- {lobes_cli-0.89.0 → lobes_cli-0.89.2}/docs/secret-rotation.md +0 -0
- {lobes_cli-0.89.0 → lobes_cli-0.89.2}/docs/skill-sources.md +0 -0
- {lobes_cli-0.89.0 → lobes_cli-0.89.2}/docs/specs/2026-06-12-model-gear-owns-the-audio-i-o-surface-end-to-end-m.md +0 -0
- {lobes_cli-0.89.0 → lobes_cli-0.89.2}/docs/specs/2026-06-19-model-gear-now-serves-an-embedding-gear-qwen3-embe-2.md +0 -0
- {lobes_cli-0.89.0 → lobes_cli-0.89.2}/docs/specs/2026-06-26-lobes-ships-a-minor-lobe-a-cheap-warm-co-resident.md +0 -0
- {lobes_cli-0.89.0 → lobes_cli-0.89.2}/docs/specs/2026-06-26-lobes-ships-a-per-lobe-benchmark-suite-speed-paral.md +0 -0
- {lobes_cli-0.89.0 → lobes_cli-0.89.2}/docs/specs/2026-06-29-lobes-adds-a-third-middle-model-tier-and-pressure.md +0 -0
- {lobes_cli-0.89.0 → lobes_cli-0.89.2}/docs/specs/2026-06-30-lobes-now-defaults-to-a-spark-duo-the-qwen3-6-27b.md +0 -0
- {lobes_cli-0.89.0 → lobes_cli-0.89.2}/docs/specs/2026-06-30-lobes-ships-a-custom-vllm-image-from-nvcr-io-nvidi.md +0 -0
- {lobes_cli-0.89.0 → lobes_cli-0.89.2}/docs/specs/2026-07-01-gemma-4-12b-gear-gets-speculative-decoding-draft.md +0 -0
- {lobes_cli-0.89.0 → lobes_cli-0.89.2}/docs/specs/2026-07-01-lobes-unifies-its-generate-lane-on-one-vllm-nightl.md +0 -0
- {lobes_cli-0.89.0 → lobes_cli-0.89.2}/docs/specs/2026-07-03-lobes-exposes-the-full-colleague-runtime-stack-as.md +0 -0
- {lobes_cli-0.89.0 → lobes_cli-0.89.2}/docs/specs/2026-07-03-under-pressure-lobes-tells-you-the-cortex-model-is.md +0 -0
- {lobes_cli-0.89.0 → lobes_cli-0.89.2}/docs/specs/2026-07-04-lobes-tells-clients-the-truth-about-a-fleet-a-cons.md +0 -0
- {lobes_cli-0.89.0 → lobes_cli-0.89.2}/docs/specs/2026-07-07-lobes-preserves-qwen-thinking-traces-across-multi.md +0 -0
- {lobes_cli-0.89.0 → lobes_cli-0.89.2}/docs/specs/2026-07-09-lobes-never-advertises-a-capability-it-cannot-serv.md +0 -0
- {lobes_cli-0.89.0 → lobes_cli-0.89.2}/docs/specs/2026-07-10-lobes-gateway-relays-sse-streams-frame-by-frame-th.md +0 -0
- {lobes_cli-0.89.0 → lobes_cli-0.89.2}/docs/specs/2026-07-13-lobes-fits-the-machine-it-lands-on-one-command-det.md +0 -0
- {lobes_cli-0.89.0 → lobes_cli-0.89.2}/docs/specs/2026-07-14-lobes-serves-strict-grammar-constrained-tool-calls.md +0 -0
- {lobes_cli-0.89.0 → lobes_cli-0.89.2}/docs/specs/2026-07-14-lobes-serves-the-brain-shape-you-choose-machine-as.md +0 -0
- {lobes_cli-0.89.0 → lobes_cli-0.89.2}/docs/specs/2026-07-14-lobes-serves-the-mesh-brain-end-state-one-lobe-per.md +0 -0
- {lobes_cli-0.89.0 → lobes_cli-0.89.2}/docs/specs/2026-07-16-proxy-lobes-pairwise-auth.md +0 -0
- {lobes_cli-0.89.0 → lobes_cli-0.89.2}/docs/specs/2026-07-17-compose-chain-unification-init-repair-doctor-stale.md +0 -0
- {lobes_cli-0.89.0 → lobes_cli-0.89.2}/docs/specs/2026-07-21-realtime-voice-to-voice-astro-test-site-151.md +0 -0
- {lobes_cli-0.89.0 → lobes_cli-0.89.2}/docs/specs/2026-07-21-realtime-ws-server-vad-149.md +0 -0
- {lobes_cli-0.89.0 → lobes_cli-0.89.2}/docs/specs/2026-07-24-stt-readiness-truth-155.md +0 -0
- {lobes_cli-0.89.0 → lobes_cli-0.89.2}/docs/specs/2026-07-25-lobes-capabilities-tells-you-where-a-lobe-is-serve.md +0 -0
- {lobes_cli-0.89.0 → lobes_cli-0.89.2}/docs/specs/2026-07-31-every-lobe-in-the-mesh-can-see-the-spark-reaches-t.md +0 -0
- {lobes_cli-0.89.0 → lobes_cli-0.89.2}/docs/specs/2026-07-31-thor-worker-lobe-qwen3-6-35b-a3b.md +0 -0
- {lobes_cli-0.89.0 → lobes_cli-0.89.2}/docs/specs/2026-08-04-unsloth-qat-senses-first-class-orin-variation.md +0 -0
- {lobes_cli-0.89.0 → lobes_cli-0.89.2}/docs/specs/2026-08-09-hand-lobe-lfm2-5-1-2b.md +0 -0
- {lobes_cli-0.89.0 → lobes_cli-0.89.2}/docs/specs/2026-08-19-qwen3-8-cortex-upgrade.md +0 -0
- {lobes_cli-0.89.0 → lobes_cli-0.89.2}/docs/specs/2026-08-20-nemotron-lightning-worker.md +0 -0
- {lobes_cli-0.89.0 → lobes_cli-0.89.2}/docs/specs/2026-08-22-qwen3-8-gguf-llamacpp.md +0 -0
- {lobes_cli-0.89.0 → lobes_cli-0.89.2}/docs/specs/2026-08-24-dspark-speculation-on-the-spark-cortex.md +0 -0
- {lobes_cli-0.89.0 → lobes_cli-0.89.2}/docs/specs/2026-08-25-cortex-replica-pool-199.md +0 -0
- {lobes_cli-0.89.0 → lobes_cli-0.89.2}/docs/specs/2026-08-25-lightning-on-orin.md +0 -0
- {lobes_cli-0.89.0 → lobes_cli-0.89.2}/docs/specs/2026-08-25-thor-cortex-speculation.md +0 -0
- {lobes_cli-0.89.0 → lobes_cli-0.89.2}/docs/specs/2026-08-27-capacity-relative-pool-routing.md +0 -0
- {lobes_cli-0.89.0 → lobes_cli-0.89.2}/docs/specs/2026-08-27-flash-next-on-vllm.md +0 -0
- {lobes_cli-0.89.0 → lobes_cli-0.89.2}/docs/specs/2026-08-27-qwen3-8-flash-next-gguf-candidate.md +0 -0
- {lobes_cli-0.89.0 → lobes_cli-0.89.2}/docs/specs/2026-08-29-deployment-lock-per-box.md +0 -0
- {lobes_cli-0.89.0 → lobes_cli-0.89.2}/docs/specs/2026-08-30-peer-only-replica-pools.md +0 -0
- {lobes_cli-0.89.0 → lobes_cli-0.89.2}/docs/specs/2026-08-30-reranker-calibration-227.md +0 -0
- {lobes_cli-0.89.0 → lobes_cli-0.89.2}/docs/specs/2026-08-31-quick-wins-finish-the-rename.md +0 -0
- {lobes_cli-0.89.0 → lobes_cli-0.89.2}/docs/specs/2026-09-10-thor-worker-arm-qwen3-6-35b-a3b-recipes.md +0 -0
- {lobes_cli-0.89.0 → lobes_cli-0.89.2}/docs/specs/2026-09-11-mesh-brain-join.md +0 -0
- {lobes_cli-0.89.0 → lobes_cli-0.89.2}/docs/specs/2026-09-12-mesh-boot-window-and-capabilities-advert.md +0 -0
- {lobes_cli-0.89.0 → lobes_cli-0.89.2}/docs/specs/2026-09-13-orin-associate-at-1m.md +0 -0
- {lobes_cli-0.89.0 → lobes_cli-0.89.2}/docs/specs/2026-09-16-innereye-lobes-hosts-comfyui.md +0 -0
- {lobes_cli-0.89.0 → lobes_cli-0.89.2}/docs/specs/2026-09-18-hebrew-realtime.md +0 -0
- {lobes_cli-0.89.0 → lobes_cli-0.89.2}/docs/specs/2026-09-23-flash-next-worker-on-thor.md +0 -0
- {lobes_cli-0.89.0 → lobes_cli-0.89.2}/docs/specs/2026-10-06-mesh-pool-load-sharing.md +0 -0
- {lobes_cli-0.89.0 → lobes_cli-0.89.2}/docs/specs/2026-10-07-orin-embedding-specialist.md +0 -0
- {lobes_cli-0.89.0 → lobes_cli-0.89.2}/docs/specs/2026-10-14-orin-decision-models.md +0 -0
- {lobes_cli-0.89.0 → lobes_cli-0.89.2}/docs/specs/2026-10-17-lane-safety-and-quality-304-307-308-309.md +0 -0
- {lobes_cli-0.89.0 → lobes_cli-0.89.2}/docs/specs/2026-10-17-vllm-0-31-0-fleet.md +0 -0
- {lobes_cli-0.89.0 → lobes_cli-0.89.2}/docs/superpowers/plans/2026-05-22-scaffold-cli-sibling.md +0 -0
- {lobes_cli-0.89.0 → lobes_cli-0.89.2}/docs/superpowers/specs/2026-05-22-scaffold-cli-sibling-design.md +0 -0
- {lobes_cli-0.89.0 → lobes_cli-0.89.2}/docs/tensorrt-llm-investigation.md +0 -0
- {lobes_cli-0.89.0 → lobes_cli-0.89.2}/docs/thor-worker-flip-rollout-notes.md +0 -0
- {lobes_cli-0.89.0 → lobes_cli-0.89.2}/docs/tuning-profiles.md +0 -0
- {lobes_cli-0.89.0 → lobes_cli-0.89.2}/docs/validate-tiers.md +0 -0
- {lobes_cli-0.89.0 → lobes_cli-0.89.2}/docs/vllm-nightly-migration.md +0 -0
- {lobes_cli-0.89.0 → lobes_cli-0.89.2}/docs/worker-lightning-rollout-notes.md +0 -0
- {lobes_cli-0.89.0 → lobes_cli-0.89.2}/examples/minor-evals/smoke.jsonl +0 -0
- {lobes_cli-0.89.0 → lobes_cli-0.89.2}/lobes/__init__.py +0 -0
- {lobes_cli-0.89.0 → lobes_cli-0.89.2}/lobes/__main__.py +0 -0
- {lobes_cli-0.89.0 → lobes_cli-0.89.2}/lobes/_metrics.py +0 -0
- {lobes_cli-0.89.0 → lobes_cli-0.89.2}/lobes/bench/__init__.py +0 -0
- {lobes_cli-0.89.0 → lobes_cli-0.89.2}/lobes/bench/cat_probe.py +0 -0
- {lobes_cli-0.89.0 → lobes_cli-0.89.2}/lobes/bench/cat_score.py +0 -0
- {lobes_cli-0.89.0 → lobes_cli-0.89.2}/lobes/bench/compare.py +0 -0
- {lobes_cli-0.89.0 → lobes_cli-0.89.2}/lobes/bench/report.py +0 -0
- {lobes_cli-0.89.0 → lobes_cli-0.89.2}/lobes/catalog.py +0 -0
- {lobes_cli-0.89.0 → lobes_cli-0.89.2}/lobes/cli/__init__.py +0 -0
- {lobes_cli-0.89.0 → lobes_cli-0.89.2}/lobes/cli/_commands/__init__.py +0 -0
- {lobes_cli-0.89.0 → lobes_cli-0.89.2}/lobes/cli/_commands/_doctor_lane_safety.py +0 -0
- {lobes_cli-0.89.0 → lobes_cli-0.89.2}/lobes/cli/_commands/_doctor_plugin.py +0 -0
- {lobes_cli-0.89.0 → lobes_cli-0.89.2}/lobes/cli/_commands/_role_probe.py +0 -0
- {lobes_cli-0.89.0 → lobes_cli-0.89.2}/lobes/cli/_commands/assess.py +0 -0
- {lobes_cli-0.89.0 → lobes_cli-0.89.2}/lobes/cli/_commands/benchmark.py +0 -0
- {lobes_cli-0.89.0 → lobes_cli-0.89.2}/lobes/cli/_commands/calibrate.py +0 -0
- {lobes_cli-0.89.0 → lobes_cli-0.89.2}/lobes/cli/_commands/capabilities.py +0 -0
- {lobes_cli-0.89.0 → lobes_cli-0.89.2}/lobes/cli/_commands/cli.py +0 -0
- {lobes_cli-0.89.0 → lobes_cli-0.89.2}/lobes/cli/_commands/doctor.py +0 -0
- {lobes_cli-0.89.0 → lobes_cli-0.89.2}/lobes/cli/_commands/eval.py +0 -0
- {lobes_cli-0.89.0 → lobes_cli-0.89.2}/lobes/cli/_commands/explain.py +0 -0
- {lobes_cli-0.89.0 → lobes_cli-0.89.2}/lobes/cli/_commands/fleet.py +0 -0
- {lobes_cli-0.89.0 → lobes_cli-0.89.2}/lobes/cli/_commands/governor.py +0 -0
- {lobes_cli-0.89.0 → lobes_cli-0.89.2}/lobes/cli/_commands/init.py +0 -0
- {lobes_cli-0.89.0 → lobes_cli-0.89.2}/lobes/cli/_commands/learn.py +0 -0
- {lobes_cli-0.89.0 → lobes_cli-0.89.2}/lobes/cli/_commands/logs.py +0 -0
- {lobes_cli-0.89.0 → lobes_cli-0.89.2}/lobes/cli/_commands/measure.py +0 -0
- {lobes_cli-0.89.0 → lobes_cli-0.89.2}/lobes/cli/_commands/mesh.py +0 -0
- {lobes_cli-0.89.0 → lobes_cli-0.89.2}/lobes/cli/_commands/overview.py +0 -0
- {lobes_cli-0.89.0 → lobes_cli-0.89.2}/lobes/cli/_commands/route.py +0 -0
- {lobes_cli-0.89.0 → lobes_cli-0.89.2}/lobes/cli/_commands/run.py +0 -0
- {lobes_cli-0.89.0 → lobes_cli-0.89.2}/lobes/cli/_commands/serve.py +0 -0
- {lobes_cli-0.89.0 → lobes_cli-0.89.2}/lobes/cli/_commands/status.py +0 -0
- {lobes_cli-0.89.0 → lobes_cli-0.89.2}/lobes/cli/_commands/stop.py +0 -0
- {lobes_cli-0.89.0 → lobes_cli-0.89.2}/lobes/cli/_commands/switch.py +0 -0
- {lobes_cli-0.89.0 → lobes_cli-0.89.2}/lobes/cli/_commands/tunnel.py +0 -0
- {lobes_cli-0.89.0 → lobes_cli-0.89.2}/lobes/cli/_commands/up.py +0 -0
- {lobes_cli-0.89.0 → lobes_cli-0.89.2}/lobes/cli/_commands/watcher.py +0 -0
- {lobes_cli-0.89.0 → lobes_cli-0.89.2}/lobes/cli/_commands/whoami.py +0 -0
- {lobes_cli-0.89.0 → lobes_cli-0.89.2}/lobes/cli/_errors.py +0 -0
- {lobes_cli-0.89.0 → lobes_cli-0.89.2}/lobes/cli/_live.py +0 -0
- {lobes_cli-0.89.0 → lobes_cli-0.89.2}/lobes/cli/_output.py +0 -0
- {lobes_cli-0.89.0 → lobes_cli-0.89.2}/lobes/cli/_role_swap.py +0 -0
- {lobes_cli-0.89.0 → lobes_cli-0.89.2}/lobes/cli/_runtime_ops.py +0 -0
- {lobes_cli-0.89.0 → lobes_cli-0.89.2}/lobes/decider_sidecar/__init__.py +0 -0
- {lobes_cli-0.89.0 → lobes_cli-0.89.2}/lobes/decider_sidecar/clef_vllm.py +0 -0
- {lobes_cli-0.89.0 → lobes_cli-0.89.2}/lobes/decider_sidecar/server.py +0 -0
- {lobes_cli-0.89.0 → lobes_cli-0.89.2}/lobes/embed_lanes.py +0 -0
- {lobes_cli-0.89.0 → lobes_cli-0.89.2}/lobes/embed_sidecar/__init__.py +0 -0
- {lobes_cli-0.89.0 → lobes_cli-0.89.2}/lobes/embed_sidecar/server.py +0 -0
- {lobes_cli-0.89.0 → lobes_cli-0.89.2}/lobes/explain/__init__.py +0 -0
- {lobes_cli-0.89.0 → lobes_cli-0.89.2}/lobes/explain/catalog.py +0 -0
- {lobes_cli-0.89.0 → lobes_cli-0.89.2}/lobes/gateway/__init__.py +0 -0
- {lobes_cli-0.89.0 → lobes_cli-0.89.2}/lobes/gateway/__main__.py +0 -0
- {lobes_cli-0.89.0 → lobes_cli-0.89.2}/lobes/gateway/_authlog.py +0 -0
- {lobes_cli-0.89.0 → lobes_cli-0.89.2}/lobes/gateway/_config.py +0 -0
- {lobes_cli-0.89.0 → lobes_cli-0.89.2}/lobes/gateway/_mesh_config.py +0 -0
- {lobes_cli-0.89.0 → lobes_cli-0.89.2}/lobes/gateway/_mesh_roster.py +0 -0
- {lobes_cli-0.89.0 → lobes_cli-0.89.2}/lobes/gateway/_mesh_routes.py +0 -0
- {lobes_cli-0.89.0 → lobes_cli-0.89.2}/lobes/gateway/_mesh_routing.py +0 -0
- {lobes_cli-0.89.0 → lobes_cli-0.89.2}/lobes/gateway/_mesh_wire.py +0 -0
- {lobes_cli-0.89.0 → lobes_cli-0.89.2}/lobes/gateway/_pressure_policy.py +0 -0
- {lobes_cli-0.89.0 → lobes_cli-0.89.2}/lobes/gateway/_readiness.py +0 -0
- {lobes_cli-0.89.0 → lobes_cli-0.89.2}/lobes/gateway/_realtime.py +0 -0
- {lobes_cli-0.89.0 → lobes_cli-0.89.2}/lobes/gateway/_replicas.py +0 -0
- {lobes_cli-0.89.0 → lobes_cli-0.89.2}/lobes/gateway/_routing.py +0 -0
- {lobes_cli-0.89.0 → lobes_cli-0.89.2}/lobes/gateway/_selection.py +0 -0
- {lobes_cli-0.89.0 → lobes_cli-0.89.2}/lobes/gateway/_tier_request.py +0 -0
- {lobes_cli-0.89.0 → lobes_cli-0.89.2}/lobes/gateway/server.py +0 -0
- {lobes_cli-0.89.0 → lobes_cli-0.89.2}/lobes/lane_keys.py +0 -0
- {lobes_cli-0.89.0 → lobes_cli-0.89.2}/lobes/machines/__init__.py +0 -0
- {lobes_cli-0.89.0 → lobes_cli-0.89.2}/lobes/machines/_registry.py +0 -0
- {lobes_cli-0.89.0 → lobes_cli-0.89.2}/lobes/machines/_strategy.py +0 -0
- {lobes_cli-0.89.0 → lobes_cli-0.89.2}/lobes/machines/_traits.py +0 -0
- {lobes_cli-0.89.0 → lobes_cli-0.89.2}/lobes/machines/blackwell.py +0 -0
- {lobes_cli-0.89.0 → lobes_cli-0.89.2}/lobes/machines/generic.py +0 -0
- {lobes_cli-0.89.0 → lobes_cli-0.89.2}/lobes/machines/orin.py +0 -0
- {lobes_cli-0.89.0 → lobes_cli-0.89.2}/lobes/machines/spark.py +0 -0
- {lobes_cli-0.89.0 → lobes_cli-0.89.2}/lobes/machines/thor.py +0 -0
- {lobes_cli-0.89.0 → lobes_cli-0.89.2}/lobes/minor/__init__.py +0 -0
- {lobes_cli-0.89.0 → lobes_cli-0.89.2}/lobes/minor/_client.py +0 -0
- {lobes_cli-0.89.0 → lobes_cli-0.89.2}/lobes/minor/governance.py +0 -0
- {lobes_cli-0.89.0 → lobes_cli-0.89.2}/lobes/profiles/__init__.py +0 -0
- {lobes_cli-0.89.0 → lobes_cli-0.89.2}/lobes/profiles/builtin/__init__.py +0 -0
- {lobes_cli-0.89.0 → lobes_cli-0.89.2}/lobes/profiles/builtin/base.toml +0 -0
- {lobes_cli-0.89.0 → lobes_cli-0.89.2}/lobes/profiles/builtin/orin.toml +0 -0
- {lobes_cli-0.89.0 → lobes_cli-0.89.2}/lobes/profiles/builtin/spark.toml +0 -0
- {lobes_cli-0.89.0 → lobes_cli-0.89.2}/lobes/profiles/builtin/thor.toml +0 -0
- {lobes_cli-0.89.0 → lobes_cli-0.89.2}/lobes/profiles/builtin_shapes/__init__.py +0 -0
- {lobes_cli-0.89.0 → lobes_cli-0.89.2}/lobes/profiles/builtin_shapes/gateway-only.toml +0 -0
- {lobes_cli-0.89.0 → lobes_cli-0.89.2}/lobes/profiles/builtin_shapes/machine-as-brain.toml +0 -0
- {lobes_cli-0.89.0 → lobes_cli-0.89.2}/lobes/profiles/builtin_shapes/orin-associate.toml +0 -0
- {lobes_cli-0.89.0 → lobes_cli-0.89.2}/lobes/profiles/builtin_shapes/orin-cortex.toml +0 -0
- {lobes_cli-0.89.0 → lobes_cli-0.89.2}/lobes/profiles/builtin_shapes/orin-decider.toml +0 -0
- {lobes_cli-0.89.0 → lobes_cli-0.89.2}/lobes/profiles/builtin_shapes/orin-embed.toml +0 -0
- {lobes_cli-0.89.0 → lobes_cli-0.89.2}/lobes/profiles/builtin_shapes/orin-lobe.toml +0 -0
- {lobes_cli-0.89.0 → lobes_cli-0.89.2}/lobes/profiles/builtin_shapes/orin-small.toml +0 -0
- {lobes_cli-0.89.0 → lobes_cli-0.89.2}/lobes/profiles/builtin_shapes/spark-innereye.toml +0 -0
- {lobes_cli-0.89.0 → lobes_cli-0.89.2}/lobes/profiles/builtin_shapes/spark-lobe.toml +0 -0
- {lobes_cli-0.89.0 → lobes_cli-0.89.2}/lobes/profiles/builtin_shapes/thor-lobe.toml +0 -0
- {lobes_cli-0.89.0 → lobes_cli-0.89.2}/lobes/profiles/builtin_shapes/thor-muse.toml +0 -0
- {lobes_cli-0.89.0 → lobes_cli-0.89.2}/lobes/profiles/builtin_shapes/thor-worker.toml +0 -0
- {lobes_cli-0.89.0 → lobes_cli-0.89.2}/lobes/profiles/loader.py +0 -0
- {lobes_cli-0.89.0 → lobes_cli-0.89.2}/lobes/profiles/render.py +0 -0
- {lobes_cli-0.89.0 → lobes_cli-0.89.2}/lobes/profiles/schema.py +0 -0
- {lobes_cli-0.89.0 → lobes_cli-0.89.2}/lobes/profiles/shape_render.py +0 -0
- {lobes_cli-0.89.0 → lobes_cli-0.89.2}/lobes/profiles/shapes.py +0 -0
- {lobes_cli-0.89.0 → lobes_cli-0.89.2}/lobes/realtime/__init__.py +0 -0
- {lobes_cli-0.89.0 → lobes_cli-0.89.2}/lobes/realtime/__main__.py +0 -0
- {lobes_cli-0.89.0 → lobes_cli-0.89.2}/lobes/realtime/_conversation.py +0 -0
- {lobes_cli-0.89.0 → lobes_cli-0.89.2}/lobes/realtime/_floor.py +0 -0
- {lobes_cli-0.89.0 → lobes_cli-0.89.2}/lobes/realtime/_pcm.py +0 -0
- {lobes_cli-0.89.0 → lobes_cli-0.89.2}/lobes/realtime/_readiness.py +0 -0
- {lobes_cli-0.89.0 → lobes_cli-0.89.2}/lobes/realtime/_segmenter.py +0 -0
- {lobes_cli-0.89.0 → lobes_cli-0.89.2}/lobes/realtime/_sentences.py +0 -0
- {lobes_cli-0.89.0 → lobes_cli-0.89.2}/lobes/realtime/_session.py +0 -0
- {lobes_cli-0.89.0 → lobes_cli-0.89.2}/lobes/realtime/_settings.py +0 -0
- {lobes_cli-0.89.0 → lobes_cli-0.89.2}/lobes/realtime/_speculation.py +0 -0
- {lobes_cli-0.89.0 → lobes_cli-0.89.2}/lobes/realtime/_timings.py +0 -0
- {lobes_cli-0.89.0 → lobes_cli-0.89.2}/lobes/realtime/_tts_text.py +0 -0
- {lobes_cli-0.89.0 → lobes_cli-0.89.2}/lobes/realtime/_turn.py +0 -0
- {lobes_cli-0.89.0 → lobes_cli-0.89.2}/lobes/realtime/_vocalize.py +0 -0
- {lobes_cli-0.89.0 → lobes_cli-0.89.2}/lobes/realtime/_wire.py +0 -0
- {lobes_cli-0.89.0 → lobes_cli-0.89.2}/lobes/realtime/app.py +0 -0
- {lobes_cli-0.89.0 → lobes_cli-0.89.2}/lobes/realtime/audio_facade.py +0 -0
- {lobes_cli-0.89.0 → lobes_cli-0.89.2}/lobes/realtime/bluetts_server.py +0 -0
- {lobes_cli-0.89.0 → lobes_cli-0.89.2}/lobes/realtime/chatterbox_multilingual_server.py +0 -0
- {lobes_cli-0.89.0 → lobes_cli-0.89.2}/lobes/realtime/chatterbox_server.py +0 -0
- {lobes_cli-0.89.0 → lobes_cli-0.89.2}/lobes/realtime/protocol.py +0 -0
- {lobes_cli-0.89.0 → lobes_cli-0.89.2}/lobes/realtime/tts_client.py +0 -0
- {lobes_cli-0.89.0 → lobes_cli-0.89.2}/lobes/roles.py +0 -0
- {lobes_cli-0.89.0 → lobes_cli-0.89.2}/lobes/roles_measure.py +0 -0
- {lobes_cli-0.89.0 → lobes_cli-0.89.2}/lobes/runtime/__init__.py +0 -0
- {lobes_cli-0.89.0 → lobes_cli-0.89.2}/lobes/runtime/_buildability.py +0 -0
- {lobes_cli-0.89.0 → lobes_cli-0.89.2}/lobes/runtime/_compose.py +0 -0
- {lobes_cli-0.89.0 → lobes_cli-0.89.2}/lobes/runtime/_detect.py +0 -0
- {lobes_cli-0.89.0 → lobes_cli-0.89.2}/lobes/runtime/_env.py +0 -0
- {lobes_cli-0.89.0 → lobes_cli-0.89.2}/lobes/runtime/_governor.py +0 -0
- {lobes_cli-0.89.0 → lobes_cli-0.89.2}/lobes/runtime/_health.py +0 -0
- {lobes_cli-0.89.0 → lobes_cli-0.89.2}/lobes/runtime/_lanes.py +0 -0
- {lobes_cli-0.89.0 → lobes_cli-0.89.2}/lobes/runtime/_lock.py +0 -0
- {lobes_cli-0.89.0 → lobes_cli-0.89.2}/lobes/runtime/_machine.py +0 -0
- {lobes_cli-0.89.0 → lobes_cli-0.89.2}/lobes/runtime/_parser.py +0 -0
- {lobes_cli-0.89.0 → lobes_cli-0.89.2}/lobes/runtime/_pressure.py +0 -0
- {lobes_cli-0.89.0 → lobes_cli-0.89.2}/lobes/runtime/_tunnel.py +0 -0
- {lobes_cli-0.89.0 → lobes_cli-0.89.2}/lobes/runtime/_window.py +0 -0
- {lobes_cli-0.89.0 → lobes_cli-0.89.2}/lobes/templates/__init__.py +0 -0
- {lobes_cli-0.89.0 → lobes_cli-0.89.2}/lobes/templates/cf-tunnel.env.example +0 -0
- {lobes_cli-0.89.0 → lobes_cli-0.89.2}/lobes/templates/docker-compose.yml +0 -0
- {lobes_cli-0.89.0 → lobes_cli-0.89.2}/lobes/templates/env.example +0 -0
- {lobes_cli-0.89.0 → lobes_cli-0.89.2}/lobes/templates/fleet/Dockerfile.bluetts +0 -0
- {lobes_cli-0.89.0 → lobes_cli-0.89.2}/lobes/templates/fleet/Dockerfile.chatterbox +0 -0
- {lobes_cli-0.89.0 → lobes_cli-0.89.2}/lobes/templates/fleet/Dockerfile.chatterbox-ml +0 -0
- {lobes_cli-0.89.0 → lobes_cli-0.89.2}/lobes/templates/fleet/Dockerfile.comfyui +0 -0
- {lobes_cli-0.89.0 → lobes_cli-0.89.2}/lobes/templates/fleet/Dockerfile.decider +0 -0
- {lobes_cli-0.89.0 → lobes_cli-0.89.2}/lobes/templates/fleet/Dockerfile.decider-vllm +0 -0
- {lobes_cli-0.89.0 → lobes_cli-0.89.2}/lobes/templates/fleet/Dockerfile.embed-st +0 -0
- {lobes_cli-0.89.0 → lobes_cli-0.89.2}/lobes/templates/fleet/Dockerfile.gateway +0 -0
- {lobes_cli-0.89.0 → lobes_cli-0.89.2}/lobes/templates/fleet/Dockerfile.parakeet +0 -0
- {lobes_cli-0.89.0 → lobes_cli-0.89.2}/lobes/templates/fleet/Dockerfile.realtime +0 -0
- {lobes_cli-0.89.0 → lobes_cli-0.89.2}/lobes/templates/fleet/Dockerfile.vllm-gemma4 +0 -0
- {lobes_cli-0.89.0 → lobes_cli-0.89.2}/lobes/templates/fleet/Dockerfile.whisper-stt +0 -0
- {lobes_cli-0.89.0 → lobes_cli-0.89.2}/lobes/templates/fleet/__init__.py +0 -0
- {lobes_cli-0.89.0 → lobes_cli-0.89.2}/lobes/templates/fleet/_readiness.py +0 -0
- {lobes_cli-0.89.0 → lobes_cli-0.89.2}/lobes/templates/fleet/docker-compose.audio-he.yml +0 -0
- {lobes_cli-0.89.0 → lobes_cli-0.89.2}/lobes/templates/fleet/docker-compose.audio.yml +0 -0
- {lobes_cli-0.89.0 → lobes_cli-0.89.2}/lobes/templates/fleet/docker-compose.embed.yml +0 -0
- {lobes_cli-0.89.0 → lobes_cli-0.89.2}/lobes/templates/fleet/env.audio-he.example +0 -0
- {lobes_cli-0.89.0 → lobes_cli-0.89.2}/lobes/templates/fleet/env.audio.example +0 -0
- {lobes_cli-0.89.0 → lobes_cli-0.89.2}/lobes/templates/fleet/env.example +0 -0
- {lobes_cli-0.89.0 → lobes_cli-0.89.2}/lobes/templates/fleet/listen_server.py +0 -0
- {lobes_cli-0.89.0 → lobes_cli-0.89.2}/lobes/templates/fleet/listen_server_whisper.py +0 -0
- {lobes_cli-0.89.0 → lobes_cli-0.89.2}/lobes/templates/fleet/qwen3_reranker.jinja +0 -0
- {lobes_cli-0.89.0 → lobes_cli-0.89.2}/lobes/templates/lobes-watcher.service.in +0 -0
- {lobes_cli-0.89.0 → lobes_cli-0.89.2}/lobes/templates/mg-logwrap.sh +0 -0
- {lobes_cli-0.89.0 → lobes_cli-0.89.2}/lobes/variation.py +0 -0
- {lobes_cli-0.89.0 → lobes_cli-0.89.2}/lobes/variation_catalog.py +0 -0
- {lobes_cli-0.89.0 → lobes_cli-0.89.2}/lobes/watcher/__init__.py +0 -0
- {lobes_cli-0.89.0 → lobes_cli-0.89.2}/lobes/watcher/_install.py +0 -0
- {lobes_cli-0.89.0 → lobes_cli-0.89.2}/lobes/watcher/_run.py +0 -0
- {lobes_cli-0.89.0 → lobes_cli-0.89.2}/packaging/model-gear/README.md +0 -0
- {lobes_cli-0.89.0 → lobes_cli-0.89.2}/packaging/model-gear/pyproject.toml +0 -0
- {lobes_cli-0.89.0 → lobes_cli-0.89.2}/scripts/accept-by-proxy.sh +0 -0
- {lobes_cli-0.89.0 → lobes_cli-0.89.2}/scripts/accept-shape.sh +0 -0
- {lobes_cli-0.89.0 → lobes_cli-0.89.2}/scripts/audio-smoke.py +0 -0
- {lobes_cli-0.89.0 → lobes_cli-0.89.2}/scripts/clef_eval/compare.py +0 -0
- {lobes_cli-0.89.0 → lobes_cli-0.89.2}/scripts/clef_eval/run_nf4_probe.py +0 -0
- {lobes_cli-0.89.0 → lobes_cli-0.89.2}/scripts/clef_eval/run_probe.py +0 -0
- {lobes_cli-0.89.0 → lobes_cli-0.89.2}/scripts/clef_quant/quantize.py +0 -0
- {lobes_cli-0.89.0 → lobes_cli-0.89.2}/scripts/clef_sets/build_sets.py +0 -0
- {lobes_cli-0.89.0 → lobes_cli-0.89.2}/scripts/clef_sets/calibration.manifest.jsonl +0 -0
- {lobes_cli-0.89.0 → lobes_cli-0.89.2}/scripts/clef_sets/incidents.py +0 -0
- {lobes_cli-0.89.0 → lobes_cli-0.89.2}/scripts/clef_sets/probe.manifest.jsonl +0 -0
- {lobes_cli-0.89.0 → lobes_cli-0.89.2}/scripts/clef_sets/routing.py +0 -0
- {lobes_cli-0.89.0 → lobes_cli-0.89.2}/scripts/concurrency-probe.py +0 -0
- {lobes_cli-0.89.0 → lobes_cli-0.89.2}/scripts/embed_h2h/README.md +0 -0
- {lobes_cli-0.89.0 → lobes_cli-0.89.2}/scripts/embed_h2h/build_corpus.py +0 -0
- {lobes_cli-0.89.0 → lobes_cli-0.89.2}/scripts/embed_h2h/build_queries.py +0 -0
- {lobes_cli-0.89.0 → lobes_cli-0.89.2}/scripts/embed_h2h/corpus.jsonl +0 -0
- {lobes_cli-0.89.0 → lobes_cli-0.89.2}/scripts/embed_h2h/h2h.py +0 -0
- {lobes_cli-0.89.0 → lobes_cli-0.89.2}/scripts/embed_h2h/prompts.json +0 -0
- {lobes_cli-0.89.0 → lobes_cli-0.89.2}/scripts/embed_h2h/queries.jsonl +0 -0
- {lobes_cli-0.89.0 → lobes_cli-0.89.2}/scripts/gen-api-key.py +0 -0
- {lobes_cli-0.89.0 → lobes_cli-0.89.2}/scripts/live-check.sh +0 -0
- {lobes_cli-0.89.0 → lobes_cli-0.89.2}/scripts/prefill-depth-curve.py +0 -0
- {lobes_cli-0.89.0 → lobes_cli-0.89.2}/scripts/probe_reranker_calibration.py +0 -0
- {lobes_cli-0.89.0 → lobes_cli-0.89.2}/scripts/realtime-he-accept.py +0 -0
- {lobes_cli-0.89.0 → lobes_cli-0.89.2}/scripts/realtime-smoke.py +0 -0
- {lobes_cli-0.89.0 → lobes_cli-0.89.2}/scripts/realtime-voice-loop.py +0 -0
- {lobes_cli-0.89.0 → lobes_cli-0.89.2}/scripts/scan_deployment_secrets.py +0 -0
- {lobes_cli-0.89.0 → lobes_cli-0.89.2}/scripts/spec-arms.py +0 -0
- {lobes_cli-0.89.0 → lobes_cli-0.89.2}/scripts/spike-preflight.sh +0 -0
- {lobes_cli-0.89.0 → lobes_cli-0.89.2}/scripts/stream-measure.py +0 -0
- {lobes_cli-0.89.0 → lobes_cli-0.89.2}/scripts/validate-tiers.sh +0 -0
- {lobes_cli-0.89.0 → lobes_cli-0.89.2}/site/.env.example +0 -0
- {lobes_cli-0.89.0 → lobes_cli-0.89.2}/site/.gitignore +0 -0
- {lobes_cli-0.89.0 → lobes_cli-0.89.2}/site/.nvmrc +0 -0
- {lobes_cli-0.89.0 → lobes_cli-0.89.2}/site/README.md +0 -0
- {lobes_cli-0.89.0 → lobes_cli-0.89.2}/site/astro.config.mjs +0 -0
- {lobes_cli-0.89.0 → lobes_cli-0.89.2}/site/package-lock.json +0 -0
- {lobes_cli-0.89.0 → lobes_cli-0.89.2}/site/package.json +0 -0
- {lobes_cli-0.89.0 → lobes_cli-0.89.2}/site/proxy/gateway-proxy.mjs +0 -0
- {lobes_cli-0.89.0 → lobes_cli-0.89.2}/site/public/favicon.svg +0 -0
- {lobes_cli-0.89.0 → lobes_cli-0.89.2}/site/public/worklets/pcm-capture-processor.js +0 -0
- {lobes_cli-0.89.0 → lobes_cli-0.89.2}/site/src/components/ConnectionPanel.astro +0 -0
- {lobes_cli-0.89.0 → lobes_cli-0.89.2}/site/src/components/ConversationView.astro +0 -0
- {lobes_cli-0.89.0 → lobes_cli-0.89.2}/site/src/components/EventStream.astro +0 -0
- {lobes_cli-0.89.0 → lobes_cli-0.89.2}/site/src/components/Footer.astro +0 -0
- {lobes_cli-0.89.0 → lobes_cli-0.89.2}/site/src/components/Header.astro +0 -0
- {lobes_cli-0.89.0 → lobes_cli-0.89.2}/site/src/components/MicIsland.astro +0 -0
- {lobes_cli-0.89.0 → lobes_cli-0.89.2}/site/src/components/SignalMesh.astro +0 -0
- {lobes_cli-0.89.0 → lobes_cli-0.89.2}/site/src/layouts/Layout.astro +0 -0
- {lobes_cli-0.89.0 → lobes_cli-0.89.2}/site/src/pages/dev-connection.astro +0 -0
- {lobes_cli-0.89.0 → lobes_cli-0.89.2}/site/src/pages/dev-events.astro +0 -0
- {lobes_cli-0.89.0 → lobes_cli-0.89.2}/site/src/pages/dev-mic.astro +0 -0
- {lobes_cli-0.89.0 → lobes_cli-0.89.2}/site/src/pages/index.astro +0 -0
- {lobes_cli-0.89.0 → lobes_cli-0.89.2}/site/src/scripts/audio-graph.ts +0 -0
- {lobes_cli-0.89.0 → lobes_cli-0.89.2}/site/src/scripts/audio-playback.test.ts +0 -0
- {lobes_cli-0.89.0 → lobes_cli-0.89.2}/site/src/scripts/audio-playback.ts +0 -0
- {lobes_cli-0.89.0 → lobes_cli-0.89.2}/site/src/scripts/audio-test-doubles.ts +0 -0
- {lobes_cli-0.89.0 → lobes_cli-0.89.2}/site/src/scripts/connection-panel.ts +0 -0
- {lobes_cli-0.89.0 → lobes_cli-0.89.2}/site/src/scripts/conversation-view.ts +0 -0
- {lobes_cli-0.89.0 → lobes_cli-0.89.2}/site/src/scripts/demo-tools.ts +0 -0
- {lobes_cli-0.89.0 → lobes_cli-0.89.2}/site/src/scripts/dev-mic-harness.ts +0 -0
- {lobes_cli-0.89.0 → lobes_cli-0.89.2}/site/src/scripts/event-fixtures.ts +0 -0
- {lobes_cli-0.89.0 → lobes_cli-0.89.2}/site/src/scripts/event-icons.ts +0 -0
- {lobes_cli-0.89.0 → lobes_cli-0.89.2}/site/src/scripts/event-log.test.ts +0 -0
- {lobes_cli-0.89.0 → lobes_cli-0.89.2}/site/src/scripts/event-log.ts +0 -0
- {lobes_cli-0.89.0 → lobes_cli-0.89.2}/site/src/scripts/mic-capture.test.ts +0 -0
- {lobes_cli-0.89.0 → lobes_cli-0.89.2}/site/src/scripts/mic-capture.ts +0 -0
- {lobes_cli-0.89.0 → lobes_cli-0.89.2}/site/src/scripts/mic-island.test.ts +0 -0
- {lobes_cli-0.89.0 → lobes_cli-0.89.2}/site/src/scripts/mic-island.ts +0 -0
- {lobes_cli-0.89.0 → lobes_cli-0.89.2}/site/src/scripts/no-mic-mute.test.ts +0 -0
- {lobes_cli-0.89.0 → lobes_cli-0.89.2}/site/src/scripts/pcm-wire.test.ts +0 -0
- {lobes_cli-0.89.0 → lobes_cli-0.89.2}/site/src/scripts/pcm-wire.ts +0 -0
- {lobes_cli-0.89.0 → lobes_cli-0.89.2}/site/src/scripts/realtime-connection.ts +0 -0
- {lobes_cli-0.89.0 → lobes_cli-0.89.2}/site/src/scripts/realtime-events.ts +0 -0
- {lobes_cli-0.89.0 → lobes_cli-0.89.2}/site/src/styles/global.css +0 -0
- {lobes_cli-0.89.0 → lobes_cli-0.89.2}/site/test/connection-panel.test.ts +0 -0
- {lobes_cli-0.89.0 → lobes_cli-0.89.2}/site/test/conversation-view.test.ts +0 -0
- {lobes_cli-0.89.0 → lobes_cli-0.89.2}/site/test/demo-tools.test.ts +0 -0
- {lobes_cli-0.89.0 → lobes_cli-0.89.2}/site/test/gateway-proxy.test.ts +0 -0
- {lobes_cli-0.89.0 → lobes_cli-0.89.2}/site/test/realtime-connection.test.ts +0 -0
- {lobes_cli-0.89.0 → lobes_cli-0.89.2}/site/tsconfig.json +0 -0
- {lobes_cli-0.89.0 → lobes_cli-0.89.2}/site/vitest.config.ts +0 -0
- {lobes_cli-0.89.0 → lobes_cli-0.89.2}/sonar-project.properties +0 -0
- {lobes_cli-0.89.0 → lobes_cli-0.89.2}/tests/__init__.py +0 -0
- {lobes_cli-0.89.0 → lobes_cli-0.89.2}/tests/conftest.py +0 -0
- {lobes_cli-0.89.0 → lobes_cli-0.89.2}/tests/fixtures/deployments/fixture-card/Dockerfile.gateway +0 -0
- {lobes_cli-0.89.0 → lobes_cli-0.89.2}/tests/fixtures/deployments/fixture-card/VARIATION.md +0 -0
- {lobes_cli-0.89.0 → lobes_cli-0.89.2}/tests/fixtures/deployments/fixture-card/deployment.lock.toml +0 -0
- {lobes_cli-0.89.0 → lobes_cli-0.89.2}/tests/fixtures/deployments/fixture-card/docker-compose.override.yml +0 -0
- {lobes_cli-0.89.0 → lobes_cli-0.89.2}/tests/fixtures/deployments/fixture-card/docker-compose.yml +0 -0
- {lobes_cli-0.89.0 → lobes_cli-0.89.2}/tests/fixtures/deployments/fixture-card__fixture-shape/VARIATION.md +0 -0
- {lobes_cli-0.89.0 → lobes_cli-0.89.2}/tests/fixtures/deployments/fixture-card__fixture-shape/deployment.lock.toml +0 -0
- {lobes_cli-0.89.0 → lobes_cli-0.89.2}/tests/fixtures/deployments/fixture-card__fixture-shape/docker-compose.override.yml +0 -0
- {lobes_cli-0.89.0 → lobes_cli-0.89.2}/tests/fixtures/deployments/fixture-card__fixture-shape/docker-compose.shape.yml +0 -0
- {lobes_cli-0.89.0 → lobes_cli-0.89.2}/tests/fixtures/deployments/fixture-card__fixture-shape/docker-compose.yml +0 -0
- {lobes_cli-0.89.0 → lobes_cli-0.89.2}/tests/fixtures/upgrade_compat/README.md +0 -0
- {lobes_cli-0.89.0 → lobes_cli-0.89.2}/tests/fixtures/upgrade_compat/fleet/docker-compose.yml +0 -0
- {lobes_cli-0.89.0 → lobes_cli-0.89.2}/tests/fixtures/upgrade_compat/fleet/env.example +0 -0
- {lobes_cli-0.89.0 → lobes_cli-0.89.2}/tests/fixtures/upgrade_compat/single/docker-compose.yml +0 -0
- {lobes_cli-0.89.0 → lobes_cli-0.89.2}/tests/fixtures/upgrade_compat/single/env.example +0 -0
- {lobes_cli-0.89.0 → lobes_cli-0.89.2}/tests/goldens/README.md +0 -0
- {lobes_cli-0.89.0 → lobes_cli-0.89.2}/tests/goldens/__init__.py +0 -0
- {lobes_cli-0.89.0 → lobes_cli-0.89.2}/tests/goldens/base.env +0 -0
- {lobes_cli-0.89.0 → lobes_cli-0.89.2}/tests/goldens/no-pool-gateway.json +0 -0
- {lobes_cli-0.89.0 → lobes_cli-0.89.2}/tests/goldens/orin.env +0 -0
- {lobes_cli-0.89.0 → lobes_cli-0.89.2}/tests/goldens/overlays/audio-he-defaults.env +0 -0
- {lobes_cli-0.89.0 → lobes_cli-0.89.2}/tests/goldens/regen.py +0 -0
- {lobes_cli-0.89.0 → lobes_cli-0.89.2}/tests/goldens/shapes/gateway-only__base.env +0 -0
- {lobes_cli-0.89.0 → lobes_cli-0.89.2}/tests/goldens/shapes/gateway-only__orin.env +0 -0
- {lobes_cli-0.89.0 → lobes_cli-0.89.2}/tests/goldens/shapes/gateway-only__spark.env +0 -0
- {lobes_cli-0.89.0 → lobes_cli-0.89.2}/tests/goldens/shapes/gateway-only__thor.env +0 -0
- {lobes_cli-0.89.0 → lobes_cli-0.89.2}/tests/goldens/shapes/orin-associate__base.env +0 -0
- {lobes_cli-0.89.0 → lobes_cli-0.89.2}/tests/goldens/shapes/orin-associate__orin.env +0 -0
- {lobes_cli-0.89.0 → lobes_cli-0.89.2}/tests/goldens/shapes/orin-associate__spark.env +0 -0
- {lobes_cli-0.89.0 → lobes_cli-0.89.2}/tests/goldens/shapes/orin-associate__thor.env +0 -0
- {lobes_cli-0.89.0 → lobes_cli-0.89.2}/tests/goldens/shapes/orin-cortex__base.env +0 -0
- {lobes_cli-0.89.0 → lobes_cli-0.89.2}/tests/goldens/shapes/orin-cortex__orin.env +0 -0
- {lobes_cli-0.89.0 → lobes_cli-0.89.2}/tests/goldens/shapes/orin-cortex__spark.env +0 -0
- {lobes_cli-0.89.0 → lobes_cli-0.89.2}/tests/goldens/shapes/orin-cortex__thor.env +0 -0
- {lobes_cli-0.89.0 → lobes_cli-0.89.2}/tests/goldens/shapes/orin-decider__base.env +0 -0
- {lobes_cli-0.89.0 → lobes_cli-0.89.2}/tests/goldens/shapes/orin-decider__orin.env +0 -0
- {lobes_cli-0.89.0 → lobes_cli-0.89.2}/tests/goldens/shapes/orin-decider__spark.env +0 -0
- {lobes_cli-0.89.0 → lobes_cli-0.89.2}/tests/goldens/shapes/orin-decider__thor.env +0 -0
- {lobes_cli-0.89.0 → lobes_cli-0.89.2}/tests/goldens/shapes/orin-embed__base.env +0 -0
- {lobes_cli-0.89.0 → lobes_cli-0.89.2}/tests/goldens/shapes/orin-embed__orin.env +0 -0
- {lobes_cli-0.89.0 → lobes_cli-0.89.2}/tests/goldens/shapes/orin-embed__spark.env +0 -0
- {lobes_cli-0.89.0 → lobes_cli-0.89.2}/tests/goldens/shapes/orin-embed__thor.env +0 -0
- {lobes_cli-0.89.0 → lobes_cli-0.89.2}/tests/goldens/shapes/orin-lobe__base.env +0 -0
- {lobes_cli-0.89.0 → lobes_cli-0.89.2}/tests/goldens/shapes/orin-lobe__orin.env +0 -0
- {lobes_cli-0.89.0 → lobes_cli-0.89.2}/tests/goldens/shapes/orin-lobe__spark.env +0 -0
- {lobes_cli-0.89.0 → lobes_cli-0.89.2}/tests/goldens/shapes/orin-lobe__thor.env +0 -0
- {lobes_cli-0.89.0 → lobes_cli-0.89.2}/tests/goldens/shapes/orin-small__base.env +0 -0
- {lobes_cli-0.89.0 → lobes_cli-0.89.2}/tests/goldens/shapes/orin-small__orin.env +0 -0
- {lobes_cli-0.89.0 → lobes_cli-0.89.2}/tests/goldens/shapes/orin-small__spark.env +0 -0
- {lobes_cli-0.89.0 → lobes_cli-0.89.2}/tests/goldens/shapes/orin-small__thor.env +0 -0
- {lobes_cli-0.89.0 → lobes_cli-0.89.2}/tests/goldens/shapes/spark-innereye__base.env +0 -0
- {lobes_cli-0.89.0 → lobes_cli-0.89.2}/tests/goldens/shapes/spark-innereye__orin.env +0 -0
- {lobes_cli-0.89.0 → lobes_cli-0.89.2}/tests/goldens/shapes/spark-innereye__spark.env +0 -0
- {lobes_cli-0.89.0 → lobes_cli-0.89.2}/tests/goldens/shapes/spark-innereye__thor.env +0 -0
- {lobes_cli-0.89.0 → lobes_cli-0.89.2}/tests/goldens/shapes/spark-lobe__base.env +0 -0
- {lobes_cli-0.89.0 → lobes_cli-0.89.2}/tests/goldens/shapes/spark-lobe__orin.env +0 -0
- {lobes_cli-0.89.0 → lobes_cli-0.89.2}/tests/goldens/shapes/spark-lobe__spark.env +0 -0
- {lobes_cli-0.89.0 → lobes_cli-0.89.2}/tests/goldens/shapes/spark-lobe__thor.env +0 -0
- {lobes_cli-0.89.0 → lobes_cli-0.89.2}/tests/goldens/shapes/thor-lobe__base.env +0 -0
- {lobes_cli-0.89.0 → lobes_cli-0.89.2}/tests/goldens/shapes/thor-lobe__orin.env +0 -0
- {lobes_cli-0.89.0 → lobes_cli-0.89.2}/tests/goldens/shapes/thor-lobe__spark.env +0 -0
- {lobes_cli-0.89.0 → lobes_cli-0.89.2}/tests/goldens/shapes/thor-lobe__thor.env +0 -0
- {lobes_cli-0.89.0 → lobes_cli-0.89.2}/tests/goldens/shapes/thor-muse__base.env +0 -0
- {lobes_cli-0.89.0 → lobes_cli-0.89.2}/tests/goldens/shapes/thor-muse__orin.env +0 -0
- {lobes_cli-0.89.0 → lobes_cli-0.89.2}/tests/goldens/shapes/thor-muse__spark.env +0 -0
- {lobes_cli-0.89.0 → lobes_cli-0.89.2}/tests/goldens/shapes/thor-muse__thor.env +0 -0
- {lobes_cli-0.89.0 → lobes_cli-0.89.2}/tests/goldens/shapes/thor-worker__base.env +0 -0
- {lobes_cli-0.89.0 → lobes_cli-0.89.2}/tests/goldens/shapes/thor-worker__orin.env +0 -0
- {lobes_cli-0.89.0 → lobes_cli-0.89.2}/tests/goldens/shapes/thor-worker__spark.env +0 -0
- {lobes_cli-0.89.0 → lobes_cli-0.89.2}/tests/goldens/shapes/thor-worker__thor.env +0 -0
- {lobes_cli-0.89.0 → lobes_cli-0.89.2}/tests/goldens/spark.env +0 -0
- {lobes_cli-0.89.0 → lobes_cli-0.89.2}/tests/goldens/switch-plans.txt +0 -0
- {lobes_cli-0.89.0 → lobes_cli-0.89.2}/tests/goldens/template-defaults.env +0 -0
- {lobes_cli-0.89.0 → lobes_cli-0.89.2}/tests/goldens/thor.env +0 -0
- {lobes_cli-0.89.0 → lobes_cli-0.89.2}/tests/test_assess_perf.py +0 -0
- {lobes_cli-0.89.0 → lobes_cli-0.89.2}/tests/test_associate_compose.py +0 -0
- {lobes_cli-0.89.0 → lobes_cli-0.89.2}/tests/test_associate_exposure.py +0 -0
- {lobes_cli-0.89.0 → lobes_cli-0.89.2}/tests/test_associate_gateway_boundaries.py +0 -0
- {lobes_cli-0.89.0 → lobes_cli-0.89.2}/tests/test_associate_role.py +0 -0
- {lobes_cli-0.89.0 → lobes_cli-0.89.2}/tests/test_audio_he_compose_chain.py +0 -0
- {lobes_cli-0.89.0 → lobes_cli-0.89.2}/tests/test_audio_he_goldens.py +0 -0
- {lobes_cli-0.89.0 → lobes_cli-0.89.2}/tests/test_audio_he_stt_compose.py +0 -0
- {lobes_cli-0.89.0 → lobes_cli-0.89.2}/tests/test_audio_he_tts_compose.py +0 -0
- {lobes_cli-0.89.0 → lobes_cli-0.89.2}/tests/test_bench_compare.py +0 -0
- {lobes_cli-0.89.0 → lobes_cli-0.89.2}/tests/test_bench_report.py +0 -0
- {lobes_cli-0.89.0 → lobes_cli-0.89.2}/tests/test_benchmark_all_lobes.py +0 -0
- {lobes_cli-0.89.0 → lobes_cli-0.89.2}/tests/test_benchmark_window.py +0 -0
- {lobes_cli-0.89.0 → lobes_cli-0.89.2}/tests/test_bluetts_dockerfile.py +0 -0
- {lobes_cli-0.89.0 → lobes_cli-0.89.2}/tests/test_bluetts_server.py +0 -0
- {lobes_cli-0.89.0 → lobes_cli-0.89.2}/tests/test_boundary_serves_only.py +0 -0
- {lobes_cli-0.89.0 → lobes_cli-0.89.2}/tests/test_buildability_guard.py +0 -0
- {lobes_cli-0.89.0 → lobes_cli-0.89.2}/tests/test_calibration_knee.py +0 -0
- {lobes_cli-0.89.0 → lobes_cli-0.89.2}/tests/test_capabilities_member_lanes.py +0 -0
- {lobes_cli-0.89.0 → lobes_cli-0.89.2}/tests/test_cat_probe.py +0 -0
- {lobes_cli-0.89.0 → lobes_cli-0.89.2}/tests/test_cat_score.py +0 -0
- {lobes_cli-0.89.0 → lobes_cli-0.89.2}/tests/test_catalog.py +0 -0
- {lobes_cli-0.89.0 → lobes_cli-0.89.2}/tests/test_catalog_embed_lanes.py +0 -0
- {lobes_cli-0.89.0 → lobes_cli-0.89.2}/tests/test_catalog_tiers.py +0 -0
- {lobes_cli-0.89.0 → lobes_cli-0.89.2}/tests/test_chatterbox_ml_dockerfile.py +0 -0
- {lobes_cli-0.89.0 → lobes_cli-0.89.2}/tests/test_chatterbox_multilingual_server.py +0 -0
- {lobes_cli-0.89.0 → lobes_cli-0.89.2}/tests/test_chatterbox_pcm16.py +0 -0
- {lobes_cli-0.89.0 → lobes_cli-0.89.2}/tests/test_chatterbox_readiness.py +0 -0
- {lobes_cli-0.89.0 → lobes_cli-0.89.2}/tests/test_clef_eval.py +0 -0
- {lobes_cli-0.89.0 → lobes_cli-0.89.2}/tests/test_clef_quant_index.py +0 -0
- {lobes_cli-0.89.0 → lobes_cli-0.89.2}/tests/test_clef_sets.py +0 -0
- {lobes_cli-0.89.0 → lobes_cli-0.89.2}/tests/test_cli.py +0 -0
- {lobes_cli-0.89.0 → lobes_cli-0.89.2}/tests/test_cli_benchmark_profiles.py +0 -0
- {lobes_cli-0.89.0 → lobes_cli-0.89.2}/tests/test_cli_calibrate.py +0 -0
- {lobes_cli-0.89.0 → lobes_cli-0.89.2}/tests/test_cli_capabilities.py +0 -0
- {lobes_cli-0.89.0 → lobes_cli-0.89.2}/tests/test_cli_capabilities_replicas.py +0 -0
- {lobes_cli-0.89.0 → lobes_cli-0.89.2}/tests/test_cli_eval.py +0 -0
- {lobes_cli-0.89.0 → lobes_cli-0.89.2}/tests/test_cli_eval_cat.py +0 -0
- {lobes_cli-0.89.0 → lobes_cli-0.89.2}/tests/test_cli_fleet.py +0 -0
- {lobes_cli-0.89.0 → lobes_cli-0.89.2}/tests/test_cli_gateway_auth.py +0 -0
- {lobes_cli-0.89.0 → lobes_cli-0.89.2}/tests/test_cli_introspection.py +0 -0
- {lobes_cli-0.89.0 → lobes_cli-0.89.2}/tests/test_cli_lanes.py +0 -0
- {lobes_cli-0.89.0 → lobes_cli-0.89.2}/tests/test_cli_logs.py +0 -0
- {lobes_cli-0.89.0 → lobes_cli-0.89.2}/tests/test_cli_measure.py +0 -0
- {lobes_cli-0.89.0 → lobes_cli-0.89.2}/tests/test_cli_mesh.py +0 -0
- {lobes_cli-0.89.0 → lobes_cli-0.89.2}/tests/test_cli_route.py +0 -0
- {lobes_cli-0.89.0 → lobes_cli-0.89.2}/tests/test_cli_run.py +0 -0
- {lobes_cli-0.89.0 → lobes_cli-0.89.2}/tests/test_cli_runtime.py +0 -0
- {lobes_cli-0.89.0 → lobes_cli-0.89.2}/tests/test_cli_tunnel.py +0 -0
- {lobes_cli-0.89.0 → lobes_cli-0.89.2}/tests/test_cli_up.py +0 -0
- {lobes_cli-0.89.0 → lobes_cli-0.89.2}/tests/test_cli_up_replace.py +0 -0
- {lobes_cli-0.89.0 → lobes_cli-0.89.2}/tests/test_cli_wiring.py +0 -0
- {lobes_cli-0.89.0 → lobes_cli-0.89.2}/tests/test_client_reasoning_roundtrip.py +0 -0
- {lobes_cli-0.89.0 → lobes_cli-0.89.2}/tests/test_colleague_contract.py +0 -0
- {lobes_cli-0.89.0 → lobes_cli-0.89.2}/tests/test_comfyui_compose.py +0 -0
- {lobes_cli-0.89.0 → lobes_cli-0.89.2}/tests/test_comfyui_dockerfile.py +0 -0
- {lobes_cli-0.89.0 → lobes_cli-0.89.2}/tests/test_comfyui_volumes.py +0 -0
- {lobes_cli-0.89.0 → lobes_cli-0.89.2}/tests/test_compose_chain.py +0 -0
- {lobes_cli-0.89.0 → lobes_cli-0.89.2}/tests/test_decider_render.py +0 -0
- {lobes_cli-0.89.0 → lobes_cli-0.89.2}/tests/test_decider_sidecar.py +0 -0
- {lobes_cli-0.89.0 → lobes_cli-0.89.2}/tests/test_decider_sidecar_vllm.py +0 -0
- {lobes_cli-0.89.0 → lobes_cli-0.89.2}/tests/test_deployment_lock.py +0 -0
- {lobes_cli-0.89.0 → lobes_cli-0.89.2}/tests/test_deployment_lock_doc.py +0 -0
- {lobes_cli-0.89.0 → lobes_cli-0.89.2}/tests/test_detect.py +0 -0
- {lobes_cli-0.89.0 → lobes_cli-0.89.2}/tests/test_doctor.py +0 -0
- {lobes_cli-0.89.0 → lobes_cli-0.89.2}/tests/test_doctor_audio_he.py +0 -0
- {lobes_cli-0.89.0 → lobes_cli-0.89.2}/tests/test_doctor_fix.py +0 -0
- {lobes_cli-0.89.0 → lobes_cli-0.89.2}/tests/test_doctor_lane_safety.py +0 -0
- {lobes_cli-0.89.0 → lobes_cli-0.89.2}/tests/test_doctor_machine_profile.py +0 -0
- {lobes_cli-0.89.0 → lobes_cli-0.89.2}/tests/test_doctor_mesh_retirement.py +0 -0
- {lobes_cli-0.89.0 → lobes_cli-0.89.2}/tests/test_doctor_passthrough.py +0 -0
- {lobes_cli-0.89.0 → lobes_cli-0.89.2}/tests/test_doctor_refresh_plugin.py +0 -0
- {lobes_cli-0.89.0 → lobes_cli-0.89.2}/tests/test_doctor_repin_version.py +0 -0
- {lobes_cli-0.89.0 → lobes_cli-0.89.2}/tests/test_doctor_role_command.py +0 -0
- {lobes_cli-0.89.0 → lobes_cli-0.89.2}/tests/test_doctor_role_probe.py +0 -0
- {lobes_cli-0.89.0 → lobes_cli-0.89.2}/tests/test_dropped_lobe_honesty.py +0 -0
- {lobes_cli-0.89.0 → lobes_cli-0.89.2}/tests/test_embed_finetune.py +0 -0
- {lobes_cli-0.89.0 → lobes_cli-0.89.2}/tests/test_embed_h2h.py +0 -0
- {lobes_cli-0.89.0 → lobes_cli-0.89.2}/tests/test_embed_lanes.py +0 -0
- {lobes_cli-0.89.0 → lobes_cli-0.89.2}/tests/test_embed_lanes_import.py +0 -0
- {lobes_cli-0.89.0 → lobes_cli-0.89.2}/tests/test_embed_overlay.py +0 -0
- {lobes_cli-0.89.0 → lobes_cli-0.89.2}/tests/test_embed_sidecar.py +0 -0
- {lobes_cli-0.89.0 → lobes_cli-0.89.2}/tests/test_fleet_audio_vad_env.py +0 -0
- {lobes_cli-0.89.0 → lobes_cli-0.89.2}/tests/test_fleet_compose_mounts.py +0 -0
- {lobes_cli-0.89.0 → lobes_cli-0.89.2}/tests/test_fleet_minor.py +0 -0
- {lobes_cli-0.89.0 → lobes_cli-0.89.2}/tests/test_fleet_per_machine_knobs.py +0 -0
- {lobes_cli-0.89.0 → lobes_cli-0.89.2}/tests/test_fleet_secrets_env_file.py +0 -0
- {lobes_cli-0.89.0 → lobes_cli-0.89.2}/tests/test_fleet_template_gateway_env.py +0 -0
- {lobes_cli-0.89.0 → lobes_cli-0.89.2}/tests/test_gateway_audio_peer.py +0 -0
- {lobes_cli-0.89.0 → lobes_cli-0.89.2}/tests/test_gateway_audio_routing.py +0 -0
- {lobes_cli-0.89.0 → lobes_cli-0.89.2}/tests/test_gateway_auth.py +0 -0
- {lobes_cli-0.89.0 → lobes_cli-0.89.2}/tests/test_gateway_auth_rejection_log.py +0 -0
- {lobes_cli-0.89.0 → lobes_cli-0.89.2}/tests/test_gateway_busy_e2e.py +0 -0
- {lobes_cli-0.89.0 → lobes_cli-0.89.2}/tests/test_gateway_capabilities.py +0 -0
- {lobes_cli-0.89.0 → lobes_cli-0.89.2}/tests/test_gateway_config_proxy.py +0 -0
- {lobes_cli-0.89.0 → lobes_cli-0.89.2}/tests/test_gateway_config_replicas.py +0 -0
- {lobes_cli-0.89.0 → lobes_cli-0.89.2}/tests/test_gateway_config_wiring.py +0 -0
- {lobes_cli-0.89.0 → lobes_cli-0.89.2}/tests/test_gateway_decider.py +0 -0
- {lobes_cli-0.89.0 → lobes_cli-0.89.2}/tests/test_gateway_decider_mesh.py +0 -0
- {lobes_cli-0.89.0 → lobes_cli-0.89.2}/tests/test_gateway_embed_deep.py +0 -0
- {lobes_cli-0.89.0 → lobes_cli-0.89.2}/tests/test_gateway_embed_lanes.py +0 -0
- {lobes_cli-0.89.0 → lobes_cli-0.89.2}/tests/test_gateway_env_passthrough_guard.py +0 -0
- {lobes_cli-0.89.0 → lobes_cli-0.89.2}/tests/test_gateway_feasibility.py +0 -0
- {lobes_cli-0.89.0 → lobes_cli-0.89.2}/tests/test_gateway_fleet_doc.py +0 -0
- {lobes_cli-0.89.0 → lobes_cli-0.89.2}/tests/test_gateway_force_strict.py +0 -0
- {lobes_cli-0.89.0 → lobes_cli-0.89.2}/tests/test_gateway_get_relay.py +0 -0
- {lobes_cli-0.89.0 → lobes_cli-0.89.2}/tests/test_gateway_hand_adapters.py +0 -0
- {lobes_cli-0.89.0 → lobes_cli-0.89.2}/tests/test_gateway_member_lanes.py +0 -0
- {lobes_cli-0.89.0 → lobes_cli-0.89.2}/tests/test_gateway_no_lifecycle_actuator.py +0 -0
- {lobes_cli-0.89.0 → lobes_cli-0.89.2}/tests/test_gateway_peer_advert.py +0 -0
- {lobes_cli-0.89.0 → lobes_cli-0.89.2}/tests/test_gateway_peer_only_pool.py +0 -0
- {lobes_cli-0.89.0 → lobes_cli-0.89.2}/tests/test_gateway_pool.py +0 -0
- {lobes_cli-0.89.0 → lobes_cli-0.89.2}/tests/test_gateway_pool_capacity_wiring.py +0 -0
- {lobes_cli-0.89.0 → lobes_cli-0.89.2}/tests/test_gateway_pool_pressure.py +0 -0
- {lobes_cli-0.89.0 → lobes_cli-0.89.2}/tests/test_gateway_pool_saturation.py +0 -0
- {lobes_cli-0.89.0 → lobes_cli-0.89.2}/tests/test_gateway_proxy.py +0 -0
- {lobes_cli-0.89.0 → lobes_cli-0.89.2}/tests/test_gateway_readiness.py +0 -0
- {lobes_cli-0.89.0 → lobes_cli-0.89.2}/tests/test_gateway_realtime_ws.py +0 -0
- {lobes_cli-0.89.0 → lobes_cli-0.89.2}/tests/test_gateway_render_facade.py +0 -0
- {lobes_cli-0.89.0 → lobes_cli-0.89.2}/tests/test_gateway_replicas.py +0 -0
- {lobes_cli-0.89.0 → lobes_cli-0.89.2}/tests/test_gateway_routing.py +0 -0
- {lobes_cli-0.89.0 → lobes_cli-0.89.2}/tests/test_gateway_selection.py +0 -0
- {lobes_cli-0.89.0 → lobes_cli-0.89.2}/tests/test_gateway_serve_mesh_wiring.py +0 -0
- {lobes_cli-0.89.0 → lobes_cli-0.89.2}/tests/test_gateway_server.py +0 -0
- {lobes_cli-0.89.0 → lobes_cli-0.89.2}/tests/test_gateway_status.py +0 -0
- {lobes_cli-0.89.0 → lobes_cli-0.89.2}/tests/test_gateway_stream_termination.py +0 -0
- {lobes_cli-0.89.0 → lobes_cli-0.89.2}/tests/test_gateway_tiers.py +0 -0
- {lobes_cli-0.89.0 → lobes_cli-0.89.2}/tests/test_gemma4_compose.py +0 -0
- {lobes_cli-0.89.0 → lobes_cli-0.89.2}/tests/test_gemma4_dockerfile.py +0 -0
- {lobes_cli-0.89.0 → lobes_cli-0.89.2}/tests/test_gen_api_key.py +0 -0
- {lobes_cli-0.89.0 → lobes_cli-0.89.2}/tests/test_gitignore_convention.py +0 -0
- {lobes_cli-0.89.0 → lobes_cli-0.89.2}/tests/test_governor.py +0 -0
- {lobes_cli-0.89.0 → lobes_cli-0.89.2}/tests/test_init.py +0 -0
- {lobes_cli-0.89.0 → lobes_cli-0.89.2}/tests/test_init_audio_he.py +0 -0
- {lobes_cli-0.89.0 → lobes_cli-0.89.2}/tests/test_init_coresidency.py +0 -0
- {lobes_cli-0.89.0 → lobes_cli-0.89.2}/tests/test_init_from_lock.py +0 -0
- {lobes_cli-0.89.0 → lobes_cli-0.89.2}/tests/test_init_gpu_access.py +0 -0
- {lobes_cli-0.89.0 → lobes_cli-0.89.2}/tests/test_init_profile.py +0 -0
- {lobes_cli-0.89.0 → lobes_cli-0.89.2}/tests/test_init_shape.py +0 -0
- {lobes_cli-0.89.0 → lobes_cli-0.89.2}/tests/test_innereye_ui_port.py +0 -0
- {lobes_cli-0.89.0 → lobes_cli-0.89.2}/tests/test_lane_safety_compose.py +0 -0
- {lobes_cli-0.89.0 → lobes_cli-0.89.2}/tests/test_lane_safety_knobs_documented.py +0 -0
- {lobes_cli-0.89.0 → lobes_cli-0.89.2}/tests/test_lane_state_dir.py +0 -0
- {lobes_cli-0.89.0 → lobes_cli-0.89.2}/tests/test_lifecycle_cache_clear.py +0 -0
- {lobes_cli-0.89.0 → lobes_cli-0.89.2}/tests/test_listen_server_whisper.py +0 -0
- {lobes_cli-0.89.0 → lobes_cli-0.89.2}/tests/test_live_capabilities.py +0 -0
- {lobes_cli-0.89.0 → lobes_cli-0.89.2}/tests/test_lobes_compose_wrapper.py +0 -0
- {lobes_cli-0.89.0 → lobes_cli-0.89.2}/tests/test_lock_drift.py +0 -0
- {lobes_cli-0.89.0 → lobes_cli-0.89.2}/tests/test_logwrap_backoff.py +0 -0
- {lobes_cli-0.89.0 → lobes_cli-0.89.2}/tests/test_logwrap_held.py +0 -0
- {lobes_cli-0.89.0 → lobes_cli-0.89.2}/tests/test_logwrap_hold.py +0 -0
- {lobes_cli-0.89.0 → lobes_cli-0.89.2}/tests/test_machine_adapter.py +0 -0
- {lobes_cli-0.89.0 → lobes_cli-0.89.2}/tests/test_machines.py +0 -0
- {lobes_cli-0.89.0 → lobes_cli-0.89.2}/tests/test_mesh_config.py +0 -0
- {lobes_cli-0.89.0 → lobes_cli-0.89.2}/tests/test_mesh_flap_per_name.py +0 -0
- {lobes_cli-0.89.0 → lobes_cli-0.89.2}/tests/test_mesh_heartbeat_live.py +0 -0
- {lobes_cli-0.89.0 → lobes_cli-0.89.2}/tests/test_mesh_lanes.py +0 -0
- {lobes_cli-0.89.0 → lobes_cli-0.89.2}/tests/test_mesh_member_lanes.py +0 -0
- {lobes_cli-0.89.0 → lobes_cli-0.89.2}/tests/test_mesh_naming.py +0 -0
- {lobes_cli-0.89.0 → lobes_cli-0.89.2}/tests/test_mesh_roster.py +0 -0
- {lobes_cli-0.89.0 → lobes_cli-0.89.2}/tests/test_mesh_routes.py +0 -0
- {lobes_cli-0.89.0 → lobes_cli-0.89.2}/tests/test_mesh_routing.py +0 -0
- {lobes_cli-0.89.0 → lobes_cli-0.89.2}/tests/test_mesh_routing_wiring.py +0 -0
- {lobes_cli-0.89.0 → lobes_cli-0.89.2}/tests/test_mesh_templates.py +0 -0
- {lobes_cli-0.89.0 → lobes_cli-0.89.2}/tests/test_mesh_verify_reason.py +0 -0
- {lobes_cli-0.89.0 → lobes_cli-0.89.2}/tests/test_mesh_wire.py +0 -0
- {lobes_cli-0.89.0 → lobes_cli-0.89.2}/tests/test_minor_client.py +0 -0
- {lobes_cli-0.89.0 → lobes_cli-0.89.2}/tests/test_minor_governance.py +0 -0
- {lobes_cli-0.89.0 → lobes_cli-0.89.2}/tests/test_minor_integration.py +0 -0
- {lobes_cli-0.89.0 → lobes_cli-0.89.2}/tests/test_minor_logprobs.py +0 -0
- {lobes_cli-0.89.0 → lobes_cli-0.89.2}/tests/test_nightly_migration_doc.py +0 -0
- {lobes_cli-0.89.0 → lobes_cli-0.89.2}/tests/test_no_config_byte_identity.py +0 -0
- {lobes_cli-0.89.0 → lobes_cli-0.89.2}/tests/test_orin_associate_boot_order.py +0 -0
- {lobes_cli-0.89.0 → lobes_cli-0.89.2}/tests/test_orin_associate_shape.py +0 -0
- {lobes_cli-0.89.0 → lobes_cli-0.89.2}/tests/test_orin_cortex_shape.py +0 -0
- {lobes_cli-0.89.0 → lobes_cli-0.89.2}/tests/test_orin_decider_shape.py +0 -0
- {lobes_cli-0.89.0 → lobes_cli-0.89.2}/tests/test_orin_embed_shape.py +0 -0
- {lobes_cli-0.89.0 → lobes_cli-0.89.2}/tests/test_orin_gateway_read_timeout.py +0 -0
- {lobes_cli-0.89.0 → lobes_cli-0.89.2}/tests/test_orin_lobe_shape.py +0 -0
- {lobes_cli-0.89.0 → lobes_cli-0.89.2}/tests/test_overview_live.py +0 -0
- {lobes_cli-0.89.0 → lobes_cli-0.89.2}/tests/test_parser.py +0 -0
- {lobes_cli-0.89.0 → lobes_cli-0.89.2}/tests/test_peer_referral.py +0 -0
- {lobes_cli-0.89.0 → lobes_cli-0.89.2}/tests/test_preserve_thinking_diagnostic.py +0 -0
- {lobes_cli-0.89.0 → lobes_cli-0.89.2}/tests/test_pressure.py +0 -0
- {lobes_cli-0.89.0 → lobes_cli-0.89.2}/tests/test_pressure_policy.py +0 -0
- {lobes_cli-0.89.0 → lobes_cli-0.89.2}/tests/test_profile_goldens.py +0 -0
- {lobes_cli-0.89.0 → lobes_cli-0.89.2}/tests/test_profile_render.py +0 -0
- {lobes_cli-0.89.0 → lobes_cli-0.89.2}/tests/test_profile_schema.py +0 -0
- {lobes_cli-0.89.0 → lobes_cli-0.89.2}/tests/test_profiles.py +0 -0
- {lobes_cli-0.89.0 → lobes_cli-0.89.2}/tests/test_proxy_integration.py +0 -0
- {lobes_cli-0.89.0 → lobes_cli-0.89.2}/tests/test_readiness_peer_probe.py +0 -0
- {lobes_cli-0.89.0 → lobes_cli-0.89.2}/tests/test_realtime_app_stream_structure.py +0 -0
- {lobes_cli-0.89.0 → lobes_cli-0.89.2}/tests/test_realtime_audio_env_coverage.py +0 -0
- {lobes_cli-0.89.0 → lobes_cli-0.89.2}/tests/test_realtime_audio_facade.py +0 -0
- {lobes_cli-0.89.0 → lobes_cli-0.89.2}/tests/test_realtime_continuation.py +0 -0
- {lobes_cli-0.89.0 → lobes_cli-0.89.2}/tests/test_realtime_conversation.py +0 -0
- {lobes_cli-0.89.0 → lobes_cli-0.89.2}/tests/test_realtime_conversation_stream.py +0 -0
- {lobes_cli-0.89.0 → lobes_cli-0.89.2}/tests/test_realtime_floor.py +0 -0
- {lobes_cli-0.89.0 → lobes_cli-0.89.2}/tests/test_realtime_floor_segments.py +0 -0
- {lobes_cli-0.89.0 → lobes_cli-0.89.2}/tests/test_realtime_generate_failure_surfacing.py +0 -0
- {lobes_cli-0.89.0 → lobes_cli-0.89.2}/tests/test_realtime_generate_stream_settings.py +0 -0
- {lobes_cli-0.89.0 → lobes_cli-0.89.2}/tests/test_realtime_he_accept_helpers.py +0 -0
- {lobes_cli-0.89.0 → lobes_cli-0.89.2}/tests/test_realtime_imports.py +0 -0
- {lobes_cli-0.89.0 → lobes_cli-0.89.2}/tests/test_realtime_parallel_tool_calls.py +0 -0
- {lobes_cli-0.89.0 → lobes_cli-0.89.2}/tests/test_realtime_pcm.py +0 -0
- {lobes_cli-0.89.0 → lobes_cli-0.89.2}/tests/test_realtime_protocol.py +0 -0
- {lobes_cli-0.89.0 → lobes_cli-0.89.2}/tests/test_realtime_readiness.py +0 -0
- {lobes_cli-0.89.0 → lobes_cli-0.89.2}/tests/test_realtime_segmenter.py +0 -0
- {lobes_cli-0.89.0 → lobes_cli-0.89.2}/tests/test_realtime_segmenter_eager.py +0 -0
- {lobes_cli-0.89.0 → lobes_cli-0.89.2}/tests/test_realtime_segmenter_level_gate.py +0 -0
- {lobes_cli-0.89.0 → lobes_cli-0.89.2}/tests/test_realtime_sentences.py +0 -0
- {lobes_cli-0.89.0 → lobes_cli-0.89.2}/tests/test_realtime_session.py +0 -0
- {lobes_cli-0.89.0 → lobes_cli-0.89.2}/tests/test_realtime_settings.py +0 -0
- {lobes_cli-0.89.0 → lobes_cli-0.89.2}/tests/test_realtime_smoke_helpers.py +0 -0
- {lobes_cli-0.89.0 → lobes_cli-0.89.2}/tests/test_realtime_speculation.py +0 -0
- {lobes_cli-0.89.0 → lobes_cli-0.89.2}/tests/test_realtime_stt_forward.py +0 -0
- {lobes_cli-0.89.0 → lobes_cli-0.89.2}/tests/test_realtime_timings.py +0 -0
- {lobes_cli-0.89.0 → lobes_cli-0.89.2}/tests/test_realtime_tts_gate.py +0 -0
- {lobes_cli-0.89.0 → lobes_cli-0.89.2}/tests/test_realtime_tts_text.py +0 -0
- {lobes_cli-0.89.0 → lobes_cli-0.89.2}/tests/test_realtime_turn.py +0 -0
- {lobes_cli-0.89.0 → lobes_cli-0.89.2}/tests/test_realtime_turn_stream.py +0 -0
- {lobes_cli-0.89.0 → lobes_cli-0.89.2}/tests/test_realtime_vocalize.py +0 -0
- {lobes_cli-0.89.0 → lobes_cli-0.89.2}/tests/test_realtime_wire.py +0 -0
- {lobes_cli-0.89.0 → lobes_cli-0.89.2}/tests/test_role_probes.py +0 -0
- {lobes_cli-0.89.0 → lobes_cli-0.89.2}/tests/test_roles.py +0 -0
- {lobes_cli-0.89.0 → lobes_cli-0.89.2}/tests/test_roles_audio_advert.py +0 -0
- {lobes_cli-0.89.0 → lobes_cli-0.89.2}/tests/test_roles_audio_language.py +0 -0
- {lobes_cli-0.89.0 → lobes_cli-0.89.2}/tests/test_roles_proxied.py +0 -0
- {lobes_cli-0.89.0 → lobes_cli-0.89.2}/tests/test_roles_replicas.py +0 -0
- {lobes_cli-0.89.0 → lobes_cli-0.89.2}/tests/test_routing_models_member_lanes.py +0 -0
- {lobes_cli-0.89.0 → lobes_cli-0.89.2}/tests/test_scan_deployment_secrets.py +0 -0
- {lobes_cli-0.89.0 → lobes_cli-0.89.2}/tests/test_senses_speculative_config.py +0 -0
- {lobes_cli-0.89.0 → lobes_cli-0.89.2}/tests/test_shape_budgets.py +0 -0
- {lobes_cli-0.89.0 → lobes_cli-0.89.2}/tests/test_shape_contract_matrix.py +0 -0
- {lobes_cli-0.89.0 → lobes_cli-0.89.2}/tests/test_shape_gateway_only.py +0 -0
- {lobes_cli-0.89.0 → lobes_cli-0.89.2}/tests/test_shape_goldens.py +0 -0
- {lobes_cli-0.89.0 → lobes_cli-0.89.2}/tests/test_shape_host_env_rerender.py +0 -0
- {lobes_cli-0.89.0 → lobes_cli-0.89.2}/tests/test_shapes.py +0 -0
- {lobes_cli-0.89.0 → lobes_cli-0.89.2}/tests/test_smoke_duo.py +0 -0
- {lobes_cli-0.89.0 → lobes_cli-0.89.2}/tests/test_spec_arms.py +0 -0
- {lobes_cli-0.89.0 → lobes_cli-0.89.2}/tests/test_spike_preflight.py +0 -0
- {lobes_cli-0.89.0 → lobes_cli-0.89.2}/tests/test_status_fleet.py +0 -0
- {lobes_cli-0.89.0 → lobes_cli-0.89.2}/tests/test_status_pressure.py +0 -0
- {lobes_cli-0.89.0 → lobes_cli-0.89.2}/tests/test_switch_bf16.py +0 -0
- {lobes_cli-0.89.0 → lobes_cli-0.89.2}/tests/test_switch_plan_goldens.py +0 -0
- {lobes_cli-0.89.0 → lobes_cli-0.89.2}/tests/test_templates_preserve_thinking.py +0 -0
- {lobes_cli-0.89.0 → lobes_cli-0.89.2}/tests/test_tier_request.py +0 -0
- {lobes_cli-0.89.0 → lobes_cli-0.89.2}/tests/test_tool_parser_plugin.py +0 -0
- {lobes_cli-0.89.0 → lobes_cli-0.89.2}/tests/test_tts_client_hebrew_diacritizer.py +0 -0
- {lobes_cli-0.89.0 → lobes_cli-0.89.2}/tests/test_tts_pause_and_truncation.py +0 -0
- {lobes_cli-0.89.0 → lobes_cli-0.89.2}/tests/test_up_no_deps_isolation.py +0 -0
- {lobes_cli-0.89.0 → lobes_cli-0.89.2}/tests/test_upgrade_compat.py +0 -0
- {lobes_cli-0.89.0 → lobes_cli-0.89.2}/tests/test_variation.py +0 -0
- {lobes_cli-0.89.0 → lobes_cli-0.89.2}/tests/test_variation_catalog.py +0 -0
- {lobes_cli-0.89.0 → lobes_cli-0.89.2}/tests/test_watcher.py +0 -0
- {lobes_cli-0.89.0 → lobes_cli-0.89.2}/tests/test_wheel_excludes_deployments.py +0 -0
- {lobes_cli-0.89.0 → lobes_cli-0.89.2}/tests/test_whisper_stt_dockerfile.py +0 -0
- {lobes_cli-0.89.0 → lobes_cli-0.89.2}/tests/test_worker_compose.py +0 -0
- {lobes_cli-0.89.0 → lobes_cli-0.89.2}/tests/test_worker_recipe_knobs.py +0 -0
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
{
|
|
2
|
+
"schema": 1,
|
|
3
|
+
"state": "done",
|
|
4
|
+
"pr": 323,
|
|
5
|
+
"exit_code": 0,
|
|
6
|
+
"outcome": "clean",
|
|
7
|
+
"started_at": "2026-10-18T11:10:48.671094+00:00",
|
|
8
|
+
"finished_at": "2026-10-18T11:11:56.545796+00:00",
|
|
9
|
+
"briefing": "# `agex pr read` \u2014 PR #323\n\n- State: **OPEN** (fix: qwen3_coder_thinking passes reasoning=False on vLLM >= 0.30 (strict+thinking repeat) \u2014 #310 d5)\n- Branch: `fix/plugin-reasoning-gate` \u2192 `main`\n- URL: https://github.com/agentculture/lobes-cli/pull/323\n\n## CI checks\n\n| Check | Status | Conclusion |\n|---|---|---|\n| test | in_progress | \u2014 |\n| test | in_progress | \u2014 |\n| lint | completed | success |\n| secrets-scan | completed | success |\n| site-build | completed | success |\n| version-check | completed | success |\n| GitGuardian Security Checks | completed | success |\n\n\n## SonarCloud\n\n_Project not on SonarCloud (skipped)._\n\n## Comments\n\n- **[top-level]** `OriNachum`: /agentic_review\n- **[top-level]** `qodo-code-review[bot]`: <!-- qodo:billing-blocked -->\n\n**\u24d8 Qodo reviews are paused because the subscription is no longer active.** Ask your workspace admin to reactivate the subscription to resume reviews. [Manage...\n- **[top-level]** `qodo-code-review[bot]`: <!-- qodo:billing-blocked -->\n\n**\u24d8 Qodo reviews are paused because the subscription is no longer active.** Ask your workspace admin to reactivate the subscription to resume reviews. [Manage...\n\n\n## Qodo review\n\n_No Qodo review found._\n\n## Readiness\n\nAll required reviewers have posted feedback.\n\n---\n**Next step:** PR #323 is ready \u2014 wait for human merge.\n",
|
|
10
|
+
"gate_status": null,
|
|
11
|
+
"threads_unresolved": 0,
|
|
12
|
+
"ci_state": "ok"
|
|
13
|
+
}
|
|
@@ -239,3 +239,9 @@
|
|
|
239
239
|
{"ts":"2026-10-07T00:01:53.296199+00:00","type":"pr_webhook_posted","pr":293,"event":"pr_opened"}
|
|
240
240
|
{"ts":"2026-10-07T00:02:56.775080+00:00","type":"readiness_arrived","pr":293,"waited_secs":60}
|
|
241
241
|
{"ts":"2026-10-07T00:03:01.419898+00:00","type":"pr_read","pr":293,"comment_count":3,"threads_unresolved":0,"ci_state":"ok"}
|
|
242
|
+
{"ts":"2026-10-18T11:10:46.372078+00:00","type":"pr_opened","pr":323,"title":"fix: qwen3_coder_thinking passes reasoning=False on vLLM >= 0.30 (strict+thinking repeat) \u2014 #310 d5"}
|
|
243
|
+
{"ts":"2026-10-18T11:10:47.900887+00:00","type":"pr_review_triggered","pr":323,"command":"/agentic_review"}
|
|
244
|
+
{"ts":"2026-10-18T11:10:48.656513+00:00","type":"pr_webhook_posted","pr":323,"event":"pr_opened"}
|
|
245
|
+
{"ts":"2026-10-18T11:10:48.671713+00:00","type":"pr_await_detach_spawned","pr":323,"max_wait":1800}
|
|
246
|
+
{"ts":"2026-10-18T11:11:52.039761+00:00","type":"readiness_arrived","pr":323,"waited_secs":60}
|
|
247
|
+
{"ts":"2026-10-18T11:11:56.546218+00:00","type":"pr_await_detach_done","pr":323,"outcome":"clean","exit_code":0}
|
|
@@ -4,7 +4,7 @@
|
|
|
4
4
|
"schema_version": 6,
|
|
5
5
|
"status": "exported",
|
|
6
6
|
"created": "2026-10-17T16:54:43Z",
|
|
7
|
-
"updated": "2026-10-
|
|
7
|
+
"updated": "2026-10-17T19:47:33Z",
|
|
8
8
|
"claims": [
|
|
9
9
|
{
|
|
10
10
|
"id": "c1",
|
|
@@ -1381,6 +1381,28 @@
|
|
|
1381
1381
|
],
|
|
1382
1382
|
"origin": "llm",
|
|
1383
1383
|
"status": "proposed"
|
|
1384
|
+
},
|
|
1385
|
+
{
|
|
1386
|
+
"id": "l6",
|
|
1387
|
+
"code": "control-absent",
|
|
1388
|
+
"what": "t6's dry run read the LIVE Spark: doctor's health_reachable and gateway_version_match did a GET /health on localhost:8001 because the copy's port pointed there; read-only, but those two findings describe the live box, not the copy",
|
|
1389
|
+
"skipped_check": "point the copy's gateway port at a closed port before running doctor",
|
|
1390
|
+
"refs": [
|
|
1391
|
+
"t6"
|
|
1392
|
+
],
|
|
1393
|
+
"origin": "llm",
|
|
1394
|
+
"status": "proposed"
|
|
1395
|
+
},
|
|
1396
|
+
{
|
|
1397
|
+
"id": "l7",
|
|
1398
|
+
"code": "assumption-for-measurement",
|
|
1399
|
+
"what": "t6's runbook claims a container that docker restarts on its own picks up the refreshed wrapper through its file bind mount ('prepare now, recreate later'); reasoned from docker behaviour, not tested; the merged compose chain was checked by YAML parse + simulation only, not docker compose config",
|
|
1400
|
+
"skipped_check": "docker compose config on the merged chain; a real restart",
|
|
1401
|
+
"refs": [
|
|
1402
|
+
"t6"
|
|
1403
|
+
],
|
|
1404
|
+
"origin": "llm",
|
|
1405
|
+
"status": "proposed"
|
|
1384
1406
|
}
|
|
1385
1407
|
],
|
|
1386
1408
|
"obligations": []
|
|
@@ -4,6 +4,19 @@ 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.89.2] - 2026-10-18
|
|
8
|
+
|
|
9
|
+
### Fixed
|
|
10
|
+
|
|
11
|
+
- `qwen3_coder_thinking` plugin: on vLLM >= 0.30.0, which starts the structured-output grammar only after reasoning ends, the plugin now passes vLLM's own `reasoning` flag through (`False` on every engine measured) instead of deriving it per request, and logs which mode it chose at import. The thinking-prefixed grammar it built before masked EOS there, so a strict tool call with thinking repeated until `max_tokens` (measured on 0.30.0, 0.31.0 and 0.32.0rc1). Older engines keep the per-request derivation; an unreadable `vllm.__version__` refuses to boot (#310 deviation d5).
|
|
12
|
+
- `lobes assess --strict-tools`: a strict leg that hits `max_tokens` (`finish_reason=length`) is no longer counted as a clean call, so the matrix now catches the repeat-until-`max_tokens` failure.
|
|
13
|
+
|
|
14
|
+
## [0.89.1] - 2026-10-17
|
|
15
|
+
|
|
16
|
+
### Added
|
|
17
|
+
|
|
18
|
+
- Runbook docs/runbooks/lane-safety-r1-rollout.md: move an existing hand-kept ~/.lobes from the 0.86 scaffold to the 0.89.0 (lane-safety + #310 R1) scaffold without re-scaffolding — override-only compose merge (with the compose merge-semantics table), doctor --refresh-logwrap / --refresh-plugin / --fix, verification and rollback; dry-run record docs/evidence/2026-10-17-dryrun-r1-rollout-spark-copy.txt (#310 t6)
|
|
19
|
+
|
|
7
20
|
## [0.89.0] - 2026-10-17
|
|
8
21
|
|
|
9
22
|
### Added
|
|
@@ -145,7 +145,13 @@ tool-parser plugin (`lobes/vllm_plugins/`, loaded via vLLM's own
|
|
|
145
145
|
`--tool-parser-plugin` file-path surface, cortex/main lane only — mirrors
|
|
146
146
|
the `preserve_thinking` #93 scoping) — it derives the grammar's `reasoning`
|
|
147
147
|
flag from the request's own `enable_thinking` instead of the hardcoded
|
|
148
|
-
`False`.
|
|
148
|
+
`False`. **That derivation is engine-dependent (#310 deviation d5,
|
|
149
|
+
2026-10-18):** vLLM 0.30.0 and later start the grammar only after reasoning
|
|
150
|
+
ends, so a thinking-prefixed grammar masks EOS and a strict call repeats until
|
|
151
|
+
`max_tokens`; on those engines the plugin passes vLLM's own `reasoning` flag
|
|
152
|
+
through (`False` on every engine measured) (measured on 0.30.0, 0.31.0 and 0.32.0rc1;
|
|
153
|
+
`docs/evidence/2026-10-18-accept-vllm-031-spark-cortex.txt`). The boundary is
|
|
154
|
+
the measured one, chosen by the plugin from `vllm.__version__`. A separate, default-off gateway knob (`GATEWAY_FORCE_STRICT_TOOLS`)
|
|
149
155
|
opts existing callers into strict schemas without a client-side change, with
|
|
150
156
|
a retry-without-strict fallback on a grammar-compile failure. See
|
|
151
157
|
`docs/qwen3.6-27b-text-nvfp4-mtp.md`, `docs/openai-api.md`, and
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.5
|
|
2
2
|
Name: lobes-cli
|
|
3
|
-
Version: 0.89.
|
|
3
|
+
Version: 0.89.2
|
|
4
4
|
Summary: lobes — run, assess, and switch the local vLLM model.
|
|
5
5
|
Project-URL: Homepage, https://github.com/agentculture/lobes-cli
|
|
6
6
|
Project-URL: Issues, https://github.com/agentculture/lobes-cli/issues
|
|
@@ -0,0 +1,264 @@
|
|
|
1
|
+
DRY RUN — R1 (lobes-cli 0.89.0) lane-safety scaffold onto a hand-kept ~/.lobes
|
|
2
|
+
==============================================================================
|
|
3
|
+
|
|
4
|
+
Date: 2026-10-17
|
|
5
|
+
Procedure: docs/runbooks/lane-safety-r1-rollout.md (steps 2-8; step 9 not run)
|
|
6
|
+
Plan: #310 vllm-0-31-0-fleet, task t6
|
|
7
|
+
Target: a sanitised COPY of the DGX Spark's ~/.lobes, in session scratch
|
|
8
|
+
space. Secret values in the copy's .env were replaced before the
|
|
9
|
+
run. No live box was touched: no ssh, no `docker compose`, no
|
|
10
|
+
container created, recreated, stopped or updated.
|
|
11
|
+
CLI: lobes 0.89.0, run from source (`uv run lobes ... --compose-dir <copy>`)
|
|
12
|
+
on the Spark host, so card detection read the real GB10.
|
|
13
|
+
|
|
14
|
+
This record quotes structure only: finding ids, compose lines (which hold
|
|
15
|
+
${VAR} references, not values) and .env key NAMES. No .env value is quoted.
|
|
16
|
+
|
|
17
|
+
--- The copy's compose chain (`lobes fleet files --json`) -----------------------
|
|
18
|
+
|
|
19
|
+
-f docker-compose.yml -f docker-compose.audio.yml
|
|
20
|
+
-f docker-compose.shape.yml -f docker-compose.override.yml
|
|
21
|
+
|
|
22
|
+
docker-compose.yml is a full copy of an older packaged template plus hand
|
|
23
|
+
edits; the shape file parks three services in an inert profile; the override
|
|
24
|
+
carries the Hebrew audio deltas, gateway passthroughs and a backfilled comfyui.
|
|
25
|
+
|
|
26
|
+
--- Step 3: doctor BEFORE (finding ids) ------------------------------------------
|
|
27
|
+
|
|
28
|
+
[ok] docker_available, compose_present, env_coherence
|
|
29
|
+
[warn] scaffold_files (cf-tunnel.env.example missing)
|
|
30
|
+
[warn] profile_staleness (20 required keys missing from .env)
|
|
31
|
+
[warn] gateway_passthrough (3 keys; not lane safety, out of scope here)
|
|
32
|
+
[warn] logwrap_stale (deployed wrapper differs from the package)
|
|
33
|
+
[warn] compile_cache_unmounted (8 vLLM services: vllm-embed-deep, vllm-middle,
|
|
34
|
+
vllm-minor, vllm-multimodal-coder, vllm-muse,
|
|
35
|
+
vllm-primary, vllm-rerank, vllm-worker)
|
|
36
|
+
[warn] drop_caches_grant_missing (host finding: this Spark has no passwordless
|
|
37
|
+
page-cache clear)
|
|
38
|
+
[ok] watcher_inactive (not installed; optional)
|
|
39
|
+
[warn] plugin_stale (deployed tool-parser plugin differs)
|
|
40
|
+
[ok] health_reachable
|
|
41
|
+
[FAIL] gateway_version_match (deployed gateway 0.86.0.dev642 vs CLI 0.89.0)
|
|
42
|
+
|
|
43
|
+
Note: health_reachable and gateway_version_match read the LIVE Spark
|
|
44
|
+
gateway's /health on localhost (the copy's port), read-only. They describe
|
|
45
|
+
the live box, not the copy.
|
|
46
|
+
|
|
47
|
+
--- Step 3: per-service lane-safety state, BEFORE (parsed, not compose config) ---
|
|
48
|
+
|
|
49
|
+
Services the shape file parks (vllm-embed, vllm-hand, vllm-multimodal) are
|
|
50
|
+
omitted. "wrapped" = entrypoint is mg-logwrap; caches = /cache/vllm and
|
|
51
|
+
/cache/flashinfer binds.
|
|
52
|
+
|
|
53
|
+
service restart wrapped caches start_period
|
|
54
|
+
vllm-primary unless-stopped yes no 600s
|
|
55
|
+
vllm-rerank unless-stopped yes no 600s
|
|
56
|
+
vllm-embed-deep (prof) unless-stopped yes no 600s
|
|
57
|
+
vllm-minor (prof) unless-stopped yes no 600s
|
|
58
|
+
vllm-middle (prof) unless-stopped yes no 600s
|
|
59
|
+
vllm-multimodal-coder unless-stopped yes no 600s
|
|
60
|
+
vllm-muse (prof) unless-stopped yes no 600s
|
|
61
|
+
vllm-worker (prof) unless-stopped yes no 600s
|
|
62
|
+
gateway unless-stopped no - 20s
|
|
63
|
+
stt unless-stopped no - 600s
|
|
64
|
+
chatterbox unless-stopped no - 300s
|
|
65
|
+
realtime unless-stopped no - 30s
|
|
66
|
+
comfyui (innereye) unless-stopped yes - 90s
|
|
67
|
+
bluetts (override only) unless-stopped no - 120s
|
|
68
|
+
|
|
69
|
+
Restart policy: every service already has `restart: unless-stopped`; R1
|
|
70
|
+
adds none. bluetts is in no packaged compose file, so it stays unwrapped.
|
|
71
|
+
|
|
72
|
+
--- Step 2: dated backups ---------------------------------------------------------
|
|
73
|
+
|
|
74
|
+
.env, docker-compose.yml, docker-compose.audio.yml, docker-compose.shape.yml,
|
|
75
|
+
docker-compose.override.yml, mg-logwrap.sh, qwen3_thinking_tool_parser.py
|
|
76
|
+
copied to <name>.bak-<stamp>.
|
|
77
|
+
|
|
78
|
+
--- Step 4: docker-compose.override.yml diff (the only compose file changed) -----
|
|
79
|
+
|
|
80
|
+
Totals: 5 hunks, 139 lines added, 2 lines changed, 0 removed.
|
|
81
|
+
docker-compose.yml, docker-compose.audio.yml and docker-compose.shape.yml:
|
|
82
|
+
byte-identical to their backups (cmp).
|
|
83
|
+
|
|
84
|
+
Hunk 1, existing `stt:` block (merged into it, not a second key):
|
|
85
|
+
+ - MG_LOG_DIR=/logs/model-gear
|
|
86
|
+
+ - MG_LOG_NAME=stt
|
|
87
|
+
+ volumes:
|
|
88
|
+
+ - ${MODEL_GEAR_LOG_DIR:-./logs}:/logs/model-gear
|
|
89
|
+
+ - ./mg-logwrap.sh:/usr/local/bin/mg-logwrap:ro
|
|
90
|
+
+ entrypoint: ["bash", "/usr/local/bin/mg-logwrap"]
|
|
91
|
+
+ command: ["/opt/nvidia/nvidia_entrypoint.sh", "python3", "/app/listen_server_whisper.py"]
|
|
92
|
+
+ healthcheck:
|
|
93
|
+
+ start_period: 780s
|
|
94
|
+
|
|
95
|
+
Hunk 2, existing `chatterbox:` block: the same log env and binds, then
|
|
96
|
+
+ entrypoint: ["bash", "/usr/local/bin/mg-logwrap"]
|
|
97
|
+
+ command: ["python3.12", "-m", "lobes.realtime.chatterbox_multilingual_server"]
|
|
98
|
+
healthcheck:
|
|
99
|
+
- start_period: 300s
|
|
100
|
+
+ start_period: 480s
|
|
101
|
+
|
|
102
|
+
Hunk 3, existing `realtime:` block (no env_file there, so the boot knobs are
|
|
103
|
+
passed explicitly):
|
|
104
|
+
+ - MG_LOG_DIR=/logs/model-gear
|
|
105
|
+
+ - MG_LOG_NAME=realtime
|
|
106
|
+
+ - LOBES_BOOT_DELAY_S=${LOBES_BOOT_DELAY_S:-120}
|
|
107
|
+
+ - LOBES_BOOT_ORDER=${LOBES_BOOT_ORDER:-}
|
|
108
|
+
+ - LOBES_BOOT_STAGGER_S=${LOBES_BOOT_STAGGER_S:-20}
|
|
109
|
+
+ volumes: (the same two binds)
|
|
110
|
+
+ entrypoint: ["bash", "/usr/local/bin/mg-logwrap"]
|
|
111
|
+
+ command: ["python", "-m", "lobes.realtime"]
|
|
112
|
+
+ healthcheck:
|
|
113
|
+
+ start_period: 210s
|
|
114
|
+
|
|
115
|
+
Hunk 4, existing `gateway:` block:
|
|
116
|
+
+ - MG_LOG_DIR=/logs/model-gear
|
|
117
|
+
+ - MG_LOG_NAME=gateway
|
|
118
|
+
+ - LOBES_BOOT_DELAY_S=${LOBES_BOOT_DELAY_S:-120}
|
|
119
|
+
+ - LOBES_BOOT_ORDER=${LOBES_BOOT_ORDER:-}
|
|
120
|
+
+ - LOBES_BOOT_STAGGER_S=${LOBES_BOOT_STAGGER_S:-20}
|
|
121
|
+
+ - LOBES_THERMAL_ZONES=${LOBES_THERMAL_ZONES:-}
|
|
122
|
+
+ - LOBES_THERMAL_SHED_C=${LOBES_THERMAL_SHED_C:-}
|
|
123
|
+
+ - LOBES_THERMAL_RESUME_C=${LOBES_THERMAL_RESUME_C:-}
|
|
124
|
+
volumes:
|
|
125
|
+
- ${LOBES_MESH_DIR:-./mesh}:/home/gateway/mesh
|
|
126
|
+
+ - ${MODEL_GEAR_LOG_DIR:-./logs}:/logs/model-gear
|
|
127
|
+
+ - ./mg-logwrap.sh:/usr/local/bin/mg-logwrap:ro
|
|
128
|
+
+ entrypoint: ["bash", "/usr/local/bin/mg-logwrap"]
|
|
129
|
+
+ command: ["python", "-m", "lobes.gateway"]
|
|
130
|
+
+ healthcheck:
|
|
131
|
+
+ start_period: 200s
|
|
132
|
+
|
|
133
|
+
Hunk 5, existing `comfyui:` block, then 8 new service blocks:
|
|
134
|
+
- start_period: 90s
|
|
135
|
+
+ start_period: 270s
|
|
136
|
+
+ vllm-primary:
|
|
137
|
+
+ environment:
|
|
138
|
+
+ - VLLM_CACHE_ROOT=${LOBES_VLLM_CACHE_ROOT:-/cache/vllm}
|
|
139
|
+
+ - FLASHINFER_WORKSPACE_BASE=${LOBES_FLASHINFER_WORKSPACE_BASE:-/cache/flashinfer}
|
|
140
|
+
+ volumes:
|
|
141
|
+
+ - ${LOBES_COMPILE_CACHE_DIR:-./compile-cache}/primary:/cache/vllm
|
|
142
|
+
+ - ${LOBES_COMPILE_CACHE_DIR:-./compile-cache}/primary-flashinfer:/cache/flashinfer
|
|
143
|
+
+ healthcheck:
|
|
144
|
+
+ start_period: 780s
|
|
145
|
+
(the same block for vllm-rerank, vllm-embed-deep, vllm-minor, vllm-middle,
|
|
146
|
+
vllm-multimodal-coder, vllm-muse, vllm-worker; lane names rerank,
|
|
147
|
+
embed-deep, minor, middle, multimodal-coder, muse, worker)
|
|
148
|
+
|
|
149
|
+
The image commands were respelled from the copy's own Dockerfiles:
|
|
150
|
+
Dockerfile.gateway and Dockerfile.realtime (ENTRYPOINT, inherited by
|
|
151
|
+
Dockerfile.realtime.local), Dockerfile.chatterbox-ml.local (ENTRYPOINT) and
|
|
152
|
+
Dockerfile.whisper-stt (CMD, identical to the packaged file). The stt
|
|
153
|
+
chain's /opt/nvidia/nvidia_entrypoint.sh is the packaged audio-he overlay's
|
|
154
|
+
spelling; the base image's ENTRYPOINT was NOT inspected (no docker call).
|
|
155
|
+
|
|
156
|
+
--- Step 4: merge check (YAML parse with a duplicate-key check + a merge -------
|
|
157
|
+
--- simulation of environment-by-key, volumes-by-target, healthcheck-by-key) ----
|
|
158
|
+
|
|
159
|
+
No duplicate keys. Effective state AFTER, same services as above:
|
|
160
|
+
|
|
161
|
+
service wrapped logs caches VLLM_CACHE_ROOT start_period
|
|
162
|
+
vllm-primary yes yes yes yes 780s
|
|
163
|
+
vllm-rerank yes yes yes yes 780s
|
|
164
|
+
vllm-embed-deep yes yes yes yes 780s
|
|
165
|
+
vllm-minor yes yes yes yes 780s
|
|
166
|
+
vllm-middle yes yes yes yes 780s
|
|
167
|
+
vllm-multimodal-coder yes yes yes yes 780s
|
|
168
|
+
vllm-muse yes yes yes yes 780s
|
|
169
|
+
vllm-worker yes yes yes yes 780s
|
|
170
|
+
gateway yes yes - - 200s
|
|
171
|
+
stt yes yes - - 780s
|
|
172
|
+
chatterbox yes yes - - 480s
|
|
173
|
+
realtime yes yes - - 210s
|
|
174
|
+
comfyui yes yes - - 270s
|
|
175
|
+
bluetts no no - - 120s
|
|
176
|
+
|
|
177
|
+
--- Step 5: lobes doctor --refresh-logwrap [--apply] ------------------------------
|
|
178
|
+
|
|
179
|
+
plan: would copy mg-logwrap.sh -> mg-logwrap.sh.bak
|
|
180
|
+
would write the packaged mg-logwrap.sh
|
|
181
|
+
applied: wrote packaged mg-logwrap.sh
|
|
182
|
+
|
|
183
|
+
--- Step 6: lobes doctor --refresh-plugin [--apply] -------------------------------
|
|
184
|
+
|
|
185
|
+
plan: deployed sha256 22a030552d03..., packaged sha256 36a95d103704...
|
|
186
|
+
would copy qwen3_thinking_tool_parser.py -> qwen3_thinking_tool_parser.py.bak
|
|
187
|
+
would write the packaged qwen3_thinking_tool_parser.py
|
|
188
|
+
applied: wrote packaged qwen3_thinking_tool_parser.py
|
|
189
|
+
|
|
190
|
+
--- Step 7: lobes doctor --fix [--apply] (run AFTER the override) -----------------
|
|
191
|
+
|
|
192
|
+
Files written: cf-tunnel.env.example
|
|
193
|
+
Dirs created: compile-cache/ plus 16 lane dirs: embed-deep, middle, minor,
|
|
194
|
+
multimodal-coder, muse, primary, rerank, worker, each with its
|
|
195
|
+
-flashinfer sibling
|
|
196
|
+
.env keys appended (20, names only; no existing line changed):
|
|
197
|
+
lane safety (3): LOBES_THERMAL_ZONES, LOBES_THERMAL_SHED_C,
|
|
198
|
+
LOBES_THERMAL_RESUME_C
|
|
199
|
+
audio (17): AUDIO_URL, BARGE_IN_MODEL, BARGE_IN_WINDOW_MS,
|
|
200
|
+
CHATTERBOX_PORT, DEFAULT_AEC_MODE, DEFAULT_SYSTEM_PROMPT,
|
|
201
|
+
DEFAULT_TURN_DETECTION, DEFAULT_VOICE, PARAKEET_MODEL,
|
|
202
|
+
PARAKEET_PORT, REALTIME_PORT, TTS_CONCURRENCY, TTS_SPEED,
|
|
203
|
+
TTS_VOICE_CONCURRENCY, VAD_MAX_TURN_MS,
|
|
204
|
+
VAD_PREFIX_PADDING_MS, VAD_THRESHOLD
|
|
205
|
+
Each appended value was compared with the `${KEY:-default}` the copy's
|
|
206
|
+
compose files use for that key:
|
|
207
|
+
- 16 audio keys: equal to the compose default, so no effective change.
|
|
208
|
+
- AUDIO_URL: differs from the base file's empty default, but equals the
|
|
209
|
+
audio overlay's default, which wins later in the chain. No change.
|
|
210
|
+
- the 3 thermal keys: differ from the empty compose default. With the
|
|
211
|
+
hunk-4 passthrough, the recreated gateway would arm thermal shedding.
|
|
212
|
+
The runbook says so in step 7.
|
|
213
|
+
No LOBES_BOOT_*, LOBES_START_*, LOBES_MEM_GATE* or cache key was appended:
|
|
214
|
+
they are not required keys, and the wrapper and compose carry their defaults.
|
|
215
|
+
|
|
216
|
+
The --fix plan run BEFORE step 4 listed only compile-cache/ itself, because
|
|
217
|
+
the per-lane directories come from the binds the compose files declare. Order
|
|
218
|
+
matters: override first, then --fix --apply.
|
|
219
|
+
|
|
220
|
+
--- doctor AFTER (finding ids) ----------------------------------------------------
|
|
221
|
+
|
|
222
|
+
[ok] docker_available, compose_present, env_coherence
|
|
223
|
+
[ok] scaffold_files (all 15 present)
|
|
224
|
+
[ok] profile_staleness (every required key present)
|
|
225
|
+
[warn] gateway_passthrough (unchanged, same 3 keys; out of scope)
|
|
226
|
+
[ok] logwrap_stale (matches the package)
|
|
227
|
+
[ok] compile_cache_unmounted (all 8 vLLM services mount both caches)
|
|
228
|
+
[ok] compile_cache_size (0 bytes)
|
|
229
|
+
[warn] drop_caches_grant_missing (host; step 8 needs the operator)
|
|
230
|
+
[ok] watcher_inactive (not installed; optional)
|
|
231
|
+
[ok] plugin_stale (matches the package)
|
|
232
|
+
[ok] health_reachable
|
|
233
|
+
[FAIL] gateway_version_match (the LIVE gateway; clears only after step 9)
|
|
234
|
+
|
|
235
|
+
lane_state_writable is absent: the copy has no logs/ directory.
|
|
236
|
+
|
|
237
|
+
--- Step 9 (not run): what it would do ---------------------------------------------
|
|
238
|
+
|
|
239
|
+
`lobes up gateway --build` (dry run) on the copy:
|
|
240
|
+
would run: docker compose -f docker-compose.yml -f docker-compose.audio.yml
|
|
241
|
+
-f docker-compose.shape.yml -f docker-compose.override.yml
|
|
242
|
+
up -d --no-deps --build gateway; first: clear the page cache (when granted).
|
|
243
|
+
The audio overlay is in the gateway's chain.
|
|
244
|
+
`lobes doctor --repin-version` (dry run) planned to set MODEL_GEAR_VERSION=0.89.0.
|
|
245
|
+
|
|
246
|
+
--- Rollback rehearsal --------------------------------------------------------------
|
|
247
|
+
|
|
248
|
+
On a second copy of the post-procedure tree: restored the 7 dated backups,
|
|
249
|
+
removed mg-logwrap.sh.bak, qwen3_thinking_tool_parser.py.bak,
|
|
250
|
+
cf-tunnel.env.example, compile-cache/ and the dated backups themselves.
|
|
251
|
+
`diff -r` against the pristine copy: identical.
|
|
252
|
+
|
|
253
|
+
--- Not dry-run here ------------------------------------------------------------------
|
|
254
|
+
|
|
255
|
+
- `docker compose config` on the merged chain (forbidden for this task); the
|
|
256
|
+
merge was checked by parsing and simulation only.
|
|
257
|
+
- The respelled image commands (no `docker image inspect`).
|
|
258
|
+
- Any recreate, the boot hold, the start counter, the memory gate, the cache
|
|
259
|
+
write and the gateway's thermal shed on a live container.
|
|
260
|
+
- The machine-CLI grant and the watcher install (host changes).
|
|
261
|
+
- The claim that a self-restarted (not recreated) container picks up the new
|
|
262
|
+
wrapper through its file bind mount: reasoned, not tested.
|
|
263
|
+
- Thor, Orin and spark2 specifics (other overrides, docker-compose.gpu.yml,
|
|
264
|
+
no repo checkout on the box).
|
|
@@ -0,0 +1,71 @@
|
|
|
1
|
+
ACCEPTANCE — DGX Spark cortex on vLLM 0.31.0 (v0.31.0-ubuntu2404), with the d5 plugin fix
|
|
2
|
+
Issue #310 · plan vllm-0-31-0-fleet task t12 · 2026-10-18 · operator: lobes (Claude)
|
|
3
|
+
Continues docs/evidence/2026-10-17-accept-vllm-031-spark-cortex.txt (partial), whose three findings are closed:
|
|
4
|
+
(1) governor GPU loss -> explicit GPU devices (d2), governor re-attached and verified below;
|
|
5
|
+
(2) strict+thinking regression -> ROOT CAUSE is the lobes plugin, not the engine (d5), fixed and verified below;
|
|
6
|
+
(3) hot acpitz zones -> thermal shed raised to 98/94 C (c55), active on the re-imaged 0.89.1 gateway below.
|
|
7
|
+
Status: ACCEPTED on the official pin. Deviations d3 (split pin) and d4 (eugr exception) are withdrawn (d6).
|
|
8
|
+
|
|
9
|
+
STRICT + THINKING — ROOT CAUSE (d5)
|
|
10
|
+
Request: tools=[finish(summary: string), strict: true], tool_choice auto, temperature 0, max_tokens 2048,
|
|
11
|
+
thinking on (template default). Reproduced on three engines, 3/3 runs each, through cortex-spark:
|
|
12
|
+
v0.30.0-ubuntu2404 and v0.31.0-ubuntu2404 (2026-10-17/18, partial transcript): ~78 calls, finish=length.
|
|
13
|
+
eugr GB10 nightly (vLLM 0.32.0rc1.dev301, ghcr.io/spark-arena/dgx-vllm-eugr-nightly@sha256:cc47adc1...):
|
|
14
|
+
run 1: calls=78 finish=length completion_tokens=2048 first_args={"summary": "hello"}
|
|
15
|
+
run 2: calls=78 finish=length completion_tokens=2048
|
|
16
|
+
run 3: calls=77 finish=length completion_tokens=2048
|
|
17
|
+
Same image, DSpark speculative config removed (isolation): 78 / 78 / 78 calls, finish=length.
|
|
18
|
+
-> DSpark ruled out.
|
|
19
|
+
Offline (CPU, xgrammar matcher, Qwen3.8 tokenizer), the plugin's thinking-prefixed grammar
|
|
20
|
+
(tag "" ... "</think>", then "\n\n", then triggered_tags <tool_call>):
|
|
21
|
+
fed the full text (thinking + </think> + one call): EOS allowed after the call.
|
|
22
|
+
fed only the text AFTER </think> (one call): EOS NOT allowed; another <tool_call> allowed.
|
|
23
|
+
Same on all four combinations of {nightly grammar, new grammar} x {nightly xgrammar, eugr xgrammar}.
|
|
24
|
+
Reading: vLLM >= 0.30 starts the structured-output grammar only after reasoning ends, so the matcher sits
|
|
25
|
+
inside the plugin's thinking tag, accepts each tool call as thinking text, and masks EOS until max_tokens.
|
|
26
|
+
(The 2026-10-18 handoff's "grammar identical across engines" was wrong: the new engines add
|
|
27
|
+
excludes [<think>, </think>] to the thinking block's any_text. It does not change the result; lapse l11.)
|
|
28
|
+
Live test of the fix: the deployed plugin copy hand-patched to pass reasoning=False (backup
|
|
29
|
+
qwen3_thinking_tool_parser.py.bak-*-reasonfalse), eugr image:
|
|
30
|
+
DSpark off: 1 / 1 / 1 calls, finish=tool_calls, 45 tokens each; reasoning kept (72 chars)
|
|
31
|
+
DSpark on: 1 / 1 / 1 calls, finish=tool_calls, 65 tokens each
|
|
32
|
+
enforcement control, summary maxLength=3, prompt demands a 43-char string:
|
|
33
|
+
strict=True -> {"summary": "the"} (grammar enforced)
|
|
34
|
+
strict=False -> {"summary": "the quick brown fox jumps over the lazy dog"} (unconstrained)
|
|
35
|
+
(an enum control did not discriminate: the model obeyed the enum with and without strict)
|
|
36
|
+
|
|
37
|
+
ENGINE COMPARISON (cortex, DSpark n=7, 262144 window, util 0.58; lobes benchmark 1000 in / 1000 out)
|
|
38
|
+
eugr 0.32.0rc1.dev301: decode 17.2 / 17.2 tok/s, prefill 887 tok in 1.12 s (1 run; hottest zone 87.1 C)
|
|
39
|
+
official 0.31.0: decode 15.9 / 15.9 tok/s, prefill 887 tok in 0.83 s (2 runs, identical; 85.2 C)
|
|
40
|
+
spark2 nightly baseline (t11): 17.0 / 16.9 tok/s.
|
|
41
|
+
0.31.0 = ~92% of eugr, ~94% of the nightly baseline. The 2026-10-17 0.31.0 run measured 14.0 / 14.4; that does
|
|
42
|
+
not reproduce today and the difference is not isolated (that run's zones idled near 88 C; today's peaked 85 C).
|
|
43
|
+
Operator decision (d6): official 0.31.0 on the Sparks too; eugr stays a measured, unadopted candidate.
|
|
44
|
+
|
|
45
|
+
ACCEPTANCE ON 0.31.0 (VLLM_NIGHTLY_IMAGE=vllm/vllm-openai@sha256:3fb023cc..., plugin patched per d5)
|
|
46
|
+
boot: `lobes up cortex --apply` 04:2xZ, healthy 04:25:32Z, engine (v0.31.0), KV cache 754,621 tokens.
|
|
47
|
+
strict+thinking replay: 1 / 1 / 1 calls, finish=tool_calls, 65 tokens each.
|
|
48
|
+
strict, thinking off: 1 call, 26 tokens. non-strict + thinking: 1 call, reasoning 204 chars.
|
|
49
|
+
maxLength=3 control: strict -> "the"; non-strict -> the full 43-char string.
|
|
50
|
+
lobes assess --tools: 17*23=391 PASS, train 145 min PASS, reasoning field present, tool_choice:auto PASS.
|
|
51
|
+
lobes assess --strict-tools: strict_thinking PASS, strict_nothink PASS, matrix PASS.
|
|
52
|
+
lobes assess --preserve-thinking: +47 prompt tokens -> preserve_thinking LIVE.
|
|
53
|
+
vision colour controls (solid PNGs, 64 and 224 px, red/blue/green), gateway cortex-spark and lane direct: 12/12.
|
|
54
|
+
|
|
55
|
+
GOVERNOR (d2)
|
|
56
|
+
vllm-primary devices: /dev/nvidia0 /dev/nvidiactl /dev/nvidia-modeset /dev/nvidia-uvm /dev/nvidia-uvm-tools.
|
|
57
|
+
`lobes governor run --container model-gear-vllm-primary --apply --bands "92:12,95:8,98:4" --pause-c 101
|
|
58
|
+
--resume-c 95` (lobes 0.89.1): first tick 04:53:48Z cpus=16 tz=62.4C; container NanoCpus=16000000000 after the
|
|
59
|
+
docker update; a fresh `nvidia-smi` exec inside the lane still reports NVIDIA GB10; /health 200.
|
|
60
|
+
It runs as a session background process, not a durable unit (follow-up).
|
|
61
|
+
|
|
62
|
+
GATEWAY
|
|
63
|
+
`lobes doctor --repin-version --apply`: MODEL_GEAR_VERSION 0.86.0.dev642 -> 0.89.1.
|
|
64
|
+
`lobes up gateway --build --apply`: chain kept docker-compose.audio.yml; healthy; lobes-cli 0.89.1 in-container;
|
|
65
|
+
LOBES_THERMAL_SHED_C=98, LOBES_THERMAL_RESUME_C=94; AUDIO_URL set; /capabilities cortex ready=true.
|
|
66
|
+
First mesh reannounce reported "Connection reset by peer"; afterwards cortex-spark, cortex-spark2 and plain
|
|
67
|
+
cortex all answered 200 through this gateway.
|
|
68
|
+
|
|
69
|
+
END STATE (04:5xZ): Spark cortex on official v0.31.0-ubuntu2404 with DSpark, explicit GPU devices, governor
|
|
70
|
+
attached, hand-patched plugin (reasoning=False; the packaged engine-aware fix lands in R2, t14), gateway 0.89.1
|
|
71
|
+
with the 98/94 C shed. innereye down by design. spark2 untouched (nightly) until t13.
|
|
@@ -124,6 +124,13 @@ restores the earlier behaviour (table at the end of this section). The Thor is
|
|
|
124
124
|
code-only during this delivery, so every Thor line here is
|
|
125
125
|
**DECLARED/UNVALIDATED (#108)**.
|
|
126
126
|
|
|
127
|
+
To bring an existing box (a 0.86 scaffold, often hand-edited) up to these
|
|
128
|
+
protections without re-scaffolding it, follow
|
|
129
|
+
[`runbooks/lane-safety-r1-rollout.md`](runbooks/lane-safety-r1-rollout.md). It
|
|
130
|
+
says which piece goes in `docker-compose.override.yml`, which `lobes doctor`
|
|
131
|
+
lane writes which file, how to prepare now and recreate later, and how to roll
|
|
132
|
+
back.
|
|
133
|
+
|
|
127
134
|
**Boot hold (#308).** After a host reboot, dockerd restarts containers by
|
|
128
135
|
restart policy and ignores compose `depends_on` (assumption c32, unverified on
|
|
129
136
|
DGX OS and JetPack). Before, every lane raced for unified memory at once, which
|
|
@@ -237,7 +237,24 @@ heavier co-resident agents need the headroom.
|
|
|
237
237
|
rebuild (the pin is unchanged) and no served-model change — this
|
|
238
238
|
constrains *around* the template drift, it does not fix the drift itself
|
|
239
239
|
(out of scope here; filing the `reasoning=False` hardcode upstream is a
|
|
240
|
-
tracked follow-up).
|
|
240
|
+
tracked follow-up).
|
|
241
|
+
|
|
242
|
+
**The derivation is engine-dependent (#310 deviation d5, 2026-10-18).**
|
|
243
|
+
It is right only on an engine that applies the grammar from the first
|
|
244
|
+
generated token, which the nightlies did. vLLM 0.30.0 and later start the
|
|
245
|
+
grammar only **after** reasoning ends. A thinking-prefixed grammar then
|
|
246
|
+
sits inside its thinking tag: every tool call is accepted as thinking
|
|
247
|
+
text, EOS stays masked, and a strict request repeats the call until
|
|
248
|
+
`max_tokens` (about 78 calls in 2048 tokens, on 0.30.0, 0.31.0 and
|
|
249
|
+
0.32.0rc1, with and without DSpark). On those engines the plugin passes
|
|
250
|
+
vLLM's own `reasoning` flag through (`False` on every engine measured),
|
|
251
|
+
chosen from `vllm.__version__` at import and logged; an unreadable version
|
|
252
|
+
refuses to boot. A `0.29.x` dev build is classified as pre-0.30. Measured on the DGX Spark:
|
|
253
|
+
one call with reasoning kept, and a `maxLength=3` control still enforced
|
|
254
|
+
under strict (`docs/evidence/2026-10-18-accept-vllm-031-spark-cortex.txt`).
|
|
255
|
+
The 0.30.0 boundary is the measured one, not a proven upstream change
|
|
256
|
+
point: 0.27-0.29 are unmeasured and keep the derivation, and the vLLM
|
|
257
|
+
change behind it is not isolated. A companion, independent gateway knob
|
|
241
258
|
(`GATEWAY_FORCE_STRICT_TOOLS`) that injects `strict: true` for existing
|
|
242
259
|
callers who don't set it themselves is documented in
|
|
243
260
|
[`docs/openai-api.md`](openai-api.md) and
|