This release includes 1 security fix for security teams reviewing exposed deployments.
Topics
+13 more
Affected surfaces
Summary
AI summaryUpdates Codex/Aider, founder-gated, and github_pat_ across a mixed release.
Full changelog
Trust-core fixes (bug-hunt wave 3) + honesty relabel of the proof non-forgeability claim
Wave-3 adversarial bug-hunt found two HIGH trust-core bugs and a CRITICAL honesty defect.
Each fix ships with a RED/GREEN regression test.
- FIX (HIGH, anti-sycophancy backstop was a silent no-op): in completion-council.sh the
Devil's-Advocate veto on a unanimous COMPLETE was captured as multi-line stdout (log lines
are echoed to stdout), so the exact-string compare[ "$da_result" = "OVERRIDE_CONTINUE" ]
NEVER matched. A DA that found a real blocking issue was ignored and the council approved
anyway. Now compares the LAST line (tail -n1), so the veto forces CONTINUE. Proven: OLD
stops despite a real veto, NEW continues (tests/test-da-veto.sh 9/0). - FIX (HIGH, Bun-route completion parity): the Bun runner's checkCompletionPromise ignored
the .loki/signals/COMPLETION_REQUESTED fallback that the prompt tells the model to use. For
degraded providers (Codex/Aider) that lack the MCP completion tool, that fallback is the ONLY
completion signal, so completion-by-claim was fully broken on the Bun route for them; all
providers wasted iterations. Now honored + consumed (both signals), matching bash. - HONESTY (CRITICAL relabel, NOT a forgery fix): the proof rail claimed in shipped code that
a green Evidence Receipt is "impossible to forge" / "a forger cannot turn green" /
"non-forgeable". That is FALSE on the unsigned local path: a forger who rewrites the facts,
flips the headline, and recomputes the hash passes proof-verify.py. All such claims are
removed (dashboard/server.py, proof-verify.py, proof-generator.py, autonomy/loki, proof.ts,
proof-pr.sh) and replaced with an accurate statement: the integrity hash proves
bytes-unedited-since-hashing and the git diff is re-derived, but on the UNSIGNED path the
generator is trusted; neutral non-forgeability requires the signed record (founder-gated).
DEFENSE-IN-DEPTH added (honestly labeled): proof-verify.py now re-derives the headline from
the recorded facts and reports headline_consistent + generator_trusted; an INCONSISTENT
forgery (headline says VERIFIED but facts say not_run) is caught and ok=false. A CONSISTENT
forger is NOT blocked (documented; needs the signed record). tests/test-proof-forgery-defense.sh 7/0. - FIX (MED security): GitHub fine-grained PATs (github_pat_...) leaked into proof.json diffs;
the redactor now masks them (tests/test-proof-pat-redaction.py). - FIX (LOW): stale claude-opus-4-7 runtime fallbacks -> claude-opus-4-8 (providers/cline.sh,
aider.sh); app-runner compose port-range parse now returns the first (published) port, not
the last; docker-compose.yml healthcheck start-period -> start_period (was rejected by Compose).
Security Fixes
- Dep: GitHub fine-grained PATs (github_pat_...) now masked in proof.json diffs
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]