Skip to content

Taskdeck v0.2.0

Latest

Choose a tag to compare

@github-actions github-actions released this 29 Aug 04:40
· 466 commits to main since this release
48c05e1

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 Conflict instead of landing in archived history; independent card writes keep their success semantics (#2110).
  • Scope note: the guard covers the CardService and 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.md records both migrations (#2122).

Machine-facing paths: 405 for a wrong verb, 404 only for a missing route (ADR-0059)

  • GET/HEAD on a POST-only API route now answers 405 with an accurate Allow header, and unknown routes answer 404; 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+KNew Capture → Transcript tab, or Ctrl/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 /login and 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 ReviewProposalCard still 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_card tool) 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