## 🚀 v0.0.6-beta — The "Bulletproof Autonomy" Release

- **Release date:** 2026-03-23
- **Previous release:** `v0.0.5` (2026-03-09)
- **Range:** `v0.0.5..v0.0.6-beta`
- **Delta:** **518 commits**, **490 files changed**, **+106,340 / −21,467**

---

### Two weeks. Half a thousand commits. 100K lines. This is not a point release.

Wallfacer v0.0.6-beta is the biggest update yet — a ground-up hardening of everything that makes autonomous task execution actually *reliable*. New platform support, a completely rebuilt UI, deep observability, and an architecture that's ready for what comes next.

---

## 🪟 Windows & WSL2 — Wallfacer Runs Everywhere Now

- **Full Windows support** via WSL2 — build tags, path handling, signal management, and line endings all work natively
- **Cross-platform CI** with dedicated Linux, macOS, and Windows test jobs
- Platform-specific fixes for temp directories, path separators, shell quoting, and timing-sensitive tests
- `.gitattributes` enforcing LF line endings across all platforms

## 📦 One-Liner Installation

No more cloning and building from source. Just run:

```bash
curl -fsSL https://raw.githubusercontent.com/changkun/wallfacer/main/install.sh | sh
```

Pre-built binaries for **linux/amd64**, **linux/arm64**, **darwin/amd64**, **darwin/arm64**, and **windows/amd64** are attached to this release. The install script auto-detects your OS and architecture — including beta and prerelease versions.

## 🩺 `wallfacer doctor` — Preflight Health Check

New `wallfacer doctor` command validates your entire setup before you run:

- Checks container runtime availability
- Validates API credentials
- Verifies sandbox images are cached
- Reports missing dependencies with actionable fix suggestions

## 🏗️ Workspace Groups — Multi-Project Orchestration

Wallfacer now manages **multiple workspace groups** simultaneously:

- **Tab-strip UI** with VS Code-style tabs — switch between workspace groups instantly
- **Persistent workspace groups** that survive restarts
- **Workspace browser** with directory picker, dotfolder hiding, and path filtering
- **Per-workspace usage attribution** — see exactly what each workspace costs
- **Per-workspace git status** with parallelized status collection
- Workspace pills with truncated paths and `~` shorthand

## 📖 In-App Documentation Viewer

The full user manual is now browsable without leaving Wallfacer:

- **Embedded markdown docs** with table of contents, reading order, and prev/next navigation
- **Mermaid diagram rendering** with pan/zoom viewer for architecture diagrams
- **Inter-document links** that navigate within the viewer
- **Fullscreen toggle** for deep reading sessions
- Auto-generated TOC with left-border active indicators
- Docs sidebar driven by `usage.md` reading order — no hardcoded menus

## 🎯 Task Goals & Specs — Separate *What* From *How*

Tasks now have a dedicated **Goal** field separate from the implementation spec:

- **Goal**: the human-readable objective ("Fix the login timeout bug")
- **Spec**: the detailed agent instructions (implementation details, constraints)
- Edit/Preview tabs with synced heights for both fields
- Goals are visible on cards, searchable, and used in oversight summaries

## 🔄 Dependency Graph & Batch Tasks

- **Visual dependency graph** with SVG layout and cycle detection
- **Batch task creation** with symbolic dependency wiring — create entire task trees atomically
- Dependencies visible on Kanban cards and in the detail modal
- Critical-path scoring drives auto-promotion order

## 🛡️ Circuit Breakers & Fault Isolation

The automation layer got serious about reliability:

- **Per-watcher circuit breakers** — a failing auto-test doesn't take down auto-promote
- **Container launch circuit breaker** — stops hammering a broken runtime
- **Visual circuit breaker health** in the UI — see exactly which watchers are healthy
- Replaced nuclear `pauseAllAutomation` with surgical per-watcher isolation
- Settle delays on auto-test and auto-submit to prevent rapid-fire triggers

## 🔁 Auto-Retry with Failure Categories

Failed tasks don't just sit there anymore:

