Highlights — v0.2.0 "Coherent Context-to-Action Loop"
Taskdeck stays review-first and local-first: transcripts and notes go in, evidence-linked proposals come out, and nothing touches a board until you approve and apply it. This release ships as a single self-contained, unsigned Windows x64 portable ZIP (same topology as v0.1.2 — see the bundled QUICK_START.md for the SmartScreen note). 28 PRs merged since v0.1.2; milestone closed 15/15.
Transcript triage engine, closed on live evidence
- The transcript → typed proposals → evidence spans → approve → apply loop was live-verified end-to-end on a fresh instance: a speaker-labeled transcript became 7 create-card operations, every evidence quote opened the stored transcript at its exact highlight, the two-phase apply landed the cards atomically, and a misbehaving model degraded to an honestly-labeled deterministic fallback. Epics #1304 and #1305 are closed on that acceptance matrix (#2143).
- The unshipped "intent envelope" spike vocabulary is removed; evidence spans live only in the mapped provenance tables; the 200,000-character transcript cap and export/deletion retention are documented (#2144).
Capture: explicit dispositions and receipts you can inspect
- Inbox captures gain server-stamped Keep, Archive, and Ask AI dispositions in the Paper skin, preserved through review, provenance, and exports; no schema migration (#2098, #2103).
- A failed capture keeps your text and now shows a copyable diagnostic (HTTP status, endpoint, error code, request id) in both the toast and the inline receipt, with proper aria association; the clipboard fallback can no longer throw (#2145, #2102). Closes #1938.
Boards: card inspector, density, and appearance contrast
- Desktop Paper boards open cards in a side inspector that keeps the board visible, with a persisted comfortable/compact density toggle; dirty drafts are guarded across route changes and browser unload (#2097, #2100).
- Appearance segmented controls keep accessible contrast in every state (#2096, #2099).
Archived boards refuse card writes — and races lose deterministically (ADR-0063)
- Every card create/update/move/delete now joins a conditional update on its board's new concurrency token, so a write racing an archive rolls back with
409 Conflictinstead of landing in archived history; independent card writes keep their success semantics (#2110). - Scope note: the guard covers the
CardServiceand bulk-writer paths; the CLI's unscoped card move can still target a column on another (possibly archived) board — tracked as #2125. - Bulk writers (external import, starter packs, archive-item restore) use the same guard (#2134); a card-mutation marker column makes the predicate clock-independent and keeps the cached board-list timestamp coherent (#2137); the 409 is declared on every card route in OpenAPI (#2107);
UPGRADING.mdrecords both migrations (#2122).
Machine-facing paths: 405 for a wrong verb, 404 only for a missing route (ADR-0059)
GET/HEADon a POST-only API route now answers405with an accurateAllowheader, and unknown routes answer404; the PWA navigation denylist matches the reverse-proxy prefixes (#2079).
Review: applied records read as history
- Applied decision records use past-tense, status-aware copy ("Before · recorded" / "After · applied") instead of "ready for approval", with correct pluralization (#2101, #2120). Closes #2117, #2132.
Platform, CI, and docs
- The Windows launcher TERM/KILL regression is proven through the Bash cleanup seam rather than wall-clock timing (#2112).
- Dependencies: GitHub Actions (#2062), frontend npm minor/patch (#2118), NuGet incl. FsCheck 3.4 and OpenTelemetry 1.18 (#2064).
- Governance: v0.2/v0.3 scope and dates (#2095), dogfooding reconciliation and ADR-0060–0062 proposed (#2088), v0.1.2 ship record (#2082), wave records (#2113, #2140), dogfooding re-scoped to a standing tracker (#2143), and the Windows-first release-trust programme with signing/distribution tracked as backlog #2148–#2152 (#2153).
Upgrading from v0.1.x
BREAKING: none. Two additive Boards migrations (AddBoardConcurrencyToken, AddBoardCardMutationMarker) apply automatically on first start after the automatic pre-migration snapshot — single in-place ALTER TABLE statements on SQLite, no table rebuild. Behavior change: a card write that races a board change (archive, restore, rename, ownership transfer) now returns 409 Conflict — refresh and retry. Wrong-verb requests on machine paths now return 405 (previously 404). Details: UPGRADING.md.
Known limitations (tracked)
- In the Paper skin, transcript capture lives behind the command palette (
Ctrl/Cmd+K→ New Capture → Transcript tab, orCtrl/Cmd+Shift+C); the Paper nib/composer only take typed notes, so the transcript path is under-discoverable — #2141. - A session expiry (401) during a failed capture redirects to
/loginand discards the preserved draft and its receipt — #2142. - Automation Chat answers in prose and never creates proposals — #2004. The Review view is dense and the All/Mine filter is confusing for new users — #1940.
- Recently Applied rows: filing keys stay inert after Enter-activation until focus moves; filter clicks can clear an applied selection — #2130. Legacy-skin
ReviewProposalCardstill shows prospective copy for settled records — #2121. - A stale capture-failure receipt can be re-announced to screen readers when the capture variant toggles — #2147.
- A proposal operation of kind archive card (e.g. from the MCP
archive_cardtool) applies as a silent no-op: Review reports "Applied" but the card is unchanged — #2185 (pre-existing since v0.1.x). - Distribution: Windows x64 only, unsigned portable ZIP; code signing, installers, SBOM/attestations and other platforms are backlog (#2148–#2152). Non-SQLite databases are unsupported and the new migrations are unverified there.
What's Changed
- Machine-facing paths: 405 for a wrong verb, 404 only for a missing route (+ PWA denylist parity and its first test) by @Chris0Jeky in #2079
- Record the v0.1.2 ship and the 2026-08-24 decision batch by @Chris0Jeky in #2082
- Reconcile v0.1.2 dogfooding backlog and model decisions by @Chris0Jeky in #2088
- Correct v0.2 and v0.3 release scope by @Chris0Jeky in #2095
- Fix Appearance segmented-control contrast states by @Chris0Jeky in #2096
- Add the Paper board card inspector and compact density by @Chris0Jeky in #2097
- Keep Appearance contrast safe while rendered by @Chris0Jeky in #2099
- Guard card inspector lifecycle races by @Chris0Jeky in #2100
- Use historical copy for applied review records by @Chris0Jeky in #2101
- [Backend][Concurrency] Preserve independent card writes under archive guard by @Chris0Jeky in #2110
- Contain toast clipboard fallback failures by @Chris0Jeky in #2102
- Add explicit capture dispositions by @Chris0Jeky in #2098
- Record the Board concurrency-token migration in upgrade notes by @Chris0Jeky in #2122
- Declare archived-card 409 responses by @Chris0Jeky in #2107
- [v0.2] Refresh Inbox disposition guidance by @Chris0Jeky in #2103
- [CI] Make launcher TERM/KILL regression evidence-based by @Chris0Jeky in #2112
- Render applied review records status-aware over prospective presentation copy by @Chris0Jeky in #2120
- deps(nuget): Bump FsCheck and 7 others by @dependabot[bot] in #2064
- [Backend][Safety] Route bulk card writers through the archive-race guard by @Chris0Jeky in #2134
- Document v0.2 residual deliveries by @Chris0Jeky in #2113
- [Backend][Cache] Guard card writes with a marker column so board-list timestamps stay coherent by @Chris0Jeky in #2137
- deps(npm): bump the npm-minor-patch group across 1 directory with 14 updates by @dependabot[bot] in #2118
- deps(actions): bump the actions-all group across 1 directory with 5 updates by @dependabot[bot] in #2062
- Record the 2026-08-26 eleven-merge wave in the canonical docs by @Chris0Jeky in #2140
- Record the 2026-08-27 dogfooding re-scope and acceptance-walkthrough outcomes by @Chris0Jeky in #2143
- Make capture-failure toasts inspectable + fix inline receipt diagnostics/aria (#1938) by @Chris0Jeky in #2145
- Remove the RFAI-02 intent-envelope vocabulary + document transcript cap/retention (#1305 AC3/AC6) by @Chris0Jeky in #2144
- Document the Windows-first release trust programme by @Chris0Jeky in #2153
- docs: 2026-08-29 walkthrough replies, ADR-0060–0062 ratification briefs, v0.2.0 release-gate row by @Chris0Jeky in #2183
- docs/harness: v0.2.0 pre-tag release preparation + release mechanics agent-executable (q-1 B) by @Chris0Jeky in #2184
Full Changelog: v0.1.2...v0.2.0