Skip to content

v0.5.0.1 — Phase B closeout

Choose a tag to compare

@matthewdcage matthewdcage released this 03 Aug 09:32
· 60 commits to main since this release

0.5.0.1: Phase B closeout (post-0.5.0.0)

Patch release closing Phase B items left open at the v0.5.0.0 tag: editor connect CLI, error-envelope completion, contract hygiene, dashboard scenario counters, and Settings live agent status. Includes everything in 0.5.0.0.

Golden-vector contract suite grows from 366 → 373 (+7 Phase B additions: F-38 JSON parse, F-57 guard, B5 pool isolation, plus F-56 lint unit tests).

New

  • netllm connect <id> — prints per-harness wiring (env exports, Codex TOML block) for Cursor, Claude Code, Codex, Gemini CLI, Honcho, and others. Flags: --json, --print-env, optional --toggle to register the source. See editor-integration.md.
  • Serving tab scenario counters — dashboard Serving tab shows per-source and per-scenario request counts from GET /netllm/v1/telemetry (menubar Serving Stats shows source counts; scenario keys are dashboard-only for now).
  • Settings live agent status — macOS Settings statusLabel reads live server.state (same source as Start/Stop), fixing split display after adopting a healthy listener on launch.

Fixed

  • Malformed JSON → shaped 400 (F-38) — invalid JSON bodies on /v1/* proxy routes return a proper OpenAI or Anthropic error envelope at 400, not a raw FastAPI 500. Upstream 401/429 from backends still map to 502 (routing failure, not forwarded auth/rate-limit) — see 03-request-lifecycle.md.
  • Capability guard quotes caller model (F-57) — embedding/chat capability 400s quote requested_model, not the post-rewrite internal name.
  • Contract hygiene (F-56) — divergence lint tracks stable vector IDs so renames cannot bypass the golden-vector gate.
  • Pool isolation contract (B5) — golden vector naming-model-pools-isolation-multi-host pins request-aware pool candidacy across multi-host meshes.

Docs

Caveats (unchanged from 0.5.0.0)

  • Codex /v1/responses streaming — offline contract tests pass; live Codex CLI verification is maintainer-only (F-39 partial). See codex-responses-smoke.md.
  • macOS arm64 only for packaged menubar; use CLI on Intel Macs or Linux/Windows packages.
  • Subnet scan can trigger IDS on corporate LANs — disable subnet_scan or use static swarm.peers on monitored networks.

Upgrade

From v0.5.0.0:

git checkout v0.5.0.1   # after tag ships
uv sync
./netllm restart      # or menubar Restart Agent / systemctl --user restart netllm

Verify:

curl -sf http://127.0.0.1:11400/health
./netllm doctor
./netllm test
./netllm connect cursor --print-env   # optional
open http://127.0.0.1:11400/ui/       # Serving tab scenario counters

Test plan (release gate)

  • uv run pytest -q — full suite
  • uv run pytest tests/contract -q — 373 golden vectors
  • ./scripts/ci.sh lint — includes engine erosion gate
  • ./scripts/verify-before-pr.sh --full — macOS menubar lifecycle including L5b

Previous release

  • v0.5.0.0 notes — routing engine consolidation + request-aware pools