This release includes 1 breaking change for platform teams planning a safe upgrade.
Published 1mo
AI Agents & Assistants
✓ No known CVEs patched
✓ No known CVEs patched in this version
Topics
ai-agents
aider
anthropic
autonomous
ci-cd
claude
+13 more
cline
code-review
devops
gemini
github-action
github-issues
loki-mode
multi-agent
openai-codex
openapi
pull-request-review
sdlc
spec-driven-development
Affected surfaces
auth
Summary
AI summaryVerified-completion evidence gate now requires non‑empty git diff and green tests before accepting "done" claims.
Full changelog
Added
- Verified-completion evidence gate (default-on, opt out with
LOKI_EVIDENCE_GATE=0). Loki no longer accepts a "done" claim without real
evidence: the completion council blocks completion unless there is a nonzero
git diff vs the run-start SHA (something was actually shipped) AND tests are
green. This kills fabricated completion. The gate runs on BOTH completion
paths: the interval-gated council path AND the default completion-promise
route (an agent invokingloki_complete_taskor emitting the promise text),
so a self-asserted "done" with an empty diff or red tests cannot slip through.
Diff evidence is the union of committed, staged, unstaged, and untracked work
(--exclude-standard, so gitignored build artifacts do not count), with
Loki's own.loki/runtime state excluded so it is never mistaken for shipped
work. Inconclusive cases (no git repo, no baseline, no test-results file,
runner=none) pass through and never false-block a legitimate first run. When
the gate blocks, it prints the reason and theLOKI_EVIDENCE_GATE=0opt-out
to the terminal AND surfaces it in the dashboard (/api/council/gatenow
reports anevidenceblock; the Quality Gates panel shows a banner). - Bounded by design: a persistent block keeps iterating only up to
MAX_ITERATIONS, then stops cleanly. It can never hang.
Fixed
- Stale-baseline bug on run 2+: a fresh
loki startafter a terminal run
(success, failure, or crash) now resets the iteration baseline so the
evidence gate diffs against the new run's HEAD, not the prior run's start SHA
(which would have made the gate toothless). Genuine resume states (paused,
interrupted, budget_exceeded, stopped) are deliberately preserved. - Removed two SC2034 dead variables in the gate (the linter was red); the block
decision is unchanged.
NOT tested in this release (honest disclosure)
- The gate proves "something changed and tests pass", NOT PRD-semantic
correctness. A diff that compiles and is green but does not satisfy the spec
still passes the gate; the council vote is the semantic check, not this gate. tests_redfires whenever a test runner ran and reported failure, including a
project that was ALREADY red before this run. That is the expected
false-block vector; the one-stepLOKI_EVIDENCE_GATE=0opt-out at the block
site is the escape hatch.- No live end-to-end autonomous run was used to validate the gate; verification
is via the gate function against per-case throwaway git repos (33 assertions),
the two-run lifecycle test (16 assertions), and the completion-route test
(4 cases), all wired into the test suite. - The Bun route is unchanged for this gate (the completion council is
bash-only); this is a bash-route feature.
Breaking Changes
- New default‑on `LOKI_EVIDENCE_GATE` enforcement blocks "done" claims without a non‑zero git diff versus the run‑start SHA and passing tests; opt out with `LOKI_EVIDENCE_GATE=0`.
Weekly OSS security release digest.
The CVE patches and breaking changes that affected production tools this week. One email, every Sunday.
No spam, unsubscribe anytime.
Share this release
About Loki Mode
Multi-agent autonomous SDLC framework. Spec to deployed app. PRD, GitHub issue, OpenAPI/JSON/YAML, or one-line brief. 5 AI providers, 11 quality gates.
Related context
Related tools
Beta — feedback welcome: [email protected]