Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
27 changes: 14 additions & 13 deletions .eidetic/memory/lobes__public.jsonl

Large diffs are not rendered by default.

13 changes: 8 additions & 5 deletions AGENTS.md
Original file line number Diff line number Diff line change
Expand Up @@ -36,11 +36,14 @@ The division of labor: daria notices, **you reason**, lecodeur builds.
## Runtime

You are served by a locally-hosted vLLM reasoning model
(`sakamakismile/Qwen3.6-27B-Text-NVFP4-MTP` — a Qwen3.6 27B with hybrid
Mamba/linear-attention layers and a grafted MTP draft head for speculative
decoding, text-only, in NVFP4, 256K native context served at the full 256K on the
shared DGX Spark; ~2.4x decode over the archived baseline) over the
(`unsloth/Qwen3.6-27B-NVFP4` — a Qwen3.6 27B with hybrid
Mamba/linear-attention layers and a self-hosted MTP draft head baked into the
checkpoint for speculative decoding, in compressed-tensors NVFP4, 256K native
context served at the full 256K on the shared DGX Spark) over the
`acp` backend — not a Claude-backed runtime. It has a thinking mode and emits a reasoning trace before
its answer, which suits a deep thinker. This file is your system prompt;
its answer, which suits a deep thinker. It is also **multimodal** — you take
image and video input through the checkpoint's own ViT, so "look at this
screenshot" is something you can actually do, not something to hand off. This
file is your system prompt;
`CLAUDE.md` is separate guidance for a Claude that resides in the repo to help
build and maintain it.
15 changes: 15 additions & 0 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
Expand Up @@ -4,6 +4,21 @@ All notable changes to this project are documented here. The format is based on
[Keep a Changelog](https://keepachangelog.com/en/1.1.0/), and this project
adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html).

## [0.55.1] - 2026-08-10

**Three surfaces still named the checkpoint 0.54.9 demoted.** The multimodal
`cortex` promotion swapped the served id to `unsloth/Qwen3.6-27B-NVFP4` and left
`sakamakismile/Qwen3.6-27B-Text-NVFP4-MTP` behind as a text-only *candidate* —
but `whoami`'s fallback, the agent's own system prompt, and two README passages
kept describing the demoted one as what this box serves. Docs-and-fallback only;
no runtime routing changed.

### Fixed

- **`lobes whoami` reported a model the box 404s on.** `_DEFAULT_MODEL` — what `whoami` prints as "served" when there is no scaffold, or when `VLLM_SERVED_NAME` is unset — still named the demoted `sakamakismile/Qwen3.6-27B-Text-NVFP4-MTP`, while the gateway's own fallback (`lobes.gateway._config._DEFAULT_PRIMARY`) had moved to `unsloth/Qwen3.6-27B-NVFP4` in 0.54.9. On an unscaffolded box the two answers disagreed, and `whoami`'s was the wrong one: a caller pinning the id it printed gets `model_not_found`. The two constants must track each other; the comment now says so.
- **`AGENTS.md` told the deployed agent it was text-only.** The runtime paragraph — the `acp` system prompt the lobes agent actually runs on — described the demoted checkpoint, its grafted MTP head, and a text-only capability set. It now describes the promoted one (self-hosted MTP baked into the checkpoint, compressed-tensors NVFP4) and states the capability that changed: the agent takes **image and video** input through the checkpoint's own ViT, so "look at this screenshot" is work it can do rather than hand off. An agent that does not know it can see will keep referring vision away.
- **`README.md` taught callers the addressing pattern that just broke.** The fleet-routing example pinned a raw checkpoint id — the exact id 0.54.9 retired — so copying it yielded a 404; it now addresses the stable role name (`model: "cortex"`) and says why. The example's comment also claimed an unknown model "defaults to the primary"; only a **missing** `model` field does that, an unknown id 404s `model_not_found`. The `culture.yaml` snippet in the identity section was updated to the served id as well.

## [0.55.0] - 2026-08-04

**The Jetson AGX Orin becomes a first-class card.** `orin` joins `spark`/`thor`
Expand Down
8 changes: 5 additions & 3 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -238,8 +238,10 @@ lobes fleet status # container states + gateway /health + /v1/mod

```bash
curl -s http://localhost:8000/v1/models # the WARM backend(s) (not the full catalog — see below)
# an unknown/missing model defaults to the primary; route explicitly by name:
curl -s http://localhost:8000/v1/chat/completions -d '{"model":"sakamakismile/Qwen3.6-27B-Text-NVFP4-MTP","messages":[...]}'
# a MISSING model field defaults to the primary; an UNKNOWN id 404s (model_not_found).
# Address the fleet by stable role/tier name — never a raw checkpoint id, which a
# model swap retires out from under you (0.54.9 did exactly that):
curl -s http://localhost:8000/v1/chat/completions -d '{"model":"cortex","messages":[...]}'
```

The fleet runs a **default-on `cortex` + `senses` duo** (the `main` + `multimodal`
Expand Down Expand Up @@ -425,7 +427,7 @@ auth/exposure — or `lobes explain api`.
`lobes` is one identity, not two: it is the repo/tool that serves the model
*and* the local thinking agent deployed on it. The agent's runtime identity lives
in `AGENTS.md` (the `acp` system prompt) and `culture.yaml` (`suffix: lobes`,
`backend: acp`, `model: vllm-local/sakamakismile/Qwen3.6-27B-Text-NVFP4-MTP`) — the same
`backend: acp`, `model: vllm-local/unsloth/Qwen3.6-27B-NVFP4`) — the same
lobes that runs the engine consumes it over the `acp` `vllm-local` provider.

## Acknowledgements
Expand Down
6 changes: 5 additions & 1 deletion lobes/cli/_commands/whoami.py
Original file line number Diff line number Diff line change
Expand Up @@ -18,7 +18,11 @@
from lobes.runtime import _compose, _env, _health

_FALLBACK_AGENT = "lobes"
_DEFAULT_MODEL = "sakamakismile/Qwen3.6-27B-Text-NVFP4-MTP"
# What `whoami` reports as "served" when there is no scaffold, or when
# VLLM_SERVED_NAME is unset. Must track the gateway's own fallback
# (``lobes.gateway._config._DEFAULT_PRIMARY``) — reporting a DEMOTED checkpoint
# here tells an operator the box serves a model it 404s on.
_DEFAULT_MODEL = "unsloth/Qwen3.6-27B-NVFP4"


def _find_culture_yaml() -> Path | None:
Expand Down
2 changes: 1 addition & 1 deletion pyproject.toml
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
[project]
name = "lobes-cli"
version = "0.55.0"
version = "0.55.1"
description = "lobes — run, assess, and switch the local vLLM model."
readme = "README.md"
license = "Apache-2.0"
Expand Down
2 changes: 1 addition & 1 deletion uv.lock

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

Loading