wip: [01-stabilize] paused at task 1/1 - OCR Hallucination Immune logic via Semantic delta window and fret-isolation
This commit is contained in:
35
.agent/services/claude-mem/plugin/hooks/CLAUDE.md
Normal file
35
.agent/services/claude-mem/plugin/hooks/CLAUDE.md
Normal file
@@ -0,0 +1,35 @@
|
||||
<claude-mem-context>
|
||||
# Recent Activity
|
||||
|
||||
### Oct 25, 2025
|
||||
|
||||
| ID | Time | T | Title | Read |
|
||||
|----|------|---|-------|------|
|
||||
| #2518 | 11:47 PM | 🔴 | Removed Invalid 'matcher' Field from SessionStart Hook | ~228 |
|
||||
| #2517 | " | 🔵 | Project hooks.json Template Also Empty | ~222 |
|
||||
| #2501 | 11:11 PM | 🔵 | Context Hook Fails Due to Missing @anthropic-ai/sdk Dependency | ~245 |
|
||||
|
||||
### Oct 27, 2025
|
||||
|
||||
| ID | Time | T | Title | Read |
|
||||
|----|------|---|-------|------|
|
||||
| #2718 | 12:00 AM | 🔴 | Removed incorrect failOnError configuration from hook | ~165 |
|
||||
|
||||
### Nov 18, 2025
|
||||
|
||||
| ID | Time | T | Title | Read |
|
||||
|----|------|---|-------|------|
|
||||
| #11518 | 8:22 PM | 🔵 | Smart Contextualization Switched from Skill to HTTP API | ~498 |
|
||||
|
||||
### Dec 24, 2025
|
||||
|
||||
| ID | Time | T | Title | Read |
|
||||
|----|------|---|-------|------|
|
||||
| #32309 | 3:09 PM | 🔵 | Claude-mem hooks system configuration structure | ~435 |
|
||||
|
||||
### Jan 9, 2026
|
||||
|
||||
| ID | Time | T | Title | Read |
|
||||
|----|------|---|-------|------|
|
||||
| #38802 | 5:11 PM | 🔵 | Claude-Mem Hook Configuration Architecture | ~450 |
|
||||
</claude-mem-context>
|
||||
@@ -0,0 +1,92 @@
|
||||
# Bugfix Sprint: 2026-01-10
|
||||
|
||||
## Critical Priority (Blocks Users)
|
||||
|
||||
### #646 - Plugin bricks Claude Code - stdin fstat EINVAL crash
|
||||
- **Impact**: Plugin completely bricks Claude Code on Linux. Users cannot recover without manual config editing.
|
||||
- **Root Cause**: Bun's stdin handling causes fstat EINVAL when reading piped input
|
||||
- **Related Discussion**: Check if this is a Bun upstream issue
|
||||
- [ ] Investigate stdin handling in hook scripts
|
||||
- [ ] Test on Linux with stdin piping
|
||||
- [ ] Implement fix
|
||||
|
||||
### #623 - Crash-recovery loop when memory_session_id not captured
|
||||
- **Impact**: Infinite loop consuming API tokens, growing queue unbounded
|
||||
- **Root Cause**: memory_session_id not captured, causes repeated crash-recovery
|
||||
- [ ] Add null/undefined check for memory_session_id
|
||||
- [ ] Add circuit breaker for crash-recovery attempts
|
||||
|
||||
## High Priority
|
||||
|
||||
### #638 - Worker startup missing JSON output causes hooks to appear stuck
|
||||
- **Impact**: UI appears stuck during worker startup
|
||||
- [ ] Ensure worker startup emits proper JSON status
|
||||
- [ ] Add progress feedback to hook output
|
||||
|
||||
### #641/#609 - CLAUDE.md files in subdirectories
|
||||
- **Impact**: CLAUDE.md files scattered throughout project directories
|
||||
- **Note**: This is a documented feature request that was never implemented (setting exists but doesn't work)
|
||||
- [ ] Implement the `disableSubdirectoryCLAUDEmd` setting properly
|
||||
- [ ] Or change default behavior to not create subdirectory files
|
||||
|
||||
### #635 - JSON parsing error prevents folder context generation
|
||||
- **Impact**: Folder context not generating, breaks context injection
|
||||
- **Root Cause**: String spread instead of array spread
|
||||
- [ ] Fix the JSON parsing logic
|
||||
- [ ] Add proper error handling
|
||||
|
||||
## Medium Priority
|
||||
|
||||
### #582 - Tilde paths create literal ~ directories
|
||||
- **Impact**: Directories named "~" created instead of expanding to home
|
||||
- [ ] Use path expansion for tilde in all path operations
|
||||
- [ ] Audit all path handling code
|
||||
|
||||
### #642/#643 - ChromaDB search fails due to initialization timing
|
||||
- **Impact**: Search fails with JSON parse error
|
||||
- **Note**: #643 is a duplicate of #642
|
||||
- [ ] Fix initialization timing issue
|
||||
- [ ] Add proper async/await handling
|
||||
|
||||
### #626 - HealthMonitor hardcodes ~/.claude path
|
||||
- **Impact**: Fails for users with custom config directories
|
||||
- [ ] Use configurable path instead of hardcoded ~/.claude
|
||||
- [ ] Respect CLAUDE_CONFIG_DIR or similar env var
|
||||
|
||||
### #598 - Too many messages pollute conversation history
|
||||
- **Impact**: Hook messages clutter conversation
|
||||
- [ ] Reduce verbosity of hook messages
|
||||
- [ ] Make message frequency configurable
|
||||
|
||||
## Low Priority (Code Quality)
|
||||
|
||||
### #648 - Empty catch blocks swallow JSON parse errors
|
||||
- [ ] Add proper error logging to catch blocks in SessionSearch.ts
|
||||
|
||||
### #649 - Inconsistent logging in CursorHooksInstaller
|
||||
- [ ] Replace console.log with structured logger
|
||||
- **Note**: 177 console.log calls across 20 files identified
|
||||
|
||||
## Won't Fix / Not a Bug
|
||||
|
||||
### #632 - Feature request for disabling CLAUDE.md in subdirectories
|
||||
- **Note**: Covered by #641 implementation
|
||||
|
||||
### #633 - Help request about Cursor integration
|
||||
- **Note**: Documentation/support issue, not a bug
|
||||
|
||||
### #640 - Arabic README translation
|
||||
- **Note**: Documentation PR, not a bugfix
|
||||
|
||||
### #624 - Beta testing strategy proposal
|
||||
- **Note**: Enhancement proposal, not a bugfix
|
||||
|
||||
## Already Fixed in v9.0.2
|
||||
|
||||
- Windows Terminal tab accumulation (#625/#628)
|
||||
- Windows 11 compatibility - WMIC to PowerShell migration
|
||||
- Claude Code 2.1.1 compatibility + path validation (#614)
|
||||
|
||||
---
|
||||
|
||||
**Recommended Approach**: Fix #646 first (critical blocker), then #623 (crash loop), then work through high priority issues in order of impact.
|
||||
84
.agent/services/claude-mem/plugin/hooks/hooks.json
Normal file
84
.agent/services/claude-mem/plugin/hooks/hooks.json
Normal file
@@ -0,0 +1,84 @@
|
||||
{
|
||||
"description": "Claude-mem memory system hooks",
|
||||
"hooks": {
|
||||
"Setup": [
|
||||
{
|
||||
"matcher": "*",
|
||||
"hooks": [
|
||||
{
|
||||
"type": "command",
|
||||
"command": "_R=\"${CLAUDE_PLUGIN_ROOT}\"; [ -z \"$_R\" ] && _R=\"$HOME/.claude/plugins/marketplaces/thedotmack/plugin\"; \"$_R/scripts/setup.sh\"",
|
||||
"timeout": 300
|
||||
}
|
||||
]
|
||||
}
|
||||
],
|
||||
"SessionStart": [
|
||||
{
|
||||
"matcher": "startup|clear|compact",
|
||||
"hooks": [
|
||||
{
|
||||
"type": "command",
|
||||
"command": "_R=\"${CLAUDE_PLUGIN_ROOT}\"; [ -z \"$_R\" ] && _R=\"$HOME/.claude/plugins/marketplaces/thedotmack/plugin\"; node \"$_R/scripts/smart-install.js\"",
|
||||
"timeout": 300
|
||||
},
|
||||
{
|
||||
"type": "command",
|
||||
"command": "_R=\"${CLAUDE_PLUGIN_ROOT}\"; [ -z \"$_R\" ] && _R=\"$HOME/.claude/plugins/marketplaces/thedotmack/plugin\"; node \"$_R/scripts/bun-runner.js\" \"$_R/scripts/worker-service.cjs\" start",
|
||||
"timeout": 60
|
||||
},
|
||||
{
|
||||
"type": "command",
|
||||
"command": "_R=\"${CLAUDE_PLUGIN_ROOT}\"; [ -z \"$_R\" ] && _R=\"$HOME/.claude/plugins/marketplaces/thedotmack/plugin\"; node \"$_R/scripts/bun-runner.js\" \"$_R/scripts/worker-service.cjs\" hook claude-code context",
|
||||
"timeout": 60
|
||||
}
|
||||
]
|
||||
}
|
||||
],
|
||||
"UserPromptSubmit": [
|
||||
{
|
||||
"hooks": [
|
||||
{
|
||||
"type": "command",
|
||||
"command": "_R=\"${CLAUDE_PLUGIN_ROOT}\"; [ -z \"$_R\" ] && _R=\"$HOME/.claude/plugins/marketplaces/thedotmack/plugin\"; node \"$_R/scripts/bun-runner.js\" \"$_R/scripts/worker-service.cjs\" hook claude-code session-init",
|
||||
"timeout": 60
|
||||
}
|
||||
]
|
||||
}
|
||||
],
|
||||
"PostToolUse": [
|
||||
{
|
||||
"matcher": "*",
|
||||
"hooks": [
|
||||
{
|
||||
"type": "command",
|
||||
"command": "_R=\"${CLAUDE_PLUGIN_ROOT}\"; [ -z \"$_R\" ] && _R=\"$HOME/.claude/plugins/marketplaces/thedotmack/plugin\"; node \"$_R/scripts/bun-runner.js\" \"$_R/scripts/worker-service.cjs\" hook claude-code observation",
|
||||
"timeout": 120
|
||||
}
|
||||
]
|
||||
}
|
||||
],
|
||||
"Stop": [
|
||||
{
|
||||
"hooks": [
|
||||
{
|
||||
"type": "command",
|
||||
"command": "_R=\"${CLAUDE_PLUGIN_ROOT}\"; [ -z \"$_R\" ] && _R=\"$HOME/.claude/plugins/marketplaces/thedotmack/plugin\"; node \"$_R/scripts/bun-runner.js\" \"$_R/scripts/worker-service.cjs\" hook claude-code summarize",
|
||||
"timeout": 120
|
||||
}
|
||||
]
|
||||
}
|
||||
],
|
||||
"SessionEnd": [
|
||||
{
|
||||
"hooks": [
|
||||
{
|
||||
"type": "command",
|
||||
"command": "_R=\"${CLAUDE_PLUGIN_ROOT}\"; [ -z \"$_R\" ] && _R=\"$HOME/.claude/plugins/marketplaces/thedotmack/plugin\"; node \"$_R/scripts/bun-runner.js\" \"$_R/scripts/worker-service.cjs\" hook claude-code session-complete",
|
||||
"timeout": 30
|
||||
}
|
||||
]
|
||||
}
|
||||
]
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user