Skip to content

feat(hooks)!: self-tagging-first — realtime auto-capture OFF by default (0.14.0)#27

Merged
Shahinyanm merged 1 commit into
mainfrom
feat/self-tagging-first-default
Jun 12, 2026
Merged

feat(hooks)!: self-tagging-first — realtime auto-capture OFF by default (0.14.0)#27
Shahinyanm merged 1 commit into
mainfrom
feat/self-tagging-first-default

Conversation

@Shahinyanm

Copy link
Copy Markdown
Member

Why

The per-chunk claude -p auto-capture design booted a full Claude Code agent (CLAUDE.md + every plugin + hooks + MCP + plugin-marketplace git pull) just to label one line. Root cause of: the recursion fork bomb (fixed 0.13.1), the git pull origin HEAD storm, a runaway pending backlog, and burned Agent SDK credit.

The working agent already has the context and judgment — it records reasoning directly via the MCP tools (free, accurate, language-agnostic). That is now the path (the bundled skill drives it).

Changes

  • install-hooks default now wires only the cheap, read-only SessionStart resume hook. No per-message classifier, no claude -p spawned, nothing charged.
  • Per-message + PreCompact ingest hooks → opt-in via install-hooks --auto-capture (honors --backend). The classifier backends (heuristic/agent-sdk/api/hybrid) and the recursion guard stay in the codebase, unchanged.
  • dream offline backfill unchanged (manual, batched LLM pass).
  • README "How it works" + command table updated; CHANGELOG 0.14.0.

Tests

  • install_hooks_writes_to_settings_json → asserts the default wires SessionStart and not the per-message classifier hooks.
  • New install_hooks_auto_capture_wires_all_events--auto-capture wires all events.
  • install_hooks_wires_precompact_event → now under --auto-capture.
  • cargo fmt --all --check clean; cargo clippy --workspace --all-targets clean; cargo test --workspace green.

Breaking

Fresh installs no longer auto-classify. Re-run install-hooks --auto-capture to restore the old behavior.

🤖 Generated with Claude Code

…lt (0.14.0)

The per-chunk `claude -p` auto-capture design was the root cause of the
recursion fork bomb (0.13.1), the `git pull origin HEAD` storm (Claude Code
syncs git plugin-marketplaces on every `claude -p` startup), the runaway
pending backlog, and burned Agent SDK credit: each classification booted a
full Claude Code agent (160k-context: CLAUDE.md + every plugin + hooks + MCP)
just to label one line.

The working agent already has the context. It records reasoning directly via
the MCP tools — free, accurate, language-agnostic. That is now THE path.

- `install-hooks` default wires only the cheap, read-only SessionStart resume
  hook. No per-message classifier, no `claude -p`, nothing charged.
- The per-message + PreCompact ingest hooks move behind `--auto-capture`. The
  classifier backends and the recursion guard stay in the codebase, unchanged,
  for users who explicitly opt in.
- `dream` offline backfill unchanged (manual, batched).
- README + CHANGELOG updated; tests cover both the default (SessionStart-only)
  and `--auto-capture` (all events) install paths.

BREAKING: fresh installs no longer auto-classify. Re-run
`install-hooks --auto-capture` to restore the old behavior.
@Shahinyanm Shahinyanm merged commit 8acb9b7 into main Jun 12, 2026
7 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant