Skip to content

Loki Mode v7.31.0

Choose a tag to compare

@github-actions github-actions released this 10 Jun 18:01
· 72 commits to main since this release
Immutable release. Only release title and notes can be modified.

Added

  • Mid-flight model switching: change the model a live run uses from the
    dashboard (GET/POST /api/session/model + a model select in session
    controls). The switch applies at the next iteration boundary (each
    iteration spawns a fresh provider invocation) and to the current run only:
    a leftover override is cleared at fresh-run start. Server and runner share
    one normalization rule; invalid values are ignored with a warning.
  • Claude Fable as a premium tier at its published $10/$50 per MTok (exactly
    2x Opus 4.8), in the model catalog, all pricing tables, and the Bun
    mirrors. LOKI_SESSION_MODEL=fable genuinely runs fable;
    LOKI_FABLE_ARCHITECT=1 routes only the first (architecture) iteration to
    fable and the estimate discloses it. Routing scope is evidence-based per
    Anthropic's model documentation; security review deliberately stays on
    Opus (fable refuses cyber content, and a refusal would break the council).
  • The cost-honesty contract, enforced and tested: for every model lever
    this release ships (session pin to fable, mid-flight override, architect
    pass) and every LOKI_MAX_TIER path, the loki plan quote, the dashboard's
    reported effective model, and the actual dispatched model agree, with the
    clamp logging one honest line. (A pre-existing stock-path estimator label
    gap on the default session pin is disclosed in the dashboard SCOPE NOTE
    and tracked as a follow-up.) All three
    clamp readers resolve through one canonical provider-config rule, locked
    by a 224-cell parity matrix test against the real provider script,
    including miscased and padded cap spellings.
  • CLI consolidation Phase A: loki help is ~20 grouped workflow entries
    (Build, Session, Verify/trust, Observe, Report, Knowledge, Modernize,
    Config) with a collapsed alias footer and loki help aliases. Fourteen
    merged commands forward as aliases: byte-identical stdout and exit codes,
    one deprecation pointer on stderr only, suppressed for --json/-q/--quiet
    and positional machine formats, no side effects in clean directories.
    New report and trust noun dispatchers (trust-metrics -> trust detail).
  • LOKI_MCP_AUTO_BOOTSTRAP=1: written-consent cold launch for MCP clients
    (the env var in a client config is consent); bootstrap progress goes to
    stderr only so stdout stays pure JSON-RPC; LOKI_NO_INSTALL_OFFER=1 always
    wins. Docker images now install mcp/requirements.txt so clean-room
    introspection finds the SDK.
  • mcp/lsp_proxy.py loads the real MCP SDK via a shared loader and serves
    its 7 LSP tools (it previously degraded to a silent no-op under modern
    SDK layouts); degradation is now loud.

Fixed

  • 15 findings from a 4-dimension adversarial hunt (30 agents, per-finding
    adversarial verification) plus 3 council rounds, all pre-release. The
    notable ones: documented fable levers that quoted a model the runner
    never dispatched; a mid-flight override that bypassed LOKI_MAX_TIER; an
    override file that silently pinned all future runs; clamp resolution that
    disagreed across quote/dashboard/runner on stock installs (including
    miscased cap values reachable from settings.json); loki mcp --yes
    documented but unparsed and leaked into server argv; a run-alias
    telemetry side effect violating the no-side-effect alias contract; ANSI
    codes in piped help output.

Tests

  • model-override 53/53 (incl. the 224-cell clamp parity matrix and
    cross-route agreement transcripts), session-model endpoint 20/20,
    alias-forwarding 112/112 on both routes, mcp-launch 15/15, cli 26/26 on
    both routes, plan 25/25, lsp-proxy loader pytest, full pytest 1015+
    passed. All wired into scripts/local-ci.sh.