diff --git a/.claude-plugin/marketplace.json b/.claude-plugin/marketplace.json index 64c245a..da85a11 100644 --- a/.claude-plugin/marketplace.json +++ b/.claude-plugin/marketplace.json @@ -6,14 +6,14 @@ }, "metadata": { "description": "Task Journal — append-only reasoning chain memory for AI-coding tasks", - "version": "0.31.2" + "version": "0.32.0" }, "plugins": [ { "name": "task-journal", "source": "./plugin", "description": "Append-only journal of AI-coding task reasoning chains. Captures hypotheses, decisions, rejections, evidence — renders compact resume packs so an agent can pick up a 2-week-old task with full context.", - "version": "0.31.2", + "version": "0.32.0", "author": { "name": "Digital-Threads" }, diff --git a/CHANGELOG.md b/CHANGELOG.md index c0ade52..2bb98f4 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -7,6 +7,64 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0 ## [Unreleased] +## [0.32.0] - 2026-11-06 + +Less noise in the agent's context. Measured on 300 sessions: push-recall was +added to tool results 13,696 times, almost never about the work at hand. + +### Changed +- **Push-recall only on a strong match with the session's task.** A hit must be a + rejection or decision the agent or the user recorded (classifier output is not + trusted) on the session's active task or a task of the same module, sharing a + file, issue or commit with the tool call, or at least three meaningful words + (more for a long call) — one shared word used to be enough. Paths count as + files, not words; what an edit writes (`content`, `old_string`, `new_string`) + doesn't count at all; `UTF-8` or `SHA-256` is not an issue key. No session + task, no recall. At most one hit, at most once per ten tool calls of a session + (`TJ_RECALL_EVERY`), never for the journal's own tools. It arrives as + `additionalContext` for every tool: the async hook's `updatedMCPToolOutput` + never reached the model and rewrote other servers' output. +- **The session start is one line.** It names the open task the session most + likely continues — its own after a resume or compaction, else the one the git + branch names (the branch, or an issue key in it), else the folder's latest — and + how to resume it. Resume packs, honesty scores and chronicle gaps are on request + (`task_pack`, `task-journal check`, `module_list`). +- **No chronicle line in replies or prompts.** `task_create` no longer carries a + `chronicle` field, and the mod no longer adds a chronicle reminder to prompts. +- **Short MCP instructions.** Seven plain lines on what to record and why, without + capitals or "NON-NEGOTIABLE". +- **Hooks ship with the plugin.** `plugin/hooks/hooks.json` wires the session start, + push-recall and model switches (`ingest-hook --from-plugin`, never the classifier + queue). `install-hooks` for Claude Code now only takes the hooks earlier versions + wrote out of `settings.json`, after copying it to + `settings.json.task-journal-backup-