Skip to content

Latest commit

 

History

History
500 lines (454 loc) · 47.9 KB

File metadata and controls

500 lines (454 loc) · 47.9 KB

Changelog

v0.21.36 - 2026-06-12

  • fix(db): make task_action_counts trigger follow action task_id changes by @MH4GF in #416

v0.21.35 - 2026-06-10

  • build(lint): pin golangci-lint to v2.12.2 (mise + CI) by @MH4GF in #412
  • feat(action): add --instruction-file flag to tq action create by @MH4GF in #414

v0.21.34 - 2026-06-09

  • test(tui): collapse schedules_test.go error tests into table-driven by @MH4GF in #374
  • feat(tq plugin): expose 7 skills via Agent Skills marketplace for npx skills and gh skill by @MH4GF in #376
  • docs(CLAUDE.md): enumerate tq search fields to match CLI help by @MH4GF in #377
  • docs(golden-rules): align per-layer quality grades table with legend by @MH4GF in #378
  • docs(gh-ops): use canonical plugin CLI flow for installation by @MH4GF in #379
  • refactor(tui): read claude_session_id via metaKeyClaudeSessionID constant by @MH4GF in #380
  • docs(golden-rules): correct Rule 17 violation counts to 16 across 8 sites by @MH4GF in #383
  • test(tui): table-drive SortOrder and ActionStats assertions by @MH4GF in #382
  • fix(db): wrap MergeActionMetadata SELECT+merge+UPDATE in a transaction by @MH4GF in #381
  • docs: distribute tq-dep-triage skill via plugin by @MH4GF in #384
  • fix(db): wrap UpdateAction read+validate+write in a tx by @MH4GF in #385
  • test(tui): collapse TestTasksModel_Dispatch* trio into table-driven test by @MH4GF in #387
  • docs(tq): mark /tq:done action_id as optional in argument-hint by @MH4GF in #386
  • docs(cli-reference): align command-table descriptions with CLI Short strings by @MH4GF in #388
  • fix(dispatch): probe next pending action when slot pool defers head by @MH4GF in #391
  • docs(cmd): add executor to --meta help on action update + schedule create/update by @MH4GF in #392
  • fix(tui): auto-clear SchedulesModel toast messages after TTL by @MH4GF in #389
  • fix(cmd/add): atomically create action and dependency edges by @MH4GF in #393
  • fix(dispatch): defer admission callback errors instead of MarkFailed by @MH4GF in #390
  • fix(cmd/schedule): reject create/update --task on terminal task by @MH4GF in #394
  • perf(tui): load task detail asynchronously via tea.Cmd by @MH4GF in #396
  • fix(dispatch): atomic schedule-tick prevents duplicate actions by @MH4GF in #395
  • test(dispatch): cover bg merge-failure → reapOrphans path end-to-end by @MH4GF in #397
  • test(db): refactor TestHasActiveActionsForSchedules to table-driven by @MH4GF in #399
  • refactor(dispatch): table-drive TestReapBg_/TestReapOrphans_ family by @MH4GF in #398
  • security(ci): pin third-party actions in claude.yml to commit SHAs by @MH4GF in #400
  • fix(db): preserve worker result when MarkDone loses race to terminal transition by @MH4GF in #402
  • docs(skill): drop unused context: fork from turso-query-watch frontmatter by @MH4GF in #403
  • docs(plugin): fix manager skill mode guidance for current dispatch reality by @MH4GF in #401
  • docs(plugins/tq): fix wrong --meta dispatch_after instruction in failed skill by @MH4GF in #404
  • refactor(dispatch): route remote_session key through MetaKey constant + close Rule 10 writer-side gap by @MH4GF in #405
  • docs(triage): always exclude recurring tasks from Step 6 AskUserQuestion by @MH4GF in #406
  • refactor(gh-ops/respond-review): drop pre-emptive "Will address" step by @MH4GF in #407
  • feat(db): absorb SQLite database-locked errors via DSN PRAGMA + lock retry by @MH4GF in #408
  • fix(db): replace action dependencies atomically by @MH4GF in #409
  • fix(dispatch): reject tq mode names as --permission-mode value in claude_args by @MH4GF in #410
  • fix(db): close remaining task-attach guard gaps (schedule enable, action update, TUI toggle) by @MH4GF in #411

v0.21.33 - 2026-06-04

  • docs(plugin-readme): refresh SessionStart and dispatch-mode notes after unified bg path by @MH4GF in #370
  • feat(triage): PR-merge override for skip rule by @MH4GF in #371
  • fix(dispatch): apply bg hard timeout only to noninteractive actions by @MH4GF in #373

