> For the complete documentation index, see [llms.txt](https://docs.loci-dev.net/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://docs.loci-dev.net/loci-release-notes/loci-plugin-for-ai-coding-assistants-release-notes/loci-v0.2.29-date-15-sep-2026.md).

# LOCI v0.2.29 (Date: 15 Sep 2026)

LOCI now learns your project once instead of every session: you initialize it a single time, LOCI owns the build, and every verdict is judged against the bounds your repository sets, or reasoned from LOCI's measurements when you haven't set any. This release also adds Go support and a long list of fixes across Plan Guard, Save Guard, and the cockpit.

#### New

* **One-time project setup (`/loci:init`)** — LOCI no longer re-infers your project at the start of every session. Run `/loci:init` once and it records the target, toolchain, and build recipe; if more than one target fits, you're asked a single question. Supported targets: `aarch64`, `armv7e-m`, `armv6-m`, and `tc399`. Setup only happens when you ask for it — LOCI never initializes a project as a side effect of an edit.
* **Reproducible builds** — LOCI now owns the build. It replays the compile command recorded for your project in `.loci/build.yaml` (machine-local, not committed), and Claude never invokes the compiler itself. Every measurement traces back to a recorded command, so the same input gives you the same number.
* **Go and TinyGo support** — Go projects can now be initialized, built, and measured, with function-level before/after comparisons taken from the linked binary.

#### Improved

* **Verdicts with or without a Contract Envelope** — LOCI no longer falls back to built-in default bounds. Where your repository sets bounds in `.loci/contract.yaml`, Plan Guard and Save Guard verdicts are judged against them. Where it doesn't, Claude reasons the verdict from LOCI's measurements, taking the project's scope, architecture, and hardware into account where that information is available.
* **Projects without a compile database** — Fully built projects with no compile database (common with CCS, Keil, and IAR on Windows) can now be initialized from the linked binary alone. Stack depth, memory report, and control flow work straight away. Exec-trace, Plan Guard, and Save Guard need to compile source, so they tell you how to add a compile database (`loci init --compdb=<path>`) instead of asking you to rebuild.
* **More predictable analysis runs** — LOCI now drives each analysis itself in two steps, prepare and measure, and records every run on disk. The same edit in the same project follows the same steps and gives the same answer.
* **Cockpit opens with your history** — On launch, `loci cockpit` loads the activity already recorded for your project and branch — event stream, function trends, bounds, and session impact — so you start with context instead of an empty view. Works fully offline.
* **Clearer cockpit results** — Each skill run now shows as a single check with its worst result summarized, and the message lists only the cautions and failures that need your attention.
* **Clearer setup guidance** — `/loci:init` messaging has been rewritten to make first-time setup easier to follow.

#### Fixed

This release fixes a range of issues that affected the accuracy and consistency of results. Save Guard now catches edits it previously missed and checks every bound it should, energy readings and trends are reported correctly, and Plan Guard waits for project setup before giving a verdict. Stack depth and exec-trace results are more complete, the cockpit displays them consistently, and setup, sign-in, and CLI output are more reliable.
