Skip to content

v0.8.3-alpha

This alpha patch release packages the Kilo CLI compatibility refresh merged after v0.8.2-alpha.

Use it if you run the default Kilocode planning or coding backend, configure Kilo through WORKER_KILOCODE_OPENAI_*, or rely on Kilo usage tracking.

Highlights

  • Worker preflight now inspects the installed Kilo CLI before worker startup. It checks the kilo run command surface, reports the parsed Kilo version, and fails when a configured backend depends on flags the installed binary does not expose.
  • Loreley now uses isolated KILO_CONFIG_CONTENT provider config by default for WORKER_KILOCODE_OPENAI_*. API keys are passed through LORELEY_KILO_OPENAI_API_KEY env references rather than written into the config JSON.
  • WORKER_KILOCODE_PROVIDER_CONFIG_MODE controls Kilo provider injection: auto and config use KILO_CONFIG_CONTENT, legacy_env keeps the older KILO_PROVIDER_TYPE / KILO_OPENAI_* environment variables, and none leaves provider config to Kilo's persisted auth/config.
  • Kilo usage tracking now asks kilo db path for the usage database when WORKER_KILOCODE_USAGE_DB_PATH is unset. Missing databases and unsupported schemas record unavailable usage events after successful worker runs instead of failing the job.

Upgrade Notes

No database migration required

This release does not change the Loreley database schema or instance metadata version.

Kilo provider config

The default provider config mode is now:

WORKER_KILOCODE_PROVIDER_CONFIG_MODE=auto

Use legacy_env only for pinned Kilo versions that still require the older provider environment variables:

WORKER_KILOCODE_PROVIDER_CONFIG_MODE=legacy_env

Use none when the worker should use Kilo's persisted auth/config without Loreley injecting provider settings:

WORKER_KILOCODE_PROVIDER_CONFIG_MODE=none

Kilo usage tracking

When LLM_USAGE_TRACKING_ENABLED=true, Kilo usage tracking requires kilo run --title so Loreley can correlate Kilo sessions with worker jobs. Preflight now fails if usage tracking is enabled and the installed Kilo binary does not expose --title.

If your pinned Kilo binary does not support --title, either upgrade Kilo or disable usage tracking for that environment:

LLM_USAGE_TRACKING_ENABLED=false

WORKER_KILOCODE_USAGE_DB_PATH can now be left unset when kilo db path returns the correct database path. Set it explicitly only when the worker process needs a different path:

WORKER_KILOCODE_USAGE_DB_PATH=/path/to/kilo.sqlite

Fixes

  • Kilo provider config now resolves dynamic runtime API keys into the env var referenced by KILO_CONFIG_CONTENT.
  • Kilo usage extraction checks the expected session and message schema before querying, so schema drift is reported as unavailable usage rather than an agent failure.
  • Preflight now validates built-in Kilocode backend instances loaded through custom planning or coding backend entry points, not only the default backend.

Validation

  • Local release validation: 721 passed, 4 skipped in 39.31s.
  • Focused checks:
  • uv run pytest tests/core/worker/test_agent_backends.py tests/test_preflight.py -q
  • git diff --check.
  • Documentation build: uv run --with mkdocs-material mkdocs build --strict.
  • Refresh Kilo CLI compatibility checks for the default Kilocode backend.
  • Switch default Kilo provider injection to isolated KILO_CONFIG_CONTENT config while retaining legacy_env and none modes.
  • Harden Kilo usage database discovery and unavailable-usage reporting.