v0.21.32 - 2026-06-01

  • refactor: unify action launch on claude --bg, retire experimental_bg by @MH4GF in #367
  • fix(db): guard experimental_bg migration against malformed metadata rows by @MH4GF in #369

v0.21.31 - 2026-06-01

  • feat: auto-record claude_session_id for experimental_bg; allow --meta on done by @MH4GF in #363
  • Migrate tq plugin slash commands to Agent Skills by @MH4GF in #365
  • fix: respond-review draft template passes the unslop guard by @MH4GF in #366

v0.21.30 - 2026-05-23

  • feat(gh-ops): add Edit plan field to respond-review draft by @MH4GF in #355
  • feat(tui): show full action context in detail view by @MH4GF in #357
  • docs(cli-reference): document r/f TUI shortcuts alongside d by @MH4GF in #358
  • fix(dispatch): retry MarkDone and emit explicit FAILED on persistent write error by @MH4GF in #359
  • fix(dispatch): mark action FAILED when DeferToPending itself fails by @MH4GF in #360
  • fix(dispatch): use HeartbeatFreshness in early-stale watchdog to stop leaking running actions by @MH4GF in #361
  • rename simplify → code-review in /quality-review by @MH4GF in #362

v0.21.29 - 2026-05-18

  • fix(dispatch): stop reaping live interactive actions via tmux window check by @MH4GF in #353

v0.21.28 - 2026-05-18

  • docs: add best-practices guide with dispatch mode selection by @MH4GF in #351

v0.21.27 - 2026-05-18

  • docs: reconcile tq search description with CLI help by @MH4GF in #342
  • docs: reconcile action subcommand table with live CLI help by @MH4GF in #343
  • test(db): lock SQL/Go dependency-satisfaction parity by @MH4GF in #345
  • fix(dispatch): strip ANSI before parsing claude --bg short id by @MH4GF in #347
  • Make tq task update atomic via single UpdateTaskFields transaction by @MH4GF in #346
  • feat(config): DB-backed global default dispatch mode by @MH4GF in #348
  • fix: exclude false positives in investigate-incidents denial query by @MH4GF in #349
  • feat(tui): add 'd' keybinding to dispatch a pending action by @MH4GF in #350

v0.21.26 - 2026-05-18

  • db: remove dead ListTasksByStatus (Rule 19 burn-down) by @MH4GF in #335
  • fix(db): purge dangling action_dependencies on task/action delete by @MH4GF in #341

v0.21.25 - 2026-05-16

  • refactor: remove dead db.Store.UpdateScheduleRun by @MH4GF in #336
  • noninteractive: attach raw output on JSON parse failure by @MH4GF in #339

v0.21.24 - 2026-05-16

  • docs(create-action): rewrite Build instruction around goal-state + value by @MH4GF in #318
  • dispatch: couple schedule insert spec with its success run update by @MH4GF in #320
  • docs(tq-plugin): make worker model reference version-agnostic in create-action by @MH4GF in #321
  • gc-exploratory: dedup findings against this task's action history by @MH4GF in #322
  • feat(triage): add recurring-task exclusion rule to /tq:triage by @MH4GF in #323
  • tq:done: gate done on a merged PR for code-change actions by @MH4GF in #324
  • db: include failure reason in BulkMarkFailed event payload by @MH4GF in #325
  • db: remove dead EnsureNotificationsProject chain (Rule 19 burn-down) by @MH4GF in #326
  • feat: completion-dependency dispatch gating for actions by @MH4GF in #327
  • db: remove dead Store.IsWorkerRunning method (Rule 19 burn-down) by @MH4GF in #329
  • db: remove dead HasActiveActionWithMeta (Rule 19 burn-down) by @MH4GF in #330
  • refactor: remove dead db.Store.SetAllDispatchEnabled (Rule 19 burn-down) by @MH4GF in #331
  • feat(cmd): add tq schedule get subcommand (Rule 19 burn-down: GetSchedule) by @MH4GF in #332
  • cmd: clarify --max-interactive help text covers shared pool by @MH4GF in #333
  • Rule 19 burn-down: delete dead db.Store.GetOrCreateTriageTask + EnsureTask by @MH4GF in #328
  • test(dispatch): table-drive CheckSchedules metadata-failure tests by @MH4GF in #334
  • fix(dispatch): don't misclassify completed long-running actions as early-stale by @MH4GF in #337

