From 144d459449aff839f262a6b0e1266867230d99a2 Mon Sep 17 00:00:00 2001 From: Mher Shahinyan Date: Fri, 12 Jun 2026 16:41:45 +0400 Subject: [PATCH] fix(plugin): stop bundled hooks from auto-capturing on every tool call (0.14.4) The 0.14.0 redesign made realtime auto-capture opt-in, but only in the settings.json hooks written by install-hooks. The plugin's own bundled plugin/hooks/hooks.json still wired PostToolUse -> task-journal ingest-hook (asyncRewake + rewakeSummary "Task Journal backlog forming"), plus PreCompact and Stop capture. So merely enabling the plugin re-armed exactly what the redesign removed: every tool call enqueued a pending/ chunk, nothing drained it (the claude -p backend is gone by design), the queue grew unbounded, and past the overflow threshold the asyncRewake signal fired on every PostToolUse -> "Task Journal backlog forming" surfaced dozens of times in a row. Empty the bundled hooks file. The enabled plugin is now quiet by default; resume + nudge + MCP tools come from install-hooks. Realtime capture remains available explicitly via install-hooks --auto-capture. The CLI asyncRewake / pending machinery is untouched (now dormant unless TJ_ASYNC_REWAKE=1 is set). Co-Authored-By: Claude Opus 4.8 (1M context) --- CHANGELOG.md | 18 ++++++++++++++- Cargo.lock | 6 ++--- Cargo.toml | 2 +- plugin/.claude-plugin/plugin.json | 2 +- plugin/hooks/hooks.json | 38 +------------------------------ 5 files changed, 23 insertions(+), 43 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index fc676b8..3929a1b 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -7,7 +7,23 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0 ## [Unreleased] -## [0.14.3] - 2026-06-12 +## [0.14.4] - 2026-06-12 + +### Fixed +- **The bundled plugin no longer auto-captures on every tool call.** The 0.14.0 + redesign made realtime auto-capture opt-in — but only in the `settings.json` + hooks written by `install-hooks`. The plugin's *own* bundled + `plugin/hooks/hooks.json` still wired `PostToolUse → task-journal ingest-hook` + (with `asyncRewake` + `rewakeSummary: "Task Journal backlog forming"`), plus + `PreCompact` and `Stop` capture. So merely **enabling** the plugin re-armed the + exact behaviour the redesign removed: every tool call enqueued a `pending/` + chunk, nothing drained it (the `claude -p` backend is gone by design), the queue + grew unbounded, and once it crossed the overflow threshold the asyncRewake signal + fired on *every* PostToolUse — surfacing "Task Journal backlog forming" dozens of + times in a row. The bundled hooks file is now empty; the enabled plugin is quiet + by default (resume + nudge + MCP tools come from `install-hooks`). Realtime + capture remains available, explicitly, via `install-hooks --auto-capture`. If you + already have a backed-up queue, drain it with `task-journal pending-gc --days 0`. ### Fixed - **SessionStart no longer hijacks the Claude Code session name.** The v0.10.1 diff --git a/Cargo.lock b/Cargo.lock index de8cc64..08188b1 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -2166,7 +2166,7 @@ dependencies = [ [[package]] name = "task-journal-cli" -version = "0.14.3" +version = "0.14.4" dependencies = [ "anyhow", "assert_cmd", @@ -2189,7 +2189,7 @@ dependencies = [ [[package]] name = "task-journal-core" -version = "0.14.3" +version = "0.14.4" dependencies = [ "anyhow", "chrono", @@ -2213,7 +2213,7 @@ dependencies = [ [[package]] name = "task-journal-mcp" -version = "0.14.3" +version = "0.14.4" dependencies = [ "anyhow", "clap", diff --git a/Cargo.toml b/Cargo.toml index 0b50176..e9bf9d5 100644 --- a/Cargo.toml +++ b/Cargo.toml @@ -7,7 +7,7 @@ members = [ ] [workspace.package] -version = "0.14.3" +version = "0.14.4" edition = "2021" rust-version = "1.88" license = "MIT" diff --git a/plugin/.claude-plugin/plugin.json b/plugin/.claude-plugin/plugin.json index 247dadc..0572dc8 100644 --- a/plugin/.claude-plugin/plugin.json +++ b/plugin/.claude-plugin/plugin.json @@ -1,6 +1,6 @@ { "name": "task-journal", - "version": "0.14.3", + "version": "0.14.4", "description": "Append-only journal of AI-coding task reasoning chains: hypotheses, decisions, rejections, evidence. Renders compact resume packs so an agent can pick up a 2-week-old task with full context.", "author": { "name": "Mher Shahinyan" diff --git a/plugin/hooks/hooks.json b/plugin/hooks/hooks.json index 54f5014..deffac9 100644 --- a/plugin/hooks/hooks.json +++ b/plugin/hooks/hooks.json @@ -1,39 +1,3 @@ { - "hooks": { - "PostToolUse": [ - { - "matcher": "", - "hooks": [ - { - "type": "command", - "command": "TJ_ASYNC_REWAKE=1 task-journal ingest-hook 2>/dev/null", - "asyncRewake": true, - "rewakeSummary": "Task Journal backlog forming" - } - ] - } - ], - "PreCompact": [ - { - "matcher": "", - "hooks": [ - { - "type": "command", - "command": "task-journal ingest-hook 2>/dev/null || true" - } - ] - } - ], - "Stop": [ - { - "matcher": "", - "hooks": [ - { - "type": "command", - "command": "task-journal ingest-hook 2>/dev/null || true" - } - ] - } - ] - } + "hooks": {} }