# Release Notes — v0.1.0 (May 2026)

The first release built around the **skill-first architecture**. Domain expertise lives in versioned Markdown modules — workflows, actions, rules, board specs — loaded into the system prompt on demand from what the agent detects in your workspace. Same model, smaller context, fewer wrong turns.

---

## Skill-first architecture (`iot-knowledge/`)

The agent no longer carries a static bundle of nRF/Zephyr knowledge into every session. Expertise is structured as discrete Markdown modules:

- **Workflows** (`log-analyzer`, `log-generator`, `debug-loop`) — the only valid entry points for hardware tasks
- **Actions** (`build`, `flash`, `capture-logs`, `analyze-logs`) — atomic subroutines, loaded *only* by an active workflow
- **Rules** (`skill-loading`, `nrf-terminal`, `device-identity`, `core`, `tool-routing`) — hard constraints applied to every session
- **Board specs** (nRF52832 / nRF52840 / nRF5340) and **SDK references** (NCS, BLE protocol) — loaded only when the active build target or `prj.conf` calls for them

Adding a new SoC, protocol, or debug procedure is a Markdown PR — not a code change.

### Operation-Gating Principle

Before performing any complex hardware operation (build / flash / capture / analyze / inject logs), the agent must `read_file` the matching Workflow first — regardless of how it arrived at that decision. Closes the failure mode where smaller models would skip the workflow load and improvise from pre-training.

### Dynamic context loading

`iot_context.ts` reads `prj.conf`, scans every `build_info.yml`, and only injects the modules that match the current project. BLE guide when `CONFIG_BT=y`. nRF52840 spec when a build targets `nrf52840dk/nrf52840`. Nothing else.

Plus **Scope Gate** (refuses non-NCS work in-extension) and **Context Budget Protection** (no speculative reads outside the workspace or outside the NCS file pattern).

---

## Agent reliability — works across "any model"

- Tool-call parsing hardened against four real-world failure modes: DeepSeek DSML token stream, Markdown code fences wrapping tool XML, literal template mimicry from small models, and mid-task model switches across the native ↔ XML tools boundary. +30 unit tests.
- Cross-platform J-Link binary resolution for RTT Plan B — walks deterministic SEGGER paths, versioned `JLink_V*` dirs, and `PATH`. Fails loudly instead of silently launching a broken terminal. Win32 / macOS Apple Silicon / Linux all covered. +33 unit tests.
- Windows process-cleanup now emitted as `cmd /c "..."` — works in PowerShell, bash, and cmd.exe identically. No more PowerShell `AmpersandNotAllowed` errors before flashing.

---

## Benchmark — IoT-FirmwareDebugBench v0.1

The first open hardware-in-the-loop benchmark for AI agents on embedded IoT firmware. 6 BLE-focused tasks across 3 difficulty levels, real nRF52840 DK and nRF52832 DK boards, NCS v3.2.1, same model on both sides (Claude Haiku 4.5).

**Result:** Adsum IoT Coder resolved **5/6 tasks** vs the general-agent baseline's **3/6**, at **3.8× lower token cost**. Architecture is the only variable.

👉 [Full benchmark report](../benchmarks/v0.1-report.md)

---

## UI / UX

- Redesigned welcome and home screen with the new Adsum brand. Two prominent entry-point cards, recent task list, brand-orange focus-chain progress bar.
- Claude Code-style `ThinkingBlock` replaces `ThinkingRow`: italic "Thought for Xs" label, animated dots while streaming, grid-rows collapse animation, auto-collapses when the response begins.
- Codicons and the code font now load reliably in the installed extension — Vite was emitting absolute `@font-face` URLs that 404'd silently under the webview's `vscode-resource://` scheme.

---

## Telemetry

- Own PostHog project, independent from upstream Cline. Build-time injection via `ADSUM_TELEMETRY_SERVICE_API_KEY` and `.env`.
- Opt-out setting `adsum-iot-coder.telemetry.enabled`, AND-combined with VS Code's global `telemetry.telemetryLevel` — either being off stops all collection.
- Fork-attribution fields on every event, plus `extension_installed` / `extension_activated` lifecycle events for clean DAU/install tracking.
- User-facing privacy document: [TELEMETRY.md](../../TELEMETRY.md).

---

## Rebrand

- Display name now **Adsum IoT Coder – for nRF**; new coral logo across the activity bar, sidebar, welcome screen, social cards, and hero GIF.
- Marketplace identity (`AdsumNetwork.nrf-ai-debugger`) preserved — existing installs upgrade in place.
- README rewritten around the AI-agent positioning and the v0.1 benchmark; supported SoCs broadened to **nRF52 / nRF53 / nRF54**.

---

*Built by [Adsum Networks](https://github.com/adsumnetworks). Apache 2.0.*