v0.21.23 - 2026-05-16

  • db: trigger-maintained task_action_counts + Rule 18 (no aggregates in hot paths) by @MH4GF in #277
  • accept multiple thread_ids in gh-mark-notification-read by @MH4GF in #280
  • golden-rules: add Rule 15 (no db.Store calls in for-range loops) by @MH4GF in #281
  • dispatch: phase 2 — remove polling-based claude_session_id capture by @MH4GF in #282
  • feat(action): support per-action --work-dir override by @MH4GF in #283
  • dispatch: add experimental_bg mode (research preview) by @MH4GF in #284
  • dispatch: defer slot-capped actions with dispatch_after backoff and fix TUI slot gauge by @MH4GF in #285
  • dispatch: retire per-event investigate/permission-block auto-gen, route to /tq:investigate-incidents skill by @MH4GF in #286
  • tui: open action detail for any status (instruction + result) by @MH4GF in #288
  • docs(tq-plugin): sync README command descriptions to frontmatter by @MH4GF in #289
  • dispatch: mark action FAILED on async goroutine panic by @MH4GF in #290
  • tui(schedules): surface ListSchedules error instead of silent empty list by @MH4GF in #291
  • db: add idx_schedules_task to eliminate 3 Rule 17 SCANs by @MH4GF in #292
  • Add weekly Turso rows-read regression watch by @MH4GF in #293
  • goldenrules: add Rule 19 detecting test-only-reachable db.Store methods by @MH4GF in #294
  • docs(rule17): annotate db/event.go:69 as LIMIT-bounded PK scan by @MH4GF in #296
  • docs(tq-plugin): align /tq:done /tq:cancel /tq:triage README with frontmatter by @MH4GF in #295
  • dispatch: record last_error on schedule metadata parse failure by @MH4GF in #297
  • tui: surface schedule toggle/delete DB errors instead of silently swallowing by @MH4GF in #298
  • docs: align tq task list help with docs (latest 10 nested actions) by @MH4GF in #299
  • docs(CLAUDE.md): list top-level tq subcommands by @MH4GF in #253
  • Add context: fork to investigate-incidents skill by @MH4GF in #287
  • test: collapse MultipleStale reap tests into table-driven test by @MH4GF in #301
  • docs(tq-plugin): match /tq:failed README desc to frontmatter verbatim by @MH4GF in #303
  • docs: surface executor --meta key in tq action create help by @MH4GF in #304
  • db: delete legacy claude-flags migration to burn down Rule 16 by @MH4GF in #305
  • cmd/action: include recovery hint in done error message by @MH4GF in #306
  • test(tui): table-drive TaskDetailView_WithNotes substring assertions by @MH4GF in #307
  • docs(tq-plugin): sync /tq:triage README desc to frontmatter by @MH4GF in #308
  • perf(dispatch): skip reaper prefetch when no action is reapable by @MH4GF in #309
  • docs(skill): use bold instead of h2 in create-action instruction examples by @MH4GF in #310
  • fix(goldenrules): check scanner/path errors so violations are not silently skipped by @MH4GF in #311
  • docs(tq:done): require follow-up action for remaining entries by @MH4GF in #312
  • docs(tq-plugin): sync tq search README desc to CLI help wording by @MH4GF in #313
  • fix(db): normalize schedule_id to INTEGER in HasActiveActionsForSchedules by @MH4GF in #314
  • fix(tui): keep cursor off decorative lines at list edges by @MH4GF in #316
  • docs(readme): align action state machine diagram with done/fail semantics by @MH4GF in #315
  • docs(claude): unify architecture-layer arrow notation with golden-rules by @MH4GF in #317
  • db: convert db.Search to FTS5 trigram, burn Rule 16 ceiling 7→1 by @MH4GF in #300

v0.21.22 - 2026-05-09

  • Cut Turso rows-read by date-aware action view + bulk task fetch + 30s tick by @MH4GF in #261
  • fix(cmd): print 'queue: status unavailable' on DB error in printQueueStatus by @MH4GF in #263
  • Normalize doc language: convert mixed-Japanese to English by @MH4GF in #264
  • plugin: mark create-action instruction argument as optional by @MH4GF in #265
  • dispatch: extend EarlyDispatchTimeout default 60s → 5m by @MH4GF in #266
  • db: drop dead ListTasksByProject (Rule 13 deadcode-check blind spot) by @MH4GF in #267
  • dispatch: exempt cloud-executed actions from reaper via metadata.executor by @MH4GF in #270
  • fix(gh-ops/watch): replace ## headers in co-review template to avoid bash deny by @MH4GF in #271
  • cmd: align task get help with docs (latest 10 nested actions) by @MH4GF in #269
  • plugin: add allowed-tools to triage command frontmatter by @MH4GF in #268
  • db: block task close while a dispatched action is in flight by @MH4GF in #272
  • claude: enable auto mode + share tq-specific permissions by @MH4GF in #274
  • fix(quality-review): serialize state ledger writes with flock by @MH4GF in #273
  • goldenrules: add Rule 16 banning leading-wildcard LIKE in SQL by @MH4GF in #275
  • add Rule 17: detect EXPLAIN QUERY PLAN SCAN in db/ via golden-rule test by @MH4GF in #276

