fix: Claude Code 2.1.1 compatibility + log-level audit + path validation fixes (#614)

* Refactor CLAUDE.md and related files for December 2025 updates

- Updated CLAUDE.md in src/services/worker with new entries for December 2025, including changes to Search.ts, GeminiAgent.ts, SDKAgent.ts, and SessionManager.ts.
- Revised CLAUDE.md in src/shared to reflect updates and new entries for December 2025, including paths.ts and worker-utils.ts.
- Modified hook-constants.ts to clarify exit codes and their behaviors.
- Added comprehensive hooks reference documentation for Claude Code, detailing usage, events, and examples.
- Created initial CLAUDE.md files in various directories to track recent activity.

* fix: Merge user-message-hook output into context-hook hookSpecificOutput

- Add footer message to additionalContext in context-hook.ts
- Remove user-message-hook from SessionStart hooks array
- Fixes issue where stderr+exit(1) approach was silently discarded

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>

* Update logs and documentation for recent plugin and worker service changes

- Added detailed logs for worker service activities from Dec 10, 2025 to Jan 7, 2026, including initialization patterns, cleanup confirmations, and diagnostic logging.
- Updated plugin documentation with recent activities, including plugin synchronization and configuration changes from Dec 3, 2025 to Jan 7, 2026.
- Enhanced the context hook and worker service logs to reflect improvements and fixes in the plugin architecture.
- Documented the migration and verification processes for the Claude memory system and its integration with the marketplace.

* Refactor hooks architecture and remove deprecated user-message-hook

- Updated hook configurations in CLAUDE.md and hooks.json to reflect changes in session start behavior.
- Removed user-message-hook functionality as it is no longer utilized in Claude Code 2.1.0; context is now injected silently.
- Enhanced context-hook to handle session context injection without user-visible messages.
- Cleaned up documentation across multiple files to align with the new hook structure and removed references to obsolete hooks.
- Adjusted timing and command execution for hooks to improve performance and reliability.

* fix: Address PR #610 review issues

- Replace USER_MESSAGE_ONLY test with BLOCKING_ERROR test in hook-constants.test.ts
- Standardize Claude Code 2.1.0 note wording across all three documentation files
- Exclude deprecated user-message-hook.ts from logger-usage-standards test

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>

* fix: Remove hardcoded fake token counts from context injection

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>

* Address PR #610 review issues by fixing test files, standardizing documentation notes, and verifying code quality improvements.

* fix: Add path validation to CLAUDE.md distribution to prevent invalid directory creation

- Add isValidPathForClaudeMd() function to reject invalid paths:
  - Tilde paths (~) that Node.js doesn't expand
  - URLs (http://, https://)
  - Paths with spaces (likely command text or PR references)
  - Paths with # (GitHub issue/PR references)
  - Relative paths that escape project boundary

- Integrate validation in updateFolderClaudeMdFiles loop
- Add 6 unit tests for path validation
- Update .gitignore to prevent accidental commit of malformed directories
- Clean up existing invalid directories (~/, PR #610..., git diff..., https:)

Co-Authored-By: Claude Sonnet 4.5 <noreply@anthropic.com>

* fix: Implement path validation in CLAUDE.md generation to prevent invalid directory creation

- Added `isValidPathForClaudeMd()` function to validate file paths in `src/utils/claude-md-utils.ts`.
- Integrated path validation in `updateFolderClaudeMdFiles` to skip invalid paths.
- Added 6 new unit tests in `tests/utils/claude-md-utils.test.ts` to cover various rejection cases.
- Updated `.gitignore` to prevent tracking of invalid directories.
- Cleaned up existing invalid directories in the repository.

* feat: Promote critical WARN logs to ERROR level across codebase

Comprehensive log-level audit promoting 38+ WARN messages to ERROR for
improved debugging and incident response:

- Parser: observation type errors, data contamination
- SDK/Agents: empty init responses (Gemini, OpenRouter)
- Worker/Queue: session recovery, auto-recovery failures
- Chroma: sync failures, search failures (now treated as critical)
- SQLite: search failures (primary data store)
- Session/Generator: failures, missing context
- Infrastructure: shutdown, process management failures
- File Operations: CLAUDE.md updates, config reads
- Branch Management: recovery checkout failures

Co-Authored-By: Claude Sonnet 4.5 <noreply@anthropic.com>

* fix: Address PR #614 review issues

- Remove incorrectly tracked tilde-prefixed files from git
- Fix absolute path validation to check projectRoot boundaries
- Add test coverage for absolute path validation edge cases

Closes review issues:
- Issue 1: ~/ prefixed files removed from tracking
- Issue 3: Absolute paths now validated against projectRoot
- Issue 4: Added 3 new test cases for absolute path scenarios

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>

* build assets and context

---------

Co-authored-by: Claude Opus 4.5 <noreply@anthropic.com>
This commit is contained in:
Alex Newman
2026-01-07 23:34:20 -05:00
committed by GitHub
parent 687146ce53
commit 2659ec3231
98 changed files with 8927 additions and 3554 deletions
+1 -7
View File
@@ -3,11 +3,5 @@
<!-- This section is auto-generated by claude-mem. Edit content outside the tags. -->
### Jan 5, 2026
**CLAUDE.md**
| ID | Time | T | Title | Read |
|----|------|---|-------|------|
| #37391 | 12:48 AM | ✅ | Staged 23 CLAUDE.md files with mix of new and modified content | ~400 |
| #37390 | 12:47 AM | ✅ | Regenerated 23 CLAUDE.md files in budapest workspace | ~365 |
*No recent activity*
</claude-mem-context>
+64 -113
View File
@@ -3,147 +3,98 @@
<!-- This section is auto-generated by claude-mem. Edit content outside the tags. -->
### Dec 30, 2025
### Dec 9, 2025
**new-hook.ts**
| ID | Time | T | Title | Read |
|----|------|---|-------|------|
| #34440 | 2:16 PM | 🔵 | TypeScript type errors identified across multiple components | ~328 |
| #23126 | 6:40 PM | | Removed SKIP_TOOLS Check from saveHook Function | ~288 |
| #23125 | " | 🔵 | SKIP_TOOLS Reference Still Present in saveHook Function | ~224 |
| #23124 | " | ✅ | Removed SKIP_TOOLS Constant from save-hook.ts | ~297 |
| #23123 | 6:39 PM | 🔵 | Current SKIP_TOOLS Implementation in save-hook.ts | ~397 |
| #23122 | " | 🔴 | Hardened Spinner Stop Mechanism with Timeout and Logging | ~361 |
| #23121 | " | 🔵 | Current Spinner Stop Implementation in summary-hook.ts | ~348 |
| #23118 | 6:38 PM | ✅ | Phase 6: StopInput Interface Type Safety Restored | ~248 |
| #23117 | 6:37 PM | ✅ | Phase 6: PostToolUseInput Interface Type Safety Restored | ~222 |
| #23116 | " | ✅ | Phase 6: UserPromptSubmitInput Interface Type Safety Restored | ~216 |
| #23115 | " | ✅ | Phase 6: SessionStartInput Interface Type Safety Restored | ~341 |
| #23114 | " | 🔵 | Current State of context-hook.ts Interface | ~409 |
| #23113 | " | 🔵 | Current State of summary-hook.ts Interface and Spinner Stop | ~397 |
| #23112 | " | 🔵 | Current State of save-hook.ts Interface and SKIP_TOOLS | ~395 |
| #23111 | " | 🔵 | Current State of new-hook.ts Interface | ~381 |
| #23076 | 6:27 PM | ✅ | Added Comment Explaining Exit Code 3 in user-message-hook.ts | ~245 |
| #23075 | 6:26 PM | ✅ | Deleted Expired Announcement Code from user-message-hook.ts | ~354 |
| #23074 | " | ✅ | Replaced Verbose Manual Mode Help with Error in cleanup-hook.ts | ~222 |
| #23073 | " | ✅ | Removed cwd from cleanup-hook Debug Logging | ~177 |
| #23072 | " | ✅ | Simplified SessionEndInput Interface in cleanup-hook.ts | ~236 |
### Dec 10, 2025
**summary-hook.ts**
| ID | Time | T | Title | Read |
|----|------|---|-------|------|
| #34393 | 1:41 PM | 🔵 | Stop Hook (summary-hook.ts) Only Requests Summary, No Process Cleanup | ~375 |
| #23407 | 2:14 PM | 🔵 | New Hook Implementation Structure | ~264 |
### Dec 31, 2025
### Dec 13, 2025
**new-hook.ts**
| ID | Time | T | Title | Read |
|----|------|---|-------|------|
| #34675 | 3:37 PM | 🔵 | API Endpoint /api/sessions/init Expects contentSessionId Parameter | ~401 |
| #34674 | " | 🔵 | Source Hook Files Use contentSessionId Parameter | ~327 |
| #34602 | 2:56 PM | 🔵 | New Hook Architecture: Session Initialization and Privacy Filtering | ~385 |
| #25389 | 9:30 PM | 🔴 | Save Hook Error Logging Enhanced With Tool Context | ~361 |
| #25388 | " | 🔴 | New Hook Now Logs SDK Agent Start Errors | ~344 |
| #25387 | 9:29 PM | 🔴 | New Hook Now Logs Session Initialization Errors | ~350 |
| #25386 | " | 🔴 | Context Hook Now Logs Error Text Before Throwing | ~338 |
| #25385 | " | ✅ | Added Logger Import to New Hook | ~249 |
| #25384 | " | ✅ | Added Logger Import to Context Hook | ~223 |
| #25383 | " | 🔵 | New Hook Has Two Silent Failure Points | ~392 |
| #25382 | 9:28 PM | 🔵 | Save Hook Has Partial Error Logging | ~351 |
| #25381 | " | 🔵 | Summary Hook Has Partial Error Logging | ~345 |
| #25380 | " | 🔵 | Context Hook Silent Failure Pattern Confirmed | ~354 |
### Dec 14, 2025
**context-hook.ts**
| ID | Time | T | Title | Read |
|----|------|---|-------|------|
| #34631 | 3:02 PM | 🟣 | Context-Preservation Workflow Design Documents Created | ~729 |
| #26730 | 11:24 PM | 🔵 | Context Hook TypeScript Source Shows EnsureWorkerRunning as First Action | ~441 |
| #26729 | " | 🔵 | Context Hook TypeScript Source Calls ensureWorkerRunning Before API Requests | ~411 |
| #26260 | 8:32 PM | 🔵 | User Message Hook Calls Context Inject with colors=true Parameter | ~300 |
| #26244 | 8:29 PM | 🔵 | Context Hook Delegates to Worker API Context Endpoint | ~260 |
| #25692 | 4:24 PM | 🔵 | Summary hook extracts last user and assistant messages from transcript file before sending to worker | ~465 |
### Jan 1, 2026
### Dec 17, 2025
**new-hook.ts**
| ID | Time | T | Title | Read |
|----|------|---|-------|------|
| #35287 | 1:22 PM | 🔵 | SDKAgent Resume Logic Analysis - Two-Stage Session ID System | ~517 |
| #35284 | " | 🔵 | New Hook Session Initialization Flow | ~631 |
| #35221 | 1:11 PM | 🔵 | New-hook workflow: Two-phase session initialization | ~477 |
| #35201 | 1:07 PM | 🔵 | New Hook receives and processes cwd parameter | ~303 |
| #28449 | 4:23 PM | 🔵 | New Hook Session Initialization Flow | ~385 |
### Dec 19, 2025
**context-hook.ts**
| ID | Time | T | Title | Read |
|----|------|---|-------|------|
| #35206 | 1:08 PM | 🔵 | context-hook.ts falls back to process.cwd() when cwd missing | ~311 |
| #30105 | 8:11 PM | 🔵 | Hook Response Utility Standardizes Hook Output Format | ~387 |
| #30103 | 8:10 PM | 🔵 | Context Hook Injects Mode-Based Memory Context During SessionStart | ~460 |
### Dec 20, 2025
**save-hook.ts**
| ID | Time | T | Title | Read |
|----|------|---|-------|------|
| #35204 | 1:07 PM | 🔵 | PostToolUse hook validates cwd as required field | ~301 |
| #31085 | 7:59 PM | 🔵 | Summary Hook Uses session_id from Hook Input | ~315 |
### Jan 2, 2026
### Dec 27, 2025
**new-hook.ts**
| ID | Time | T | Title | Read |
|----|------|---|-------|------|
| #35997 | 5:32 PM | 🟣 | Session Alignment Logging Implemented Across Hook, HTTP, and SDK Layers | ~342 |
| #35977 | 4:48 PM | 🔵 | Existing alignment logging infrastructure found | ~353 |
| #35970 | 4:47 PM | 🔵 | Session ID Logging Distribution Across Codebase | ~485 |
| #35964 | 4:45 PM | 🔵 | Session Initialization Two-Stage API Pattern | ~468 |
| #35954 | 4:43 PM | 🔵 | New Hook Session Initialization Flow | ~393 |
| #35893 | 2:48 PM | 🔵 | New Hook Initializes Session And Starts SDK Agent Without Exit Code | ~382 |
| #35833 | 2:29 PM | 🔵 | New Hook Starts Memory Agent Asynchronously | ~404 |
| #33216 | 9:07 PM | 🔵 | UserPromptSubmit Hook (new-hook.ts) Initializes Session and Starts SDK Agent via Two HTTP Endpoints | ~735 |
| #33211 | 9:04 PM | 🔵 | User Message Hook Displays Context Info via stderr in Parallel with Context Injection | ~476 |
| #33210 | 9:03 PM | 🔵 | Summary Hook (summary-hook.ts) Extracts Messages and Triggers Summarization | ~479 |
| #33209 | " | 🔵 | SessionStart Hook (context-hook.ts) Fetches Context Injection via HTTP | ~520 |
### Jan 7, 2026
**context-hook.ts**
| ID | Time | T | Title | Read |
|----|------|---|-------|------|
| #35958 | 4:44 PM | 🔵 | Context Hook Session Context Injection | ~379 |
| #35894 | 2:48 PM | 🔵 | Context Hook Explicitly Exits With Code 0 On Success | ~355 |
| #35837 | 2:30 PM | 🔵 | Context Hook Returns Synchronously with Explicit Exit | ~413 |
**save-hook.ts**
| ID | Time | T | Title | Read |
|----|------|---|-------|------|
| #35956 | 4:43 PM | 🔵 | Save Hook Tool Observation Storage | ~380 |
| #35899 | 2:48 PM | 🔵 | Save Hook Sends Observations Without Explicit Exit Code | ~387 |
| #35869 | 2:36 PM | 🔴 | Save Hook Entry Point Lacks Error Handling Around Async Call | ~448 |
| #35835 | 2:30 PM | 🔵 | Save Hook Uses Fire-and-Forget for Observations | ~394 |
**user-message-hook.ts**
| ID | Time | T | Title | Read |
|----|------|---|-------|------|
| #35955 | 4:43 PM | 🔵 | User Message Hook Context Display Mechanism | ~369 |
| #35888 | 2:47 PM | 🔵 | User Message Hook Exits With USER_MESSAGE_ONLY Code | ~313 |
| #35831 | 2:29 PM | 🔵 | User Message Hook Exits with Special Exit Code | ~348 |
**hook-response.ts**
| ID | Time | T | Title | Read |
|----|------|---|-------|------|
| #35953 | 4:43 PM | 🔵 | Standard Hook Response Protocol | ~253 |
| #35950 | 4:42 PM | 🔵 | Hook System Architecture Discovery | ~254 |
| #35891 | 2:47 PM | 🔵 | STANDARD_HOOK_RESPONSE Signals Continue And Suppress Output | ~333 |
**summary-hook.ts**
| ID | Time | T | Title | Read |
|----|------|---|-------|------|
| #35901 | 2:49 PM | 🔵 | PR #525 File Changes Summary | ~376 |
| #35889 | 2:47 PM | 🔵 | Summary Hook Outputs STANDARD_HOOK_RESPONSE On Success And Error | ~358 |
| #35829 | 2:29 PM | 🔵 | Summary Hook Uses Fire-and-Forget HTTP Pattern | ~385 |
| #35770 | 1:23 PM | ✅ | Last User Message Field Removed Across 11 Files in Codebase | ~374 |
| #35747 | 1:18 PM | 🔴 | Removed Incorrect last_user_message Extraction from Summary Hook | ~382 |
| #35734 | 1:11 PM | 🔵 | Summary Hook Extracts Last User and Assistant Messages from Transcript | ~383 |
| #35733 | " | 🔵 | Located last_user_message usage across codebase | ~333 |
### Jan 3, 2026
**new-hook.ts**
| ID | Time | T | Title | Read |
|----|------|---|-------|------|
| #36296 | 8:04 PM | 🔵 | TypeScript Compilation Check: Pre-Existing Errors Unrelated to Refactoring | ~621 |
| #36112 | 3:44 PM | 🔵 | New Hook Architecture and Session Initialization Flow | ~412 |
### Jan 5, 2026
**save-hook.ts**
| ID | Time | T | Title | Read |
|----|------|---|-------|------|
| #38081 | 9:55 PM | 🔵 | Save Hook - Pure HTTP Client with No Database Dependencies | ~206 |
| #37626 | 5:35 PM | 🔵 | FormatTool Function Usage Across Codebase | ~493 |
| #37540 | 4:46 PM | 🔵 | save-hook.ts First formatTool Call Point in Observation Pipeline | ~416 |
**CLAUDE.md**
| ID | Time | T | Title | Read |
|----|------|---|-------|------|
| #38078 | 9:54 PM | ✅ | CLAUDE.md Documentation Cleanup - 1,233 Lines Removed Across 18 Files | ~590 |
**context-hook.ts**
| ID | Time | T | Title | Read |
|----|------|---|-------|------|
| #38076 | 9:53 PM | 🟣 | Worktree-Aware Project Filtering for Unified Timeline Context | ~578 |
**new-hook.ts**
| ID | Time | T | Title | Read |
|----|------|---|-------|------|
| #38000 | 9:02 PM | 🔵 | Mixed usage of hard-coded 127.0.0.1 vs getWorkerHost() | ~347 |
| #37999 | " | 🔵 | getWorkerHost and getWorkerPort used in 18 files across codebase | ~282 |
**hook-response.ts**
| ID | Time | T | Title | Read |
|----|------|---|-------|------|
| #37554 | 4:48 PM | 🔵 | Standard Hook Response Protocol for Claude Code | ~387 |
### Jan 6, 2026
**context-hook.ts**
| ID | Time | T | Title | Read |
|----|------|---|-------|------|
| #38108 | 12:15 AM | 🔵 | Complete Windows Zombie Port Bug Technical Deep Dive | ~935 |
| #38235 | 7:42 PM | | Deprecated User Message Hook Source File | ~399 |
| #38176 | 7:26 PM | ⚖️ | Plan Created to Merge User Message into Context Hook JSON Output | ~536 |
| #38175 | " | 🔵 | Complete Claude-Mem Hook Output Architecture Documented | ~530 |
| #38174 | " | 🔵 | UserPromptSubmit Hook Initializes Sessions and Strips Slash Commands | ~480 |
| #38173 | 7:25 PM | 🔵 | Standard Hook Response Pattern for Non-SessionStart Hooks | ~343 |
| #38172 | 7:22 PM | 🔵 | Claude Code Hook Output Architecture Clarified - Exit Code Pattern is Correct for User-Only Display | ~523 |
| #38170 | 7:21 PM | 🔵 | User-Message-Hook TypeScript Source Shows Exit Code 1 Strategy for User-Only Display | ~203 |
</claude-mem-context>
+12 -7
View File
@@ -1,15 +1,20 @@
/**
* User Message Hook - SessionStart
* Displays context information to the user via stderr
*
* This hook runs in parallel with context-hook to show users what context
* has been loaded into their session. Uses stderr as the communication channel
* since it's currently the only way to display messages in Claude Code UI.
* @deprecated This hook is no longer used as of Claude Code 2.1.0 (ultrathink update).
* SessionStart hooks no longer display any user-visible messages in the Claude Code UI.
* Context is still injected via hookSpecificOutput.additionalContext in context-hook.ts,
* but users don't see any startup output.
*
* This file is kept for reference but is not registered in hooks.json.
*
* Historical behavior:
* - Displayed context information to the user via stderr
* - Ran in parallel with context-hook to show users what context was loaded
* - Used stderr + exit code 1 to display to user only without adding to Claude's context
*/
import { basename } from "path";
import { ensureWorkerRunning, getWorkerPort } from "../shared/worker-utils.js";
import { HOOK_EXIT_CODES } from "../shared/hook-constants.js";
import { logger } from "../utils/logger.js";
// Ensure worker is running
await ensureWorkerRunning();
@@ -39,4 +44,4 @@ console.error(
`\n📺 Watch live in browser http://localhost:${port}/\n`
);
process.exit(HOOK_EXIT_CODES.USER_MESSAGE_ONLY);
process.exit(1); // Exit code 1 for SessionStart = show stderr to user only
+11 -131
View File
@@ -3,139 +3,19 @@
<!-- This section is auto-generated by claude-mem. Edit content outside the tags. -->
### Dec 22, 2025
**SDKAgent.ts**
| ID | Time | T | Title | Read |
|----|------|---|-------|------|
| #31951 | 8:17 PM | 🟣 | Mode System with Inheritance and Multilingual Support | ~776 |
**prompts.ts**
| ID | Time | T | Title | Read |
|----|------|---|-------|------|
| #31891 | 7:17 PM | 🔴 | Migration des prompts de résumé vers les fichiers de modes pour le support multilingue | ~474 |
| #31890 | " | 🔵 | Modifications en cours sur les fichiers de modes multilingues et le système de prompts | ~325 |
| #31872 | 7:04 PM | 🔄 | Externalisation des prompts de résumé codés en dur | ~378 |
| #31868 | 7:03 PM | 🔵 | サマリープロンプトのハードコーディング箇所の特定 | ~193 |
| #31829 | 6:28 PM | 🔄 | Removed languageNote usage from continuation observation XML template | ~90 |
| #31828 | " | 🔄 | Removed languageNote variable from buildContinuationPrompt | ~199 |
| #31827 | " | 🔄 | Removed languageNote usage from summary XML template | ~79 |
| #31826 | " | 🔄 | Removed unused languageNote variable from buildSummaryPrompt | ~198 |
| #31825 | 6:26 PM | 🔄 | Removed unused languageNote variable from buildInitPrompt | ~278 |
| #31820 | 6:20 PM | 🔵 | Prompts system architecture uses mode.prompts.format_examples field | ~305 |
| #31816 | 6:10 PM | 🔄 | Extracted memory continuation header to mode configuration | ~236 |
| #31815 | 6:09 PM | 🔄 | Extracted continuation instruction to mode configuration | ~252 |
| #31814 | " | 🔄 | Extracted continuation greeting to mode configuration | ~306 |
| #31813 | 6:08 PM | 🔄 | Removed hardcoded language instruction from buildSummaryPrompt | ~291 |
| #31812 | " | 🔄 | Replaced all XML placeholder text with mode configuration variables | ~459 |
| #31811 | " | 🔄 | Replaced hardcoded memory processing header with mode variable | ~252 |
**parser.test.ts**
| ID | Time | T | Title | Read |
|----|------|---|-------|------|
| #31855 | 6:53 PM | ✅ | テストスイートの大規模削除とテスト分析レポートの追加 | ~197 |
### Dec 23, 2025
**prompts.ts**
| ID | Time | T | Title | Read |
|----|------|---|-------|------|
| #32030 | 7:44 PM | 🔵 | SDK prompt building system uses mode configuration | ~330 |
**parser.ts**
| ID | Time | T | Title | Read |
|----|------|---|-------|------|
| #32029 | 7:40 PM | 🔵 | Parser Layer Has No Skip Logic - Always Saves Observations | ~342 |
### Dec 24, 2025
**prompts.ts**
| ID | Time | T | Title | Read |
|----|------|---|-------|------|
| #32213 | 8:17 PM | 🔵 | Prompt Generation System Architecture | ~402 |
| #32337 | 4:03 PM | ✅ | Enhanced observation prompt with granularity reminder | ~278 |
### Dec 25, 2025
**parser.ts**
| ID | Time | T | Title | Read |
|----|------|---|-------|------|
| #32701 | 9:00 PM | 🔵 | Test Coverage Report Generated | ~471 |
| #32565 | 8:19 PM | 🔵 | Read parser.ts (first 150 lines) | ~146 |
**prompts.ts**
| ID | Time | T | Title | Read |
|----|------|---|-------|------|
| #32558 | 8:18 PM | 🔵 | Identified files containing 'summary' or 'Summary' | ~167 |
### Dec 27, 2025
**prompts.ts**
| ID | Time | T | Title | Read |
|----|------|---|-------|------|
| #33131 | 7:52 PM | 🔵 | Session ID Propagation Flow Analysis with Architectural Vulnerabilities Identified | ~577 |
| #33129 | " | 🔵 | Prompt Building Functions with Session ID Threading Documentation | ~483 |
### Dec 28, 2025
**prompts.ts**
| ID | Time | T | Title | Read |
|----|------|---|-------|------|
| #33438 | 10:15 PM | 🔄 | Bulk Rename Session ID Fields Across Entire Codebase | ~384 |
| #33420 | 10:06 PM | 🔵 | Complete session ID flow analysis reveals missing SDK session capture mechanism | ~545 |
| #33415 | 10:05 PM | 🔵 | Prompt building functions receive sessionId but only use it for context display | ~372 |
| #33316 | 3:09 PM | 🔴 | Fixed Disconnected SDK Agent Sessions | ~350 |
| #33296 | 3:08 PM | 🔵 | Session ID Propagation Flow Architecture Traced Through Codebase | ~720 |
### Dec 30, 2025
**parser.ts**
| ID | Time | T | Title | Read |
|----|------|---|-------|------|
| #34462 | 2:23 PM | 🔵 | Code Quality Review Identifies Critical V2 Migration Issues | ~418 |
**prompts.ts**
| ID | Time | T | Title | Read |
|----|------|---|-------|------|
| #34398 | 1:53 PM | 🔵 | SDK Prompts Module Structure | ~361 |
### Jan 1, 2026
**prompts.ts**
| ID | Time | T | Title | Read |
|----|------|---|-------|------|
| #35666 | 11:37 PM | ✅ | Staged error handling improvements across 10 files | ~261 |
| #35641 | 11:27 PM | ✅ | Added APPROVED OVERRIDE comments for JSON parse error handling in SDK prompts | ~336 |
### Jan 2, 2026
**prompts.ts**
| ID | Time | T | Title | Read |
|----|------|---|-------|------|
| #35901 | 2:49 PM | 🔵 | PR #525 File Changes Summary | ~376 |
| #35770 | 1:23 PM | ✅ | Last User Message Field Removed Across 11 Files in Codebase | ~374 |
| #35763 | 1:22 PM | 🔄 | Removed last_user_message from SDKSession interface | ~241 |
| #35762 | 1:21 PM | 🔵 | SDKSession interface includes last_user_message field | ~221 |
| #35742 | 1:15 PM | 🔵 | SDKSession interface defines both user_prompt and last_user_message fields | ~289 |
| #35738 | 1:12 PM | 🔵 | Summary prompt uses last_assistant_message but not last_user_message | ~334 |
| #35737 | " | 🔵 | Summary Prompt Interface Defines Optional last_user_message | ~253 |
| #35736 | " | 🔵 | SDKSession Interface Defines Optional last_user_message Field | ~277 |
| #35733 | 1:11 PM | 🔵 | Located last_user_message usage across codebase | ~333 |
### Jan 3, 2026
**parser.ts**
| ID | Time | T | Title | Read |
|----|------|---|-------|------|
| #36200 | 7:22 PM | 🔵 | Parser Module Analysis for Phase 2 Refactoring | ~562 |
### Jan 5, 2026
**prompts.ts**
| ID | Time | T | Title | Read |
|----|------|---|-------|------|
| #37613 | 5:31 PM | 🔵 | PR #558 Review Feedback Analysis | ~544 |
| #37571 | 4:51 PM | | Phase 1 Anti-Pattern Check Complete - Clean Implementation | ~400 |
| #37557 | 4:49 PM | 🔵 | Issue #545 Bug Location and Fix Pattern Documented | ~462 |
| #37539 | 4:45 PM | 🔵 | SDK Defensive JSON Parsing Pattern Implementation | ~408 |
| #37703 | 6:01 PM | 🔵 | ParsedObservation files_read and files_modified are string arrays parsed from XML | ~330 |
| #37701 | " | 🔵 | Complete cwd data flow traced from hooks through observation processing | ~447 |
### Jan 7, 2026
| ID | Time | T | Title | Read |
|----|------|---|-------|------|
| #38467 | 10:29 PM | ⚖️ | Log Level Audit Strategy: Tighten ERROR Messages for Runtime Issue Discovery | ~464 |
| #38454 | 10:26 PM | 🔵 | happyPathError usage pattern in summary prompt generation | ~421 |
| #38405 | 10:07 PM | ⚖️ | DEBUG Log Level Analysis - One Message Requires WARN Promotion | ~819 |
| #38404 | 10:06 PM | ⚖️ | Log Level Audit Analysis - WARN to ERROR Promotion Criteria Established | ~769 |
</claude-mem-context>
+3 -3
View File
@@ -63,10 +63,10 @@ export function parseObservations(text: string, correlationId?: string): ParsedO
if (validTypes.includes(type.trim())) {
finalType = type.trim();
} else {
logger.warn('PARSER', `Invalid observation type: ${type}, using "${fallbackType}"`, { correlationId });
logger.error('PARSER', `Invalid observation type: ${type}, using "${fallbackType}"`, { correlationId });
}
} else {
logger.warn('PARSER', `Observation missing type field, using "${fallbackType}"`, { correlationId });
logger.error('PARSER', `Observation missing type field, using "${fallbackType}"`, { correlationId });
}
// All other fields are optional - save whatever we have
@@ -75,7 +75,7 @@ export function parseObservations(text: string, correlationId?: string): ParsedO
const cleanedConcepts = concepts.filter(c => c !== finalType);
if (cleanedConcepts.length !== concepts.length) {
logger.warn('PARSER', 'Removed observation type from concepts array', {
logger.error('PARSER', 'Removed observation type from concepts array', {
correlationId,
type: finalType,
originalConcepts: concepts,
+6 -7
View File
@@ -123,13 +123,12 @@ export function buildObservationPrompt(obs: Observation): string {
* Build prompt to generate progress summary
*/
export function buildSummaryPrompt(session: SDKSession, mode: ModeConfig): string {
const lastAssistantMessage = session.last_assistant_message || logger.happyPathError(
'SDK',
'Missing last_assistant_message in session for summary prompt',
{ sessionId: session.id },
undefined,
''
);
const lastAssistantMessage = session.last_assistant_message || (() => {
logger.error('SDK', 'Missing last_assistant_message in session for summary prompt', {
sessionId: session.id
});
return '';
})();
return `${mode.prompts.header_summary_checkpoint}
${mode.prompts.summary_instruction}
+1 -119
View File
@@ -3,123 +3,5 @@
<!-- This section is auto-generated by claude-mem. Edit content outside the tags. -->
### Dec 21, 2025
**mcp-server.ts**
| ID | Time | T | Title | Read |
|----|------|---|-------|------|
| #31603 | 8:21 PM | 🔵 | Complete Console.* Statement Audit Across Codebase | ~813 |
### Dec 25, 2025
**mcp-server.ts**
| ID | Time | T | Title | Read |
|----|------|---|-------|------|
| #32558 | 8:18 PM | 🔵 | Identified files containing 'summary' or 'Summary' | ~167 |
### Dec 26, 2025
**mcp-server.ts**
| ID | Time | T | Title | Read |
|----|------|---|-------|------|
| #32912 | 10:02 PM | 🔵 | Error handling uses consistent logger.error and logger.failure patterns throughout codebase | ~508 |
### Dec 27, 2025
**mcp-server.ts**
| ID | Time | T | Title | Read |
|----|------|---|-------|------|
| #33175 | 8:34 PM | 🔄 | Console.log interception now uses structured logger | ~288 |
| #33148 | 8:19 PM | 🔵 | Logging System Architecture Traced Across Codebase | ~384 |
### Dec 28, 2025
**mcp-server.ts**
| ID | Time | T | Title | Read |
|----|------|---|-------|------|
| #33653 | 11:48 PM | 🔵 | MCP Server Architecture - Thin Wrapper Over Worker HTTP API | ~433 |
| #33636 | 11:35 PM | ✅ | Major Documentation and Code Cleanup Removed 4,929 Lines | ~381 |
| #33624 | 11:29 PM | 🔄 | Removed callWorkerAPIWithPath function from MCP server | ~275 |
| #33623 | " | 🟣 | Added __IMPORTANT workflow guidance tool to MCP server | ~350 |
| #33622 | " | ✅ | Enhanced get_observations tool description with parameter details | ~274 |
| #33621 | " | ✅ | Enhanced timeline tool to support automatic anchor discovery via query | ~274 |
| #33620 | " | ✅ | Extended search tool parameter documentation in MCP server | ~224 |
| #33619 | " | 🔵 | Confirmed MCP server renamed to mcp-search-server with embedded workflow guidance | ~499 |
| #33618 | 11:28 PM | 🔵 | MCP Server Graceful Shutdown and Worker Verification | ~307 |
| #33611 | 11:22 PM | 🔄 | Removed TOOL_SCHEMAS and cleaned up TOOL_ENDPOINT_MAP | ~358 |
| #33610 | 11:21 PM | 🔵 | TOOL_SCHEMAS retains removed tool definitions | ~318 |
| #33609 | " | ✅ | Cleaned up get_observations parameter description | ~236 |
| #33608 | " | ✅ | Removed get_session and get_prompt tools from MCP server | ~353 |
| #33607 | " | 🔄 | Removed four non-workflow tools from MCP server | ~339 |
| #33606 | " | ✅ | Updated timeline tool description to emphasize workflow step position | ~341 |
| #33605 | " | 🔄 | Removed get_schema tool from MCP server | ~274 |
| #33604 | 11:20 PM | 🔵 | MCP server tool definitions and schema validation pattern | ~477 |
| #33602 | 11:19 PM | 🔵 | MCP Server Architecture - Thin HTTP Wrapper Over Worker API | ~465 |
| #33601 | 11:18 PM | 🔵 | MCP server search tool parameter descriptions examined | ~373 |
| #33600 | 11:15 PM | 🔵 | MCP get_observations tool successfully retrieving full observation details by ID | ~472 |
| #33598 | " | 🔵 | Filtered MCP search query successfully returning rename history with type constraints | ~386 |
| #33597 | 11:14 PM | 🔵 | MCP search tool successfully retrieving mem-search to mcp-search rename history | ~361 |
| #33534 | 10:53 PM | ✅ | Updated internal MCP server name to mcp-search-server | ~351 |
| #33533 | " | 🔵 | Located internal MCP server name at line 438 in mcp-server.ts | ~304 |
| #33531 | 10:52 PM | ⚖️ | Implementation plan approved for MCP server rename and skill workflow enhancement | ~727 |
| #33530 | " | ⚖️ | Rename MCP server from mem-search to mcp-search for clearer namespace separation | ~562 |
| #33511 | 10:44 PM | 🔵 | MCP server implementation provides thin HTTP wrapper over Worker API | ~404 |
| #33328 | 3:10 PM | 🟣 | Merged centralized logger and session continuity diagnostics to main | ~397 |
| #33280 | 3:07 PM | 🔄 | Logger coverage refactor for background services | ~428 |
### Dec 29, 2025
**mcp-server.ts**
| ID | Time | T | Title | Read |
|----|------|---|-------|------|
| #34194 | 9:57 PM | 🔵 | MCP server delegates to Worker HTTP API on localhost:37777 | ~360 |
| #33703 | 12:10 AM | 🔵 | Final Documentation Review Confirms Update Requirements | ~756 |
| #33702 | 12:09 AM | ⚖️ | Documentation Update Strategy Finalized for MCP Architecture Transition | ~845 |
| #33695 | 12:06 AM | 🔵 | Current MCP Server Implementation Validates 4-Tool Architecture | ~556 |
| #33678 | 12:03 AM | 🔄 | Complete Removal of mem-search Skill Documentation | ~453 |
| #33677 | 12:02 AM | 🔄 | MCP Server Tool Consolidation and Workflow Simplification | ~333 |
| #33676 | " | 🔄 | MCP Server Refactored as Thin HTTP Wrapper | ~473 |
| #33675 | " | 🔄 | Major Documentation and Code Cleanup in MCP Clarity Branch | ~491 |
### Dec 30, 2025
**mcp-server.ts**
| ID | Time | T | Title | Read |
|----|------|---|-------|------|
| #34440 | 2:16 PM | 🔵 | TypeScript type errors identified across multiple components | ~328 |
### Jan 1, 2026
**mcp-server.ts**
| ID | Time | T | Title | Read |
|----|------|---|-------|------|
| #35619 | 11:07 PM | 🔵 | MCP Server Fatal Error Handling | ~209 |
### Jan 2, 2026
**mcp-server.ts**
| ID | Time | T | Title | Read |
|----|------|---|-------|------|
| #36020 | 9:13 PM | 🔵 | MCP Server Worker API Error Handling | ~280 |
### Jan 3, 2026
**mcp-server.ts**
| ID | Time | T | Title | Read |
|----|------|---|-------|------|
| #36296 | 8:04 PM | 🔵 | TypeScript Compilation Check: Pre-Existing Errors Unrelated to Refactoring | ~621 |
### Jan 5, 2026
**CLAUDE.md**
| ID | Time | T | Title | Read |
|----|------|---|-------|------|
| #38078 | 9:54 PM | ✅ | CLAUDE.md Documentation Cleanup - 1,233 Lines Removed Across 18 Files | ~590 |
**mcp-server.ts**
| ID | Time | T | Title | Read |
|----|------|---|-------|------|
| #38000 | 9:02 PM | 🔵 | Mixed usage of hard-coded 127.0.0.1 vs getWorkerHost() | ~347 |
| #37999 | " | 🔵 | getWorkerHost and getWorkerPort used in 18 files across codebase | ~282 |
| #37562 | 4:50 PM | 🔵 | MCP Server Architecture for Claude Desktop Integration | ~397 |
*No recent activity*
</claude-mem-context>
+3 -3
View File
@@ -299,9 +299,9 @@ async function main() {
setTimeout(async () => {
const workerAvailable = await verifyWorkerConnection();
if (!workerAvailable) {
logger.warn('SYSTEM', 'Worker not available', undefined, { workerUrl: WORKER_BASE_URL });
logger.warn('SYSTEM', 'Tools will fail until Worker is started');
logger.warn('SYSTEM', 'Start Worker with: npm run worker:restart');
logger.error('SYSTEM', 'Worker not available', undefined, { workerUrl: WORKER_BASE_URL });
logger.error('SYSTEM', 'Tools will fail until Worker is started');
logger.error('SYSTEM', 'Start Worker with: npm run worker:restart');
} else {
logger.info('SYSTEM', 'Worker available', undefined, { workerUrl: WORKER_BASE_URL });
}
+25 -58
View File
@@ -3,69 +3,36 @@
<!-- This section is auto-generated by claude-mem. Edit content outside the tags. -->
### Jan 3, 2026
**context-generator.ts**
| ID | Time | T | Title | Read |
|----|------|---|-------|------|
| #36670 | 11:37 PM | ✅ | Resolved merge conflicts by accepting branch changes for 39 files | ~435 |
**worker-service.ts**
| ID | Time | T | Title | Read |
|----|------|---|-------|------|
| #36642 | 10:56 PM | 🔵 | Logger Coverage Test Requirements Analysis | ~483 |
**worker-types.ts**
| ID | Time | T | Title | Read |
|----|------|---|-------|------|
| #36637 | 10:47 PM | 🟣 | GeminiAgent Analysis Agent Running But Timed Out After 120 Seconds | ~521 |
| #36631 | 10:45 PM | 🔵 | Worker Types Define ActiveSession With Refactored Session ID Properties | ~487 |
### Jan 4, 2026
**worker-types.ts**
| ID | Time | T | Title | Read |
|----|------|---|-------|------|
| #36758 | 12:34 AM | 🔵 | Issue #531 Root Cause - 73 Lines of Duplicated Export Type Definitions | ~529 |
| #36714 | 12:12 AM | 🔵 | Memory Leak Analysis Report for Issue #532 Generated | ~531 |
| #36712 | 12:11 AM | 🔵 | Memory Leak Analysis for Issue #532 Documented | ~646 |
**worker-service.ts**
| ID | Time | T | Title | Read |
|----|------|---|-------|------|
| #36716 | 12:13 AM | 🔵 | Issue #514 Orphaned .jsonl Session Files Analysis | ~616 |
| #36713 | 12:11 AM | 🔵 | Issue #520 Stuck Messages Already Resolved | ~569 |
| #36711 | " | 🔵 | Issue #520 Stuck Messages Analysis - Already Resolved | ~526 |
### Jan 5, 2026
**context-generator.ts**
| ID | Time | T | Title | Read |
|----|------|---|-------|------|
| #38079 | 9:55 PM | 🔵 | Context Generator Deprecated - Redirects to Modular Architecture | ~466 |
| #37989 | 8:39 PM | 🔵 | Worker Service CLI Commands | ~370 |
| #37988 | " | 🔵 | Worker Service Hook Command Integration | ~356 |
| #37943 | 8:09 PM | 🔵 | Worker service provides hook command interface | ~372 |
| #37936 | 8:08 PM | 🔵 | Worker service module located in budapest architecture | ~173 |
| #37837 | 6:55 PM | 🔵 | Worker Service CLI Structure and Extension Pattern | ~536 |
| #37836 | 6:54 PM | 🔵 | Worker Service HTTP API Architecture and Hook Integration Pattern | ~639 |
| #37830 | 6:50 PM | ⚖️ | Architectural Refactoring Plan: Unified CLI Hook System | ~631 |
| #37812 | 6:43 PM | 🔵 | WorkerService Architecture and CLI Entry Points | ~447 |
| #37738 | 6:17 PM | 🔵 | ActiveSession and PendingMessage Structures Analyzed for Phase 3 | ~327 |
| #37701 | 6:01 PM | 🔵 | Complete cwd data flow traced from hooks through observation processing | ~447 |
| #37691 | 5:55 PM | 🔵 | ActiveSession interface contains project name but no project root path | ~346 |
| #37418 | 1:04 AM | 🔴 | Fixed CLAUDE.md duplicate content by filtering to direct children only | ~469 |
| #37391 | 12:48 AM | ✅ | Staged 23 CLAUDE.md files with mix of new and modified content | ~400 |
| #37390 | 12:47 AM | ✅ | Regenerated 23 CLAUDE.md files in budapest workspace | ~365 |
### Jan 7, 2026
**CLAUDE.md**
| ID | Time | T | Title | Read |
|----|------|---|-------|------|
| #38078 | 9:54 PM | | CLAUDE.md Documentation Cleanup - 1,233 Lines Removed Across 18 Files | ~590 |
**worker-service.ts**
| ID | Time | T | Title | Read |
|----|------|---|-------|------|
| #38058 | 9:48 PM | 🔵 | Worker Service Architecture - Modular Orchestrator Pattern | ~523 |
| #38005 | 9:03 PM | 🔵 | Comprehensive exploration of PR review items completed | ~438 |
| #38001 | 9:02 PM | 🔵 | worker-service.ts demonstrates proper getWorkerHost() usage pattern | ~243 |
| #38000 | " | 🔵 | Mixed usage of hard-coded 127.0.0.1 vs getWorkerHost() | ~347 |
| #37999 | " | 🔵 | getWorkerHost and getWorkerPort used in 18 files across codebase | ~282 |
| #37665 | 5:52 PM | 🔵 | Codebase uses dependency injection and lazy initialization patterns to avoid circular dependencies | ~548 |
| #37649 | 5:50 PM | 🔵 | WorkerService orchestrator imports logger as foundational dependency | ~390 |
| #37546 | 4:47 PM | 🔵 | Worker Service Initialization Sequence Missing Settings File Creation | ~461 |
### Jan 6, 2026
**worker-service.ts**
| ID | Time | T | Title | Read |
|----|------|---|-------|------|
| #38108 | 12:15 AM | 🔵 | Complete Windows Zombie Port Bug Technical Deep Dive | ~935 |
| #38104 | 12:14 AM | 🔵 | Windows Compatibility Issues Documented Across 56 Memory Entries | ~509 |
| #38467 | 10:29 PM | ⚖️ | Log Level Audit Strategy: Tighten ERROR Messages for Runtime Issue Discovery | ~464 |
| #38446 | 10:26 PM | 🔵 | Worker Service Logs Startup Recovery Failures at WARN Level | ~419 |
| #38444 | 10:25 PM | 🔵 | Worker service auto-recovery error handling pattern | ~393 |
| #38431 | 10:24 PM | 🔵 | ERROR-Level Logging Used Across 21 Source Files | ~480 |
| #38404 | 10:06 PM | ⚖️ | Log Level Audit Analysis - WARN to ERROR Promotion Criteria Established | ~769 |
| #38354 | 9:10 PM | 🔵 | Provider Selection Architecture and Default Settings Location | ~478 |
| #38352 | 9:09 PM | 🔵 | Worker Service Environment Inheritance and Process Spawning Mechanisms | ~469 |
| #38269 | 7:53 PM | 🔵 | Worker Types Shared Type Definitions | ~847 |
| #38256 | 7:49 PM | 🔵 | Worker Service Orchestration Architecture | ~1166 |
</claude-mem-context>
+1 -57
View File
@@ -3,61 +3,5 @@
<!-- This section is auto-generated by claude-mem. Edit content outside the tags. -->
### Jan 3, 2026
**ObservationCompiler.ts**
| ID | Time | T | Title | Read |
|----|------|---|-------|------|
| #36562 | 9:49 PM | 🟣 | Phase 4 Context Generation Tests Completed | ~524 |
| #36556 | 9:45 PM | 🟣 | ObservationCompiler Test Suite Created | ~487 |
| #36550 | 9:42 PM | 🔵 | ObservationCompiler Data Retrieval Module | ~463 |
**TokenCalculator.ts**
| ID | Time | T | Title | Read |
|----|------|---|-------|------|
| #36561 | 9:49 PM | 🟣 | Phase 4 Context Generation Test Suite Completion | ~606 |
| #36555 | 9:44 PM | 🟣 | TokenCalculator Test Suite Created for Context Module | ~565 |
| #36433 | 9:00 PM | 🔵 | Token Calculation and Context Economics | ~429 |
**ContextBuilder.ts**
| ID | Time | T | Title | Read |
|----|------|---|-------|------|
| #36558 | 9:48 PM | 🟣 | ContextBuilder Test Suite with Comprehensive Mocking | ~601 |
| #36434 | 9:00 PM | 🔵 | ContextBuilder Orchestration Pattern | ~445 |
| #36390 | 8:50 PM | 🔄 | Comprehensive Monolith Refactor with Modular Architecture | ~724 |
| #36285 | 8:02 PM | 🔄 | Phase 4: ContextBuilder Main Orchestrator Created | ~590 |
**types.ts**
| ID | Time | T | Title | Read |
|----|------|---|-------|------|
| #36557 | 9:47 PM | 🟣 | MarkdownFormatter Test Suite Created | ~520 |
| #36549 | 9:42 PM | 🔵 | Context Generation Module Type System | ~410 |
| #36431 | 9:00 PM | 🔵 | Context Module Type System | ~513 |
| #36292 | 8:04 PM | 🔄 | Phase 4 Module Inventory: 12 Files Created in Context Architecture | ~571 |
**index.ts**
| ID | Time | T | Title | Read |
|----|------|---|-------|------|
| #36552 | 9:43 PM | 🔵 | Context Generation API Documentation for Phase 4 | ~496 |
| #36417 | 8:57 PM | 🔄 | Context Module Public API Design | ~349 |
**ContextConfigLoader.ts**
| ID | Time | T | Title | Read |
|----|------|---|-------|------|
| #36551 | 9:42 PM | 🔵 | ContextConfigLoader Mode-Aware Configuration | ~373 |
| #36279 | 8:01 PM | 🔄 | Phase 4: Context Generator Restructure - ContextConfigLoader Extracted | ~476 |
**context**
| ID | Time | T | Title | Read |
|----|------|---|-------|------|
| #36304 | 8:06 PM | 🔄 | Git Status: Phase 4 Changes Ready for Commit | ~570 |
| #36297 | 8:05 PM | 🔄 | Phase 4 Type Safety Verification: Zero TypeScript Errors in Context Module | ~591 |
| #36293 | 8:04 PM | 🔄 | Phase 4 Line Count Analysis: 2,081 Lines Across 12 Modular Files | ~628 |
### Jan 5, 2026
**ContextBuilder.ts**
| ID | Time | T | Title | Read |
|----|------|---|-------|------|
| #38076 | 9:53 PM | 🟣 | Worktree-Aware Project Filtering for Unified Timeline Context | ~578 |
*No recent activity*
</claude-mem-context>
+1 -121
View File
@@ -3,125 +3,5 @@
<!-- This section is auto-generated by claude-mem. Edit content outside the tags. -->
### Dec 21, 2025
**types.ts**
| ID | Time | T | Title | Read |
|----|------|---|-------|------|
| #31766 | 11:11 PM | 🟣 | Expansión de ModePrompts con campos de configuración granular | ~327 |
| #31765 | 11:10 PM | 🔵 | Sistema de configuración de modos con interfaces TypeScript | ~321 |
| #31764 | 11:09 PM | ⚖️ | Consulta arquitectónica con Gemini sobre reconstrucción completa de prompts por modos | ~469 |
| #31704 | 9:37 PM | 🔵 | Mode system architecture discovered in claude-mem | ~457 |
| #31428 | 6:56 PM | 🔵 | Domain Types Define Observation System Interfaces | ~292 |
**ModeManager.ts**
| ID | Time | T | Title | Read |
|----|------|---|-------|------|
| #31747 | 10:43 PM | 🔵 | PR #412 Code Review Identifies Two Critical Bugs in Mode System | ~545 |
| #31746 | 10:42 PM | 🔵 | PR #412 Documentation Audit Identifies Comment Quality Issues | ~535 |
| #31743 | 10:36 PM | 🔵 | PR #412 proposes mode system with inheritance and multilingual support | ~523 |
| #31739 | 10:28 PM | 🟣 | Mode Inheritance System with Parent-Override Pattern | ~373 |
| #31732 | 10:05 PM | 🟣 | Implemented mode inheritance system with parent-override pattern | ~430 |
| #31731 | " | 🟣 | Added deep merge infrastructure for mode inheritance | ~313 |
| #31729 | 9:55 PM | 🟣 | Mode Inheritance Parser Implementation | ~299 |
| #31728 | 9:54 PM | 🔵 | ModeManager System Architecture | ~314 |
| #31727 | " | ⚖️ | Mode Inheritance System for Multilingual Support | ~509 |
| #31725 | 9:51 PM | ⚖️ | Mode Inheritance System Architecture | ~509 |
| #31709 | 9:39 PM | 🔵 | Mode system architecture comprehensively documented | ~588 |
| #31697 | 9:24 PM | 🔵 | Root Cause Found: getPackageRoot() Returns Wrong Directory for ModeManager | ~399 |
| #31662 | 8:56 PM | 🔵 | ModeManager Path Resolution Dependency on getPackageRoot | ~361 |
| #31649 | 8:46 PM | 🟣 | ModeManager singleton implements dynamic mode profile loading | ~363 |
| #31446 | 7:22 PM | 🔵 | ModeManager Loading System Investigation | ~297 |
| #31445 | 7:21 PM | 🔵 | ModeManager Icon Resolution Methods | ~358 |
| #31427 | 6:56 PM | 🔵 | ModeManager Imports ObservationType and ObservationConcept Types | ~192 |
| #31422 | 6:50 PM | 🔵 | Observation Metadata Constants Usage Across Codebase | ~366 |
| #31407 | 6:26 PM | 🔵 | ModeManager provides observation type metadata access methods | ~283 |
### Dec 22, 2025
**types.ts**
| ID | Time | T | Title | Read |
|----|------|---|-------|------|
| #31896 | 7:18 PM | ✅ | Commit amendé avec les nouveaux types pour support multilingue des résumés | ~290 |
| #31895 | " | 🟣 | Ajout de quatre champs de prompts de résumé à l'interface ModePrompts | ~347 |
| #31894 | " | 🔵 | Interface ModePrompts contient les placeholders XML pour résumés | ~354 |
| #31808 | 6:07 PM | 🟣 | Added customizable XML placeholder fields to ModePrompts interface | ~432 |
| #31804 | 4:53 PM | ⚖️ | Refined scope for prompt placeholder extraction to mode configuration | ~439 |
| #31803 | 4:52 PM | 🔵 | Explored prompt system architecture for placeholder customization | ~472 |
| #31800 | 4:51 PM | ⚖️ | Initiated design task to extract hardcoded placeholders into mode configuration | ~441 |
| #31797 | 4:49 PM | 🔵 | ModePrompts interface defines high-level prompt sections but not field placeholders | ~364 |
| #31793 | 4:41 PM | 🔵 | Completed comprehensive exploration of mode system architecture | ~525 |
| #31784 | 4:37 PM | 🔵 | Examined ModeConfig type definitions for prompt customization | ~317 |
**ModeManager.ts**
| ID | Time | T | Title | Read |
|----|------|---|-------|------|
| #31790 | 4:39 PM | 🔵 | Identified files that interact with ModeManager and prompts | ~332 |
| #31785 | 4:37 PM | 🔵 | Examined ModeManager for mode loading and inheritance system | ~286 |
### Dec 23, 2025
**ModeManager.ts**
| ID | Time | T | Title | Read |
|----|------|---|-------|------|
| #32033 | 7:50 PM | ⚖️ | Mode-to-Settings Auto-Sync Architecture Designed | ~583 |
| #32032 | 7:45 PM | 🔵 | Queue System Bug: Mode Loaded Once at Startup Prevents Processing | ~450 |
| #32026 | 7:39 PM | 🔵 | Email Investigation Mode Configuration Located | ~300 |
| #32025 | 7:35 PM | 🔵 | ModeManager Implementation with Inheritance System | ~474 |
### Dec 24, 2025
**ModeManager.ts**
| ID | Time | T | Title | Read |
|----|------|---|-------|------|
| #32214 | 8:17 PM | 🔵 | ModeManager singleton handles mode profiles with inheritance support | ~483 |
### Dec 25, 2025
**ModeManager.ts**
| ID | Time | T | Title | Read |
|----|------|---|-------|------|
| #32701 | 9:00 PM | 🔵 | Test Coverage Report Generated | ~471 |
| #32580 | 8:22 PM | 🔵 | Grep for resetStuckMessages and processing | ~242 |
**types.ts**
| ID | Time | T | Title | Read |
|----|------|---|-------|------|
| #32558 | 8:18 PM | 🔵 | Identified files containing 'summary' or 'Summary' | ~167 |
### Dec 31, 2025
**types.ts**
| ID | Time | T | Title | Read |
|----|------|---|-------|------|
| #34631 | 3:02 PM | 🟣 | Context-Preservation Workflow Design Documents Created | ~729 |
| #34610 | 2:58 PM | 🔵 | Mode Configuration System Architecture for Memory Agent Behavior | ~570 |
### Jan 1, 2026
**ModeManager.ts**
| ID | Time | T | Title | Read |
|----|------|---|-------|------|
| #35433 | 8:43 PM | 🔵 | Try-Catch Block Distribution Across Services | ~372 |
### Jan 2, 2026
**ModeManager.ts**
| ID | Time | T | Title | Read |
|----|------|---|-------|------|
| #35951 | 4:42 PM | 🔵 | Multi-Layer Service Architecture Discovery | ~395 |
### Jan 3, 2026
**ModeManager.ts**
| ID | Time | T | Title | Read |
|----|------|---|-------|------|
| #36539 | 9:39 PM | 🔵 | ModeManager Singleton Pattern with Inheritance | ~343 |
### Jan 5, 2026
**ModeManager.ts**
| ID | Time | T | Title | Read |
|----|------|---|-------|------|
| #37665 | 5:52 PM | 🔵 | Codebase uses dependency injection and lazy initialization patterns to avoid circular dependencies | ~548 |
*No recent activity*
</claude-mem-context>
+1 -71
View File
@@ -3,75 +3,5 @@
<!-- This section is auto-generated by claude-mem. Edit content outside the tags. -->
### Jan 3, 2026
**ProcessManager.ts**
| ID | Time | T | Title | Read |
|----|------|---|-------|------|
| #36571 | 9:54 PM | 🟣 | Phase 5 Infrastructure Tests Completed | ~504 |
| #36570 | " | 🟣 | ProcessManager Infrastructure Test Suite Created | ~535 |
**GracefulShutdown.ts**
| ID | Time | T | Title | Read |
|----|------|---|-------|------|
| #36569 | 9:54 PM | 🟣 | GracefulShutdown Test Suite Created | ~457 |
| #36390 | 8:50 PM | 🔄 | Comprehensive Monolith Refactor with Modular Architecture | ~724 |
**HealthMonitor.ts**
| ID | Time | T | Title | Read |
|----|------|---|-------|------|
| #36568 | 9:53 PM | 🟣 | HealthMonitor Test Suite Created for Phase 5 | ~437 |
**index.ts**
| ID | Time | T | Title | Read |
|----|------|---|-------|------|
| #36566 | 9:51 PM | 🔵 | Phase 5 Infrastructure APIs Documented | ~506 |
### Jan 4, 2026
**ProcessManager.ts**
| ID | Time | T | Title | Read |
|----|------|---|-------|------|
| #36924 | 2:25 AM | ✅ | Merged fix/pr-538-followups branch into main with comprehensive updates | ~481 |
| #36914 | 2:24 AM | 🔵 | Recent commit 4d0a10c fixed multiple GitHub issues | ~365 |
| #36846 | 1:45 AM | 🔵 | WMIC Process Management Implementation for Windows | ~569 |
| #36829 | 1:40 AM | 🔵 | PR #542 Review Analysis - Multi-Issue Fix Validation | ~562 |
| #36827 | 1:03 AM | ✅ | Branch diff shows 1,293 insertions and 98 deletions across 15 files | ~464 |
| #36823 | 1:00 AM | 🔴 | GitHub Issue #517 Anti-Pattern Verification Complete - All Checks Passed | ~517 |
| #36822 | 12:59 AM | 🔴 | Final Verification: No PowerShell $_ Variables Remain - Only Explanatory Comment | ~432 |
| #36821 | " | 🟣 | Verified All Timeout Values Preserved at 60000ms | ~467 |
| #36820 | " | 🟣 | Verified taskkill Command Unchanged Across ProcessManager | ~471 |
| #36819 | " | 🟣 | Verified Unix/macOS Process Enumeration Unchanged | ~408 |
| #36818 | 12:58 AM | 🟣 | Verified PID Validation Logic Preserved Across ProcessManager | ~140 |
| #36817 | " | 🔴 | GitHub Issue #517 Implementation Complete and Verified | ~510 |
| #36815 | " | 🔴 | Verified Complete Removal of PowerShell $_ Variables | ~420 |
| #36814 | 12:57 AM | 🟣 | Verified Complete WMIC Migration in ProcessManager | ~454 |
| #36813 | " | 🟣 | Verified Consistent WMIC Output Parsing Pattern | ~392 |
| #36812 | " | 🔴 | GitHub Issue #517 Complete - Replaced PowerShell with WMIC in Both Functions | ~543 |
| #36811 | " | 🔴 | Replaced PowerShell with WMIC in getChildProcesses Function | ~480 |
| #36810 | " | 🔵 | ProcessManager PowerShell Commands Use $_ Variable Pattern | ~486 |
| #36779 | 12:44 AM | 🔵 | ProcessManager Windows PowerShell Functions Complete Analysis | ~550 |
| #36771 | 12:42 AM | 🔵 | ProcessManager Uses execAsync and taskkill Commands | ~390 |
| #36761 | 12:36 AM | ✅ | Created Implementation Plans for Four GitHub Issues | ~507 |
| #36720 | 12:15 AM | 🔵 | Issue #517 Windows PowerShell Analysis Completed | ~631 |
| #36718 | " | 🔵 | Issue #517 Analysis - Windows PowerShell Variable Escaping Bug | ~482 |
### Jan 5, 2026
**CLAUDE.md**
| ID | Time | T | Title | Read |
|----|------|---|-------|------|
| #38078 | 9:54 PM | ✅ | CLAUDE.md Documentation Cleanup - 1,233 Lines Removed Across 18 Files | ~590 |
**HealthMonitor.ts**
| ID | Time | T | Title | Read |
|----|------|---|-------|------|
| #38005 | 9:03 PM | 🔵 | Comprehensive exploration of PR review items completed | ~438 |
| #38002 | " | 🔵 | HealthMonitor.ts uses hard-coded 127.0.0.1 for health checks | ~338 |
| #38000 | 9:02 PM | 🔵 | Mixed usage of hard-coded 127.0.0.1 vs getWorkerHost() | ~347 |
**ProcessManager.ts**
| ID | Time | T | Title | Read |
|----|------|---|-------|------|
| #37558 | 4:49 PM | 🔵 | Issue #555 Windows Hook Execution Patterns and Fix Strategy Documented | ~510 |
*No recent activity*
</claude-mem-context>
+1 -1
View File
@@ -86,7 +86,7 @@ export async function httpShutdown(port: number): Promise<boolean> {
return false;
}
// Unexpected error - log full details
logger.warn('SYSTEM', 'Shutdown request failed unexpectedly', { port }, error as Error);
logger.error('SYSTEM', 'Shutdown request failed unexpectedly', { port }, error as Error);
return false;
}
}
@@ -100,7 +100,7 @@ export async function getChildProcesses(parentPid: number): Promise<number[]> {
.filter(n => !isNaN(n) && Number.isInteger(n) && n > 0);
} catch (error) {
// Shutdown cleanup - failure is non-critical, continue without child process cleanup
logger.warn('SYSTEM', 'Failed to enumerate child processes', { parentPid }, error as Error);
logger.error('SYSTEM', 'Failed to enumerate child processes', { parentPid }, error as Error);
return [];
}
}
@@ -213,7 +213,7 @@ export async function cleanupOrphanedProcesses(): Promise<void> {
}
} catch (error) {
// Orphan cleanup is non-critical - log and continue
logger.warn('SYSTEM', 'Failed to enumerate orphaned processes', {}, error as Error);
logger.error('SYSTEM', 'Failed to enumerate orphaned processes', {}, error as Error);
return;
}
+1 -21
View File
@@ -3,25 +3,5 @@
<!-- This section is auto-generated by claude-mem. Edit content outside the tags. -->
### Jan 3, 2026
**CursorHooksInstaller.ts**
| ID | Time | T | Title | Read |
|----|------|---|-------|------|
| #36390 | 8:50 PM | 🔄 | Comprehensive Monolith Refactor with Modular Architecture | ~724 |
### Jan 5, 2026
**CLAUDE.md**
| ID | Time | T | Title | Read |
|----|------|---|-------|------|
| #38078 | 9:54 PM | ✅ | CLAUDE.md Documentation Cleanup - 1,233 Lines Removed Across 18 Files | ~590 |
**CursorHooksInstaller.ts**
| ID | Time | T | Title | Read |
|----|------|---|-------|------|
| #38075 | 9:53 PM | 🟣 | Initial Folder CLAUDE.md Timeline Formatting Implementation | ~463 |
| #38063 | 9:50 PM | 🔵 | Cursor Integration Module - Context File Updates and Project Registry | ~613 |
| #38000 | 9:02 PM | 🔵 | Mixed usage of hard-coded 127.0.0.1 vs getWorkerHost() | ~347 |
| #37999 | " | 🔵 | getWorkerHost and getWorkerPort used in 18 files across codebase | ~282 |
*No recent activity*
</claude-mem-context>
@@ -117,7 +117,7 @@ export async function updateCursorContextForProject(projectName: string, port: n
logger.debug('CURSOR', 'Updated context file', { projectName, workspacePath: entry.workspacePath });
} catch (error) {
// [ANTI-PATTERN IGNORED]: Background context update - failure is non-critical, user workflow continues
logger.warn('CURSOR', 'Failed to update context file', { projectName }, error as Error);
logger.error('CURSOR', 'Failed to update context file', { projectName }, error as Error);
}
}
@@ -234,7 +234,7 @@ export function configureCursorMcp(target: CursorInstallTarget): number {
}
} catch (error) {
// [ANTI-PATTERN IGNORED]: Fallback behavior - corrupt config, continue with empty
logger.warn('SYSTEM', 'Corrupt mcp.json, creating new config', { path: mcpJsonPath }, error as Error);
logger.error('SYSTEM', 'Corrupt mcp.json, creating new config', { path: mcpJsonPath }, error as Error);
config = { mcpServers: {} };
}
}
+82 -43
View File
@@ -3,56 +3,95 @@
<!-- This section is auto-generated by claude-mem. Edit content outside the tags. -->
### Dec 10, 2025
| ID | Time | T | Title | Read |
|----|------|---|-------|------|
| #23833 | 11:15 PM | 🔵 | ProcessManager Class Already Implemented | ~525 |
| #23823 | 11:12 PM | 🔵 | ProcessManager Accepts Port Parameter in start() Method | ~305 |
| #23815 | 10:52 PM | 🟣 | BinaryManager for Windows Exe Distribution Implemented | ~384 |
| #23814 | " | 🟣 | ProcessManager Core Implementation Created | ~482 |
### Dec 11, 2025
| ID | Time | T | Title | Read |
|----|------|---|-------|------|
| #23851 | 12:10 AM | 🔵 | ProcessManager Architecture Details Revealed | ~423 |
### Dec 12, 2025
| ID | Time | T | Title | Read |
|----|------|---|-------|------|
| #24359 | 7:00 PM | 🟣 | Phase 1 Critical Code Fixes Completed via Agent Task | ~441 |
| #24358 | 6:59 PM | ✅ | Completed Phase 1 Code Fixes for better-sqlite3 Migration | ~385 |
| #24350 | 6:58 PM | 🟣 | Added Port Validation to ProcessManager.start() | ~348 |
| #24346 | 6:57 PM | 🔵 | ProcessManager.start() Lacks Port Validation | ~327 |
### Dec 14, 2025
| ID | Time | T | Title | Read |
|----|------|---|-------|------|
| #26766 | 11:30 PM | ⚖️ | Root Cause Identified: Missing Post-Install Worker Restart Trigger in Plugin Update Flow | ~604 |
| #26765 | " | 🔵 | Explore Agent Confirms Root Cause: No Proactive Worker Restart After Plugin Updates | ~613 |
| #26736 | 11:25 PM | 🔵 | ProcessManager Restart Has No Delay Between Stop and Start | ~437 |
| #26735 | " | 🔵 | ProcessManager.restart Calls Stop Then Start With No Additional Delay | ~454 |
### Dec 16, 2025
| ID | Time | T | Title | Read |
|----|------|---|-------|------|
| #27787 | 6:29 PM | 🔵 | ProcessManager Uses PowerShell Start-Process with Hidden Windows | ~355 |
| #27408 | 3:24 PM | 🔵 | ProcessManager Security Analysis for Command Injection Vulnerability | ~428 |
### Dec 17, 2025
**ProcessManager.ts**
| ID | Time | T | Title | Read |
|----|------|---|-------|------|
| #28476 | 4:26 PM | 🔵 | ProcessManager Windows Wrapper Pattern for Zombie Port Prevention | ~620 |
| #28932 | 7:30 PM | 🔵 | ProcessManager Architecture and Platform-Specific Process Spawning | ~523 |
| #28929 | " | 🔵 | ProcessManager Usage Across Codebase | ~319 |
| #28747 | 6:25 PM | 🔵 | Branch Diff Analysis - 26 Files Modified | ~374 |
| #28730 | 6:21 PM | 🔵 | Worker Wrapper Solves Windows Zombie Port Problem | ~416 |
| #28729 | " | 🔵 | Windows Worker Wrapper Architecture | ~222 |
| #28721 | 6:18 PM | 🔵 | Final Solution - Worker Wrapper Architecture Successfully Deployed | ~474 |
| #28719 | " | 🔵 | Initial Windows Worker Problem Analysis - Three Interconnected Issues | ~564 |
| #28714 | 6:15 PM | 🔴 | Windows Zombie Port Problem Resolved with Wrapper Process Architecture | ~421 |
| #28711 | 6:13 PM | 🔵 | Overview of Changes Between main and HEAD Branch | ~347 |
| #28660 | 5:31 PM | 🔵 | Branch Modifies 26 Files with Net Addition of 346 Lines | ~445 |
| #28644 | 5:24 PM | ✅ | Modified 27 files with 693 additions and 239 deletions for Windows support | ~447 |
### Dec 18, 2025
**ProcessManager.ts**
| ID | Time | T | Title | Read |
|----|------|---|-------|------|
| #29622 | 5:41 PM | 🔵 | Validation Patterns Across HTTP Routes and Core Services | ~488 |
### Dec 20, 2025
**ProcessManager.ts**
| ID | Time | T | Title | Read |
|----|------|---|-------|------|
| #30947 | 7:01 PM | 🔵 | Timeout Constants Usage Patterns Verified | ~416 |
| #30946 | " | 🔵 | ProcessManager Timeout Constants Located | ~348 |
| #31066 | 7:53 PM | 🔵 | Comprehensive KISS Principle Audit of Hooks and Worker Services | ~788 |
| #31020 | 7:28 PM | 🔄 | Inlined single-use timeout constants in ProcessManager | ~390 |
| #31013 | 7:27 PM | 🔵 | Comment Analysis Identified Stale FTS5 References and Documentation Gaps | ~681 |
| #31012 | 7:25 PM | 🔴 | Silent Failure Review Identified Regression in getWorkerPort() Error Handling | ~659 |
| #31010 | " | ⚖️ | PR #400 Approved After Comprehensive Code Review | ~594 |
| #31000 | 7:22 PM | 🔄 | ProcessManager timeout constants inlined to literal values | ~356 |
| #30993 | 7:20 PM | 🔴 | ProcessManager getPidInfo() enhanced with error logging | ~290 |
| #30990 | 7:19 PM | 🔵 | PR 400 achieves net deletion of 395 lines across 31 files | ~338 |
| #30988 | " | 🔵 | PR 400 modifies 31 files across hooks, services, and utilities | ~316 |
| #30986 | " | 🔵 | PR #400 File Scope: 31 Files Across Hooks, Services, and Utilities | ~526 |
| #30953 | 7:02 PM | 🔄 | Removed Single-Use Timeout Constants in ProcessManager | ~306 |
| #30949 | " | 🔴 | Fixed undefined constant in ProcessManager waitForExit | ~245 |
| #30948 | 7:01 PM | 🔵 | Windows Process Shutdown Strategy in ProcessManager | ~302 |
| #30907 | 6:46 PM | 🔴 | ProcessManager PID File Corruption Now Logs Warnings | ~326 |
| #30905 | 6:45 PM | 🔴 | ProcessManager getPidInfo Error Visibility | ~333 |
| #30902 | " | 🔴 | Added logging to PID file error handling in ProcessManager | ~260 |
| #30901 | 6:44 PM | 🔵 | Windows Graceful Shutdown via HTTP and Wrapper IPC | ~269 |
| #30900 | " | 🔵 | Platform-Specific Worker Script Selection | ~262 |
| #30899 | " | 🔵 | getPidInfo Usage Pattern in ProcessManager | ~206 |
| #30898 | " | 🔵 | ProcessManager PID File Management Implementation | ~249 |
| #30774 | 5:58 PM | 🔵 | ProcessManager Handles Cross-Platform Worker Lifecycle with Windows Workarounds | ~559 |
| #32307 | 5:56 PM | 🔵 | Worker Service Code Audit: 14 Issues Found Across Validation, Data Structures, and Complexity | ~793 |
| #30673 | 5:08 PM | 🔴 | Windows Worker Stop/Restart Reliability Improvements | ~376 |
| #30663 | 5:07 PM | 🔵 | Cross-Platform Support Across 12 Files | ~307 |
### Dec 24, 2025
**ProcessManager.ts**
| ID | Time | T | Title | Read |
|----|------|---|-------|------|
| #32071 | 3:24 PM | ⚖️ | Worker Startup Architecture Redesigned | ~380 |
| #32070 | " | 🔵 | ProcessManager Worker Spawning Architecture | ~428 |
| #32059 | 3:17 PM | ⚖️ | Worker Startup Refactored with File-Based Locking for Concurrent Hooks | ~552 |
### Dec 26, 2025
**ProcessManager.ts**
| ID | Time | T | Title | Read |
|----|------|---|-------|------|
| #32855 | 7:04 PM | 🔄 | Consolidated worker process management into single service | ~322 |
| #32837 | 6:25 PM | 🔵 | Deleted ProcessManager.ts contained comprehensive PID file infrastructure | ~430 |
| #32814 | 6:05 PM | ✅ | Increased All Timeout Limits to Maximum Values for Slow Systems | ~385 |
### Dec 28, 2025
**ProcessManager.ts**
| ID | Time | T | Title | Read |
|----|------|---|-------|------|
| #33370 | 3:47 PM | 🔵 | ToxMox Wrapper Architecture Deleted December 26, Six Days After Implementation | ~506 |
| #33369 | 3:46 PM | 🔵 | ToxMox December 17 Commit Introduced Wrapper Architecture to Fix Windows Zombie Port Bug | ~632 |
| #33368 | 3:45 PM | 🔵 | ToxMox December 20 Commit Improved Windows Worker Restart Reliability and Logging | ~487 |
| #33294 | 3:08 PM | ✅ | ToxMox Contributions Documented in Comprehensive Markdown Report | ~603 |
| #33284 | 3:07 PM | 🔄 | Consolidated Worker Lifecycle Management (-580 Lines) | ~327 |
| #33270 | 2:59 PM | ⚖️ | Self-Spawn Pattern Chosen for Worker Lifecycle | ~418 |
### Jan 6, 2026
**ProcessManager.ts**
| ID | Time | T | Title | Read |
|----|------|---|-------|------|
| #38108 | 12:15 AM | 🔵 | Complete Windows Zombie Port Bug Technical Deep Dive | ~935 |
| #38105 | 12:14 AM | 🔵 | Windows Console Popup Flash Issue Documented and Fixed | ~455 |
</claude-mem-context>
+1 -54
View File
@@ -3,58 +3,5 @@
<!-- This section is auto-generated by claude-mem. Edit content outside the tags. -->
### Dec 28, 2025
**SessionQueueProcessor.ts**
| ID | Time | T | Title | Read |
|----|------|---|-------|------|
| #33396 | 9:53 PM | ✅ | Queue refactoring touched 12 files with net addition of 1021 lines | ~402 |
| #33395 | " | 🟣 | Queue system refactored with atomic message processing | ~487 |
| #33374 | 7:12 PM | 🟣 | Refactored Queue System with Atomic Message Claiming and In-Memory State Elimination | ~477 |
| #33384 | " | 🔵 | Confirmed `SessionQueueProcessor` Integration in `SessionManager` | ~289 |
| #33387 | " | ⚖️ | Formulated Plan to Address PR #470 Review Issues | ~441 |
### Dec 30, 2025
**SessionQueueProcessor.ts**
| ID | Time | T | Title | Read |
|----|------|---|-------|------|
| #34409 | 1:55 PM | 🔵 | SessionQueueProcessor Event-Driven Message Iteration | ~433 |
| #34391 | 1:40 PM | 🔵 | SessionQueueProcessor Respects Abort Signal But Only Stops Iterator Loop | ~382 |
### Jan 1, 2026
**SessionQueueProcessor.ts**
| ID | Time | T | Title | Read |
|----|------|---|-------|------|
| #35521 | 9:35 PM | 🔵 | Queue Processor Uses Database-Backed Message Store | ~316 |
| #35433 | 8:43 PM | 🔵 | Try-Catch Block Distribution Across Services | ~372 |
| #35432 | " | 🔵 | Services Directory Structure Mapped | ~268 |
### Jan 2, 2026
**SessionQueueProcessor.ts**
| ID | Time | T | Title | Read |
|----|------|---|-------|------|
| #35951 | 4:42 PM | 🔵 | Multi-Layer Service Architecture Discovery | ~395 |
| #35887 | 2:47 PM | 🔵 | SessionQueueProcessor Has Error Recovery But Doesn't Mark Failed | ~353 |
| #35851 | 2:32 PM | 🔵 | Queue Processor Uses Atomic Claiming with Event-Driven Wake-Up | ~464 |
### Jan 3, 2026
**SessionQueueProcessor.ts**
| ID | Time | T | Title | Read |
|----|------|---|-------|------|
| #36343 | 8:29 PM | 🔄 | SessionQueueProcessor Updated to Use claimAndDelete | ~299 |
| #36340 | 8:28 PM | 🔵 | Complete Duplicate Bug Analysis via Explore Agent | ~435 |
| #36323 | 8:25 PM | 🔵 | Message Queue Architecture Scope Expanded | ~302 |
| #36314 | " | 🔵 | Message Queue Processing Duplicate Bug Investigation | ~316 |
### Jan 4, 2026
**SessionQueueProcessor.ts**
| ID | Time | T | Title | Read |
|----|------|---|-------|------|
| #36713 | 12:11 AM | 🔵 | Issue #520 Stuck Messages Already Resolved | ~569 |
| #36711 | " | 🔵 | Issue #520 Stuck Messages Analysis - Already Resolved | ~526 |
*No recent activity*
</claude-mem-context>
+1 -28
View File
@@ -3,32 +3,5 @@
<!-- This section is auto-generated by claude-mem. Edit content outside the tags. -->
### Jan 3, 2026
**Server.ts**
| ID | Time | T | Title | Read |
|----|------|---|-------|------|
| #36689 | 11:56 PM | 🔵 | PR #538 Review Findings - Modular Architecture Refactor | ~590 |
| #36583 | 9:57 PM | 🟣 | Server Test Suite Created | ~485 |
| #36427 | 8:59 PM | 🔵 | Server Class Architecture and Route Registration | ~447 |
**ErrorHandler.ts**
| ID | Time | T | Title | Read |
|----|------|---|-------|------|
| #36581 | 9:57 PM | 🟣 | ErrorHandler Test Suite Created for Phase 6 | ~444 |
| #36454 | 9:03 PM | 🔵 | Centralized Express Error Handling | ~446 |
| #36390 | 8:50 PM | 🔄 | Comprehensive Monolith Refactor with Modular Architecture | ~724 |
**index.ts**
| ID | Time | T | Title | Read |
|----|------|---|-------|------|
| #36575 | 9:55 PM | 🔵 | Server Layer API Documentation for Phase 6 | ~521 |
### Jan 5, 2026
**Server.ts**
| ID | Time | T | Title | Read |
|----|------|---|-------|------|
| #37758 | 6:25 PM | ⚖️ | Integration Test Design for Four Critical Testing Gaps | ~729 |
| #37533 | 4:44 PM | 🔵 | Windows IPC Detection Logic and Managed Mode Handling | ~427 |
*No recent activity*
</claude-mem-context>
+1 -121
View File
@@ -3,125 +3,5 @@
<!-- This section is auto-generated by claude-mem. Edit content outside the tags. -->
### Jan 2, 2026
**SessionStore.ts**
| ID | Time | T | Title | Read |
|----|------|---|-------|------|
| #36101 | 10:25 PM | ✅ | Database migration made observations.text field nullable | ~353 |
| #36100 | " | 🔵 | storeObservation method implementation in SessionStore | ~368 |
| #36085 | 10:15 PM | 🔵 | Memory Session ID Two-Phase Capture Pattern | ~350 |
| #36084 | " | 🔵 | SDK Session Creation Idempotent Design Pattern | ~410 |
| #36029 | 9:21 PM | 🔄 | Removed try-catch block from ensureDiscoveryTokensColumn migration | ~322 |
| #35998 | 5:32 PM | 🔴 | Critical Session ID Placeholder Bug Fixed to Prevent Transcript Pollution | ~488 |
| #35995 | 5:31 PM | 🔵 | Worker Version Mismatch Detection Issue | ~419 |
| #35990 | 5:17 PM | 🔴 | Fixed memory_session_id initialization to prevent session ID collision | ~385 |
| #35989 | " | 🔵 | SDK Session Creation Uses Content Session ID as Memory Session Placeholder | ~399 |
| #35988 | " | 🔵 | Session ID Threading Architecture with FK Placeholder Pattern | ~380 |
| #35970 | 4:47 PM | 🔵 | Session ID Logging Distribution Across Codebase | ~485 |
| #35959 | 4:44 PM | 🔵 | SessionStore Database Schema and Session ID Architecture | ~684 |
**migrations.ts**
| ID | Time | T | Title | Read |
|----|------|---|-------|------|
| #35951 | 4:42 PM | 🔵 | Multi-Layer Service Architecture Discovery | ~395 |
**PendingMessageStore.ts**
| ID | Time | T | Title | Read |
|----|------|---|-------|------|
| #35901 | 2:49 PM | 🔵 | PR #525 File Changes Summary | ~376 |
| #35885 | 2:46 PM | 🔵 | PendingMessageStore Implements Four-State Lifecycle | ~411 |
| #35858 | 2:33 PM | 🔵 | PendingMessageStore Provides Stuck Message Recovery Methods | ~496 |
| #35855 | " | 🔵 | PendingMessageStore Implements Database-Backed Message Queue with Status Tracking | ~518 |
**types.ts**
| ID | Time | T | Title | Read |
|----|------|---|-------|------|
| #35840 | 2:30 PM | 🔵 | Database Schema Includes Observation Status Tracking | ~488 |
### Jan 3, 2026
**transactions.ts**
| ID | Time | T | Title | Read |
|----|------|---|-------|------|
| #36689 | 11:56 PM | 🔵 | PR #538 Review Findings - Modular Architecture Refactor | ~590 |
| #36486 | 9:12 PM | 🟣 | Transactions Module Test Suite Implemented | ~833 |
| #36350 | 8:30 PM | 🔄 | Renamed StoreAndMarkCompleteResult to StoreObservationsResult | ~278 |
| #36348 | " | 🔵 | Transaction Module Structure for Observation Storage | ~370 |
| #36323 | 8:25 PM | 🔵 | Message Queue Architecture Scope Expanded | ~302 |
**Import.ts**
| ID | Time | T | Title | Read |
|----|------|---|-------|------|
| #36670 | 11:37 PM | ✅ | Resolved merge conflicts by accepting branch changes for 39 files | ~435 |
**SessionStore.ts**
| ID | Time | T | Title | Read |
|----|------|---|-------|------|
| #36636 | 10:46 PM | 🟣 | Session ID Refactor Analysis Agent Completed Comprehensive Report | ~637 |
| #36635 | " | 🟣 | SessionStore Analysis Agent Completed Report Generation | ~545 |
| #36621 | 10:43 PM | 🔵 | SessionStore Implementation Already Supports Timestamp Override | ~491 |
| #36390 | 8:50 PM | 🔄 | Comprehensive Monolith Refactor with Modular Architecture | ~724 |
| #36355 | 8:42 PM | 🔵 | SessionStore observations table uses 5-type enum constraint | ~273 |
| #36353 | " | 🔵 | Multiple observation table definitions found across codebase | ~280 |
| #36339 | 8:28 PM | 🔵 | Message Completion SQL Update in Transaction | ~343 |
| #36332 | 8:27 PM | 🔵 | Transaction Structure in storeObservationsAndMarkComplete | ~353 |
| #36117 | 6:19 PM | 🔵 | SessionStore Architecture: 2,012 Lines Managing 20 Migrations and 49 Methods | ~578 |
| #36113 | 3:58 PM | 🔴 | Fixed FOREIGN KEY Constraint Failure in Observation Storage | ~448 |
**Sessions.ts**
| ID | Time | T | Title | Read |
|----|------|---|-------|------|
| #36470 | 9:06 PM | 🔵 | SQLite Module API Documentation Verified for Test Implementation | ~765 |
**Database.ts**
| ID | Time | T | Title | Read |
|----|------|---|-------|------|
| #36435 | 9:00 PM | 🔵 | SQLite Database Configuration and Migration Management | ~476 |
**index.ts**
| ID | Time | T | Title | Read |
|----|------|---|-------|------|
| #36416 | 8:57 PM | 🔄 | SQLite Module Public API with SessionStore Deprecation | ~402 |
| #36351 | 8:31 PM | 🔵 | SQLite Module Index Exports storeObservationsAndMarkComplete | ~268 |
| #36314 | 8:25 PM | 🔵 | Message Queue Processing Duplicate Bug Investigation | ~316 |
**PendingMessageStore.ts**
| ID | Time | T | Title | Read |
|----|------|---|-------|------|
| #36342 | 8:29 PM | 🔄 | Implemented claimAndDelete Method in PendingMessageStore | ~353 |
| #36340 | 8:28 PM | 🔵 | Complete Duplicate Bug Analysis via Explore Agent | ~435 |
| #36329 | 8:25 PM | 🔵 | PendingMessageStore State Machine Architecture | ~393 |
| #36127 | 6:20 PM | 🔵 | PendingMessageStore Implements Persistent Work Queue for Crash Recovery | ~539 |
**sqlite**
| ID | Time | T | Title | Read |
|----|------|---|-------|------|
| #36296 | 8:04 PM | 🔵 | TypeScript Compilation Check: Pre-Existing Errors Unrelated to Refactoring | ~621 |
**migrations.ts**
| ID | Time | T | Title | Read |
|----|------|---|-------|------|
| #36124 | 6:19 PM | 🔵 | Migrations File Contains 7 Separate Migration Definitions | ~509 |
### Jan 4, 2026
**SessionStore.ts**
| ID | Time | T | Title | Read |
|----|------|---|-------|------|
| #36780 | 12:44 AM | 🔵 | Observation Schema Evolution with Hierarchical Fields | ~452 |
| #36770 | 12:42 AM | 🔵 | Export Script Type Duplication Analysis Complete | ~555 |
**PendingMessageStore.ts**
| ID | Time | T | Title | Read |
|----|------|---|-------|------|
| #36713 | 12:11 AM | 🔵 | Issue #520 Stuck Messages Already Resolved | ~569 |
| #36711 | " | 🔵 | Issue #520 Stuck Messages Analysis - Already Resolved | ~526 |
### Jan 5, 2026
**SessionSearch.ts**
| ID | Time | T | Title | Read |
|----|------|---|-------|------|
| #38036 | 9:43 PM | 🟣 | Configurable Observation Limits and Enhanced Folder Search | ~418 |
*No recent activity*
</claude-mem-context>
+1 -26
View File
@@ -3,30 +3,5 @@
<!-- This section is auto-generated by claude-mem. Edit content outside the tags. -->
### Jan 3, 2026
**create.ts**
| ID | Time | T | Title | Read |
|----|------|---|-------|------|
| #36670 | 11:37 PM | ✅ | Resolved merge conflicts by accepting branch changes for 39 files | ~435 |
| #36482 | 9:10 PM | 🟣 | Sessions Module Test Suite Implemented | ~627 |
| #36390 | 8:50 PM | 🔄 | Comprehensive Monolith Refactor with Modular Architecture | ~724 |
**types.ts**
| ID | Time | T | Title | Read |
|----|------|---|-------|------|
| #36470 | 9:06 PM | 🔵 | SQLite Module API Documentation Verified for Test Implementation | ~765 |
| #36439 | 9:01 PM | 🔵 | Session Type Hierarchy | ~420 |
**get.ts**
| ID | Time | T | Title | Read |
|----|------|---|-------|------|
| #36438 | 9:01 PM | 🔵 | Session Retrieval Functions with Database-First Pattern | ~479 |
### Jan 4, 2026
**types.ts**
| ID | Time | T | Title | Read |
|----|------|---|-------|------|
| #36770 | 12:42 AM | 🔵 | Export Script Type Duplication Analysis Complete | ~555 |
*No recent activity*
</claude-mem-context>
+1 -6
View File
@@ -3,10 +3,5 @@
<!-- This section is auto-generated by claude-mem. Edit content outside the tags. -->
### Jan 3, 2026
**queries.ts**
| ID | Time | T | Title | Read |
|----|------|---|-------|------|
| #36390 | 8:50 PM | 🔄 | Comprehensive Monolith Refactor with Modular Architecture | ~724 |
*No recent activity*
</claude-mem-context>
+10 -130
View File
@@ -3,137 +3,17 @@
<!-- This section is auto-generated by claude-mem. Edit content outside the tags. -->
### Dec 21, 2025
### Jan 7, 2026
**ChromaSync.ts**
| ID | Time | T | Title | Read |
|----|------|---|-------|------|
| #31745 | 10:42 PM | 🔵 | PR #412 Error Handling Audit Reveals Seven Silent Failure Patterns | ~529 |
| #31741 | 10:29 PM | 🟣 | Configurable Local Embedding Models with Multilingual Support | ~461 |
| #31738 | 10:26 PM | 🔵 | Configurable Embedding Models Already Implemented in Feature Branch | ~622 |
| #31737 | 10:23 PM | 🔵 | ChromaSync Embedding Architecture Investigation | ~582 |
### Dec 22, 2025
**ChromaSync.ts**
| ID | Time | T | Title | Read |
|----|------|---|-------|------|
| #31790 | 4:39 PM | 🔵 | Identified files that interact with ModeManager and prompts | ~332 |
### Dec 24, 2025
**ChromaSync.ts**
| ID | Time | T | Title | Read |
|----|------|---|-------|------|
| #32154 | 6:41 PM | 🔵 | ChromaSync Vector Database Architecture | ~558 |
| #32153 | 6:40 PM | 🔵 | Session Identifier Architecture Across Codebase | ~529 |
### Dec 25, 2025
**ChromaSync.ts**
| ID | Time | T | Title | Read |
|----|------|---|-------|------|
| #32558 | 8:18 PM | 🔵 | Identified files containing 'summary' or 'Summary' | ~167 |
### Dec 26, 2025
**ChromaSync.ts**
| ID | Time | T | Title | Read |
|----|------|---|-------|------|
| #32912 | 10:02 PM | 🔵 | Error handling uses consistent logger.error and logger.failure patterns throughout codebase | ~508 |
### Dec 27, 2025
**ChromaSync.ts**
| ID | Time | T | Title | Read |
|----|------|---|-------|------|
| #33245 | 9:53 PM | 🔵 | Chroma Collection Creation Fails Silently in Fire-and-Forget Backfill | ~355 |
| #33244 | " | 🔵 | Commit 63fd158 Removed Double JSON Serialization from SDKAgent | ~304 |
| #33242 | 9:52 PM | 🔵 | ChromaSync Double-JSON Pattern Intact - Regression Not From Code Changes | ~367 |
| #33241 | " | 🔵 | mem-search Regression Root Cause: Silent ChromaSync Initialization Failures | ~568 |
| #33240 | 9:51 PM | 🔵 | mem-search Regression Root Cause: Silent ChromaSync Initialization Failures | ~478 |
| #33239 | 9:50 PM | 🔵 | mem-search Regression Root Cause: Silent ChromaSync Initialization Failures | ~460 |
| #33238 | 9:49 PM | 🔵 | Chroma Vector Search Initialization Failure in DatabaseManager | ~446 |
| #33233 | 9:44 PM | 🔵 | Vector Search Unavailable in mem-search - Chroma Not Initialized | ~335 |
| #33225 | 9:37 PM | 🔵 | Worker Performance Barriers Analysis | ~415 |
| #33224 | 9:35 PM | 🔵 | Worker Performance Barriers: Timeouts and Rate Limiting | ~491 |
| #33082 | 6:45 PM | 🔵 | User directory path patterns in codebase | ~362 |
### Dec 28, 2025
**ChromaSync.ts**
| ID | Time | T | Title | Read |
|----|------|---|-------|------|
| #33439 | 10:15 PM | 🔄 | Extended Session ID Renaming to Additional Codebase Components | ~352 |
| #33322 | 3:09 PM | 🔵 | Worker Performance Bottlenecks Identified Across Multiple Subsystems | ~399 |
| #33299 | 3:08 PM | 🔵 | mem-search Regression Caused by Logger Error Serialization Bug | ~417 |
| #33292 | " | 🔄 | ChromaSync Lazy Initialization Replaces Startup Backfill | ~398 |
### Dec 29, 2025
**ChromaSync.ts**
| ID | Time | T | Title | Read |
|----|------|---|-------|------|
| #33860 | 4:35 PM | 🔵 | Comprehensive Bun integration architecture and platform-specific implementation details | ~619 |
| #33791 | 3:48 PM | 🔵 | ChromaSync.close() terminates subprocess via transport.close() | ~302 |
| #33786 | 3:47 PM | 🔵 | ChromaDB vector database synchronization architecture | ~535 |
| #33778 | 3:36 PM | 🔵 | ChromaSync spawns chroma-mcp subprocess via StdioClientTransport | ~419 |
### Dec 30, 2025
**ChromaSync.ts**
| ID | Time | T | Title | Read |
|----|------|---|-------|------|
| #34440 | 2:16 PM | 🔵 | TypeScript type errors identified across multiple components | ~328 |
### Jan 1, 2026
**ChromaSync.ts**
| ID | Time | T | Title | Read |
|----|------|---|-------|------|
| #35434 | 8:45 PM | 🔵 | Comprehensive Try-Catch Audit of Worker Service Error Handling | ~792 |
| #35433 | 8:43 PM | 🔵 | Try-Catch Block Distribution Across Services | ~372 |
| #35432 | " | 🔵 | Services Directory Structure Mapped | ~268 |
### Jan 2, 2026
**ChromaSync.ts**
| ID | Time | T | Title | Read |
|----|------|---|-------|------|
| #35951 | 4:42 PM | 🔵 | Multi-Layer Service Architecture Discovery | ~395 |
| #35902 | 2:49 PM | 🔴 | Improved ChromaSync Error Logging | ~280 |
| #35901 | " | 🔵 | PR #525 File Changes Summary | ~376 |
| #35864 | 2:35 PM | 🔵 | Chroma Sync Methods Block on addDocuments Completion | ~441 |
| #35861 | 2:34 PM | 🔵 | ChromaSync Provides Vector Database Integration with Fail-Fast Design | ~476 |
| #35789 | 1:53 PM | ⚖️ | Error Logging Anti-Pattern Identified: Incomplete Error Information | ~404 |
| #35785 | 1:46 PM | 🔵 | Incomplete Error Logging Pattern in ChromaSync Collection Check | ~349 |
| #35783 | 1:45 PM | ⚖️ | Error Logging Anti-Pattern Identification Task | ~399 |
| #35775 | 1:24 PM | 🔵 | ensureConnection Call Sites in ChromaSync | ~309 |
| #35774 | " | 🔴 | Added Connection Error Detection in ensureCollection | ~342 |
| #35773 | " | 🔵 | ChromaSync Service Architecture and Connection Flow | ~420 |
| #35726 | 1:09 PM | ✅ | ChromaDB Error Handling Fix Committed to Bugfix Branch | ~314 |
| #35725 | " | 🔴 | ChromaDB Connection Error Handling Fixed | ~335 |
| #35724 | " | ✅ | Bugfix Branch Created with ChromaDB Connection Changes | ~303 |
### Jan 3, 2026
**ChromaSync.ts**
| ID | Time | T | Title | Read |
|----|------|---|-------|------|
| #36296 | 8:04 PM | 🔵 | TypeScript Compilation Check: Pre-Existing Errors Unrelated to Refactoring | ~621 |
### Jan 5, 2026
**ChromaSync.ts**
| ID | Time | T | Title | Read |
|----|------|---|-------|------|
| #37758 | 6:25 PM | ⚖️ | Integration Test Design for Four Critical Testing Gaps | ~729 |
### Jan 6, 2026
**ChromaSync.ts**
| ID | Time | T | Title | Read |
|----|------|---|-------|------|
| #38108 | 12:15 AM | 🔵 | Complete Windows Zombie Port Bug Technical Deep Dive | ~935 |
| #38105 | 12:14 AM | 🔵 | Windows Console Popup Flash Issue Documented and Fixed | ~455 |
| #38467 | 10:29 PM | ⚖️ | Log Level Audit Strategy: Tighten ERROR Messages for Runtime Issue Discovery | ~464 |
| #38449 | 10:26 PM | 🔵 | ChromaSync Error Handling: Throw After ERROR Log Pattern | ~452 |
| #38437 | 10:24 PM | 🔵 | Claude-mem core functionality and logging patterns identified | ~710 |
| #38432 | " | 🔵 | ChromaSync class architecture and fail-fast design pattern | ~508 |
| #38431 | " | 🔵 | ERROR-Level Logging Used Across 21 Source Files | ~480 |
| #38425 | " | ⚖️ | Log Level Architecture: Fail-Critical Over Fail-Fast for Chroma | ~467 |
| #38418 | 10:22 PM | 🔵 | ChromaDB Operates as Optional Subsystem with Graceful Degradation | ~586 |
| #38416 | " | 🔵 | ChromaDB Is Critical Not Optional - Log Audit Findings Challenged | ~405 |
| #38202 | 7:38 PM | 🔵 | ChromaSync Service Architecture | ~516 |
</claude-mem-context>
+8 -8
View File
@@ -182,7 +182,7 @@ export class ChromaSync {
}
// Only attempt creation if it's genuinely a "collection not found" error
logger.warn('CHROMA_SYNC', 'Collection check failed, attempting to create', { collection: this.collectionName }, error as Error);
logger.error('CHROMA_SYNC', 'Collection check failed, attempting to create', { collection: this.collectionName }, error as Error);
logger.info('CHROMA_SYNC', 'Creating collection', { collection: this.collectionName });
try {
@@ -826,13 +826,13 @@ export class ChromaSync {
throw error;
}
const resultText = logger.happyPathError(
'CHROMA',
'Missing text in MCP chroma_query_documents result',
{ project: this.project },
{ query_text: query },
result.content[0]?.text || ''
);
const resultText = result.content[0]?.text || (() => {
logger.error('CHROMA', 'Missing text in MCP chroma_query_documents result', {
project: this.project,
query_text: query
});
return '';
})();
// Parse JSON response
let parsed: any;
+2 -2
View File
@@ -287,7 +287,7 @@ export class WorkerService {
});
}
}).catch(error => {
logger.warn('SYSTEM', 'Auto-recovery of pending queues failed', {}, error as Error);
logger.error('SYSTEM', 'Auto-recovery of pending queues failed', {}, error as Error);
});
} catch (error) {
logger.error('SYSTEM', 'Background initialization failed', {}, error as Error);
@@ -366,7 +366,7 @@ export class WorkerService {
await new Promise(resolve => setTimeout(resolve, 100));
} catch (error) {
logger.warn('SYSTEM', `Failed to process session ${sessionDbId}`, {}, error as Error);
logger.error('SYSTEM', `Failed to process session ${sessionDbId}`, {}, error as Error);
result.sessionsSkipped++;
}
}
+1 -1
View File
@@ -242,7 +242,7 @@ export async function switchBranch(targetBranch: string): Promise<SwitchResult>
}
} catch (recoveryError) {
// [POSSIBLY RELEVANT]: Recovery checkout failed, user needs manual intervention - already logging main error above
logger.warn('BRANCH', 'Recovery checkout also failed', { originalBranch: info.branch }, recoveryError as Error);
logger.error('BRANCH', 'Recovery checkout also failed', { originalBranch: info.branch }, recoveryError as Error);
}
return {
+36 -114
View File
@@ -3,125 +3,47 @@
<!-- This section is auto-generated by claude-mem. Edit content outside the tags. -->
### Jan 3, 2026
**Search.ts**
| ID | Time | T | Title | Read |
|----|------|---|-------|------|
| #36670 | 11:37 PM | ✅ | Resolved merge conflicts by accepting branch changes for 39 files | ~435 |
**GeminiAgent.ts**
| ID | Time | T | Title | Read |
|----|------|---|-------|------|
| #36637 | 10:47 PM | 🟣 | GeminiAgent Analysis Agent Running But Timed Out After 120 Seconds | ~521 |
| #36620 | 10:43 PM | 🔵 | GeminiAgent Implementation Uses Refactored Session ID Properties | ~508 |
| #36213 | 7:28 PM | 🔄 | Refactored GeminiAgent to Use Shared Utilities | ~596 |
**SDKAgent.ts**
| ID | Time | T | Title | Read |
|----|------|---|-------|------|
| #36625 | 10:44 PM | 🔵 | Documentation and Code Reveal Placeholder Detection Pattern | ~583 |
| #36331 | 8:26 PM | 🔵 | SDKAgent Message Processing Flow | ~366 |
| #36212 | 7:27 PM | 🔄 | Refactored SDKAgent to Use Shared ResponseProcessor | ~616 |
**TimelineService.ts**
| ID | Time | T | Title | Read |
|----|------|---|-------|------|
| #36523 | 9:34 PM | 🔴 | Fixed TypeScript Type Import Issues in Worker Services | ~386 |
| #36519 | " | 🔴 | Fixed Type Import Issues Preventing Worker Tests | ~308 |
| #36516 | 9:33 PM | 🔴 | Fixed TypeScript Type Import Issues in Worker Search Modules | ~377 |
**SessionManager.ts**
| ID | Time | T | Title | Read |
|----|------|---|-------|------|
| #36346 | 8:30 PM | 🔄 | Removed pendingProcessingIds Tracking from Message Iterator | ~306 |
| #36345 | " | 🔄 | Removed pendingProcessingIds Initialization in SessionManager | ~281 |
| #36340 | 8:28 PM | 🔵 | Complete Duplicate Bug Analysis via Explore Agent | ~435 |
| #36333 | 8:27 PM | 🔵 | pendingProcessingIds Tracking Across System | ~357 |
| #36314 | 8:25 PM | 🔵 | Message Queue Processing Duplicate Bug Investigation | ~316 |
**SearchManager.ts**
| ID | Time | T | Title | Read |
|----|------|---|-------|------|
| #36323 | 8:25 PM | 🔵 | Message Queue Architecture Scope Expanded | ~302 |
**OpenRouterAgent.ts**
| ID | Time | T | Title | Read |
|----|------|---|-------|------|
| #36214 | 7:30 PM | 🔄 | Refactored OpenRouterAgent to Use Shared Utilities | ~703 |
### Jan 4, 2026
**README.md**
| ID | Time | T | Title | Read |
|----|------|---|-------|------|
| #36942 | 2:43 AM | 🔵 | Recent Context Feature Architecture | ~300 |
**GeminiAgent.ts**
| ID | Time | T | Title | Read |
|----|------|---|-------|------|
| #36924 | 2:25 AM | ✅ | Merged fix/pr-538-followups branch into main with comprehensive updates | ~481 |
| #36914 | 2:24 AM | 🔵 | Recent commit 4d0a10c fixed multiple GitHub issues | ~365 |
| #36845 | 1:44 AM | 🔵 | GeminiAgent Model Configuration and Rate Limiting | ~527 |
| #36829 | 1:40 AM | 🔵 | PR #542 Review Analysis - Multi-Issue Fix Validation | ~562 |
| #36827 | 1:03 AM | ✅ | Branch diff shows 1,293 insertions and 98 deletions across 15 files | ~464 |
| #36790 | 12:49 AM | 🟣 | GitHub Issue #511 Completed - gemini-3-flash Model Support Added | ~482 |
| #36788 | " | 🟣 | Verified gemini-3-flash Three-Location Synchronization | ~331 |
| #36787 | 12:48 AM | 🟣 | Completed gemini-3-flash Support with Runtime Validation | ~382 |
| #36786 | " | 🟣 | Added gemini-3-flash Rate Limit to GEMINI_RPM_LIMITS | ~359 |
| #36785 | " | 🟣 | Added gemini-3-flash Model to GeminiModel Type Union | ~344 |
| #36784 | 12:47 AM | 🔵 | Current Gemini Model Support in GeminiAgent | ~428 |
| #36781 | 12:45 AM | 🔵 | Complete GeminiAgent Model Configuration Gap Analysis | ~552 |
| #36778 | 12:44 AM | 🔵 | GeminiAgent Model Type and RPM Limits Definition | ~395 |
| #36761 | 12:36 AM | ✅ | Created Implementation Plans for Four GitHub Issues | ~507 |
| #36757 | 12:33 AM | 🔵 | Issue #511 Root Cause Identified - Gemini-3-Flash Configuration Mismatch | ~416 |
| #36753 | " | 🔵 | GeminiAgent Implementation Details Examined | ~361 |
**SessionManager.ts**
| ID | Time | T | Title | Read |
|----|------|---|-------|------|
| #36730 | 12:26 AM | ⚖️ | Revised Memory Leak Fix Strategy for Issue #532 | ~412 |
| #36714 | 12:12 AM | 🔵 | Memory Leak Analysis Report for Issue #532 Generated | ~531 |
| #36712 | 12:11 AM | 🔵 | Memory Leak Analysis for Issue #532 Documented | ~646 |
**SDKAgent.ts**
| ID | Time | T | Title | Read |
|----|------|---|-------|------|
| #36716 | 12:13 AM | 🔵 | Issue #514 Orphaned .jsonl Session Files Analysis | ~616 |
| #36713 | 12:11 AM | 🔵 | Issue #520 Stuck Messages Already Resolved | ~569 |
### Jan 5, 2026
**SearchManager.ts**
| ID | Time | T | Title | Read |
|----|------|---|-------|------|
| #38080 | 9:55 PM | 🔴 | Critical Date Preservation Fix for Folder CLAUDE.md Timeline Accuracy | ~534 |
| #38036 | 9:43 PM | 🟣 | Configurable Observation Limits and Enhanced Folder Search | ~418 |
| #37979 | 8:33 PM | 🔴 | Fixed date parsing to use API date headers instead of "today" | ~315 |
| #37978 | " | 🔵 | Regenerated CLAUDE.md files across entire repository | ~268 |
| #37970 | 8:31 PM | 🔴 | Fixed Date Parsing Bug in By-File API Endpoint | ~402 |
| #37654 | 5:51 PM | 🔵 | SearchManager imports logger as foundational dependency for search operations | ~358 |
| #37751 | 6:21 PM | 🔴 | OpenRouterAgent Fully Updated with projectRoot Threading | ~307 |
| #37748 | " | | OpenRouterAgent Observation Handler Updated with lastCwd | ~276 |
| #37746 | 6:20 PM | | GeminiAgent Summary Handler Updated with lastCwd | ~278 |
| #37745 | " | | OpenRouterAgent Init Prompt Call Updated with undefined projectRoot | ~299 |
| #37744 | " | | GeminiAgent First processAgentResponse Updated with lastCwd | ~274 |
| #37743 | " | | Added lastCwd Tracking to OpenRouterAgent | ~265 |
| #37742 | 6:19 PM | ✅ | Phase 3 Started: Added lastCwd Tracking to GeminiAgent | ~291 |
| #37741 | " | 🔵 | OpenRouterAgent Structure Analyzed for Phase 3 Implementation | ~367 |
| #37740 | " | 🔵 | SDKAgent Structure Analyzed for Phase 3 Implementation | ~430 |
| #37739 | 6:18 PM | 🔵 | GeminiAgent Structure Analyzed for Phase 3 Implementation | ~381 |
| #37737 | 6:16 PM | 🔵 | Identified processAgentResponse Callers for Phase 3 | ~275 |
| #37701 | 6:01 PM | 🔵 | Complete cwd data flow traced from hooks through observation processing | ~447 |
| #37421 | 1:06 AM | 🔵 | Identified by-file API endpoint usage across codebase | ~406 |
| #37416 | 1:02 AM | 🔴 | Fixed find_by_file Parameter Handling for Comma-Separated Values | ~375 |
| #37415 | " | 🟣 | SearchManager Parameter Normalization Enhanced for Folder Queries | ~406 |
| #37414 | 1:01 AM | 🔵 | SearchManager findByFile Uses filePath Parameter for File Search | ~429 |
| #37413 | " | 🔵 | Hybrid Search Strategy: Metadata-First with Semantic Ranking | ~475 |
| #37391 | 12:48 AM | ✅ | Staged 23 CLAUDE.md files with mix of new and modified content | ~400 |
| #37390 | 12:47 AM | ✅ | Regenerated 23 CLAUDE.md files in budapest workspace | ~365 |
### Jan 7, 2026
**SettingsManager.ts**
| ID | Time | T | Title | Read |
|----|------|---|-------|------|
| #37665 | 5:52 PM | 🔵 | Codebase uses dependency injection and lazy initialization patterns to avoid circular dependencies | ~548 |
**DatabaseManager.ts**
| ID | Time | T | Title | Read |
|----|------|---|-------|------|
| #37653 | 5:50 PM | 🔵 | DatabaseManager imports logger demonstrating widespread logger dependency | ~363 |
**SessionManager.ts**
| ID | Time | T | Title | Read |
|----|------|---|-------|------|
| #37626 | 5:35 PM | 🔵 | FormatTool Function Usage Across Codebase | ~493 |
| #37538 | 4:45 PM | 🔵 | SessionManager formatTool Call Occurs After Database Persistence | ~351 |
### Jan 6, 2026
**BranchManager.ts**
| ID | Time | T | Title | Read |
|----|------|---|-------|------|
| #38105 | 12:14 AM | 🔵 | Windows Console Popup Flash Issue Documented and Fixed | ~455 |
| #38467 | 10:29 PM | ⚖️ | Log Level Audit Strategy: Tighten ERROR Messages for Runtime Issue Discovery | ~464 |
| #38437 | 10:24 PM | 🔵 | Claude-mem core functionality and logging patterns identified | ~710 |
| #38433 | " | 🔵 | SessionManager Uses ERROR Logging for Database Persistence Failures | ~503 |
| #38431 | " | 🔵 | ERROR-Level Logging Used Across 21 Source Files | ~480 |
| #38425 | " | ⚖️ | Log Level Architecture: Fail-Critical Over Fail-Fast for Chroma | ~467 |
| #38418 | 10:22 PM | 🔵 | ChromaDB Operates as Optional Subsystem with Graceful Degradation | ~586 |
| #38416 | " | 🔵 | ChromaDB Is Critical Not Optional - Log Audit Findings Challenged | ~405 |
| #38405 | 10:07 PM | ⚖️ | DEBUG Log Level Analysis - One Message Requires WARN Promotion | ~819 |
| #38404 | 10:06 PM | ⚖️ | Log Level Audit Analysis - WARN to ERROR Promotion Criteria Established | ~769 |
| #38372 | 9:43 PM | 🔵 | Logging Anti-Pattern Found: Critical Errors Logged as DEBUG Instead of ERROR | ~464 |
| #38354 | 9:10 PM | 🔵 | Provider Selection Architecture and Default Settings Location | ~478 |
| #38353 | " | 🔵 | Session ID Architecture and Message Yielding for SDK Interaction | ~536 |
| #38253 | 7:47 PM | 🔵 | SDK Agent Implementation with Resume Logic | ~1036 |
| #38250 | 7:46 PM | 🔵 | Session Manager Event-Driven Architecture | ~865 |
| #38248 | 7:45 PM | 🔵 | OpenRouter Agent Implementation | ~851 |
</claude-mem-context>
+2 -2
View File
@@ -166,7 +166,7 @@ export class GeminiAgent {
'Gemini'
);
} else {
logger.warn('SDK', 'Empty Gemini init response - session may lack context', {
logger.error('SDK', 'Empty Gemini init response - session may lack context', {
sessionId: session.sessionDbId,
model
});
@@ -355,7 +355,7 @@ export class GeminiAgent {
const data = await response.json() as GeminiResponse;
if (!data.candidates?.[0]?.content?.parts?.[0]?.text) {
logger.warn('SDK', 'Empty response from Gemini');
logger.error('SDK', 'Empty response from Gemini');
return { content: '' };
}
+2 -2
View File
@@ -125,7 +125,7 @@ export class OpenRouterAgent {
undefined // No lastCwd yet - before message processing
);
} else {
logger.warn('SDK', 'Empty OpenRouter init response - session may lack context', {
logger.error('SDK', 'Empty OpenRouter init response - session may lack context', {
sessionId: session.sessionDbId,
model
});
@@ -372,7 +372,7 @@ export class OpenRouterAgent {
}
if (!data.choices?.[0]?.message?.content) {
logger.warn('SDK', 'Empty response from OpenRouter');
logger.error('SDK', 'Empty response from OpenRouter');
return { content: '' };
}
+3 -3
View File
@@ -411,7 +411,7 @@ export class SearchManager {
}
}
} catch (chromaError) {
logger.warn('SEARCH', 'Chroma search failed for timeline, continuing without semantic results', {}, chromaError as Error);
logger.error('SEARCH', 'Chroma search failed for timeline, continuing without semantic results', {}, chromaError as Error);
}
}
@@ -679,7 +679,7 @@ export class SearchManager {
}
}
} catch (chromaError) {
logger.warn('SEARCH', 'Chroma search failed for decisions, falling back to metadata search', {}, chromaError as Error);
logger.error('SEARCH', 'Chroma search failed for decisions, falling back to metadata search', {}, chromaError as Error);
}
}
@@ -747,7 +747,7 @@ export class SearchManager {
}
}
} catch (chromaError) {
logger.warn('SEARCH', 'Chroma search failed for changes, falling back to metadata search', {}, chromaError as Error);
logger.error('SEARCH', 'Chroma search failed for changes, falling back to metadata search', {}, chromaError as Error);
}
}
+1 -76
View File
@@ -3,80 +3,5 @@
<!-- This section is auto-generated by claude-mem. Edit content outside the tags. -->
### Jan 3, 2026
**ResponseProcessor.ts**
| ID | Time | T | Title | Read |
|----|------|---|-------|------|
| #36689 | 11:56 PM | 🔵 | PR #538 Review Findings - Modular Architecture Refactor | ~590 |
| #36640 | 10:56 PM | 🔵 | ResponseProcessor Validates memorySessionId Before Storage | ~438 |
| #36352 | 8:32 PM | 🔴 | Fixed Duplicate Observation Storage in ResponseProcessor | ~386 |
| #36340 | 8:28 PM | 🔵 | Complete Duplicate Bug Analysis via Explore Agent | ~435 |
| #36333 | 8:27 PM | 🔵 | pendingProcessingIds Tracking Across System | ~357 |
| #36206 | 7:24 PM | 🟣 | Created ResponseProcessor Module | ~621 |
**FallbackErrorHandler.ts**
| ID | Time | T | Title | Read |
|----|------|---|-------|------|
| #36670 | 11:37 PM | ✅ | Resolved merge conflicts by accepting branch changes for 39 files | ~435 |
| #36627 | 10:44 PM | 🔵 | FallbackErrorHandler Implements Pattern-Based Error Classification | ~445 |
| #36522 | 9:34 PM | 🟣 | Phase 2 Worker Agent Tests Implemented | ~390 |
| #36518 | " | 🟣 | Phase 2 Test Suite Implementation Complete | ~348 |
| #36515 | 9:33 PM | 🟣 | Phase 2 Worker Agents Test Suite Implementation | ~422 |
| #36390 | 8:50 PM | 🔄 | Comprehensive Monolith Refactor with Modular Architecture | ~724 |
| #36210 | 7:25 PM | 🟣 | Created FallbackErrorHandler Module | ~533 |
**index.ts**
| ID | Time | T | Title | Read |
|----|------|---|-------|------|
| #36637 | 10:47 PM | 🟣 | GeminiAgent Analysis Agent Running But Timed Out After 120 Seconds | ~521 |
| #36622 | 10:43 PM | 🔵 | Agent Module Architecture Consolidates Shared Functionality | ~396 |
| #36418 | 8:57 PM | 🔄 | Agent Shared Logic Consolidation | ~441 |
| #36211 | 7:26 PM | 🟣 | Created Agent Consolidation Index Module | ~520 |
**index.js**
| ID | Time | T | Title | Read |
|----|------|---|-------|------|
| #36525 | 9:34 PM | 🔵 | Test Import Strategy for Avoiding Module Side Effects | ~358 |
| #36521 | " | ⚖️ | Test Import Strategy: Direct Imports Over Barrel Exports | ~321 |
**ObservationBroadcaster.ts**
| ID | Time | T | Title | Read |
|----|------|---|-------|------|
| #36443 | 9:01 PM | 🔴 | SSE Broadcasting Field Name Corrections | ~405 |
| #36207 | 7:24 PM | 🟣 | Created ObservationBroadcaster Module | ~480 |
**SessionCleanupHelper.ts**
| ID | Time | T | Title | Read |
|----|------|---|-------|------|
| #36441 | 9:01 PM | 🔵 | Session Cleanup with Claim-and-Delete Queue Pattern | ~393 |
| #36323 | 8:25 PM | 🔵 | Message Queue Architecture Scope Expanded | ~302 |
| #36314 | " | 🔵 | Message Queue Processing Duplicate Bug Investigation | ~316 |
| #36208 | 7:25 PM | 🟣 | Created SessionCleanupHelper Module | ~527 |
**types.ts**
| ID | Time | T | Title | Read |
|----|------|---|-------|------|
| #36432 | 9:00 PM | 🔵 | Agent Types Support Testing Without Worker Context | ~378 |
| #36201 | 7:23 PM | 🟣 | Created Shared Agent Types Module | ~565 |
### Jan 4, 2026
**ResponseProcessor.ts**
| ID | Time | T | Title | Read |
|----|------|---|-------|------|
| #36712 | 12:11 AM | 🔵 | Memory Leak Analysis for Issue #532 Documented | ~646 |
### Jan 5, 2026
**CLAUDE.md**
| ID | Time | T | Title | Read |
|----|------|---|-------|------|
| #38078 | 9:54 PM | ✅ | CLAUDE.md Documentation Cleanup - 1,233 Lines Removed Across 18 Files | ~590 |
**ResponseProcessor.ts**
| ID | Time | T | Title | Read |
|----|------|---|-------|------|
| #38051 | 9:46 PM | 🔵 | Live Context Integration in ResponseProcessor | ~523 |
| #37999 | 9:02 PM | 🔵 | getWorkerHost and getWorkerPort used in 18 files across codebase | ~282 |
*No recent activity*
</claude-mem-context>
@@ -185,7 +185,7 @@ async function syncAndBroadcastObservations(
title: obs.title || '(untitled)'
});
}).catch((error) => {
logger.warn('CHROMA', `${agentName} chroma sync failed, continuing without vector search`, {
logger.error('CHROMA', `${agentName} chroma sync failed, continuing without vector search`, {
obsId,
type: obs.type,
title: obs.title || '(untitled)'
@@ -269,7 +269,7 @@ async function syncAndBroadcastSummary(
request: summaryForStore.request || '(no request)'
});
}).catch((error) => {
logger.warn('CHROMA', `${agentName} chroma sync failed, continuing without vector search`, {
logger.error('CHROMA', `${agentName} chroma sync failed, continuing without vector search`, {
summaryId: result.summaryId,
request: summaryForStore.request || '(no request)'
}, error);
+1 -52
View File
@@ -3,56 +3,5 @@
<!-- This section is auto-generated by claude-mem. Edit content outside the tags. -->
### Dec 28, 2025
**BaseRouteHandler.ts**
| ID | Time | T | Title | Read |
|----|------|---|-------|------|
| #33396 | 9:53 PM | ✅ | Queue refactoring touched 12 files with net addition of 1021 lines | ~402 |
| #33336 | 3:36 PM | 🔴 | Fixed Windows Worker Crashes and Headers Already Sent Errors | ~351 |
| #33259 | 2:46 PM | 🔴 | Windows Worker Stability Pull Request Created | ~386 |
| #33258 | 2:38 PM | 🔴 | Added headersSent Guard to Error Handler | ~338 |
| #33256 | 2:36 PM | ⚖️ | Implementation Plan for Windows Worker Issues | ~471 |
### Jan 1, 2026
**middleware.ts**
| ID | Time | T | Title | Read |
|----|------|---|-------|------|
| #35614 | 10:57 PM | 🔴 | Suppressed /api/logs endpoint logging to reduce noise | ~252 |
| #35612 | " | ✅ | HTTP logging middleware excludes /api/logs polling endpoint | ~262 |
| #35611 | " | 🔵 | HTTP Middleware Architecture in Worker Service | ~360 |
**BaseRouteHandler.ts**
| ID | Time | T | Title | Read |
|----|------|---|-------|------|
| #35433 | 8:43 PM | 🔵 | Try-Catch Block Distribution Across Services | ~372 |
### Jan 2, 2026
**middleware.ts**
| ID | Time | T | Title | Read |
|----|------|---|-------|------|
| #35951 | 4:42 PM | 🔵 | Multi-Layer Service Architecture Discovery | ~395 |
### Jan 3, 2026
**middleware.ts**
| ID | Time | T | Title | Read |
|----|------|---|-------|------|
| #36689 | 11:56 PM | 🔵 | PR #538 Review Findings - Modular Architecture Refactor | ~590 |
### Jan 5, 2026
**BaseRouteHandler.ts**
| ID | Time | T | Title | Read |
|----|------|---|-------|------|
| #37665 | 5:52 PM | 🔵 | Codebase uses dependency injection and lazy initialization patterns to avoid circular dependencies | ~548 |
| #37662 | " | 🔵 | BaseRouteHandler imports logger demonstrating HTTP layer dependency on logger | ~367 |
**middleware.ts**
| ID | Time | T | Title | Read |
|----|------|---|-------|------|
| #37626 | 5:35 PM | 🔵 | FormatTool Function Usage Across Codebase | ~493 |
| #37537 | 4:45 PM | 🔵 | Middleware formatTool Call Confirmed as Critical Crash Point | ~361 |
*No recent activity*
</claude-mem-context>
+40 -88
View File
@@ -3,105 +3,57 @@
<!-- This section is auto-generated by claude-mem. Edit content outside the tags. -->
### Jan 2, 2026
**SessionRoutes.ts**
| ID | Time | T | Title | Read |
|----|------|---|-------|------|
| #36103 | 10:25 PM | 🟣 | Generator Crash Recovery with Automatic Restart | ~374 |
| #36079 | 10:10 PM | 🔴 | Fixed Generator Crashes from Silent Chroma Vector Search Failures | ~531 |
| #36066 | 9:55 PM | 🔵 | Session Generator Lifecycle and Error Handling Architecture | ~536 |
| #36008 | 8:15 PM | 🔴 | Fixed Memory Leak in Generator Error Handler | ~358 |
| #36007 | " | 🔵 | Generator Error Handler Missing pendingProcessingIds Clear | ~376 |
| #35998 | 5:32 PM | 🔴 | Critical Session ID Placeholder Bug Fixed to Prevent Transcript Pollution | ~488 |
| #35997 | " | 🟣 | Session Alignment Logging Implemented Across Hook, HTTP, and SDK Layers | ~342 |
| #35994 | 5:18 PM | 🔄 | Session Alignment Logging Updated to Track Memory ID Capture Status | ~334 |
| #35985 | 5:16 PM | 🔵 | Alignment logging implemented across session lifecycle touchpoints | ~377 |
| #35977 | 4:48 PM | 🔵 | Existing alignment logging infrastructure found | ~353 |
| #35971 | 4:47 PM | 🟣 | Added Session Alignment Logging to Session Initialization | ~349 |
| #35970 | " | 🔵 | Session ID Logging Distribution Across Codebase | ~485 |
| #35968 | 4:46 PM | 🔵 | Content-Session API Endpoint Registration | ~280 |
| #35967 | " | 🔵 | Content-Session-Based Observation and Summarize Endpoints with Privacy and Tool Filtering | ~607 |
| #35966 | 4:45 PM | 🔵 | Session Initialization Stage One - Database Setup with Privacy Filtering | ~554 |
| #35964 | " | 🔵 | Session Initialization Two-Stage API Pattern | ~468 |
| #35963 | " | 🔵 | Session Route Endpoints and Crash Recovery Logic | ~634 |
| #35962 | " | 🔵 | Session ID Usage Pattern Distribution | ~309 |
| #35961 | 4:44 PM | 🔵 | SessionRoutes Multi-Provider Agent Selection | ~575 |
| #35936 | 2:56 PM | 🔵 | SessionRoutes Has Catch Block That Marks Failed Messages After Generator Crashes | ~437 |
| #35901 | 2:49 PM | 🔵 | PR #525 File Changes Summary | ~376 |
| #35854 | 2:32 PM | 🔵 | Generator Error Handler Marks Processing Messages as Failed | ~505 |
**SearchRoutes.ts**
| ID | Time | T | Title | Read |
|----|------|---|-------|------|
| #35951 | 4:42 PM | 🔵 | Multi-Layer Service Architecture Discovery | ~395 |
**LogsRoutes.ts**
| ID | Time | T | Title | Read |
|----|------|---|-------|------|
| #35875 | 2:39 PM | 🔵 | Logging UI Architecture Mapped | ~599 |
| #35826 | 2:29 PM | 🔵 | Backend logs API implementation analyzed | ~284 |
### Jan 3, 2026
**SessionRoutes.ts**
| ID | Time | T | Title | Read |
|----|------|---|-------|------|
| #36333 | 8:27 PM | 🔵 | pendingProcessingIds Tracking Across System | ~357 |
| #36323 | 8:25 PM | 🔵 | Message Queue Architecture Scope Expanded | ~302 |
### Jan 4, 2026
**SearchRoutes.ts**
| ID | Time | T | Title | Read |
|----|------|---|-------|------|
| #36942 | 2:43 AM | 🔵 | Recent Context Feature Architecture | ~300 |
**SettingsRoutes.ts**
| ID | Time | T | Title | Read |
|----|------|---|-------|------|
| #36781 | 12:45 AM | 🔵 | Complete GeminiAgent Model Configuration Gap Analysis | ~552 |
| #36768 | 12:42 AM | 🔵 | Gemini Model Validation in SettingsRoutes | ~397 |
| #36757 | 12:33 AM | 🔵 | Issue #511 Root Cause Identified - Gemini-3-Flash Configuration Mismatch | ~416 |
| #36755 | " | 🔵 | SettingsRoutes Validation Includes gemini-3-flash | ~344 |
| #36754 | " | 🔵 | Gemini-3-Flash Model Already Supported | ~301 |
**SessionRoutes.ts**
| ID | Time | T | Title | Read |
|----|------|---|-------|------|
| #36730 | 12:26 AM | ⚖️ | Revised Memory Leak Fix Strategy for Issue #532 | ~412 |
| #36714 | 12:12 AM | 🔵 | Memory Leak Analysis Report for Issue #532 Generated | ~531 |
| #36712 | 12:11 AM | 🔵 | Memory Leak Analysis for Issue #532 Documented | ~646 |
| #37327 | 11:44 PM | | Cleaned Up Auto-Generated CLAUDE.md Files | ~352 |
| #37326 | " | ✅ | Staged All Changes for Commit | ~386 |
| #37325 | " | ✅ | Staged PR #554 Implementation Files | ~373 |
| #37324 | " | | Cleaned Up Auto-Generated CLAUDE.md Files | ~392 |
| #37323 | " | ✅ | Cleanup Completed - 31 Auto-Generated CLAUDE.md Files Deleted | ~411 |
| #37286 | 11:07 PM | | Phase 1 Settings Patch Applied Successfully | ~249 |
| #37282 | 11:06 PM | | Phase 1 Settings Patch Created | ~284 |
| #37280 | " | 🔵 | Feature Branch Missing FOLDER_CLAUDEMD_ENABLED Setting | ~251 |
| #37272 | 11:02 PM | | Phase 1 Verification Complete - All Checks Pass | ~275 |
| #37270 | " | 🔵 | Settings Routes Already Include FOLDER_CLAUDEMD_ENABLED | ~333 |
| #37267 | 11:00 PM | ✅ | Added CLAUDE_MEM_FOLDER_CLAUDEMD_ENABLED to Settings Validation | ~284 |
| #37266 | 10:59 PM | 🟣 | Added FOLDER_CLAUDEMD_ENABLED to Settings Routes Handler | ~329 |
| #37259 | 10:32 PM | ⚖️ | Implementation Plan Created for PR #554 Enhancements | ~621 |
| #37258 | 10:31 PM | ⚖️ | Comprehensive Implementation Plan Created for PR #554 Review Fixes | ~722 |
| #37257 | 10:29 PM | 🔵 | Regenerate Script and Settings Infrastructure Analyzed | ~563 |
| #37255 | " | 🔵 | Folder CLAUDE.md Integration Flow Mapped | ~550 |
### Jan 5, 2026
**CLAUDE.md**
| ID | Time | T | Title | Read |
|----|------|---|-------|------|
| #38078 | 9:54 PM | | CLAUDE.md Documentation Cleanup - 1,233 Lines Removed Across 18 Files | ~590 |
| #37947 | 8:10 PM | 🔵 | Context injection generates formatted context via generateContext function | ~332 |
| #37838 | 6:55 PM | 🔵 | Complete Hook Architecture Technical Specification | ~704 |
| #37836 | 6:54 PM | 🔵 | Worker Service HTTP API Architecture and Hook Integration Pattern | ~639 |
| #37702 | 6:01 PM | 🔵 | Codebase uses path.join() exclusively with known anchors, no project root resolution pattern exists | ~489 |
| #37701 | " | 🔵 | Complete cwd data flow traced from hooks through observation processing | ~447 |
| #37694 | 5:55 PM | 🔵 | Sessions initialized via SessionManager.initializeSession() with cwd from request body | ~361 |
| #37440 | 1:13 AM | 🔵 | Comprehensive Analysis of Settings and Hard-Coded Limit | ~389 |
| #37435 | " | 🔵 | Settings Validation Limits CLAUDE_MEM_CONTEXT_OBSERVATIONS to 1-200 | ~307 |
| #37421 | 1:06 AM | 🔵 | Identified by-file API endpoint usage across codebase | ~406 |
| #37408 | 12:58 AM | 🔵 | SearchRoutes API Architecture with Worktree Support | ~543 |
| #37391 | 12:48 AM | ✅ | Staged 23 CLAUDE.md files with mix of new and modified content | ~400 |
| #37390 | 12:47 AM | ✅ | Regenerated 23 CLAUDE.md files in budapest workspace | ~365 |
**SearchRoutes.ts**
| ID | Time | T | Title | Read |
|----|------|---|-------|------|
| #38076 | 9:53 PM | 🟣 | Worktree-Aware Project Filtering for Unified Timeline Context | ~578 |
| #38072 | 9:52 PM | ✅ | Worktree Support Added to Context Injection API | ~526 |
### Jan 7, 2026
**SessionRoutes.ts**
| ID | Time | T | Title | Read |
|----|------|---|-------|------|
| #37999 | 9:02 PM | 🔵 | getWorkerHost and getWorkerPort used in 18 files across codebase | ~282 |
| #37758 | 6:25 PM | ⚖️ | Integration Test Design for Four Critical Testing Gaps | ~729 |
**SettingsRoutes.ts**
| ID | Time | T | Title | Read |
|----|------|---|-------|------|
| #37997 | 9:01 PM | 🔵 | SettingsRoutes validation pattern for CLAUDE_MEM_WORKER_HOST | ~320 |
| #37995 | " | 🔵 | CLAUDE_MEM_WORKER_HOST setting implementation pattern | ~304 |
| #37990 | 9:00 PM | 🔵 | CLAUDE_MEM_WORKER_HOST setting used across 19 files | ~289 |
| #37665 | 5:52 PM | 🔵 | Codebase uses dependency injection and lazy initialization patterns to avoid circular dependencies | ~548 |
| #37651 | 5:50 PM | 🔵 | SettingsRoutes uses both logger and SettingsDefaultsManager creating circular dependency exposure | ~404 |
| #37592 | 4:56 PM | ✅ | Phase 3 Anti-Pattern Check Complete - Clean Implementation | ~434 |
| #37548 | 4:48 PM | ✅ | Issue #543 Analysis Report Created for Slash Command Availability | ~540 |
| #37547 | 4:47 PM | ✅ | Issue #557 Analysis Report Created for Plugin Startup Failure | ~491 |
| #37543 | " | 🔵 | Settings File Auto-Creation Logic Found in SettingsRoutes | ~463 |
| #38467 | 10:29 PM | ⚖️ | Log Level Audit Strategy: Tighten ERROR Messages for Runtime Issue Discovery | ~464 |
| #38456 | 10:26 PM | 🔵 | happyPathError Inline Fallback: Missing CWD When Queueing Observations | ~463 |
| #38453 | " | 🔵 | Generator Exit Patterns: Distinguishing Aborts from Unexpected Failures | ~454 |
| #38437 | 10:24 PM | 🔵 | Claude-mem core functionality and logging patterns identified | ~710 |
| #38431 | " | 🔵 | ERROR-Level Logging Used Across 21 Source Files | ~480 |
| #38405 | 10:07 PM | ⚖️ | DEBUG Log Level Analysis - One Message Requires WARN Promotion | ~819 |
| #38404 | 10:06 PM | ⚖️ | Log Level Audit Analysis - WARN to ERROR Promotion Criteria Established | ~769 |
| #38372 | 9:43 PM | 🔵 | Logging Anti-Pattern Found: Critical Errors Logged as DEBUG Instead of ERROR | ~464 |
| #38356 | 9:16 PM | 🔴 | Fixed AbortController Leak During Crash Recovery | ~384 |
| #38354 | 9:10 PM | 🔵 | Provider Selection Architecture and Default Settings Location | ~478 |
| #38351 | 9:09 PM | 🔵 | AbortController Replacement Without Abort Confirmed at Line 191 | ~434 |
</claude-mem-context>
@@ -150,7 +150,7 @@ export class SessionRoutes extends BaseRouteHandler {
try {
const failedCount = pendingStore.markSessionMessagesFailed(session.sessionDbId);
if (failedCount > 0) {
logger.warn('SESSION', `Marked messages as failed after generator error`, {
logger.error('SESSION', `Marked messages as failed after generator error`, {
sessionId: session.sessionDbId,
failedCount
});
@@ -168,7 +168,7 @@ export class SessionRoutes extends BaseRouteHandler {
if (wasAborted) {
logger.info('SESSION', `Generator aborted`, { sessionId: sessionDbId });
} else {
logger.warn('SESSION', `Generator exited unexpectedly`, { sessionId: sessionDbId });
logger.error('SESSION', `Generator exited unexpectedly`, { sessionId: sessionDbId });
}
session.generatorPromise = null;
@@ -187,8 +187,10 @@ export class SessionRoutes extends BaseRouteHandler {
pendingCount
});
// Create new AbortController for the restarted generator
// Abort OLD controller before replacing to prevent child process leaks
const oldController = session.abortController;
session.abortController = new AbortController();
oldController.abort();
// Small delay before restart
setTimeout(() => {
@@ -282,7 +284,7 @@ export class SessionRoutes extends BaseRouteHandler {
prompt: truncatedPrompt
});
}).catch((error) => {
logger.warn('CHROMA', 'User prompt sync failed, continuing without vector search', {
logger.error('CHROMA', 'User prompt sync failed, continuing without vector search', {
promptId: latestPrompt.id,
prompt: promptText.length > 60 ? promptText.substring(0, 60) + '...' : promptText
}, error);
@@ -466,13 +468,13 @@ export class SessionRoutes extends BaseRouteHandler {
tool_input: cleanedToolInput,
tool_response: cleanedToolResponse,
prompt_number: promptNumber,
cwd: cwd || logger.happyPathError(
'SESSION',
'Missing cwd when queueing observation in SessionRoutes',
{ sessionId: sessionDbId },
{ tool_name },
''
)
cwd: cwd || (() => {
logger.error('SESSION', 'Missing cwd when queueing observation in SessionRoutes', {
sessionId: sessionDbId,
tool_name
});
return '';
})()
});
// Ensure SDK agent is running
+1 -42
View File
@@ -3,46 +3,5 @@
<!-- This section is auto-generated by claude-mem. Edit content outside the tags. -->
### Jan 3, 2026
**ResultFormatter.ts**
| ID | Time | T | Title | Read |
|----|------|---|-------|------|
| #36670 | 11:37 PM | ✅ | Resolved merge conflicts by accepting branch changes for 39 files | ~435 |
| #36540 | 9:39 PM | 🟣 | ResultFormatter Test Suite Created | ~424 |
| #36533 | 9:35 PM | 🔵 | ResultFormatter for Unified Search Result Display | ~598 |
| #36390 | 8:50 PM | 🔄 | Comprehensive Monolith Refactor with Modular Architecture | ~724 |
**SearchOrchestrator.ts**
| ID | Time | T | Title | Read |
|----|------|---|-------|------|
| #36545 | 9:41 PM | 🟣 | Phase 3 Search Strategy Test Suite Completion | ~564 |
| #36544 | 9:40 PM | 🟣 | Phase 3 Search Strategy Test Suite Complete | ~449 |
| #36543 | " | 🟣 | Phase 3 Search Strategy Tests Completed | ~458 |
| #36541 | 9:39 PM | 🟣 | SearchOrchestrator Test Suite Implementation | ~588 |
| #36531 | 9:34 PM | 🔵 | SearchOrchestrator Strategy Selection Logic | ~334 |
| #36529 | " | 🔵 | Search Module Architecture Discovery | ~302 |
**types.ts**
| ID | Time | T | Title | Read |
|----|------|---|-------|------|
| #36538 | 9:38 PM | 🟣 | SQLiteSearchStrategy Test Suite Created | ~527 |
| #36537 | " | 🟣 | HybridSearchStrategy Test Suite Created | ~435 |
| #36536 | " | 🟣 | ChromaSearchStrategy Test Suite Created | ~430 |
| #36523 | 9:34 PM | 🔴 | Fixed TypeScript Type Import Issues in Worker Services | ~386 |
| #36519 | " | 🔴 | Fixed Type Import Issues Preventing Worker Tests | ~308 |
| #36516 | 9:33 PM | 🔴 | Fixed TypeScript Type Import Issues in Worker Search Modules | ~377 |
**index.ts**
| ID | Time | T | Title | Read |
|----|------|---|-------|------|
| #36527 | 9:34 PM | 🔵 | Search Strategy Architecture Analysis for Phase 3 Testing | ~486 |
| #36421 | 8:58 PM | 🔄 | Search Module Public API Organization | ~393 |
### Jan 5, 2026
**ResultFormatter.ts**
| ID | Time | T | Title | Read |
|----|------|---|-------|------|
| #37968 | 8:22 PM | 🔵 | ResultFormatter Uses Epoch Timestamps from Database | ~364 |
*No recent activity*
</claude-mem-context>
@@ -3,43 +3,5 @@
<!-- This section is auto-generated by claude-mem. Edit content outside the tags. -->
### Jan 3, 2026
**SearchStrategy.ts**
| ID | Time | T | Title | Read |
|----|------|---|-------|------|
| #36670 | 11:37 PM | ✅ | Resolved merge conflicts by accepting branch changes for 39 files | ~435 |
| #36534 | 9:35 PM | 🔵 | SearchStrategy Interface Pattern | ~341 |
| #36523 | 9:34 PM | 🔴 | Fixed TypeScript Type Import Issues in Worker Services | ~386 |
| #36519 | " | 🔴 | Fixed Type Import Issues Preventing Worker Tests | ~308 |
| #36516 | 9:33 PM | 🔴 | Fixed TypeScript Type Import Issues in Worker Search Modules | ~377 |
| #36449 | 9:02 PM | 🔵 | Search Strategy Base Implementation | ~410 |
| #36419 | 8:57 PM | 🔵 | Search Strategy Interface Pattern | ~380 |
**SQLiteSearchStrategy.ts**
| ID | Time | T | Title | Read |
|----|------|---|-------|------|
| #36545 | 9:41 PM | 🟣 | Phase 3 Search Strategy Test Suite Completion | ~564 |
| #36544 | 9:40 PM | 🟣 | Phase 3 Search Strategy Test Suite Complete | ~449 |
| #36538 | 9:38 PM | 🟣 | SQLiteSearchStrategy Test Suite Created | ~527 |
| #36527 | 9:34 PM | 🔵 | Search Strategy Architecture Analysis for Phase 3 Testing | ~486 |
| #36526 | " | 🔵 | SQLite Search Strategy Architecture | ~439 |
| #36451 | 9:02 PM | 🔵 | SQLite Search Strategy Implementation | ~453 |
**ChromaSearchStrategy.ts**
| ID | Time | T | Title | Read |
|----|------|---|-------|------|
| #36543 | 9:40 PM | 🟣 | Phase 3 Search Strategy Tests Completed | ~458 |
| #36536 | 9:38 PM | 🟣 | ChromaSearchStrategy Test Suite Created | ~430 |
| #36530 | 9:34 PM | 🔵 | Chroma Vector Search Strategy Architecture | ~508 |
| #36529 | " | 🔵 | Search Module Architecture Discovery | ~302 |
| #36390 | 8:50 PM | 🔄 | Comprehensive Monolith Refactor with Modular Architecture | ~724 |
**HybridSearchStrategy.ts**
| ID | Time | T | Title | Read |
|----|------|---|-------|------|
| #36537 | 9:38 PM | 🟣 | HybridSearchStrategy Test Suite Created | ~435 |
| #36532 | 9:34 PM | 🔵 | HybridSearchStrategy Four-Step Pattern | ~333 |
| #36528 | " | 🔵 | Hybrid Search Strategy Combining Metadata Filtering with Semantic Ranking | ~525 |
| #36459 | 9:03 PM | 🔵 | Hybrid Search Strategy with Four-Step Algorithm | ~530 |
*No recent activity*
</claude-mem-context>
@@ -138,7 +138,7 @@ export class ChromaSearchStrategy extends BaseSearchStrategy implements SearchSt
};
} catch (error) {
logger.warn('SEARCH', 'ChromaSearchStrategy: Search failed', {}, error as Error);
logger.error('SEARCH', 'ChromaSearchStrategy: Search failed', {}, error as Error);
// Return empty result - caller may try fallback strategy
return {
results: { observations: [], sessions: [], prompts: [] },
@@ -111,7 +111,7 @@ export class HybridSearchStrategy extends BaseSearchStrategy implements SearchSt
return this.emptyResult('hybrid');
} catch (error) {
logger.warn('SEARCH', 'HybridSearchStrategy: findByConcept failed', {}, error as Error);
logger.error('SEARCH', 'HybridSearchStrategy: findByConcept failed', {}, error as Error);
// Fall back to metadata-only results
const results = this.sessionSearch.findByConcept(concept, filterOptions);
return {
@@ -176,7 +176,7 @@ export class HybridSearchStrategy extends BaseSearchStrategy implements SearchSt
return this.emptyResult('hybrid');
} catch (error) {
logger.warn('SEARCH', 'HybridSearchStrategy: findByType failed', {}, error as Error);
logger.error('SEARCH', 'HybridSearchStrategy: findByType failed', {}, error as Error);
const results = this.sessionSearch.findByType(type as any, filterOptions);
return {
results: { observations: results, sessions: [], prompts: [] },
@@ -242,7 +242,7 @@ export class HybridSearchStrategy extends BaseSearchStrategy implements SearchSt
return { observations: [], sessions, usedChroma: false };
} catch (error) {
logger.warn('SEARCH', 'HybridSearchStrategy: findByFile failed', {}, error as Error);
logger.error('SEARCH', 'HybridSearchStrategy: findByFile failed', {}, error as Error);
const results = this.sessionSearch.findByFile(filePath, filterOptions);
return {
observations: results.observations,
@@ -97,7 +97,7 @@ export class SQLiteSearchStrategy extends BaseSearchStrategy implements SearchSt
};
} catch (error) {
logger.warn('SEARCH', 'SQLiteSearchStrategy: Search failed', {}, error as Error);
logger.error('SEARCH', 'SQLiteSearchStrategy: Search failed', {}, error as Error);
return this.emptyResult('sqlite');
}
}
+71 -75
View File
@@ -3,117 +3,113 @@
<!-- This section is auto-generated by claude-mem. Edit content outside the tags. -->
### Jan 2, 2026
### Nov 10, 2025
**SettingsDefaultsManager.ts**
| ID | Time | T | Title | Read |
|----|------|---|-------|------|
| #35965 | 4:45 PM | | Removed Session Alignment Debug Mode Setting | ~249 |
| #6295 | 1:18 PM | 🔵 | Path Configuration Structure for claude-mem | ~305 |
### Dec 5, 2025
**worker-utils.ts**
| ID | Time | T | Title | Read |
|----|------|---|-------|------|
| #35900 | 2:49 PM | 🔵 | Worker Health Checks Use Fetch Without Timeout Configuration | ~397 |
| #20730 | 9:06 PM | 🔵 | Path Configuration Module with ESM/CJS Compatibility | ~578 |
| #20718 | 9:00 PM | 🔵 | Worker Service Auto-Start and Health Check System | ~448 |
| #20410 | 7:21 PM | 🔵 | Path utilities provide cross-runtime directory management with Claude integration support | ~478 |
| #20409 | 7:20 PM | 🔵 | Worker utilities provide automatic PM2 startup with health checking and port configuration | ~479 |
### Dec 9, 2025
**paths.ts**
| ID | Time | T | Title | Read |
|----|------|---|-------|------|
| #35901 | 2:49 PM | 🔵 | PR #525 File Changes Summary | ~376 |
| #23141 | 6:42 PM | 🔵 | Located getSettingsPath Function in paths.ts | ~261 |
| #23134 | 6:41 PM | ✅ | Set CLAUDE_MEM_SKIP_TOOLS Default Value in SettingsDefaultsManager | ~261 |
| #23133 | " | ✅ | Added CLAUDE_MEM_SKIP_TOOLS to SettingsDefaults Interface | ~231 |
| #23131 | 6:40 PM | 🔵 | SettingsDefaultsManager Structure and Configuration Schema | ~363 |
| #22858 | 2:28 PM | 🔄 | Removed Brittle save.md Validation from paths.ts | ~305 |
| #22852 | 2:26 PM | 🔵 | Located save.md Validation Logic in paths.ts | ~255 |
| #22805 | 2:01 PM | 🔵 | Early Settings Silent Failure Point Identified | ~363 |
| #22803 | " | 🔵 | Worker Utilities Current Implementation Review | ~390 |
| #22518 | 12:59 AM | 🔵 | Worker Utils StartWorker Implementation Uses Plugin Root for PM2 | ~311 |
### Dec 10, 2025
**hook-constants.ts**
| ID | Time | T | Title | Read |
|----|------|---|-------|------|
| #35890 | 2:47 PM | 🔵 | Hook Exit Codes Define Three States But Not All Hooks Use Them | ~362 |
| #35865 | 2:35 PM | 🔵 | Hook Constants Define Timeouts and Exit Codes | ~445 |
| #23831 | 11:15 PM | 🔵 | Current hook-error-handler.ts References PM2 | ~277 |
| #23830 | " | 🔵 | Current worker-utils.ts Implementation Uses PM2 | ~431 |
| #23812 | 10:49 PM | 🔵 | Current Worker Startup Uses PM2 and PowerShell; Phase 2 Will Replace | ~428 |
| #23811 | " | 🔵 | Existing Paths Configuration for Phase 2 Reference | ~297 |
### Dec 12, 2025
**transcript-parser.ts**
| ID | Time | T | Title | Read |
|----|------|---|-------|------|
| #35746 | 1:17 PM | 🔵 | Transcript Parser extractLastMessage Implementation Examined | ~423 |
| #24405 | 8:12 PM | 🔵 | PM2 Legacy Cleanup Migration in Worker Startup | ~303 |
| #24400 | 8:10 PM | 🔵 | Retrieved PM2 Cleanup Implementation Details from Memory | ~355 |
| #24362 | 7:00 PM | 🟣 | Implemented PM2 Cleanup One-Time Marker in worker-utils.ts | ~376 |
| #24361 | " | ✅ | Added File System Imports to worker-utils.ts for PM2 Marker | ~263 |
| #24360 | " | 🔵 | worker-utils.ts Contains PM2 Cleanup Logic Without One-Time Marker | ~390 |
### Jan 4, 2026
### Dec 13, 2025
**SettingsDefaultsManager.ts**
| ID | Time | T | Title | Read |
|----|------|---|-------|------|
| #36781 | 12:45 AM | 🔵 | Complete GeminiAgent Model Configuration Gap Analysis | ~552 |
| #36757 | 12:33 AM | 🔵 | Issue #511 Root Cause Identified - Gemini-3-Flash Configuration Mismatch | ~416 |
| #36754 | " | 🔵 | Gemini-3-Flash Model Already Supported | ~301 |
| #25088 | 7:18 PM | 🟣 | Added CLAUDE_MEM_EMBEDDING_FUNCTION to Settings Interface | ~269 |
### Jan 5, 2026
### Dec 14, 2025
**CLAUDE.md**
| ID | Time | T | Title | Read |
|----|------|---|-------|------|
| #38082 | 10:13 PM | | Merge Conflict Resolution - Kept Feature Branch Versions | ~431 |
| #38078 | 9:54 PM | | CLAUDE.md Documentation Cleanup - 1,233 Lines Removed Across 18 Files | ~590 |
| #26790 | 11:38 PM | 🔴 | Fixed Undefined Port Variable in Error Logger | ~340 |
| #26789 | " | 🔴 | Fixed Undefined Port Variable in Error Logging | ~316 |
| #26788 | " | 🔵 | Worker Utils Already Imports Required Dependencies for Implementation | ~283 |
| #26787 | " | 🟣 | Phase 2 Complete: Pre-Restart Delay Added to Version Mismatch Handler | ~436 |
| #26786 | " | 🟣 | Phase 2 Complete: Pre-Restart Delay Added to ensureWorkerVersionMatches Function | ~420 |
| #26785 | 11:37 PM | 🟣 | Phase 1 Complete: PRE_RESTART_SETTLE_DELAY Constant Added to Hook Timeouts | ~351 |
| #26784 | " | 🟣 | Phase 1 Complete: PRE_RESTART_SETTLE_DELAY Constant Added to HOOK_TIMEOUTS | ~370 |
| #26783 | " | 🔵 | Hook Constants File Defines Timeout Values and Platform Multiplier | ~452 |
| #26782 | " | 🔵 | hook-constants.ts Defines Timeout Constants With Windows Platform Multiplier | ~418 |
| #26766 | 11:30 PM | ⚖️ | Root Cause Identified: Missing Post-Install Worker Restart Trigger in Plugin Update Flow | ~604 |
| #26765 | " | 🔵 | Explore Agent Confirms Root Cause: No Proactive Worker Restart After Plugin Updates | ~613 |
| #26732 | 11:25 PM | 🔵 | Worker Utils Implements Version Mismatch Detection and Auto-Restart | ~516 |
| #26731 | 11:24 PM | 🔵 | ensureWorkerRunning Implementation Shows 2.5 Second Startup Wait With Version Check | ~522 |
| #25695 | 4:27 PM | 🟣 | Added comprehensive error logging to transcript parser for debugging message extraction failures | ~473 |
| #25693 | 4:24 PM | 🔵 | Transcript parser extracts messages from JSONL file by scanning backwards for role-specific entries | ~491 |
### Dec 17, 2025
**SettingsDefaultsManager.ts**
| ID | Time | T | Title | Read |
|----|------|---|-------|------|
| #38064 | 9:50 PM | ⚖️ | 9.0 Release Documentation Audit Complete - Major Gaps Identified | ~997 |
| #38055 | 9:47 PM | 🔵 | SettingsDefaultsManager Missing CLAUDE_MEM_FOLDER_CLAUDEMD_ENABLED Setting | ~549 |
| #38048 | 9:45 PM | 🔴 | PR #558 - Comprehensive Bug Fix and Test Quality Improvement | ~585 |
| #38005 | 9:03 PM | 🔵 | Comprehensive exploration of PR review items completed | ~438 |
| #37996 | 9:01 PM | 🔵 | SettingsDefaultsManager provides centralized settings management | ~310 |
| #37995 | " | 🔵 | CLAUDE_MEM_WORKER_HOST setting implementation pattern | ~304 |
| #37990 | 9:00 PM | 🔵 | CLAUDE_MEM_WORKER_HOST setting used across 19 files | ~289 |
| #37887 | 7:32 PM | ✅ | Added Cross-Reference Comment for DEFAULT_DATA_DIR Constant | ~361 |
| #37881 | 7:31 PM | 🔵 | SettingsDefaultsManager Implementation Details Examined | ~384 |
| #37785 | 6:37 PM | 🔴 | Completed Removal of All Logger References from SettingsDefaultsManager | ~315 |
| #37784 | " | 🔄 | Replaced Logger Calls with Console Logging in SettingsDefaultsManager | ~331 |
| #37783 | " | 🔄 | Removed Logger Import from SettingsDefaultsManager | ~323 |
| #37779 | 6:36 PM | 🔵 | SettingsDefaultsManager Uses Logger Methods | ~375 |
| #37774 | 6:35 PM | 🔵 | Circular Dependency Between Logger and SettingsDefaultsManager | ~326 |
| #37773 | " | 🔵 | SettingsDefaultsManager Uses Logger Import | ~267 |
| #37665 | 5:52 PM | 🔵 | Codebase uses dependency injection and lazy initialization patterns to avoid circular dependencies | ~548 |
| #37632 | 5:37 PM | 🔵 | SettingsDefaultsManager Circular Dependency with Logger Confirmed | ~556 |
| #37628 | 5:36 PM | 🔴 | Test Execution Shows Logger Circular Dependency Error | ~596 |
| #37617 | 5:32 PM | ⚖️ | PR #558 Review Requirements Categorized by Priority | ~637 |
| #37613 | 5:31 PM | 🔵 | PR #558 Review Feedback Analysis | ~544 |
| #37593 | 4:56 PM | 🟣 | Phase 3 Committed - Settings Auto-Creation Implemented | ~386 |
| #37592 | " | ✅ | Phase 3 Anti-Pattern Check Complete - Clean Implementation | ~434 |
| #37590 | 4:55 PM | 🟣 | Phase 3 Complete - Settings Auto-Creation Implemented | ~400 |
| #37589 | " | 🟣 | Implemented Settings File Auto-Creation in loadFromFile | ~385 |
| #37588 | " | ✅ | Added Required Imports for Settings File Creation | ~291 |
| #37587 | 4:54 PM | 🔵 | SettingsDefaultsManager Missing File Auto-Creation | ~374 |
| #37548 | 4:48 PM | ✅ | Issue #543 Analysis Report Created for Slash Command Availability | ~540 |
| #37547 | 4:47 PM | ✅ | Issue #557 Analysis Report Created for Plugin Startup Failure | ~491 |
| #37535 | 4:44 PM | 🔵 | Settings Defaults Manager Implementation Analysis | ~447 |
| #28464 | 4:25 PM | 🔵 | Platform-Adjusted Hook Timeout Configuration | ~468 |
| #28461 | " | 🔵 | Dual ESM/CJS Path Resolution System | ~479 |
| #28452 | 4:23 PM | 🔵 | Worker Version Matching and Auto-Restart System | ~510 |
### Dec 18, 2025
**worker-utils.ts**
| ID | Time | T | Title | Read |
|----|------|---|-------|------|
| #38012 | 9:12 PM | | Completed Phase 1: Added getWorkerHost() import and replaced hard-coded localhost | ~319 |
| #38000 | 9:02 PM | 🔵 | Mixed usage of hard-coded 127.0.0.1 vs getWorkerHost() | ~347 |
| #37999 | " | 🔵 | getWorkerHost and getWorkerPort used in 18 files across codebase | ~282 |
| #37998 | " | 🔵 | worker-utils.ts provides cached host and port accessors | ~360 |
| #29797 | 7:09 PM | 🔵 | Settings System Uses CLAUDE_MEM_MODE for Mode Selection | ~353 |
| #29234 | 12:10 AM | 🔵 | Centralized Settings Management with Environment Defaults | ~394 |
### Dec 20, 2025
**timeline-formatting.ts**
| ID | Time | T | Title | Read |
|----|------|---|-------|------|
| #37967 | 8:21 PM | 🔵 | Timeline Formatting Utilities Provide Correct Date Functions | ~384 |
| #31086 | 7:59 PM | 🔵 | Transcript Parser Extracts Messages from JSONL Hook Files | ~327 |
| #30939 | 6:57 PM | 🔵 | Worker Utils File Examined for Error Handling Inconsistency | ~393 |
| #30855 | 6:22 PM | 🔵 | Transcript Parser Content Format Handling Examined | ~406 |
### Dec 25, 2025
**hook-constants.ts**
| ID | Time | T | Title | Read |
|----|------|---|-------|------|
| #37558 | 4:49 PM | 🔵 | Issue #555 Windows Hook Execution Patterns and Fix Strategy Documented | ~510 |
| #37552 | 4:48 PM | 🔵 | Hook Timeout Configuration and Windows Multiplier | ~352 |
| #32616 | 8:43 PM | 🔵 | Comprehensive analysis of "enable billing" setting and its impact on rate limiting | ~533 |
| #32538 | 7:28 PM | | Set default Gemini billing to disabled | ~164 |
### Jan 7, 2026
**paths.ts**
| ID | Time | T | Title | Read |
|----|------|---|-------|------|
| #37536 | 4:44 PM | 🔵 | Path Configuration and Directory Initialization Logic | ~430 |
### Jan 6, 2026
**worker-utils.ts**
| ID | Time | T | Title | Read |
|----|------|---|-------|------|
| #38108 | 12:15 AM | 🔵 | Complete Windows Zombie Port Bug Technical Deep Dive | ~935 |
**hook-constants.ts**
| ID | Time | T | Title | Read |
|----|------|---|-------|------|
| #38104 | 12:14 AM | 🔵 | Windows Compatibility Issues Documented Across 56 Memory Entries | ~509 |
| #38175 | 7:26 PM | 🔵 | Complete Claude-Mem Hook Output Architecture Documented | ~530 |
</claude-mem-context>
+7 -2
View File
@@ -9,12 +9,17 @@ export const HOOK_TIMEOUTS = {
/**
* Hook exit codes for Claude Code
*
* Exit code behavior per Claude Code docs:
* - 0: Success. For SessionStart/UserPromptSubmit, stdout added to context.
* - 2: Blocking error. For SessionStart, stderr shown to user only.
* - Other non-zero: stderr shown in verbose mode only.
*/
export const HOOK_EXIT_CODES = {
SUCCESS: 0,
FAILURE: 1,
/** Show user message that Claude does NOT receive as context */
USER_MESSAGE_ONLY: 3,
/** Blocking error - for SessionStart, shows stderr to user only */
BLOCKING_ERROR: 2,
} as const;
export function getTimeout(baseTimeout: number): number {
+1 -77
View File
@@ -3,81 +3,5 @@
<!-- This section is auto-generated by claude-mem. Edit content outside the tags. -->
### Jan 5, 2026
**claude-md-utils.ts**
| ID | Time | T | Title | Read |
|----|------|---|-------|------|
| #38086 | 10:42 PM | ✅ | Merged PR with comprehensive CLAUDE.md documentation system | ~478 |
| #38080 | 9:55 PM | 🔴 | Critical Date Preservation Fix for Folder CLAUDE.md Timeline Accuracy | ~534 |
| #38049 | 9:46 PM | 🔵 | Live Context Core Implementation in claude-md-utils.ts | ~585 |
| #38047 | 9:45 PM | 🔴 | PR #556 Review Items - Worker Host Configuration and Path Resolution | ~389 |
| #38025 | 9:15 PM | 🔴 | Fixed PR #556 review items and committed changes | ~344 |
| #38024 | " | ✅ | Git status shows modified source files and auto-updated CLAUDE.md files | ~295 |
| #38022 | " | ✅ | Phase 3 complete: Worktree detection test coverage verified by agent | ~391 |
| #38015 | 9:13 PM | 🔴 | Enhanced error logging with message and stack trace details | ~313 |
| #38014 | " | ✅ | Enhanced error logging with message and stack details | ~309 |
| #38013 | 9:12 PM | ✅ | Verified removal of hard-coded localhost from claude-md-utils.ts | ~209 |
| #38012 | " | ✅ | Completed Phase 1: Added getWorkerHost() import and replaced hard-coded localhost | ~319 |
| #38011 | " | 🔴 | Fixed hard-coded localhost in claude-md-utils.ts | ~281 |
| #38010 | " | ✅ | Replaced hard-coded 127.0.0.1 with getWorkerHost() in claude-md-utils.ts | ~270 |
| #38009 | " | 🔴 | Added getWorkerHost import to claude-md-utils.ts | ~246 |
| #38005 | 9:03 PM | 🔵 | Comprehensive exploration of PR review items completed | ~438 |
| #37993 | 9:01 PM | 🔵 | Identified hard-coded localhost in claude-md-utils.ts line 260 | ~352 |
| #37992 | 9:00 PM | 🔵 | Located claude-md-utils.ts for fixing hard-coded host | ~182 |
| #37979 | 8:33 PM | 🔴 | Fixed date parsing to use API date headers instead of "today" | ~315 |
| #37978 | " | 🔵 | Regenerated CLAUDE.md files across entire repository | ~268 |
| #37971 | 8:32 PM | 🔴 | Fixed Date Parsing in CLAUDE.md Generator to Use API Date Headers | ~388 |
| #37966 | 8:21 PM | 🔵 | Date Parsing Bug Located in claude-md-utils.ts | ~383 |
**CLAUDE.md**
| ID | Time | T | Title | Read |
|----|------|---|-------|------|
| #38082 | 10:13 PM | ✅ | Merge Conflict Resolution - Kept Feature Branch Versions | ~431 |
| #37976 | 8:33 PM | 🔵 | CLAUDE.md shows recent entries with correct January 2026 dates | ~287 |
**worktree.ts**
| ID | Time | T | Title | Read |
|----|------|---|-------|------|
| #38076 | 9:53 PM | 🟣 | Worktree-Aware Project Filtering for Unified Timeline Context | ~578 |
**logger.ts**
| ID | Time | T | Title | Read |
|----|------|---|-------|------|
| #38048 | 9:45 PM | 🔴 | PR #558 - Comprehensive Bug Fix and Test Quality Improvement | ~585 |
| #37890 | 7:32 PM | ✅ | Committed DEFAULT_DATA_DIR Cross-Reference Documentation | ~326 |
| #37888 | " | ✅ | Logger DEFAULT_DATA_DIR Comment Updated to Cross-Reference SettingsDefaultsManager | ~311 |
| #37887 | " | ✅ | Added Cross-Reference Comment for DEFAULT_DATA_DIR Constant | ~361 |
| #37885 | " | ✅ | Added Cross-Reference Comment to Prevent DEFAULT_DATA_DIR Drift | ~344 |
| #37880 | 7:31 PM | 🔵 | Logger Implementation Uses Inline DEFAULT_DATA_DIR to Avoid Circular Dependency | ~354 |
| #37808 | 6:43 PM | 🔵 | Logger Module Only References SettingsDefaultsManager in Comments | ~357 |
| #37804 | 6:42 PM | 🔴 | Added readFileSync Import to Logger Module | ~257 |
| #37803 | " | 🔴 | Eliminated SettingsDefaultsManager Dependency from Logger Completely | ~375 |
| #37791 | 6:39 PM | 🔵 | Logger Module Exports formatTool Correctly in Direct Import | ~318 |
| #37781 | 6:36 PM | 🔴 | Added Lazy Log File Initialization to Logger Log Method | ~291 |
| #37780 | " | 🔴 | Fixed Circular Dependency Between Logger and SettingsDefaultsManager | ~426 |
| #37779 | " | 🔵 | SettingsDefaultsManager Uses Logger Methods | ~375 |
| #37778 | " | 🔵 | Logger Module Implementation Has formatTool Method | ~393 |
| #37774 | 6:35 PM | 🔵 | Circular Dependency Between Logger and SettingsDefaultsManager | ~326 |
| #37689 | 5:55 PM | 🔵 | Logger constructor immediately calls initializeLogFile which accesses SettingsDefaultsManager | ~409 |
| #37645 | 5:49 PM | 🔵 | Logger imports SettingsDefaultsManager for data directory and log level configuration | ~449 |
| #37642 | 5:41 PM | 🟣 | Second Task Agent Independently Created and Verified FormatTool Tests | ~544 |
| #37628 | 5:36 PM | 🔴 | Test Execution Shows Logger Circular Dependency Error | ~596 |
| #37627 | 5:35 PM | 🔵 | FormatTool Function Implementation and Fix Details | ~600 |
| #37626 | " | 🔵 | FormatTool Function Usage Across Codebase | ~493 |
| #37617 | 5:32 PM | ⚖️ | PR #558 Review Requirements Categorized by Priority | ~637 |
| #37613 | 5:31 PM | 🔵 | PR #558 Review Feedback Analysis | ~544 |
| #37575 | 4:52 PM | 🔴 | Phase 1 Committed - formatTool JSON.parse Fix | ~364 |
**tag-stripping.ts**
| ID | Time | T | Title | Read |
|----|------|---|-------|------|
| #37758 | 6:25 PM | ⚖️ | Integration Test Design for Four Critical Testing Gaps | ~729 |
### Jan 6, 2026
**bun-path.ts**
| ID | Time | T | Title | Read |
|----|------|---|-------|------|
| #38104 | 12:14 AM | 🔵 | Windows Compatibility Issues Documented Across 56 Memory Entries | ~509 |
*No recent activity*
</claude-mem-context>
+47 -2
View File
@@ -16,6 +16,43 @@ import { getWorkerHost } from '../shared/worker-utils.js';
const SETTINGS_PATH = path.join(os.homedir(), '.claude-mem', 'settings.json');
/**
* Validate that a file path is safe for CLAUDE.md generation.
* Rejects tilde paths, URLs, command-like strings, and paths with invalid chars.
*
* @param filePath - The file path to validate
* @param projectRoot - Optional project root for boundary checking
* @returns true if path is valid for CLAUDE.md processing
*/
function isValidPathForClaudeMd(filePath: string, projectRoot?: string): boolean {
// Reject empty or whitespace-only
if (!filePath || !filePath.trim()) return false;
// Reject tilde paths (Node.js doesn't expand ~)
if (filePath.startsWith('~')) return false;
// Reject URLs
if (filePath.startsWith('http://') || filePath.startsWith('https://')) return false;
// Reject paths with spaces (likely command text or PR references)
if (filePath.includes(' ')) return false;
// Reject paths with # (GitHub issue/PR references)
if (filePath.includes('#')) return false;
// If projectRoot provided, ensure path stays within project boundaries
if (projectRoot) {
// For relative paths, resolve against projectRoot; for absolute paths, use directly
const resolved = path.isAbsolute(filePath) ? filePath : path.resolve(projectRoot, filePath);
const normalizedRoot = path.resolve(projectRoot);
if (!resolved.startsWith(normalizedRoot + path.sep) && resolved !== normalizedRoot) {
return false;
}
}
return true;
}
/**
* Replace tagged content in existing file, preserving content outside tags.
*
@@ -231,6 +268,14 @@ export async function updateFolderClaudeMdFiles(
const folderPaths = new Set<string>();
for (const filePath of filePaths) {
if (!filePath || filePath === '') continue;
// VALIDATE PATH BEFORE PROCESSING
if (!isValidPathForClaudeMd(filePath, projectRoot)) {
logger.debug('FOLDER_INDEX', 'Skipping invalid file path', {
filePath,
reason: 'Failed path validation'
});
continue;
}
// Resolve relative paths to absolute using projectRoot
let absoluteFilePath = filePath;
if (projectRoot && !path.isAbsolute(filePath)) {
@@ -264,7 +309,7 @@ export async function updateFolderClaudeMdFiles(
);
if (!response.ok) {
logger.warn('FOLDER_INDEX', 'Failed to fetch timeline', { folderPath, status: response.status });
logger.error('FOLDER_INDEX', 'Failed to fetch timeline', { folderPath, status: response.status });
continue;
}
@@ -281,7 +326,7 @@ export async function updateFolderClaudeMdFiles(
} catch (error) {
// Fire-and-forget: log warning but don't fail
const err = error as Error;
logger.warn('FOLDER_INDEX', 'Failed to update CLAUDE.md', {
logger.error('FOLDER_INDEX', 'Failed to update CLAUDE.md', {
folderPath,
errorMessage: err.message,
errorStack: err.stack
+2 -2
View File
@@ -42,7 +42,7 @@ export function readCursorRegistry(registryFile: string): CursorProjectRegistry
if (!existsSync(registryFile)) return {};
return JSON.parse(readFileSync(registryFile, 'utf-8'));
} catch (error) {
logger.warn('CONFIG', 'Failed to read Cursor registry, using empty registry', {
logger.error('CONFIG', 'Failed to read Cursor registry, using empty registry', {
file: registryFile,
error: error instanceof Error ? error.message : String(error)
});
@@ -151,7 +151,7 @@ export function configureCursorMcp(mcpJsonPath: string, mcpServerScriptPath: str
config.mcpServers = {};
}
} catch (error) {
logger.warn('CONFIG', 'Failed to read MCP config, starting fresh', {
logger.error('CONFIG', 'Failed to read MCP config, starting fresh', {
file: mcpJsonPath,
error: error instanceof Error ? error.message : String(error)
});
+1 -1
View File
@@ -53,7 +53,7 @@ export class TranscriptParser {
// Log summary if there were parse errors
if (this.parseErrors.length > 0) {
logger.warn('PARSER', `Failed to parse ${this.parseErrors.length} lines`, {
logger.error('PARSER', `Failed to parse ${this.parseErrors.length} lines`, {
path: transcriptPath,
totalLines: lines.length,
errorCount: this.parseErrors.length