lobes-cli 0.91.0__tar.gz → 0.92.0__tar.gz
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- {lobes_cli-0.91.0 → lobes_cli-0.92.0}/CHANGELOG.md +10 -0
- {lobes_cli-0.91.0 → lobes_cli-0.92.0}/CLAUDE.md +15 -2
- {lobes_cli-0.91.0 → lobes_cli-0.92.0}/PKG-INFO +1 -1
- lobes_cli-0.92.0/docs/evidence/2026-10-26-accept-nemotron-bolt-spark.txt +117 -0
- lobes_cli-0.92.0/docs/nemotron-3.5-bolt-74b-a9b-24gb.md +105 -0
- {lobes_cli-0.91.0 → lobes_cli-0.92.0}/docs/nvidia-qwen3.6-35b-a3b-nvfp4.md +8 -0
- {lobes_cli-0.91.0 → lobes_cli-0.92.0}/lobes/catalog.py +80 -3
- {lobes_cli-0.91.0 → lobes_cli-0.92.0}/lobes/cli/_commands/switch.py +23 -0
- {lobes_cli-0.91.0 → lobes_cli-0.92.0}/lobes/profiles/builtin_shapes/thor-worker.toml +7 -0
- {lobes_cli-0.91.0 → lobes_cli-0.92.0}/lobes/runtime/_parser.py +4 -0
- {lobes_cli-0.91.0 → lobes_cli-0.92.0}/pyproject.toml +1 -1
- {lobes_cli-0.91.0 → lobes_cli-0.92.0}/tests/goldens/no-pool-gateway.json +2 -2
- {lobes_cli-0.91.0 → lobes_cli-0.92.0}/tests/goldens/switch-plans.txt +16 -0
- {lobes_cli-0.91.0 → lobes_cli-0.92.0}/tests/test_associate_role.py +3 -1
- {lobes_cli-0.91.0 → lobes_cli-0.92.0}/tests/test_catalog.py +41 -23
- {lobes_cli-0.91.0 → lobes_cli-0.92.0}/tests/test_catalog_tiers.py +3 -1
- {lobes_cli-0.91.0 → lobes_cli-0.92.0}/tests/test_cli_runtime.py +37 -0
- {lobes_cli-0.91.0 → lobes_cli-0.92.0}/tests/test_gateway_proxy.py +3 -1
- {lobes_cli-0.91.0 → lobes_cli-0.92.0}/tests/test_proxy_integration.py +5 -2
- {lobes_cli-0.91.0 → lobes_cli-0.92.0}/tests/test_roles.py +3 -1
- {lobes_cli-0.91.0 → lobes_cli-0.92.0}/uv.lock +12 -12
- {lobes_cli-0.91.0 → lobes_cli-0.92.0}/.agex/data/pr/323/await.json +0 -0
- {lobes_cli-0.91.0 → lobes_cli-0.92.0}/.agex/data/pr/events.jsonl +0 -0
- {lobes_cli-0.91.0 → lobes_cli-0.92.0}/.claude/skills/ask-colleague/SKILL.md +0 -0
- {lobes_cli-0.91.0 → lobes_cli-0.92.0}/.claude/skills/ask-colleague/prompts/explore.md +0 -0
- {lobes_cli-0.91.0 → lobes_cli-0.92.0}/.claude/skills/ask-colleague/prompts/review.md +0 -0
- {lobes_cli-0.91.0 → lobes_cli-0.92.0}/.claude/skills/ask-colleague/prompts/write.md +0 -0
- {lobes_cli-0.91.0 → lobes_cli-0.92.0}/.claude/skills/ask-colleague/scripts/ask-colleague.sh +0 -0
- {lobes_cli-0.91.0 → lobes_cli-0.92.0}/.claude/skills/assign-to-workforce/SKILL.md +0 -0
- {lobes_cli-0.91.0 → lobes_cli-0.92.0}/.claude/skills/assign-to-workforce/scripts/assign-to-workforce.sh +0 -0
- {lobes_cli-0.91.0 → lobes_cli-0.92.0}/.claude/skills/challenge/SKILL.md +0 -0
- {lobes_cli-0.91.0 → lobes_cli-0.92.0}/.claude/skills/cicd/SKILL.md +0 -0
- {lobes_cli-0.91.0 → lobes_cli-0.92.0}/.claude/skills/cicd/scripts/_resolve-nick.sh +0 -0
- {lobes_cli-0.91.0 → lobes_cli-0.92.0}/.claude/skills/cicd/scripts/portability-lint.sh +0 -0
- {lobes_cli-0.91.0 → lobes_cli-0.92.0}/.claude/skills/cicd/scripts/pr-reply.sh +0 -0
- {lobes_cli-0.91.0 → lobes_cli-0.92.0}/.claude/skills/cicd/scripts/pr-status.sh +0 -0
- {lobes_cli-0.91.0 → lobes_cli-0.92.0}/.claude/skills/cicd/scripts/workflow.sh +0 -0
- {lobes_cli-0.91.0 → lobes_cli-0.92.0}/.claude/skills/communicate/SKILL.md +0 -0
- {lobes_cli-0.91.0 → lobes_cli-0.92.0}/.claude/skills/communicate/scripts/fetch-issues.sh +0 -0
- {lobes_cli-0.91.0 → lobes_cli-0.92.0}/.claude/skills/communicate/scripts/mesh-message.sh +0 -0
- {lobes_cli-0.91.0 → lobes_cli-0.92.0}/.claude/skills/communicate/scripts/post-comment.sh +0 -0
- {lobes_cli-0.91.0 → lobes_cli-0.92.0}/.claude/skills/communicate/scripts/post-issue.sh +0 -0
- {lobes_cli-0.91.0 → lobes_cli-0.92.0}/.claude/skills/communicate/scripts/templates/skill-update-brief.md +0 -0
- {lobes_cli-0.91.0 → lobes_cli-0.92.0}/.claude/skills/deviate/SKILL.md +0 -0
- {lobes_cli-0.91.0 → lobes_cli-0.92.0}/.claude/skills/doc-test-alignment/SKILL.md +0 -0
- {lobes_cli-0.91.0 → lobes_cli-0.92.0}/.claude/skills/doc-test-alignment/scripts/check.sh +0 -0
- {lobes_cli-0.91.0 → lobes_cli-0.92.0}/.claude/skills/lobes-deploy/SKILL.md +0 -0
- {lobes_cli-0.91.0 → lobes_cli-0.92.0}/.claude/skills/lobes-deploy/scripts/lobes-compose.sh +0 -0
- {lobes_cli-0.91.0 → lobes_cli-0.92.0}/.claude/skills/model-runner/SKILL.md +0 -0
- {lobes_cli-0.91.0 → lobes_cli-0.92.0}/.claude/skills/model-runner/scripts/model-runner.sh +0 -0
- {lobes_cli-0.91.0 → lobes_cli-0.92.0}/.claude/skills/recall/SKILL.md +0 -0
- {lobes_cli-0.91.0 → lobes_cli-0.92.0}/.claude/skills/recall/scripts/recall.sh +0 -0
- {lobes_cli-0.91.0 → lobes_cli-0.92.0}/.claude/skills/remember/SKILL.md +0 -0
- {lobes_cli-0.91.0 → lobes_cli-0.92.0}/.claude/skills/remember/scripts/remember.sh +0 -0
- {lobes_cli-0.91.0 → lobes_cli-0.92.0}/.claude/skills/run-tests/SKILL.md +0 -0
- {lobes_cli-0.91.0 → lobes_cli-0.92.0}/.claude/skills/run-tests/scripts/test.sh +0 -0
- {lobes_cli-0.91.0 → lobes_cli-0.92.0}/.claude/skills/scope/SKILL.md +0 -0
- {lobes_cli-0.91.0 → lobes_cli-0.92.0}/.claude/skills/sonarclaude/SKILL.md +0 -0
- {lobes_cli-0.91.0 → lobes_cli-0.92.0}/.claude/skills/sonarclaude/scripts/sonar.sh +0 -0
- {lobes_cli-0.91.0 → lobes_cli-0.92.0}/.claude/skills/spec-to-plan/SKILL.md +0 -0
- {lobes_cli-0.91.0 → lobes_cli-0.92.0}/.claude/skills/spec-to-plan/scripts/spec-to-plan.sh +0 -0
- {lobes_cli-0.91.0 → lobes_cli-0.92.0}/.claude/skills/summarize-delivery/SKILL.md +0 -0
- {lobes_cli-0.91.0 → lobes_cli-0.92.0}/.claude/skills/think/SKILL.md +0 -0
- {lobes_cli-0.91.0 → lobes_cli-0.92.0}/.claude/skills/think/scripts/think.sh +0 -0
- {lobes_cli-0.91.0 → lobes_cli-0.92.0}/.claude/skills/validate-delivery/SKILL.md +0 -0
- {lobes_cli-0.91.0 → lobes_cli-0.92.0}/.claude/skills/version-bump/SKILL.md +0 -0
- {lobes_cli-0.91.0 → lobes_cli-0.92.0}/.claude/skills/version-bump/scripts/bump.py +0 -0
- {lobes_cli-0.91.0 → lobes_cli-0.92.0}/.claude/skills.local.yaml.example +0 -0
- {lobes_cli-0.91.0 → lobes_cli-0.92.0}/.devague/current +0 -0
- {lobes_cli-0.91.0 → lobes_cli-0.92.0}/.devague/current_plan +0 -0
- {lobes_cli-0.91.0 → lobes_cli-0.92.0}/.devague/deliveries/capacity-relative-pool-routing.json +0 -0
- {lobes_cli-0.91.0 → lobes_cli-0.92.0}/.devague/deliveries/cortex-replica-pool-199.json +0 -0
- {lobes_cli-0.91.0 → lobes_cli-0.92.0}/.devague/deliveries/deployment-lock-per-box.json +0 -0
- {lobes_cli-0.91.0 → lobes_cli-0.92.0}/.devague/deliveries/dspark-speculation-on-the-spark-cortex.json +0 -0
- {lobes_cli-0.91.0 → lobes_cli-0.92.0}/.devague/deliveries/every-lobe-in-the-mesh-can-see-the-spark-reaches-t.json +0 -0
- {lobes_cli-0.91.0 → lobes_cli-0.92.0}/.devague/deliveries/flash-next-worker-on-thor.json +0 -0
- {lobes_cli-0.91.0 → lobes_cli-0.92.0}/.devague/deliveries/hand-lobe-lfm2-5-1-2b.json +0 -0
- {lobes_cli-0.91.0 → lobes_cli-0.92.0}/.devague/deliveries/hebrew-realtime.json +0 -0
- {lobes_cli-0.91.0 → lobes_cli-0.92.0}/.devague/deliveries/innereye-lobes-hosts-comfyui.json +0 -0
- {lobes_cli-0.91.0 → lobes_cli-0.92.0}/.devague/deliveries/lane-safety-and-quality-304-307-308-309.json +0 -0
- {lobes_cli-0.91.0 → lobes_cli-0.92.0}/.devague/deliveries/lightning-on-orin.json +0 -0
- {lobes_cli-0.91.0 → lobes_cli-0.92.0}/.devague/deliveries/lobes-capabilities-tells-you-where-a-lobe-is-serve.json +0 -0
- {lobes_cli-0.91.0 → lobes_cli-0.92.0}/.devague/deliveries/mesh-boot-window-and-capabilities-advert.json +0 -0
- {lobes_cli-0.91.0 → lobes_cli-0.92.0}/.devague/deliveries/mesh-brain-join.json +0 -0
- {lobes_cli-0.91.0 → lobes_cli-0.92.0}/.devague/deliveries/mesh-pool-load-sharing.json +0 -0
- {lobes_cli-0.91.0 → lobes_cli-0.92.0}/.devague/deliveries/nemotron-lightning-worker.json +0 -0
- {lobes_cli-0.91.0 → lobes_cli-0.92.0}/.devague/deliveries/orin-associate-at-1m.json +0 -0
- {lobes_cli-0.91.0 → lobes_cli-0.92.0}/.devague/deliveries/orin-decision-models.json +0 -0
- {lobes_cli-0.91.0 → lobes_cli-0.92.0}/.devague/deliveries/orin-embedding-specialist.json +0 -0
- {lobes_cli-0.91.0 → lobes_cli-0.92.0}/.devague/deliveries/qwen3-8-gguf-llamacpp.json +0 -0
- {lobes_cli-0.91.0 → lobes_cli-0.92.0}/.devague/deliveries/realtime-voice-to-voice-astro-test-site-151.json +0 -0
- {lobes_cli-0.91.0 → lobes_cli-0.92.0}/.devague/deliveries/reranker-calibration-227.json +0 -0
- {lobes_cli-0.91.0 → lobes_cli-0.92.0}/.devague/deliveries/thor-cortex-speculation.json +0 -0
- {lobes_cli-0.91.0 → lobes_cli-0.92.0}/.devague/deliveries/thor-worker-arm-qwen3-6-35b-a3b-recipes.json +0 -0
- {lobes_cli-0.91.0 → lobes_cli-0.92.0}/.devague/deliveries/unsloth-qat-senses-first-class-orin-variation.json +0 -0
- {lobes_cli-0.91.0 → lobes_cli-0.92.0}/.devague/deliveries/vllm-0-31-0-fleet.json +0 -0
- {lobes_cli-0.91.0 → lobes_cli-0.92.0}/.devague/frames/capacity-relative-pool-routing.json +0 -0
- {lobes_cli-0.91.0 → lobes_cli-0.92.0}/.devague/frames/chatterbox-on-thor-sm-110.json +0 -0
- {lobes_cli-0.91.0 → lobes_cli-0.92.0}/.devague/frames/compose-chain-unification-init-repair-doctor-stale.json +0 -0
- {lobes_cli-0.91.0 → lobes_cli-0.92.0}/.devague/frames/cortex-replica-pool-199.json +0 -0
- {lobes_cli-0.91.0 → lobes_cli-0.92.0}/.devague/frames/deployment-lock-per-box.json +0 -0
- {lobes_cli-0.91.0 → lobes_cli-0.92.0}/.devague/frames/dspark-speculation-on-the-spark-cortex.json +0 -0
- {lobes_cli-0.91.0 → lobes_cli-0.92.0}/.devague/frames/every-lobe-in-the-mesh-can-see-the-spark-reaches-t.json +0 -0
- {lobes_cli-0.91.0 → lobes_cli-0.92.0}/.devague/frames/flash-next-on-vllm.json +0 -0
- {lobes_cli-0.91.0 → lobes_cli-0.92.0}/.devague/frames/flash-next-worker-on-thor.json +0 -0
- {lobes_cli-0.91.0 → lobes_cli-0.92.0}/.devague/frames/hand-lobe-lfm2-5-1-2b.json +0 -0
- {lobes_cli-0.91.0 → lobes_cli-0.92.0}/.devague/frames/hebrew-realtime.json +0 -0
- {lobes_cli-0.91.0 → lobes_cli-0.92.0}/.devague/frames/innereye-lobes-hosts-comfyui.json +0 -0
- {lobes_cli-0.91.0 → lobes_cli-0.92.0}/.devague/frames/lane-safety-and-quality-304-307-308-309.json +0 -0
- {lobes_cli-0.91.0 → lobes_cli-0.92.0}/.devague/frames/lightning-on-orin.json +0 -0
- {lobes_cli-0.91.0 → lobes_cli-0.92.0}/.devague/frames/lightning-on-thor.json +0 -0
- {lobes_cli-0.91.0 → lobes_cli-0.92.0}/.devague/frames/lobes-adds-a-third-middle-model-tier-and-pressure.json +0 -0
- {lobes_cli-0.91.0 → lobes_cli-0.92.0}/.devague/frames/lobes-capabilities-tells-you-where-a-lobe-is-serve.json +0 -0
- {lobes_cli-0.91.0 → lobes_cli-0.92.0}/.devague/frames/lobes-exposes-the-full-colleague-runtime-stack-as.json +0 -0
- {lobes_cli-0.91.0 → lobes_cli-0.92.0}/.devague/frames/lobes-fits-the-machine-it-lands-on-one-command-det.json +0 -0
- {lobes_cli-0.91.0 → lobes_cli-0.92.0}/.devague/frames/lobes-gateway-relays-sse-streams-frame-by-frame-th.json +0 -0
- {lobes_cli-0.91.0 → lobes_cli-0.92.0}/.devague/frames/lobes-never-advertises-a-capability-it-cannot-serv.json +0 -0
- {lobes_cli-0.91.0 → lobes_cli-0.92.0}/.devague/frames/lobes-now-defaults-to-a-spark-duo-the-qwen3-6-27b.json +0 -0
- {lobes_cli-0.91.0 → lobes_cli-0.92.0}/.devague/frames/lobes-preserves-qwen-thinking-traces-across-multi.json +0 -0
- {lobes_cli-0.91.0 → lobes_cli-0.92.0}/.devague/frames/lobes-serves-strict-grammar-constrained-tool-calls.json +0 -0
- {lobes_cli-0.91.0 → lobes_cli-0.92.0}/.devague/frames/lobes-serves-the-brain-shape-you-choose-machine-as.json +0 -0
- {lobes_cli-0.91.0 → lobes_cli-0.92.0}/.devague/frames/lobes-serves-the-mesh-brain-end-state-one-lobe-per.json +0 -0
- {lobes_cli-0.91.0 → lobes_cli-0.92.0}/.devague/frames/lobes-ships-a-custom-vllm-image-from-nvcr-io-nvidi.json +0 -0
- {lobes_cli-0.91.0 → lobes_cli-0.92.0}/.devague/frames/lobes-ships-a-minor-lobe-a-cheap-warm-co-resident.json +0 -0
- {lobes_cli-0.91.0 → lobes_cli-0.92.0}/.devague/frames/lobes-ships-a-per-lobe-benchmark-suite-speed-paral.json +0 -0
- {lobes_cli-0.91.0 → lobes_cli-0.92.0}/.devague/frames/lobes-tells-clients-the-truth-about-a-fleet-a-cons.json +0 -0
- {lobes_cli-0.91.0 → lobes_cli-0.92.0}/.devague/frames/lobes-unifies-its-generate-lane-on-one-vllm-nightl.json +0 -0
- {lobes_cli-0.91.0 → lobes_cli-0.92.0}/.devague/frames/mesh-boot-window-and-capabilities-advert.json +0 -0
- {lobes_cli-0.91.0 → lobes_cli-0.92.0}/.devague/frames/mesh-brain-join.json +0 -0
- {lobes_cli-0.91.0 → lobes_cli-0.92.0}/.devague/frames/mesh-pool-load-sharing.json +0 -0
- {lobes_cli-0.91.0 → lobes_cli-0.92.0}/.devague/frames/model-gear-now-serves-an-embedding-gear-qwen3-embe-2.json +0 -0
- {lobes_cli-0.91.0 → lobes_cli-0.92.0}/.devague/frames/model-gear-now-serves-an-embedding-gear-qwen3-embe.json +0 -0
- {lobes_cli-0.91.0 → lobes_cli-0.92.0}/.devague/frames/model-gear-owns-the-audio-i-o-surface-end-to-end-m.json +0 -0
- {lobes_cli-0.91.0 → lobes_cli-0.92.0}/.devague/frames/nemotron-lightning-worker.json +0 -0
- {lobes_cli-0.91.0 → lobes_cli-0.92.0}/.devague/frames/orin-associate-at-1m.json +0 -0
- {lobes_cli-0.91.0 → lobes_cli-0.92.0}/.devague/frames/orin-decision-models.json +0 -0
- {lobes_cli-0.91.0 → lobes_cli-0.92.0}/.devague/frames/orin-embedding-specialist.json +0 -0
- {lobes_cli-0.91.0 → lobes_cli-0.92.0}/.devague/frames/peer-only-replica-pools.json +0 -0
- {lobes_cli-0.91.0 → lobes_cli-0.92.0}/.devague/frames/proxy-lobes-pairwise-auth.json +0 -0
- {lobes_cli-0.91.0 → lobes_cli-0.92.0}/.devague/frames/public-lobes-and-hebrew-site.json +0 -0
- {lobes_cli-0.91.0 → lobes_cli-0.92.0}/.devague/frames/quick-wins-finish-the-rename.json +0 -0
- {lobes_cli-0.91.0 → lobes_cli-0.92.0}/.devague/frames/qwen3-8-27b-gguf-on-the-spark.json +0 -0
- {lobes_cli-0.91.0 → lobes_cli-0.92.0}/.devague/frames/qwen3-8-cortex-upgrade.json +0 -0
- {lobes_cli-0.91.0 → lobes_cli-0.92.0}/.devague/frames/qwen3-8-flash-next-gguf-candidate.json +0 -0
- {lobes_cli-0.91.0 → lobes_cli-0.92.0}/.devague/frames/qwen3-8-flash-next-on-thor.json +0 -0
- {lobes_cli-0.91.0 → lobes_cli-0.92.0}/.devague/frames/qwen3-8-gguf-llamacpp.json +0 -0
- {lobes_cli-0.91.0 → lobes_cli-0.92.0}/.devague/frames/realtime-voice-to-voice-astro-test-site-151.json +0 -0
- {lobes_cli-0.91.0 → lobes_cli-0.92.0}/.devague/frames/realtime-ws-server-vad-149.json +0 -0
- {lobes_cli-0.91.0 → lobes_cli-0.92.0}/.devague/frames/reranker-calibration-227.json +0 -0
- {lobes_cli-0.91.0 → lobes_cli-0.92.0}/.devague/frames/stt-readiness-truth-155.json +0 -0
- {lobes_cli-0.91.0 → lobes_cli-0.92.0}/.devague/frames/targeted-ops-and-honest-streams.json +0 -0
- {lobes_cli-0.91.0 → lobes_cli-0.92.0}/.devague/frames/the-gemma-4-12b-gear-gets-speculative-decoding-lob.json +0 -0
- {lobes_cli-0.91.0 → lobes_cli-0.92.0}/.devague/frames/thor-cortex-speculation.json +0 -0
- {lobes_cli-0.91.0 → lobes_cli-0.92.0}/.devague/frames/thor-worker-arm-qwen3-6-35b-a3b-recipes.json +0 -0
- {lobes_cli-0.91.0 → lobes_cli-0.92.0}/.devague/frames/thor-worker-lobe-qwen3-6-35b-a3b.json +0 -0
- {lobes_cli-0.91.0 → lobes_cli-0.92.0}/.devague/frames/under-pressure-lobes-tells-you-the-cortex-model-is.json +0 -0
- {lobes_cli-0.91.0 → lobes_cli-0.92.0}/.devague/frames/unsloth-qat-senses-first-class-orin-variation.json +0 -0
- {lobes_cli-0.91.0 → lobes_cli-0.92.0}/.devague/frames/vllm-0-31-0-fleet.json +0 -0
- {lobes_cli-0.91.0 → lobes_cli-0.92.0}/.devague/plans/capacity-relative-pool-routing.json +0 -0
- {lobes_cli-0.91.0 → lobes_cli-0.92.0}/.devague/plans/compose-chain-unification-init-repair-doctor-stale.json +0 -0
- {lobes_cli-0.91.0 → lobes_cli-0.92.0}/.devague/plans/cortex-replica-pool-199.json +0 -0
- {lobes_cli-0.91.0 → lobes_cli-0.92.0}/.devague/plans/deployment-lock-per-box.json +0 -0
- {lobes_cli-0.91.0 → lobes_cli-0.92.0}/.devague/plans/dspark-speculation-on-the-spark-cortex.json +0 -0
- {lobes_cli-0.91.0 → lobes_cli-0.92.0}/.devague/plans/every-lobe-in-the-mesh-can-see-the-spark-reaches-t.json +0 -0
- {lobes_cli-0.91.0 → lobes_cli-0.92.0}/.devague/plans/flash-next-worker-on-thor.json +0 -0
- {lobes_cli-0.91.0 → lobes_cli-0.92.0}/.devague/plans/hand-lobe-lfm2-5-1-2b.json +0 -0
- {lobes_cli-0.91.0 → lobes_cli-0.92.0}/.devague/plans/hebrew-realtime.json +0 -0
- {lobes_cli-0.91.0 → lobes_cli-0.92.0}/.devague/plans/innereye-lobes-hosts-comfyui.json +0 -0
- {lobes_cli-0.91.0 → lobes_cli-0.92.0}/.devague/plans/lane-safety-and-quality-304-307-308-309.json +0 -0
- {lobes_cli-0.91.0 → lobes_cli-0.92.0}/.devague/plans/lightning-on-orin.json +0 -0
- {lobes_cli-0.91.0 → lobes_cli-0.92.0}/.devague/plans/lobes-adds-a-third-middle-model-tier-and-pressure.json +0 -0
- {lobes_cli-0.91.0 → lobes_cli-0.92.0}/.devague/plans/lobes-capabilities-tells-you-where-a-lobe-is-serve.json +0 -0
- {lobes_cli-0.91.0 → lobes_cli-0.92.0}/.devague/plans/lobes-exposes-the-full-colleague-runtime-stack-as.json +0 -0
- {lobes_cli-0.91.0 → lobes_cli-0.92.0}/.devague/plans/lobes-fits-the-machine-it-lands-on-one-command-det.json +0 -0
- {lobes_cli-0.91.0 → lobes_cli-0.92.0}/.devague/plans/lobes-gateway-relays-sse-streams-frame-by-frame-th.json +0 -0
- {lobes_cli-0.91.0 → lobes_cli-0.92.0}/.devague/plans/lobes-never-advertises-a-capability-it-cannot-serv.json +0 -0
- {lobes_cli-0.91.0 → lobes_cli-0.92.0}/.devague/plans/lobes-now-defaults-to-a-spark-duo-the-qwen3-6-27b.json +0 -0
- {lobes_cli-0.91.0 → lobes_cli-0.92.0}/.devague/plans/lobes-preserves-qwen-thinking-traces-across-multi.json +0 -0
- {lobes_cli-0.91.0 → lobes_cli-0.92.0}/.devague/plans/lobes-serves-strict-grammar-constrained-tool-calls.json +0 -0
- {lobes_cli-0.91.0 → lobes_cli-0.92.0}/.devague/plans/lobes-serves-the-brain-shape-you-choose-machine-as.json +0 -0
- {lobes_cli-0.91.0 → lobes_cli-0.92.0}/.devague/plans/lobes-serves-the-mesh-brain-end-state-one-lobe-per.json +0 -0
- {lobes_cli-0.91.0 → lobes_cli-0.92.0}/.devague/plans/lobes-ships-a-custom-vllm-image-from-nvcr-io-nvidi.json +0 -0
- {lobes_cli-0.91.0 → lobes_cli-0.92.0}/.devague/plans/lobes-ships-a-minor-lobe-a-cheap-warm-co-resident.json +0 -0
- {lobes_cli-0.91.0 → lobes_cli-0.92.0}/.devague/plans/lobes-ships-a-per-lobe-benchmark-suite-speed-paral.json +0 -0
- {lobes_cli-0.91.0 → lobes_cli-0.92.0}/.devague/plans/lobes-tells-clients-the-truth-about-a-fleet-a-cons.json +0 -0
- {lobes_cli-0.91.0 → lobes_cli-0.92.0}/.devague/plans/lobes-unifies-its-generate-lane-on-one-vllm-nightl.json +0 -0
- {lobes_cli-0.91.0 → lobes_cli-0.92.0}/.devague/plans/mesh-boot-window-and-capabilities-advert.json +0 -0
- {lobes_cli-0.91.0 → lobes_cli-0.92.0}/.devague/plans/mesh-brain-join.json +0 -0
- {lobes_cli-0.91.0 → lobes_cli-0.92.0}/.devague/plans/mesh-pool-load-sharing.json +0 -0
- {lobes_cli-0.91.0 → lobes_cli-0.92.0}/.devague/plans/model-gear-now-serves-an-embedding-gear-qwen3-embe-2.json +0 -0
- {lobes_cli-0.91.0 → lobes_cli-0.92.0}/.devague/plans/model-gear-owns-the-audio-i-o-surface-end-to-end-m.json +0 -0
- {lobes_cli-0.91.0 → lobes_cli-0.92.0}/.devague/plans/nemotron-lightning-worker.json +0 -0
- {lobes_cli-0.91.0 → lobes_cli-0.92.0}/.devague/plans/orin-associate-at-1m.json +0 -0
- {lobes_cli-0.91.0 → lobes_cli-0.92.0}/.devague/plans/orin-decision-models.json +0 -0
- {lobes_cli-0.91.0 → lobes_cli-0.92.0}/.devague/plans/orin-embedding-specialist.json +0 -0
- {lobes_cli-0.91.0 → lobes_cli-0.92.0}/.devague/plans/peer-only-replica-pools.json +0 -0
- {lobes_cli-0.91.0 → lobes_cli-0.92.0}/.devague/plans/proxy-lobes-pairwise-auth.json +0 -0
- {lobes_cli-0.91.0 → lobes_cli-0.92.0}/.devague/plans/quick-wins-finish-the-rename.json +0 -0
- {lobes_cli-0.91.0 → lobes_cli-0.92.0}/.devague/plans/qwen3-8-cortex-upgrade.json +0 -0
- {lobes_cli-0.91.0 → lobes_cli-0.92.0}/.devague/plans/qwen3-8-flash-next-gguf-candidate.json +0 -0
- {lobes_cli-0.91.0 → lobes_cli-0.92.0}/.devague/plans/qwen3-8-gguf-llamacpp.json +0 -0
- {lobes_cli-0.91.0 → lobes_cli-0.92.0}/.devague/plans/realtime-voice-to-voice-astro-test-site-151.json +0 -0
- {lobes_cli-0.91.0 → lobes_cli-0.92.0}/.devague/plans/realtime-ws-server-vad-149.json +0 -0
- {lobes_cli-0.91.0 → lobes_cli-0.92.0}/.devague/plans/reranker-calibration-227.json +0 -0
- {lobes_cli-0.91.0 → lobes_cli-0.92.0}/.devague/plans/stt-readiness-truth-155.json +0 -0
- {lobes_cli-0.91.0 → lobes_cli-0.92.0}/.devague/plans/the-gemma-4-12b-gear-gets-speculative-decoding-lob.json +0 -0
- {lobes_cli-0.91.0 → lobes_cli-0.92.0}/.devague/plans/thor-cortex-speculation.json +0 -0
- {lobes_cli-0.91.0 → lobes_cli-0.92.0}/.devague/plans/thor-worker-arm-qwen3-6-35b-a3b-recipes.json +0 -0
- {lobes_cli-0.91.0 → lobes_cli-0.92.0}/.devague/plans/thor-worker-lobe-qwen3-6-35b-a3b.json +0 -0
- {lobes_cli-0.91.0 → lobes_cli-0.92.0}/.devague/plans/under-pressure-lobes-tells-you-the-cortex-model-is.json +0 -0
- {lobes_cli-0.91.0 → lobes_cli-0.92.0}/.devague/plans/unsloth-qat-senses-first-class-orin-variation.json +0 -0
- {lobes_cli-0.91.0 → lobes_cli-0.92.0}/.devague/plans/vllm-0-31-0-fleet.json +0 -0
- {lobes_cli-0.91.0 → lobes_cli-0.92.0}/.eidetic/memory/colleague__public.jsonl +0 -0
- {lobes_cli-0.91.0 → lobes_cli-0.92.0}/.eidetic/memory/default__public.jsonl +0 -0
- {lobes_cli-0.91.0 → lobes_cli-0.92.0}/.eidetic/memory/lobes__public.jsonl +0 -0
- {lobes_cli-0.91.0 → lobes_cli-0.92.0}/.flake8 +0 -0
- {lobes_cli-0.91.0 → lobes_cli-0.92.0}/.github/workflows/publish.yml +0 -0
- {lobes_cli-0.91.0 → lobes_cli-0.92.0}/.github/workflows/tests.yml +0 -0
- {lobes_cli-0.91.0 → lobes_cli-0.92.0}/.gitignore +0 -0
- {lobes_cli-0.91.0 → lobes_cli-0.92.0}/.markdownlint-cli2.yaml +0 -0
- {lobes_cli-0.91.0 → lobes_cli-0.92.0}/AGENTS.md +0 -0
- {lobes_cli-0.91.0 → lobes_cli-0.92.0}/LICENSE +0 -0
- {lobes_cli-0.91.0 → lobes_cli-0.92.0}/QWEN.md +0 -0
- {lobes_cli-0.91.0 → lobes_cli-0.92.0}/README.md +0 -0
- {lobes_cli-0.91.0 → lobes_cli-0.92.0}/culture.yaml +0 -0
- {lobes_cli-0.91.0 → lobes_cli-0.92.0}/deployments/README.md +0 -0
- {lobes_cli-0.91.0 → lobes_cli-0.92.0}/deployments/VARIATION.template.md +0 -0
- {lobes_cli-0.91.0 → lobes_cli-0.92.0}/deployments/jetson-agx-orin__orin-embed/Dockerfile.decider-vllm +0 -0
- {lobes_cli-0.91.0 → lobes_cli-0.92.0}/deployments/jetson-agx-orin__orin-embed/Dockerfile.embed-st +0 -0
- {lobes_cli-0.91.0 → lobes_cli-0.92.0}/deployments/jetson-agx-orin__orin-embed/Dockerfile.gateway +0 -0
- {lobes_cli-0.91.0 → lobes_cli-0.92.0}/deployments/jetson-agx-orin__orin-embed/VARIATION.md +0 -0
- {lobes_cli-0.91.0 → lobes_cli-0.92.0}/deployments/jetson-agx-orin__orin-embed/deployment.lock.toml +0 -0
- {lobes_cli-0.91.0 → lobes_cli-0.92.0}/deployments/jetson-agx-orin__orin-embed/docker-compose.embed.yml +0 -0
- {lobes_cli-0.91.0 → lobes_cli-0.92.0}/deployments/jetson-agx-orin__orin-embed/docker-compose.gpu.yml +0 -0
- {lobes_cli-0.91.0 → lobes_cli-0.92.0}/deployments/jetson-agx-orin__orin-embed/docker-compose.override.yml +0 -0
- {lobes_cli-0.91.0 → lobes_cli-0.92.0}/deployments/jetson-agx-orin__orin-embed/docker-compose.shape.yml +0 -0
- {lobes_cli-0.91.0 → lobes_cli-0.92.0}/deployments/jetson-agx-orin__orin-embed/docker-compose.yml +0 -0
- {lobes_cli-0.91.0 → lobes_cli-0.92.0}/deployments/jetson-agx-orin__orin-embed/mg-logwrap.sh +0 -0
- {lobes_cli-0.91.0 → lobes_cli-0.92.0}/deployments/jetson-agx-orin__orin-embed/qwen3_reranker.jinja +0 -0
- {lobes_cli-0.91.0 → lobes_cli-0.92.0}/deployments/jetson-agx-orin__orin-embed/qwen3_thinking_tool_parser.py +0 -0
- {lobes_cli-0.91.0 → lobes_cli-0.92.0}/deployments/jetson-agx-thor__thor-worker/Dockerfile.gateway +0 -0
- {lobes_cli-0.91.0 → lobes_cli-0.92.0}/deployments/jetson-agx-thor__thor-worker/Dockerfile.vllm-gemma4 +0 -0
- {lobes_cli-0.91.0 → lobes_cli-0.92.0}/deployments/jetson-agx-thor__thor-worker/VARIATION.md +0 -0
- {lobes_cli-0.91.0 → lobes_cli-0.92.0}/deployments/jetson-agx-thor__thor-worker/deployment.lock.toml +0 -0
- {lobes_cli-0.91.0 → lobes_cli-0.92.0}/deployments/jetson-agx-thor__thor-worker/docker-compose.override.yml +0 -0
- {lobes_cli-0.91.0 → lobes_cli-0.92.0}/deployments/jetson-agx-thor__thor-worker/docker-compose.shape.yml +0 -0
- {lobes_cli-0.91.0 → lobes_cli-0.92.0}/deployments/jetson-agx-thor__thor-worker/docker-compose.yml +0 -0
- {lobes_cli-0.91.0 → lobes_cli-0.92.0}/deployments/jetson-agx-thor__thor-worker/mg-logwrap.sh +0 -0
- {lobes_cli-0.91.0 → lobes_cli-0.92.0}/deployments/jetson-agx-thor__thor-worker/qwen3_reranker.jinja +0 -0
- {lobes_cli-0.91.0 → lobes_cli-0.92.0}/deployments/jetson-agx-thor__thor-worker/qwen3_thinking_tool_parser.py +0 -0
- {lobes_cli-0.91.0 → lobes_cli-0.92.0}/docs/chatterbox-tts.md +0 -0
- {lobes_cli-0.91.0 → lobes_cli-0.92.0}/docs/colleague-stack.md +0 -0
- {lobes_cli-0.91.0 → lobes_cli-0.92.0}/docs/comfyui-innereye.md +0 -0
- {lobes_cli-0.91.0 → lobes_cli-0.92.0}/docs/contracts/README.md +0 -0
- {lobes_cli-0.91.0 → lobes_cli-0.92.0}/docs/contracts/lane-safety-runtime.md +0 -0
- {lobes_cli-0.91.0 → lobes_cli-0.92.0}/docs/contracts/machine-cli-window.md +0 -0
- {lobes_cli-0.91.0 → lobes_cli-0.92.0}/docs/contracts/realtime-tool-calling.md +0 -0
- {lobes_cli-0.91.0 → lobes_cli-0.92.0}/docs/decider.md +0 -0
- {lobes_cli-0.91.0 → lobes_cli-0.92.0}/docs/deliveries/2026-07-16-proxy-lobes-pairwise-auth.md +0 -0
- {lobes_cli-0.91.0 → lobes_cli-0.92.0}/docs/deliveries/2026-07-21-realtime-voice-to-voice-astro-test-site-151.md +0 -0
- {lobes_cli-0.91.0 → lobes_cli-0.92.0}/docs/deliveries/2026-08-04-unsloth-qat-senses-first-class-orin-variation.md +0 -0
- {lobes_cli-0.91.0 → lobes_cli-0.92.0}/docs/deliveries/2026-08-10-hand-lobe-lfm2-5-1-2b.md +0 -0
- {lobes_cli-0.91.0 → lobes_cli-0.92.0}/docs/deliveries/2026-08-20-nemotron-lightning-worker.md +0 -0
- {lobes_cli-0.91.0 → lobes_cli-0.92.0}/docs/deliveries/2026-08-22-qwen3-8-gguf-llamacpp.md +0 -0
- {lobes_cli-0.91.0 → lobes_cli-0.92.0}/docs/deliveries/2026-08-23-qwen3-8-gguf-llamacpp-deviation-ledger.md +0 -0
- {lobes_cli-0.91.0 → lobes_cli-0.92.0}/docs/deliveries/2026-08-24-dspark-speculation-on-the-spark-cortex.md +0 -0
- {lobes_cli-0.91.0 → lobes_cli-0.92.0}/docs/deliveries/2026-08-25-cortex-replica-pool-199.md +0 -0
- {lobes_cli-0.91.0 → lobes_cli-0.92.0}/docs/deliveries/2026-08-25-lightning-on-orin.md +0 -0
- {lobes_cli-0.91.0 → lobes_cli-0.92.0}/docs/deliveries/2026-08-25-thor-cortex-speculation.md +0 -0
- {lobes_cli-0.91.0 → lobes_cli-0.92.0}/docs/deliveries/2026-08-29-deployment-lock-per-box.md +0 -0
- {lobes_cli-0.91.0 → lobes_cli-0.92.0}/docs/deliveries/2026-08-30-peer-only-replica-pools.md +0 -0
- {lobes_cli-0.91.0 → lobes_cli-0.92.0}/docs/deliveries/2026-08-31-quick-wins-finish-the-rename.md +0 -0
- {lobes_cli-0.91.0 → lobes_cli-0.92.0}/docs/deliveries/2026-09-10-thor-worker-arm-qwen3-6-35b-a3b-recipes.md +0 -0
- {lobes_cli-0.91.0 → lobes_cli-0.92.0}/docs/deliveries/2026-09-11-mesh-brain-join.md +0 -0
- {lobes_cli-0.91.0 → lobes_cli-0.92.0}/docs/deliveries/2026-09-12-mesh-boot-window-and-capabilities-advert.md +0 -0
- {lobes_cli-0.91.0 → lobes_cli-0.92.0}/docs/deliveries/2026-09-13-orin-associate-at-1m.md +0 -0
- {lobes_cli-0.91.0 → lobes_cli-0.92.0}/docs/deliveries/2026-09-16-innereye-lobes-hosts-comfyui.md +0 -0
- {lobes_cli-0.91.0 → lobes_cli-0.92.0}/docs/deliveries/2026-09-18-hebrew-realtime.md +0 -0
- {lobes_cli-0.91.0 → lobes_cli-0.92.0}/docs/deliveries/2026-10-06-mesh-pool-load-sharing.md +0 -0
- {lobes_cli-0.91.0 → lobes_cli-0.92.0}/docs/deliveries/2026-10-07-orin-embedding-specialist.md +0 -0
- {lobes_cli-0.91.0 → lobes_cli-0.92.0}/docs/deliveries/2026-10-14-orin-decision-models.md +0 -0
- {lobes_cli-0.91.0 → lobes_cli-0.92.0}/docs/deliveries/2026-10-17-lane-safety-and-quality-304-307-308-309.md +0 -0
- {lobes_cli-0.91.0 → lobes_cli-0.92.0}/docs/deliveries/2026-10-17-vllm-0-31-0-fleet.md +0 -0
- {lobes_cli-0.91.0 → lobes_cli-0.92.0}/docs/deployment-lock.md +0 -0
- {lobes_cli-0.91.0 → lobes_cli-0.92.0}/docs/deployment-shapes.md +0 -0
- {lobes_cli-0.91.0 → lobes_cli-0.92.0}/docs/dspark-speculation.md +0 -0
- {lobes_cli-0.91.0 → lobes_cli-0.92.0}/docs/durable-logs.md +0 -0
- {lobes_cli-0.91.0 → lobes_cli-0.92.0}/docs/embeddinggemma-2.md +0 -0
- {lobes_cli-0.91.0 → lobes_cli-0.92.0}/docs/evidence/2026-07-14-accept-referral-thor.txt +0 -0
- {lobes_cli-0.91.0 → lobes_cli-0.92.0}/docs/evidence/2026-07-14-accept-spark-lobe-gb10.txt +0 -0
- {lobes_cli-0.91.0 → lobes_cli-0.92.0}/docs/evidence/2026-07-14-accept-thor-lobe-live-referral-thor.txt +0 -0
- {lobes_cli-0.91.0 → lobes_cli-0.92.0}/docs/evidence/2026-07-14-accept-thor-lobe-thor.txt +0 -0
- {lobes_cli-0.91.0 → lobes_cli-0.92.0}/docs/evidence/2026-07-14-strict-tools-spark-lobe-spark.txt +0 -0
- {lobes_cli-0.91.0 → lobes_cli-0.92.0}/docs/evidence/2026-07-16-proxy-lobes-live-spark-thor.txt +0 -0
- {lobes_cli-0.91.0 → lobes_cli-0.92.0}/docs/evidence/2026-07-17-accept-muse-tool-calling-thor.txt +0 -0
- {lobes_cli-0.91.0 → lobes_cli-0.92.0}/docs/evidence/2026-07-20-accept-embed-deep-gb10.txt +0 -0
- {lobes_cli-0.91.0 → lobes_cli-0.92.0}/docs/evidence/2026-07-21-accept-realtime-spark.txt +0 -0
- {lobes_cli-0.91.0 → lobes_cli-0.92.0}/docs/evidence/2026-07-21-accept-voice-loop-spark.txt +0 -0
- {lobes_cli-0.91.0 → lobes_cli-0.92.0}/docs/evidence/2026-07-22-accept-realtime-voice-to-voice-spark.txt +0 -0
- {lobes_cli-0.91.0 → lobes_cli-0.92.0}/docs/evidence/2026-07-25-accept-by-proxy-spark-f8a9.txt +0 -0
- {lobes_cli-0.91.0 → lobes_cli-0.92.0}/docs/evidence/2026-07-31-accept-multimodal-cortex-spark.txt +0 -0
- {lobes_cli-0.91.0 → lobes_cli-0.92.0}/docs/evidence/2026-07-31-accept-worker-proxy-spark.txt +0 -0
- {lobes_cli-0.91.0 → lobes_cli-0.92.0}/docs/evidence/2026-07-31-accept-worker-thor.txt +0 -0
- {lobes_cli-0.91.0 → lobes_cli-0.92.0}/docs/evidence/2026-08-04-accept-senses-unsloth-orin.txt +0 -0
- {lobes_cli-0.91.0 → lobes_cli-0.92.0}/docs/evidence/2026-08-10-hand-lobe-budget-derivation.txt +0 -0
- {lobes_cli-0.91.0 → lobes_cli-0.92.0}/docs/evidence/2026-08-10-partial-hand-orin.txt +0 -0
- {lobes_cli-0.91.0 → lobes_cli-0.92.0}/docs/evidence/2026-08-10-partial-hand-spark.txt +0 -0
- {lobes_cli-0.91.0 → lobes_cli-0.92.0}/docs/evidence/2026-08-19-accept-qwen38-1m-spark.txt +0 -0
- {lobes_cli-0.91.0 → lobes_cli-0.92.0}/docs/evidence/2026-08-19-baseline-qwen3.6-cortex-spark.txt +0 -0
- {lobes_cli-0.91.0 → lobes_cli-0.92.0}/docs/evidence/2026-08-19-spike-qwen3.8-official-nightly-spark.txt +0 -0
- {lobes_cli-0.91.0 → lobes_cli-0.92.0}/docs/evidence/2026-08-20-accept-cortex-local-thor.txt +0 -0
- {lobes_cli-0.91.0 → lobes_cli-0.92.0}/docs/evidence/2026-08-20-accept-cortex-repoint-orin.txt +0 -0
- {lobes_cli-0.91.0 → lobes_cli-0.92.0}/docs/evidence/2026-08-20-accept-cortex-repoint-thor.txt +0 -0
- {lobes_cli-0.91.0 → lobes_cli-0.92.0}/docs/evidence/2026-08-20-accept-dual-cortex-mesh.txt +0 -0
- {lobes_cli-0.91.0 → lobes_cli-0.92.0}/docs/evidence/2026-08-20-accept-hand-spark.txt +0 -0
- {lobes_cli-0.91.0 → lobes_cli-0.92.0}/docs/evidence/2026-08-20-accept-worker-hand-spark.txt +0 -0
- {lobes_cli-0.91.0 → lobes_cli-0.92.0}/docs/evidence/2026-08-20-baseline-worker-qwen35b-thor.txt +0 -0
- {lobes_cli-0.91.0 → lobes_cli-0.92.0}/docs/evidence/2026-08-20-hand-thor-blocked-reattributed.txt +0 -0
- {lobes_cli-0.91.0 → lobes_cli-0.92.0}/docs/evidence/2026-08-20-spike-lightning-thor-no-go.txt +0 -0
- {lobes_cli-0.91.0 → lobes_cli-0.92.0}/docs/evidence/2026-08-20-spike-nightly-sm110-thor.txt +0 -0
- {lobes_cli-0.91.0 → lobes_cli-0.92.0}/docs/evidence/2026-08-21-measure-reasoning-effort-cortex-spark.txt +0 -0
- {lobes_cli-0.91.0 → lobes_cli-0.92.0}/docs/evidence/2026-08-23-spike-qwen38-gguf-llamacpp-orin.txt +0 -0
- {lobes_cli-0.91.0 → lobes_cli-0.92.0}/docs/evidence/2026-08-24-spike-dspark-cortex-spark.txt +0 -0
- {lobes_cli-0.91.0 → lobes_cli-0.92.0}/docs/evidence/2026-08-25-accept-cortex-replica-pool-spark-thor.txt +0 -0
- {lobes_cli-0.91.0 → lobes_cli-0.92.0}/docs/evidence/2026-08-25-accept-spark-lobe-dspark-render.txt +0 -0
- {lobes_cli-0.91.0 → lobes_cli-0.92.0}/docs/evidence/2026-08-25-baseline-cortex-single-owner.txt +0 -0
- {lobes_cli-0.91.0 → lobes_cli-0.92.0}/docs/evidence/2026-08-25-measure-associate-budget-orin.txt +0 -0
- {lobes_cli-0.91.0 → lobes_cli-0.92.0}/docs/evidence/2026-08-25-orin-board-state-lightning-spikes.txt +0 -0
- {lobes_cli-0.91.0 → lobes_cli-0.92.0}/docs/evidence/2026-08-25-spike-lightning-llamacpp-orin.txt +0 -0
- {lobes_cli-0.91.0 → lobes_cli-0.92.0}/docs/evidence/2026-08-25-spike-lightning-vllm-orin.txt +0 -0
- {lobes_cli-0.91.0 → lobes_cli-0.92.0}/docs/evidence/2026-08-25-spike-thor-cortex-speculation.txt +0 -0
- {lobes_cli-0.91.0 → lobes_cli-0.92.0}/docs/evidence/2026-08-26-accept-orin-associate.txt +0 -0
- {lobes_cli-0.91.0 → lobes_cli-0.92.0}/docs/evidence/2026-08-26-associate-gateway-auth-front.txt +0 -0
- {lobes_cli-0.91.0 → lobes_cli-0.92.0}/docs/evidence/2026-08-28-accept-capacity-relative-pool-thor-spark.txt +0 -0
- {lobes_cli-0.91.0 → lobes_cli-0.92.0}/docs/evidence/2026-08-30-accept-peer-only-pool-orin.txt +0 -0
- {lobes_cli-0.91.0 → lobes_cli-0.92.0}/docs/evidence/2026-08-30-accept-reranker-template-spark.txt +0 -0
- {lobes_cli-0.91.0 → lobes_cli-0.92.0}/docs/evidence/2026-08-30-baseline-orin-cortex-pinned.txt +0 -0
- {lobes_cli-0.91.0 → lobes_cli-0.92.0}/docs/evidence/2026-08-30-baseline-reranker-untemplated-spark.txt +0 -0
- {lobes_cli-0.91.0 → lobes_cli-0.92.0}/docs/evidence/2026-09-10-accept-nvidia-35b-a3b-thor.txt +0 -0
- {lobes_cli-0.91.0 → lobes_cli-0.92.0}/docs/evidence/2026-09-10-accept-thor-worker-flip.txt +0 -0
- {lobes_cli-0.91.0 → lobes_cli-0.92.0}/docs/evidence/2026-09-10-baseline-thor-cortex-pre-244.txt +0 -0
- {lobes_cli-0.91.0 → lobes_cli-0.92.0}/docs/evidence/2026-09-10-spike-nvidia-35b-a3b-preboot-thor.txt +0 -0
- {lobes_cli-0.91.0 → lobes_cli-0.92.0}/docs/evidence/2026-09-10-sweep-mtp-depth-nvidia-35b-a3b-thor.txt +0 -0
- {lobes_cli-0.91.0 → lobes_cli-0.92.0}/docs/evidence/2026-09-10-thor-backup-and-rollback-dryrun-244.txt +0 -0
- {lobes_cli-0.91.0 → lobes_cli-0.92.0}/docs/evidence/2026-09-10-thor-pressure-floor-244.txt +0 -0
- {lobes_cli-0.91.0 → lobes_cli-0.92.0}/docs/evidence/2026-09-11-accept-thor-reranker-template-senses-unproxy.txt +0 -0
- {lobes_cli-0.91.0 → lobes_cli-0.92.0}/docs/evidence/2026-09-11-accept-worker-proxy-spark-thor.txt +0 -0
- {lobes_cli-0.91.0 → lobes_cli-0.92.0}/docs/evidence/2026-09-12-accept-mesh-boot-window-fleet.txt +0 -0
- {lobes_cli-0.91.0 → lobes_cli-0.92.0}/docs/evidence/2026-09-12-accept-mesh-brain-join-fleet.txt +0 -0
- {lobes_cli-0.91.0 → lobes_cli-0.92.0}/docs/evidence/2026-09-12-baseline-mesh-cutover.txt +0 -0
- {lobes_cli-0.91.0 → lobes_cli-0.92.0}/docs/evidence/2026-09-13-accept-orin-associate-1m.txt +0 -0
- {lobes_cli-0.91.0 → lobes_cli-0.92.0}/docs/evidence/2026-09-13-measure-associate-budget-orin-1m.txt +0 -0
- {lobes_cli-0.91.0 → lobes_cli-0.92.0}/docs/evidence/2026-09-13-spike-lightning-thor-v029.txt +0 -0
- {lobes_cli-0.91.0 → lobes_cli-0.92.0}/docs/evidence/2026-09-16-accept-innereye-spark.txt +0 -0
- {lobes_cli-0.91.0 → lobes_cli-0.92.0}/docs/evidence/2026-09-16-baseline-comfyui-venv-spark.txt +0 -0
- {lobes_cli-0.91.0 → lobes_cli-0.92.0}/docs/evidence/2026-09-16-innereye-render-via-thor.png +0 -0
- {lobes_cli-0.91.0 → lobes_cli-0.92.0}/docs/evidence/2026-09-16-t2-comfyui-container-spark.txt +0 -0
- {lobes_cli-0.91.0 → lobes_cli-0.92.0}/docs/evidence/2026-09-19-accept-multimodal-gemma26b-native-context-spark.txt +0 -0
- {lobes_cli-0.91.0 → lobes_cli-0.92.0}/docs/evidence/2026-09-23-spike-flash-next-worker-thor.txt +0 -0
- {lobes_cli-0.91.0 → lobes_cli-0.92.0}/docs/evidence/2026-09-hebrew-realtime-audio-hardware-spark.txt +0 -0
- {lobes_cli-0.91.0 → lobes_cli-0.92.0}/docs/evidence/2026-09-hebrew-realtime-first-loop-spark.txt +0 -0
- {lobes_cli-0.91.0 → lobes_cli-0.92.0}/docs/evidence/2026-09-hebrew-realtime-spike-spark.txt +0 -0
- {lobes_cli-0.91.0 → lobes_cli-0.92.0}/docs/evidence/2026-09-hebrew-realtime-streaming-bluetts-spark.txt +0 -0
- {lobes_cli-0.91.0 → lobes_cli-0.92.0}/docs/evidence/2026-09-hebrew-realtime-vad-ab-spark.txt +0 -0
- {lobes_cli-0.91.0 → lobes_cli-0.92.0}/docs/evidence/2026-09-hebrew-stt-spike-spark.txt +0 -0
- {lobes_cli-0.91.0 → lobes_cli-0.92.0}/docs/evidence/2026-09-hebrew-tts-ab-spark.txt +0 -0
- {lobes_cli-0.91.0 → lobes_cli-0.92.0}/docs/evidence/2026-09-hebrew-voice-lane-senses12b-spark.txt +0 -0
- {lobes_cli-0.91.0 → lobes_cli-0.92.0}/docs/evidence/2026-10-06-accept-mesh-member-lanes.txt +0 -0
- {lobes_cli-0.91.0 → lobes_cli-0.92.0}/docs/evidence/2026-10-07-accept-innereye-replace-spark.txt +0 -0
- {lobes_cli-0.91.0 → lobes_cli-0.92.0}/docs/evidence/2026-10-07-accept-orin-embed.txt +0 -0
- {lobes_cli-0.91.0 → lobes_cli-0.92.0}/docs/evidence/2026-10-07-h2h/run1.json +0 -0
- {lobes_cli-0.91.0 → lobes_cli-0.92.0}/docs/evidence/2026-10-07-h2h/run1.table.txt +0 -0
- {lobes_cli-0.91.0 → lobes_cli-0.92.0}/docs/evidence/2026-10-07-h2h/run2-nomic.json +0 -0
- {lobes_cli-0.91.0 → lobes_cli-0.92.0}/docs/evidence/2026-10-07-h2h/run2-nomic.table.txt +0 -0
- {lobes_cli-0.91.0 → lobes_cli-0.92.0}/docs/evidence/2026-10-07-h2h/run3-qwen3vl.json +0 -0
- {lobes_cli-0.91.0 → lobes_cli-0.92.0}/docs/evidence/2026-10-07-h2h/run3-qwen3vl.table.txt +0 -0
- {lobes_cli-0.91.0 → lobes_cli-0.92.0}/docs/evidence/2026-10-07-h2h-code-retrieval-orin.txt +0 -0
- {lobes_cli-0.91.0 → lobes_cli-0.92.0}/docs/evidence/2026-10-07-rollback-orin-embed-to-orin-associate.txt +0 -0
- {lobes_cli-0.91.0 → lobes_cli-0.92.0}/docs/evidence/2026-10-07-spike-embeddinggemma2-sidecar-orin.txt +0 -0
- {lobes_cli-0.91.0 → lobes_cli-0.92.0}/docs/evidence/2026-10-07-spike-orin-embed-vllm-8b.txt +0 -0
- {lobes_cli-0.91.0 → lobes_cli-0.92.0}/docs/evidence/2026-10-14-ab-clef-vllm-vs-sidecar-orin.txt +0 -0
- {lobes_cli-0.91.0 → lobes_cli-0.92.0}/docs/evidence/2026-10-14-accept-clef-bf16-interim-spark.txt +0 -0
- {lobes_cli-0.91.0 → lobes_cli-0.92.0}/docs/evidence/2026-10-14-accept-decider-2b-spark2.txt +0 -0
- {lobes_cli-0.91.0 → lobes_cli-0.92.0}/docs/evidence/2026-10-14-accept-orin-decider.txt +0 -0
- {lobes_cli-0.91.0 → lobes_cli-0.92.0}/docs/evidence/2026-10-14-build-clef-sets.txt +0 -0
- {lobes_cli-0.91.0 → lobes_cli-0.92.0}/docs/evidence/2026-10-14-spike-clef-nf4-transformers-orin.txt +0 -0
- {lobes_cli-0.91.0 → lobes_cli-0.92.0}/docs/evidence/2026-10-14-verify-clef-quants.txt +0 -0
- {lobes_cli-0.91.0 → lobes_cli-0.92.0}/docs/evidence/2026-10-17-accept-lane-safety-hardware.txt +0 -0
- {lobes_cli-0.91.0 → lobes_cli-0.92.0}/docs/evidence/2026-10-17-accept-vllm-031-orin.txt +0 -0
- {lobes_cli-0.91.0 → lobes_cli-0.92.0}/docs/evidence/2026-10-17-accept-vllm-031-spark-cortex.txt +0 -0
- {lobes_cli-0.91.0 → lobes_cli-0.92.0}/docs/evidence/2026-10-17-accept-vllm-031-thor.txt +0 -0
- {lobes_cli-0.91.0 → lobes_cli-0.92.0}/docs/evidence/2026-10-17-baseline-and-scaffold-orin.txt +0 -0
- {lobes_cli-0.91.0 → lobes_cli-0.92.0}/docs/evidence/2026-10-17-baseline-and-scaffold-thor.txt +0 -0
- {lobes_cli-0.91.0 → lobes_cli-0.92.0}/docs/evidence/2026-10-17-baseline-nightly-spark2.txt +0 -0
- {lobes_cli-0.91.0 → lobes_cli-0.92.0}/docs/evidence/2026-10-17-dryrun-r1-rollout-spark-copy.txt +0 -0
- {lobes_cli-0.91.0 → lobes_cli-0.92.0}/docs/evidence/2026-10-17-verify-cpucap-running-vllm-spark.txt +0 -0
- {lobes_cli-0.91.0 → lobes_cli-0.92.0}/docs/evidence/2026-10-18-accept-vllm-031-spark-cortex.txt +0 -0
- {lobes_cli-0.91.0 → lobes_cli-0.92.0}/docs/evidence/2026-10-18-accept-vllm-031-spark2.txt +0 -0
- {lobes_cli-0.91.0 → lobes_cli-0.92.0}/docs/evidence/2026-10-18-sweep-vllm-031-fleet.txt +0 -0
- {lobes_cli-0.91.0 → lobes_cli-0.92.0}/docs/evidence/README-dspark-arms.md +0 -0
- {lobes_cli-0.91.0 → lobes_cli-0.92.0}/docs/evidence/README-realtime-acceptance.md +0 -0
- {lobes_cli-0.91.0 → lobes_cli-0.92.0}/docs/evidence/arm-a16-dspark-262k.json +0 -0
- {lobes_cli-0.91.0 → lobes_cli-0.92.0}/docs/evidence/arm-a16-none-262k.json +0 -0
- {lobes_cli-0.91.0 → lobes_cli-0.92.0}/docs/evidence/arm-dspark-262k.json +0 -0
- {lobes_cli-0.91.0 → lobes_cli-0.92.0}/docs/evidence/arm-dspark-768k.json +0 -0
- {lobes_cli-0.91.0 → lobes_cli-0.92.0}/docs/evidence/arm-mtp-n2-262k.json +0 -0
- {lobes_cli-0.91.0 → lobes_cli-0.92.0}/docs/evidence/arm-mtp-n2-768k.json +0 -0
- {lobes_cli-0.91.0 → lobes_cli-0.92.0}/docs/evidence/arm-mtp-n2.json +0 -0
- {lobes_cli-0.91.0 → lobes_cli-0.92.0}/docs/evidence/arm-none-262k.json +0 -0
- {lobes_cli-0.91.0 → lobes_cli-0.92.0}/docs/evidence/arm-none-768k.json +0 -0
- {lobes_cli-0.91.0 → lobes_cli-0.92.0}/docs/experiments/README.md +0 -0
- {lobes_cli-0.91.0 → lobes_cli-0.92.0}/docs/experiments/qwen3.8-flash-next-gguf-llamacpp-vllm.md +0 -0
- {lobes_cli-0.91.0 → lobes_cli-0.92.0}/docs/experiments/qwen3.8-flash-next-nvfp4-thor-reference.md +0 -0
- {lobes_cli-0.91.0 → lobes_cli-0.92.0}/docs/gateway-fleet.md +0 -0
- {lobes_cli-0.91.0 → lobes_cli-0.92.0}/docs/gemma-4-12b-nvfp4.md +0 -0
- {lobes_cli-0.91.0 → lobes_cli-0.92.0}/docs/gemma-4-12b-qat-w4a16.md +0 -0
- {lobes_cli-0.91.0 → lobes_cli-0.92.0}/docs/gemma-4-31b-nvfp4.md +0 -0
- {lobes_cli-0.91.0 → lobes_cli-0.92.0}/docs/gemma4-mtp-draft.md +0 -0
- {lobes_cli-0.91.0 → lobes_cli-0.92.0}/docs/hebrew-realtime.md +0 -0
- {lobes_cli-0.91.0 → lobes_cli-0.92.0}/docs/image-ledger.md +0 -0
- {lobes_cli-0.91.0 → lobes_cli-0.92.0}/docs/lfm2.5-1.2b-hand.md +0 -0
- {lobes_cli-0.91.0 → lobes_cli-0.92.0}/docs/machine-profiles.md +0 -0
- {lobes_cli-0.91.0 → lobes_cli-0.92.0}/docs/measuring-lane-performance.md +0 -0
- {lobes_cli-0.91.0 → lobes_cli-0.92.0}/docs/mistral-small-3.2-24b-nvfp4.md +0 -0
- {lobes_cli-0.91.0 → lobes_cli-0.92.0}/docs/model-switch-playbook.md +0 -0
- {lobes_cli-0.91.0 → lobes_cli-0.92.0}/docs/nemotron-3-embed-8b.md +0 -0
- {lobes_cli-0.91.0 → lobes_cli-0.92.0}/docs/nemotron-3.5-lightning-30b-a3b-nvfp4.md +0 -0
- {lobes_cli-0.91.0 → lobes_cli-0.92.0}/docs/nomic-embed-code.md +0 -0
- {lobes_cli-0.91.0 → lobes_cli-0.92.0}/docs/openai-api.md +0 -0
- {lobes_cli-0.91.0 → lobes_cli-0.92.0}/docs/operating-a-deployment.md +0 -0
- {lobes_cli-0.91.0 → lobes_cli-0.92.0}/docs/orin-associate-deployment.md +0 -0
- {lobes_cli-0.91.0 → lobes_cli-0.92.0}/docs/orin-embed-deployment.md +0 -0
- {lobes_cli-0.91.0 → lobes_cli-0.92.0}/docs/orin-profiles.md +0 -0
- {lobes_cli-0.91.0 → lobes_cli-0.92.0}/docs/parakeet-stt.md +0 -0
- {lobes_cli-0.91.0 → lobes_cli-0.92.0}/docs/plans/2026-06-12-model-gear-owns-the-audio-i-o-surface-end-to-end-m.md +0 -0
- {lobes_cli-0.91.0 → lobes_cli-0.92.0}/docs/plans/2026-06-19-model-gear-now-serves-an-embedding-gear-qwen3-embe-2.md +0 -0
- {lobes_cli-0.91.0 → lobes_cli-0.92.0}/docs/plans/2026-06-26-lobes-ships-a-minor-lobe-a-cheap-warm-co-resident.md +0 -0
- {lobes_cli-0.91.0 → lobes_cli-0.92.0}/docs/plans/2026-06-26-lobes-ships-a-per-lobe-benchmark-suite-speed-paral.md +0 -0
- {lobes_cli-0.91.0 → lobes_cli-0.92.0}/docs/plans/2026-06-29-lobes-adds-a-third-middle-model-tier-and-pressure.md +0 -0
- {lobes_cli-0.91.0 → lobes_cli-0.92.0}/docs/plans/2026-06-30-lobes-now-defaults-to-a-spark-duo-the-qwen3-6-27b.md +0 -0
- {lobes_cli-0.91.0 → lobes_cli-0.92.0}/docs/plans/2026-06-30-lobes-ships-a-custom-vllm-image-from-nvcr-io-nvidi.md +0 -0
- {lobes_cli-0.91.0 → lobes_cli-0.92.0}/docs/plans/2026-07-01-gemma-4-12b-gear-gets-speculative-decoding-draft.md +0 -0
- {lobes_cli-0.91.0 → lobes_cli-0.92.0}/docs/plans/2026-07-01-lobes-unifies-its-generate-lane-on-one-vllm-nightl.md +0 -0
- {lobes_cli-0.91.0 → lobes_cli-0.92.0}/docs/plans/2026-07-03-lobes-exposes-the-full-colleague-runtime-stack-as.md +0 -0
- {lobes_cli-0.91.0 → lobes_cli-0.92.0}/docs/plans/2026-07-03-under-pressure-lobes-tells-you-the-cortex-model-is.md +0 -0
- {lobes_cli-0.91.0 → lobes_cli-0.92.0}/docs/plans/2026-07-04-lobes-tells-clients-the-truth-about-a-fleet-a-cons.md +0 -0
- {lobes_cli-0.91.0 → lobes_cli-0.92.0}/docs/plans/2026-07-07-lobes-preserves-qwen-thinking-traces-across-multi.md +0 -0
- {lobes_cli-0.91.0 → lobes_cli-0.92.0}/docs/plans/2026-07-09-lobes-never-advertises-a-capability-it-cannot-serv.md +0 -0
- {lobes_cli-0.91.0 → lobes_cli-0.92.0}/docs/plans/2026-07-10-lobes-gateway-relays-sse-streams-frame-by-frame-th.md +0 -0
- {lobes_cli-0.91.0 → lobes_cli-0.92.0}/docs/plans/2026-07-13-lobes-fits-the-machine-it-lands-on-one-command-det.md +0 -0
- {lobes_cli-0.91.0 → lobes_cli-0.92.0}/docs/plans/2026-07-14-lobes-serves-strict-grammar-constrained-tool-calls.md +0 -0
- {lobes_cli-0.91.0 → lobes_cli-0.92.0}/docs/plans/2026-07-14-lobes-serves-the-brain-shape-you-choose-machine-as.md +0 -0
- {lobes_cli-0.91.0 → lobes_cli-0.92.0}/docs/plans/2026-07-14-lobes-serves-the-mesh-brain-end-state-one-lobe-per.md +0 -0
- {lobes_cli-0.91.0 → lobes_cli-0.92.0}/docs/plans/2026-07-16-proxy-lobes-pairwise-auth.md +0 -0
- {lobes_cli-0.91.0 → lobes_cli-0.92.0}/docs/plans/2026-07-17-compose-chain-unification-init-repair-doctor-stale.md +0 -0
- {lobes_cli-0.91.0 → lobes_cli-0.92.0}/docs/plans/2026-07-21-realtime-voice-to-voice-astro-test-site-151.md +0 -0
- {lobes_cli-0.91.0 → lobes_cli-0.92.0}/docs/plans/2026-07-21-realtime-ws-server-vad-149.md +0 -0
- {lobes_cli-0.91.0 → lobes_cli-0.92.0}/docs/plans/2026-07-24-stt-readiness-truth-155.md +0 -0
- {lobes_cli-0.91.0 → lobes_cli-0.92.0}/docs/plans/2026-07-25-lobes-capabilities-tells-you-where-a-lobe-is-serve.md +0 -0
- {lobes_cli-0.91.0 → lobes_cli-0.92.0}/docs/plans/2026-07-31-every-lobe-in-the-mesh-can-see-the-spark-reaches-t.md +0 -0
- {lobes_cli-0.91.0 → lobes_cli-0.92.0}/docs/plans/2026-07-31-thor-worker-lobe-qwen3-6-35b-a3b.md +0 -0
- {lobes_cli-0.91.0 → lobes_cli-0.92.0}/docs/plans/2026-08-04-unsloth-qat-senses-first-class-orin-variation.md +0 -0
- {lobes_cli-0.91.0 → lobes_cli-0.92.0}/docs/plans/2026-08-10-hand-lobe-lfm2-5-1-2b.md +0 -0
- {lobes_cli-0.91.0 → lobes_cli-0.92.0}/docs/plans/2026-08-19-qwen3-8-cortex-upgrade.md +0 -0
- {lobes_cli-0.91.0 → lobes_cli-0.92.0}/docs/plans/2026-08-20-nemotron-lightning-worker.md +0 -0
- {lobes_cli-0.91.0 → lobes_cli-0.92.0}/docs/plans/2026-08-22-qwen3-8-gguf-llamacpp.md +0 -0
- {lobes_cli-0.91.0 → lobes_cli-0.92.0}/docs/plans/2026-08-24-dspark-speculation-on-the-spark-cortex.md +0 -0
- {lobes_cli-0.91.0 → lobes_cli-0.92.0}/docs/plans/2026-08-25-cortex-replica-pool-199.md +0 -0
- {lobes_cli-0.91.0 → lobes_cli-0.92.0}/docs/plans/2026-08-25-lightning-on-orin.md +0 -0
- {lobes_cli-0.91.0 → lobes_cli-0.92.0}/docs/plans/2026-08-25-thor-cortex-speculation.md +0 -0
- {lobes_cli-0.91.0 → lobes_cli-0.92.0}/docs/plans/2026-08-27-capacity-relative-pool-routing.md +0 -0
- {lobes_cli-0.91.0 → lobes_cli-0.92.0}/docs/plans/2026-08-29-deployment-lock-per-box.md +0 -0
- {lobes_cli-0.91.0 → lobes_cli-0.92.0}/docs/plans/2026-08-30-peer-only-replica-pools.md +0 -0
- {lobes_cli-0.91.0 → lobes_cli-0.92.0}/docs/plans/2026-08-30-reranker-calibration-227.md +0 -0
- {lobes_cli-0.91.0 → lobes_cli-0.92.0}/docs/plans/2026-08-31-quick-wins-finish-the-rename.md +0 -0
- {lobes_cli-0.91.0 → lobes_cli-0.92.0}/docs/plans/2026-09-10-thor-worker-arm-qwen3-6-35b-a3b-recipes-split.md +0 -0
- {lobes_cli-0.91.0 → lobes_cli-0.92.0}/docs/plans/2026-09-10-thor-worker-arm-qwen3-6-35b-a3b-recipes.md +0 -0
- {lobes_cli-0.91.0 → lobes_cli-0.92.0}/docs/plans/2026-09-11-mesh-brain-join-split.md +0 -0
- {lobes_cli-0.91.0 → lobes_cli-0.92.0}/docs/plans/2026-09-11-mesh-brain-join.md +0 -0
- {lobes_cli-0.91.0 → lobes_cli-0.92.0}/docs/plans/2026-09-12-mesh-boot-window-and-capabilities-advert-split.md +0 -0
- {lobes_cli-0.91.0 → lobes_cli-0.92.0}/docs/plans/2026-09-12-mesh-boot-window-and-capabilities-advert.md +0 -0
- {lobes_cli-0.91.0 → lobes_cli-0.92.0}/docs/plans/2026-09-13-orin-associate-at-1m-split.md +0 -0
- {lobes_cli-0.91.0 → lobes_cli-0.92.0}/docs/plans/2026-09-13-orin-associate-at-1m.md +0 -0
- {lobes_cli-0.91.0 → lobes_cli-0.92.0}/docs/plans/2026-09-16-innereye-lobes-hosts-comfyui-split.md +0 -0
- {lobes_cli-0.91.0 → lobes_cli-0.92.0}/docs/plans/2026-09-16-innereye-lobes-hosts-comfyui.md +0 -0
- {lobes_cli-0.91.0 → lobes_cli-0.92.0}/docs/plans/2026-09-18-hebrew-realtime-HANDOFF.md +0 -0
- {lobes_cli-0.91.0 → lobes_cli-0.92.0}/docs/plans/2026-09-18-hebrew-realtime-split.md +0 -0
- {lobes_cli-0.91.0 → lobes_cli-0.92.0}/docs/plans/2026-09-18-hebrew-realtime.md +0 -0
- {lobes_cli-0.91.0 → lobes_cli-0.92.0}/docs/plans/2026-09-23-flash-next-worker-on-thor.md +0 -0
- {lobes_cli-0.91.0 → lobes_cli-0.92.0}/docs/plans/2026-10-06-mesh-pool-load-sharing-split.md +0 -0
- {lobes_cli-0.91.0 → lobes_cli-0.92.0}/docs/plans/2026-10-06-mesh-pool-load-sharing.md +0 -0
- {lobes_cli-0.91.0 → lobes_cli-0.92.0}/docs/plans/2026-10-07-orin-embedding-specialist-split.md +0 -0
- {lobes_cli-0.91.0 → lobes_cli-0.92.0}/docs/plans/2026-10-07-orin-embedding-specialist.md +0 -0
- {lobes_cli-0.91.0 → lobes_cli-0.92.0}/docs/plans/2026-10-14-orin-decision-models-split.md +0 -0
- {lobes_cli-0.91.0 → lobes_cli-0.92.0}/docs/plans/2026-10-14-orin-decision-models.md +0 -0
- {lobes_cli-0.91.0 → lobes_cli-0.92.0}/docs/plans/2026-10-17-lane-safety-HANDOFF.md +0 -0
- {lobes_cli-0.91.0 → lobes_cli-0.92.0}/docs/plans/2026-10-17-lane-safety-and-quality-304-307-308-309-split.md +0 -0
- {lobes_cli-0.91.0 → lobes_cli-0.92.0}/docs/plans/2026-10-17-lane-safety-and-quality-304-307-308-309.md +0 -0
- {lobes_cli-0.91.0 → lobes_cli-0.92.0}/docs/plans/2026-10-17-vllm-0-31-0-fleet-split.md +0 -0
- {lobes_cli-0.91.0 → lobes_cli-0.92.0}/docs/plans/2026-10-17-vllm-0-31-0-fleet.md +0 -0
- {lobes_cli-0.91.0 → lobes_cli-0.92.0}/docs/plans/2026-10-18-vllm-031-HANDOFF.md +0 -0
- {lobes_cli-0.91.0 → lobes_cli-0.92.0}/docs/plans/vllm-031-probes/colour_check.py +0 -0
- {lobes_cli-0.91.0 → lobes_cli-0.92.0}/docs/plans/vllm-031-probes/colour_spark.py +0 -0
- {lobes_cli-0.91.0 → lobes_cli-0.92.0}/docs/plans/vllm-031-probes/eg2_controls.py +0 -0
- {lobes_cli-0.91.0 → lobes_cli-0.92.0}/docs/plans/vllm-031-probes/fleet_sweep.sh +0 -0
- {lobes_cli-0.91.0 → lobes_cli-0.92.0}/docs/plans/vllm-031-probes/grammar_probe.py +0 -0
- {lobes_cli-0.91.0 → lobes_cli-0.92.0}/docs/plans/vllm-031-probes/mesh_roles.sh +0 -0
- {lobes_cli-0.91.0 → lobes_cli-0.92.0}/docs/plans/vllm-031-probes/shape_bench.py +0 -0
- {lobes_cli-0.91.0 → lobes_cli-0.92.0}/docs/plans/vllm-031-probes/strict-payload.json +0 -0
- {lobes_cli-0.91.0 → lobes_cli-0.92.0}/docs/plans/vllm-031-probes/strict_controls.py +0 -0
- {lobes_cli-0.91.0 → lobes_cli-0.92.0}/docs/plans/vllm-031-probes/strict_replay.py +0 -0
- {lobes_cli-0.91.0 → lobes_cli-0.92.0}/docs/plans/vllm-031-probes/xgr_post_think_probe.py +0 -0
- {lobes_cli-0.91.0 → lobes_cli-0.92.0}/docs/plans/vllm-031-probes/xgr_stop_probe.py +0 -0
- {lobes_cli-0.91.0 → lobes_cli-0.92.0}/docs/qwen3-14b-nvfp4.md +0 -0
- {lobes_cli-0.91.0 → lobes_cli-0.92.0}/docs/qwen3-32b-nvfp4.md +0 -0
- {lobes_cli-0.91.0 → lobes_cli-0.92.0}/docs/qwen3-embedding-0.6b.md +0 -0
- {lobes_cli-0.91.0 → lobes_cli-0.92.0}/docs/qwen3-embedding-4b.md +0 -0
- {lobes_cli-0.91.0 → lobes_cli-0.92.0}/docs/qwen3-reranker-0.6b.md +0 -0
- {lobes_cli-0.91.0 → lobes_cli-0.92.0}/docs/qwen3-vl-embedding-8b.md +0 -0
- {lobes_cli-0.91.0 → lobes_cli-0.92.0}/docs/qwen3-vl-reranker-8b.md +0 -0
- {lobes_cli-0.91.0 → lobes_cli-0.92.0}/docs/qwen3.5-4b-minor.md +0 -0
- {lobes_cli-0.91.0 → lobes_cli-0.92.0}/docs/qwen3.6-27b-nvfp4-multimodal.md +0 -0
- {lobes_cli-0.91.0 → lobes_cli-0.92.0}/docs/qwen3.6-27b-nvfp4.md +0 -0
- {lobes_cli-0.91.0 → lobes_cli-0.92.0}/docs/qwen3.6-27b-text-nvfp4-mtp.md +0 -0
- {lobes_cli-0.91.0 → lobes_cli-0.92.0}/docs/qwen3.6-35b-a3b-nvfp4.md +0 -0
- {lobes_cli-0.91.0 → lobes_cli-0.92.0}/docs/qwen3.8-27b-gguf-llamacpp.md +0 -0
- {lobes_cli-0.91.0 → lobes_cli-0.92.0}/docs/qwen3.8-27b-nvfp4.md +0 -0
- {lobes_cli-0.91.0 → lobes_cli-0.92.0}/docs/qwen38-rollout-notes.md +0 -0
- {lobes_cli-0.91.0 → lobes_cli-0.92.0}/docs/realtime-pipeline.md +0 -0
- {lobes_cli-0.91.0 → lobes_cli-0.92.0}/docs/runbooks/lane-safety-r1-rollout.md +0 -0
- {lobes_cli-0.91.0 → lobes_cli-0.92.0}/docs/secret-rotation.md +0 -0
- {lobes_cli-0.91.0 → lobes_cli-0.92.0}/docs/skill-sources.md +0 -0
- {lobes_cli-0.91.0 → lobes_cli-0.92.0}/docs/specs/2026-06-12-model-gear-owns-the-audio-i-o-surface-end-to-end-m.md +0 -0
- {lobes_cli-0.91.0 → lobes_cli-0.92.0}/docs/specs/2026-06-19-model-gear-now-serves-an-embedding-gear-qwen3-embe-2.md +0 -0
- {lobes_cli-0.91.0 → lobes_cli-0.92.0}/docs/specs/2026-06-26-lobes-ships-a-minor-lobe-a-cheap-warm-co-resident.md +0 -0
- {lobes_cli-0.91.0 → lobes_cli-0.92.0}/docs/specs/2026-06-26-lobes-ships-a-per-lobe-benchmark-suite-speed-paral.md +0 -0
- {lobes_cli-0.91.0 → lobes_cli-0.92.0}/docs/specs/2026-06-29-lobes-adds-a-third-middle-model-tier-and-pressure.md +0 -0
- {lobes_cli-0.91.0 → lobes_cli-0.92.0}/docs/specs/2026-06-30-lobes-now-defaults-to-a-spark-duo-the-qwen3-6-27b.md +0 -0
- {lobes_cli-0.91.0 → lobes_cli-0.92.0}/docs/specs/2026-06-30-lobes-ships-a-custom-vllm-image-from-nvcr-io-nvidi.md +0 -0
- {lobes_cli-0.91.0 → lobes_cli-0.92.0}/docs/specs/2026-07-01-gemma-4-12b-gear-gets-speculative-decoding-draft.md +0 -0
- {lobes_cli-0.91.0 → lobes_cli-0.92.0}/docs/specs/2026-07-01-lobes-unifies-its-generate-lane-on-one-vllm-nightl.md +0 -0
- {lobes_cli-0.91.0 → lobes_cli-0.92.0}/docs/specs/2026-07-03-lobes-exposes-the-full-colleague-runtime-stack-as.md +0 -0
- {lobes_cli-0.91.0 → lobes_cli-0.92.0}/docs/specs/2026-07-03-under-pressure-lobes-tells-you-the-cortex-model-is.md +0 -0
- {lobes_cli-0.91.0 → lobes_cli-0.92.0}/docs/specs/2026-07-04-lobes-tells-clients-the-truth-about-a-fleet-a-cons.md +0 -0
- {lobes_cli-0.91.0 → lobes_cli-0.92.0}/docs/specs/2026-07-07-lobes-preserves-qwen-thinking-traces-across-multi.md +0 -0
- {lobes_cli-0.91.0 → lobes_cli-0.92.0}/docs/specs/2026-07-09-lobes-never-advertises-a-capability-it-cannot-serv.md +0 -0
- {lobes_cli-0.91.0 → lobes_cli-0.92.0}/docs/specs/2026-07-10-lobes-gateway-relays-sse-streams-frame-by-frame-th.md +0 -0
- {lobes_cli-0.91.0 → lobes_cli-0.92.0}/docs/specs/2026-07-13-lobes-fits-the-machine-it-lands-on-one-command-det.md +0 -0
- {lobes_cli-0.91.0 → lobes_cli-0.92.0}/docs/specs/2026-07-14-lobes-serves-strict-grammar-constrained-tool-calls.md +0 -0
- {lobes_cli-0.91.0 → lobes_cli-0.92.0}/docs/specs/2026-07-14-lobes-serves-the-brain-shape-you-choose-machine-as.md +0 -0
- {lobes_cli-0.91.0 → lobes_cli-0.92.0}/docs/specs/2026-07-14-lobes-serves-the-mesh-brain-end-state-one-lobe-per.md +0 -0
- {lobes_cli-0.91.0 → lobes_cli-0.92.0}/docs/specs/2026-07-16-proxy-lobes-pairwise-auth.md +0 -0
- {lobes_cli-0.91.0 → lobes_cli-0.92.0}/docs/specs/2026-07-17-compose-chain-unification-init-repair-doctor-stale.md +0 -0
- {lobes_cli-0.91.0 → lobes_cli-0.92.0}/docs/specs/2026-07-21-realtime-voice-to-voice-astro-test-site-151.md +0 -0
- {lobes_cli-0.91.0 → lobes_cli-0.92.0}/docs/specs/2026-07-21-realtime-ws-server-vad-149.md +0 -0
- {lobes_cli-0.91.0 → lobes_cli-0.92.0}/docs/specs/2026-07-24-stt-readiness-truth-155.md +0 -0
- {lobes_cli-0.91.0 → lobes_cli-0.92.0}/docs/specs/2026-07-25-lobes-capabilities-tells-you-where-a-lobe-is-serve.md +0 -0
- {lobes_cli-0.91.0 → lobes_cli-0.92.0}/docs/specs/2026-07-31-every-lobe-in-the-mesh-can-see-the-spark-reaches-t.md +0 -0
- {lobes_cli-0.91.0 → lobes_cli-0.92.0}/docs/specs/2026-07-31-thor-worker-lobe-qwen3-6-35b-a3b.md +0 -0
- {lobes_cli-0.91.0 → lobes_cli-0.92.0}/docs/specs/2026-08-04-unsloth-qat-senses-first-class-orin-variation.md +0 -0
- {lobes_cli-0.91.0 → lobes_cli-0.92.0}/docs/specs/2026-08-09-hand-lobe-lfm2-5-1-2b.md +0 -0
- {lobes_cli-0.91.0 → lobes_cli-0.92.0}/docs/specs/2026-08-19-qwen3-8-cortex-upgrade.md +0 -0
- {lobes_cli-0.91.0 → lobes_cli-0.92.0}/docs/specs/2026-08-20-nemotron-lightning-worker.md +0 -0
- {lobes_cli-0.91.0 → lobes_cli-0.92.0}/docs/specs/2026-08-22-qwen3-8-gguf-llamacpp.md +0 -0
- {lobes_cli-0.91.0 → lobes_cli-0.92.0}/docs/specs/2026-08-24-dspark-speculation-on-the-spark-cortex.md +0 -0
- {lobes_cli-0.91.0 → lobes_cli-0.92.0}/docs/specs/2026-08-25-cortex-replica-pool-199.md +0 -0
- {lobes_cli-0.91.0 → lobes_cli-0.92.0}/docs/specs/2026-08-25-lightning-on-orin.md +0 -0
- {lobes_cli-0.91.0 → lobes_cli-0.92.0}/docs/specs/2026-08-25-thor-cortex-speculation.md +0 -0
- {lobes_cli-0.91.0 → lobes_cli-0.92.0}/docs/specs/2026-08-27-capacity-relative-pool-routing.md +0 -0
- {lobes_cli-0.91.0 → lobes_cli-0.92.0}/docs/specs/2026-08-27-flash-next-on-vllm.md +0 -0
- {lobes_cli-0.91.0 → lobes_cli-0.92.0}/docs/specs/2026-08-27-qwen3-8-flash-next-gguf-candidate.md +0 -0
- {lobes_cli-0.91.0 → lobes_cli-0.92.0}/docs/specs/2026-08-29-deployment-lock-per-box.md +0 -0
- {lobes_cli-0.91.0 → lobes_cli-0.92.0}/docs/specs/2026-08-30-peer-only-replica-pools.md +0 -0
- {lobes_cli-0.91.0 → lobes_cli-0.92.0}/docs/specs/2026-08-30-reranker-calibration-227.md +0 -0
- {lobes_cli-0.91.0 → lobes_cli-0.92.0}/docs/specs/2026-08-31-quick-wins-finish-the-rename.md +0 -0
- {lobes_cli-0.91.0 → lobes_cli-0.92.0}/docs/specs/2026-09-10-thor-worker-arm-qwen3-6-35b-a3b-recipes.md +0 -0
- {lobes_cli-0.91.0 → lobes_cli-0.92.0}/docs/specs/2026-09-11-mesh-brain-join.md +0 -0
- {lobes_cli-0.91.0 → lobes_cli-0.92.0}/docs/specs/2026-09-12-mesh-boot-window-and-capabilities-advert.md +0 -0
- {lobes_cli-0.91.0 → lobes_cli-0.92.0}/docs/specs/2026-09-13-orin-associate-at-1m.md +0 -0
- {lobes_cli-0.91.0 → lobes_cli-0.92.0}/docs/specs/2026-09-16-innereye-lobes-hosts-comfyui.md +0 -0
- {lobes_cli-0.91.0 → lobes_cli-0.92.0}/docs/specs/2026-09-18-hebrew-realtime.md +0 -0
- {lobes_cli-0.91.0 → lobes_cli-0.92.0}/docs/specs/2026-09-23-flash-next-worker-on-thor.md +0 -0
- {lobes_cli-0.91.0 → lobes_cli-0.92.0}/docs/specs/2026-10-06-mesh-pool-load-sharing.md +0 -0
- {lobes_cli-0.91.0 → lobes_cli-0.92.0}/docs/specs/2026-10-07-orin-embedding-specialist.md +0 -0
- {lobes_cli-0.91.0 → lobes_cli-0.92.0}/docs/specs/2026-10-14-orin-decision-models.md +0 -0
- {lobes_cli-0.91.0 → lobes_cli-0.92.0}/docs/specs/2026-10-17-lane-safety-and-quality-304-307-308-309.md +0 -0
- {lobes_cli-0.91.0 → lobes_cli-0.92.0}/docs/specs/2026-10-17-vllm-0-31-0-fleet.md +0 -0
- {lobes_cli-0.91.0 → lobes_cli-0.92.0}/docs/superpowers/plans/2026-05-22-scaffold-cli-sibling.md +0 -0
- {lobes_cli-0.91.0 → lobes_cli-0.92.0}/docs/superpowers/specs/2026-05-22-scaffold-cli-sibling-design.md +0 -0
- {lobes_cli-0.91.0 → lobes_cli-0.92.0}/docs/tensorrt-llm-investigation.md +0 -0
- {lobes_cli-0.91.0 → lobes_cli-0.92.0}/docs/thor-worker-flip-rollout-notes.md +0 -0
- {lobes_cli-0.91.0 → lobes_cli-0.92.0}/docs/tuning-profiles.md +0 -0
- {lobes_cli-0.91.0 → lobes_cli-0.92.0}/docs/validate-tiers.md +0 -0
- {lobes_cli-0.91.0 → lobes_cli-0.92.0}/docs/vllm-nightly-migration.md +0 -0
- {lobes_cli-0.91.0 → lobes_cli-0.92.0}/docs/worker-lightning-rollout-notes.md +0 -0
- {lobes_cli-0.91.0 → lobes_cli-0.92.0}/examples/minor-evals/smoke.jsonl +0 -0
- {lobes_cli-0.91.0 → lobes_cli-0.92.0}/lobes/__init__.py +0 -0
- {lobes_cli-0.91.0 → lobes_cli-0.92.0}/lobes/__main__.py +0 -0
- {lobes_cli-0.91.0 → lobes_cli-0.92.0}/lobes/_metrics.py +0 -0
- {lobes_cli-0.91.0 → lobes_cli-0.92.0}/lobes/assess.py +0 -0
- {lobes_cli-0.91.0 → lobes_cli-0.92.0}/lobes/bench/__init__.py +0 -0
- {lobes_cli-0.91.0 → lobes_cli-0.92.0}/lobes/bench/cat_probe.py +0 -0
- {lobes_cli-0.91.0 → lobes_cli-0.92.0}/lobes/bench/cat_score.py +0 -0
- {lobes_cli-0.91.0 → lobes_cli-0.92.0}/lobes/bench/compare.py +0 -0
- {lobes_cli-0.91.0 → lobes_cli-0.92.0}/lobes/bench/report.py +0 -0
- {lobes_cli-0.91.0 → lobes_cli-0.92.0}/lobes/cli/__init__.py +0 -0
- {lobes_cli-0.91.0 → lobes_cli-0.92.0}/lobes/cli/_commands/__init__.py +0 -0
- {lobes_cli-0.91.0 → lobes_cli-0.92.0}/lobes/cli/_commands/_doctor_lane_safety.py +0 -0
- {lobes_cli-0.91.0 → lobes_cli-0.92.0}/lobes/cli/_commands/_doctor_plugin.py +0 -0
- {lobes_cli-0.91.0 → lobes_cli-0.92.0}/lobes/cli/_commands/_role_probe.py +0 -0
- {lobes_cli-0.91.0 → lobes_cli-0.92.0}/lobes/cli/_commands/assess.py +0 -0
- {lobes_cli-0.91.0 → lobes_cli-0.92.0}/lobes/cli/_commands/benchmark.py +0 -0
- {lobes_cli-0.91.0 → lobes_cli-0.92.0}/lobes/cli/_commands/calibrate.py +0 -0
- {lobes_cli-0.91.0 → lobes_cli-0.92.0}/lobes/cli/_commands/capabilities.py +0 -0
- {lobes_cli-0.91.0 → lobes_cli-0.92.0}/lobes/cli/_commands/cli.py +0 -0
- {lobes_cli-0.91.0 → lobes_cli-0.92.0}/lobes/cli/_commands/doctor.py +0 -0
- {lobes_cli-0.91.0 → lobes_cli-0.92.0}/lobes/cli/_commands/eval.py +0 -0
- {lobes_cli-0.91.0 → lobes_cli-0.92.0}/lobes/cli/_commands/explain.py +0 -0
- {lobes_cli-0.91.0 → lobes_cli-0.92.0}/lobes/cli/_commands/fleet.py +0 -0
- {lobes_cli-0.91.0 → lobes_cli-0.92.0}/lobes/cli/_commands/governor.py +0 -0
- {lobes_cli-0.91.0 → lobes_cli-0.92.0}/lobes/cli/_commands/init.py +0 -0
- {lobes_cli-0.91.0 → lobes_cli-0.92.0}/lobes/cli/_commands/learn.py +0 -0
- {lobes_cli-0.91.0 → lobes_cli-0.92.0}/lobes/cli/_commands/logs.py +0 -0
- {lobes_cli-0.91.0 → lobes_cli-0.92.0}/lobes/cli/_commands/measure.py +0 -0
- {lobes_cli-0.91.0 → lobes_cli-0.92.0}/lobes/cli/_commands/mesh.py +0 -0
- {lobes_cli-0.91.0 → lobes_cli-0.92.0}/lobes/cli/_commands/overview.py +0 -0
- {lobes_cli-0.91.0 → lobes_cli-0.92.0}/lobes/cli/_commands/route.py +0 -0
- {lobes_cli-0.91.0 → lobes_cli-0.92.0}/lobes/cli/_commands/run.py +0 -0
- {lobes_cli-0.91.0 → lobes_cli-0.92.0}/lobes/cli/_commands/serve.py +0 -0
- {lobes_cli-0.91.0 → lobes_cli-0.92.0}/lobes/cli/_commands/status.py +0 -0
- {lobes_cli-0.91.0 → lobes_cli-0.92.0}/lobes/cli/_commands/stop.py +0 -0
- {lobes_cli-0.91.0 → lobes_cli-0.92.0}/lobes/cli/_commands/tunnel.py +0 -0
- {lobes_cli-0.91.0 → lobes_cli-0.92.0}/lobes/cli/_commands/up.py +0 -0
- {lobes_cli-0.91.0 → lobes_cli-0.92.0}/lobes/cli/_commands/watcher.py +0 -0
- {lobes_cli-0.91.0 → lobes_cli-0.92.0}/lobes/cli/_commands/whoami.py +0 -0
- {lobes_cli-0.91.0 → lobes_cli-0.92.0}/lobes/cli/_errors.py +0 -0
- {lobes_cli-0.91.0 → lobes_cli-0.92.0}/lobes/cli/_live.py +0 -0
- {lobes_cli-0.91.0 → lobes_cli-0.92.0}/lobes/cli/_output.py +0 -0
- {lobes_cli-0.91.0 → lobes_cli-0.92.0}/lobes/cli/_role_swap.py +0 -0
- {lobes_cli-0.91.0 → lobes_cli-0.92.0}/lobes/cli/_runtime_ops.py +0 -0
- {lobes_cli-0.91.0 → lobes_cli-0.92.0}/lobes/decider_sidecar/__init__.py +0 -0
- {lobes_cli-0.91.0 → lobes_cli-0.92.0}/lobes/decider_sidecar/clef_vllm.py +0 -0
- {lobes_cli-0.91.0 → lobes_cli-0.92.0}/lobes/decider_sidecar/server.py +0 -0
- {lobes_cli-0.91.0 → lobes_cli-0.92.0}/lobes/embed_lanes.py +0 -0
- {lobes_cli-0.91.0 → lobes_cli-0.92.0}/lobes/embed_sidecar/__init__.py +0 -0
- {lobes_cli-0.91.0 → lobes_cli-0.92.0}/lobes/embed_sidecar/server.py +0 -0
- {lobes_cli-0.91.0 → lobes_cli-0.92.0}/lobes/explain/__init__.py +0 -0
- {lobes_cli-0.91.0 → lobes_cli-0.92.0}/lobes/explain/catalog.py +0 -0
- {lobes_cli-0.91.0 → lobes_cli-0.92.0}/lobes/gateway/__init__.py +0 -0
- {lobes_cli-0.91.0 → lobes_cli-0.92.0}/lobes/gateway/__main__.py +0 -0
- {lobes_cli-0.91.0 → lobes_cli-0.92.0}/lobes/gateway/_authlog.py +0 -0
- {lobes_cli-0.91.0 → lobes_cli-0.92.0}/lobes/gateway/_config.py +0 -0
- {lobes_cli-0.91.0 → lobes_cli-0.92.0}/lobes/gateway/_mesh_config.py +0 -0
- {lobes_cli-0.91.0 → lobes_cli-0.92.0}/lobes/gateway/_mesh_roster.py +0 -0
- {lobes_cli-0.91.0 → lobes_cli-0.92.0}/lobes/gateway/_mesh_routes.py +0 -0
- {lobes_cli-0.91.0 → lobes_cli-0.92.0}/lobes/gateway/_mesh_routing.py +0 -0
- {lobes_cli-0.91.0 → lobes_cli-0.92.0}/lobes/gateway/_mesh_wire.py +0 -0
- {lobes_cli-0.91.0 → lobes_cli-0.92.0}/lobes/gateway/_pressure_policy.py +0 -0
- {lobes_cli-0.91.0 → lobes_cli-0.92.0}/lobes/gateway/_readiness.py +0 -0
- {lobes_cli-0.91.0 → lobes_cli-0.92.0}/lobes/gateway/_realtime.py +0 -0
- {lobes_cli-0.91.0 → lobes_cli-0.92.0}/lobes/gateway/_replicas.py +0 -0
- {lobes_cli-0.91.0 → lobes_cli-0.92.0}/lobes/gateway/_routing.py +0 -0
- {lobes_cli-0.91.0 → lobes_cli-0.92.0}/lobes/gateway/_selection.py +0 -0
- {lobes_cli-0.91.0 → lobes_cli-0.92.0}/lobes/gateway/_tier_request.py +0 -0
- {lobes_cli-0.91.0 → lobes_cli-0.92.0}/lobes/gateway/server.py +0 -0
- {lobes_cli-0.91.0 → lobes_cli-0.92.0}/lobes/lane_keys.py +0 -0
- {lobes_cli-0.91.0 → lobes_cli-0.92.0}/lobes/machines/__init__.py +0 -0
- {lobes_cli-0.91.0 → lobes_cli-0.92.0}/lobes/machines/_registry.py +0 -0
- {lobes_cli-0.91.0 → lobes_cli-0.92.0}/lobes/machines/_strategy.py +0 -0
- {lobes_cli-0.91.0 → lobes_cli-0.92.0}/lobes/machines/_traits.py +0 -0
- {lobes_cli-0.91.0 → lobes_cli-0.92.0}/lobes/machines/blackwell.py +0 -0
- {lobes_cli-0.91.0 → lobes_cli-0.92.0}/lobes/machines/generic.py +0 -0
- {lobes_cli-0.91.0 → lobes_cli-0.92.0}/lobes/machines/orin.py +0 -0
- {lobes_cli-0.91.0 → lobes_cli-0.92.0}/lobes/machines/spark.py +0 -0
- {lobes_cli-0.91.0 → lobes_cli-0.92.0}/lobes/machines/thor.py +0 -0
- {lobes_cli-0.91.0 → lobes_cli-0.92.0}/lobes/minor/__init__.py +0 -0
- {lobes_cli-0.91.0 → lobes_cli-0.92.0}/lobes/minor/_client.py +0 -0
- {lobes_cli-0.91.0 → lobes_cli-0.92.0}/lobes/minor/governance.py +0 -0
- {lobes_cli-0.91.0 → lobes_cli-0.92.0}/lobes/profiles/__init__.py +0 -0
- {lobes_cli-0.91.0 → lobes_cli-0.92.0}/lobes/profiles/builtin/__init__.py +0 -0
- {lobes_cli-0.91.0 → lobes_cli-0.92.0}/lobes/profiles/builtin/base.toml +0 -0
- {lobes_cli-0.91.0 → lobes_cli-0.92.0}/lobes/profiles/builtin/orin.toml +0 -0
- {lobes_cli-0.91.0 → lobes_cli-0.92.0}/lobes/profiles/builtin/spark.toml +0 -0
- {lobes_cli-0.91.0 → lobes_cli-0.92.0}/lobes/profiles/builtin/thor.toml +0 -0
- {lobes_cli-0.91.0 → lobes_cli-0.92.0}/lobes/profiles/builtin_shapes/__init__.py +0 -0
- {lobes_cli-0.91.0 → lobes_cli-0.92.0}/lobes/profiles/builtin_shapes/gateway-only.toml +0 -0
- {lobes_cli-0.91.0 → lobes_cli-0.92.0}/lobes/profiles/builtin_shapes/machine-as-brain.toml +0 -0
- {lobes_cli-0.91.0 → lobes_cli-0.92.0}/lobes/profiles/builtin_shapes/orin-associate.toml +0 -0
- {lobes_cli-0.91.0 → lobes_cli-0.92.0}/lobes/profiles/builtin_shapes/orin-cortex.toml +0 -0
- {lobes_cli-0.91.0 → lobes_cli-0.92.0}/lobes/profiles/builtin_shapes/orin-decider.toml +0 -0
- {lobes_cli-0.91.0 → lobes_cli-0.92.0}/lobes/profiles/builtin_shapes/orin-embed.toml +0 -0
- {lobes_cli-0.91.0 → lobes_cli-0.92.0}/lobes/profiles/builtin_shapes/orin-lobe.toml +0 -0
- {lobes_cli-0.91.0 → lobes_cli-0.92.0}/lobes/profiles/builtin_shapes/orin-small.toml +0 -0
- {lobes_cli-0.91.0 → lobes_cli-0.92.0}/lobes/profiles/builtin_shapes/spark-innereye.toml +0 -0
- {lobes_cli-0.91.0 → lobes_cli-0.92.0}/lobes/profiles/builtin_shapes/spark-lobe.toml +0 -0
- {lobes_cli-0.91.0 → lobes_cli-0.92.0}/lobes/profiles/builtin_shapes/thor-lobe.toml +0 -0
- {lobes_cli-0.91.0 → lobes_cli-0.92.0}/lobes/profiles/builtin_shapes/thor-muse.toml +0 -0
- {lobes_cli-0.91.0 → lobes_cli-0.92.0}/lobes/profiles/loader.py +0 -0
- {lobes_cli-0.91.0 → lobes_cli-0.92.0}/lobes/profiles/render.py +0 -0
- {lobes_cli-0.91.0 → lobes_cli-0.92.0}/lobes/profiles/schema.py +0 -0
- {lobes_cli-0.91.0 → lobes_cli-0.92.0}/lobes/profiles/shape_render.py +0 -0
- {lobes_cli-0.91.0 → lobes_cli-0.92.0}/lobes/profiles/shapes.py +0 -0
- {lobes_cli-0.91.0 → lobes_cli-0.92.0}/lobes/realtime/__init__.py +0 -0
- {lobes_cli-0.91.0 → lobes_cli-0.92.0}/lobes/realtime/__main__.py +0 -0
- {lobes_cli-0.91.0 → lobes_cli-0.92.0}/lobes/realtime/_conversation.py +0 -0
- {lobes_cli-0.91.0 → lobes_cli-0.92.0}/lobes/realtime/_floor.py +0 -0
- {lobes_cli-0.91.0 → lobes_cli-0.92.0}/lobes/realtime/_pcm.py +0 -0
- {lobes_cli-0.91.0 → lobes_cli-0.92.0}/lobes/realtime/_readiness.py +0 -0
- {lobes_cli-0.91.0 → lobes_cli-0.92.0}/lobes/realtime/_segmenter.py +0 -0
- {lobes_cli-0.91.0 → lobes_cli-0.92.0}/lobes/realtime/_sentences.py +0 -0
- {lobes_cli-0.91.0 → lobes_cli-0.92.0}/lobes/realtime/_session.py +0 -0
- {lobes_cli-0.91.0 → lobes_cli-0.92.0}/lobes/realtime/_settings.py +0 -0
- {lobes_cli-0.91.0 → lobes_cli-0.92.0}/lobes/realtime/_speculation.py +0 -0
- {lobes_cli-0.91.0 → lobes_cli-0.92.0}/lobes/realtime/_timings.py +0 -0
- {lobes_cli-0.91.0 → lobes_cli-0.92.0}/lobes/realtime/_tts_text.py +0 -0
- {lobes_cli-0.91.0 → lobes_cli-0.92.0}/lobes/realtime/_turn.py +0 -0
- {lobes_cli-0.91.0 → lobes_cli-0.92.0}/lobes/realtime/_vocalize.py +0 -0
- {lobes_cli-0.91.0 → lobes_cli-0.92.0}/lobes/realtime/_wire.py +0 -0
- {lobes_cli-0.91.0 → lobes_cli-0.92.0}/lobes/realtime/app.py +0 -0
- {lobes_cli-0.91.0 → lobes_cli-0.92.0}/lobes/realtime/audio_facade.py +0 -0
- {lobes_cli-0.91.0 → lobes_cli-0.92.0}/lobes/realtime/bluetts_server.py +0 -0
- {lobes_cli-0.91.0 → lobes_cli-0.92.0}/lobes/realtime/chatterbox_multilingual_server.py +0 -0
- {lobes_cli-0.91.0 → lobes_cli-0.92.0}/lobes/realtime/chatterbox_server.py +0 -0
- {lobes_cli-0.91.0 → lobes_cli-0.92.0}/lobes/realtime/protocol.py +0 -0
- {lobes_cli-0.91.0 → lobes_cli-0.92.0}/lobes/realtime/tts_client.py +0 -0
- {lobes_cli-0.91.0 → lobes_cli-0.92.0}/lobes/roles.py +0 -0
- {lobes_cli-0.91.0 → lobes_cli-0.92.0}/lobes/roles_measure.py +0 -0
- {lobes_cli-0.91.0 → lobes_cli-0.92.0}/lobes/runtime/__init__.py +0 -0
- {lobes_cli-0.91.0 → lobes_cli-0.92.0}/lobes/runtime/_buildability.py +0 -0
- {lobes_cli-0.91.0 → lobes_cli-0.92.0}/lobes/runtime/_compose.py +0 -0
- {lobes_cli-0.91.0 → lobes_cli-0.92.0}/lobes/runtime/_detect.py +0 -0
- {lobes_cli-0.91.0 → lobes_cli-0.92.0}/lobes/runtime/_env.py +0 -0
- {lobes_cli-0.91.0 → lobes_cli-0.92.0}/lobes/runtime/_governor.py +0 -0
- {lobes_cli-0.91.0 → lobes_cli-0.92.0}/lobes/runtime/_health.py +0 -0
- {lobes_cli-0.91.0 → lobes_cli-0.92.0}/lobes/runtime/_lanes.py +0 -0
- {lobes_cli-0.91.0 → lobes_cli-0.92.0}/lobes/runtime/_lock.py +0 -0
- {lobes_cli-0.91.0 → lobes_cli-0.92.0}/lobes/runtime/_machine.py +0 -0
- {lobes_cli-0.91.0 → lobes_cli-0.92.0}/lobes/runtime/_pressure.py +0 -0
- {lobes_cli-0.91.0 → lobes_cli-0.92.0}/lobes/runtime/_tunnel.py +0 -0
- {lobes_cli-0.91.0 → lobes_cli-0.92.0}/lobes/runtime/_window.py +0 -0
- {lobes_cli-0.91.0 → lobes_cli-0.92.0}/lobes/templates/__init__.py +0 -0
- {lobes_cli-0.91.0 → lobes_cli-0.92.0}/lobes/templates/cf-tunnel.env.example +0 -0
- {lobes_cli-0.91.0 → lobes_cli-0.92.0}/lobes/templates/docker-compose.yml +0 -0
- {lobes_cli-0.91.0 → lobes_cli-0.92.0}/lobes/templates/env.example +0 -0
- {lobes_cli-0.91.0 → lobes_cli-0.92.0}/lobes/templates/fleet/Dockerfile.bluetts +0 -0
- {lobes_cli-0.91.0 → lobes_cli-0.92.0}/lobes/templates/fleet/Dockerfile.chatterbox +0 -0
- {lobes_cli-0.91.0 → lobes_cli-0.92.0}/lobes/templates/fleet/Dockerfile.chatterbox-ml +0 -0
- {lobes_cli-0.91.0 → lobes_cli-0.92.0}/lobes/templates/fleet/Dockerfile.comfyui +0 -0
- {lobes_cli-0.91.0 → lobes_cli-0.92.0}/lobes/templates/fleet/Dockerfile.decider +0 -0
- {lobes_cli-0.91.0 → lobes_cli-0.92.0}/lobes/templates/fleet/Dockerfile.decider-vllm +0 -0
- {lobes_cli-0.91.0 → lobes_cli-0.92.0}/lobes/templates/fleet/Dockerfile.embed-st +0 -0
- {lobes_cli-0.91.0 → lobes_cli-0.92.0}/lobes/templates/fleet/Dockerfile.gateway +0 -0
- {lobes_cli-0.91.0 → lobes_cli-0.92.0}/lobes/templates/fleet/Dockerfile.parakeet +0 -0
- {lobes_cli-0.91.0 → lobes_cli-0.92.0}/lobes/templates/fleet/Dockerfile.realtime +0 -0
- {lobes_cli-0.91.0 → lobes_cli-0.92.0}/lobes/templates/fleet/Dockerfile.vllm-gemma4 +0 -0
- {lobes_cli-0.91.0 → lobes_cli-0.92.0}/lobes/templates/fleet/Dockerfile.whisper-stt +0 -0
- {lobes_cli-0.91.0 → lobes_cli-0.92.0}/lobes/templates/fleet/__init__.py +0 -0
- {lobes_cli-0.91.0 → lobes_cli-0.92.0}/lobes/templates/fleet/_readiness.py +0 -0
- {lobes_cli-0.91.0 → lobes_cli-0.92.0}/lobes/templates/fleet/docker-compose.audio-he.yml +0 -0
- {lobes_cli-0.91.0 → lobes_cli-0.92.0}/lobes/templates/fleet/docker-compose.audio.yml +0 -0
- {lobes_cli-0.91.0 → lobes_cli-0.92.0}/lobes/templates/fleet/docker-compose.embed.yml +0 -0
- {lobes_cli-0.91.0 → lobes_cli-0.92.0}/lobes/templates/fleet/docker-compose.yml +0 -0
- {lobes_cli-0.91.0 → lobes_cli-0.92.0}/lobes/templates/fleet/env.audio-he.example +0 -0
- {lobes_cli-0.91.0 → lobes_cli-0.92.0}/lobes/templates/fleet/env.audio.example +0 -0
- {lobes_cli-0.91.0 → lobes_cli-0.92.0}/lobes/templates/fleet/env.example +0 -0
- {lobes_cli-0.91.0 → lobes_cli-0.92.0}/lobes/templates/fleet/listen_server.py +0 -0
- {lobes_cli-0.91.0 → lobes_cli-0.92.0}/lobes/templates/fleet/listen_server_whisper.py +0 -0
- {lobes_cli-0.91.0 → lobes_cli-0.92.0}/lobes/templates/fleet/qwen3_reranker.jinja +0 -0
- {lobes_cli-0.91.0 → lobes_cli-0.92.0}/lobes/templates/lobes-watcher.service.in +0 -0
- {lobes_cli-0.91.0 → lobes_cli-0.92.0}/lobes/templates/mg-logwrap.sh +0 -0
- {lobes_cli-0.91.0 → lobes_cli-0.92.0}/lobes/variation.py +0 -0
- {lobes_cli-0.91.0 → lobes_cli-0.92.0}/lobes/variation_catalog.py +0 -0
- {lobes_cli-0.91.0 → lobes_cli-0.92.0}/lobes/vllm_plugins/__init__.py +0 -0
- {lobes_cli-0.91.0 → lobes_cli-0.92.0}/lobes/vllm_plugins/qwen3_thinking_tool_parser.py +0 -0
- {lobes_cli-0.91.0 → lobes_cli-0.92.0}/lobes/watcher/__init__.py +0 -0
- {lobes_cli-0.91.0 → lobes_cli-0.92.0}/lobes/watcher/_install.py +0 -0
- {lobes_cli-0.91.0 → lobes_cli-0.92.0}/lobes/watcher/_run.py +0 -0
- {lobes_cli-0.91.0 → lobes_cli-0.92.0}/packaging/model-gear/README.md +0 -0
- {lobes_cli-0.91.0 → lobes_cli-0.92.0}/packaging/model-gear/pyproject.toml +0 -0
- {lobes_cli-0.91.0 → lobes_cli-0.92.0}/scripts/accept-by-proxy.sh +0 -0
- {lobes_cli-0.91.0 → lobes_cli-0.92.0}/scripts/accept-shape.sh +0 -0
- {lobes_cli-0.91.0 → lobes_cli-0.92.0}/scripts/audio-smoke.py +0 -0
- {lobes_cli-0.91.0 → lobes_cli-0.92.0}/scripts/clef_eval/compare.py +0 -0
- {lobes_cli-0.91.0 → lobes_cli-0.92.0}/scripts/clef_eval/run_nf4_probe.py +0 -0
- {lobes_cli-0.91.0 → lobes_cli-0.92.0}/scripts/clef_eval/run_probe.py +0 -0
- {lobes_cli-0.91.0 → lobes_cli-0.92.0}/scripts/clef_quant/quantize.py +0 -0
- {lobes_cli-0.91.0 → lobes_cli-0.92.0}/scripts/clef_sets/build_sets.py +0 -0
- {lobes_cli-0.91.0 → lobes_cli-0.92.0}/scripts/clef_sets/calibration.manifest.jsonl +0 -0
- {lobes_cli-0.91.0 → lobes_cli-0.92.0}/scripts/clef_sets/incidents.py +0 -0
- {lobes_cli-0.91.0 → lobes_cli-0.92.0}/scripts/clef_sets/probe.manifest.jsonl +0 -0
- {lobes_cli-0.91.0 → lobes_cli-0.92.0}/scripts/clef_sets/routing.py +0 -0
- {lobes_cli-0.91.0 → lobes_cli-0.92.0}/scripts/concurrency-probe.py +0 -0
- {lobes_cli-0.91.0 → lobes_cli-0.92.0}/scripts/embed_h2h/README.md +0 -0
- {lobes_cli-0.91.0 → lobes_cli-0.92.0}/scripts/embed_h2h/build_corpus.py +0 -0
- {lobes_cli-0.91.0 → lobes_cli-0.92.0}/scripts/embed_h2h/build_queries.py +0 -0
- {lobes_cli-0.91.0 → lobes_cli-0.92.0}/scripts/embed_h2h/corpus.jsonl +0 -0
- {lobes_cli-0.91.0 → lobes_cli-0.92.0}/scripts/embed_h2h/h2h.py +0 -0
- {lobes_cli-0.91.0 → lobes_cli-0.92.0}/scripts/embed_h2h/prompts.json +0 -0
- {lobes_cli-0.91.0 → lobes_cli-0.92.0}/scripts/embed_h2h/queries.jsonl +0 -0
- {lobes_cli-0.91.0 → lobes_cli-0.92.0}/scripts/gen-api-key.py +0 -0
- {lobes_cli-0.91.0 → lobes_cli-0.92.0}/scripts/live-check.sh +0 -0
- {lobes_cli-0.91.0 → lobes_cli-0.92.0}/scripts/prefill-depth-curve.py +0 -0
- {lobes_cli-0.91.0 → lobes_cli-0.92.0}/scripts/probe_reranker_calibration.py +0 -0
- {lobes_cli-0.91.0 → lobes_cli-0.92.0}/scripts/realtime-he-accept.py +0 -0
- {lobes_cli-0.91.0 → lobes_cli-0.92.0}/scripts/realtime-smoke.py +0 -0
- {lobes_cli-0.91.0 → lobes_cli-0.92.0}/scripts/realtime-voice-loop.py +0 -0
- {lobes_cli-0.91.0 → lobes_cli-0.92.0}/scripts/scan_deployment_secrets.py +0 -0
- {lobes_cli-0.91.0 → lobes_cli-0.92.0}/scripts/spec-arms.py +0 -0
- {lobes_cli-0.91.0 → lobes_cli-0.92.0}/scripts/spike-preflight.sh +0 -0
- {lobes_cli-0.91.0 → lobes_cli-0.92.0}/scripts/stream-measure.py +0 -0
- {lobes_cli-0.91.0 → lobes_cli-0.92.0}/scripts/validate-tiers.sh +0 -0
- {lobes_cli-0.91.0 → lobes_cli-0.92.0}/site/.env.example +0 -0
- {lobes_cli-0.91.0 → lobes_cli-0.92.0}/site/.gitignore +0 -0
- {lobes_cli-0.91.0 → lobes_cli-0.92.0}/site/.nvmrc +0 -0
- {lobes_cli-0.91.0 → lobes_cli-0.92.0}/site/README.md +0 -0
- {lobes_cli-0.91.0 → lobes_cli-0.92.0}/site/astro.config.mjs +0 -0
- {lobes_cli-0.91.0 → lobes_cli-0.92.0}/site/package-lock.json +0 -0
- {lobes_cli-0.91.0 → lobes_cli-0.92.0}/site/package.json +0 -0
- {lobes_cli-0.91.0 → lobes_cli-0.92.0}/site/proxy/gateway-proxy.mjs +0 -0
- {lobes_cli-0.91.0 → lobes_cli-0.92.0}/site/public/favicon.svg +0 -0
- {lobes_cli-0.91.0 → lobes_cli-0.92.0}/site/public/worklets/pcm-capture-processor.js +0 -0
- {lobes_cli-0.91.0 → lobes_cli-0.92.0}/site/src/components/ConnectionPanel.astro +0 -0
- {lobes_cli-0.91.0 → lobes_cli-0.92.0}/site/src/components/ConversationView.astro +0 -0
- {lobes_cli-0.91.0 → lobes_cli-0.92.0}/site/src/components/EventStream.astro +0 -0
- {lobes_cli-0.91.0 → lobes_cli-0.92.0}/site/src/components/Footer.astro +0 -0
- {lobes_cli-0.91.0 → lobes_cli-0.92.0}/site/src/components/Header.astro +0 -0
- {lobes_cli-0.91.0 → lobes_cli-0.92.0}/site/src/components/MicIsland.astro +0 -0
- {lobes_cli-0.91.0 → lobes_cli-0.92.0}/site/src/components/SignalMesh.astro +0 -0
- {lobes_cli-0.91.0 → lobes_cli-0.92.0}/site/src/layouts/Layout.astro +0 -0
- {lobes_cli-0.91.0 → lobes_cli-0.92.0}/site/src/pages/dev-connection.astro +0 -0
- {lobes_cli-0.91.0 → lobes_cli-0.92.0}/site/src/pages/dev-events.astro +0 -0
- {lobes_cli-0.91.0 → lobes_cli-0.92.0}/site/src/pages/dev-mic.astro +0 -0
- {lobes_cli-0.91.0 → lobes_cli-0.92.0}/site/src/pages/index.astro +0 -0
- {lobes_cli-0.91.0 → lobes_cli-0.92.0}/site/src/scripts/audio-graph.ts +0 -0
- {lobes_cli-0.91.0 → lobes_cli-0.92.0}/site/src/scripts/audio-playback.test.ts +0 -0
- {lobes_cli-0.91.0 → lobes_cli-0.92.0}/site/src/scripts/audio-playback.ts +0 -0
- {lobes_cli-0.91.0 → lobes_cli-0.92.0}/site/src/scripts/audio-test-doubles.ts +0 -0
- {lobes_cli-0.91.0 → lobes_cli-0.92.0}/site/src/scripts/connection-panel.ts +0 -0
- {lobes_cli-0.91.0 → lobes_cli-0.92.0}/site/src/scripts/conversation-view.ts +0 -0
- {lobes_cli-0.91.0 → lobes_cli-0.92.0}/site/src/scripts/demo-tools.ts +0 -0
- {lobes_cli-0.91.0 → lobes_cli-0.92.0}/site/src/scripts/dev-mic-harness.ts +0 -0
- {lobes_cli-0.91.0 → lobes_cli-0.92.0}/site/src/scripts/event-fixtures.ts +0 -0
- {lobes_cli-0.91.0 → lobes_cli-0.92.0}/site/src/scripts/event-icons.ts +0 -0
- {lobes_cli-0.91.0 → lobes_cli-0.92.0}/site/src/scripts/event-log.test.ts +0 -0
- {lobes_cli-0.91.0 → lobes_cli-0.92.0}/site/src/scripts/event-log.ts +0 -0
- {lobes_cli-0.91.0 → lobes_cli-0.92.0}/site/src/scripts/mic-capture.test.ts +0 -0
- {lobes_cli-0.91.0 → lobes_cli-0.92.0}/site/src/scripts/mic-capture.ts +0 -0
- {lobes_cli-0.91.0 → lobes_cli-0.92.0}/site/src/scripts/mic-island.test.ts +0 -0
- {lobes_cli-0.91.0 → lobes_cli-0.92.0}/site/src/scripts/mic-island.ts +0 -0
- {lobes_cli-0.91.0 → lobes_cli-0.92.0}/site/src/scripts/no-mic-mute.test.ts +0 -0
- {lobes_cli-0.91.0 → lobes_cli-0.92.0}/site/src/scripts/pcm-wire.test.ts +0 -0
- {lobes_cli-0.91.0 → lobes_cli-0.92.0}/site/src/scripts/pcm-wire.ts +0 -0
- {lobes_cli-0.91.0 → lobes_cli-0.92.0}/site/src/scripts/realtime-connection.ts +0 -0
- {lobes_cli-0.91.0 → lobes_cli-0.92.0}/site/src/scripts/realtime-events.ts +0 -0
- {lobes_cli-0.91.0 → lobes_cli-0.92.0}/site/src/styles/global.css +0 -0
- {lobes_cli-0.91.0 → lobes_cli-0.92.0}/site/test/connection-panel.test.ts +0 -0
- {lobes_cli-0.91.0 → lobes_cli-0.92.0}/site/test/conversation-view.test.ts +0 -0
- {lobes_cli-0.91.0 → lobes_cli-0.92.0}/site/test/demo-tools.test.ts +0 -0
- {lobes_cli-0.91.0 → lobes_cli-0.92.0}/site/test/gateway-proxy.test.ts +0 -0
- {lobes_cli-0.91.0 → lobes_cli-0.92.0}/site/test/realtime-connection.test.ts +0 -0
- {lobes_cli-0.91.0 → lobes_cli-0.92.0}/site/tsconfig.json +0 -0
- {lobes_cli-0.91.0 → lobes_cli-0.92.0}/site/vitest.config.ts +0 -0
- {lobes_cli-0.91.0 → lobes_cli-0.92.0}/sonar-project.properties +0 -0
- {lobes_cli-0.91.0 → lobes_cli-0.92.0}/tests/__init__.py +0 -0
- {lobes_cli-0.91.0 → lobes_cli-0.92.0}/tests/conftest.py +0 -0
- {lobes_cli-0.91.0 → lobes_cli-0.92.0}/tests/fixtures/deployments/fixture-card/Dockerfile.gateway +0 -0
- {lobes_cli-0.91.0 → lobes_cli-0.92.0}/tests/fixtures/deployments/fixture-card/VARIATION.md +0 -0
- {lobes_cli-0.91.0 → lobes_cli-0.92.0}/tests/fixtures/deployments/fixture-card/deployment.lock.toml +0 -0
- {lobes_cli-0.91.0 → lobes_cli-0.92.0}/tests/fixtures/deployments/fixture-card/docker-compose.override.yml +0 -0
- {lobes_cli-0.91.0 → lobes_cli-0.92.0}/tests/fixtures/deployments/fixture-card/docker-compose.yml +0 -0
- {lobes_cli-0.91.0 → lobes_cli-0.92.0}/tests/fixtures/deployments/fixture-card__fixture-shape/VARIATION.md +0 -0
- {lobes_cli-0.91.0 → lobes_cli-0.92.0}/tests/fixtures/deployments/fixture-card__fixture-shape/deployment.lock.toml +0 -0
- {lobes_cli-0.91.0 → lobes_cli-0.92.0}/tests/fixtures/deployments/fixture-card__fixture-shape/docker-compose.override.yml +0 -0
- {lobes_cli-0.91.0 → lobes_cli-0.92.0}/tests/fixtures/deployments/fixture-card__fixture-shape/docker-compose.shape.yml +0 -0
- {lobes_cli-0.91.0 → lobes_cli-0.92.0}/tests/fixtures/deployments/fixture-card__fixture-shape/docker-compose.yml +0 -0
- {lobes_cli-0.91.0 → lobes_cli-0.92.0}/tests/fixtures/upgrade_compat/README.md +0 -0
- {lobes_cli-0.91.0 → lobes_cli-0.92.0}/tests/fixtures/upgrade_compat/fleet/docker-compose.yml +0 -0
- {lobes_cli-0.91.0 → lobes_cli-0.92.0}/tests/fixtures/upgrade_compat/fleet/env.example +0 -0
- {lobes_cli-0.91.0 → lobes_cli-0.92.0}/tests/fixtures/upgrade_compat/single/docker-compose.yml +0 -0
- {lobes_cli-0.91.0 → lobes_cli-0.92.0}/tests/fixtures/upgrade_compat/single/env.example +0 -0
- {lobes_cli-0.91.0 → lobes_cli-0.92.0}/tests/goldens/README.md +0 -0
- {lobes_cli-0.91.0 → lobes_cli-0.92.0}/tests/goldens/__init__.py +0 -0
- {lobes_cli-0.91.0 → lobes_cli-0.92.0}/tests/goldens/base.env +0 -0
- {lobes_cli-0.91.0 → lobes_cli-0.92.0}/tests/goldens/orin.env +0 -0
- {lobes_cli-0.91.0 → lobes_cli-0.92.0}/tests/goldens/overlays/audio-he-defaults.env +0 -0
- {lobes_cli-0.91.0 → lobes_cli-0.92.0}/tests/goldens/regen.py +0 -0
- {lobes_cli-0.91.0 → lobes_cli-0.92.0}/tests/goldens/shapes/gateway-only__base.env +0 -0
- {lobes_cli-0.91.0 → lobes_cli-0.92.0}/tests/goldens/shapes/gateway-only__orin.env +0 -0
- {lobes_cli-0.91.0 → lobes_cli-0.92.0}/tests/goldens/shapes/gateway-only__spark.env +0 -0
- {lobes_cli-0.91.0 → lobes_cli-0.92.0}/tests/goldens/shapes/gateway-only__thor.env +0 -0
- {lobes_cli-0.91.0 → lobes_cli-0.92.0}/tests/goldens/shapes/orin-associate__base.env +0 -0
- {lobes_cli-0.91.0 → lobes_cli-0.92.0}/tests/goldens/shapes/orin-associate__orin.env +0 -0
- {lobes_cli-0.91.0 → lobes_cli-0.92.0}/tests/goldens/shapes/orin-associate__spark.env +0 -0
- {lobes_cli-0.91.0 → lobes_cli-0.92.0}/tests/goldens/shapes/orin-associate__thor.env +0 -0
- {lobes_cli-0.91.0 → lobes_cli-0.92.0}/tests/goldens/shapes/orin-cortex__base.env +0 -0
- {lobes_cli-0.91.0 → lobes_cli-0.92.0}/tests/goldens/shapes/orin-cortex__orin.env +0 -0
- {lobes_cli-0.91.0 → lobes_cli-0.92.0}/tests/goldens/shapes/orin-cortex__spark.env +0 -0
- {lobes_cli-0.91.0 → lobes_cli-0.92.0}/tests/goldens/shapes/orin-cortex__thor.env +0 -0
- {lobes_cli-0.91.0 → lobes_cli-0.92.0}/tests/goldens/shapes/orin-decider__base.env +0 -0
- {lobes_cli-0.91.0 → lobes_cli-0.92.0}/tests/goldens/shapes/orin-decider__orin.env +0 -0
- {lobes_cli-0.91.0 → lobes_cli-0.92.0}/tests/goldens/shapes/orin-decider__spark.env +0 -0
- {lobes_cli-0.91.0 → lobes_cli-0.92.0}/tests/goldens/shapes/orin-decider__thor.env +0 -0
- {lobes_cli-0.91.0 → lobes_cli-0.92.0}/tests/goldens/shapes/orin-embed__base.env +0 -0
- {lobes_cli-0.91.0 → lobes_cli-0.92.0}/tests/goldens/shapes/orin-embed__orin.env +0 -0
- {lobes_cli-0.91.0 → lobes_cli-0.92.0}/tests/goldens/shapes/orin-embed__spark.env +0 -0
- {lobes_cli-0.91.0 → lobes_cli-0.92.0}/tests/goldens/shapes/orin-embed__thor.env +0 -0
- {lobes_cli-0.91.0 → lobes_cli-0.92.0}/tests/goldens/shapes/orin-lobe__base.env +0 -0
- {lobes_cli-0.91.0 → lobes_cli-0.92.0}/tests/goldens/shapes/orin-lobe__orin.env +0 -0
- {lobes_cli-0.91.0 → lobes_cli-0.92.0}/tests/goldens/shapes/orin-lobe__spark.env +0 -0
- {lobes_cli-0.91.0 → lobes_cli-0.92.0}/tests/goldens/shapes/orin-lobe__thor.env +0 -0
- {lobes_cli-0.91.0 → lobes_cli-0.92.0}/tests/goldens/shapes/orin-small__base.env +0 -0
- {lobes_cli-0.91.0 → lobes_cli-0.92.0}/tests/goldens/shapes/orin-small__orin.env +0 -0
- {lobes_cli-0.91.0 → lobes_cli-0.92.0}/tests/goldens/shapes/orin-small__spark.env +0 -0
- {lobes_cli-0.91.0 → lobes_cli-0.92.0}/tests/goldens/shapes/orin-small__thor.env +0 -0
- {lobes_cli-0.91.0 → lobes_cli-0.92.0}/tests/goldens/shapes/spark-innereye__base.env +0 -0
- {lobes_cli-0.91.0 → lobes_cli-0.92.0}/tests/goldens/shapes/spark-innereye__orin.env +0 -0
- {lobes_cli-0.91.0 → lobes_cli-0.92.0}/tests/goldens/shapes/spark-innereye__spark.env +0 -0
- {lobes_cli-0.91.0 → lobes_cli-0.92.0}/tests/goldens/shapes/spark-innereye__thor.env +0 -0
- {lobes_cli-0.91.0 → lobes_cli-0.92.0}/tests/goldens/shapes/spark-lobe__base.env +0 -0
- {lobes_cli-0.91.0 → lobes_cli-0.92.0}/tests/goldens/shapes/spark-lobe__orin.env +0 -0
- {lobes_cli-0.91.0 → lobes_cli-0.92.0}/tests/goldens/shapes/spark-lobe__spark.env +0 -0
- {lobes_cli-0.91.0 → lobes_cli-0.92.0}/tests/goldens/shapes/spark-lobe__thor.env +0 -0
- {lobes_cli-0.91.0 → lobes_cli-0.92.0}/tests/goldens/shapes/thor-lobe__base.env +0 -0
- {lobes_cli-0.91.0 → lobes_cli-0.92.0}/tests/goldens/shapes/thor-lobe__orin.env +0 -0
- {lobes_cli-0.91.0 → lobes_cli-0.92.0}/tests/goldens/shapes/thor-lobe__spark.env +0 -0
- {lobes_cli-0.91.0 → lobes_cli-0.92.0}/tests/goldens/shapes/thor-lobe__thor.env +0 -0
- {lobes_cli-0.91.0 → lobes_cli-0.92.0}/tests/goldens/shapes/thor-muse__base.env +0 -0
- {lobes_cli-0.91.0 → lobes_cli-0.92.0}/tests/goldens/shapes/thor-muse__orin.env +0 -0
- {lobes_cli-0.91.0 → lobes_cli-0.92.0}/tests/goldens/shapes/thor-muse__spark.env +0 -0
- {lobes_cli-0.91.0 → lobes_cli-0.92.0}/tests/goldens/shapes/thor-muse__thor.env +0 -0
- {lobes_cli-0.91.0 → lobes_cli-0.92.0}/tests/goldens/shapes/thor-worker__base.env +0 -0
- {lobes_cli-0.91.0 → lobes_cli-0.92.0}/tests/goldens/shapes/thor-worker__orin.env +0 -0
- {lobes_cli-0.91.0 → lobes_cli-0.92.0}/tests/goldens/shapes/thor-worker__spark.env +0 -0
- {lobes_cli-0.91.0 → lobes_cli-0.92.0}/tests/goldens/shapes/thor-worker__thor.env +0 -0
- {lobes_cli-0.91.0 → lobes_cli-0.92.0}/tests/goldens/spark.env +0 -0
- {lobes_cli-0.91.0 → lobes_cli-0.92.0}/tests/goldens/template-defaults.env +0 -0
- {lobes_cli-0.91.0 → lobes_cli-0.92.0}/tests/goldens/thor.env +0 -0
- {lobes_cli-0.91.0 → lobes_cli-0.92.0}/tests/test_assess.py +0 -0
- {lobes_cli-0.91.0 → lobes_cli-0.92.0}/tests/test_assess_perf.py +0 -0
- {lobes_cli-0.91.0 → lobes_cli-0.92.0}/tests/test_associate_compose.py +0 -0
- {lobes_cli-0.91.0 → lobes_cli-0.92.0}/tests/test_associate_exposure.py +0 -0
- {lobes_cli-0.91.0 → lobes_cli-0.92.0}/tests/test_associate_gateway_boundaries.py +0 -0
- {lobes_cli-0.91.0 → lobes_cli-0.92.0}/tests/test_audio_he_compose_chain.py +0 -0
- {lobes_cli-0.91.0 → lobes_cli-0.92.0}/tests/test_audio_he_goldens.py +0 -0
- {lobes_cli-0.91.0 → lobes_cli-0.92.0}/tests/test_audio_he_stt_compose.py +0 -0
- {lobes_cli-0.91.0 → lobes_cli-0.92.0}/tests/test_audio_he_tts_compose.py +0 -0
- {lobes_cli-0.91.0 → lobes_cli-0.92.0}/tests/test_bench_compare.py +0 -0
- {lobes_cli-0.91.0 → lobes_cli-0.92.0}/tests/test_bench_report.py +0 -0
- {lobes_cli-0.91.0 → lobes_cli-0.92.0}/tests/test_benchmark_all_lobes.py +0 -0
- {lobes_cli-0.91.0 → lobes_cli-0.92.0}/tests/test_benchmark_window.py +0 -0
- {lobes_cli-0.91.0 → lobes_cli-0.92.0}/tests/test_bluetts_dockerfile.py +0 -0
- {lobes_cli-0.91.0 → lobes_cli-0.92.0}/tests/test_bluetts_server.py +0 -0
- {lobes_cli-0.91.0 → lobes_cli-0.92.0}/tests/test_boundary_serves_only.py +0 -0
- {lobes_cli-0.91.0 → lobes_cli-0.92.0}/tests/test_buildability_guard.py +0 -0
- {lobes_cli-0.91.0 → lobes_cli-0.92.0}/tests/test_calibration_knee.py +0 -0
- {lobes_cli-0.91.0 → lobes_cli-0.92.0}/tests/test_capabilities_member_lanes.py +0 -0
- {lobes_cli-0.91.0 → lobes_cli-0.92.0}/tests/test_cat_probe.py +0 -0
- {lobes_cli-0.91.0 → lobes_cli-0.92.0}/tests/test_cat_score.py +0 -0
- {lobes_cli-0.91.0 → lobes_cli-0.92.0}/tests/test_catalog_embed_lanes.py +0 -0
- {lobes_cli-0.91.0 → lobes_cli-0.92.0}/tests/test_chatterbox_ml_dockerfile.py +0 -0
- {lobes_cli-0.91.0 → lobes_cli-0.92.0}/tests/test_chatterbox_multilingual_server.py +0 -0
- {lobes_cli-0.91.0 → lobes_cli-0.92.0}/tests/test_chatterbox_pcm16.py +0 -0
- {lobes_cli-0.91.0 → lobes_cli-0.92.0}/tests/test_chatterbox_readiness.py +0 -0
- {lobes_cli-0.91.0 → lobes_cli-0.92.0}/tests/test_clef_eval.py +0 -0
- {lobes_cli-0.91.0 → lobes_cli-0.92.0}/tests/test_clef_quant_index.py +0 -0
- {lobes_cli-0.91.0 → lobes_cli-0.92.0}/tests/test_clef_sets.py +0 -0
- {lobes_cli-0.91.0 → lobes_cli-0.92.0}/tests/test_cli.py +0 -0
- {lobes_cli-0.91.0 → lobes_cli-0.92.0}/tests/test_cli_benchmark_profiles.py +0 -0
- {lobes_cli-0.91.0 → lobes_cli-0.92.0}/tests/test_cli_calibrate.py +0 -0
- {lobes_cli-0.91.0 → lobes_cli-0.92.0}/tests/test_cli_capabilities.py +0 -0
- {lobes_cli-0.91.0 → lobes_cli-0.92.0}/tests/test_cli_capabilities_replicas.py +0 -0
- {lobes_cli-0.91.0 → lobes_cli-0.92.0}/tests/test_cli_eval.py +0 -0
- {lobes_cli-0.91.0 → lobes_cli-0.92.0}/tests/test_cli_eval_cat.py +0 -0
- {lobes_cli-0.91.0 → lobes_cli-0.92.0}/tests/test_cli_fleet.py +0 -0
- {lobes_cli-0.91.0 → lobes_cli-0.92.0}/tests/test_cli_gateway_auth.py +0 -0
- {lobes_cli-0.91.0 → lobes_cli-0.92.0}/tests/test_cli_introspection.py +0 -0
- {lobes_cli-0.91.0 → lobes_cli-0.92.0}/tests/test_cli_lanes.py +0 -0
- {lobes_cli-0.91.0 → lobes_cli-0.92.0}/tests/test_cli_logs.py +0 -0
- {lobes_cli-0.91.0 → lobes_cli-0.92.0}/tests/test_cli_measure.py +0 -0
- {lobes_cli-0.91.0 → lobes_cli-0.92.0}/tests/test_cli_mesh.py +0 -0
- {lobes_cli-0.91.0 → lobes_cli-0.92.0}/tests/test_cli_route.py +0 -0
- {lobes_cli-0.91.0 → lobes_cli-0.92.0}/tests/test_cli_run.py +0 -0
- {lobes_cli-0.91.0 → lobes_cli-0.92.0}/tests/test_cli_tunnel.py +0 -0
- {lobes_cli-0.91.0 → lobes_cli-0.92.0}/tests/test_cli_up.py +0 -0
- {lobes_cli-0.91.0 → lobes_cli-0.92.0}/tests/test_cli_up_replace.py +0 -0
- {lobes_cli-0.91.0 → lobes_cli-0.92.0}/tests/test_cli_wiring.py +0 -0
- {lobes_cli-0.91.0 → lobes_cli-0.92.0}/tests/test_client_reasoning_roundtrip.py +0 -0
- {lobes_cli-0.91.0 → lobes_cli-0.92.0}/tests/test_colleague_contract.py +0 -0
- {lobes_cli-0.91.0 → lobes_cli-0.92.0}/tests/test_comfyui_compose.py +0 -0
- {lobes_cli-0.91.0 → lobes_cli-0.92.0}/tests/test_comfyui_dockerfile.py +0 -0
- {lobes_cli-0.91.0 → lobes_cli-0.92.0}/tests/test_comfyui_volumes.py +0 -0
- {lobes_cli-0.91.0 → lobes_cli-0.92.0}/tests/test_compose_chain.py +0 -0
- {lobes_cli-0.91.0 → lobes_cli-0.92.0}/tests/test_decider_render.py +0 -0
- {lobes_cli-0.91.0 → lobes_cli-0.92.0}/tests/test_decider_sidecar.py +0 -0
- {lobes_cli-0.91.0 → lobes_cli-0.92.0}/tests/test_decider_sidecar_vllm.py +0 -0
- {lobes_cli-0.91.0 → lobes_cli-0.92.0}/tests/test_deployment_lock.py +0 -0
- {lobes_cli-0.91.0 → lobes_cli-0.92.0}/tests/test_deployment_lock_doc.py +0 -0
- {lobes_cli-0.91.0 → lobes_cli-0.92.0}/tests/test_detect.py +0 -0
- {lobes_cli-0.91.0 → lobes_cli-0.92.0}/tests/test_doctor.py +0 -0
- {lobes_cli-0.91.0 → lobes_cli-0.92.0}/tests/test_doctor_audio_he.py +0 -0
- {lobes_cli-0.91.0 → lobes_cli-0.92.0}/tests/test_doctor_fix.py +0 -0
- {lobes_cli-0.91.0 → lobes_cli-0.92.0}/tests/test_doctor_lane_safety.py +0 -0
- {lobes_cli-0.91.0 → lobes_cli-0.92.0}/tests/test_doctor_machine_profile.py +0 -0
- {lobes_cli-0.91.0 → lobes_cli-0.92.0}/tests/test_doctor_mesh_retirement.py +0 -0
- {lobes_cli-0.91.0 → lobes_cli-0.92.0}/tests/test_doctor_passthrough.py +0 -0
- {lobes_cli-0.91.0 → lobes_cli-0.92.0}/tests/test_doctor_refresh_plugin.py +0 -0
- {lobes_cli-0.91.0 → lobes_cli-0.92.0}/tests/test_doctor_repin_version.py +0 -0
- {lobes_cli-0.91.0 → lobes_cli-0.92.0}/tests/test_doctor_role_command.py +0 -0
- {lobes_cli-0.91.0 → lobes_cli-0.92.0}/tests/test_doctor_role_probe.py +0 -0
- {lobes_cli-0.91.0 → lobes_cli-0.92.0}/tests/test_dropped_lobe_honesty.py +0 -0
- {lobes_cli-0.91.0 → lobes_cli-0.92.0}/tests/test_embed_finetune.py +0 -0
- {lobes_cli-0.91.0 → lobes_cli-0.92.0}/tests/test_embed_h2h.py +0 -0
- {lobes_cli-0.91.0 → lobes_cli-0.92.0}/tests/test_embed_lanes.py +0 -0
- {lobes_cli-0.91.0 → lobes_cli-0.92.0}/tests/test_embed_lanes_import.py +0 -0
- {lobes_cli-0.91.0 → lobes_cli-0.92.0}/tests/test_embed_overlay.py +0 -0
- {lobes_cli-0.91.0 → lobes_cli-0.92.0}/tests/test_embed_sidecar.py +0 -0
- {lobes_cli-0.91.0 → lobes_cli-0.92.0}/tests/test_fleet_audio_vad_env.py +0 -0
- {lobes_cli-0.91.0 → lobes_cli-0.92.0}/tests/test_fleet_compose_mounts.py +0 -0
- {lobes_cli-0.91.0 → lobes_cli-0.92.0}/tests/test_fleet_minor.py +0 -0
- {lobes_cli-0.91.0 → lobes_cli-0.92.0}/tests/test_fleet_per_machine_knobs.py +0 -0
- {lobes_cli-0.91.0 → lobes_cli-0.92.0}/tests/test_fleet_secrets_env_file.py +0 -0
- {lobes_cli-0.91.0 → lobes_cli-0.92.0}/tests/test_fleet_template_gateway_env.py +0 -0
- {lobes_cli-0.91.0 → lobes_cli-0.92.0}/tests/test_gateway_audio_peer.py +0 -0
- {lobes_cli-0.91.0 → lobes_cli-0.92.0}/tests/test_gateway_audio_routing.py +0 -0
- {lobes_cli-0.91.0 → lobes_cli-0.92.0}/tests/test_gateway_auth.py +0 -0
- {lobes_cli-0.91.0 → lobes_cli-0.92.0}/tests/test_gateway_auth_rejection_log.py +0 -0
- {lobes_cli-0.91.0 → lobes_cli-0.92.0}/tests/test_gateway_busy_e2e.py +0 -0
- {lobes_cli-0.91.0 → lobes_cli-0.92.0}/tests/test_gateway_capabilities.py +0 -0
- {lobes_cli-0.91.0 → lobes_cli-0.92.0}/tests/test_gateway_config_proxy.py +0 -0
- {lobes_cli-0.91.0 → lobes_cli-0.92.0}/tests/test_gateway_config_replicas.py +0 -0
- {lobes_cli-0.91.0 → lobes_cli-0.92.0}/tests/test_gateway_config_wiring.py +0 -0
- {lobes_cli-0.91.0 → lobes_cli-0.92.0}/tests/test_gateway_decider.py +0 -0
- {lobes_cli-0.91.0 → lobes_cli-0.92.0}/tests/test_gateway_decider_mesh.py +0 -0
- {lobes_cli-0.91.0 → lobes_cli-0.92.0}/tests/test_gateway_embed_deep.py +0 -0
- {lobes_cli-0.91.0 → lobes_cli-0.92.0}/tests/test_gateway_embed_lanes.py +0 -0
- {lobes_cli-0.91.0 → lobes_cli-0.92.0}/tests/test_gateway_env_passthrough_guard.py +0 -0
- {lobes_cli-0.91.0 → lobes_cli-0.92.0}/tests/test_gateway_feasibility.py +0 -0
- {lobes_cli-0.91.0 → lobes_cli-0.92.0}/tests/test_gateway_fleet_doc.py +0 -0
- {lobes_cli-0.91.0 → lobes_cli-0.92.0}/tests/test_gateway_force_strict.py +0 -0
- {lobes_cli-0.91.0 → lobes_cli-0.92.0}/tests/test_gateway_get_relay.py +0 -0
- {lobes_cli-0.91.0 → lobes_cli-0.92.0}/tests/test_gateway_hand_adapters.py +0 -0
- {lobes_cli-0.91.0 → lobes_cli-0.92.0}/tests/test_gateway_member_lanes.py +0 -0
- {lobes_cli-0.91.0 → lobes_cli-0.92.0}/tests/test_gateway_no_lifecycle_actuator.py +0 -0
- {lobes_cli-0.91.0 → lobes_cli-0.92.0}/tests/test_gateway_peer_advert.py +0 -0
- {lobes_cli-0.91.0 → lobes_cli-0.92.0}/tests/test_gateway_peer_only_pool.py +0 -0
- {lobes_cli-0.91.0 → lobes_cli-0.92.0}/tests/test_gateway_pool.py +0 -0
- {lobes_cli-0.91.0 → lobes_cli-0.92.0}/tests/test_gateway_pool_capacity_wiring.py +0 -0
- {lobes_cli-0.91.0 → lobes_cli-0.92.0}/tests/test_gateway_pool_pressure.py +0 -0
- {lobes_cli-0.91.0 → lobes_cli-0.92.0}/tests/test_gateway_pool_saturation.py +0 -0
- {lobes_cli-0.91.0 → lobes_cli-0.92.0}/tests/test_gateway_readiness.py +0 -0
- {lobes_cli-0.91.0 → lobes_cli-0.92.0}/tests/test_gateway_realtime_ws.py +0 -0
- {lobes_cli-0.91.0 → lobes_cli-0.92.0}/tests/test_gateway_render_facade.py +0 -0
- {lobes_cli-0.91.0 → lobes_cli-0.92.0}/tests/test_gateway_replicas.py +0 -0
- {lobes_cli-0.91.0 → lobes_cli-0.92.0}/tests/test_gateway_routing.py +0 -0
- {lobes_cli-0.91.0 → lobes_cli-0.92.0}/tests/test_gateway_selection.py +0 -0
- {lobes_cli-0.91.0 → lobes_cli-0.92.0}/tests/test_gateway_serve_mesh_wiring.py +0 -0
- {lobes_cli-0.91.0 → lobes_cli-0.92.0}/tests/test_gateway_server.py +0 -0
- {lobes_cli-0.91.0 → lobes_cli-0.92.0}/tests/test_gateway_status.py +0 -0
- {lobes_cli-0.91.0 → lobes_cli-0.92.0}/tests/test_gateway_stream_termination.py +0 -0
- {lobes_cli-0.91.0 → lobes_cli-0.92.0}/tests/test_gateway_tiers.py +0 -0
- {lobes_cli-0.91.0 → lobes_cli-0.92.0}/tests/test_gemma4_compose.py +0 -0
- {lobes_cli-0.91.0 → lobes_cli-0.92.0}/tests/test_gemma4_dockerfile.py +0 -0
- {lobes_cli-0.91.0 → lobes_cli-0.92.0}/tests/test_gen_api_key.py +0 -0
- {lobes_cli-0.91.0 → lobes_cli-0.92.0}/tests/test_gitignore_convention.py +0 -0
- {lobes_cli-0.91.0 → lobes_cli-0.92.0}/tests/test_governor.py +0 -0
- {lobes_cli-0.91.0 → lobes_cli-0.92.0}/tests/test_init.py +0 -0
- {lobes_cli-0.91.0 → lobes_cli-0.92.0}/tests/test_init_audio_he.py +0 -0
- {lobes_cli-0.91.0 → lobes_cli-0.92.0}/tests/test_init_coresidency.py +0 -0
- {lobes_cli-0.91.0 → lobes_cli-0.92.0}/tests/test_init_from_lock.py +0 -0
- {lobes_cli-0.91.0 → lobes_cli-0.92.0}/tests/test_init_gpu_access.py +0 -0
- {lobes_cli-0.91.0 → lobes_cli-0.92.0}/tests/test_init_profile.py +0 -0
- {lobes_cli-0.91.0 → lobes_cli-0.92.0}/tests/test_init_shape.py +0 -0
- {lobes_cli-0.91.0 → lobes_cli-0.92.0}/tests/test_innereye_ui_port.py +0 -0
- {lobes_cli-0.91.0 → lobes_cli-0.92.0}/tests/test_lane_safety_compose.py +0 -0
- {lobes_cli-0.91.0 → lobes_cli-0.92.0}/tests/test_lane_safety_knobs_documented.py +0 -0
- {lobes_cli-0.91.0 → lobes_cli-0.92.0}/tests/test_lane_state_dir.py +0 -0
- {lobes_cli-0.91.0 → lobes_cli-0.92.0}/tests/test_lifecycle_cache_clear.py +0 -0
- {lobes_cli-0.91.0 → lobes_cli-0.92.0}/tests/test_listen_server_whisper.py +0 -0
- {lobes_cli-0.91.0 → lobes_cli-0.92.0}/tests/test_live_capabilities.py +0 -0
- {lobes_cli-0.91.0 → lobes_cli-0.92.0}/tests/test_lobes_compose_wrapper.py +0 -0
- {lobes_cli-0.91.0 → lobes_cli-0.92.0}/tests/test_lock_drift.py +0 -0
- {lobes_cli-0.91.0 → lobes_cli-0.92.0}/tests/test_logwrap_backoff.py +0 -0
- {lobes_cli-0.91.0 → lobes_cli-0.92.0}/tests/test_logwrap_held.py +0 -0
- {lobes_cli-0.91.0 → lobes_cli-0.92.0}/tests/test_logwrap_hold.py +0 -0
- {lobes_cli-0.91.0 → lobes_cli-0.92.0}/tests/test_machine_adapter.py +0 -0
- {lobes_cli-0.91.0 → lobes_cli-0.92.0}/tests/test_machines.py +0 -0
- {lobes_cli-0.91.0 → lobes_cli-0.92.0}/tests/test_mesh_config.py +0 -0
- {lobes_cli-0.91.0 → lobes_cli-0.92.0}/tests/test_mesh_flap_per_name.py +0 -0
- {lobes_cli-0.91.0 → lobes_cli-0.92.0}/tests/test_mesh_heartbeat_live.py +0 -0
- {lobes_cli-0.91.0 → lobes_cli-0.92.0}/tests/test_mesh_lanes.py +0 -0
- {lobes_cli-0.91.0 → lobes_cli-0.92.0}/tests/test_mesh_member_lanes.py +0 -0
- {lobes_cli-0.91.0 → lobes_cli-0.92.0}/tests/test_mesh_naming.py +0 -0
- {lobes_cli-0.91.0 → lobes_cli-0.92.0}/tests/test_mesh_roster.py +0 -0
- {lobes_cli-0.91.0 → lobes_cli-0.92.0}/tests/test_mesh_routes.py +0 -0
- {lobes_cli-0.91.0 → lobes_cli-0.92.0}/tests/test_mesh_routing.py +0 -0
- {lobes_cli-0.91.0 → lobes_cli-0.92.0}/tests/test_mesh_routing_wiring.py +0 -0
- {lobes_cli-0.91.0 → lobes_cli-0.92.0}/tests/test_mesh_templates.py +0 -0
- {lobes_cli-0.91.0 → lobes_cli-0.92.0}/tests/test_mesh_verify_reason.py +0 -0
- {lobes_cli-0.91.0 → lobes_cli-0.92.0}/tests/test_mesh_wire.py +0 -0
- {lobes_cli-0.91.0 → lobes_cli-0.92.0}/tests/test_minor_client.py +0 -0
- {lobes_cli-0.91.0 → lobes_cli-0.92.0}/tests/test_minor_governance.py +0 -0
- {lobes_cli-0.91.0 → lobes_cli-0.92.0}/tests/test_minor_integration.py +0 -0
- {lobes_cli-0.91.0 → lobes_cli-0.92.0}/tests/test_minor_logprobs.py +0 -0
- {lobes_cli-0.91.0 → lobes_cli-0.92.0}/tests/test_nightly_migration_doc.py +0 -0
- {lobes_cli-0.91.0 → lobes_cli-0.92.0}/tests/test_no_config_byte_identity.py +0 -0
- {lobes_cli-0.91.0 → lobes_cli-0.92.0}/tests/test_orin_associate_boot_order.py +0 -0
- {lobes_cli-0.91.0 → lobes_cli-0.92.0}/tests/test_orin_associate_shape.py +0 -0
- {lobes_cli-0.91.0 → lobes_cli-0.92.0}/tests/test_orin_cortex_shape.py +0 -0
- {lobes_cli-0.91.0 → lobes_cli-0.92.0}/tests/test_orin_decider_shape.py +0 -0
- {lobes_cli-0.91.0 → lobes_cli-0.92.0}/tests/test_orin_embed_shape.py +0 -0
- {lobes_cli-0.91.0 → lobes_cli-0.92.0}/tests/test_orin_gateway_read_timeout.py +0 -0
- {lobes_cli-0.91.0 → lobes_cli-0.92.0}/tests/test_orin_lobe_shape.py +0 -0
- {lobes_cli-0.91.0 → lobes_cli-0.92.0}/tests/test_overview_live.py +0 -0
- {lobes_cli-0.91.0 → lobes_cli-0.92.0}/tests/test_parser.py +0 -0
- {lobes_cli-0.91.0 → lobes_cli-0.92.0}/tests/test_peer_referral.py +0 -0
- {lobes_cli-0.91.0 → lobes_cli-0.92.0}/tests/test_pooling_gear_fingerprint.py +0 -0
- {lobes_cli-0.91.0 → lobes_cli-0.92.0}/tests/test_preserve_thinking_diagnostic.py +0 -0
- {lobes_cli-0.91.0 → lobes_cli-0.92.0}/tests/test_pressure.py +0 -0
- {lobes_cli-0.91.0 → lobes_cli-0.92.0}/tests/test_pressure_policy.py +0 -0
- {lobes_cli-0.91.0 → lobes_cli-0.92.0}/tests/test_profile_goldens.py +0 -0
- {lobes_cli-0.91.0 → lobes_cli-0.92.0}/tests/test_profile_render.py +0 -0
- {lobes_cli-0.91.0 → lobes_cli-0.92.0}/tests/test_profile_schema.py +0 -0
- {lobes_cli-0.91.0 → lobes_cli-0.92.0}/tests/test_profiles.py +0 -0
- {lobes_cli-0.91.0 → lobes_cli-0.92.0}/tests/test_readiness_peer_probe.py +0 -0
- {lobes_cli-0.91.0 → lobes_cli-0.92.0}/tests/test_realtime_app_stream_structure.py +0 -0
- {lobes_cli-0.91.0 → lobes_cli-0.92.0}/tests/test_realtime_audio_env_coverage.py +0 -0
- {lobes_cli-0.91.0 → lobes_cli-0.92.0}/tests/test_realtime_audio_facade.py +0 -0
- {lobes_cli-0.91.0 → lobes_cli-0.92.0}/tests/test_realtime_continuation.py +0 -0
- {lobes_cli-0.91.0 → lobes_cli-0.92.0}/tests/test_realtime_conversation.py +0 -0
- {lobes_cli-0.91.0 → lobes_cli-0.92.0}/tests/test_realtime_conversation_stream.py +0 -0
- {lobes_cli-0.91.0 → lobes_cli-0.92.0}/tests/test_realtime_floor.py +0 -0
- {lobes_cli-0.91.0 → lobes_cli-0.92.0}/tests/test_realtime_floor_segments.py +0 -0
- {lobes_cli-0.91.0 → lobes_cli-0.92.0}/tests/test_realtime_generate_failure_surfacing.py +0 -0
- {lobes_cli-0.91.0 → lobes_cli-0.92.0}/tests/test_realtime_generate_stream_settings.py +0 -0
- {lobes_cli-0.91.0 → lobes_cli-0.92.0}/tests/test_realtime_he_accept_helpers.py +0 -0
- {lobes_cli-0.91.0 → lobes_cli-0.92.0}/tests/test_realtime_imports.py +0 -0
- {lobes_cli-0.91.0 → lobes_cli-0.92.0}/tests/test_realtime_parallel_tool_calls.py +0 -0
- {lobes_cli-0.91.0 → lobes_cli-0.92.0}/tests/test_realtime_pcm.py +0 -0
- {lobes_cli-0.91.0 → lobes_cli-0.92.0}/tests/test_realtime_protocol.py +0 -0
- {lobes_cli-0.91.0 → lobes_cli-0.92.0}/tests/test_realtime_readiness.py +0 -0
- {lobes_cli-0.91.0 → lobes_cli-0.92.0}/tests/test_realtime_segmenter.py +0 -0
- {lobes_cli-0.91.0 → lobes_cli-0.92.0}/tests/test_realtime_segmenter_eager.py +0 -0
- {lobes_cli-0.91.0 → lobes_cli-0.92.0}/tests/test_realtime_segmenter_level_gate.py +0 -0
- {lobes_cli-0.91.0 → lobes_cli-0.92.0}/tests/test_realtime_sentences.py +0 -0
- {lobes_cli-0.91.0 → lobes_cli-0.92.0}/tests/test_realtime_session.py +0 -0
- {lobes_cli-0.91.0 → lobes_cli-0.92.0}/tests/test_realtime_settings.py +0 -0
- {lobes_cli-0.91.0 → lobes_cli-0.92.0}/tests/test_realtime_smoke_helpers.py +0 -0
- {lobes_cli-0.91.0 → lobes_cli-0.92.0}/tests/test_realtime_speculation.py +0 -0
- {lobes_cli-0.91.0 → lobes_cli-0.92.0}/tests/test_realtime_stt_forward.py +0 -0
- {lobes_cli-0.91.0 → lobes_cli-0.92.0}/tests/test_realtime_timings.py +0 -0
- {lobes_cli-0.91.0 → lobes_cli-0.92.0}/tests/test_realtime_tts_gate.py +0 -0
- {lobes_cli-0.91.0 → lobes_cli-0.92.0}/tests/test_realtime_tts_text.py +0 -0
- {lobes_cli-0.91.0 → lobes_cli-0.92.0}/tests/test_realtime_turn.py +0 -0
- {lobes_cli-0.91.0 → lobes_cli-0.92.0}/tests/test_realtime_turn_stream.py +0 -0
- {lobes_cli-0.91.0 → lobes_cli-0.92.0}/tests/test_realtime_vocalize.py +0 -0
- {lobes_cli-0.91.0 → lobes_cli-0.92.0}/tests/test_realtime_wire.py +0 -0
- {lobes_cli-0.91.0 → lobes_cli-0.92.0}/tests/test_role_probes.py +0 -0
- {lobes_cli-0.91.0 → lobes_cli-0.92.0}/tests/test_roles_audio_advert.py +0 -0
- {lobes_cli-0.91.0 → lobes_cli-0.92.0}/tests/test_roles_audio_language.py +0 -0
- {lobes_cli-0.91.0 → lobes_cli-0.92.0}/tests/test_roles_proxied.py +0 -0
- {lobes_cli-0.91.0 → lobes_cli-0.92.0}/tests/test_roles_replicas.py +0 -0
- {lobes_cli-0.91.0 → lobes_cli-0.92.0}/tests/test_routing_models_member_lanes.py +0 -0
- {lobes_cli-0.91.0 → lobes_cli-0.92.0}/tests/test_scan_deployment_secrets.py +0 -0
- {lobes_cli-0.91.0 → lobes_cli-0.92.0}/tests/test_senses_speculative_config.py +0 -0
- {lobes_cli-0.91.0 → lobes_cli-0.92.0}/tests/test_shape_budgets.py +0 -0
- {lobes_cli-0.91.0 → lobes_cli-0.92.0}/tests/test_shape_contract_matrix.py +0 -0
- {lobes_cli-0.91.0 → lobes_cli-0.92.0}/tests/test_shape_gateway_only.py +0 -0
- {lobes_cli-0.91.0 → lobes_cli-0.92.0}/tests/test_shape_goldens.py +0 -0
- {lobes_cli-0.91.0 → lobes_cli-0.92.0}/tests/test_shape_host_env_rerender.py +0 -0
- {lobes_cli-0.91.0 → lobes_cli-0.92.0}/tests/test_shapes.py +0 -0
- {lobes_cli-0.91.0 → lobes_cli-0.92.0}/tests/test_smoke_duo.py +0 -0
- {lobes_cli-0.91.0 → lobes_cli-0.92.0}/tests/test_spec_arms.py +0 -0
- {lobes_cli-0.91.0 → lobes_cli-0.92.0}/tests/test_spike_preflight.py +0 -0
- {lobes_cli-0.91.0 → lobes_cli-0.92.0}/tests/test_status_fleet.py +0 -0
- {lobes_cli-0.91.0 → lobes_cli-0.92.0}/tests/test_status_pressure.py +0 -0
- {lobes_cli-0.91.0 → lobes_cli-0.92.0}/tests/test_switch_bf16.py +0 -0
- {lobes_cli-0.91.0 → lobes_cli-0.92.0}/tests/test_switch_plan_goldens.py +0 -0
- {lobes_cli-0.91.0 → lobes_cli-0.92.0}/tests/test_templates_preserve_thinking.py +0 -0
- {lobes_cli-0.91.0 → lobes_cli-0.92.0}/tests/test_tier_request.py +0 -0
- {lobes_cli-0.91.0 → lobes_cli-0.92.0}/tests/test_tool_parser_plugin.py +0 -0
- {lobes_cli-0.91.0 → lobes_cli-0.92.0}/tests/test_tts_client_hebrew_diacritizer.py +0 -0
- {lobes_cli-0.91.0 → lobes_cli-0.92.0}/tests/test_tts_pause_and_truncation.py +0 -0
- {lobes_cli-0.91.0 → lobes_cli-0.92.0}/tests/test_up_no_deps_isolation.py +0 -0
- {lobes_cli-0.91.0 → lobes_cli-0.92.0}/tests/test_upgrade_compat.py +0 -0
- {lobes_cli-0.91.0 → lobes_cli-0.92.0}/tests/test_variation.py +0 -0
- {lobes_cli-0.91.0 → lobes_cli-0.92.0}/tests/test_variation_catalog.py +0 -0
- {lobes_cli-0.91.0 → lobes_cli-0.92.0}/tests/test_vllm_plugin_thinking.py +0 -0
- {lobes_cli-0.91.0 → lobes_cli-0.92.0}/tests/test_watcher.py +0 -0
- {lobes_cli-0.91.0 → lobes_cli-0.92.0}/tests/test_wheel_excludes_deployments.py +0 -0
- {lobes_cli-0.91.0 → lobes_cli-0.92.0}/tests/test_whisper_stt_dockerfile.py +0 -0
- {lobes_cli-0.91.0 → lobes_cli-0.92.0}/tests/test_worker_compose.py +0 -0
- {lobes_cli-0.91.0 → lobes_cli-0.92.0}/tests/test_worker_recipe_knobs.py +0 -0
|
@@ -4,6 +4,16 @@ All notable changes to this project are documented here. The format is based on
|
|
|
4
4
|
[Keep a Changelog](https://keepachangelog.com/en/1.1.0/), and this project
|
|
5
5
|
adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html).
|
|
6
6
|
|
|
7
|
+
## [0.92.0] - 2026-10-26
|
|
8
|
+
|
|
9
|
+
### Added
|
|
10
|
+
|
|
11
|
+
- Catalog entry `nvidia/NVIDIA-Nemotron-3.5-Bolt-74B-A9B-24GB` (74B-A9B MoE hybrid, text+image+video, 262144 native, modelopt mixed IQ2/Q8/NVFP4, DFlash LiLiCorr draft) with its doc, a `qwen3_coder` parser rule, and a Spark GB10 acceptance transcript (text, image, tool call and a 231,935-token needle pass).
|
|
12
|
+
|
|
13
|
+
### Changed
|
|
14
|
+
|
|
15
|
+
- `worker` is now Nemotron 3.5 Bolt (operator decision, 2026-10-26), hosted on the DGX Spark; `nvidia/Qwen3.6-35B-A3B-NVFP4` is demoted to a kept candidate. The worker contract is unchanged. Bolt needs the card's vLLM nightly plus `b12x` and is sm_12x-only; the packaged `vllm-worker` lane cannot express its flags yet, so the Spark serves it through a full command in its hand-kept override.
|
|
16
|
+
|
|
7
17
|
## [0.91.0] - 2026-10-23
|
|
8
18
|
|
|
9
19
|
### Added
|
|
@@ -345,6 +345,19 @@ entry, and the `thor-muse` shape all **stay in-tree** (cite-don't-delete) —
|
|
|
345
345
|
dormant, not deleted — and the tier vocabulary above still ranks `worker` <
|
|
346
346
|
`muse`. See `docs/gemma-4-31b-nvfp4.md`.
|
|
347
347
|
|
|
348
|
+
**`worker` re-checkpointed again (2026-10-26, operator decision): Nemotron 3.5
|
|
349
|
+
Bolt 74B-A9B 24GB, hosted on the DGX Spark.** The catalog's `worker` role_hint
|
|
350
|
+
moved from `nvidia/Qwen3.6-35B-A3B-NVFP4` (now a kept candidate) to
|
|
351
|
+
`nvidia/NVIDIA-Nemotron-3.5-Bolt-74B-A9B-24GB`: a ~9B-active MoE hybrid with a
|
|
352
|
+
RADIO ViT (image+video), 262144 native, DFlash from its LiLiCorr draft, the
|
|
353
|
+
same multimodal-coder contract. Its IQ2 experts run only on sm_12x, so the
|
|
354
|
+
Spark hosts it (cortex is dropped there and served by spark2) and the Thor
|
|
355
|
+
stops hosting worker. The packaged `vllm-worker` lane cannot express its flags
|
|
356
|
+
yet; the Spark serves it through a full command in its hand-kept override. See
|
|
357
|
+
`docs/nemotron-3.5-bolt-74b-a9b-24gb.md` and
|
|
358
|
+
`docs/evidence/2026-10-26-accept-nemotron-bolt-spark.txt`. The paragraphs
|
|
359
|
+
below are the record of the Qwen and Lightning workers before it.
|
|
360
|
+
|
|
348
361
|
**`worker` — the eighth role (opt-in hosting), the fast ground-work DOER —
|
|
349
362
|
RE-CHECKPOINTED AGAIN, issue #244 (2026-09-10), off Lightning onto
|
|
350
363
|
`nvidia/Qwen3.6-35B-A3B-NVFP4`.** Deviation d1 (2026-08-20) had put worker on
|
|
@@ -383,8 +396,8 @@ exactly (`WORKER_FEASIBLE` / `WORKER_PEER_ORIGIN` / `WORKER_PEER_PROXY` /
|
|
|
383
396
|
like `muse`). Under pressure `worker` sheds (429) exactly like
|
|
384
397
|
cortex/senses/muse.
|
|
385
398
|
|
|
386
|
-
**
|
|
387
|
-
proxy (2026-09-11).** The Thor serves the lane locally through the
|
|
399
|
+
**(Superseded 2026-10-26 — see the Bolt paragraph above.) Hosted on the Jetson
|
|
400
|
+
AGX Thor again (#244); the DGX Spark reaches it by proxy (2026-09-11).** The Thor serves the lane locally through the
|
|
388
401
|
`thor-worker` shape at `gpu_mem_util=0.45`, full `max_model_len=262144`,
|
|
389
402
|
DFlash speculation, and `WORKER_MAX_NUM_SEQS=1`. One request at a time is
|
|
390
403
|
**by design** and is still to be tested under a real multi-agent load. See
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.5
|
|
2
2
|
Name: lobes-cli
|
|
3
|
-
Version: 0.
|
|
3
|
+
Version: 0.92.0
|
|
4
4
|
Summary: lobes — run, assess, and switch the local vLLM model.
|
|
5
5
|
Project-URL: Homepage, https://github.com/agentculture/lobes-cli
|
|
6
6
|
Project-URL: Issues, https://github.com/agentculture/lobes-cli/issues
|
|
@@ -0,0 +1,117 @@
|
|
|
1
|
+
ACCEPTANCE — nvidia/NVIDIA-Nemotron-3.5-Bolt-74B-A9B-24GB served standalone on the DGX Spark GB10
|
|
2
|
+
Date: 2026-10-25 22:36Z - 22:47Z (UTC)
|
|
3
|
+
Box: DGX Spark GB10 (sm_121, 128 GB unified memory)
|
|
4
|
+
Scope: one standalone vLLM container via sparkrun, OUTSIDE the lobes fleet compose and gateway.
|
|
5
|
+
Proves the checkpoint boots and serves on this card with the recipe below. It does NOT
|
|
6
|
+
prove `lobes switch`, a fleet lane, a shape or a gateway route — none of those exist for it.
|
|
7
|
+
|
|
8
|
+
== Checkpoint ==
|
|
9
|
+
model: nvidia/NVIDIA-Nemotron-3.5-Bolt-74B-A9B-24GB @ c6cc2e8ffa353403213d6b9b18aaf8eb684d705a
|
|
10
|
+
draft: nvidia/NVIDIA-Nemotron-3.5-Bolt-74B-A9B-24GB-LiLiCorr @ 449d24140160b8e51871bfc0f0a7338abf640aa1
|
|
11
|
+
config.json: NemotronHPuzzleForCausalLM in a nemotron_h_omni wrapper; RADIO vision_config; no sound_config;
|
|
12
|
+
llm_config.max_position_embeddings 262144
|
|
13
|
+
quantization_config: quant_method modelopt, quant_algo MIXED_PRECISION
|
|
14
|
+
IQ2_XXS 27,728 layers / Q8_0 113 / W4A16_NVFP4 80
|
|
15
|
+
|
|
16
|
+
== Engine ==
|
|
17
|
+
image: vllm/vllm-openai:nightly-77154ca6116ae34cbfe314beef1016bde9b63989 + b12x 1.5.1 baked in
|
|
18
|
+
(the card installs b12x at container start; baked so the boot runs offline)
|
|
19
|
+
vllm: 0.32.0rc1.dev100+g77154ca61 torch 2.13.0+cu130
|
|
20
|
+
Resolved architecture: NemotronH_Omni_Reasoning_V3 (target), LiLiCorrDraftModel (draft)
|
|
21
|
+
|
|
22
|
+
== Serve flags (the card's vLLM command, with the deviations marked) ==
|
|
23
|
+
--revision c6cc2e8f... --trust-remote-code --load-format auto --tensor-parallel-size 1
|
|
24
|
+
--max-model-len 262144 --max-num-seqs 1 --enable-chunked-prefill --kv-cache-dtype fp8
|
|
25
|
+
--linear-backend b12x --moe-backend b12x --attention-backend FLASHINFER
|
|
26
|
+
--mamba-backend flashinfer --mamba-ssm-cache-dtype bfloat16 --mamba-cache-dtype bfloat16 --mamba-cache-mode align
|
|
27
|
+
--limit-mm-per-prompt '{"video":1,"image":1}' --video-pruning-rate 0.5
|
|
28
|
+
--media-io-kwargs '{"video":{"fps":2,"num_frames":256}}'
|
|
29
|
+
--enable-auto-tool-choice --tool-call-parser qwen3_coder
|
|
30
|
+
--reasoning-parser-plugin <checkpoint>/ultra_v3_reasoning_parser.py --reasoning-parser ultra_v3
|
|
31
|
+
--speculative-config '{"method":"dflash","model":"...-LiLiCorr","revision":"449d2414...","num_speculative_tokens":7,
|
|
32
|
+
"rejection_sample_method":"standard","attention_backend":"FLASHINFER","draft_load_config":{"load_format":"auto"}}'
|
|
33
|
+
--seed 42
|
|
34
|
+
DEVIATION --kv-cache-memory-bytes 4294967296 (4 GiB) added; --gpu-memory-utilization 0.40 then only gates the
|
|
35
|
+
startup free-memory check. Reason: on this unified-memory box a util-sized KV pool is not
|
|
36
|
+
deterministic (vLLM's profiling counts other processes' memory growth), measured the same night on a
|
|
37
|
+
different checkpoint at util 0.70 / 0.60 / 0.63 -> 22.99 / 5.87 / 2.94 GiB.
|
|
38
|
+
DEVIATION --allowed-local-media-path / dropped (it lets any caller read any file on the box via file:// URLs).
|
|
39
|
+
DEVIATION revisions pinned; bound to 127.0.0.1.
|
|
40
|
+
|
|
41
|
+
== Boot ==
|
|
42
|
+
22:39:14 Loading weights took 125.55 seconds (target); 22:39:34 5.63 seconds (draft)
|
|
43
|
+
22:39:35 Model loading took 24.09 GiB memory and 150.801226 seconds
|
|
44
|
+
22:40:18 Initial free memory 105.18 GiB, reserved 4.0 GiB memory for KV Cache as specified by kv_cache_memory_bytes
|
|
45
|
+
22:40:18 GPU KV cache size: 350,464 tokens, Maximum concurrency for 262,144 tokens per request: 1.34x
|
|
46
|
+
22:40:30 Application startup complete; inference ready
|
|
47
|
+
WARNING max_num_scheduled_tokens is set to 2048 based on the speculative decoding settings (vLLM's own note)
|
|
48
|
+
|
|
49
|
+
== Probes (temperature 1.0, top_p 0.95, thinking on by default) ==
|
|
50
|
+
/v1/models: ['nemotron-3.5-bolt', 'nvidia/NVIDIA-Nemotron-3.5-Bolt-74B-A9B-24GB']
|
|
51
|
+
known-answer "What is 17*23?" -> '391', reasoning split off (149 chars) 0.8 s PASS
|
|
52
|
+
image 64x64 solid red PNG -> 'Red' 2.0 s PASS
|
|
53
|
+
image 64x64 solid blue PNG -> 'Blue' 3.1 s PASS
|
|
54
|
+
image 64x64 solid green PNG -> 'Green' 2.2 s PASS
|
|
55
|
+
tool call get_weather, "weather in Haifa?" -> finish_reason tool_calls,
|
|
56
|
+
get_weather({"city": "Haifa"}), content None 1.2 s PASS
|
|
57
|
+
speed palindrome function -> 359 completion tokens in 5.2 s wall = 69.3 tok/s
|
|
58
|
+
(one request; wall clock includes prefill and reasoning)
|
|
59
|
+
long context 231,935-token prompt, needle mid-document
|
|
60
|
+
-> 'PELICAN-4471' 200.3 s PASS
|
|
61
|
+
The image probes are synthetic solid colours: they prove the vision path is wired and the colour
|
|
62
|
+
negative controls separate, not real-image quality.
|
|
63
|
+
|
|
64
|
+
== Host after the probes ==
|
|
65
|
+
host MemAvailable 70,146 MiB
|
|
66
|
+
kernel NV_ERR_NO_MEMORY lines since the boot: 0
|
|
67
|
+
hottest ACPI zone 86 C (just after the 200 s long-context prefill)
|
|
68
|
+
|
|
69
|
+
== Not proven here ==
|
|
70
|
+
- Any lobes path: `lobes switch` (the stock template's image lacks the nightly + b12x), a fleet lane, a gateway route.
|
|
71
|
+
- Other cards: the IQ2 expert path is sm_12x-only in vLLM; the Orin (sm_87) refuses it, the Thor (sm_110) is untried.
|
|
72
|
+
- Concurrency above 1, sustained decode speed under load, DFlash acceptance rates.
|
|
73
|
+
|
|
74
|
+
======================================================================================================
|
|
75
|
+
PART 2 — Bolt as THE `worker`, served by the Spark's lobes `vllm-worker` lane (2026-10-25 22:56Z - 23:20Z)
|
|
76
|
+
======================================================================================================
|
|
77
|
+
Operator decision: `worker` = Bolt, hosted on the Spark (sm_12x only); cortex dropped on the Spark and served
|
|
78
|
+
by spark2 alone; the Thor stops hosting its nvidia/Qwen3.6-35B-A3B-NVFP4 worker and reaches `worker` by mesh.
|
|
79
|
+
|
|
80
|
+
== Spark deployment (hand-kept files, each backed up first) ==
|
|
81
|
+
.env: WORKER_MODEL / WORKER_SERVED_NAME = nvidia/NVIDIA-Nemotron-3.5-Bolt-74B-A9B-24GB, WORKER_MAX_MODEL_LEN=262144,
|
|
82
|
+
WORKER_QUANTIZATION=modelopt_mixed (what vLLM resolves for this config), WORKER_GPU_MEM_UTIL=0.40,
|
|
83
|
+
WORKER_IMAGE=<the nightly + b12x image above>, WORKER_FEASIBLE=true, COMPOSE_PROFILES=worker,
|
|
84
|
+
PRIMARY_FEASIBLE=false
|
|
85
|
+
docker-compose.override.yml: vllm-worker `command:` replaced with the PART 1 flag list (the packaged lane cannot
|
|
86
|
+
express --linear-backend, the mamba cache flags, --kv-cache-memory-bytes, the media limits or the
|
|
87
|
+
reasoning-parser plugin), `depends_on: !reset null` (the pooling lanes it waits on are not hosted here)
|
|
88
|
+
docker-compose.shape.yml: vllm-primary parked in the inert shape-dropped profile
|
|
89
|
+
`lobes up worker --apply`, then `lobes up gateway --apply`
|
|
90
|
+
|
|
91
|
+
== Lane boot (cold compile cache) ==
|
|
92
|
+
22:59:20 Model loading took 24.09 GiB memory and 155.386063 seconds
|
|
93
|
+
23:01:24 GPU KV cache size: 350,464 tokens, Maximum concurrency for 262,144 tokens per request: 1.34x
|
|
94
|
+
Application startup complete; container healthy
|
|
95
|
+
|
|
96
|
+
== Thor ==
|
|
97
|
+
.env backed up; WORKER_FEASIBLE=false (explicit), worker dropped from COMPOSE_PROFILES, WORKER_MODEL /
|
|
98
|
+
WORKER_SERVED_NAME set to the Bolt id (advert only). `lobes up worker --down --apply` (with worker still in
|
|
99
|
+
COMPOSE_PROFILES: the verb refuses a role the .env does not activate), then `lobes up gateway --apply`.
|
|
100
|
+
Host MemAvailable after the gateway was healthy: 62 GiB.
|
|
101
|
+
|
|
102
|
+
== Through each member's gateway (API key on) ==
|
|
103
|
+
/capabilities worker model=worker model=cortex
|
|
104
|
+
spark (host) feasible true, ready true, context 262144, quant modelopt '391' local '391' via spark2
|
|
105
|
+
thor feasible false, ready true, hosted_by spark, proxied true '391' via spark '391' via spark2
|
|
106
|
+
spark2 feasible false, ready true, hosted_by spark, proxied true '391' via spark '391' local
|
|
107
|
+
Every forward carried X-Lobes-Mesh-Member (spark for worker, spark2 for cortex) and X-Lobes-Proxied-By.
|
|
108
|
+
|
|
109
|
+
Via the Thor's gateway (mesh forward to the Spark lane):
|
|
110
|
+
image 64x64 solid red -> 'red' 5.5 s PASS
|
|
111
|
+
image 64x64 solid blue -> 'Blue' 2.1 s PASS
|
|
112
|
+
tool get_weather -> finish_reason tool_calls, get_weather({"city": "Haifa"}) 1.9 s PASS
|
|
113
|
+
|
|
114
|
+
== Not proven by PART 2 ==
|
|
115
|
+
- The packaged template serving Bolt (it cannot yet; the Spark uses an override command).
|
|
116
|
+
- Load: `--max-num-seqs 1`, so concurrent worker callers queue.
|
|
117
|
+
- The Orin member's view (not probed).
|
|
@@ -0,0 +1,105 @@
|
|
|
1
|
+
# NVIDIA Nemotron 3.5 Bolt 74B-A9B 24GB — the `worker` role
|
|
2
|
+
|
|
3
|
+
> One entry in lobes's **supported catalog** (`lobes overview --list`). For the
|
|
4
|
+
> catalog-vs-warm distinction — what you *can* load vs. what's loaded *now* —
|
|
5
|
+
> see
|
|
6
|
+
> [`gateway-fleet.md`](gateway-fleet.md#supported-catalog-vs-warm-backends).
|
|
7
|
+
>
|
|
8
|
+
> **Status: the `worker` role_hint (operator decision, 2026-10-26)**,
|
|
9
|
+
> replacing `nvidia/Qwen3.6-35B-A3B-NVFP4` (now a kept candidate — see
|
|
10
|
+
> [`nvidia-qwen3.6-35b-a3b-nvfp4.md`](nvidia-qwen3.6-35b-a3b-nvfp4.md)). The
|
|
11
|
+
> worker contract does not move: Bolt is a fast multimodal (image+video)
|
|
12
|
+
> coder/doer with tool calls, which is exactly what `roles.py` already
|
|
13
|
+
> promises. It is hosted on the **DGX Spark** — the only card family its IQ2
|
|
14
|
+
> experts run on — and every other mesh member reaches `worker` through the
|
|
15
|
+
> mesh. Measured as a standalone container first
|
|
16
|
+
> ([`evidence/2026-10-26-accept-nemotron-bolt-spark.txt`](evidence/2026-10-26-accept-nemotron-bolt-spark.txt)).
|
|
17
|
+
>
|
|
18
|
+
> **The packaged template cannot express Bolt's flags yet.** The fleet
|
|
19
|
+
> `vllm-worker` lane has no knob for `--linear-backend`, the mamba cache
|
|
20
|
+
> flags, `--kv-cache-memory-bytes`, the media limits or the reasoning-parser
|
|
21
|
+
> plugin, and it always passes `--quantization`. The Spark serves it through a
|
|
22
|
+
> full `command:` replacement in its hand-kept `docker-compose.override.yml`
|
|
23
|
+
> (the [recipe](#serving-it-on-the-spark) below). `lobes switch` to this id
|
|
24
|
+
> will not boot on the stock template either (see [Engine](#engine)).
|
|
25
|
+
|
|
26
|
+
## What it is
|
|
27
|
+
|
|
28
|
+
| | |
|
|
29
|
+
|---|---|
|
|
30
|
+
| id | `nvidia/NVIDIA-Nemotron-3.5-Bolt-74B-A9B-24GB` |
|
|
31
|
+
| revision | `c6cc2e8ffa353403213d6b9b18aaf8eb684d705a` |
|
|
32
|
+
| architecture | `NemotronHPuzzleForCausalLM` in a `nemotron_h_omni` wrapper: hybrid Mamba-2 / attention with sparse MoE, about 9B active of 74B total |
|
|
33
|
+
| modalities | text, image and video (RADIO vision encoder); no audio |
|
|
34
|
+
| context | 262144 native (`llm_config.max_position_embeddings`) |
|
|
35
|
+
| quantization | `modelopt_mixed` (the checkpoint's `quant_method` is modelopt, `MIXED_PRECISION`): IQ2_XXS on the routed experts (~2.06 bits, ggml packing), Q8_0, and W4A16 NVFP4 on the mixer projections — 24.09 GiB loaded |
|
|
36
|
+
| tool parser | `qwen3_coder` (the card's own serve command) |
|
|
37
|
+
| reasoning parser | `ultra_v3`, shipped as a plugin file inside the checkpoint |
|
|
38
|
+
| speculative decoding | DFlash, 7 draft tokens, from `nvidia/NVIDIA-Nemotron-3.5-Bolt-74B-A9B-24GB-LiLiCorr` @ `449d2414…` |
|
|
39
|
+
| licence | OpenMDW 1.1 (the card) |
|
|
40
|
+
|
|
41
|
+
All of the above was read from the checkpoint's own `config.json` and
|
|
42
|
+
`hf_quant_config.json` at the pinned revision, and from its card's vLLM
|
|
43
|
+
command.
|
|
44
|
+
|
|
45
|
+
## Engine
|
|
46
|
+
|
|
47
|
+
- **sm_12x only.** vLLM's IQ2 expert path is gated to Blackwell consumer/GB10
|
|
48
|
+
silicon. The Jetson AGX Orin (sm_87) refuses it on v0.32.0 and on main; the
|
|
49
|
+
Jetson AGX Thor (sm_110) has not been tried.
|
|
50
|
+
- **Nightly plus `b12x`.** The card names
|
|
51
|
+
`vllm/vllm-openai:nightly-77154ca6116ae34cbfe314beef1016bde9b63989` and
|
|
52
|
+
installs `b12x` at container start (`--linear-backend b12x --moe-backend
|
|
53
|
+
b12x`). The measured run used that nightly with `b12x==1.5.1` baked into a
|
|
54
|
+
derived image so the boot runs offline (vLLM `0.32.0rc1.dev100+g77154ca61`).
|
|
55
|
+
|
|
56
|
+
## Serving it on the Spark
|
|
57
|
+
|
|
58
|
+
The measured recipe is the card's vLLM command with three deviations:
|
|
59
|
+
|
|
60
|
+
1. **`--kv-cache-memory-bytes 4294967296` (4 GiB).** On the Spark's unified
|
|
61
|
+
memory a KV pool sized by `--gpu-memory-utilization` is not
|
|
62
|
+
deterministic: vLLM's profiling counts other processes' memory growth, so
|
|
63
|
+
the same flag gives very different pools from boot to boot. Pinning the
|
|
64
|
+
pool makes the footprint predictable. 4 GiB holds 350,464 fp8 tokens = 1.34
|
|
65
|
+
full 262144-token requests; `--max-num-seqs` is 1 as on the card.
|
|
66
|
+
2. **`--allowed-local-media-path /` dropped.** That flag lets any caller read
|
|
67
|
+
any file on the box through a `file://` URL.
|
|
68
|
+
3. **Revisions pinned**, and the server bound to `127.0.0.1`.
|
|
69
|
+
|
|
70
|
+
The full flag list is in the evidence transcript.
|
|
71
|
+
|
|
72
|
+
## Measured — DGX Spark GB10, 2026-10-25
|
|
73
|
+
|
|
74
|
+
From
|
|
75
|
+
[`evidence/2026-10-26-accept-nemotron-bolt-spark.txt`](evidence/2026-10-26-accept-nemotron-bolt-spark.txt):
|
|
76
|
+
|
|
77
|
+
| | |
|
|
78
|
+
|---|---|
|
|
79
|
+
| weights | 24.09 GiB, 150.8 s to load |
|
|
80
|
+
| KV pool | 4.0 GiB pinned = 350,464 tokens (1.34× at 262144) |
|
|
81
|
+
| host memory available after the probes | 70,146 MiB |
|
|
82
|
+
| known-answer | PASS (`391`, reasoning split off) |
|
|
83
|
+
| image | PASS on red / blue / green solid-colour controls (synthetic) |
|
|
84
|
+
| tool call | PASS — `get_weather({"city": "Haifa"})`, `finish_reason: tool_calls` |
|
|
85
|
+
| speed | 69.3 tok/s wall on one short request (includes prefill and reasoning) |
|
|
86
|
+
| long context | PASS — 231,935-token needle retrieved in 200.3 s |
|
|
87
|
+
|
|
88
|
+
## Measured — as the `worker` lane, 2026-10-25
|
|
89
|
+
|
|
90
|
+
PART 2 of the same transcript: the Spark's lobes `vllm-worker` lane (cold
|
|
91
|
+
compile, the same 350,464-token pinned pool), reached as `model=worker` from
|
|
92
|
+
the spark, thor and spark2 gateways — the Thor and spark2 by mesh forward,
|
|
93
|
+
with `X-Lobes-Mesh-Member: spark`. Through the Thor's forward the red/blue
|
|
94
|
+
image controls and a `get_weather` tool call passed.
|
|
95
|
+
|
|
96
|
+
## Not proven
|
|
97
|
+
|
|
98
|
+
- The packaged template serving it (the Spark uses an override command), a
|
|
99
|
+
deployment shape that hosts it, and `lobes switch` to it — switch prints
|
|
100
|
+
the gear's serving note and, on `--apply`, writes `.env` without
|
|
101
|
+
restarting.
|
|
102
|
+
- Any card other than the Spark GB10.
|
|
103
|
+
- Concurrency above 1, sustained decode under load, and DFlash acceptance
|
|
104
|
+
rates.
|
|
105
|
+
- Real-image and video quality (the image probes are synthetic).
|
|
@@ -1,5 +1,13 @@
|
|
|
1
1
|
# `nvidia/Qwen3.6-35B-A3B-NVFP4` — the Thor `worker` lane
|
|
2
2
|
|
|
3
|
+
> **SUPERSEDED as the `worker` role_hint (2026-10-26, operator decision).**
|
|
4
|
+
> The catalog's `worker` moved to `nvidia/NVIDIA-Nemotron-3.5-Bolt-74B-A9B-24GB`,
|
|
5
|
+
> hosted on the DGX Spark (see
|
|
6
|
+
> [`nemotron-3.5-bolt-74b-a9b-24gb.md`](nemotron-3.5-bolt-74b-a9b-24gb.md)).
|
|
7
|
+
> This checkpoint is a kept `candidate` (cite-don't-delete); the
|
|
8
|
+
> `thor-worker` shape still renders it. Read "the `worker` lane" below as
|
|
9
|
+
> history.
|
|
10
|
+
|
|
3
11
|
**Status: VALIDATED live on the physical Jetson AGX Thor, 2026-09-10, on the
|
|
4
12
|
nightly `0.26.1rc1.dev942`; re-accepted on vLLM 0.31.0 (2026-10-17) for the
|
|
5
13
|
items listed in [Engine relabel](#engine-relabel-310-t15) only** — see
|
|
@@ -159,6 +159,12 @@ class SupportedModel:
|
|
|
159
159
|
modalities: tuple[str, ...] = ()
|
|
160
160
|
mrl_dims: tuple[int, ...] = ()
|
|
161
161
|
normalization: str = ""
|
|
162
|
+
# A vLLM gear the STOCK lane cannot boot, in one sentence naming what it
|
|
163
|
+
# needs instead (an image, a lane). "" (the default) means the stock
|
|
164
|
+
# template serves it. When set, `lobes switch` prints this note INSTEAD of
|
|
165
|
+
# its stock-template edit notices (which would be wrong advice) and its
|
|
166
|
+
# `--apply` writes `.env` without restarting, exactly like a non-vLLM gear.
|
|
167
|
+
serving_note: str = ""
|
|
162
168
|
|
|
163
169
|
|
|
164
170
|
SUPPORTED_MODELS: tuple[SupportedModel, ...] = (
|
|
@@ -1056,9 +1062,78 @@ SUPPORTED_MODELS: tuple[SupportedModel, ...] = (
|
|
|
1056
1062
|
# declared, UNMEASURED, and evaluated separately by plan task t2.
|
|
1057
1063
|
task="generate",
|
|
1058
1064
|
),
|
|
1065
|
+
SupportedModel(
|
|
1066
|
+
id="nvidia/NVIDIA-Nemotron-3.5-Bolt-74B-A9B-24GB",
|
|
1067
|
+
# The `worker` gear (operator decision, 2026-10-26), replacing
|
|
1068
|
+
# nvidia/Qwen3.6-35B-A3B-NVFP4 below (demoted to a kept candidate). It
|
|
1069
|
+
# fits the worker contract unchanged — a fast multimodal (image+video)
|
|
1070
|
+
# coder/doer with tool calls — so roles.py's responsibilities do not
|
|
1071
|
+
# move. It is hosted on the DGX Spark (sm_12x is the only card its IQ2
|
|
1072
|
+
# experts run on); other members reach `worker` through the mesh.
|
|
1073
|
+
#
|
|
1074
|
+
# Verified against the checkpoint's ACTUAL config files at the pinned
|
|
1075
|
+
# revision below, not card prose:
|
|
1076
|
+
# config.json
|
|
1077
|
+
# - architectures ["NemotronHPuzzleForCausalLM"] inside a
|
|
1078
|
+
# `nemotron_h_omni` wrapper; llm_config.max_position_embeddings
|
|
1079
|
+
# = 262144 (native); a RADIO vision_config, image and video
|
|
1080
|
+
# context tokens, and no sound_config — text+image+video.
|
|
1081
|
+
# - quantization_config.quant_method = "modelopt",
|
|
1082
|
+
# quant_algo = "MIXED_PRECISION": 27,728 IQ2_XXS layers (the
|
|
1083
|
+
# routed experts, ggml packing, ~2.06 bits), 113 Q8_0 and 80
|
|
1084
|
+
# W4A16_NVFP4 (the mixer in/out projections). That is what
|
|
1085
|
+
# makes 74B fit in ~24 GiB.
|
|
1086
|
+
# README (vLLM serve command): --moe-backend b12x and
|
|
1087
|
+
# --linear-backend b12x, the `ultra_v3` reasoning parser shipped as
|
|
1088
|
+
# a plugin file in the checkpoint, --tool-call-parser qwen3_coder,
|
|
1089
|
+
# and a DFlash draft from the separate -LiLiCorr repo.
|
|
1090
|
+
#
|
|
1091
|
+
# ENGINE: the IQ2 expert path is gated to sm_12x (the Spark's GB10) —
|
|
1092
|
+
# vLLM refuses it on the Orin (sm_87) and nothing has been tried on
|
|
1093
|
+
# the Thor. It needs the card's nightly plus the `b12x` package,
|
|
1094
|
+
# neither of which the fleet's pinned vLLM image carries, so
|
|
1095
|
+
# `lobes switch` to this id will NOT boot on the stock template.
|
|
1096
|
+
role_hint="worker",
|
|
1097
|
+
shape="MoE (~9B active of 74B) hybrid Mamba-2/attention + RADIO ViT (text+image+video)",
|
|
1098
|
+
context=_CONTEXT_256K_NATIVE,
|
|
1099
|
+
native_max_model_len=262144,
|
|
1100
|
+
tool_parser="qwen3_coder",
|
|
1101
|
+
# quant_method is "modelopt"; vLLM resolves this MIXED_PRECISION config
|
|
1102
|
+
# to "modelopt_mixed", which is what the Spark lane passes and what
|
|
1103
|
+
# was measured to boot.
|
|
1104
|
+
quantization="modelopt_mixed",
|
|
1105
|
+
# Spark GB10 2026-10-25, docs/evidence/2026-10-26-accept-nemotron-bolt-spark.txt:
|
|
1106
|
+
# PART 1 a standalone container (text/image/tools, 231,935-token needle
|
|
1107
|
+
# PASS); PART 2 the Spark's lobes `vllm-worker` lane, reached as
|
|
1108
|
+
# `model=worker` from the spark, thor and spark2 gateways.
|
|
1109
|
+
status="load-tested",
|
|
1110
|
+
doc="nemotron-3.5-bolt-74b-a9b-24gb.md",
|
|
1111
|
+
moe_backend="b12x",
|
|
1112
|
+
speculative_config=(
|
|
1113
|
+
'{"method": "dflash",'
|
|
1114
|
+
' "model": "nvidia/NVIDIA-Nemotron-3.5-Bolt-74B-A9B-24GB-LiLiCorr",'
|
|
1115
|
+
' "revision": "449d24140160b8e51871bfc0f0a7338abf640aa1",'
|
|
1116
|
+
' "num_speculative_tokens": 7}'
|
|
1117
|
+
),
|
|
1118
|
+
hf_revision="c6cc2e8ffa353403213d6b9b18aaf8eb684d705a",
|
|
1119
|
+
serving_note=(
|
|
1120
|
+
"needs the card's vLLM nightly plus b12x and an sm_12x card (the"
|
|
1121
|
+
" DGX Spark), with flags the stock lane does not pass — serve it on"
|
|
1122
|
+
" the vllm-worker lane"
|
|
1123
|
+
),
|
|
1124
|
+
task="generate",
|
|
1125
|
+
),
|
|
1059
1126
|
SupportedModel(
|
|
1060
1127
|
id="nvidia/Qwen3.6-35B-A3B-NVFP4",
|
|
1061
|
-
#
|
|
1128
|
+
# DEMOTED from role_hint="worker" to a kept candidate (2026-10-26,
|
|
1129
|
+
# operator decision): the `worker` seat moves to
|
|
1130
|
+
# nvidia/NVIDIA-Nemotron-3.5-Bolt-74B-A9B-24GB above, hosted on the DGX
|
|
1131
|
+
# Spark. Kept, not deleted (cite-don't-delete): every 2026-09-10..
|
|
1132
|
+
# 2026-10-26 worker-lane evidence transcript (the Thor, and the Spark's
|
|
1133
|
+
# proxy to it) was measured against this checkpoint, and the
|
|
1134
|
+
# `thor-worker` shape still renders it. Only role_hint moved.
|
|
1135
|
+
#
|
|
1136
|
+
# (History) The `worker` gear from issue #244, t1, taking the seat back from
|
|
1062
1137
|
# nvidia/NVIDIA-Nemotron-3.5-Lightning-30B-A3B-NVFP4 above (demoted to
|
|
1063
1138
|
# role_hint="candidate", kept — cite-don't-delete). A DISTINCT entry
|
|
1064
1139
|
# from BOTH other Qwen3.6-35B-A3B-NVFP4 catalog ids: unsloth/'s (the
|
|
@@ -1124,7 +1199,7 @@ SUPPORTED_MODELS: tuple[SupportedModel, ...] = (
|
|
|
1124
1199
|
# is left empty (auto-select) rather than carrying an untested guess
|
|
1125
1200
|
# forward — the outgoing unsloth 35B-A3B worker's own hard-won sm_110
|
|
1126
1201
|
# lesson was that every FORCED NVFP4 MoE backend was refused there.
|
|
1127
|
-
role_hint="
|
|
1202
|
+
role_hint="candidate",
|
|
1128
1203
|
shape=(
|
|
1129
1204
|
"hybrid Mamba/linear-attn MoE (~3B active) + ViT "
|
|
1130
1205
|
"(text+image+video, self-hosted MTP draft)"
|
|
@@ -1133,7 +1208,9 @@ SUPPORTED_MODELS: tuple[SupportedModel, ...] = (
|
|
|
1133
1208
|
native_max_model_len=262144,
|
|
1134
1209
|
tool_parser="qwen3_coder",
|
|
1135
1210
|
quantization="modelopt",
|
|
1136
|
-
|
|
1211
|
+
# VALIDATED live on the Jetson AGX Thor 2026-09-10 as the worker:
|
|
1212
|
+
# docs/evidence/2026-09-10-accept-nvidia-35b-a3b-thor.txt.
|
|
1213
|
+
status="load-tested",
|
|
1137
1214
|
doc="nvidia-qwen3.6-35b-a3b-nvfp4.md",
|
|
1138
1215
|
moe_backend="",
|
|
1139
1216
|
# Self-hosted draft (no external "model"/"draft_model_id" key), same
|
|
@@ -270,6 +270,25 @@ def _engine_notice(model) -> str | None:
|
|
|
270
270
|
)
|
|
271
271
|
|
|
272
272
|
|
|
273
|
+
def _serving_note_notice(model) -> str | None:
|
|
274
|
+
"""A vLLM gear the STOCK lane cannot boot: say what it needs instead.
|
|
275
|
+
|
|
276
|
+
The stock-template notices (remove the MTP primary's command items, add
|
|
277
|
+
``--moe-backend``) assume the stock image and the stock flags can serve
|
|
278
|
+
the gear. For a gear whose catalog entry carries a ``serving_note`` that
|
|
279
|
+
is false, and following them would mislead — e.g. removing
|
|
280
|
+
``--trust-remote-code`` from a checkpoint that needs it. Like
|
|
281
|
+
:func:`_engine_notice`, this is a notice, so ``--apply`` writes ``.env``
|
|
282
|
+
and does not restart the container (:func:`_apply_env_only`).
|
|
283
|
+
"""
|
|
284
|
+
if not model.serving_note:
|
|
285
|
+
return None
|
|
286
|
+
return (
|
|
287
|
+
f"the stock vLLM lane cannot boot this gear: it {model.serving_note}; "
|
|
288
|
+
f"see docs/{model.doc}."
|
|
289
|
+
)
|
|
290
|
+
|
|
291
|
+
|
|
273
292
|
def _lock_staleness_notice(deploy_dir) -> str | None:
|
|
274
293
|
"""A committed ``deployment.lock.toml`` is present — say so before writing ``.env``.
|
|
275
294
|
|
|
@@ -312,6 +331,10 @@ def _serve_notices(model_id: str, args: argparse.Namespace | None = None) -> lis
|
|
|
312
331
|
# "remove the MTP command items" / "add --moe-backend" are edits to a
|
|
313
332
|
# compose file that does not serve this gear at all.
|
|
314
333
|
return [notice for notice in [_engine_notice(model)] if notice]
|
|
334
|
+
if model is not None and model.serving_note:
|
|
335
|
+
# Same short-circuit, for a vLLM gear the stock lane cannot boot: the
|
|
336
|
+
# stock-template edit notices would be wrong advice for it.
|
|
337
|
+
return [notice for notice in [_serving_note_notice(model)] if notice]
|
|
315
338
|
if model is not None:
|
|
316
339
|
candidates += [
|
|
317
340
|
_mtp_removal_notice(model),
|
|
@@ -1,3 +1,10 @@
|
|
|
1
|
+
# NOT THE DEPLOYED STATE (2026-10-26): the mesh's `worker` is now Nemotron 3.5
|
|
2
|
+
# Bolt, hosted on the DGX Spark, and the Thor stopped hosting worker by hand
|
|
3
|
+
# (.env: WORKER_FEASIBLE=false, worker dropped from COMPOSE_PROFILES). This
|
|
4
|
+
# shape still hosts nvidia/Qwen3.6-35B-A3B-NVFP4 as `worker` and is kept as the
|
|
5
|
+
# rollback shape (cite-don't-delete). Re-rendering it on the Thor re-hosts that
|
|
6
|
+
# Qwen worker beside the Spark's Bolt: the mesh then sees two disagreeing
|
|
7
|
+
# `worker` members and exposes them only as worker-thor / worker-spark.
|
|
1
8
|
# The Jetson AGX Thor WORKER variant of a mesh-brain deployment: hosts the
|
|
2
9
|
# opt-in `worker` lobe (nvidia/Qwen3.6-35B-A3B-NVFP4 — the eighth Colleague
|
|
3
10
|
# role, the fast MULTIMODAL ground-work DOER) + the two pooling gears + the
|
|
@@ -123,6 +123,10 @@ _RULES: list[tuple[tuple[str, ...], str]] = [
|
|
|
123
123
|
# retired NVIDIA-Nemotron-3-Super-120B-A12B-NVFP4, a different family with
|
|
124
124
|
# no such card claim).
|
|
125
125
|
(("nemotron-3.5-lightning", "nemotron_3.5_lightning"), "qwen3_coder"),
|
|
126
|
+
# NVIDIA Nemotron 3.5 Bolt (the `worker` gear since 2026-10-26): its card's
|
|
127
|
+
# vLLM serve command passes `--tool-call-parser qwen3_coder`, the same
|
|
128
|
+
# cross-family claim as Lightning above. Scoped to the Bolt spelling only.
|
|
129
|
+
(("nemotron-3.5-bolt", "nemotron_3.5_bolt"), "qwen3_coder"),
|
|
126
130
|
]
|
|
127
131
|
|
|
128
132
|
|
|
@@ -267,10 +267,10 @@
|
|
|
267
267
|
"security_decision"
|
|
268
268
|
],
|
|
269
269
|
"loaded": false,
|
|
270
|
-
"model": "nvidia/
|
|
270
|
+
"model": "nvidia/NVIDIA-Nemotron-3.5-Bolt-74B-A9B-24GB",
|
|
271
271
|
"mtp": true,
|
|
272
272
|
"path": "/v1/chat/completions",
|
|
273
|
-
"quant": "
|
|
273
|
+
"quant": "modelopt_mixed",
|
|
274
274
|
"ready": false,
|
|
275
275
|
"responsibilities": [
|
|
276
276
|
"execution",
|
|
@@ -298,6 +298,22 @@
|
|
|
298
298
|
msg: tool-call parser (auto-selected): qwen3_coder
|
|
299
299
|
msg: quantization (from catalog): modelopt
|
|
300
300
|
note: non-MTP model — the template ships the MTP default primary's flags; REMOVE these `command:` list items by hand to serve this model (see docs/qwen3.6-27b-text-nvfp4-mtp.md):\n - '--speculative-config={"method": "mtp", "num_speculative_tokens": 2}'\n - --trust-remote-code
|
|
301
|
+
### nvidia/NVIDIA-Nemotron-3.5-Bolt-74B-A9B-24GB
|
|
302
|
+
VLLM_MODEL=nvidia/NVIDIA-Nemotron-3.5-Bolt-74B-A9B-24GB
|
|
303
|
+
VLLM_SERVED_NAME=nvidia/NVIDIA-Nemotron-3.5-Bolt-74B-A9B-24GB
|
|
304
|
+
VLLM_PORT=8000
|
|
305
|
+
VLLM_PURPOSE=balanced
|
|
306
|
+
VLLM_MACHINE=spark
|
|
307
|
+
VLLM_MAX_MODEL_LEN=262144
|
|
308
|
+
VLLM_GPU_MEM_UTIL=0.6
|
|
309
|
+
VLLM_ATTENTION_BACKEND=flashinfer
|
|
310
|
+
VLLM_MAX_NUM_SEQS=4
|
|
311
|
+
VLLM_MAX_NUM_BATCHED_TOKENS=8192
|
|
312
|
+
VLLM_TOOL_CALL_PARSER=qwen3_coder
|
|
313
|
+
VLLM_QUANTIZATION=modelopt_mixed
|
|
314
|
+
msg: tool-call parser (auto-selected): qwen3_coder
|
|
315
|
+
msg: quantization (from catalog): modelopt_mixed
|
|
316
|
+
note: the stock vLLM lane cannot boot this gear: it needs the card's vLLM nightly plus b12x and an sm_12x card (the DGX Spark), with flags the stock lane does not pass — serve it on the vllm-worker lane; see docs/nemotron-3.5-bolt-74b-a9b-24gb.md.
|
|
301
317
|
### nvidia/Qwen3.6-35B-A3B-NVFP4
|
|
302
318
|
VLLM_MODEL=nvidia/Qwen3.6-35B-A3B-NVFP4
|
|
303
319
|
VLLM_SERVED_NAME=nvidia/Qwen3.6-35B-A3B-NVFP4
|
|
@@ -61,7 +61,9 @@ from lobes.profiles.shapes import DEFAULT_HOSTED_ROLES, OPT_IN_CORE_ROLES
|
|
|
61
61
|
# catalog resolutions are independent as of t2: changing which checkpoint
|
|
62
62
|
# carries role_hint="worker" cannot move associate's default.
|
|
63
63
|
_LIGHTNING_ID = "nvidia/NVIDIA-Nemotron-3.5-Lightning-30B-A3B-NVFP4"
|
|
64
|
-
|
|
64
|
+
# 2026-10-26: worker moved to Nemotron 3.5 Bolt (operator); the nvidia Qwen
|
|
65
|
+
# export is a kept candidate.
|
|
66
|
+
_WORKER_ID = "nvidia/NVIDIA-Nemotron-3.5-Bolt-74B-A9B-24GB"
|
|
65
67
|
|
|
66
68
|
#: The nine role names that existed BEFORE associate — the no-regression set.
|
|
67
69
|
_PRE_EXISTING_ROLES: tuple[str, ...] = (
|
|
@@ -31,7 +31,10 @@ from lobes.runtime._parser import infer_parser
|
|
|
31
31
|
|
|
32
32
|
_DOCS = Path(__file__).resolve().parents[1] / "docs"
|
|
33
33
|
_TEMPLATES = Path(__file__).resolve().parents[1] / "lobes" / "templates"
|
|
34
|
-
|
|
34
|
+
# 2026-10-26: worker moved to Nemotron 3.5 Bolt (operator decision).
|
|
35
|
+
_WORKER_ID = "nvidia/NVIDIA-Nemotron-3.5-Bolt-74B-A9B-24GB"
|
|
36
|
+
# The previous worker (issue #244, t1), now a kept candidate.
|
|
37
|
+
_NVIDIA_QWEN_WORKER_ID = "nvidia/Qwen3.6-35B-A3B-NVFP4"
|
|
35
38
|
# The DEMOTED former worker gear (issue #244, t1) — kept in the catalog as a
|
|
36
39
|
# candidate (cite-don't-delete), no longer the role_hint="worker" holder.
|
|
37
40
|
_NEMOTRON_ID = "nvidia/NVIDIA-Nemotron-3.5-Lightning-30B-A3B-NVFP4"
|
|
@@ -173,7 +176,7 @@ def test_moe_backend_aligns_with_shape() -> None:
|
|
|
173
176
|
# module, no external draft repo, and no "-MTP" marker in its upstream id.
|
|
174
177
|
_SELF_HOSTED_MTP_WITHOUT_ID_MARKER = frozenset(
|
|
175
178
|
{
|
|
176
|
-
|
|
179
|
+
_NVIDIA_QWEN_WORKER_ID,
|
|
177
180
|
_QWEN_WORKER_ID,
|
|
178
181
|
"unsloth/Qwen3.6-27B-NVFP4",
|
|
179
182
|
"unsloth/Qwen3.8-27B-NVFP4",
|
|
@@ -767,10 +770,16 @@ def test_worker_gear_exists_with_correct_fields() -> None:
|
|
|
767
770
|
worker = next((m for m in SUPPORTED_MODELS if m.id == _WORKER_ID), None)
|
|
768
771
|
assert worker is not None, f"{_WORKER_ID} not found in catalog"
|
|
769
772
|
assert worker.role_hint == "worker"
|
|
770
|
-
assert worker.native_max_model_len == 262144 #
|
|
771
|
-
|
|
772
|
-
|
|
773
|
-
assert worker.
|
|
773
|
+
assert worker.native_max_model_len == 262144 # llm_config.max_position_embeddings
|
|
774
|
+
# quant_method is modelopt; vLLM resolves MIXED_PRECISION to modelopt_mixed,
|
|
775
|
+
# the value the Spark lane passes and was measured to boot with.
|
|
776
|
+
assert worker.quantization == "modelopt_mixed"
|
|
777
|
+
# The stock lane cannot boot it, so `lobes switch` must say so.
|
|
778
|
+
assert "b12x" in worker.serving_note
|
|
779
|
+
assert worker.tool_parser == "qwen3_coder" # the card's vLLM command
|
|
780
|
+
# Spark GB10 2026-10-25, docs/evidence/2026-10-26-accept-nemotron-bolt-spark.txt
|
|
781
|
+
assert worker.status == "load-tested"
|
|
782
|
+
assert worker.hf_revision == "c6cc2e8ffa353403213d6b9b18aaf8eb684d705a"
|
|
774
783
|
assert worker.task == "generate"
|
|
775
784
|
assert worker.dimension == 0
|
|
776
785
|
assert worker.hf_overrides == ""
|
|
@@ -778,34 +787,43 @@ def test_worker_gear_exists_with_correct_fields() -> None:
|
|
|
778
787
|
|
|
779
788
|
|
|
780
789
|
def test_worker_gear_is_multimodal() -> None:
|
|
781
|
-
# config.json carries a vision_config (image+video intake),
|
|
782
|
-
#
|
|
790
|
+
# config.json carries a RADIO vision_config (image+video intake), which the
|
|
791
|
+
# worker contract's image_understanding/video_understanding rely on.
|
|
783
792
|
worker = next(m for m in SUPPORTED_MODELS if m.id == _WORKER_ID)
|
|
784
793
|
shape = worker.shape.lower()
|
|
785
794
|
assert "vit" in shape or "vision" in shape or "image" in shape or "video" in shape
|
|
786
795
|
assert "text-only" not in shape
|
|
787
796
|
|
|
788
797
|
|
|
789
|
-
def
|
|
790
|
-
#
|
|
791
|
-
#
|
|
792
|
-
# present, self-hosted MTP draft module — declared here as a MEASUREMENT
|
|
793
|
-
# of the checkpoint's own config, not the card's separate MTP/DSpark prose.
|
|
798
|
+
def test_worker_gear_drafts_with_the_external_lilicorr_dflash_head() -> None:
|
|
799
|
+
# The card's speculative decoding is DFlash from a SEPARATE draft repo, so
|
|
800
|
+
# the config names that repo (and pins its revision) instead of `mtp`.
|
|
794
801
|
worker = next(m for m in SUPPORTED_MODELS if m.id == _WORKER_ID)
|
|
795
802
|
cfg = json.loads(worker.speculative_config)
|
|
796
|
-
assert cfg["method"] == "
|
|
797
|
-
assert "model"
|
|
798
|
-
assert "
|
|
803
|
+
assert cfg["method"] == "dflash"
|
|
804
|
+
assert cfg["model"] == "nvidia/NVIDIA-Nemotron-3.5-Bolt-74B-A9B-24GB-LiLiCorr"
|
|
805
|
+
assert cfg["revision"] == "449d24140160b8e51871bfc0f0a7338abf640aa1"
|
|
806
|
+
assert cfg["num_speculative_tokens"] == 7
|
|
799
807
|
|
|
800
808
|
|
|
801
|
-
def
|
|
809
|
+
def test_worker_gear_is_moe_with_the_cards_b12x_backend() -> None:
|
|
802
810
|
worker = next(m for m in SUPPORTED_MODELS if m.id == _WORKER_ID)
|
|
803
|
-
assert worker.shape.lower().startswith("
|
|
804
|
-
|
|
805
|
-
|
|
806
|
-
|
|
807
|
-
|
|
808
|
-
|
|
811
|
+
assert worker.shape.lower().startswith("moe")
|
|
812
|
+
# The card's own --moe-backend; the IQ2 expert path is sm_12x-only.
|
|
813
|
+
assert worker.moe_backend == "b12x"
|
|
814
|
+
|
|
815
|
+
|
|
816
|
+
def test_previous_nvidia_qwen_worker_is_demoted_to_candidate_and_kept() -> None:
|
|
817
|
+
# nvidia/Qwen3.6-35B-A3B-NVFP4 (issue #244, t1) is KEPT (cite-don't-delete):
|
|
818
|
+
# the thor-worker shape still renders it and the 2026-09-10..2026-10-26
|
|
819
|
+
# worker evidence was measured against it. Only role_hint moved.
|
|
820
|
+
outgoing = next((m for m in SUPPORTED_MODELS if m.id == _NVIDIA_QWEN_WORKER_ID), None)
|
|
821
|
+
assert outgoing is not None, f"{_NVIDIA_QWEN_WORKER_ID}: expected to remain in the catalog"
|
|
822
|
+
assert outgoing.role_hint == "candidate"
|
|
823
|
+
assert outgoing.native_max_model_len == 262144
|
|
824
|
+
assert outgoing.quantization == "modelopt"
|
|
825
|
+
assert outgoing.tool_parser == "qwen3_coder"
|
|
826
|
+
assert json.loads(outgoing.speculative_config)["method"] == "mtp"
|
|
809
827
|
|
|
810
828
|
|
|
811
829
|
def test_worker_gear_tool_parser_matches_infer_parser() -> None:
|