v0.21.21 - 2026-05-07

  • Drop stale interactive validator help text by @MH4GF in #245
  • Declare tq plugin marketplace + SessionStart auto-install hook by @MH4GF in #247
  • Add Claude session-log fallback recipe to triage and manager by @MH4GF in #248
  • Drop isResume parameter from RenderPrompt by @MH4GF in #249
  • Simplify tq installation command in Claude settings by @MH4GF in #250
  • gh-ops: add /gh-ops:wait-pr-checks command by @MH4GF in #251
  • attach: require both tmux_session and tmux_window by @MH4GF in #252
  • plugins: drop stale multi-line→noninteractive guidance by @MH4GF in #254
  • docs(tq plugin README): add path reference to skills section by @MH4GF in #255
  • Surface permanent schedule failures via last_error by @MH4GF in #256
  • docs(cli-reference): mention status/task filtering on action list row by @MH4GF in #257
  • Run noninteractive dispatch in goroutines (non-blocking loop, +max-noninteractive cap) by @MH4GF in #258
  • Emit schedule.updated event from UpdateSchedule by @MH4GF in #260
  • Emit project.work_dir_changed event in SetWorkDir by @MH4GF in #259

v0.21.20 - 2026-05-06

  • Rename session_id to tmux_session/tmux_window + claude side, with migration by @MH4GF in #235
  • Capture claude_session_id via SessionStart hook by @MH4GF in #237
  • Allow newlines in interactive instruction validator by @MH4GF in #239
  • Harden interactive reaper against session_id leaks + early dispatch watchdog by @MH4GF in #238
  • Add E2E test framework with testscript by @MH4GF in #240
  • Reject action create under done/archived parent task by @MH4GF in #241
  • Expand E2E scenarios for action lifecycle, schedule, errors, db precedence, attach by @MH4GF in #242
  • Add tq action prompt subcommand to bypass tmux send-keys MAX_CANON by @MH4GF in #243
  • Support libsql:// remote DB via TQ_DB_URL by @MH4GF in #244

v0.21.19 - 2026-05-02

  • Merge investigate-failure skip tests into one table-driven test by @MH4GF in #229
  • Reject Claude permission-mode values as tq action mode by @MH4GF in #227
  • Stop hook: marker-based loop guard for in-session push-back chain by @MH4GF in #228
  • Expand create-action skill with Opus 4.7 instruction guidelines by @MH4GF in #231
  • chore: remove Claude Code Review workflow by @MH4GF in #233
  • Sync gh-ops plugin version to tagpr release rail by @MH4GF in #232
  • Make noninteractive Execute heartbeat-aware by @MH4GF in #234

v0.21.18 - 2026-05-02

  • Force latest_triage_note checkpoints in tq:triage by @MH4GF in #214
  • docs: match resume description to --help output by @MH4GF in #216
  • Reject control characters in interactive instructions by @MH4GF in #217
  • Update last_run_at on schedule marshal failure to throttle retries by @MH4GF in #218
  • Reap interactive actions when tmux is unavailable past hard timeout by @MH4GF in #219
  • Drop nonexistent --until flag from triage Step 7 snooze instructions by @MH4GF in #220
  • Document interactive-mode control byte rejection by @MH4GF in #221
  • docs: align tq task list table description with --help output by @MH4GF in #222
  • Align golden-rules GC prose with [enforced] taxonomy by @MH4GF in #223
  • Persist session_info on tq action dispatch interactive path by @MH4GF in #224
  • Surface DB read errors in TUI task detail open by @MH4GF in #225
  • Document tq action get/attach/reset in CLI reference by @MH4GF in #226

v0.21.17 - 2026-04-30

  • Replace /gh-ops:review-pr with /gh-ops:brief-pr by @MH4GF in #203
  • Add Co-review template + skip merged/closed PRs in /gh-ops:watch by @MH4GF in #205
  • Restructure dispatch postamble for clearer prompt engineering by @MH4GF in #206
  • Restructure brief-pr digest for scannability by @MH4GF in #207
  • Restructure /tq:triage Step 6 to Rumelt's kernel of strategy by @MH4GF in #208
  • Ignore .claude/scheduled_tasks.lock runtime lock by @MH4GF in #209
  • Add Auto-mode boundaries to gh-ops:watch skill by @MH4GF in #210
  • Add task status change reasons to tq search field list by @MH4GF in #211
  • Sync gh-ops README brief-pr description with command frontmatter by @MH4GF in #212
  • Evaluate cron schedules in now's timezone by @MH4GF in #213

