Immutable
release. Only release title and notes can be modified.
Local models can now guard institutional memory
FAVA Trails no longer requires every thought proposed for permanent memory to be sent to OpenRouter or Gemini. Version 0.6.0 makes the Trust Gate runtime provider-neutral, so each machine can use its own OpenAI-compatible local model while shared trails and remote clients keep their existing configuration.
This is the reason for the minor-version bump: local promotion gating is now a supported operating mode, not an application-specific workaround. The feature was developed and dogfooded with an Unsloth-served quantized Qwen3.6 27B model, while the integration itself remains backend-neutral.
What changed
- Standard per-machine configuration. Trust Gate runtime selection lives at
$XDG_CONFIG_HOME/fava-trails/config.yaml(normally~/.config/fava-trails/config.yaml). Machine-specific model, endpoint, timeout, and credential choices no longer need to leak into the shared data-repository config. - Local OpenAI-compatible providers. Configure
trust_gate_provider,trust_gate_model, andtrust_gate_api_baseto use a local model server. OpenRouter remains the default, so existing installations continue to work unchanged. - Secure file-backed credentials.
trust_gate_api_key_filerequires an owner-only regular file, rejects symlinks, rereads the key for every promotion, and retries once after a 401 only when the key actually changed. - Provider-specific request controls.
trust_gate_extra_bodysupports endpoint options such as disabling model thinking without coupling FAVA Trails to a particular serving stack. - Auditable provenance. Promotion records now capture both provider and returned model alongside the existing reviewer identity.
- One effective configuration everywhere. The MCP server,
fava-trails doctor, readiness checks, and tunnel preflight all resolve the same standard machine configuration.
Quality evidence
- A live local-model dogfood run approved a durable architectural decision and rejected an adversarial instruction using the production Trust Gate prompt.
- The earlier historical evaluation found only six regressions among the tested cases and three cases where the local model improved on Gemini's approval, for a net regression of three—an acceptable tradeoff for local execution, privacy, and removal of the hosted-provider dependency.
- The release passed 755 tests, Ruff, Semantic PR validation, and CodeQL.
See issue #85 for the evaluation and design evidence, PR #87 for the implementation, and PR #88 for the release cut.