v0.12.1 — Capture-Automation Hotfix
Ships Phase 32: a UserPromptSubmit hook that detects idea-trigger phrases in Russian and English and nudges Claude to invoke `/gsd-note` for capture. Addresses a real pain discovered during v0.12.0 post-release audit — user ideas sitting in session transcripts without being captured into `.planning/notes/`.
What's new
- UserPromptSubmit hook (`hooks/idea-capture-trigger.mjs`) — scans incoming user prompts against configurable trigger phrases, emits `💡 IDEA-CAPTURE HINT: ...` hint to the current Claude context when a match is found. Claude decides whether to call `/gsd-note` based on conversational context.
- Trigger phrase config (`hooks/idea-capture-triggers.json`) — 9 Russian + 7 English phrases, extensible without code change.
- Project-level install — hook registered in project `.claude/settings.json` during `npx claude-dev-stack` wizard. Per-project opt-in, zero impact on non-CDS projects.
- Cyrillic word-boundary aware regex — no false match on "идеальный" when triggering on "идея".
- ReDoS guard — prompts truncated to `MAX_PROMPT_LEN=4096` before regex evaluation.
- Optional telemetry — fail-silent counter `idea_capture_hints_fired` in `~/.claude/cds-stats.json` for future escalation analysis (D-19/D-20 in master plan).
Decisions behind this release
Per the master plan at `vault/projects/claude-dev-stack/docs/cds-core-independence-plan.md`:
- D-18 — hook scope is project-level, not global
- D-19 — regex detection first; Claude+regex hybrid deferred to v1.0
- D-20 — hook only hints; does not write notes directly
- D-21 — inline `📝 Captured: ...` acknowledgment is Claude's responsibility, not the hook's
- D-22 — silent session-end API call deferred to v1.0 Pi SDK rewrite
Test coverage
- 15 new tests for trigger matching (Russian, English, case-insensitivity, word boundaries, no-match, multi-trigger)
- 4 new integration tests for wizard registration
- Total: 927/931 pass (3 pre-existing unrelated failures documented in `deferred-items.md`, 0 new regressions)
Install
```bash
npx claude-dev-stack@0.12.1
```
Existing v0.12.0 installs: re-run the wizard to pick up the new hook. The install is idempotent.
Not shipped
- Silent session-end hook (detached Anthropic API call from Stop hook) — deferred to v1.0 on Pi SDK foundation
- Hybrid Claude+regex detection — regex-only is sufficient for v0.12.x hotfix
- Vault-planning migration (master plan D-01..D-06) — lands in v1.0 Phase C