v0.21.16 - 2026-04-26

  • Convert IgnoresDispatchSession test to table-driven by @MH4GF in #200
  • Add PostToolUse hook for auto golangci-lint fmt + lint diag injection by @MH4GF in #202

v0.21.15 - 2026-04-26

  • refactor(task)!: cap nested actions in task list/get to latest 10 by @MH4GF in #143
  • feat(gh-ops): use gh release view for Release notification fetch by @MH4GF in #145
  • docs(tq): clarify create-action skill delegates to separate session by @MH4GF in #146
  • Add task-level follow-up flow to /tq:done by @MH4GF in #147
  • docs: add worktree naming guidance for claude_args by @MH4GF in #148
  • docs(tq): add project focus/unfocus awareness to triage by @MH4GF in #150
  • fix(dispatch): guard tmux send-keys against oversized instructions by @MH4GF in #149
  • docs(gh-ops): align README descriptions with command frontmatter by @MH4GF in #155
  • refactor(tui): convert TestTabSwitch to table-driven pattern by @MH4GF in #157
  • docs: add completion subcommand to cli-reference by @MH4GF in #156
  • docs(tq): align cancel skill follow-up with done skill pattern by @MH4GF in #158
  • docs(gh-ops): fix README drift against watch.md by @MH4GF in #159
  • test(schedule): collapse TestScheduleCreate cluster into table-driven form by @MH4GF in #132
  • test(done): collapse done_test.go into table-driven test by @MH4GF in #125
  • test(cmd): convert dispatch_test.go to table-driven by @MH4GF in #126
  • test(dispatch): collapse TestFileSessionLogChecker variants into table-driven subtests by @MH4GF in #142
  • test(project): collapse TestDeleteProject variants into table-driven subtests by @MH4GF in #135
  • fix(gh-ops): resolve gh api drift in watch.md by @MH4GF in #160
  • refactor(cmd): convert TestResolveDBPath to table-driven pattern by @MH4GF in #151
  • refactor(dispatch): table-driven SkipsTimeout test + use constants by @MH4GF in #152
  • refactor(db): table-driven tests for ListTasks and MergeTaskMetadata by @MH4GF in #153
  • extract quality-review state recording into standalone script by @MH4GF in #161
  • test(investigate_failure): collapse TestCreateInvestigateFailureAction into table-driven subtests by @MH4GF in #137
  • refactor(db): convert TestListActions/TestUpdateAction to table-driven by @MH4GF in #154
  • Align failed.md with done.md/cancel.md follow-up pattern by @MH4GF in #163
  • Remove legacy meta keys from cli-reference by @MH4GF in #162
  • test(permission_block): collapse TestCreatePermissionBlockAction subtests into table-driven form by @MH4GF in #141
  • Block task completion when pending/running actions exist by @MH4GF in #116
  • Add quality-review and simplify skill permissions to settings.json by @MH4GF in #114
  • docs(tq-plugin): align /tq:failed and /tq:cancel docs with behavior by @MH4GF in #164
  • Add project_id to search results and --project filter by @MH4GF in #115
  • Add summarize-and-assess-risk step to gh-ops:merge-pr by @MH4GF in #165
  • docs: add cancelled state to Action State Machine diagram by @MH4GF in #166
  • Add deadcode CI gate (Rule 13) by @MH4GF in #167
  • Delete 3 allowlisted dead identifiers (Rule 13) by @MH4GF in #169
  • Add task notes mechanism for /tq:triage keep judgments by @MH4GF in #170
  • cmd action done: validate status to avoid silent no-op by @MH4GF in #173
  • Surface MarkFailed errors in dispatch error paths by @MH4GF in #172
  • Add diff-scoped E2E execution as third quality-review parallel agent by @MH4GF in #171
  • Split resolveWorkDir into pure resolver + apply step by @MH4GF in #175
  • Add Rule 14: forbid *ForTest method calls in production code by @MH4GF in #174
  • Replace per-task ListActions N+1 with bulk call in TUI loadTasks by @MH4GF in #176
  • Wrap markTerminal SELECT+UPDATE in a transaction by @MH4GF in #178
  • Auto-clear transient TUI messages with TTL by @MH4GF in #179
  • TUI: surface DB errors in loadTasks and dispatch toggle by @MH4GF in #177
  • Sync action lifecycle docs and help text with dispatched state by @MH4GF in #168
  • Add task detail view to TUI with status_history and notes by @MH4GF in #181
  • Sync action/event tables in cli-reference with help output by @MH4GF in #182
  • fix(claude-review): add --comment to actually post review comments by @MH4GF in #180
  • respond-review: preserve quoted comments and drop Thread N numbering by @MH4GF in #183
  • Add /gc-exploratory skill chained from /gc-golden-rules by @MH4GF in #184
  • Collapse cmd/add_test.go into table-driven TestAdd by @MH4GF in #185
  • Collapse TestTaskList variants into one table-driven test by @MH4GF in #187
  • Collapse cmd/jq_test.go into a single table-driven test by @MH4GF in #188
  • Refactor TestFilterForOpenTask into table-driven form by @MH4GF in #190
  • Consolidate dispatch ExecuteAction tests into table-driven form by @MH4GF in #191
  • Collapse TestActionUpdate variants into table-driven test by @MH4GF in #189
  • Fix CLI reference drift against actual tq --help output by @MH4GF in #192
  • Add tq action resume to continue claude sessions by @MH4GF in #186
  • Convert TestUpdateTask_BlockedByActiveActions to table-driven by @MH4GF in #193
  • Restore tq task note and search --project docs (revert PR #192) by @MH4GF in #194
  • Add Stop hook to push back on incomplete sessions by @MH4GF in #195
  • Fix tagpr workflow auth failure on git fetch --unshallow by @MH4GF in #197
  • Fix Stop hook CI status detection by @MH4GF in #196
  • Honor --session flag in tq action resume interactive mode by @MH4GF in #198

v0.21.15 - 2026-04-19

  • refactor(task)!: cap nested actions in task list/get to latest 10 by @MH4GF in #143

v0.21.14 - 2026-04-19

  • test(list): collapse list_test.go cases into table-driven test by @MH4GF in #128
  • test(fail): collapse TestFail variants into table-driven subtests by @MH4GF in #127
  • Decouple action state transitions from tmux process termination by @MH4GF in #130
  • test(task): collapse TestTaskCreate variants into table-driven subtests by @MH4GF in #133
  • test(project): collapse TestProjectCreate variants into table-driven by @MH4GF in #131
  • test(task): collapse TestTaskUpdate variants into table-driven subtests by @MH4GF in #134
  • docs(cli-reference): sync with current --help output by @MH4GF in #138
  • test(dispatch): collapse TestCheckSchedules variants into table-driven subtests by @MH4GF in #139
  • Enforce quality-review before gh pr create via hook by @MH4GF in #136
  • test(dispatch): collapse TestReapStaleActions_* into table-driven subtests by @MH4GF in #140

v0.21.13 - 2026-04-19

  • Add gc-golden-rules periodic GC command (Phase 3) by @MH4GF in #109
  • quality-review: fix code-simplifier agent type not found error by @MH4GF in #111
  • Move dispatch context from preamble to postamble by @MH4GF in #104
  • Replace text help instruction with auto-exec in manager SKILL.md by @MH4GF in #112
  • gh-ops:watch の gh api /repos 呼び出しを専用サブコマンドに置換 by @MH4GF in #113
  • Include CLI output in noninteractive worker error messages by @MH4GF in #117
  • Fix noninteractive actions not saving claude_session_id by @MH4GF in #102
  • Add work_dir auto-recovery for stale worktree paths by @MH4GF in #118
  • Add project consistency check step to triage command by @MH4GF in #97
  • Record task status transition history with required --note by @MH4GF in #120
  • feat(schedule): support claude_args metadata key by @MH4GF in #121
  • Search task status change reasons via events payload by @MH4GF in #122
  • feat: drop permission_mode/worktree metadata in favor of claude_args by @MH4GF in #123
  • Rewrite tq:triage for lightweight collection and actionable proposals by @MH4GF in #124

v0.21.13 - 2026-04-17

  • Add gc-golden-rules periodic GC command (Phase 3) by @MH4GF in #109
  • quality-review: fix code-simplifier agent type not found error by @MH4GF in #111
  • Move dispatch context from preamble to postamble by @MH4GF in #104
  • Replace text help instruction with auto-exec in manager SKILL.md by @MH4GF in #112
  • gh-ops:watch の gh api /repos 呼び出しを専用サブコマンドに置換 by @MH4GF in #113
  • Include CLI output in noninteractive worker error messages by @MH4GF in #117
  • Fix noninteractive actions not saving claude_session_id by @MH4GF in #102
  • Add work_dir auto-recovery for stale worktree paths by @MH4GF in #118

v0.21.12 - 2026-04-13

  • Add distinct gray styling for archived/cancelled statuses in TUI by @MH4GF in #87
  • Revise README and add CLI reference docs by @MH4GF in #79
  • Skip investigate-failure for all timeout failures by @MH4GF in #90
  • Add skip condition for team review requests in watch by @MH4GF in #91
  • Add --db flag and TQ_DB_PATH env var for DB path override by @MH4GF in #96
  • Fix tagpr versionFile path after gh-ops rename by @MH4GF in #95
  • Add tmp file draft workflow to respond-review by @MH4GF in #93
  • Detect permission_denials in noninteractive worker by @MH4GF in #94
  • Add tq action fail CLI and /tq:failed slash command by @MH4GF in #92
  • Add dispatch_after for scheduled action dispatch by @MH4GF in #89
  • Add missing dispatchAfter arg to InsertAction calls by @MH4GF in #100
  • Add demo GIF to README by @MH4GF in #99
  • Add automated golden rule violation detection (Phase 2) by @MH4GF in #101
  • Resolve all 30 Rule 11 violations via db.Store test-seam methods by @MH4GF in #106
  • Add claude_args metadata key for dispatch by @MH4GF in #105
  • Show available projects in task create help by @MH4GF in #103
  • Add Homebrew cask distribution via GoReleaser by @MH4GF in #107
  • Release for v0.21.12 by @MH4GF in #98

v0.21.12 - 2026-04-13

  • Add distinct gray styling for archived/cancelled statuses in TUI by @MH4GF in #87
  • Revise README and add CLI reference docs by @MH4GF in #79
  • Skip investigate-failure for all timeout failures by @MH4GF in #90
  • Add skip condition for team review requests in watch by @MH4GF in #91
  • Add --db flag and TQ_DB_PATH env var for DB path override by @MH4GF in #96
  • Fix tagpr versionFile path after gh-ops rename by @MH4GF in #95
  • Add tmp file draft workflow to respond-review by @MH4GF in #93
  • Detect permission_denials in noninteractive worker by @MH4GF in #94
  • Add tq action fail CLI and /tq:failed slash command by @MH4GF in #92
  • Add dispatch_after for scheduled action dispatch by @MH4GF in #89
  • Add missing dispatchAfter arg to InsertAction calls by @MH4GF in #100
  • Add demo GIF to README by @MH4GF in #99
  • Add automated golden rule violation detection (Phase 2) by @MH4GF in #101
  • Resolve all 30 Rule 11 violations via db.Store test-seam methods by @MH4GF in #106
  • Add claude_args metadata key for dispatch by @MH4GF in #105
  • Show available projects in task create help by @MH4GF in #103
  • Add Homebrew cask distribution via GoReleaser by @MH4GF in #107

v0.21.11 - 2026-04-06

  • Improve dispatch prompt and action metadata validation by @MH4GF in #74
  • Polish TUI: contrast, detail views, interactive slots by @MH4GF in #80
  • Add --jq flag to all JSON-outputting commands by @MH4GF in #75
  • Fix noninteractive timeout kills and unnecessary investigate actions by @MH4GF in #82
  • Fix worktree+plan actions being falsely reaped by noninteractive stale check by @MH4GF in #83
  • セッションログハートビートによるstale検知 by @MH4GF in #84
  • Fix tq plugin README documentation drift by @MH4GF in #86

v0.21.10 - 2026-03-31

  • Fix tq task create invocation in watch.md by @MH4GF in #71
  • Redesign TUI with project cards and refined visual hierarchy by @MH4GF in #77
  • Add noninteractive stale detection to reapStaleActions by @MH4GF in #73

v0.21.9 - 2026-03-30

  • Prevent markTerminal from overwriting already-terminal actions by @MH4GF in #68
  • Show unfocused hint for action create on unfocused projects by @MH4GF in #70
  • Add --cascade flag to project delete by @MH4GF in #72

v0.21.8 - 2026-03-26

  • Add /quality-review command as quality gate by @MH4GF in #63
  • Add meta key descriptions and fix stale prompt references by @MH4GF in #62
  • Add draft status check to self-review Phase 4 by @MH4GF in #49

v0.21.7 - 2026-03-26

  • Extract gh api calls into standalone scripts for gh-notifications plugin by @MH4GF in #65

v0.21.6 - 2026-03-25

  • Move tq dispatch to tq action dispatch subcommand by @MH4GF in #58
  • Place --worktree flag after prompt in interactive dispatch by @MH4GF in #64
  • Fix watch skill silently swallowing gh api errors by @MH4GF in #60

v0.21.6 - 2026-03-25

  • Move tq dispatch to tq action dispatch subcommand by @MH4GF in #58

v0.21.5 - 2026-03-25

  • Add tq action update command by @MH4GF in #56
  • Show pending counts split by dispatch-enabled projects by @MH4GF in #55

v0.21.4 - 2026-03-24

  • Replace schedule auto-disable with UpdateTask guard by @MH4GF in #52
  • Instruct manager skill to use --jq flag instead of piped commands by @MH4GF in #53

v0.21.3 - 2026-03-23

  • Add docs-reviewer sub-agent and fix documentation drift by @MH4GF in #48
  • Document schedule metadata dispatch keys by @MH4GF in #51

v0.21.2 - 2026-03-23

  • Add --worktree flag support for claude CLI dispatch by @MH4GF in #37
  • Add gh-notifications plugin and instruction-based schedule support by @MH4GF in #32
  • Add tq search command for cross-entity full-text search by @MH4GF in #25
  • Expand golangci-lint rules for tech debt detection by @MH4GF in #35
  • Register gh-notifications plugin in marketplace manifest by @MH4GF in #41
  • Remove prompt template system, migrate to instruction-only by @MH4GF in #38
  • Add PR processing commands to gh-notifications plugin by @MH4GF in #42
  • Bump gh-notifications plugin version to 0.2.0 by @MH4GF in #44
  • Add common preamble/postamble to dispatched action instructions by @MH4GF in #46
  • Change action create instruction to positional argument by @MH4GF in #47
  • Add gh-notifications plugin to tagpr versionFile by @MH4GF in #45
  • Use tq search for task lookup in skills by @MH4GF in #43
  • Store and display worker's actual max_interactive by @MH4GF in #40

v0.21.1 - 2026-03-21

  • Add depguard rules to enforce layered architecture by @MH4GF in #33
  • Add get template function for optional metadata keys by @MH4GF in #34

v0.21.0 - 2026-03-21

  • Refactor navigation: hierarchical tasks→queue view with action counts by @MH4GF in #2
  • Add action status validation and improve reset/cancel logic by @MH4GF in #3
  • Add semantic versioning with tagpr by @MH4GF in #4
  • Add Claude Code GitHub Workflow by @MH4GF in #6
  • Add gh-setup-hooks SessionStart hook for Claude Code on the Web by @MH4GF in #9
  • Migrate golangci-lint config to v2 and fix all lint errors by @MH4GF in #10
  • Auto-create investigation actions when actions fail by @MH4GF in #7
  • Migrate Task.URL from DB column to metadata JSON by @MH4GF in #12
  • Replace status string literals with constants by @MH4GF in #15
  • Show existing action details in duplicate block error by @MH4GF in #16
  • Fix tagpr release config: sync version, delegate releases to GoReleaser by @MH4GF in #11
  • Add --meta flag to task update command by @MH4GF in #17
  • Add action_id to auto-created action log messages by @MH4GF in #19
  • Add CODEOWNERS with @MH4GF as default owner by @MH4GF in #23
  • Add structured result format guidance to action done by @MH4GF in #24
  • Make prompt_id optional: support instruction-only actions by @MH4GF in #22
  • Add task get and action get commands by @MH4GF in #21
  • Add queue status display to action create by @MH4GF in #20
  • Expand golangci-lint config with additional linters and formatters by @MH4GF in #27
  • Use PAT instead of GITHUB_TOKEN in tagpr workflow by @MH4GF in #29
  • Add --limit flag to all list commands by @MH4GF in #26
  • Expand golangci-lint config and apply auto-fixes by @MH4GF in #30
  • Add --jq flag to list commands by @MH4GF in #28

v0.21.0 - 2026-03-21

  • Refactor navigation: hierarchical tasks→queue view with action counts by @MH4GF in #2
  • Add action status validation and improve reset/cancel logic by @MH4GF in #3
  • Add semantic versioning with tagpr by @MH4GF in #4
  • Add Claude Code GitHub Workflow by @MH4GF in #6
  • Add gh-setup-hooks SessionStart hook for Claude Code on the Web by @MH4GF in #9
  • Migrate golangci-lint config to v2 and fix all lint errors by @MH4GF in #10
  • Auto-create investigation actions when actions fail by @MH4GF in #7
  • Migrate Task.URL from DB column to metadata JSON by @MH4GF in #12
  • Replace status string literals with constants by @MH4GF in #15
  • Show existing action details in duplicate block error by @MH4GF in #16
  • Fix tagpr release config: sync version, delegate releases to GoReleaser by @MH4GF in #11
  • Add --meta flag to task update command by @MH4GF in #17
  • Add action_id to auto-created action log messages by @MH4GF in #19
  • Add CODEOWNERS with @MH4GF as default owner by @MH4GF in #23
  • Add structured result format guidance to action done by @MH4GF in #24
  • Make prompt_id optional: support instruction-only actions by @MH4GF in #22
  • Add task get and action get commands by @MH4GF in #21
  • Add queue status display to action create by @MH4GF in #20
  • Expand golangci-lint config with additional linters and formatters by @MH4GF in #27