- **Automatic failure categorization** — timeout, budget_exceeded, container_crash, agent_error, worktree_setup, sync_error
- **Per-category retry budgets** — transient failures get retried, permanent failures don't
- **Auto-retry watcher** with configurable budget and exponential backoff
- Manual retry resets counters; fresh session option for stuck tasks

## 📊 Sandbox Image Management

- **Image status API** — check which sandbox images are cached locally
- **Pull/delete from UI** — manage sandbox images directly from Settings
- **Streaming pull progress** with structured progress reporting
- Doctor command checks image availability on startup

## ⚡ Performance & Architecture

Major internal improvements:

- **Status-partitioned index** eliminates O(n) task scans
- **LRU diff cache** with immutable caching for completed tasks
- **Lazy event loading** for terminal-state tasks — startup is dramatically faster
- **Append-only log rendering** — no more full DOM rebuilds on every log line
- **Fused board context generation** with change-sequence caching
- **Deep-copy on all read paths** — no more data races from shared task references
- **Event compaction** bounded to session horizon
- **BroadcastChannel SSE sharing** across browser tabs
- **SSE heartbeat with staleness detection** — no more phantom disconnects

## 🧹 Massive Codebase Cleanup

- **Consolidated constants** into single `internal/constants` package
- **Extracted reusable packages**: `atomicfile`, `ndjson`, `cmdexec`, `watcher`, `pubsub`, `set`, `syncmap`, `sortedkeys`, `lazyval`, `keyedmu`, `trackedwg`, `tail`
- **Migrated to Go 1.25+ idioms**: `slices` over `sort`, `strings.SplitSeq`, `maps.Keys`, iterator methods
- **100% test coverage** across all `internal/pkg` packages
- **doc.go** added to every Go package
- **golangci-lint** integrated into CI — every lint issue fixed
- Removed webhook feature, fork task feature, and dead code
- Proper enum types replacing raw strings across the codebase
- Replaced all `nolint:errcheck` with proper error handling

## 🎨 UI Overhaul

- **Status bar** — always-visible connection health and task indicators
- **Resizable terminal panel** with drag handle
- **Task detail modal** with full render and API integration
- **Command palette** improvements and keyboard navigation
- **ARIA support** and WCAG 2.1 accessibility fixes
- **Inline diff toggle** in refine session cards
- Split monolithic CSS and JS into per-concern modules
- Settings modal split into per-tab partials
- Pixel brick wall logo in header
- Sticky right-panel tabs during scroll

## 🤖 Smarter Agents

- **Generate-then-rank ideation pipeline** with scored signal hotspots and exploit/explore ratio
- **Conflict resolver** with typed triggers and surfaced phases
- **Test verdict improvements** — recognizes informal pass indicators, breaks infinite test-fail/auto-resume cycles
- **System prompt template overrides** — customize any built-in prompt from the UI
- **Worktree health watcher** that auto-restores missing paths
- Ideation history tracking to prevent re-proposals

## 🔐 Hardened Reliability

Dozens of race conditions and edge cases squashed:

- Fixed worktree loss on feedback/auto-submit race
- Fixed stale sync causing worktree data loss on retry and restart
- Fixed lost changes when stash pop fails after sync rebase
- Fixed auto-submit committing waiting cards
- Fixed infinite test-fail/auto-resume cycle
- Fixed goroutine races in refinement, modal lifecycle, and container monitoring
- Fixed SSE listener leaks and duplicate logs on reconnect
- Hardened commits-behind detection for non-git and local-only repos
- Guard all git operations against non-git workspaces

---

## Upgrading

### One-liner install (recommended)

```bash
curl -fsSL https://raw.githubusercontent.com/changkun/wallfacer/main/install.sh | sh
```

### Direct binary download

Download the binary for your platform from the **Assets** section below, then:

```bash
chmod +x wallfacer-*
sudo mv wallfacer-* /usr/local/bin/wallfacer
wallfacer doctor   # verify setup
wallfacer run      # launch
```

---

**518 commits. 106K lines. Every platform. Zero frameworks.** This is the release where Wallfacer stops being a prototype and starts being infrastructure. Take it for a spin, push it hard, and [tell us what breaks](https://github.com/changkun/wallfacer/issues).
