feat: Update CLAUDE.md files with recent test activities and improvements

- Added detailed entries for test activities across various modules including `export-types.test.ts`, `server.test.ts`, `smart-install.test.ts`, and others.
- Documented significant changes in test coverage, cleanup efforts, and regression tests.
- Enhanced the `plans` documentation with recent implementation strategies and PR follow-ups.
- Introduced a comprehensive report on Windows platform challenges and solutions, detailing issues like zombie ports, console popups, and process management.
- Established a new `ProcessManager` architecture to address Windows-specific issues and improve reliability.
- Updated integration tests to reflect recent changes and ensure comprehensive coverage.
This commit is contained in:
Alex Newman
2026-01-07 16:53:02 -05:00
parent 0da504735b
commit a3d6bfc7dd
55 changed files with 3837 additions and 1167 deletions
+9 -9
View File
@@ -3,13 +3,6 @@
<!-- This section is auto-generated by claude-mem. Edit content outside the tags. -->
### Dec 27, 2025
**marketplace.json**
| ID | Time | T | Title | Read |
|----|------|---|-------|------|
| #33251 | 10:20 PM | ✅ | Released claude-mem v8.2.5 with bug fixes for logger, ChromaSync, and SessionManager | ~379 |
### Dec 28, 2025
**marketplace.json**
@@ -24,8 +17,6 @@
| #33311 | 3:09 PM | ✅ | Version 8.2.3 Release Deployed with Worker Stability Improvements | ~434 |
| #33300 | 3:08 PM | ✅ | Version 8.2.4 Released with Full Automation Pipeline | ~357 |
| #33281 | 3:07 PM | ✅ | Released v8.2.1 with Worker Lifecycle Hardening | ~332 |
| #33277 | 3:05 PM | ✅ | Version 8.2.2 Release Deployed | ~325 |
| #33260 | 2:57 PM | 🟣 | Version 8.2.0 Released with Gemini API Provider Support | ~355 |
### Dec 29, 2025
@@ -100,4 +91,13 @@
| #36700 | 12:00 AM | ✅ | Committed Version 8.5.7 Across All Package Files | ~260 |
| #36699 | " | ✅ | Version Bumped to 8.5.7 Across All Package Files | ~271 |
| #36698 | " | ✅ | Marketplace Plugin Version Updated to 8.5.7 | ~257 |
### Jan 5, 2026
**marketplace.json**
| ID | Time | T | Title | Read |
|----|------|---|-------|------|
| #38093 | 10:44 PM | ✅ | Committed version bump to 9.0.0 | ~217 |
| #38090 | " | ✅ | Version bumped to 9.0.0 in marketplace.json | ~157 |
| #38087 | 10:43 PM | 🔵 | Current version identified as 8.5.10 across all version files | ~200 |
</claude-mem-context>
-7
View File
@@ -3,13 +3,6 @@
<!-- This section is auto-generated by claude-mem. Edit content outside the tags. -->
### Dec 17, 2025
**settings.local.json**
| ID | Time | T | Title | Read |
|----|------|---|-------|------|
| #29080 | 10:16 PM | ✅ | Synced claude-mem v7.3.9 to marketplace | ~326 |
### Dec 21, 2025
**test-analysis-report.md**
+165 -1
View File
@@ -3,5 +3,169 @@
<!-- This section is auto-generated by claude-mem. Edit content outside the tags. -->
*No recent activity*
### Dec 26, 2025
**adaptive-orbiting-sundae.md**
| ID | Time | T | Title | Read |
|----|------|---|-------|------|
| #32927 | 10:32 PM | ⚖️ | Three-Phase Fix Plan Created for PR #448 OpenRouter Error Handling Issues | ~543 |
**floating-petting-snowglobe.md**
| ID | Time | T | Title | Read |
|----|------|---|-------|------|
| #32915 | 10:08 PM | 🔵 | OpenRouter Provider PR #448 Fix Plan Loaded | ~345 |
### Dec 27, 2025
**greedy-puzzling-teapot.md**
| ID | Time | T | Title | Read |
|----|------|---|-------|------|
| #33132 | 7:53 PM | ⚖️ | Session Continuity Regression Investigation and Fix Plan Created | ~567 |
**parallel-snuggling-kazoo.md**
| ID | Time | T | Title | Read |
|----|------|---|-------|------|
| #33008 | 4:54 PM | ⚖️ | Auto-Restart Worker Strategy After Plugin Updates | ~514 |
**fancy-leaping-orbit.md**
| ID | Time | T | Title | Read |
|----|------|---|-------|------|
| #32999 | 4:43 PM | ⚖️ | Worker Update Strategy Changed from Auto-Restart to Manual | ~265 |
| #32997 | 4:42 PM | ✅ | Implementation Plan Documented for Windows Concurrency Fix | ~597 |
### Dec 28, 2025
**scalable-exploring-wadler.md**
| ID | Time | T | Title | Read |
|----|------|---|-------|------|
| #33597 | 11:14 PM | 🔵 | MCP search tool successfully retrieving mem-search to mcp-search rename history | ~361 |
**pr-458-fixes.md**
| ID | Time | T | Title | Read |
|----|------|---|-------|------|
| #33291 | 3:08 PM | ✅ | Completed PR #458 Worker Lifecycle Fix Plan - Phase 6 Build Verification | ~334 |
| #33275 | 3:01 PM | 🔴 | Unix orphaned process cleanup error handling fixed | ~330 |
| #33274 | " | 🔴 | Fixed waitForProcessesExit crash when child processes exit | ~312 |
| #33273 | " | 🔴 | Added PID validation after daemon spawn to prevent invalid PID file writes | ~341 |
| #33272 | " | 🔴 | Windows taskkill error handling in orphaned process cleanup | ~266 |
**mellow-discovering-meerkat.md**
| ID | Time | T | Title | Read |
|----|------|---|-------|------|
| #33262 | 2:58 PM | ✅ | PR #456 Closed and Fresh Branch Created for Worker Lifecycle Fix | ~313 |
**functional-shimmying-lake.md**
| ID | Time | T | Title | Read |
|----|------|---|-------|------|
| #33257 | 2:37 PM | ✅ | Plan Simplified to Minimal Fix Approach | ~320 |
### Dec 29, 2025
**worker-executable.md**
| ID | Time | T | Title | Read |
|----|------|---|-------|------|
| #33895 | 5:13 PM | 🟣 | Implemented install-time worker executable compilation | ~423 |
| #33883 | 5:11 PM | ⚖️ | Plan created for worker executable compilation strategy | ~432 |
**phased-worker-executable-plan.md**
| ID | Time | T | Title | Read |
|----|------|---|-------|------|
| #33873 | 4:56 PM | ⚖️ | Worker Service Migration to Standalone Executables | ~531 |
**precious-dancing-rossum.md**
| ID | Time | T | Title | Read |
|----|------|---|-------|------|
| #33872 | 4:56 PM | ⚖️ | Build-time executable strategy replaced with install-time compilation approach | ~524 |
| #33870 | 4:52 PM | ⚖️ | Migrate Worker Service from Runtime .cjs to Compiled Platform Executables | ~567 |
### Dec 30, 2025
**lively-twirling-garden.md**
| ID | Time | T | Title | Read |
|----|------|---|-------|------|
| #34411 | 1:55 PM | ⚖️ | Agent SDK V2 Migration Plan Created | ~519 |
### Jan 1, 2026
**cozy-orbiting-hopper.md**
| ID | Time | T | Title | Read |
|----|------|---|-------|------|
| #35485 | 9:06 PM | ⚖️ | Comprehensive error handling remediation plan completed and submitted for approval | ~555 |
| #35484 | 9:05 PM | ✅ | Quick reference checklist added for all 45 critical issues | ~390 |
| #35483 | " | ✅ | Plan implementation section replaced with practical execution guidance | ~375 |
| #35482 | " | ✅ | Verification progress metrics updated with accurate wave counts | ~313 |
| #35481 | " | ✅ | Wave 3 Group 3C scope reduced after code verification | ~341 |
| #35480 | " | ✅ | Wave 2 specific fixes detailed with exact code patterns | ~401 |
| #35479 | 9:04 PM | ✅ | Wave 2 fix pattern updated to target worst offender | ~363 |
| #35478 | " | ✅ | Plan updated with accurate Wave 2 critical path failures | ~424 |
| #35471 | 9:02 PM | ⚖️ | Systematic plan created to fix 45 critical error handling anti-patterns | ~540 |
**ticklish-humming-pixel.md**
| ID | Time | T | Title | Read |
|----|------|---|-------|------|
| #35296 | 1:25 PM | ⚖️ | Revised implementation plan: Generate deterministic memory session IDs to prevent orphaned sessions | ~619 |
| #35295 | " | ⚖️ | Updated Implementation Plan - Deterministic Session ID with Immediate Persistence | ~505 |
| #35251 | 1:14 PM | ✅ | Plan updated with correct import paths for provider check functions | ~301 |
| #35246 | " | ⚖️ | Implementation plan created: Add provider check to startup-recovery mechanism | ~525 |
### Jan 2, 2026
**gleaming-imagining-cray.md**
| ID | Time | T | Title | Read |
|----|------|---|-------|------|
| #36104 | 10:31 PM | ⚖️ | Database Transaction Strategy for Observation Deduplication | ~474 |
### Jan 3, 2026
**nifty-honking-goblet.md**
| ID | Time | T | Title | Read |
|----|------|---|-------|------|
| #36644 | 10:59 PM | ✅ | Test Fixes Plan Updated with Logger Coverage Implementation Details | ~469 |
**glimmering-coalescing-pnueli.md**
| ID | Time | T | Title | Read |
|----|------|---|-------|------|
| #36160 | 6:41 PM | ⚖️ | Final Architecture Approved: Grep-Optimized Progressive Disclosure with Named Re-Exports | ~757 |
| #36159 | 6:39 PM | ⚖️ | Phase 1 Refactor Plan Finalized: Grep-Optimized Progressive Disclosure with Named Re-Exports | ~830 |
### Jan 4, 2026
**greedy-soaring-sphinx.md**
| ID | Time | T | Title | Read |
|----|------|---|-------|------|
| #36762 | 12:37 AM | ✅ | Created Implementation Plan for Four GitHub Issues | ~438 |
### 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 |
**fix-claudemd-worktree-bug.md**
| ID | Time | T | Title | Read |
|----|------|---|-------|------|
| #38005 | 9:03 PM | 🔵 | Comprehensive exploration of PR review items completed | ~438 |
| #38004 | " | 🔵 | Prior plan documented worktree bug fix with projectRoot parameter | ~416 |
**velvety-churning-globe.md**
| ID | Time | T | Title | Read |
|----|------|---|-------|------|
| #37763 | 6:32 PM | 🔵 | Comprehensive test suite cleanup plan for claude-mem project | ~446 |
| #37762 | 6:31 PM | ⚖️ | Test Cleanup Plan Approved: Delete 6 Harmful Tests, Add 4 Integration Tests | ~793 |
| #37761 | 6:26 PM | ✅ | Test Cleanup Plan Updated with Detailed File Lists and Impact Summary | ~643 |
| #37760 | " | ⚖️ | Test Plan Expanded: Four New Integration Tests Added to Cleanup Scope | ~500 |
| #37759 | 6:25 PM | ⚖️ | Test Suite Cleanup Plan Created Based on Comprehensive Audit | ~697 |
| #37757 | 6:22 PM | ⚖️ | Test Suite Cleanup Plan Created Based on Audit Findings | ~640 |
**2026-01-05-fix-81-test-failures.md**
| ID | Time | T | Title | Read |
|----|------|---|-------|------|
| #37704 | 6:05 PM | ⚖️ | Plan Abandoned: Mock Logger Approach Rejected for Test Quality Audit | ~312 |
| #37699 | 5:59 PM | 🔵 | Test Failure Root Cause: Incomplete Logger Mocks Polluting Module Cache | ~455 |
**2026-01-05-github-issues-fix-plan.md**
| ID | Time | T | Title | Read |
|----|------|---|-------|------|
| #37559 | 4:49 PM | 🔵 | GitHub Issues Fix Plan Loaded | ~428 |
</claude-mem-context>
+16 -1
View File
@@ -3,5 +3,20 @@
<!-- This section is auto-generated by claude-mem. Edit content outside the tags. -->
*No recent activity*
### Jan 5, 2026
**CLAUDE.md**
| ID | Time | T | Title | Read |
|----|------|---|-------|------|
| #38082 | 10:13 PM | ✅ | Merge Conflict Resolution - Kept Feature Branch Versions | ~431 |
**test-audit-2026-01-05.md**
| ID | Time | T | Title | Read |
|----|------|---|-------|------|
| #37776 | 6:35 PM | 🔵 | Test Audit Reveals Quality Issues and Architecture Recommendations | ~372 |
| #37775 | " | 🔵 | Test Audit Identifies Zero Coverage for Logger FormatTool Tests | ~280 |
| #37747 | 6:20 PM | 🔵 | Comprehensive Test Suite Audit Completed: 41 Files Analyzed | ~664 |
| #37736 | 6:16 PM | 🔵 | Test Suite Audit Reveals Critical Test Failure Root Cause | ~660 |
| #37735 | " | ✅ | Test Suite Audit Report Generated: 41 Tests Scored and Analyzed | ~634 |
| #37732 | 6:15 PM | 🔵 | Test Quality Audit Completed: Identified Critical Mock Pollution Issue | ~490 |
</claude-mem-context>
+34 -2
View File
@@ -34,9 +34,41 @@ Manages semantic versioning for the claude-mem project itself. Handles updating
<!-- This section is auto-generated by claude-mem. Edit content outside the tags. -->
### Dec 29, 2025
### Nov 9, 2025
**CLAUDE.md**
| ID | Time | T | Title | Read |
|----|------|---|-------|------|
| #33938 | 6:27 PM | 🔵 | Relevant CLAUDE.md Context Identified for PR #492 | ~435 |
| #5901 | 6:54 PM | | Project Skills Documentation Created | ~317 |
### Dec 13, 2025
**CLAUDE.md**
| ID | Time | T | Title | Read |
|----|------|---|-------|------|
| #24725 | 4:07 PM | 🔵 | Claude Skills Infrastructure for Automation | ~220 |
### Dec 14, 2025
**CLAUDE.md**
| ID | Time | T | Title | Read |
|----|------|---|-------|------|
| #26354 | 9:20 PM | 🔵 | PR #317 Second CLAUDE.md Compliance Review Confirms No Violations | ~442 |
| #26353 | " | 🔵 | PR #317 CLAUDE.md Compliance Review Completed | ~402 |
| #26193 | 8:15 PM | 🔵 | PR spans 21 files with net addition of 374 lines across codebase | ~375 |
| #26173 | 8:08 PM | ✅ | Updated Skills CLAUDE.md Documentation for Version Bump | ~277 |
### Dec 28, 2025
**CLAUDE.md**
| ID | Time | T | Title | Read |
|----|------|---|-------|------|
| #33311 | 3:09 PM | ✅ | Version 8.2.3 Release Deployed with Worker Stability Improvements | ~434 |
### Jan 5, 2026
**CLAUDE.md**
| ID | Time | T | Title | Read |
|----|------|---|-------|------|
| #38082 | 10:13 PM | ✅ | Merge Conflict Resolution - Kept Feature Branch Versions | ~431 |
</claude-mem-context>
+7
View File
@@ -72,4 +72,11 @@
| ID | Time | T | Title | Read |
|----|------|---|-------|------|
| #34626 | 3:01 PM | 🔵 | Test-Driven Validation Agent Performing Extensive Infrastructure Analysis | ~501 |
### Jan 6, 2026
**windows-ci.yml**
| ID | Time | T | Title | Read |
|----|------|---|-------|------|
| #38108 | 12:15 AM | 🔵 | Complete Windows Zombie Port Bug Technical Deep Dive | ~935 |
</claude-mem-context>
+119 -11
View File
@@ -5,17 +5,125 @@
### Dec 29, 2025
**save-file-edit.sh**
| ID | Time | T | Title | Read |
|----|------|---|-------|------|
| #34127 | 9:10 PM | | Marketing Copy Changes Committed to cursor-hooks-integration Branch | ~457 |
| #34125 | " | ✅ | Detailed Diff Shows Consistent Marketing Language Across All Documentation | ~643 |
| #34123 | 9:09 PM | ✅ | Marketing Copy Updates Complete Across Four Documentation Files | ~485 |
| #34120 | " | | QUICKSTART Enhanced with Time-Bound Promise and Memory Benefit | ~426 |
| #34119 | 9:08 PM | ✅ | Enhanced STANDALONE-SETUP with Value Proposition and Benefits | ~446 |
| #34118 | " | | Enhanced README with Marketing Copy and Quick Install Section | ~491 |
| #34117 | " | 🔵 | QUICKSTART.md Updated with Provider Configuration Section | ~487 |
| #34116 | 9:07 PM | 🔵 | STANDALONE-SETUP.md Complete Documentation for Cursor-Only Users | ~541 |
| #34115 | " | 🔵 | Cursor Hooks README Already Updated with Standalone Setup Link | ~485 |
| #34067 | 8:46 PM | 🔵 | Cursor Quickstart Guide Analysis | ~531 |
| #34066 | " | 🔵 | Cursor Hooks README Current State Assessment | ~583 |
| #34270 | 10:45 PM | 🔵 | Save File Edit Hook Captures File Modifications as Tool Observations | ~495 |
**session-summary.sh**
| ID | Time | T | Title | Read |
|----|------|---|-------|------|
| #34268 | 10:44 PM | 🔵 | Session Summary Hook Generates Summaries and Updates Context on Stop | ~498 |
**save-observation.sh**
| ID | Time | T | Title | Read |
|----|------|---|-------|------|
| #34267 | 10:44 PM | 🔵 | Save Observation Hook Captures MCP and Shell Executions | ~494 |
**context-inject.sh**
| ID | Time | T | Title | Read |
|----|------|---|-------|------|
| #34266 | 10:44 PM | 🔵 | Context Inject Hook Refreshes Memory Context Before Prompt Submission | ~498 |
| #34165 | 9:41 PM | 🔵 | Context Injection Hook Implementation for Cursor | ~466 |
**session-init.sh**
| ID | Time | T | Title | Read |
|----|------|---|-------|------|
| #34264 | 10:43 PM | 🔵 | Session Init Hook Initializes Sessions on Prompt Submission | ~514 |
**common.sh**
| ID | Time | T | Title | Read |
|----|------|---|-------|------|
| #34261 | 10:43 PM | 🔵 | Cursor Hooks Common Shell Library Provides Core Utilities | ~381 |
| #34237 | 10:31 PM | 🔄 | Removed arbitrary array index validation from json_get function | ~421 |
**STANDALONE-SETUP.md**
| ID | Time | T | Title | Read |
|----|------|---|-------|------|
| #34258 | 10:39 PM | ✅ | Updated STANDALONE-SETUP.md to recommend user-level installation | ~265 |
| #34257 | " | 🔵 | Claude-Mem Command Reference for Cursor Integration | ~245 |
| #34256 | " | ✅ | Updated STANDALONE-SETUP.md to recommend user-level installation | ~305 |
| #34252 | 10:38 PM | 🔵 | Cursor Hooks Installation and Worker Setup Process | ~258 |
| #34224 | 10:14 PM | ✅ | Completed Bun Migration by Updating All Windows Commands | ~392 |
| #34223 | " | ✅ | Updated Windows Installation Commands to Use Bun | ~354 |
| #34222 | 10:13 PM | ✅ | Updated Quick Reference Table to Use Bun Commands | ~361 |
| #34221 | " | ✅ | Updated Step 5 Status Check Command to Use Bun | ~353 |
| #34220 | " | ✅ | Updated Step 4 Worker Start Command to Use Bun | ~360 |
| #34219 | 10:12 PM | ✅ | Updated Step 3 Hook Installation Commands to Use Bun | ~322 |
| #34218 | " | ✅ | Updated STANDALONE-SETUP Step 1 Commands to Use Bun Instead of NPM | ~357 |
| #34217 | " | ✅ | Updated STANDALONE-SETUP Prerequisites to Require Bun Runtime | ~341 |
| #34215 | 10:08 PM | 🔵 | Retrieved Detailed Cursor Integration Implementation History | ~676 |
| #34214 | 10:07 PM | 🔵 | Cursor Integration Feature Set Discovered via Memory Search | ~427 |
**QUICKSTART.md**
| ID | Time | T | Title | Read |
|----|------|---|-------|------|
| #34255 | 10:39 PM | ✅ | Quickstart Documentation Reordered to Recommend User-Level Installation First | ~265 |
| #34251 | 10:38 PM | 🔵 | Quickstart Documentation Shows CLI-Based Installation Method | ~257 |
| #34225 | 10:14 PM | ✅ | Updated QUICKSTART Worker Restart Command to Use Bun | ~308 |
**README.md**
| ID | Time | T | Title | Read |
|----|------|---|-------|------|
| #34254 | 10:38 PM | ✅ | Updated README to recommend user-level installation over project-level | ~345 |
| #34253 | " | 🔵 | Cursor hooks installation documented with quick install CLI and manual options | ~327 |
| #34250 | " | 🔵 | Documentation references installation types and project-level concepts | ~311 |
| #34226 | 10:14 PM | ✅ | Updated README Quick Install Commands to Use Bun | ~311 |
**install.sh**
| ID | Time | T | Title | Read |
|----|------|---|-------|------|
| #34249 | 10:37 PM | ✅ | Install Script Usage Message Updated to Recommend User-Level Installation | ~256 |
| #34248 | " | ✅ | Marked user-level installation as recommended in install script | ~255 |
| #34246 | " | ✅ | Simplified path rewriting logic after enterprise mode removal | ~291 |
| #34245 | " | ✅ | Simplified conditional logic after removing enterprise installation code | ~266 |
| #34244 | 10:36 PM | ✅ | Removed enterprise installation mode from cursor-hooks installer | ~298 |
| #34243 | " | ✅ | Removed enterprise installation option from Cursor hooks installer | ~292 |
| #34242 | " | 🔵 | Cursor hooks installation script copies and configures hooks with path adjustments | ~387 |
| #34240 | 10:33 PM | 🔵 | Cursor hooks installation paths and requirements vary by deployment mode | ~312 |
| #34239 | " | 🔵 | Cursor hooks installation supports enterprise mode | ~240 |
| #34233 | 10:26 PM | ⚖️ | Implemented PR 493 fixes with mixed necessity and complexity trade-offs | ~610 |
| #34232 | " | 🔵 | PR 493 review identified security and concurrency issues requiring fixes | ~560 |
| #34228 | 10:21 PM | 🔴 | Fixed sed portability issue in install.sh | ~318 |
**common.ps1**
| ID | Time | T | Title | Read |
|----|------|---|-------|------|
| #34238 | 10:31 PM | 🔄 | Rollback complete: simplified over-engineered concurrency and validation code | ~434 |
| #34231 | 10:25 PM | 🔴 | Fixed race conditions and security vulnerabilities in Cursor integration | ~562 |
| #34149 | 9:29 PM | 🟣 | Cross-Platform Cursor Hooks with Windows PowerShell Support | ~352 |
**hooks.json**
| ID | Time | T | Title | Read |
|----|------|---|-------|------|
| #34184 | 9:51 PM | 🔵 | Cursor Hooks Configuration Schema | ~375 |
**.gitignore**
| ID | Time | T | Title | Read |
|----|------|---|-------|------|
| #34148 | 9:28 PM | 🟣 | Cursor IDE Integration with Cross-Platform Hooks and Documentation | ~514 |
### Dec 31, 2025
**session-init.sh**
| ID | Time | T | Title | Read |
|----|------|---|-------|------|
| #34675 | 3:37 PM | 🔵 | API Endpoint /api/sessions/init Expects contentSessionId Parameter | ~401 |
### 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 |
**INTEGRATION.md**
| ID | Time | T | Title | Read |
|----|------|---|-------|------|
| #37995 | 9:01 PM | 🔵 | CLAUDE_MEM_WORKER_HOST setting implementation pattern | ~304 |
**README.md**
| ID | Time | T | Title | Read |
|----|------|---|-------|------|
| #37990 | 9:00 PM | 🔵 | CLAUDE_MEM_WORKER_HOST setting used across 19 files | ~289 |
</claude-mem-context>
+7 -1
View File
@@ -13,7 +13,6 @@
| #34425 | 2:04 PM | 🔵 | Agent SDK V2 API Documentation and Migration Patterns | ~698 |
| #34422 | 2:03 PM | ✅ | Added Agent SDK V2 Documentation Files | ~240 |
| #34419 | 2:02 PM | ✅ | Committed Agent SDK V2 upgrade preparation | ~275 |
| #34394 | 1:52 PM | 🔵 | Agent SDK V2 Documentation Shows session.close() Method for Cleanup | ~417 |
**agent-sdk-v2-example.ts**
| ID | Time | T | Title | Read |
@@ -104,4 +103,11 @@
| ID | Time | T | Title | Read |
|----|------|---|-------|------|
| #35703 | 1:01 PM | ⚖️ | Try-Catch as Anti-Pattern: Root Cause Analysis and Documentation | ~363 |
### Jan 6, 2026
**windows-code-evaluation.md**
| ID | Time | T | Title | Read |
|----|------|---|-------|------|
| #38104 | 12:14 AM | 🔵 | Windows Compatibility Issues Documented Across 56 Memory Entries | ~509 |
</claude-mem-context>
+150 -61
View File
@@ -93,76 +93,165 @@ npx mintlify dev
<!-- This section is auto-generated by claude-mem. Edit content outside the tags. -->
### Nov 18, 2025
### Dec 28, 2025
**platform-integration.mdx**
| ID | Time | T | Title | Read |
|----|------|---|-------|------|
| #11206 | 3:01 PM | 🔵 | mem-search skill architecture and migration details retrieved in full format | ~538 |
### Nov 21, 2025
| #33540 | 10:55 PM | 🔵 | Grep search found mem-search references in internationalized documentation | ~577 |
| #33522 | 10:46 PM | 🔵 | Platform integration documentation describes Worker API architecture | ~351 |
**docs.json**
| ID | Time | T | Title | Read |
|----|------|---|-------|------|
| #13221 | 2:01 AM | 🔴 | Fixed broken markdown link to Viewer UI documentation | ~316 |
| #13220 | 2:00 AM | 🔴 | Escaped HTML less-than symbol in universal architecture timeout documentation | ~316 |
| #13216 | 1:54 AM | ✅ | Universal Architecture Added to Navigation | ~330 |
| #13215 | " | 🟣 | Universal AI Memory Architecture Documentation Created | ~732 |
| #13213 | 1:50 AM | 🔵 | Introduction Page Content and Recent v6.0.0 Release | ~495 |
| #13212 | " | 🔵 | Architecture Evolution Documentation Structure | ~408 |
| #13211 | " | 🔵 | Mintlify Documentation Site Configuration | ~430 |
| #13209 | 1:48 AM | 🔵 | Public Documentation Structure and Guidelines | ~383 |
### Nov 25, 2025
| ID | Time | T | Title | Read |
|----|------|---|-------|------|
| #14994 | 2:22 PM | ✅ | Version Channel Section Added to Configuration Documentation | ~301 |
| #14993 | " | ✅ | Beta Features Added to Documentation Navigation | ~188 |
| #14992 | 2:21 PM | 🟣 | Beta Features Documentation Page Created | ~488 |
| #14991 | " | 🔵 | Mintlify Navigation Structure and Documentation Groups | ~394 |
| #14989 | " | 🔵 | Installation Documentation with Quick Start and Verification Steps | ~383 |
| #14988 | " | 🔵 | Configuration Documentation Structure and Environment Variables | ~338 |
### Nov 26, 2025
| ID | Time | T | Title | Read |
|----|------|---|-------|------|
| #16190 | 10:22 PM | 🔵 | RAGTIME Search Retrieved Five Observations About Claude-Mem vs RAG Architecture | ~637 |
### Dec 3, 2025
| ID | Time | T | Title | Read |
|----|------|---|-------|------|
| #19884 | 9:42 PM | 🔵 | Configuration system and environment variables | ~701 |
| #19878 | 9:40 PM | 🔵 | Installation process and system architecture | ~486 |
### Dec 8, 2025
| ID | Time | T | Title | Read |
|----|------|---|-------|------|
| #22335 | 10:26 PM | 🔵 | Mintlify documentation configuration analyzed | ~534 |
| #22311 | 9:47 PM | 🔵 | Comprehensive Hooks Architecture Documentation Review | ~263 |
| #22297 | 9:43 PM | 🔵 | Mintlify Documentation Framework Configuration | ~446 |
| #22294 | " | 🔵 | Documentation Site Structure Located | ~359 |
### Dec 9, 2025
| ID | Time | T | Title | Read |
|----|------|---|-------|------|
| #23179 | 10:44 PM | ✅ | Removed explanatory reasons from tool exclusion documentation | ~297 |
### Dec 15, 2025
| ID | Time | T | Title | Read |
|----|------|---|-------|------|
| #27038 | 6:02 PM | 🔵 | 95% token reduction claims found only in private experimental documents, not in main public docs | ~513 |
| #27037 | " | 🔵 | Branch switching functionality exists in SettingsRoutes with UI switcher removal intent | ~463 |
| #26986 | 5:24 PM | ✅ | Updated Endless Mode latency warning in beta features documentation | ~299 |
| #33312 | 3:09 PM | | OpenRouter Provider Documentation | ~497 |
### Dec 29, 2025
**docs.json**
| ID | Time | T | Title | Read |
|----|------|---|-------|------|
| #33938 | 6:27 PM | 🔵 | Relevant CLAUDE.md Context Identified for PR #492 | ~435 |
| #33750 | 12:25 AM | | Documentation Update: Removed Version Number from Architecture Evolution | ~281 |
| #34321 | 11:03 PM | 🔵 | Mintlify Navigation Configuration Defines Expected File Paths | ~330 |
| #34215 | 10:08 PM | 🔵 | Retrieved Detailed Cursor Integration Implementation History | ~676 |
| #34148 | 9:28 PM | 🟣 | Cursor IDE Integration with Cross-Platform Hooks and Documentation | ~514 |
| #34112 | 9:07 PM | 🟣 | Committed Cursor Public Documentation to Repository | ~427 |
| #34108 | 9:06 PM | 🟣 | Added Cursor Integration Section to Documentation Navigation | ~441 |
| #34101 | 9:04 PM | 🔵 | Documentation Navigation Configuration Using Mintlify | ~445 |
**public**
| ID | Time | T | Title | Read |
|----|------|---|-------|------|
| #34318 | 11:03 PM | 🔵 | Mintlify Documentation Files and Configuration Located | ~294 |
**installation.mdx**
| ID | Time | T | Title | Read |
|----|------|---|-------|------|
| #34102 | 9:04 PM | 🔵 | Current Installation Documentation Targets Claude Code Plugin Users | ~485 |
**progressive-disclosure.mdx**
| ID | Time | T | Title | Read |
|----|------|---|-------|------|
| #33773 | 12:38 AM | ✅ | Replaced two-tier with three-layer workflow documentation | ~431 |
| #33772 | " | ✅ | Updated progressive disclosure docs with 3-layer MCP workflow | ~399 |
| #33771 | 12:37 AM | 🔵 | Progressive disclosure design rationale documented | ~508 |
| #33770 | " | 🔵 | Progressive disclosure documentation reviewed | ~479 |
| #33715 | 12:18 AM | ✅ | Future enhancements section updated for current API structure | ~308 |
| #33712 | " | ✅ | Progressive disclosure docs updated to reflect 3-layer workflow | ~363 |
| #33702 | 12:09 AM | ⚖️ | Documentation Update Strategy Finalized for MCP Architecture Transition | ~845 |
| #33696 | 12:07 AM | 🔵 | Progressive Disclosure Philosophy Requires Tool Name Updates | ~687 |
| #33685 | 12:04 AM | 🔵 | Progressive Disclosure Philosophy Document References Deprecated Tools | ~543 |
**architecture-evolution.mdx**
| ID | Time | T | Title | Read |
|----|------|---|-------|------|
| #33763 | 12:27 AM | ✅ | Pull request #480 created for MCP architecture documentation updates | ~423 |
| #33760 | 12:26 AM | ✅ | Major documentation overhaul across 6 files with 908 additions | ~367 |
| #33749 | 12:25 AM | ✅ | Documentation Version Reference Removed | ~282 |
| #33747 | " | ✅ | Removed specific version reference from MCP architecture section | ~279 |
| #33745 | " | ✅ | Documentation Version Reference Simplified | ~224 |
| #33744 | " | ✅ | Removed fabricated version number from architecture documentation | ~319 |
| #33726 | 12:20 AM | 🟣 | v6.5.0 architecture evolution documentation added | ~599 |
| #33700 | 12:08 AM | 🔵 | Architecture Evolution Document Contains Historical MCP Tool References | ~625 |
**troubleshooting.mdx**
| ID | Time | T | Title | Read |
|----|------|---|-------|------|
| #33722 | 12:19 AM | ✅ | Token limit troubleshooting completely rewritten for 3-layer workflow | ~426 |
| #33720 | " | ✅ | Troubleshooting search query examples updated to current API | ~329 |
| #33717 | " | 🔵 | Troubleshooting docs contain outdated search_observations references | ~333 |
| #33693 | 12:06 AM | 🔵 | Troubleshooting Documentation Contains Deprecated Search Tool Syntax | ~576 |
**introduction.mdx**
| ID | Time | T | Title | Read |
|----|------|---|-------|------|
| #33687 | 12:05 AM | 🔵 | Introduction Documentation References mem-search Skill | ~426 |
### Dec 31, 2025
**troubleshooting.mdx**
| ID | Time | T | Title | Read |
|----|------|---|-------|------|
| #34688 | 3:40 PM | 🔵 | Worker Logs Command Usage Across Codebase | ~320 |
### Jan 1, 2026
**context-engineering.mdx**
| ID | Time | T | Title | Read |
|----|------|---|-------|------|
| #35459 | 8:57 PM | 🔵 | Existing Coding Standards and Anti-Pattern References in Codebase | ~600 |
### Jan 2, 2026
**architecture-evolution.mdx**
| ID | Time | T | Title | Read |
|----|------|---|-------|------|
| #36096 | 10:23 PM | 🔵 | Observation API Function Names Located | ~227 |
### Jan 3, 2026
**architecture-evolution.mdx**
| ID | Time | T | Title | Read |
|----|------|---|-------|------|
| #36353 | 8:42 PM | 🔵 | Multiple observation table definitions found across codebase | ~280 |
### Jan 4, 2026
**hooks-architecture.mdx**
| ID | Time | T | Title | Read |
|----|------|---|-------|------|
| #36941 | 2:43 AM | 🔵 | Context Injection Header Format | ~220 |
### Jan 5, 2026
**CLAUDE.md**
| ID | Time | T | Title | Read |
|----|------|---|-------|------|
| #38082 | 10:13 PM | ✅ | Merge Conflict Resolution - Kept Feature Branch Versions | ~431 |
**progressive-disclosure.mdx**
| ID | Time | T | Title | Read |
|----|------|---|-------|------|
| #38069 | 9:51 PM | 🔵 | Progressive Disclosure Philosophy Documentation | ~546 |
**docs.json**
| ID | Time | T | Title | Read |
|----|------|---|-------|------|
| #38066 | 9:50 PM | ✅ | v9.0 Documentation Audit Completed with 14 Files Updated | ~547 |
| #38064 | " | ⚖️ | 9.0 Release Documentation Audit Complete - Major Gaps Identified | ~997 |
| #38035 | 9:42 PM | 🔵 | Documentation Navigation Structure for 9.0 Release | ~422 |
**modes.mdx**
| ID | Time | T | Title | Read |
|----|------|---|-------|------|
| #38060 | 9:49 PM | 🔵 | Modes System Documentation for Workflow and Language Configuration | ~514 |
**configuration.mdx**
| ID | Time | T | Title | Read |
|----|------|---|-------|------|
| #38054 | 9:47 PM | 🔵 | Configuration Documentation Review - Missing Live Context Settings | ~530 |
**platform-integration.mdx**
| ID | Time | T | Title | Read |
|----|------|---|-------|------|
| #38052 | 9:46 PM | 🔵 | Platform Integration Documentation Review | ~525 |
**hooks-architecture.mdx**
| ID | Time | T | Title | Read |
|----|------|---|-------|------|
| #38045 | 9:45 PM | 🔵 | Hooks Architecture Documentation Review | ~520 |
**introduction.mdx**
| ID | Time | T | Title | Read |
|----|------|---|-------|------|
| #38044 | 9:44 PM | 🔵 | Introduction Documentation Review for 9.0 Release | ~462 |
**context-engineering.mdx**
| ID | Time | T | Title | Read |
|----|------|---|-------|------|
| #38043 | 9:44 PM | 🔵 | Context Engineering Documentation Review | ~455 |
**troubleshooting.mdx**
| ID | Time | T | Title | Read |
|----|------|---|-------|------|
| #37548 | 4:48 PM | ✅ | Issue #543 Analysis Report Created for Slash Command Availability | ~540 |
</claude-mem-context>
+130 -11
View File
@@ -3,28 +3,147 @@
<!-- This section is auto-generated by claude-mem. Edit content outside the tags. -->
### Nov 18, 2025
### Dec 16, 2025
**worker-service.mdx**
| ID | Time | T | Title | Read |
|----|------|---|-------|------|
| #11206 | 3:01 PM | 🔵 | mem-search skill architecture and migration details retrieved in full format | ~538 |
### Nov 21, 2025
| #28299 | 9:57 PM | | Documentation Updated for Renamed MCP Tools | ~305 |
| #28293 | 9:56 PM | 🔵 | get_batch_observations Usage Across Codebase | ~226 |
| #28292 | " | 🔵 | get_batch_observations Referenced in 4 Files | ~246 |
| #28242 | 9:38 PM | 🔵 | Progressive Description and Batch Observations Usage Sites | ~241 |
**search-architecture.mdx**
| ID | Time | T | Title | Read |
|----|------|---|-------|------|
| #13218 | 1:58 AM | 🔴 | Escaped HTML special character in MDX documentation | ~261 |
### Dec 3, 2025
| #28074 | 8:09 PM | 🔵 | Progressive Disclosure Pattern and Search Implementation | ~558 |
| #28067 | " | 🔵 | Progressive Disclosure and Security Architecture | ~528 |
| #28066 | 8:08 PM | 🔵 | Search Architecture Evolution from MCP to Skill-Based | ~530 |
| #28058 | " | 🔵 | Search Architecture Evolution from MCP Tools to Skill-Based HTTP API | ~528 |
**pm2-to-bun-migration.mdx**
| ID | Time | T | Title | Read |
|----|------|---|-------|------|
| #19891 | 9:43 PM | 🔵 | Seven hook scripts across five lifecycle events | ~713 |
| #27716 | 5:41 PM | | Better-sqlite3 References Removed from Codebase | ~319 |
| #27715 | " | 🔵 | Git Branch Already Created | ~208 |
| #27712 | 5:40 PM | 🟣 | Merged PR #332: API-Based Import/Export Architecture | ~372 |
| #27699 | 5:37 PM | 🔵 | Comprehensive PM2 to Bun migration documentation exists | ~360 |
| #27696 | 5:36 PM | 🔵 | Documentation already reflects better-sqlite3 to bun:sqlite migration | ~390 |
| #27695 | " | 🔵 | Better-sqlite3 references found in documentation | ~201 |
| #27687 | 5:32 PM | 🔴 | Corrected Migration Date in PM2 to Bun Documentation | ~270 |
| #27656 | 5:24 PM | ⚖️ | PM2 to Bun Documentation Migration Plan Created | ~551 |
| #27655 | " | 🟣 | PM2 to Bun Documentation Migration Plan Created | ~455 |
| #27654 | 5:22 PM | 🔵 | Complete PM2 Documentation Audit | ~458 |
### Dec 15, 2025
### Dec 17, 2025
**pm2-to-bun-migration.mdx**
| ID | Time | T | Title | Read |
|----|------|---|-------|------|
| #27040 | 6:03 PM | 🔵 | Comprehensive search confirms no 95% claims exist in main branch public documentation | ~508 |
| #27037 | 6:02 PM | 🔵 | Branch switching functionality exists in SettingsRoutes with UI switcher removal intent | ~463 |
| #28930 | 7:30 PM | 🔵 | Worker CLI Distribution and Build System | ~275 |
**worker-service.mdx**
| ID | Time | T | Title | Read |
|----|------|---|-------|------|
| #28929 | 7:30 PM | 🔵 | ProcessManager Usage Across Codebase | ~319 |
### Dec 18, 2025
**database.mdx**
| ID | Time | T | Title | Read |
|----|------|---|-------|------|
| #29815 | 7:33 PM | 🔵 | Database contains multiple session table schemas | ~311 |
### Dec 20, 2025
**worker-service.mdx**
| ID | Time | T | Title | Read |
|----|------|---|-------|------|
| #30675 | 5:08 PM | 🔵 | Platform Documentation Across 18 Files | ~335 |
**overview.mdx**
| ID | Time | T | Title | Read |
|----|------|---|-------|------|
| #30253 | 3:17 PM | 🔵 | Agent SDK Integration Throughout Codebase | ~402 |
### Dec 24, 2025
**hooks.mdx**
| ID | Time | T | Title | Read |
|----|------|---|-------|------|
| #32193 | 7:42 PM | 🔵 | Session completion endpoint usage across codebase | ~278 |
### Dec 25, 2025
**worker-service.mdx**
| ID | Time | T | Title | Read |
|----|------|---|-------|------|
| #32654 | 8:51 PM | 🔵 | Identified multiple files related to queue recovery | ~375 |
| #32456 | 5:41 PM | ✅ | Completed merge of main branch into feature/titans-phase1-3 | ~354 |
| #32432 | 3:41 PM | 🟣 | Manual Queue Recovery System with CLI and API | ~531 |
| #32425 | 3:26 PM | ✅ | API Documentation for Manual Recovery Endpoints Added | ~563 |
### Dec 27, 2025
**hooks.mdx**
| ID | Time | T | Title | Read |
|----|------|---|-------|------|
| #33101 | 7:11 PM | 🔵 | Context Injection API Endpoint Usage Across Hooks | ~358 |
### Dec 28, 2025
**search-architecture.mdx**
| ID | Time | T | Title | Read |
|----|------|---|-------|------|
| #33540 | 10:55 PM | 🔵 | Grep search found mem-search references in internationalized documentation | ~577 |
### Dec 29, 2025
**search-architecture.mdx**
| ID | Time | T | Title | Read |
|----|------|---|-------|------|
| #33769 | 12:37 AM | ✅ | Documentation updated for MCP-based search architecture | ~528 |
| #33767 | 12:34 AM | ✅ | Committed MDX Syntax Fix to updates/docs Branch | ~301 |
| #33766 | " | 🔴 | Fixed MDX Syntax Error in Performance Section | ~293 |
| #33765 | 12:33 AM | 🔵 | Search Architecture Documentation Structure Analysis | ~524 |
| #33763 | 12:27 AM | ✅ | Pull request #480 created for MCP architecture documentation updates | ~423 |
| #33762 | " | ✅ | Architecture shift from skill-based to MCP-based search with 3-layer workflow | ~418 |
| #33760 | 12:26 AM | ✅ | Major documentation overhaul across 6 files with 908 additions | ~367 |
| #33756 | 12:25 AM | ✅ | Documentation Version Reference Removed from Search Architecture | ~257 |
| #33754 | " | ✅ | Removed fabricated version range from skill-based approach comparison | ~318 |
| #33753 | " | ✅ | Documentation Version Number Removed from Architecture Evolution Section | ~233 |
| #33751 | " | 🔵 | Architecture Evolution Documentation Records v6.5.0 Migration | ~227 |
| #33702 | 12:09 AM | ⚖️ | Documentation Update Strategy Finalized for MCP Architecture Transition | ~845 |
| #33698 | 12:07 AM | 🔵 | Search Architecture Documentation Comprehensively Describes Deleted Skill System | ~663 |
| #33680 | 12:03 AM | 🔵 | Search Architecture Documentation Describes Deleted Skill System | ~576 |
### Dec 31, 2025
**pm2-to-bun-migration.mdx**
| ID | Time | T | Title | Read |
|----|------|---|-------|------|
| #34688 | 3:40 PM | 🔵 | Worker Logs Command Usage Across Codebase | ~320 |
### Jan 2, 2026
**database.mdx**
| ID | Time | T | Title | Read |
|----|------|---|-------|------|
| #36096 | 10:23 PM | 🔵 | Observation API Function Names Located | ~227 |
### Jan 3, 2026
**database.mdx**
| ID | Time | T | Title | Read |
|----|------|---|-------|------|
| #36353 | 8:42 PM | 🔵 | Multiple observation table definitions found across codebase | ~280 |
### Jan 5, 2026
**overview.mdx**
| ID | Time | T | Title | Read |
|----|------|---|-------|------|
| #38066 | 9:50 PM | ✅ | v9.0 Documentation Audit Completed with 14 Files Updated | ~547 |
| #38064 | " | ⚖️ | 9.0 Release Documentation Audit Complete - Major Gaps Identified | ~997 |
| #38059 | 9:49 PM | 🔵 | Architecture Overview Documentation Review | ~554 |
</claude-mem-context>
+116 -32
View File
@@ -3,45 +3,129 @@
<!-- This section is auto-generated by claude-mem. Edit content outside the tags. -->
### Nov 18, 2025
| ID | Time | T | Title | Read |
|----|------|---|-------|------|
| #11206 | 3:01 PM | 🔵 | mem-search skill architecture and migration details retrieved in full format | ~538 |
### Dec 3, 2025
| ID | Time | T | Title | Read |
|----|------|---|-------|------|
| #19892 | 9:43 PM | 🔵 | Automatic operation workflow and progressive disclosure strategy | ~780 |
### Dec 10, 2025
| ID | Time | T | Title | Read |
|----|------|---|-------|------|
| #23677 | 8:37 PM | ✅ | Update Export Documentation to Reflect Hybrid Search and Project Filter | ~314 |
| #23675 | " | 🔵 | Export/Import Memory Scripts Documentation | ~399 |
| #23590 | 5:51 PM | 🔵 | Import/Export Feature Status Review | ~490 |
| #23584 | 5:50 PM | 🔵 | Export/Import Documentation | ~405 |
### Dec 14, 2025
| ID | Time | T | Title | Read |
|----|------|---|-------|------|
| #26335 | 9:02 PM | 🔵 | Citation URI Scheme Documentation | ~255 |
### Dec 25, 2025
**gemini-provider.mdx**
| ID | Time | T | Title | Read |
|----|------|---|-------|------|
| #32536 | 7:28 PM | | Updated Gemini provider warning about free tier rate limits | ~185 |
| #32535 | " | ✅ | Updated Gemini provider tip to recommend enabling billing | ~179 |
| #32534 | 7:27 PM | ✅ | Updated Gemini provider warning about rate limits | ~174 |
| #32533 | " | | Updated Gemini provider documentation with rate limit information | ~216 |
| #32789 | 9:49 PM | 🟣 | Gemini AI Provider Integration Merged to Main | ~409 |
**manual-recovery.mdx**
| ID | Time | T | Title | Read |
|----|------|---|-------|------|
| #32654 | 8:51 PM | 🔵 | Identified multiple files related to queue recovery | ~375 |
### Dec 26, 2025
**openrouter-provider.mdx**
| ID | Time | T | Title | Read |
|----|------|---|-------|------|
| #32925 | 10:26 PM | 🔵 | OpenRouter Provider Integration Proposed in PR 448 | ~543 |
| #32924 | 10:21 PM | 🟣 | OpenRouter Provider Documentation | ~501 |
### Dec 28, 2025
**claude-desktop.mdx**
| ID | Time | T | Title | Read |
|----|------|---|-------|------|
| #33651 | 11:44 PM | 🔴 | Migration 17 Wrapped in Transaction with Documentation Updates | ~331 |
| #33650 | 11:43 PM | 🔵 | Code Changes Ready for Token Optimizations PR | ~292 |
| #33648 | " | ✅ | Documentation Installation Steps Renumbered | ~283 |
| #33647 | 11:42 PM | ✅ | Removed Skill Installation Steps from Claude Desktop Documentation | ~347 |
| #33646 | " | ✅ | Updated Documentation to Reflect Streamlined 3-Tool MCP Architecture | ~391 |
| #33643 | 11:41 PM | 🔵 | Documentation Uses Inconsistent Naming for MCP Server | ~403 |
| #33639 | " | 🔵 | Pull Request Review Identified Critical Migration Risk | ~457 |
| #33638 | 11:40 PM | 🔵 | Pull Request Review Identified Critical Migration Risk and Token Optimization Success | ~415 |
| #33636 | 11:35 PM | ✅ | Major Documentation and Code Cleanup Removed 4,929 Lines | ~381 |
| #33598 | 11:15 PM | 🔵 | 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 |
| #33539 | 10:54 PM | ✅ | Updated configuration examples to use mcp-search as MCP server key | ~449 |
| #33538 | " | ✅ | Updated Step 3 installation instructions to reference mcp-search MCP server | ~250 |
| #33537 | " | ✅ | Updated prerequisites documentation to reference mcp-search MCP server | ~266 |
| #33536 | 10:53 PM | 🔵 | Identified documentation file requiring MCP server name update | ~451 |
| #33526 | 10:47 PM | 🔵 | Claude Desktop skill installation guide references mem-search server and skill | ~388 |
**search-tools.mdx**
| ID | Time | T | Title | Read |
|----|------|---|-------|------|
| #33540 | 10:55 PM | 🔵 | Grep search found mem-search references in internationalized documentation | ~577 |
**openrouter-provider.mdx**
| ID | Time | T | Title | Read |
|----|------|---|-------|------|
| #33312 | 3:09 PM | ✅ | OpenRouter Provider Documentation | ~497 |
### Dec 29, 2025
**gemini-provider.mdx**
| ID | Time | T | Title | Read |
|----|------|---|-------|------|
| #34335 | 11:06 PM | 🟣 | Mintlify Documentation Linting Successfully Completed | ~409 |
| #34333 | 11:05 PM | 🔴 | Fixed Broken Links in usage/gemini-provider.mdx | ~285 |
| #34328 | 11:04 PM | 🔵 | Broken Link in Usage Gemini Provider Documentation | ~330 |
| #34320 | 11:03 PM | 🔵 | Mintlify Broken Links Detected in Documentation | ~292 |
| #34103 | 9:05 PM | 🔵 | Gemini Provider Documentation Covers Free Tier and Configuration | ~480 |
**openrouter-provider.mdx**
| ID | Time | T | Title | Read |
|----|------|---|-------|------|
| #34334 | 11:05 PM | 🔴 | Fixed All Broken Links in usage/openrouter-provider.mdx | ~339 |
| #34327 | 11:04 PM | 🔵 | Broken Links in Usage OpenRouter Provider Documentation | ~337 |
**usage**
| ID | Time | T | Title | Read |
|----|------|---|-------|------|
| #34323 | 11:03 PM | 🔵 | Usage Directory Files Confirmed to Exist | ~280 |
**search-tools.mdx**
| ID | Time | T | Title | Read |
|----|------|---|-------|------|
| #33763 | 12:27 AM | ✅ | Pull request #480 created for MCP architecture documentation updates | ~423 |
| #33760 | 12:26 AM | ✅ | Major documentation overhaul across 6 files with 908 additions | ~367 |
| #33702 | 12:09 AM | ⚖️ | Documentation Update Strategy Finalized for MCP Architecture Transition | ~845 |
| #33694 | 12:06 AM | 🔵 | Search Tools Documentation Describes Deleted Skill Architecture | ~615 |
| #33679 | 12:03 AM | 🔵 | Search Tools Documentation Structure and Skill-Based Architecture | ~473 |
**claude-desktop.mdx**
| ID | Time | T | Title | Read |
|----|------|---|-------|------|
| #33703 | 12:10 AM | 🔵 | Final Documentation Review Confirms Update Requirements | ~756 |
| #33699 | 12:08 AM | ✅ | Claude Desktop Documentation Successfully Updated for MCP Tools | ~583 |
| #33689 | 12:05 AM | 🔴 | Migration 17 Transaction Safety and Documentation Updates | ~436 |
| #33681 | 12:03 AM | ✅ | Claude Desktop Documentation Updated for MCP Tools Workflow | ~491 |
| #33675 | 12:02 AM | 🔄 | Major Documentation and Code Cleanup in MCP Clarity Branch | ~491 |
### Jan 4, 2026
**gemini-provider.mdx**
| ID | Time | T | Title | Read |
|----|------|---|-------|------|
| #36751 | 12:32 AM | 🔵 | Gemini-Related Files Located Across Project | ~242 |
### Jan 5, 2026
**folder-context.mdx**
| ID | Time | T | Title | Read |
|----|------|---|-------|------|
| #37508 | 3:21 PM | 🔵 | Private Tags Documentation Defines User Privacy Control Mechanisms | ~748 |
| #38086 | 10:42 PM | | Merged PR with comprehensive CLAUDE.md documentation system | ~478 |
| #38066 | 9:50 PM | ✅ | v9.0 Documentation Audit Completed with 14 Files Updated | ~547 |
| #38064 | " | ⚖️ | 9.0 Release Documentation Audit Complete - Major Gaps Identified | ~997 |
| #38053 | 9:47 PM | 🔵 | Folder Context Documentation Exists But Marked As Disabled By Default | ~616 |
**getting-started.mdx**
| ID | Time | T | Title | Read |
|----|------|---|-------|------|
| #38042 | 9:44 PM | 🔵 | Getting Started Documentation Review for Live Context Gap | ~411 |
**claude-desktop.mdx**
| ID | Time | T | Title | Read |
|----|------|---|-------|------|
| #37617 | 5:32 PM | ⚖️ | PR #558 Review Requirements Categorized by Priority | ~637 |
| #37561 | 4:50 PM | 🔵 | Claude Desktop mem-search Skill Documentation Confirms Platform-Specific Feature | ~393 |
**private-tags.mdx**
| ID | Time | T | Title | Read |
|----|------|---|-------|------|
| #37512 | 3:22 PM | 🔵 | Privacy Tag System Release History and Documentation Evolution | ~749 |
| #37505 | 3:21 PM | 🔵 | Comprehensive Dual-Tag Privacy System Architecture and Implementation Details | ~915 |
</claude-mem-context>
@@ -0,0 +1,296 @@
# Windows Woes: Comprehensive Report
**Date:** 2026-01-06
**Coverage:** October 2025 - January 2026
**Memory Sources:** 100+ observations from claude-mem
## Executive Summary
The claude-mem project has faced significant Windows platform challenges, requiring extensive architectural changes and ongoing maintenance. The issues fall into four major categories:
1. **Zombie Port Problem** - Bun's socket cleanup bug on Windows
2. **Console Window Popups** - PowerShell/cmd windows appearing during hook execution
3. **Process Management** - Orphaned processes, cleanup failures, multi-session conflicts
4. **Path & Shell Compatibility** - PowerShell escaping, Git Bash conflicts, PATH detection
## Timeline of Major Issues & Fixes
### Phase 1: Initial Windows Support (Oct-Nov 2025)
| Date | Issue | Fix |
|------|-------|-----|
| Oct 27 | Hardcoded Unix paths | Cross-platform path refactoring |
| Nov 5 | Windows installation failures | Smart caching installer created |
| Nov 6 | PM2 ENOENT bug | Released v5.1.1 with fix |
| Nov 11 | Worker crashes on Windows | Investigation started |
### Phase 2: Worker Reliability Crisis (Dec 2025)
| Date | Issue | Fix | PR/Version |
|------|-------|-----|------------|
| Dec 4 | Console windows appearing | Added `windowsHide` parameter | - |
| Dec 9 | Multiple Windows bugs | Released v7.0.4 | @kat-bell |
| Dec 13 | libuv crash from process.type hack | Removed workaround | v7.1.7 |
| Dec 15 | Console popups on Windows 11 | Investigation (Issues #304, #330) | - |
| Dec 16 | Zombie processes persist | Considered Bun self-executable | - |
| Dec 17 | **Comprehensive stabilization** | PR #378 merged | v7.3.7 |
### Phase 3: Ongoing Challenges (Dec 2025 - Jan 2026)
| Date | Issue | Status |
|------|-------|--------|
| Dec 27 | Multi-session hangs with libuv assertion failures | Investigated |
| Dec 28 | Lock acquisition ENOENT errors | PR #470 fixes |
| Dec 29 | Windows stability refactoring | PR #492 |
| Jan 4 | PowerShell `$_` escaping in Git Bash (Issue #517) | **NOT FIXED** |
| Jan 5 | Windows hooks IPC issues (Issue #555) | **OPEN** |
---
## Issue Category 1: Zombie Port Problem
### The Problem
Bun runtime has a known bug on Windows where socket handles aren't properly released when the worker process exits. This causes "zombie ports" that remain bound even after all processes terminate, requiring system reboot to clear.
### The Solution: Worker Wrapper Architecture
**Implemented:** December 17, 2025 (PR #372 by @ToxMox)
A two-tier process architecture was introduced:
```
ProcessManager
└── worker-wrapper.cjs (no sockets, manages lifecycle)
└── worker-service.cjs (HTTP server on port 37777)
├── MCP server
└── ChromaSync
```
**How it works:**
1. `worker-wrapper.cjs` spawns as outer process with no socket bindings
2. Actual worker runs as child process with IPC communication
3. On restart/shutdown, wrapper uses `taskkill /T /F` to kill entire process tree
4. Wrapper exits itself - since it holds no sockets, port is properly released
**Files modified (14 files, +665/-249 lines):**
- `src/services/worker-wrapper.ts` (152 lines, new)
- `src/services/process/ProcessManager.ts`
- `src/services/worker-service.ts`
- All hook scripts
- Build system
### Known Limitation
**Issue:** The hooks don't set `CLAUDE_MEM_MANAGED=true` environment variable, so the managed restart code path (lines 314-330 of worker-service.ts) is never activated. Every session runs the "standalone Windows" code path which lacks proper serialization.
---
## Issue Category 2: Console Window Popups
### The Problem
Windows users on Windows 11 reported multiple PowerShell/cmd popup windows appearing during Claude Code usage, disrupting user input. Issue #367 specifically noted these popups were stealing keyboard focus.
### The Solution: Standardized windowsHide
**Implemented:** December 17, 2025 (PR #378)
- All `child_process.spawn()` calls now include `windowsHide: true`
- PowerShell spawning uses `Start-Process -WindowStyle Hidden`
- ChromaSync MCP transport includes windowsHide option
**Affected components:**
- ProcessManager subprocess spawning
- ChromaSync Python subprocess
- All hook executions
### Worker Logs Revealed Additional Issue
Worker logs showed failed orphaned process cleanup using Unix commands (`ps`, `grep`) that don't exist on Windows. This required implementing Windows-specific process enumeration using PowerShell's `Get-CimInstance`.
---
## Issue Category 3: Process Management
### 3.1 Orphaned Process Cleanup
**The Problem:** Child processes (chroma-mcp Python processes) accumulate over time, holding socket descriptors and preventing worker restart.
**The Solution (PR #378):**
```typescript
// Windows: Recursive process tree enumeration
const cmd = `powershell -Command "Get-CimInstance Win32_Process | Where-Object { $_.Name -like '*python*' -and $_.CommandLine -like '*chroma-mcp*' } | Select-Object -ExpandProperty ProcessId"`;
```
**Security:** Triple PID validation at lines 287, 306, 327 to prevent command injection.
### 3.2 Multi-Session Conflicts
**The Problem (Dec 27):** Running multiple concurrent Claude sessions causes the second session to hang indefinitely with:
- libuv assertion failure: `!(handle->flags & UV_HANDLE_CLOSING)`
- SessionStart hook error: "Worker failed to restart"
**Root Cause Analysis:**
1. SessionStart hook calls restart without locking mechanism
2. Two sessions simultaneously trigger `httpShutdown()`, `waitForPortFree()`, `spawn()`
3. `waitForPortFree()` polls for only 10 seconds (Windows TCP TIME_WAIT: 30-60s)
4. Child processes inherit socket descriptors, blocking port 37777
5. `cleanupOrphanedProcesses()` runs AFTER worker starts instead of during shutdown
**Proposed Fix:** File-based mutex to prevent concurrent restart operations.
### 3.3 Lock Acquisition ENOENT Errors
**The Problem (Dec 28):** On Windows, the `.claude-mem` directory can be in flux during filesystem operations, causing `worker.lock` file access to fail with ENOENT.
**The Solution (PR #470):**
```typescript
// Retry up to 3 times, creating DATA_DIR between attempts
for (let i = 0; i < 3; i++) {
try {
return await acquireLock();
} catch (e) {
if (e.code === 'ENOENT') {
await mkdir(DATA_DIR, { recursive: true });
}
}
}
```
---
## Issue Category 4: Path & Shell Compatibility
### 4.1 PowerShell `$_` Variable Escaping (Issue #517)
**Status:** NOT FIXED as of v8.5.7
**The Problem:** When running in Git Bash or WSL, Bash interprets `$_` before PowerShell receives it. This affects:
- `cleanupOrphanedProcesses()` (lines 170-172)
- `getChildProcesses()` (lines 91-92)
**Current Code (problematic):**
```typescript
const cmd = `powershell -Command "Get-CimInstance Win32_Process | Where-Object { $_.Name -like '*python*' ..."`;
```
**Recommended Fix:** Use WMIC instead:
```typescript
const cmd = `wmic process where "name like '%python%' and commandline like '%chroma-mcp%'" get processid /format:list`;
```
### 4.2 Bun PATH Detection
**The Problem:** Windows users with non-standard Bun installations get unhelpful error messages.
**The Solution (Dec 17):**
Enhanced `getBunPathOrThrow()` with Windows-specific troubleshooting:
- Verification command: `bun --version`
- PATH check for `%USERPROFILE%\.bun\bin`
- Reference to GitHub issue #371
- Link to troubleshooting docs
### 4.3 PowerShell String Escaping
**The Solution:** `escapePowerShellString()` function doubles single quotes for safety when constructing PowerShell commands.
---
## Timeout Adjustments
Windows requires longer timeouts due to slower filesystem and process operations:
| Setting | Unix | Windows | Multiplier |
|---------|------|---------|------------|
| Worker startup | 15s | 30s | 2.0x |
| Hook execution | 5s | 10s | 2.0x |
| Port free check | 5s | 10s | 2.0x |
| Process cleanup | 30s | 60s | 2.0x |
---
## CI/CD for Windows
**Implemented:** December 17, 2025
`.github/workflows/windows-ci.yml` tests:
- Worker process lifecycle (startup/shutdown)
- Rapid restart scenarios
- Bun PATH detection
- Port cleanup verification
- Zombie process detection
**Note:** Windows CI was later removed due to testing challenges.
---
## Currently Open Windows Issues
| Issue | Title | Severity |
|-------|-------|----------|
| #517 | PowerShell `$_` escaping in Git Bash | Medium |
| #555 | Windows hooks IPC false | High |
| #324 | Windows 11 64-bit system issues | Unknown |
---
## Key Contributors
- **@ToxMox** - Worker wrapper architecture (PR #372), zombie port fix
- **@kat-bell** - Windows plugin installation fixes (v7.0.4)
- **Claude Opus 4.5** - Co-authored many Windows stabilization commits
---
## Architectural Decisions
### Why Worker Wrapper?
The two-process architecture was chosen over alternatives like:
- Bun self-executable packaging (considered but not implemented)
- PM2 process management (replaced due to Windows issues)
- Native Node.js (abandoned due to windowsHide limitations with detached processes)
### Why PowerShell over cmd.exe?
PowerShell provides:
- `Get-CimInstance` for WMI process enumeration
- `-WindowStyle Hidden` for truly hidden windows
- Better handling of complex command strings
### Why Keep Windows Code?
December 20, 2025 decision documented:
- Active Windows users evidenced by bug reports
- 20+ Windows-specific commits with recent fixes
- Critical functionality that can't be removed
- Comprehensive documentation ensures maintainability
---
## Recommendations
1. **Implement file-based mutex** for worker restart serialization
2. **Fix Issue #517** by switching to WMIC or proper escaping
3. **Increase waitForPortFree timeout** to 60s for Windows TIME_WAIT
4. **Run cleanup BEFORE worker startup** instead of after
5. **Set CLAUDE_MEM_MANAGED=true** in hooks.json to activate managed mode
6. **Consider Windows ARM64** - currently uses x64 emulation
---
## References
### Key PRs
- PR #372: Worker wrapper architecture
- PR #377/#378: Comprehensive Windows stabilization
- PR #470: Lock acquisition retry
- PR #492: Worker service refactoring
### Key Versions
- v5.1.1: PM2 ENOENT fix
- v7.0.4: Windows installation fixes
- v7.1.7: libuv crash fix
- v7.3.7: Platform stabilization
### Documentation
- https://docs.claude-mem.ai/troubleshooting/windows-issues
- `docs/context/windows-code-evaluation.md`
- `docs/PM2-TO-BUN-MIGRATION.md`
+7
View File
@@ -157,4 +157,11 @@
| ID | Time | T | Title | Read |
|----|------|---|-------|------|
| #37547 | 4:47 PM | ✅ | Issue #557 Analysis Report Created for Plugin Startup Failure | ~491 |
### Jan 6, 2026
**2026-01-06--windows-woes-comprehensive-report.md**
| ID | Time | T | Title | Read |
|----|------|---|-------|------|
| #38109 | 12:16 AM | ✅ | Comprehensive Windows Woes Report Generated from Memory Search | ~826 |
</claude-mem-context>
+3 -3
View File
@@ -14,9 +14,6 @@
| #33483 | " | ✅ | Synchronized Plugin Metadata Version to 8.2.6 | ~183 |
| #33478 | 10:34 PM | 🔵 | Plugin Metadata Configuration Structure | ~195 |
| #33477 | " | 🔵 | Current Version Across Package Files is 8.2.5 | ~185 |
| #33311 | 3:09 PM | ✅ | Version 8.2.3 Release Deployed with Worker Stability Improvements | ~434 |
| #33300 | 3:08 PM | ✅ | Version 8.2.4 Released with Full Automation Pipeline | ~357 |
| #33281 | 3:07 PM | ✅ | Released v8.2.1 with Worker Lifecycle Hardening | ~332 |
### Dec 29, 2025
@@ -98,6 +95,9 @@
**plugin.json**
| ID | Time | T | Title | Read |
|----|------|---|-------|------|
| #38093 | 10:44 PM | ✅ | Committed version bump to 9.0.0 | ~217 |
| #38091 | " | ✅ | Version bumped to 9.0.0 in plugin.json | ~187 |
| #38087 | 10:43 PM | 🔵 | Current version identified as 8.5.10 across all version files | ~200 |
| #37548 | 4:48 PM | ✅ | Issue #543 Analysis Report Created for Slash Command Availability | ~540 |
| #37532 | 4:43 PM | 🔵 | Plugin Metadata Missing Slash Command Registration | ~372 |
</claude-mem-context>
+5 -2
View File
@@ -17,8 +17,6 @@
| #33997 | 7:10 PM | ✅ | Version Bumped to 8.2.10 | ~179 |
| #33996 | " | 🟣 | Built claude-mem v8.2.10 with all hooks and services | ~387 |
| #33982 | 7:08 PM | ✅ | Staged Version Mismatch Fix Changes | ~333 |
| #33951 | 6:42 PM | ✅ | Project Build Completed for Version 8.2.9 | ~326 |
| #33877 | 5:02 PM | 🟣 | Phase 1 build process successfully tested with worker source copying | ~372 |
### Dec 30, 2025
@@ -77,6 +75,11 @@
### Jan 5, 2026
**package.json**
| ID | Time | T | Title | Read |
|----|------|---|-------|------|
| #38092 | 10:44 PM | ✅ | Built version 9.0.0 with complete plugin bundle | ~329 |
**.mcp.json**
| ID | Time | T | Title | Read |
|----|------|---|-------|------|
+88 -10
View File
@@ -3,29 +3,107 @@
<!-- This section is auto-generated by claude-mem. Edit content outside the tags. -->
### Oct 25, 2025
### Dec 27, 2025
**hooks.json**
| ID | Time | T | Title | Read |
|----|------|---|-------|------|
| #2518 | 11:47 PM | 🔴 | Removed Invalid 'matcher' Field from SessionStart Hook | ~228 |
| #2517 | " | 🔵 | Project hooks.json Template Also Empty | ~222 |
| #2501 | 11:11 PM | 🔵 | Context Hook Fails Due to Missing @anthropic-ai/sdk Dependency | ~245 |
| #33090 | 7:05 PM | 🔵 | Claude-mem hook configuration reviewed for session disconnect investigation | ~331 |
| #33038 | 5:14 PM | 🔵 | PR 462 Code Review Identifies Critical Endpoint Mismatch and Worker Restart Issues | ~475 |
| #33025 | 5:00 PM | 🟣 | Automated worker restart on plugin updates | ~391 |
| #33017 | 4:57 PM | ✅ | Auto-Restart Feature Deployed to Production Version 8.2.2 | ~367 |
| #33014 | 4:56 PM | 🔄 | SessionStart Hook Reordered for Immediate Worker Restart | ~380 |
| #33012 | " | 🔵 | Plugin Hook Chain Orchestrates Worker Lifecycle | ~412 |
| #33007 | 4:54 PM | 🔵 | Worker Service Lifecycle and Version Mismatch Detection Analysis | ~530 |
| #33006 | 4:47 PM | 🔴 | Changed SessionStart hook from restart to start command | ~311 |
| #33001 | 4:44 PM | ⚖️ | Lockfile-Based Concurrency Control for Windows Multi-Session Fix | ~513 |
| #32996 | 4:42 PM | ⚖️ | Implementation Plan: Atomic Lockfile Strategy for Windows Concurrency Fix | ~639 |
| #32995 | 4:40 PM | 🔵 | Critical Finding: Windows Managed Mode Not Activated in Hooks | ~657 |
### Oct 27, 2025
### Dec 28, 2025
**hooks.json**
| ID | Time | T | Title | Read |
|----|------|---|-------|------|
| #2718 | 12:00 AM | 🔴 | Removed incorrect failOnError configuration from hook | ~165 |
| #33323 | 3:09 PM | 🔴 | Fixed Windows multi-session worker race condition causing hangs | ~513 |
| #33318 | " | 🔴 | Fixed Worker Auto-Restart Shutdown Endpoint and Port Configuration | ~411 |
| #33284 | 3:07 PM | 🔄 | Consolidated Worker Lifecycle Management (-580 Lines) | ~327 |
| #33271 | 2:59 PM | ⚖️ | Plan Created to Fix Worker Lifecycle in 8 Phases | ~399 |
| #33269 | " | 🔵 | PR #456 Broke Worker Background Execution | ~365 |
| #33266 | 2:58 PM | 🟣 | Test coverage for self-spawn worker pattern | ~391 |
| #33263 | " | 🔴 | Increased timeout limits across system for slow systems compatibility | ~463 |
### Nov 18, 2025
### Dec 29, 2025
**hooks.json**
| ID | Time | T | Title | Read |
|----|------|---|-------|------|
| #11518 | 8:22 PM | 🔵 | Smart Contextualization Switched from Skill to HTTP API | ~498 |
| #33960 | 7:00 PM | 🔵 | Hook Chain Architecture in hooks.json | ~389 |
| #33905 | 5:18 PM | 🟣 | Platform-Native Worker Executable Compilation | ~498 |
| #33895 | 5:13 PM | 🟣 | Implemented install-time worker executable compilation | ~423 |
| #33888 | 5:12 PM | ✅ | Worker Service Command Simplified in Plugin Hooks | ~251 |
| #33869 | 4:47 PM | 🔵 | Claude Code Hook System Integration for Memory Lifecycle Management | ~477 |
| #33868 | " | ⚖️ | Windows standalone executable implementation plan designed | ~590 |
| #33858 | 4:34 PM | 🔵 | Hook execution configuration uses mixed node and bun commands | ~402 |
| #33854 | 4:33 PM | 🔵 | Worker service build and execution architecture mapped | ~509 |
### Dec 24, 2025
### Dec 30, 2025
**hooks.json**
| ID | Time | T | Title | Read |
|----|------|---|-------|------|
| #32309 | 3:09 PM | 🔵 | Claude-mem hooks system configuration structure | ~435 |
| #34392 | 1:41 PM | 🔵 | Plugin Hooks Architecture Shows No Cleanup Hook for Session Termination | ~396 |
### Dec 31, 2025
**hooks.json**
| ID | Time | T | Title | Read |
|----|------|---|-------|------|
| #34687 | 3:39 PM | 🔵 | Hook Configuration Uses CLAUDE_PLUGIN_ROOT Environment Variable | ~387 |
### Jan 2, 2026
**hooks.json**
| ID | Time | T | Title | Read |
|----|------|---|-------|------|
| #35911 | 2:51 PM | 🔵 | Hooks.json Defines Timeout Values For Hook Execution | ~361 |
### Jan 4, 2026
**hooks.json**
| ID | Time | T | Title | Read |
|----|------|---|-------|------|
| #36937 | 2:36 AM | 🔵 | Matcher Line History - Added November 2025 | ~203 |
| #36936 | 2:34 AM | 🔵 | Current SessionStart Hook Configuration Analysis | ~338 |
| #36935 | " | 🔵 | PR #541 Changes - Matcher Removal in SessionStart Hook | ~263 |
### Jan 5, 2026
**hooks.json**
| ID | Time | T | Title | Read |
|----|------|---|-------|------|
| #38100 | 10:46 PM | 🔵 | Legacy hooks.json still references Bun runtime | ~393 |
| #38057 | 9:48 PM | ✅ | Live Context Branch Changes Hook Runtime from Bun Back to Node | ~449 |
| #38048 | 9:45 PM | 🔴 | PR #558 - Comprehensive Bug Fix and Test Quality Improvement | ~585 |
| #37617 | 5:32 PM | ⚖️ | PR #558 Review Requirements Categorized by Priority | ~637 |
| #37613 | 5:31 PM | 🔵 | PR #558 Review Feedback Analysis | ~544 |
| #37604 | 4:59 PM | 🔴 | Phase 4 Committed - Hook Runtime Mismatch Fixed | ~377 |
| #37603 | " | ✅ | Phase 4 Corrected - smart-install.js Restored to node Runtime | ~385 |
| #37602 | 4:58 PM | ✅ | Reverted smart-install.js to node Runtime | ~301 |
| #37597 | 4:57 PM | 🔴 | Phase 4 Complete - All Hooks Now Use bun Runtime | ~386 |
| #37596 | " | ✅ | Phase 4 Verification - All Commands Now Use bun Runtime | ~325 |
| #37595 | 4:56 PM | 🔴 | Fixed All Hook Commands to Use bun Runtime | ~364 |
| #37594 | " | 🔵 | hooks.json Contains Mixed node and bun Runtime Commands | ~377 |
| #37558 | 4:49 PM | 🔵 | Issue #555 Windows Hook Execution Patterns and Fix Strategy Documented | ~510 |
| #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 |
| #37531 | 4:43 PM | 🔵 | Plugin Hook Configuration and Lifecycle Definition | ~424 |
### Jan 6, 2026
**hooks.json**
| 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 |
</claude-mem-context>
+1 -1
View File
@@ -1,6 +1,6 @@
{
"name": "claude-mem-plugin",
"version": "8.5.10",
"version": "9.0.0",
"private": true,
"description": "Runtime dependencies for claude-mem bundled hooks",
"type": "module",
+105 -109
View File
@@ -3,143 +3,139 @@
<!-- This section is auto-generated by claude-mem. Edit content outside the tags. -->
### Nov 10, 2025
### Jan 2, 2026
**context-generator.cjs**
| ID | Time | T | Title | Read |
|----|------|---|-------|------|
| #6429 | 3:41 PM | 🔵 | Stop Hook and Summary Generation Context Issue Identified | ~477 |
### Nov 17, 2025
| #35982 | 5:09 PM | | Built and deployed claude-mem version 8.5.4 with LogsModal UI component | ~295 |
| #35901 | 2:49 PM | 🔵 | PR #525 File Changes Summary | ~376 |
**worker-service.cjs**
| ID | Time | T | Title | Read |
|----|------|---|-------|------|
| #10177 | 1:40 PM | 🔵 | Database Schema and Migration System in context-hook.js | ~425 |
### Nov 19, 2025
| #35976 | 4:48 PM | | Claude-mem build and marketplace sync completed | ~335 |
| #35925 | 2:53 PM | ✅ | Built Project for Version 8.5.4 Release | ~294 |
| #35815 | 2:26 PM | ✅ | Claude-mem plugin built and deployed to marketplace | ~381 |
**new-hook.js**
| ID | Time | T | Title | Read |
|----|------|---|-------|------|
| #12149 | 7:28 PM | 🔵 | Read save-hook.js minified source code | ~184 |
### Nov 21, 2025
| #35952 | 4:42 PM | 🔵 | Hook and Session Test Coverage Discovery | ~323 |
**context-hook.js**
| ID | Time | T | Title | Read |
|----|------|---|-------|------|
| #13085 | 12:51 AM | 🔵 | Main branch handleSessionInit always starts generator immediately after initialization | ~557 |
| #13084 | " | 🔵 | Main branch observation handler queues observations and auto-starts generator | ~527 |
| #13083 | " | 🔵 | Key difference found between main and current branch in new-hook.js | ~432 |
| #13082 | 12:50 AM | 🔵 | Session lifecycle tracking implementation in new-hook.js | ~486 |
| #13053 | 12:32 AM | 🔵 | Worker Service Database Query Patterns | ~327 |
| #13052 | " | 🔵 | Save-hook.js Architecture and Endless Mode Implementation | ~492 |
| #35873 | 2:39 PM | | Claude-mem plugin synced to marketplace version 8.5.3 | ~261 |
### Dec 1, 2025
### Jan 3, 2026
**context-generator.cjs**
| ID | Time | T | Title | Read |
|----|------|---|-------|------|
| #18480 | 3:39 PM | ✅ | Successfully Rebuilt Plugin After Merge Conflict Resolution | ~294 |
### Dec 4, 2025
| #36687 | 11:53 PM | ✅ | MCP SDK and esbuild Dependencies Updated | ~332 |
| #36353 | 8:42 PM | 🔵 | Multiple observation table definitions found across codebase | ~280 |
| #36304 | 8:06 PM | 🔄 | Git Status: Phase 4 Changes Ready for Commit | ~570 |
**new-hook.js**
| ID | Time | T | Title | Read |
|----|------|---|-------|------|
| #20052 | 3:23 PM | | Built and deployed version 6.5.2 to marketplace | ~321 |
### Dec 7, 2025
| #36682 | 11:45 PM | 🔵 | Build System Successfully Compiles All Hooks and Services | ~290 |
**worker-service.cjs**
| ID | Time | T | Title | Read |
|----|------|---|-------|------|
| #21251 | 6:06 PM | 🔵 | Context Hook Plugin Architecture and Worker Communication | ~405 |
### Dec 8, 2025
| #36670 | 11:37 PM | | Resolved merge conflicts by accepting branch changes for 39 files | ~435 |
| #36291 | 8:03 PM | 🔄 | Build Verification: Phase 3 & 4 Refactoring Compiles Successfully | ~545 |
**context-hook.js**
| ID | Time | T | Title | Read |
|----|------|---|-------|------|
| #22092 | 6:40 PM | 🔵 | Queue Depth Check Not Found in Minified Code | ~217 |
| #22091 | " | 🔵 | Save Hook Script Structure Revealed | ~472 |
| #22085 | 6:34 PM | 🔵 | Examined pre-tool-use-hook.js implementation showing timing-only logic | ~330 |
### Dec 9, 2025
| ID | Time | T | Title | Read |
|----|------|---|-------|------|
| #22557 | 1:08 AM | ✅ | Build completed for version 7.0.3 | ~342 |
### Dec 10, 2025
| ID | Time | T | Title | Read |
|----|------|---|-------|------|
| #23444 | 2:25 PM | 🟣 | Build Pipeline Execution Successful | ~293 |
### Dec 11, 2025
| ID | Time | T | Title | Read |
|----|------|---|-------|------|
| #24057 | 2:56 PM | ✅ | Hook Scripts Shebang Verification | ~294 |
| #24056 | 2:55 PM | ✅ | Worker CLI Shebang Verification | ~258 |
| #24055 | " | ✅ | Build Successful with Bun Runtime Shebangs | ~355 |
### Dec 12, 2025
| ID | Time | T | Title | Read |
|----|------|---|-------|------|
| #24636 | 10:46 PM | 🔵 | Duplicate Smart Install Scripts in Project Structure | ~288 |
| #24635 | " | 🔵 | Claude-Mem Smart Install Script Architecture | ~371 |
| #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 |
| #24357 | " | ✅ | Removed createRequire Import from smart-install.js | ~284 |
| #24356 | " | ✅ | Removed Native Module Verification from main() Function | ~384 |
| #24355 | " | ✅ | Removed better-sqlite3 Error Detection from runNpmInstall() | ~324 |
| #24354 | 6:58 PM | ✅ | Removed getWindowsErrorHelp() Function from smart-install.js | ~356 |
| #24353 | " | ✅ | Removed verifyNativeModules() Function from smart-install.js | ~340 |
| #24352 | " | ✅ | Removed better-sqlite3 Existence Check from needsInstall() | ~266 |
| #24351 | " | ✅ | Removed BETTER_SQLITE3_PATH Constant from smart-install.js | ~226 |
| #24344 | 6:56 PM | 🔵 | smart-install.js Contains Obsolete better-sqlite3 Dependencies | ~380 |
### Dec 13, 2025
| ID | Time | T | Title | Read |
|----|------|---|-------|------|
| #25286 | 8:41 PM | 🔵 | New Hook Fails with Node.js Path Error | ~298 |
| #25285 | " | 🔵 | Context Hook Runs Successfully with Node.js | ~306 |
| #25283 | " | 🔵 | Bun Wrapper Analysis: Fallback Detection System | ~416 |
### Dec 14, 2025
| ID | Time | T | Title | Read |
|----|------|---|-------|------|
| #26800 | 11:39 PM | ✅ | Version 7.2.3 Build Complete With Worker Restart Fix | ~394 |
| #26791 | 11:38 PM | ✅ | Phase 3 Complete: Project Built Successfully With Worker Restart Fix | ~446 |
| #26720 | 11:23 PM | 🔵 | Smart Install Handles Dependencies But No Worker Coordination | ~468 |
| #26719 | " | 🔵 | Worker CLI Provides Start/Stop/Restart Commands With Health Check Validation | ~490 |
| #26718 | " | 🔵 | Worker CLI Restart Implementation Details | ~452 |
| #26717 | 11:22 PM | 🔵 | Context Hook Worker Startup Logic Handles Initial Start But Not Post-Update Restart | ~485 |
| #26716 | " | 🔵 | Context Hook Worker Startup Logic Revealed | ~538 |
| #26715 | " | 🔵 | Smart Install Script Handles Dependency Installation Without Worker Restart | ~430 |
| #26052 | 7:13 PM | 🔵 | Examined Minified Context Hook Source Code | ~285 |
| #25686 | 4:22 PM | 🔵 | SessionRoutes tracks missing last_user_message errors at two different locations | ~456 |
| #25685 | " | 🔵 | Progress summary generation system uses Claude to create XML-formatted session checkpoints | ~461 |
### Dec 16, 2025
| ID | Time | T | Title | Read |
|----|------|---|-------|------|
| #27554 | 4:48 PM | ✅ | Project built successfully with version 7.3.1 | ~306 |
### Dec 17, 2025
| ID | Time | T | Title | Read |
|----|------|---|-------|------|
| #28924 | 7:29 PM | 🔵 | Plugin MCP Server Uses Bun Runtime | ~283 |
### Dec 26, 2025
| ID | Time | T | Title | Read |
|----|------|---|-------|------|
| #32983 | 11:04 PM | 🟣 | Complete build and deployment pipeline executed | ~260 |
| #36111 | 3:43 PM | 🔵 | Plugin Hook System Architecture | ~243 |
### Jan 4, 2026
**worker-service.cjs**
| ID | Time | T | Title | Read |
|----|------|---|-------|------|
| #36873 | 1:55 AM | 🔵 | Smart-Install Script Analyzed for Homebrew Path Implementation | ~466 |
| #36926 | 2:26 AM | | Git rebase aborted and working directory restored | ~242 |
| #36701 | 12:01 AM | ✅ | Built Version 8.5.7 Plugin Artifacts | ~406 |
**smart-install.js**
| 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 |
| #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 |
| #36809 | 12:56 AM | 🟣 | GitHub Issue #527 Anti-Pattern Verification Complete - All Checks Passed | ~495 |
| #36807 | " | 🟣 | Final Verification Confirms Complete Apple Silicon Homebrew Implementation | ~430 |
| #36804 | 12:55 AM | 🟣 | Built File Syntax Validation Passed - Issue #527 Complete | ~378 |
| #36802 | " | 🟣 | Verified Built File Homebrew Path Count | ~398 |
| #36800 | 12:54 AM | 🟣 | Completed All Five Apple Silicon Homebrew Path Updates for GitHub Issue #527 | ~563 |
| #36799 | " | 🟣 | Added Apple Silicon Homebrew Path to plugin installBun Post-Installation Verification | ~456 |
| #36798 | " | 🟣 | Added Apple Silicon Homebrew Path to plugin isUvInstalled Function | ~436 |
| #36797 | 12:53 AM | 🟣 | Added Apple Silicon Homebrew Path to plugin getBunPath Function | ~443 |
| #36796 | " | 🟣 | Added Apple Silicon Homebrew Path to plugin isBunInstalled Function | ~427 |
| #36795 | 12:52 AM | 🟣 | GitHub Issue #527 Completed - Apple Silicon Homebrew Path Support | ~550 |
| #36794 | 12:51 AM | 🔵 | Built File Plugin smart-install.js Requires Apple Silicon Path Updates | ~442 |
| #36772 | 12:42 AM | 🔵 | Smart Install Script Path Arrays Analysis Complete | ~448 |
| #36761 | 12:36 AM | ✅ | Created Implementation Plans for Four GitHub Issues | ~507 |
| #36721 | 12:15 AM | 🔵 | Issue #527 UV Homebrew Path Missing on Apple Silicon | ~492 |
| #36719 | " | 🔵 | Issue #527 uv Homebrew Detection Missing on Apple Silicon Macs | ~526 |
**new-hook.js**
| ID | Time | T | Title | Read |
|----|------|---|-------|------|
| #36921 | 2:25 AM | ✅ | Project built successfully with all hooks and services | ~240 |
### Jan 5, 2026
**worker-service.cjs**
| ID | Time | T | Title | Read |
|----|------|---|-------|------|
| #38092 | 10:44 PM | ✅ | Built version 9.0.0 with complete plugin bundle | ~329 |
| #38036 | 9:43 PM | 🟣 | Configurable Observation Limits and Enhanced Folder Search | ~418 |
| #37981 | 8:34 PM | 🔴 | Fixed date parsing bug in worker assets | ~268 |
| #37610 | 5:04 PM | ✅ | Committed Rebuilt Plugin Scripts After Source Changes | ~432 |
**context-generator.cjs**
| ID | Time | T | Title | Read |
|----|------|---|-------|------|
| #38082 | 10:13 PM | ✅ | Merge Conflict Resolution - Kept Feature Branch Versions | ~431 |
| #38076 | 9:53 PM | 🟣 | Worktree-Aware Project Filtering for Unified Timeline Context | ~578 |
| #37574 | 4:52 PM | ✅ | Phase 1 Changes Ready for Commit | ~351 |
**context-hook.js**
| ID | Time | T | Title | Read |
|----|------|---|-------|------|
| #38048 | 9:45 PM | 🔴 | PR #558 - Comprehensive Bug Fix and Test Quality Improvement | ~585 |
**user-message-hook.js**
| ID | Time | T | Title | Read |
|----|------|---|-------|------|
| #37990 | 9:00 PM | 🔵 | CLAUDE_MEM_WORKER_HOST setting used across 19 files | ~289 |
**smart-install.js**
| ID | Time | T | Title | Read |
|----|------|---|-------|------|
| #37558 | 4:49 PM | 🔵 | Issue #555 Windows Hook Execution Patterns and Fix Strategy Documented | ~510 |
| #37548 | 4:48 PM | ✅ | Issue #543 Analysis Report Created for Slash Command Availability | ~540 |
**worker-wrapper.cjs**
| ID | Time | T | Title | Read |
|----|------|---|-------|------|
| #37553 | 4:48 PM | 🔵 | Windows Worker Wrapper Process Management Implementation | ~456 |
### Jan 6, 2026
**cleanup-hook.js**
| ID | Time | T | Title | Read |
|----|------|---|-------|------|
| #38108 | 12:15 AM | 🔵 | Complete Windows Zombie Port Bug Technical Deep Dive | ~935 |
**bun-wrapper.cjs**
| ID | Time | T | Title | Read |
|----|------|---|-------|------|
| #38104 | 12:14 AM | 🔵 | Windows Compatibility Issues Documented Across 56 Memory Entries | ~509 |
</claude-mem-context>
File diff suppressed because one or more lines are too long
+8 -8
View File
@@ -1,13 +1,13 @@
#!/usr/bin/env bun
import{stdin as L}from"process";import C from"path";import{homedir as X}from"os";import{readFileSync as V}from"fs";import{readFileSync as x,writeFileSync as w,existsSync as F}from"fs";import{join as b}from"path";import{homedir as j}from"os";var U="bugfix,feature,refactor,discovery,decision,change",h="how-it-works,why-it-exists,what-changed,problem-solution,gotcha,pattern,trade-off";var c=class{static DEFAULTS={CLAUDE_MEM_MODEL:"claude-sonnet-4-5",CLAUDE_MEM_CONTEXT_OBSERVATIONS:"50",CLAUDE_MEM_WORKER_PORT:"37777",CLAUDE_MEM_WORKER_HOST:"127.0.0.1",CLAUDE_MEM_SKIP_TOOLS:"ListMcpResourcesTool,SlashCommand,Skill,TodoWrite,AskUserQuestion",CLAUDE_MEM_PROVIDER:"claude",CLAUDE_MEM_GEMINI_API_KEY:"",CLAUDE_MEM_GEMINI_MODEL:"gemini-2.5-flash-lite",CLAUDE_MEM_GEMINI_RATE_LIMITING_ENABLED:"true",CLAUDE_MEM_OPENROUTER_API_KEY:"",CLAUDE_MEM_OPENROUTER_MODEL:"xiaomi/mimo-v2-flash:free",CLAUDE_MEM_OPENROUTER_SITE_URL:"",CLAUDE_MEM_OPENROUTER_APP_NAME:"claude-mem",CLAUDE_MEM_OPENROUTER_MAX_CONTEXT_MESSAGES:"20",CLAUDE_MEM_OPENROUTER_MAX_TOKENS:"100000",CLAUDE_MEM_DATA_DIR:b(j(),".claude-mem"),CLAUDE_MEM_LOG_LEVEL:"INFO",CLAUDE_MEM_PYTHON_VERSION:"3.13",CLAUDE_CODE_PATH:"",CLAUDE_MEM_MODE:"code",CLAUDE_MEM_CONTEXT_SHOW_READ_TOKENS:"true",CLAUDE_MEM_CONTEXT_SHOW_WORK_TOKENS:"true",CLAUDE_MEM_CONTEXT_SHOW_SAVINGS_AMOUNT:"true",CLAUDE_MEM_CONTEXT_SHOW_SAVINGS_PERCENT:"true",CLAUDE_MEM_CONTEXT_OBSERVATION_TYPES:U,CLAUDE_MEM_CONTEXT_OBSERVATION_CONCEPTS:h,CLAUDE_MEM_CONTEXT_FULL_COUNT:"5",CLAUDE_MEM_CONTEXT_FULL_FIELD:"narrative",CLAUDE_MEM_CONTEXT_SESSION_COUNT:"10",CLAUDE_MEM_CONTEXT_SHOW_LAST_SUMMARY:"true",CLAUDE_MEM_CONTEXT_SHOW_LAST_MESSAGE:"false"};static getAllDefaults(){return{...this.DEFAULTS}}static get(t){return this.DEFAULTS[t]}static getInt(t){let r=this.get(t);return parseInt(r,10)}static getBool(t){return this.get(t)==="true"}static loadFromFile(t){try{if(!F(t))return this.getAllDefaults();let r=x(t,"utf-8"),e=JSON.parse(r),n=e;if(e.env&&typeof e.env=="object"){n=e.env;try{w(t,JSON.stringify(n,null,2),"utf-8"),a.info("SETTINGS","Migrated settings file from nested to flat schema",{settingsPath:t})}catch(s){a.warn("SETTINGS","Failed to auto-migrate settings file",{settingsPath:t},s)}}let i={...this.DEFAULTS};for(let s of Object.keys(this.DEFAULTS))n[s]!==void 0&&(i[s]=n[s]);return i}catch(r){return a.warn("SETTINGS","Failed to load settings, using defaults",{settingsPath:t},r),this.getAllDefaults()}}};import{appendFileSync as H,existsSync as G,mkdirSync as K}from"fs";import{join as O}from"path";var M=(i=>(i[i.DEBUG=0]="DEBUG",i[i.INFO=1]="INFO",i[i.WARN=2]="WARN",i[i.ERROR=3]="ERROR",i[i.SILENT=4]="SILENT",i))(M||{}),S=class{level=null;useColor;logFilePath=null;constructor(){this.useColor=process.stdout.isTTY??!1,this.initializeLogFile()}initializeLogFile(){try{let t=c.get("CLAUDE_MEM_DATA_DIR"),r=O(t,"logs");G(r)||K(r,{recursive:!0});let e=new Date().toISOString().split("T")[0];this.logFilePath=O(r,`claude-mem-${e}.log`)}catch(t){console.error("[LOGGER] Failed to initialize log file:",t),this.logFilePath=null}}getLevel(){if(this.level===null)try{let t=c.get("CLAUDE_MEM_DATA_DIR"),r=O(t,"settings.json"),n=c.loadFromFile(r).CLAUDE_MEM_LOG_LEVEL.toUpperCase();this.level=M[n]??1}catch(t){console.error("[LOGGER] Failed to load settings, using INFO level:",t),this.level=1}return this.level}correlationId(t,r){return`obs-${t}-${r}`}sessionId(t){return`session-${t}`}formatData(t){if(t==null)return"";if(typeof t=="string")return t;if(typeof t=="number"||typeof t=="boolean")return t.toString();if(typeof t=="object"){if(t instanceof Error)return this.getLevel()===0?`${t.message}
${t.stack}`:t.message;if(Array.isArray(t))return`[${t.length} items]`;let r=Object.keys(t);return r.length===0?"{}":r.length<=3?JSON.stringify(t):`{${r.length} keys: ${r.slice(0,3).join(", ")}...}`}return String(t)}formatTool(t,r){if(!r)return t;let e=typeof r=="string"?JSON.parse(r):r;if(t==="Bash"&&e.command)return`${t}(${e.command})`;if(e.file_path)return`${t}(${e.file_path})`;if(e.notebook_path)return`${t}(${e.notebook_path})`;if(t==="Glob"&&e.pattern)return`${t}(${e.pattern})`;if(t==="Grep"&&e.pattern)return`${t}(${e.pattern})`;if(e.url)return`${t}(${e.url})`;if(e.query)return`${t}(${e.query})`;if(t==="Task"){if(e.subagent_type)return`${t}(${e.subagent_type})`;if(e.description)return`${t}(${e.description})`}return t==="Skill"&&e.skill?`${t}(${e.skill})`:t==="LSP"&&e.operation?`${t}(${e.operation})`:t}formatTimestamp(t){let r=t.getFullYear(),e=String(t.getMonth()+1).padStart(2,"0"),n=String(t.getDate()).padStart(2,"0"),i=String(t.getHours()).padStart(2,"0"),s=String(t.getMinutes()).padStart(2,"0"),E=String(t.getSeconds()).padStart(2,"0"),l=String(t.getMilliseconds()).padStart(3,"0");return`${r}-${e}-${n} ${i}:${s}:${E}.${l}`}log(t,r,e,n,i){if(t<this.getLevel())return;let s=this.formatTimestamp(new Date),E=M[t].padEnd(5),l=r.padEnd(6),_="";n?.correlationId?_=`[${n.correlationId}] `:n?.sessionId&&(_=`[session-${n.sessionId}] `);let g="";i!=null&&(i instanceof Error?g=this.getLevel()===0?`
import{stdin as A}from"process";import C from"path";import{homedir as z}from"os";import{readFileSync as q}from"fs";import{appendFileSync as j,existsSync as h,mkdirSync as H,readFileSync as G}from"fs";import{join as T}from"path";import{homedir as K}from"os";var O=(i=>(i[i.DEBUG=0]="DEBUG",i[i.INFO=1]="INFO",i[i.WARN=2]="WARN",i[i.ERROR=3]="ERROR",i[i.SILENT=4]="SILENT",i))(O||{}),U=T(K(),".claude-mem"),M=class{level=null;useColor;logFilePath=null;logFileInitialized=!1;constructor(){this.useColor=process.stdout.isTTY??!1}ensureLogFileInitialized(){if(!this.logFileInitialized){this.logFileInitialized=!0;try{let t=T(U,"logs");h(t)||H(t,{recursive:!0});let r=new Date().toISOString().split("T")[0];this.logFilePath=T(t,`claude-mem-${r}.log`)}catch(t){console.error("[LOGGER] Failed to initialize log file:",t),this.logFilePath=null}}}getLevel(){if(this.level===null)try{let t=T(U,"settings.json");if(h(t)){let r=G(t,"utf-8"),n=(JSON.parse(r).CLAUDE_MEM_LOG_LEVEL||"INFO").toUpperCase();this.level=O[n]??1}else this.level=1}catch{this.level=1}return this.level}correlationId(t,r){return`obs-${t}-${r}`}sessionId(t){return`session-${t}`}formatData(t){if(t==null)return"";if(typeof t=="string")return t;if(typeof t=="number"||typeof t=="boolean")return t.toString();if(typeof t=="object"){if(t instanceof Error)return this.getLevel()===0?`${t.message}
${t.stack}`:t.message;if(Array.isArray(t))return`[${t.length} items]`;let r=Object.keys(t);return r.length===0?"{}":r.length<=3?JSON.stringify(t):`{${r.length} keys: ${r.slice(0,3).join(", ")}...}`}return String(t)}formatTool(t,r){if(!r)return t;let e=r;if(typeof r=="string")try{e=JSON.parse(r)}catch{e=r}if(t==="Bash"&&e.command)return`${t}(${e.command})`;if(e.file_path)return`${t}(${e.file_path})`;if(e.notebook_path)return`${t}(${e.notebook_path})`;if(t==="Glob"&&e.pattern)return`${t}(${e.pattern})`;if(t==="Grep"&&e.pattern)return`${t}(${e.pattern})`;if(e.url)return`${t}(${e.url})`;if(e.query)return`${t}(${e.query})`;if(t==="Task"){if(e.subagent_type)return`${t}(${e.subagent_type})`;if(e.description)return`${t}(${e.description})`}return t==="Skill"&&e.skill?`${t}(${e.skill})`:t==="LSP"&&e.operation?`${t}(${e.operation})`:t}formatTimestamp(t){let r=t.getFullYear(),e=String(t.getMonth()+1).padStart(2,"0"),n=String(t.getDate()).padStart(2,"0"),i=String(t.getHours()).padStart(2,"0"),s=String(t.getMinutes()).padStart(2,"0"),E=String(t.getSeconds()).padStart(2,"0"),c=String(t.getMilliseconds()).padStart(3,"0");return`${r}-${e}-${n} ${i}:${s}:${E}.${c}`}log(t,r,e,n,i){if(t<this.getLevel())return;this.ensureLogFileInitialized();let s=this.formatTimestamp(new Date),E=O[t].padEnd(5),c=r.padEnd(6),a="";n?.correlationId?a=`[${n.correlationId}] `:n?.sessionId&&(a=`[session-${n.sessionId}] `);let _="";i!=null&&(i instanceof Error?_=this.getLevel()===0?`
${i.message}
${i.stack}`:` ${i.message}`:this.getLevel()===0&&typeof i=="object"?g=`
`+JSON.stringify(i,null,2):g=" "+this.formatData(i));let f="";if(n){let{sessionId:R,memorySessionId:nt,correlationId:ot,...d}=n;Object.keys(d).length>0&&(f=` {${Object.entries(d).map(([v,W])=>`${v}=${W}`).join(", ")}}`)}let D=`[${s}] [${E}] [${l}] ${_}${e}${f}${g}`;if(this.logFilePath)try{H(this.logFilePath,D+`
`,"utf8")}catch(R){process.stderr.write(`[LOGGER] Failed to write to log file: ${R}
${i.stack}`:` ${i.message}`:this.getLevel()===0&&typeof i=="object"?_=`
`+JSON.stringify(i,null,2):_=" "+this.formatData(i));let p="";if(n){let{sessionId:d,memorySessionId:at,correlationId:lt,...R}=n;Object.keys(R).length>0&&(p=` {${Object.entries(R).map(([x,b])=>`${x}=${b}`).join(", ")}}`)}let D=`[${s}] [${E}] [${c}] ${a}${e}${p}${_}`;if(this.logFilePath)try{j(this.logFilePath,D+`
`,"utf8")}catch(d){process.stderr.write(`[LOGGER] Failed to write to log file: ${d}
`)}else process.stderr.write(D+`
`)}debug(t,r,e,n){this.log(0,t,r,e,n)}info(t,r,e,n){this.log(1,t,r,e,n)}warn(t,r,e,n){this.log(2,t,r,e,n)}error(t,r,e,n){this.log(3,t,r,e,n)}dataIn(t,r,e,n){this.info(t,`\u2192 ${r}`,e,n)}dataOut(t,r,e,n){this.info(t,`\u2190 ${r}`,e,n)}success(t,r,e,n){this.info(t,`\u2713 ${r}`,e,n)}failure(t,r,e,n){this.error(t,`\u2717 ${r}`,e,n)}timing(t,r,e,n){this.info(t,`\u23F1 ${r}`,n,{duration:`${e}ms`})}happyPathError(t,r,e,n,i=""){let _=((new Error().stack||"").split(`
`)[2]||"").match(/at\s+(?:.*\s+)?\(?([^:]+):(\d+):(\d+)\)?/),g=_?`${_[1].split("/").pop()}:${_[2]}`:"unknown",f={...e,location:g};return this.warn(t,`[HAPPY-PATH] ${r}`,f,n),i}},a=new S;var m={DEFAULT:3e5,HEALTH_CHECK:3e4,WORKER_STARTUP_WAIT:1e3,WORKER_STARTUP_RETRIES:300,PRE_RESTART_SETTLE_DELAY:2e3,WINDOWS_MULTIPLIER:1.5};function N(o){return process.platform==="win32"?Math.round(o*m.WINDOWS_MULTIPLIER):o}function I(o={}){let{port:t,includeSkillFallback:r=!1,customPrefix:e,actualError:n}=o,i=e||"Worker service connection failed.",s=t?` (port ${t})`:"",E=`${i}${s}
`)}debug(t,r,e,n){this.log(0,t,r,e,n)}info(t,r,e,n){this.log(1,t,r,e,n)}warn(t,r,e,n){this.log(2,t,r,e,n)}error(t,r,e,n){this.log(3,t,r,e,n)}dataIn(t,r,e,n){this.info(t,`\u2192 ${r}`,e,n)}dataOut(t,r,e,n){this.info(t,`\u2190 ${r}`,e,n)}success(t,r,e,n){this.info(t,`\u2713 ${r}`,e,n)}failure(t,r,e,n){this.error(t,`\u2717 ${r}`,e,n)}timing(t,r,e,n){this.info(t,`\u23F1 ${r}`,n,{duration:`${e}ms`})}happyPathError(t,r,e,n,i=""){let a=((new Error().stack||"").split(`
`)[2]||"").match(/at\s+(?:.*\s+)?\(?([^:]+):(\d+):(\d+)\)?/),_=a?`${a[1].split("/").pop()}:${a[2]}`:"unknown",p={...e,location:_};return this.warn(t,`[HAPPY-PATH] ${r}`,p,n),i}},l=new M;var m={DEFAULT:3e5,HEALTH_CHECK:3e4,WORKER_STARTUP_WAIT:1e3,WORKER_STARTUP_RETRIES:300,PRE_RESTART_SETTLE_DELAY:2e3,WINDOWS_MULTIPLIER:1.5};function N(o){return process.platform==="win32"?Math.round(o*m.WINDOWS_MULTIPLIER):o}import{readFileSync as X,writeFileSync as P,existsSync as y,mkdirSync as V}from"fs";import{join as Y,dirname as B}from"path";import{homedir as J}from"os";var I="bugfix,feature,refactor,discovery,decision,change",k="how-it-works,why-it-exists,what-changed,problem-solution,gotcha,pattern,trade-off";var g=class{static DEFAULTS={CLAUDE_MEM_MODEL:"claude-sonnet-4-5",CLAUDE_MEM_CONTEXT_OBSERVATIONS:"50",CLAUDE_MEM_WORKER_PORT:"37777",CLAUDE_MEM_WORKER_HOST:"127.0.0.1",CLAUDE_MEM_SKIP_TOOLS:"ListMcpResourcesTool,SlashCommand,Skill,TodoWrite,AskUserQuestion",CLAUDE_MEM_PROVIDER:"claude",CLAUDE_MEM_GEMINI_API_KEY:"",CLAUDE_MEM_GEMINI_MODEL:"gemini-2.5-flash-lite",CLAUDE_MEM_GEMINI_RATE_LIMITING_ENABLED:"true",CLAUDE_MEM_OPENROUTER_API_KEY:"",CLAUDE_MEM_OPENROUTER_MODEL:"xiaomi/mimo-v2-flash:free",CLAUDE_MEM_OPENROUTER_SITE_URL:"",CLAUDE_MEM_OPENROUTER_APP_NAME:"claude-mem",CLAUDE_MEM_OPENROUTER_MAX_CONTEXT_MESSAGES:"20",CLAUDE_MEM_OPENROUTER_MAX_TOKENS:"100000",CLAUDE_MEM_DATA_DIR:Y(J(),".claude-mem"),CLAUDE_MEM_LOG_LEVEL:"INFO",CLAUDE_MEM_PYTHON_VERSION:"3.13",CLAUDE_CODE_PATH:"",CLAUDE_MEM_MODE:"code",CLAUDE_MEM_CONTEXT_SHOW_READ_TOKENS:"true",CLAUDE_MEM_CONTEXT_SHOW_WORK_TOKENS:"true",CLAUDE_MEM_CONTEXT_SHOW_SAVINGS_AMOUNT:"true",CLAUDE_MEM_CONTEXT_SHOW_SAVINGS_PERCENT:"true",CLAUDE_MEM_CONTEXT_OBSERVATION_TYPES:I,CLAUDE_MEM_CONTEXT_OBSERVATION_CONCEPTS:k,CLAUDE_MEM_CONTEXT_FULL_COUNT:"5",CLAUDE_MEM_CONTEXT_FULL_FIELD:"narrative",CLAUDE_MEM_CONTEXT_SESSION_COUNT:"10",CLAUDE_MEM_CONTEXT_SHOW_LAST_SUMMARY:"true",CLAUDE_MEM_CONTEXT_SHOW_LAST_MESSAGE:"false"};static getAllDefaults(){return{...this.DEFAULTS}}static get(t){return this.DEFAULTS[t]}static getInt(t){let r=this.get(t);return parseInt(r,10)}static getBool(t){return this.get(t)==="true"}static loadFromFile(t){try{if(!y(t)){let s=this.getAllDefaults();try{let E=B(t);y(E)||V(E,{recursive:!0}),P(t,JSON.stringify(s,null,2),"utf-8"),console.log("[SETTINGS] Created settings file with defaults:",t)}catch(E){console.warn("[SETTINGS] Failed to create settings file, using in-memory defaults:",t,E)}return s}let r=X(t,"utf-8"),e=JSON.parse(r),n=e;if(e.env&&typeof e.env=="object"){n=e.env;try{P(t,JSON.stringify(n,null,2),"utf-8"),console.log("[SETTINGS] Migrated settings file from nested to flat schema:",t)}catch(s){console.warn("[SETTINGS] Failed to auto-migrate settings file:",t,s)}}let i={...this.DEFAULTS};for(let s of Object.keys(this.DEFAULTS))n[s]!==void 0&&(i[s]=n[s]);return i}catch(r){return console.warn("[SETTINGS] Failed to load settings, using defaults:",t,r),this.getAllDefaults()}}};function $(o={}){let{port:t,includeSkillFallback:r=!1,customPrefix:e,actualError:n}=o,i=e||"Worker service connection failed.",s=t?` (port ${t})`:"",E=`${i}${s}
`;return E+=`To restart the worker:
`,E+=`1. Exit Claude Code completely
@@ -16,4 +16,4 @@ ${i.stack}`:` ${i.message}`:this.getLevel()===0&&typeof i=="object"?g=`
If that doesn't work, try: /troubleshoot`),n&&(E=`Worker Error: ${n}
${E}`),E}var Y=C.join(X(),".claude","plugins","marketplaces","thedotmack"),dt=N(m.HEALTH_CHECK),T=null;function u(){if(T!==null)return T;let o=C.join(c.get("CLAUDE_MEM_DATA_DIR"),"settings.json"),t=c.loadFromFile(o);return T=parseInt(t.CLAUDE_MEM_WORKER_PORT,10),T}async function B(){let o=u();return(await fetch(`http://127.0.0.1:${o}/api/readiness`)).ok}function J(){let o=C.join(Y,"package.json");return JSON.parse(V(o,"utf-8")).version}async function z(){let o=u(),t=await fetch(`http://127.0.0.1:${o}/api/version`);if(!t.ok)throw new Error(`Failed to get worker version: ${t.status}`);return(await t.json()).version}async function q(){let o=J(),t=await z();o!==t&&a.debug("SYSTEM","Version check",{pluginVersion:o,workerVersion:t,note:"Mismatch will be auto-restarted by worker-service start command"})}async function P(){for(let r=0;r<75;r++){try{if(await B()){await q();return}}catch(e){a.debug("SYSTEM","Worker health check failed, will retry",{attempt:r+1,maxRetries:75,error:e instanceof Error?e.message:String(e)})}await new Promise(e=>setTimeout(e,200))}throw new Error(I({port:u(),customPrefix:"Worker did not become ready within 15 seconds."}))}import tt from"path";import{statSync as Q,readFileSync as Z}from"fs";import A from"path";var p={isWorktree:!1,worktreeName:null,parentRepoPath:null,parentProjectName:null};function k(o){let t=A.join(o,".git"),r;try{r=Q(t)}catch{return p}if(!r.isFile())return p;let e;try{e=Z(t,"utf-8").trim()}catch{return p}let n=e.match(/^gitdir:\s*(.+)$/);if(!n)return p;let s=n[1].match(/^(.+)[/\\]\.git[/\\]worktrees[/\\]([^/\\]+)$/);if(!s)return p;let E=s[1],l=A.basename(o),_=A.basename(E);return{isWorktree:!0,worktreeName:l,parentRepoPath:E,parentProjectName:_}}function et(o){if(!o||o.trim()==="")return a.warn("PROJECT_NAME","Empty cwd provided, using fallback",{cwd:o}),"unknown-project";let t=tt.basename(o);if(t===""){if(process.platform==="win32"){let e=o.match(/^([A-Z]):\\/i);if(e){let i=`drive-${e[1].toUpperCase()}`;return a.info("PROJECT_NAME","Drive root detected",{cwd:o,projectName:i}),i}}return a.warn("PROJECT_NAME","Root directory detected, using fallback",{cwd:o}),"unknown-project"}return t}function y(o){let t=et(o);if(!o)return{primary:t,parent:null,isWorktree:!1,allProjects:[t]};let r=k(o);return r.isWorktree&&r.parentProjectName?{primary:t,parent:r.parentProjectName,isWorktree:!0,allProjects:[r.parentProjectName,t]}:{primary:t,parent:null,isWorktree:!1,allProjects:[t]}}async function $(o){await P();let t=o?.cwd??process.cwd(),r=y(t),e=u(),n=r.allProjects.join(","),i=`http://127.0.0.1:${e}/api/context/inject?projects=${encodeURIComponent(n)}`,s=await fetch(i);if(!s.ok)throw new Error(`Context generation failed: ${s.status}`);return(await s.text()).trim()}var rt=process.argv.includes("--colors");if(L.isTTY||rt)$(void 0).then(o=>{console.log(o),process.exit(0)});else{let o="";L.on("data",t=>o+=t),L.on("end",async()=>{let t;try{t=o.trim()?JSON.parse(o):void 0}catch(e){throw new Error(`Failed to parse hook input: ${e instanceof Error?e.message:String(e)}`)}let r=await $(t);console.log(JSON.stringify({hookSpecificOutput:{hookEventName:"SessionStart",additionalContext:r}})),process.exit(0)})}
${E}`),E}var Q=C.join(z(),".claude","plugins","marketplaces","thedotmack"),It=N(m.HEALTH_CHECK),S=null;function u(){if(S!==null)return S;let o=C.join(g.get("CLAUDE_MEM_DATA_DIR"),"settings.json"),t=g.loadFromFile(o);return S=parseInt(t.CLAUDE_MEM_WORKER_PORT,10),S}async function Z(){let o=u();return(await fetch(`http://127.0.0.1:${o}/api/readiness`)).ok}function tt(){let o=C.join(Q,"package.json");return JSON.parse(q(o,"utf-8")).version}async function et(){let o=u(),t=await fetch(`http://127.0.0.1:${o}/api/version`);if(!t.ok)throw new Error(`Failed to get worker version: ${t.status}`);return(await t.json()).version}async function rt(){let o=tt(),t=await et();o!==t&&l.debug("SYSTEM","Version check",{pluginVersion:o,workerVersion:t,note:"Mismatch will be auto-restarted by worker-service start command"})}async function v(){for(let r=0;r<75;r++){try{if(await Z()){await rt();return}}catch(e){l.debug("SYSTEM","Worker health check failed, will retry",{attempt:r+1,maxRetries:75,error:e instanceof Error?e.message:String(e)})}await new Promise(e=>setTimeout(e,200))}throw new Error($({port:u(),customPrefix:"Worker did not become ready within 15 seconds."}))}import it from"path";import{statSync as nt,readFileSync as ot}from"fs";import L from"path";var f={isWorktree:!1,worktreeName:null,parentRepoPath:null,parentProjectName:null};function W(o){let t=L.join(o,".git"),r;try{r=nt(t)}catch{return f}if(!r.isFile())return f;let e;try{e=ot(t,"utf-8").trim()}catch{return f}let n=e.match(/^gitdir:\s*(.+)$/);if(!n)return f;let s=n[1].match(/^(.+)[/\\]\.git[/\\]worktrees[/\\]([^/\\]+)$/);if(!s)return f;let E=s[1],c=L.basename(o),a=L.basename(E);return{isWorktree:!0,worktreeName:c,parentRepoPath:E,parentProjectName:a}}function st(o){if(!o||o.trim()==="")return l.warn("PROJECT_NAME","Empty cwd provided, using fallback",{cwd:o}),"unknown-project";let t=it.basename(o);if(t===""){if(process.platform==="win32"){let e=o.match(/^([A-Z]):\\/i);if(e){let i=`drive-${e[1].toUpperCase()}`;return l.info("PROJECT_NAME","Drive root detected",{cwd:o,projectName:i}),i}}return l.warn("PROJECT_NAME","Root directory detected, using fallback",{cwd:o}),"unknown-project"}return t}function F(o){let t=st(o);if(!o)return{primary:t,parent:null,isWorktree:!1,allProjects:[t]};let r=W(o);return r.isWorktree&&r.parentProjectName?{primary:t,parent:r.parentProjectName,isWorktree:!0,allProjects:[r.parentProjectName,t]}:{primary:t,parent:null,isWorktree:!1,allProjects:[t]}}async function w(o){await v();let t=o?.cwd??process.cwd(),r=F(t),e=u(),n=r.allProjects.join(","),i=`http://127.0.0.1:${e}/api/context/inject?projects=${encodeURIComponent(n)}`,s=await fetch(i);if(!s.ok)throw new Error(`Context generation failed: ${s.status}`);return(await s.text()).trim()}var Et=process.argv.includes("--colors");if(A.isTTY||Et)w(void 0).then(o=>{console.log(o),process.exit(0)});else{let o="";A.on("data",t=>o+=t),A.on("end",async()=>{let t;try{t=o.trim()?JSON.parse(o):void 0}catch(e){throw new Error(`Failed to parse hook input: ${e instanceof Error?e.message:String(e)}`)}let r=await w(t);console.log(JSON.stringify({hookSpecificOutput:{hookEventName:"SessionStart",additionalContext:r}})),process.exit(0)})}
+14 -14
View File
@@ -1,19 +1,19 @@
#!/usr/bin/env bun
import{stdin as k}from"process";var f=JSON.stringify({continue:!0,suppressOutput:!0});import A from"path";import{homedir as K}from"os";import{readFileSync as G}from"fs";import{readFileSync as b,writeFileSync as v,existsSync as w}from"fs";import{join as W}from"path";import{homedir as F}from"os";var R="bugfix,feature,refactor,discovery,decision,change",h="how-it-works,why-it-exists,what-changed,problem-solution,gotcha,pattern,trade-off";var c=class{static DEFAULTS={CLAUDE_MEM_MODEL:"claude-sonnet-4-5",CLAUDE_MEM_CONTEXT_OBSERVATIONS:"50",CLAUDE_MEM_WORKER_PORT:"37777",CLAUDE_MEM_WORKER_HOST:"127.0.0.1",CLAUDE_MEM_SKIP_TOOLS:"ListMcpResourcesTool,SlashCommand,Skill,TodoWrite,AskUserQuestion",CLAUDE_MEM_PROVIDER:"claude",CLAUDE_MEM_GEMINI_API_KEY:"",CLAUDE_MEM_GEMINI_MODEL:"gemini-2.5-flash-lite",CLAUDE_MEM_GEMINI_RATE_LIMITING_ENABLED:"true",CLAUDE_MEM_OPENROUTER_API_KEY:"",CLAUDE_MEM_OPENROUTER_MODEL:"xiaomi/mimo-v2-flash:free",CLAUDE_MEM_OPENROUTER_SITE_URL:"",CLAUDE_MEM_OPENROUTER_APP_NAME:"claude-mem",CLAUDE_MEM_OPENROUTER_MAX_CONTEXT_MESSAGES:"20",CLAUDE_MEM_OPENROUTER_MAX_TOKENS:"100000",CLAUDE_MEM_DATA_DIR:W(F(),".claude-mem"),CLAUDE_MEM_LOG_LEVEL:"INFO",CLAUDE_MEM_PYTHON_VERSION:"3.13",CLAUDE_CODE_PATH:"",CLAUDE_MEM_MODE:"code",CLAUDE_MEM_CONTEXT_SHOW_READ_TOKENS:"true",CLAUDE_MEM_CONTEXT_SHOW_WORK_TOKENS:"true",CLAUDE_MEM_CONTEXT_SHOW_SAVINGS_AMOUNT:"true",CLAUDE_MEM_CONTEXT_SHOW_SAVINGS_PERCENT:"true",CLAUDE_MEM_CONTEXT_OBSERVATION_TYPES:R,CLAUDE_MEM_CONTEXT_OBSERVATION_CONCEPTS:h,CLAUDE_MEM_CONTEXT_FULL_COUNT:"5",CLAUDE_MEM_CONTEXT_FULL_FIELD:"narrative",CLAUDE_MEM_CONTEXT_SESSION_COUNT:"10",CLAUDE_MEM_CONTEXT_SHOW_LAST_SUMMARY:"true",CLAUDE_MEM_CONTEXT_SHOW_LAST_MESSAGE:"false"};static getAllDefaults(){return{...this.DEFAULTS}}static get(t){return this.DEFAULTS[t]}static getInt(t){let r=this.get(t);return parseInt(r,10)}static getBool(t){return this.get(t)==="true"}static loadFromFile(t){try{if(!w(t))return this.getAllDefaults();let r=b(t,"utf-8"),e=JSON.parse(r),n=e;if(e.env&&typeof e.env=="object"){n=e.env;try{v(t,JSON.stringify(n,null,2),"utf-8"),E.info("SETTINGS","Migrated settings file from nested to flat schema",{settingsPath:t})}catch(a){E.warn("SETTINGS","Failed to auto-migrate settings file",{settingsPath:t},a)}}let s={...this.DEFAULTS};for(let a of Object.keys(this.DEFAULTS))n[a]!==void 0&&(s[a]=n[a]);return s}catch(r){return E.warn("SETTINGS","Failed to load settings, using defaults",{settingsPath:t},r),this.getAllDefaults()}}};import{appendFileSync as H,existsSync as x,mkdirSync as j}from"fs";import{join as T}from"path";var S=(s=>(s[s.DEBUG=0]="DEBUG",s[s.INFO=1]="INFO",s[s.WARN=2]="WARN",s[s.ERROR=3]="ERROR",s[s.SILENT=4]="SILENT",s))(S||{}),M=class{level=null;useColor;logFilePath=null;constructor(){this.useColor=process.stdout.isTTY??!1,this.initializeLogFile()}initializeLogFile(){try{let t=c.get("CLAUDE_MEM_DATA_DIR"),r=T(t,"logs");x(r)||j(r,{recursive:!0});let e=new Date().toISOString().split("T")[0];this.logFilePath=T(r,`claude-mem-${e}.log`)}catch(t){console.error("[LOGGER] Failed to initialize log file:",t),this.logFilePath=null}}getLevel(){if(this.level===null)try{let t=c.get("CLAUDE_MEM_DATA_DIR"),r=T(t,"settings.json"),n=c.loadFromFile(r).CLAUDE_MEM_LOG_LEVEL.toUpperCase();this.level=S[n]??1}catch(t){console.error("[LOGGER] Failed to load settings, using INFO level:",t),this.level=1}return this.level}correlationId(t,r){return`obs-${t}-${r}`}sessionId(t){return`session-${t}`}formatData(t){if(t==null)return"";if(typeof t=="string")return t;if(typeof t=="number"||typeof t=="boolean")return t.toString();if(typeof t=="object"){if(t instanceof Error)return this.getLevel()===0?`${t.message}
${t.stack}`:t.message;if(Array.isArray(t))return`[${t.length} items]`;let r=Object.keys(t);return r.length===0?"{}":r.length<=3?JSON.stringify(t):`{${r.length} keys: ${r.slice(0,3).join(", ")}...}`}return String(t)}formatTool(t,r){if(!r)return t;let e=typeof r=="string"?JSON.parse(r):r;if(t==="Bash"&&e.command)return`${t}(${e.command})`;if(e.file_path)return`${t}(${e.file_path})`;if(e.notebook_path)return`${t}(${e.notebook_path})`;if(t==="Glob"&&e.pattern)return`${t}(${e.pattern})`;if(t==="Grep"&&e.pattern)return`${t}(${e.pattern})`;if(e.url)return`${t}(${e.url})`;if(e.query)return`${t}(${e.query})`;if(t==="Task"){if(e.subagent_type)return`${t}(${e.subagent_type})`;if(e.description)return`${t}(${e.description})`}return t==="Skill"&&e.skill?`${t}(${e.skill})`:t==="LSP"&&e.operation?`${t}(${e.operation})`:t}formatTimestamp(t){let r=t.getFullYear(),e=String(t.getMonth()+1).padStart(2,"0"),n=String(t.getDate()).padStart(2,"0"),s=String(t.getHours()).padStart(2,"0"),a=String(t.getMinutes()).padStart(2,"0"),i=String(t.getSeconds()).padStart(2,"0"),l=String(t.getMilliseconds()).padStart(3,"0");return`${r}-${e}-${n} ${s}:${a}:${i}.${l}`}log(t,r,e,n,s){if(t<this.getLevel())return;let a=this.formatTimestamp(new Date),i=S[t].padEnd(5),l=r.padEnd(6),_="";n?.correlationId?_=`[${n.correlationId}] `:n?.sessionId&&(_=`[session-${n.sessionId}] `);let g="";s!=null&&(s instanceof Error?g=this.getLevel()===0?`
${s.message}
${s.stack}`:` ${s.message}`:this.getLevel()===0&&typeof s=="object"?g=`
`+JSON.stringify(s,null,2):g=" "+this.formatData(s));let u="";if(n){let{sessionId:D,memorySessionId:Q,correlationId:Z,...d}=n;Object.keys(d).length>0&&(u=` {${Object.entries(d).map(([y,$])=>`${y}=${$}`).join(", ")}}`)}let C=`[${a}] [${i}] [${l}] ${_}${e}${u}${g}`;if(this.logFilePath)try{H(this.logFilePath,C+`
`,"utf8")}catch(D){process.stderr.write(`[LOGGER] Failed to write to log file: ${D}
import{stdin as b}from"process";var T=JSON.stringify({continue:!0,suppressOutput:!0});import L from"path";import{homedir as Y}from"os";import{readFileSync as J}from"fs";import{appendFileSync as F,existsSync as h,mkdirSync as H,readFileSync as x}from"fs";import{join as f}from"path";import{homedir as j}from"os";var S=(i=>(i[i.DEBUG=0]="DEBUG",i[i.INFO=1]="INFO",i[i.WARN=2]="WARN",i[i.ERROR=3]="ERROR",i[i.SILENT=4]="SILENT",i))(S||{}),R=f(j(),".claude-mem"),M=class{level=null;useColor;logFilePath=null;logFileInitialized=!1;constructor(){this.useColor=process.stdout.isTTY??!1}ensureLogFileInitialized(){if(!this.logFileInitialized){this.logFileInitialized=!0;try{let t=f(R,"logs");h(t)||H(t,{recursive:!0});let r=new Date().toISOString().split("T")[0];this.logFilePath=f(t,`claude-mem-${r}.log`)}catch(t){console.error("[LOGGER] Failed to initialize log file:",t),this.logFilePath=null}}}getLevel(){if(this.level===null)try{let t=f(R,"settings.json");if(h(t)){let r=x(t,"utf-8"),n=(JSON.parse(r).CLAUDE_MEM_LOG_LEVEL||"INFO").toUpperCase();this.level=S[n]??1}else this.level=1}catch{this.level=1}return this.level}correlationId(t,r){return`obs-${t}-${r}`}sessionId(t){return`session-${t}`}formatData(t){if(t==null)return"";if(typeof t=="string")return t;if(typeof t=="number"||typeof t=="boolean")return t.toString();if(typeof t=="object"){if(t instanceof Error)return this.getLevel()===0?`${t.message}
${t.stack}`:t.message;if(Array.isArray(t))return`[${t.length} items]`;let r=Object.keys(t);return r.length===0?"{}":r.length<=3?JSON.stringify(t):`{${r.length} keys: ${r.slice(0,3).join(", ")}...}`}return String(t)}formatTool(t,r){if(!r)return t;let e=r;if(typeof r=="string")try{e=JSON.parse(r)}catch{e=r}if(t==="Bash"&&e.command)return`${t}(${e.command})`;if(e.file_path)return`${t}(${e.file_path})`;if(e.notebook_path)return`${t}(${e.notebook_path})`;if(t==="Glob"&&e.pattern)return`${t}(${e.pattern})`;if(t==="Grep"&&e.pattern)return`${t}(${e.pattern})`;if(e.url)return`${t}(${e.url})`;if(e.query)return`${t}(${e.query})`;if(t==="Task"){if(e.subagent_type)return`${t}(${e.subagent_type})`;if(e.description)return`${t}(${e.description})`}return t==="Skill"&&e.skill?`${t}(${e.skill})`:t==="LSP"&&e.operation?`${t}(${e.operation})`:t}formatTimestamp(t){let r=t.getFullYear(),e=String(t.getMonth()+1).padStart(2,"0"),n=String(t.getDate()).padStart(2,"0"),i=String(t.getHours()).padStart(2,"0"),E=String(t.getMinutes()).padStart(2,"0"),s=String(t.getSeconds()).padStart(2,"0"),c=String(t.getMilliseconds()).padStart(3,"0");return`${r}-${e}-${n} ${i}:${E}:${s}.${c}`}log(t,r,e,n,i){if(t<this.getLevel())return;this.ensureLogFileInitialized();let E=this.formatTimestamp(new Date),s=S[t].padEnd(5),c=r.padEnd(6),l="";n?.correlationId?l=`[${n.correlationId}] `:n?.sessionId&&(l=`[session-${n.sessionId}] `);let _="";i!=null&&(i instanceof Error?_=this.getLevel()===0?`
${i.message}
${i.stack}`:` ${i.message}`:this.getLevel()===0&&typeof i=="object"?_=`
`+JSON.stringify(i,null,2):_=" "+this.formatData(i));let u="";if(n){let{sessionId:d,memorySessionId:nt,correlationId:ot,...D}=n;Object.keys(D).length>0&&(u=` {${Object.entries(D).map(([w,W])=>`${w}=${W}`).join(", ")}}`)}let C=`[${E}] [${s}] [${c}] ${l}${e}${u}${_}`;if(this.logFilePath)try{F(this.logFilePath,C+`
`,"utf8")}catch(d){process.stderr.write(`[LOGGER] Failed to write to log file: ${d}
`)}else process.stderr.write(C+`
`)}debug(t,r,e,n){this.log(0,t,r,e,n)}info(t,r,e,n){this.log(1,t,r,e,n)}warn(t,r,e,n){this.log(2,t,r,e,n)}error(t,r,e,n){this.log(3,t,r,e,n)}dataIn(t,r,e,n){this.info(t,`\u2192 ${r}`,e,n)}dataOut(t,r,e,n){this.info(t,`\u2190 ${r}`,e,n)}success(t,r,e,n){this.info(t,`\u2713 ${r}`,e,n)}failure(t,r,e,n){this.error(t,`\u2717 ${r}`,e,n)}timing(t,r,e,n){this.info(t,`\u23F1 ${r}`,n,{duration:`${e}ms`})}happyPathError(t,r,e,n,s=""){let _=((new Error().stack||"").split(`
`)[2]||"").match(/at\s+(?:.*\s+)?\(?([^:]+):(\d+):(\d+)\)?/),g=_?`${_[1].split("/").pop()}:${_[2]}`:"unknown",u={...e,location:g};return this.warn(t,`[HAPPY-PATH] ${r}`,u,n),s}},E=new M;var m={DEFAULT:3e5,HEALTH_CHECK:3e4,WORKER_STARTUP_WAIT:1e3,WORKER_STARTUP_RETRIES:300,PRE_RESTART_SETTLE_DELAY:2e3,WINDOWS_MULTIPLIER:1.5};function N(o){return process.platform==="win32"?Math.round(o*m.WINDOWS_MULTIPLIER):o}function I(o={}){let{port:t,includeSkillFallback:r=!1,customPrefix:e,actualError:n}=o,s=e||"Worker service connection failed.",a=t?` (port ${t})`:"",i=`${s}${a}
`)}debug(t,r,e,n){this.log(0,t,r,e,n)}info(t,r,e,n){this.log(1,t,r,e,n)}warn(t,r,e,n){this.log(2,t,r,e,n)}error(t,r,e,n){this.log(3,t,r,e,n)}dataIn(t,r,e,n){this.info(t,`\u2192 ${r}`,e,n)}dataOut(t,r,e,n){this.info(t,`\u2190 ${r}`,e,n)}success(t,r,e,n){this.info(t,`\u2713 ${r}`,e,n)}failure(t,r,e,n){this.error(t,`\u2717 ${r}`,e,n)}timing(t,r,e,n){this.info(t,`\u23F1 ${r}`,n,{duration:`${e}ms`})}happyPathError(t,r,e,n,i=""){let l=((new Error().stack||"").split(`
`)[2]||"").match(/at\s+(?:.*\s+)?\(?([^:]+):(\d+):(\d+)\)?/),_=l?`${l[1].split("/").pop()}:${l[2]}`:"unknown",u={...e,location:_};return this.warn(t,`[HAPPY-PATH] ${r}`,u,n),i}},a=new M;var m={DEFAULT:3e5,HEALTH_CHECK:3e4,WORKER_STARTUP_WAIT:1e3,WORKER_STARTUP_RETRIES:300,PRE_RESTART_SETTLE_DELAY:2e3,WINDOWS_MULTIPLIER:1.5};function N(o){return process.platform==="win32"?Math.round(o*m.WINDOWS_MULTIPLIER):o}import{readFileSync as K,writeFileSync as k,existsSync as P,mkdirSync as G}from"fs";import{join as X,dirname as V}from"path";import{homedir as B}from"os";var I="bugfix,feature,refactor,discovery,decision,change",U="how-it-works,why-it-exists,what-changed,problem-solution,gotcha,pattern,trade-off";var g=class{static DEFAULTS={CLAUDE_MEM_MODEL:"claude-sonnet-4-5",CLAUDE_MEM_CONTEXT_OBSERVATIONS:"50",CLAUDE_MEM_WORKER_PORT:"37777",CLAUDE_MEM_WORKER_HOST:"127.0.0.1",CLAUDE_MEM_SKIP_TOOLS:"ListMcpResourcesTool,SlashCommand,Skill,TodoWrite,AskUserQuestion",CLAUDE_MEM_PROVIDER:"claude",CLAUDE_MEM_GEMINI_API_KEY:"",CLAUDE_MEM_GEMINI_MODEL:"gemini-2.5-flash-lite",CLAUDE_MEM_GEMINI_RATE_LIMITING_ENABLED:"true",CLAUDE_MEM_OPENROUTER_API_KEY:"",CLAUDE_MEM_OPENROUTER_MODEL:"xiaomi/mimo-v2-flash:free",CLAUDE_MEM_OPENROUTER_SITE_URL:"",CLAUDE_MEM_OPENROUTER_APP_NAME:"claude-mem",CLAUDE_MEM_OPENROUTER_MAX_CONTEXT_MESSAGES:"20",CLAUDE_MEM_OPENROUTER_MAX_TOKENS:"100000",CLAUDE_MEM_DATA_DIR:X(B(),".claude-mem"),CLAUDE_MEM_LOG_LEVEL:"INFO",CLAUDE_MEM_PYTHON_VERSION:"3.13",CLAUDE_CODE_PATH:"",CLAUDE_MEM_MODE:"code",CLAUDE_MEM_CONTEXT_SHOW_READ_TOKENS:"true",CLAUDE_MEM_CONTEXT_SHOW_WORK_TOKENS:"true",CLAUDE_MEM_CONTEXT_SHOW_SAVINGS_AMOUNT:"true",CLAUDE_MEM_CONTEXT_SHOW_SAVINGS_PERCENT:"true",CLAUDE_MEM_CONTEXT_OBSERVATION_TYPES:I,CLAUDE_MEM_CONTEXT_OBSERVATION_CONCEPTS:U,CLAUDE_MEM_CONTEXT_FULL_COUNT:"5",CLAUDE_MEM_CONTEXT_FULL_FIELD:"narrative",CLAUDE_MEM_CONTEXT_SESSION_COUNT:"10",CLAUDE_MEM_CONTEXT_SHOW_LAST_SUMMARY:"true",CLAUDE_MEM_CONTEXT_SHOW_LAST_MESSAGE:"false"};static getAllDefaults(){return{...this.DEFAULTS}}static get(t){return this.DEFAULTS[t]}static getInt(t){let r=this.get(t);return parseInt(r,10)}static getBool(t){return this.get(t)==="true"}static loadFromFile(t){try{if(!P(t)){let E=this.getAllDefaults();try{let s=V(t);P(s)||G(s,{recursive:!0}),k(t,JSON.stringify(E,null,2),"utf-8"),console.log("[SETTINGS] Created settings file with defaults:",t)}catch(s){console.warn("[SETTINGS] Failed to create settings file, using in-memory defaults:",t,s)}return E}let r=K(t,"utf-8"),e=JSON.parse(r),n=e;if(e.env&&typeof e.env=="object"){n=e.env;try{k(t,JSON.stringify(n,null,2),"utf-8"),console.log("[SETTINGS] Migrated settings file from nested to flat schema:",t)}catch(E){console.warn("[SETTINGS] Failed to auto-migrate settings file:",t,E)}}let i={...this.DEFAULTS};for(let E of Object.keys(this.DEFAULTS))n[E]!==void 0&&(i[E]=n[E]);return i}catch(r){return console.warn("[SETTINGS] Failed to load settings, using defaults:",t,r),this.getAllDefaults()}}};function y(o={}){let{port:t,includeSkillFallback:r=!1,customPrefix:e,actualError:n}=o,i=e||"Worker service connection failed.",E=t?` (port ${t})`:"",s=`${i}${E}
`;return i+=`To restart the worker:
`,i+=`1. Exit Claude Code completely
`,i+=`2. Run: npm run worker:restart
`,i+="3. Restart Claude Code",r&&(i+=`
`;return s+=`To restart the worker:
`,s+=`1. Exit Claude Code completely
`,s+=`2. Run: npm run worker:restart
`,s+="3. Restart Claude Code",r&&(s+=`
If that doesn't work, try: /troubleshoot`),n&&(i=`Worker Error: ${n}
If that doesn't work, try: /troubleshoot`),n&&(s=`Worker Error: ${n}
${i}`),i}var X=A.join(K(),".claude","plugins","marketplaces","thedotmack"),Lt=N(m.HEALTH_CHECK),O=null;function p(){if(O!==null)return O;let o=A.join(c.get("CLAUDE_MEM_DATA_DIR"),"settings.json"),t=c.loadFromFile(o);return O=parseInt(t.CLAUDE_MEM_WORKER_PORT,10),O}async function V(){let o=p();return(await fetch(`http://127.0.0.1:${o}/api/readiness`)).ok}function B(){let o=A.join(X,"package.json");return JSON.parse(G(o,"utf-8")).version}async function Y(){let o=p(),t=await fetch(`http://127.0.0.1:${o}/api/version`);if(!t.ok)throw new Error(`Failed to get worker version: ${t.status}`);return(await t.json()).version}async function J(){let o=B(),t=await Y();o!==t&&E.debug("SYSTEM","Version check",{pluginVersion:o,workerVersion:t,note:"Mismatch will be auto-restarted by worker-service start command"})}async function U(){for(let r=0;r<75;r++){try{if(await V()){await J();return}}catch(e){E.debug("SYSTEM","Worker health check failed, will retry",{attempt:r+1,maxRetries:75,error:e instanceof Error?e.message:String(e)})}await new Promise(e=>setTimeout(e,200))}throw new Error(I({port:p(),customPrefix:"Worker did not become ready within 15 seconds."}))}import z from"path";function P(o){if(!o||o.trim()==="")return E.warn("PROJECT_NAME","Empty cwd provided, using fallback",{cwd:o}),"unknown-project";let t=z.basename(o);if(t===""){if(process.platform==="win32"){let e=o.match(/^([A-Z]):\\/i);if(e){let s=`drive-${e[1].toUpperCase()}`;return E.info("PROJECT_NAME","Drive root detected",{cwd:o,projectName:s}),s}}return E.warn("PROJECT_NAME","Root directory detected, using fallback",{cwd:o}),"unknown-project"}return t}async function q(o){if(await U(),!o)throw new Error("newHook requires input");let{session_id:t,cwd:r,prompt:e}=o,n=P(r),s=p();E.debug("HOOK","new-hook: Calling /api/sessions/init",{contentSessionId:t,project:n});let a=await fetch(`http://127.0.0.1:${s}/api/sessions/init`,{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({contentSessionId:t,project:n,prompt:e})});if(!a.ok)throw new Error(`Session initialization failed: ${a.status}`);let i=await a.json(),l=i.sessionDbId,_=i.promptNumber;if(E.debug("HOOK","new-hook: Received from /api/sessions/init",{sessionDbId:l,promptNumber:_,skipped:i.skipped}),E.debug("HOOK",`[ALIGNMENT] Hook Entry | contentSessionId=${t} | prompt#=${_} | sessionDbId=${l}`),i.skipped&&i.reason==="private"){E.info("HOOK",`INIT_COMPLETE | sessionDbId=${l} | promptNumber=${_} | skipped=true | reason=private`,{sessionId:l}),console.log(f);return}let g=e.startsWith("/")?e.substring(1):e;E.debug("HOOK","new-hook: Calling /sessions/{sessionDbId}/init",{sessionDbId:l,promptNumber:_});let u=await fetch(`http://127.0.0.1:${s}/sessions/${l}/init`,{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({userPrompt:g,promptNumber:_})});if(!u.ok)throw new Error(`SDK agent start failed: ${u.status}`);E.info("HOOK",`INIT_COMPLETE | sessionDbId=${l} | promptNumber=${_} | project=${n}`,{sessionId:l}),console.log(f)}var L="";k.on("data",o=>L+=o);k.on("end",async()=>{try{let o;try{o=L?JSON.parse(L):void 0}catch(t){throw new Error(`Failed to parse hook input: ${t instanceof Error?t.message:String(t)}`)}await q(o)}catch(o){E.error("HOOK","new-hook failed",{},o)}finally{process.exit(0)}});
${s}`),s}var z=L.join(Y(),".claude","plugins","marketplaces","thedotmack"),ht=N(m.HEALTH_CHECK),O=null;function p(){if(O!==null)return O;let o=L.join(g.get("CLAUDE_MEM_DATA_DIR"),"settings.json"),t=g.loadFromFile(o);return O=parseInt(t.CLAUDE_MEM_WORKER_PORT,10),O}async function q(){let o=p();return(await fetch(`http://127.0.0.1:${o}/api/readiness`)).ok}function Q(){let o=L.join(z,"package.json");return JSON.parse(J(o,"utf-8")).version}async function Z(){let o=p(),t=await fetch(`http://127.0.0.1:${o}/api/version`);if(!t.ok)throw new Error(`Failed to get worker version: ${t.status}`);return(await t.json()).version}async function tt(){let o=Q(),t=await Z();o!==t&&a.debug("SYSTEM","Version check",{pluginVersion:o,workerVersion:t,note:"Mismatch will be auto-restarted by worker-service start command"})}async function $(){for(let r=0;r<75;r++){try{if(await q()){await tt();return}}catch(e){a.debug("SYSTEM","Worker health check failed, will retry",{attempt:r+1,maxRetries:75,error:e instanceof Error?e.message:String(e)})}await new Promise(e=>setTimeout(e,200))}throw new Error(y({port:p(),customPrefix:"Worker did not become ready within 15 seconds."}))}import et from"path";function v(o){if(!o||o.trim()==="")return a.warn("PROJECT_NAME","Empty cwd provided, using fallback",{cwd:o}),"unknown-project";let t=et.basename(o);if(t===""){if(process.platform==="win32"){let e=o.match(/^([A-Z]):\\/i);if(e){let i=`drive-${e[1].toUpperCase()}`;return a.info("PROJECT_NAME","Drive root detected",{cwd:o,projectName:i}),i}}return a.warn("PROJECT_NAME","Root directory detected, using fallback",{cwd:o}),"unknown-project"}return t}async function rt(o){if(await $(),!o)throw new Error("newHook requires input");let{session_id:t,cwd:r,prompt:e}=o,n=v(r),i=p();a.debug("HOOK","new-hook: Calling /api/sessions/init",{contentSessionId:t,project:n});let E=await fetch(`http://127.0.0.1:${i}/api/sessions/init`,{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({contentSessionId:t,project:n,prompt:e})});if(!E.ok)throw new Error(`Session initialization failed: ${E.status}`);let s=await E.json(),c=s.sessionDbId,l=s.promptNumber;if(a.debug("HOOK","new-hook: Received from /api/sessions/init",{sessionDbId:c,promptNumber:l,skipped:s.skipped}),a.debug("HOOK",`[ALIGNMENT] Hook Entry | contentSessionId=${t} | prompt#=${l} | sessionDbId=${c}`),s.skipped&&s.reason==="private"){a.info("HOOK",`INIT_COMPLETE | sessionDbId=${c} | promptNumber=${l} | skipped=true | reason=private`,{sessionId:c}),console.log(T);return}let _=e.startsWith("/")?e.substring(1):e;a.debug("HOOK","new-hook: Calling /sessions/{sessionDbId}/init",{sessionDbId:c,promptNumber:l});let u=await fetch(`http://127.0.0.1:${i}/sessions/${c}/init`,{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({userPrompt:_,promptNumber:l})});if(!u.ok)throw new Error(`SDK agent start failed: ${u.status}`);a.info("HOOK",`INIT_COMPLETE | sessionDbId=${c} | promptNumber=${l} | project=${n}`,{sessionId:c}),console.log(T)}var A="";b.on("data",o=>A+=o);b.on("end",async()=>{try{let o;try{o=A?JSON.parse(A):void 0}catch(t){throw new Error(`Failed to parse hook input: ${t instanceof Error?t.message:String(t)}`)}await rt(o)}catch(o){a.error("HOOK","new-hook failed",{},o)}finally{process.exit(0)}});
+1 -1
View File
@@ -3,7 +3,7 @@ import{stdin as v}from"process";var U=JSON.stringify({continue:!0,suppressOutput
${t.stack}`:t.message;if(Array.isArray(t))return`[${t.length} items]`;let r=Object.keys(t);return r.length===0?"{}":r.length<=3?JSON.stringify(t):`{${r.length} keys: ${r.slice(0,3).join(", ")}...}`}return String(t)}formatTool(t,r){if(!r)return t;let e=r;if(typeof r=="string")try{e=JSON.parse(r)}catch{e=r}if(t==="Bash"&&e.command)return`${t}(${e.command})`;if(e.file_path)return`${t}(${e.file_path})`;if(e.notebook_path)return`${t}(${e.notebook_path})`;if(t==="Glob"&&e.pattern)return`${t}(${e.pattern})`;if(t==="Grep"&&e.pattern)return`${t}(${e.pattern})`;if(e.url)return`${t}(${e.url})`;if(e.query)return`${t}(${e.query})`;if(t==="Task"){if(e.subagent_type)return`${t}(${e.subagent_type})`;if(e.description)return`${t}(${e.description})`}return t==="Skill"&&e.skill?`${t}(${e.skill})`:t==="LSP"&&e.operation?`${t}(${e.operation})`:t}formatTimestamp(t){let r=t.getFullYear(),e=String(t.getMonth()+1).padStart(2,"0"),n=String(t.getDate()).padStart(2,"0"),o=String(t.getHours()).padStart(2,"0"),E=String(t.getMinutes()).padStart(2,"0"),i=String(t.getSeconds()).padStart(2,"0"),a=String(t.getMilliseconds()).padStart(3,"0");return`${r}-${e}-${n} ${o}:${E}:${i}.${a}`}log(t,r,e,n,o){if(t<this.getLevel())return;this.ensureLogFileInitialized();let E=this.formatTimestamp(new Date),i=f[t].padEnd(5),a=r.padEnd(6),l="";n?.correlationId?l=`[${n.correlationId}] `:n?.sessionId&&(l=`[session-${n.sessionId}] `);let c="";o!=null&&(o instanceof Error?c=this.getLevel()===0?`
${o.message}
${o.stack}`:` ${o.message}`:this.getLevel()===0&&typeof o=="object"?c=`
`+JSON.stringify(o,null,2):c=" "+this.formatData(o));let O="";if(n){let{sessionId:D,memorySessionId:et,correlationId:rt,...m}=n;Object.keys(m).length>0&&(O=` {${Object.entries(m).map(([w,F])=>`${w}=${F}`).join(", ")}}`)}let C=`[${E}] [${i}] [${a}] ${l}${e}${O}${c}`;if(this.logFilePath)try{H(this.logFilePath,C+`
`+JSON.stringify(o,null,2):c=" "+this.formatData(o));let O="";if(n){let{sessionId:D,memorySessionId:et,correlationId:rt,...m}=n;Object.keys(m).length>0&&(O=` {${Object.entries(m).map(([F,w])=>`${F}=${w}`).join(", ")}}`)}let C=`[${E}] [${i}] [${a}] ${l}${e}${O}${c}`;if(this.logFilePath)try{H(this.logFilePath,C+`
`,"utf8")}catch(D){process.stderr.write(`[LOGGER] Failed to write to log file: ${D}
`)}else process.stderr.write(C+`
`)}debug(t,r,e,n){this.log(0,t,r,e,n)}info(t,r,e,n){this.log(1,t,r,e,n)}warn(t,r,e,n){this.log(2,t,r,e,n)}error(t,r,e,n){this.log(3,t,r,e,n)}dataIn(t,r,e,n){this.info(t,`\u2192 ${r}`,e,n)}dataOut(t,r,e,n){this.info(t,`\u2190 ${r}`,e,n)}success(t,r,e,n){this.info(t,`\u2713 ${r}`,e,n)}failure(t,r,e,n){this.error(t,`\u2717 ${r}`,e,n)}timing(t,r,e,n){this.info(t,`\u23F1 ${r}`,n,{duration:`${e}ms`})}happyPathError(t,r,e,n,o=""){let l=((new Error().stack||"").split(`
+8 -8
View File
@@ -1,13 +1,13 @@
#!/usr/bin/env bun
import{stdin as $}from"process";var S=JSON.stringify({continue:!0,suppressOutput:!0});import{readFileSync as w,writeFileSync as v,existsSync as F}from"fs";import{join as x}from"path";import{homedir as H}from"os";var U="bugfix,feature,refactor,discovery,decision,change",d="how-it-works,why-it-exists,what-changed,problem-solution,gotcha,pattern,trade-off";var g=class{static DEFAULTS={CLAUDE_MEM_MODEL:"claude-sonnet-4-5",CLAUDE_MEM_CONTEXT_OBSERVATIONS:"50",CLAUDE_MEM_WORKER_PORT:"37777",CLAUDE_MEM_WORKER_HOST:"127.0.0.1",CLAUDE_MEM_SKIP_TOOLS:"ListMcpResourcesTool,SlashCommand,Skill,TodoWrite,AskUserQuestion",CLAUDE_MEM_PROVIDER:"claude",CLAUDE_MEM_GEMINI_API_KEY:"",CLAUDE_MEM_GEMINI_MODEL:"gemini-2.5-flash-lite",CLAUDE_MEM_GEMINI_RATE_LIMITING_ENABLED:"true",CLAUDE_MEM_OPENROUTER_API_KEY:"",CLAUDE_MEM_OPENROUTER_MODEL:"xiaomi/mimo-v2-flash:free",CLAUDE_MEM_OPENROUTER_SITE_URL:"",CLAUDE_MEM_OPENROUTER_APP_NAME:"claude-mem",CLAUDE_MEM_OPENROUTER_MAX_CONTEXT_MESSAGES:"20",CLAUDE_MEM_OPENROUTER_MAX_TOKENS:"100000",CLAUDE_MEM_DATA_DIR:x(H(),".claude-mem"),CLAUDE_MEM_LOG_LEVEL:"INFO",CLAUDE_MEM_PYTHON_VERSION:"3.13",CLAUDE_CODE_PATH:"",CLAUDE_MEM_MODE:"code",CLAUDE_MEM_CONTEXT_SHOW_READ_TOKENS:"true",CLAUDE_MEM_CONTEXT_SHOW_WORK_TOKENS:"true",CLAUDE_MEM_CONTEXT_SHOW_SAVINGS_AMOUNT:"true",CLAUDE_MEM_CONTEXT_SHOW_SAVINGS_PERCENT:"true",CLAUDE_MEM_CONTEXT_OBSERVATION_TYPES:U,CLAUDE_MEM_CONTEXT_OBSERVATION_CONCEPTS:d,CLAUDE_MEM_CONTEXT_FULL_COUNT:"5",CLAUDE_MEM_CONTEXT_FULL_FIELD:"narrative",CLAUDE_MEM_CONTEXT_SESSION_COUNT:"10",CLAUDE_MEM_CONTEXT_SHOW_LAST_SUMMARY:"true",CLAUDE_MEM_CONTEXT_SHOW_LAST_MESSAGE:"false"};static getAllDefaults(){return{...this.DEFAULTS}}static get(t){return this.DEFAULTS[t]}static getInt(t){let r=this.get(t);return parseInt(r,10)}static getBool(t){return this.get(t)==="true"}static loadFromFile(t){try{if(!F(t))return this.getAllDefaults();let r=w(t,"utf-8"),e=JSON.parse(r),n=e;if(e.env&&typeof e.env=="object"){n=e.env;try{v(t,JSON.stringify(n,null,2),"utf-8"),l.info("SETTINGS","Migrated settings file from nested to flat schema",{settingsPath:t})}catch(E){l.warn("SETTINGS","Failed to auto-migrate settings file",{settingsPath:t},E)}}let o={...this.DEFAULTS};for(let E of Object.keys(this.DEFAULTS))n[E]!==void 0&&(o[E]=n[E]);return o}catch(r){return l.warn("SETTINGS","Failed to load settings, using defaults",{settingsPath:t},r),this.getAllDefaults()}}};import{appendFileSync as W,existsSync as b,mkdirSync as G}from"fs";import{join as T}from"path";var p=(o=>(o[o.DEBUG=0]="DEBUG",o[o.INFO=1]="INFO",o[o.WARN=2]="WARN",o[o.ERROR=3]="ERROR",o[o.SILENT=4]="SILENT",o))(p||{}),M=class{level=null;useColor;logFilePath=null;constructor(){this.useColor=process.stdout.isTTY??!1,this.initializeLogFile()}initializeLogFile(){try{let t=g.get("CLAUDE_MEM_DATA_DIR"),r=T(t,"logs");b(r)||G(r,{recursive:!0});let e=new Date().toISOString().split("T")[0];this.logFilePath=T(r,`claude-mem-${e}.log`)}catch(t){console.error("[LOGGER] Failed to initialize log file:",t),this.logFilePath=null}}getLevel(){if(this.level===null)try{let t=g.get("CLAUDE_MEM_DATA_DIR"),r=T(t,"settings.json"),n=g.loadFromFile(r).CLAUDE_MEM_LOG_LEVEL.toUpperCase();this.level=p[n]??1}catch(t){console.error("[LOGGER] Failed to load settings, using INFO level:",t),this.level=1}return this.level}correlationId(t,r){return`obs-${t}-${r}`}sessionId(t){return`session-${t}`}formatData(t){if(t==null)return"";if(typeof t=="string")return t;if(typeof t=="number"||typeof t=="boolean")return t.toString();if(typeof t=="object"){if(t instanceof Error)return this.getLevel()===0?`${t.message}
${t.stack}`:t.message;if(Array.isArray(t))return`[${t.length} items]`;let r=Object.keys(t);return r.length===0?"{}":r.length<=3?JSON.stringify(t):`{${r.length} keys: ${r.slice(0,3).join(", ")}...}`}return String(t)}formatTool(t,r){if(!r)return t;let e=typeof r=="string"?JSON.parse(r):r;if(t==="Bash"&&e.command)return`${t}(${e.command})`;if(e.file_path)return`${t}(${e.file_path})`;if(e.notebook_path)return`${t}(${e.notebook_path})`;if(t==="Glob"&&e.pattern)return`${t}(${e.pattern})`;if(t==="Grep"&&e.pattern)return`${t}(${e.pattern})`;if(e.url)return`${t}(${e.url})`;if(e.query)return`${t}(${e.query})`;if(t==="Task"){if(e.subagent_type)return`${t}(${e.subagent_type})`;if(e.description)return`${t}(${e.description})`}return t==="Skill"&&e.skill?`${t}(${e.skill})`:t==="LSP"&&e.operation?`${t}(${e.operation})`:t}formatTimestamp(t){let r=t.getFullYear(),e=String(t.getMonth()+1).padStart(2,"0"),n=String(t.getDate()).padStart(2,"0"),o=String(t.getHours()).padStart(2,"0"),E=String(t.getMinutes()).padStart(2,"0"),i=String(t.getSeconds()).padStart(2,"0"),_=String(t.getMilliseconds()).padStart(3,"0");return`${r}-${e}-${n} ${o}:${E}:${i}.${_}`}log(t,r,e,n,o){if(t<this.getLevel())return;let E=this.formatTimestamp(new Date),i=p[t].padEnd(5),_=r.padEnd(6),a="";n?.correlationId?a=`[${n.correlationId}] `:n?.sessionId&&(a=`[session-${n.sessionId}] `);let c="";o!=null&&(o instanceof Error?c=this.getLevel()===0?`
import{stdin as v}from"process";var T=JSON.stringify({continue:!0,suppressOutput:!0});import{appendFileSync as H,existsSync as R,mkdirSync as W,readFileSync as b}from"fs";import{join as S}from"path";import{homedir as G}from"os";var p=(o=>(o[o.DEBUG=0]="DEBUG",o[o.INFO=1]="INFO",o[o.WARN=2]="WARN",o[o.ERROR=3]="ERROR",o[o.SILENT=4]="SILENT",o))(p||{}),U=S(G(),".claude-mem"),M=class{level=null;useColor;logFilePath=null;logFileInitialized=!1;constructor(){this.useColor=process.stdout.isTTY??!1}ensureLogFileInitialized(){if(!this.logFileInitialized){this.logFileInitialized=!0;try{let t=S(U,"logs");R(t)||W(t,{recursive:!0});let r=new Date().toISOString().split("T")[0];this.logFilePath=S(t,`claude-mem-${r}.log`)}catch(t){console.error("[LOGGER] Failed to initialize log file:",t),this.logFilePath=null}}}getLevel(){if(this.level===null)try{let t=S(U,"settings.json");if(R(t)){let r=b(t,"utf-8"),n=(JSON.parse(r).CLAUDE_MEM_LOG_LEVEL||"INFO").toUpperCase();this.level=p[n]??1}else this.level=1}catch{this.level=1}return this.level}correlationId(t,r){return`obs-${t}-${r}`}sessionId(t){return`session-${t}`}formatData(t){if(t==null)return"";if(typeof t=="string")return t;if(typeof t=="number"||typeof t=="boolean")return t.toString();if(typeof t=="object"){if(t instanceof Error)return this.getLevel()===0?`${t.message}
${t.stack}`:t.message;if(Array.isArray(t))return`[${t.length} items]`;let r=Object.keys(t);return r.length===0?"{}":r.length<=3?JSON.stringify(t):`{${r.length} keys: ${r.slice(0,3).join(", ")}...}`}return String(t)}formatTool(t,r){if(!r)return t;let e=r;if(typeof r=="string")try{e=JSON.parse(r)}catch{e=r}if(t==="Bash"&&e.command)return`${t}(${e.command})`;if(e.file_path)return`${t}(${e.file_path})`;if(e.notebook_path)return`${t}(${e.notebook_path})`;if(t==="Glob"&&e.pattern)return`${t}(${e.pattern})`;if(t==="Grep"&&e.pattern)return`${t}(${e.pattern})`;if(e.url)return`${t}(${e.url})`;if(e.query)return`${t}(${e.query})`;if(t==="Task"){if(e.subagent_type)return`${t}(${e.subagent_type})`;if(e.description)return`${t}(${e.description})`}return t==="Skill"&&e.skill?`${t}(${e.skill})`:t==="LSP"&&e.operation?`${t}(${e.operation})`:t}formatTimestamp(t){let r=t.getFullYear(),e=String(t.getMonth()+1).padStart(2,"0"),n=String(t.getDate()).padStart(2,"0"),o=String(t.getHours()).padStart(2,"0"),E=String(t.getMinutes()).padStart(2,"0"),i=String(t.getSeconds()).padStart(2,"0"),_=String(t.getMilliseconds()).padStart(3,"0");return`${r}-${e}-${n} ${o}:${E}:${i}.${_}`}log(t,r,e,n,o){if(t<this.getLevel())return;this.ensureLogFileInitialized();let E=this.formatTimestamp(new Date),i=p[t].padEnd(5),_=r.padEnd(6),a="";n?.correlationId?a=`[${n.correlationId}] `:n?.sessionId&&(a=`[session-${n.sessionId}] `);let l="";o!=null&&(o instanceof Error?l=this.getLevel()===0?`
${o.message}
${o.stack}`:` ${o.message}`:this.getLevel()===0&&typeof o=="object"?c=`
`+JSON.stringify(o,null,2):c=" "+this.formatData(o));let O="";if(n){let{sessionId:D,memorySessionId:Z,correlationId:tt,...R}=n;Object.keys(R).length>0&&(O=` {${Object.entries(R).map(([k,P])=>`${k}=${P}`).join(", ")}}`)}let C=`[${E}] [${i}] [${_}] ${a}${e}${O}${c}`;if(this.logFilePath)try{W(this.logFilePath,C+`
${o.stack}`:` ${o.message}`:this.getLevel()===0&&typeof o=="object"?l=`
`+JSON.stringify(o,null,2):l=" "+this.formatData(o));let f="";if(n){let{sessionId:D,memorySessionId:st,correlationId:ot,...d}=n;Object.keys(d).length>0&&(f=` {${Object.entries(d).map(([F,x])=>`${F}=${x}`).join(", ")}}`)}let C=`[${E}] [${i}] [${_}] ${a}${e}${f}${l}`;if(this.logFilePath)try{H(this.logFilePath,C+`
`,"utf8")}catch(D){process.stderr.write(`[LOGGER] Failed to write to log file: ${D}
`)}else process.stderr.write(C+`
`)}debug(t,r,e,n){this.log(0,t,r,e,n)}info(t,r,e,n){this.log(1,t,r,e,n)}warn(t,r,e,n){this.log(2,t,r,e,n)}error(t,r,e,n){this.log(3,t,r,e,n)}dataIn(t,r,e,n){this.info(t,`\u2192 ${r}`,e,n)}dataOut(t,r,e,n){this.info(t,`\u2190 ${r}`,e,n)}success(t,r,e,n){this.info(t,`\u2713 ${r}`,e,n)}failure(t,r,e,n){this.error(t,`\u2717 ${r}`,e,n)}timing(t,r,e,n){this.info(t,`\u23F1 ${r}`,n,{duration:`${e}ms`})}happyPathError(t,r,e,n,o=""){let a=((new Error().stack||"").split(`
`)[2]||"").match(/at\s+(?:.*\s+)?\(?([^:]+):(\d+):(\d+)\)?/),c=a?`${a[1].split("/").pop()}:${a[2]}`:"unknown",O={...e,location:c};return this.warn(t,`[HAPPY-PATH] ${r}`,O,n),o}},l=new M;import L from"path";import{homedir as K}from"os";import{readFileSync as X}from"fs";var A={DEFAULT:3e5,HEALTH_CHECK:3e4,WORKER_STARTUP_WAIT:1e3,WORKER_STARTUP_RETRIES:300,PRE_RESTART_SETTLE_DELAY:2e3,WINDOWS_MULTIPLIER:1.5};function h(s){return process.platform==="win32"?Math.round(s*A.WINDOWS_MULTIPLIER):s}function I(s={}){let{port:t,includeSkillFallback:r=!1,customPrefix:e,actualError:n}=s,o=e||"Worker service connection failed.",E=t?` (port ${t})`:"",i=`${o}${E}
`)[2]||"").match(/at\s+(?:.*\s+)?\(?([^:]+):(\d+):(\d+)\)?/),l=a?`${a[1].split("/").pop()}:${a[2]}`:"unknown",f={...e,location:l};return this.warn(t,`[HAPPY-PATH] ${r}`,f,n),o}},c=new M;import L from"path";import{homedir as Y}from"os";import{readFileSync as J}from"fs";var m={DEFAULT:3e5,HEALTH_CHECK:3e4,WORKER_STARTUP_WAIT:1e3,WORKER_STARTUP_RETRIES:300,PRE_RESTART_SETTLE_DELAY:2e3,WINDOWS_MULTIPLIER:1.5};function h(s){return process.platform==="win32"?Math.round(s*m.WINDOWS_MULTIPLIER):s}import{readFileSync as K,writeFileSync as N,existsSync as $,mkdirSync as X}from"fs";import{join as V,dirname as j}from"path";import{homedir as B}from"os";var I="bugfix,feature,refactor,discovery,decision,change",y="how-it-works,why-it-exists,what-changed,problem-solution,gotcha,pattern,trade-off";var g=class{static DEFAULTS={CLAUDE_MEM_MODEL:"claude-sonnet-4-5",CLAUDE_MEM_CONTEXT_OBSERVATIONS:"50",CLAUDE_MEM_WORKER_PORT:"37777",CLAUDE_MEM_WORKER_HOST:"127.0.0.1",CLAUDE_MEM_SKIP_TOOLS:"ListMcpResourcesTool,SlashCommand,Skill,TodoWrite,AskUserQuestion",CLAUDE_MEM_PROVIDER:"claude",CLAUDE_MEM_GEMINI_API_KEY:"",CLAUDE_MEM_GEMINI_MODEL:"gemini-2.5-flash-lite",CLAUDE_MEM_GEMINI_RATE_LIMITING_ENABLED:"true",CLAUDE_MEM_OPENROUTER_API_KEY:"",CLAUDE_MEM_OPENROUTER_MODEL:"xiaomi/mimo-v2-flash:free",CLAUDE_MEM_OPENROUTER_SITE_URL:"",CLAUDE_MEM_OPENROUTER_APP_NAME:"claude-mem",CLAUDE_MEM_OPENROUTER_MAX_CONTEXT_MESSAGES:"20",CLAUDE_MEM_OPENROUTER_MAX_TOKENS:"100000",CLAUDE_MEM_DATA_DIR:V(B(),".claude-mem"),CLAUDE_MEM_LOG_LEVEL:"INFO",CLAUDE_MEM_PYTHON_VERSION:"3.13",CLAUDE_CODE_PATH:"",CLAUDE_MEM_MODE:"code",CLAUDE_MEM_CONTEXT_SHOW_READ_TOKENS:"true",CLAUDE_MEM_CONTEXT_SHOW_WORK_TOKENS:"true",CLAUDE_MEM_CONTEXT_SHOW_SAVINGS_AMOUNT:"true",CLAUDE_MEM_CONTEXT_SHOW_SAVINGS_PERCENT:"true",CLAUDE_MEM_CONTEXT_OBSERVATION_TYPES:I,CLAUDE_MEM_CONTEXT_OBSERVATION_CONCEPTS:y,CLAUDE_MEM_CONTEXT_FULL_COUNT:"5",CLAUDE_MEM_CONTEXT_FULL_FIELD:"narrative",CLAUDE_MEM_CONTEXT_SESSION_COUNT:"10",CLAUDE_MEM_CONTEXT_SHOW_LAST_SUMMARY:"true",CLAUDE_MEM_CONTEXT_SHOW_LAST_MESSAGE:"false"};static getAllDefaults(){return{...this.DEFAULTS}}static get(t){return this.DEFAULTS[t]}static getInt(t){let r=this.get(t);return parseInt(r,10)}static getBool(t){return this.get(t)==="true"}static loadFromFile(t){try{if(!$(t)){let E=this.getAllDefaults();try{let i=j(t);$(i)||X(i,{recursive:!0}),N(t,JSON.stringify(E,null,2),"utf-8"),console.log("[SETTINGS] Created settings file with defaults:",t)}catch(i){console.warn("[SETTINGS] Failed to create settings file, using in-memory defaults:",t,i)}return E}let r=K(t,"utf-8"),e=JSON.parse(r),n=e;if(e.env&&typeof e.env=="object"){n=e.env;try{N(t,JSON.stringify(n,null,2),"utf-8"),console.log("[SETTINGS] Migrated settings file from nested to flat schema:",t)}catch(E){console.warn("[SETTINGS] Failed to auto-migrate settings file:",t,E)}}let o={...this.DEFAULTS};for(let E of Object.keys(this.DEFAULTS))n[E]!==void 0&&(o[E]=n[E]);return o}catch(r){return console.warn("[SETTINGS] Failed to load settings, using defaults:",t,r),this.getAllDefaults()}}};function k(s={}){let{port:t,includeSkillFallback:r=!1,customPrefix:e,actualError:n}=s,o=e||"Worker service connection failed.",E=t?` (port ${t})`:"",i=`${o}${E}
`;return i+=`To restart the worker:
`,i+=`1. Exit Claude Code completely
@@ -16,8 +16,8 @@ ${o.stack}`:` ${o.message}`:this.getLevel()===0&&typeof o=="object"?c=`
If that doesn't work, try: /troubleshoot`),n&&(i=`Worker Error: ${n}
${i}`),i}var V=L.join(K(),".claude","plugins","marketplaces","thedotmack"),Ct=h(A.HEALTH_CHECK),f=null;function u(){if(f!==null)return f;let s=L.join(g.get("CLAUDE_MEM_DATA_DIR"),"settings.json"),t=g.loadFromFile(s);return f=parseInt(t.CLAUDE_MEM_WORKER_PORT,10),f}async function j(){let s=u();return(await fetch(`http://127.0.0.1:${s}/api/readiness`)).ok}function B(){let s=L.join(V,"package.json");return JSON.parse(X(s,"utf-8")).version}async function Y(){let s=u(),t=await fetch(`http://127.0.0.1:${s}/api/version`);if(!t.ok)throw new Error(`Failed to get worker version: ${t.status}`);return(await t.json()).version}async function J(){let s=B(),t=await Y();s!==t&&l.debug("SYSTEM","Version check",{pluginVersion:s,workerVersion:t,note:"Mismatch will be auto-restarted by worker-service start command"})}async function N(){for(let r=0;r<75;r++){try{if(await j()){await J();return}}catch(e){l.debug("SYSTEM","Worker health check failed, will retry",{attempt:r+1,maxRetries:75,error:e instanceof Error?e.message:String(e)})}await new Promise(e=>setTimeout(e,200))}throw new Error(I({port:u(),customPrefix:"Worker did not become ready within 15 seconds."}))}import{readFileSync as q,existsSync as z}from"fs";function y(s,t,r=!1){if(!s||!z(s))throw new Error(`Transcript path missing or file does not exist: ${s}`);let e=q(s,"utf-8").trim();if(!e)throw new Error(`Transcript file exists but is empty: ${s}`);let n=e.split(`
`),o=!1;for(let E=n.length-1;E>=0;E--){let i=JSON.parse(n[E]);if(i.type===t&&(o=!0,i.message?.content)){let _="",a=i.message.content;if(typeof a=="string")_=a;else if(Array.isArray(a))_=a.filter(c=>c.type==="text").map(c=>c.text).join(`
${i}`),i}var z=L.join(Y(),".claude","plugins","marketplaces","thedotmack"),Ut=h(m.HEALTH_CHECK),O=null;function u(){if(O!==null)return O;let s=L.join(g.get("CLAUDE_MEM_DATA_DIR"),"settings.json"),t=g.loadFromFile(s);return O=parseInt(t.CLAUDE_MEM_WORKER_PORT,10),O}async function q(){let s=u();return(await fetch(`http://127.0.0.1:${s}/api/readiness`)).ok}function Q(){let s=L.join(z,"package.json");return JSON.parse(J(s,"utf-8")).version}async function Z(){let s=u(),t=await fetch(`http://127.0.0.1:${s}/api/version`);if(!t.ok)throw new Error(`Failed to get worker version: ${t.status}`);return(await t.json()).version}async function tt(){let s=Q(),t=await Z();s!==t&&c.debug("SYSTEM","Version check",{pluginVersion:s,workerVersion:t,note:"Mismatch will be auto-restarted by worker-service start command"})}async function P(){for(let r=0;r<75;r++){try{if(await q()){await tt();return}}catch(e){c.debug("SYSTEM","Worker health check failed, will retry",{attempt:r+1,maxRetries:75,error:e instanceof Error?e.message:String(e)})}await new Promise(e=>setTimeout(e,200))}throw new Error(k({port:u(),customPrefix:"Worker did not become ready within 15 seconds."}))}import{readFileSync as et,existsSync as rt}from"fs";function w(s,t,r=!1){if(!s||!rt(s))throw new Error(`Transcript path missing or file does not exist: ${s}`);let e=et(s,"utf-8").trim();if(!e)throw new Error(`Transcript file exists but is empty: ${s}`);let n=e.split(`
`),o=!1;for(let E=n.length-1;E>=0;E--){let i=JSON.parse(n[E]);if(i.type===t&&(o=!0,i.message?.content)){let _="",a=i.message.content;if(typeof a=="string")_=a;else if(Array.isArray(a))_=a.filter(l=>l.type==="text").map(l=>l.text).join(`
`);else throw new Error(`Unknown message content format in transcript. Type: ${typeof a}`);return r&&(_=_.replace(/<system-reminder>[\s\S]*?<\/system-reminder>/g,""),_=_.replace(/\n{3,}/g,`
`).trim()),_}}if(!o)throw new Error(`No message found for role '${t}' in transcript: ${s}`);return""}async function Q(s){if(await N(),!s)throw new Error("summaryHook requires input");let{session_id:t}=s,r=u();if(!s.transcript_path)throw new Error(`Missing transcript_path in Stop hook input for session ${t}`);let e=y(s.transcript_path,"assistant",!0);l.dataIn("HOOK","Stop: Requesting summary",{workerPort:r,hasLastAssistantMessage:!!e});let n=await fetch(`http://127.0.0.1:${r}/api/sessions/summarize`,{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({contentSessionId:t,last_assistant_message:e})});if(!n.ok)throw console.log(S),new Error(`Summary generation failed: ${n.status}`);l.debug("HOOK","Summary request sent successfully"),console.log(S)}var m="";$.on("data",s=>m+=s);$.on("end",async()=>{try{let s;try{s=m?JSON.parse(m):void 0}catch(t){throw new Error(`Failed to parse hook input: ${t instanceof Error?t.message:String(t)}`)}await Q(s)}catch(s){l.error("HOOK","summary-hook failed",{},s)}finally{process.exit(0)}});
`).trim()),_}}if(!o)throw new Error(`No message found for role '${t}' in transcript: ${s}`);return""}async function nt(s){if(await P(),!s)throw new Error("summaryHook requires input");let{session_id:t}=s,r=u();if(!s.transcript_path)throw new Error(`Missing transcript_path in Stop hook input for session ${t}`);let e=w(s.transcript_path,"assistant",!0);c.dataIn("HOOK","Stop: Requesting summary",{workerPort:r,hasLastAssistantMessage:!!e});let n=await fetch(`http://127.0.0.1:${r}/api/sessions/summarize`,{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({contentSessionId:t,last_assistant_message:e})});if(!n.ok)throw console.log(T),new Error(`Summary generation failed: ${n.status}`);c.debug("HOOK","Summary request sent successfully"),console.log(T)}var A="";v.on("data",s=>A+=s);v.on("end",async()=>{try{let s;try{s=A?JSON.parse(A):void 0}catch(t){throw new Error(`Failed to parse hook input: ${t instanceof Error?t.message:String(t)}`)}await nt(s)}catch(s){c.error("HOOK","summary-hook failed",{},s)}finally{process.exit(0)}});
File diff suppressed because one or more lines are too long
+119 -44
View File
@@ -3,60 +3,135 @@
<!-- This section is auto-generated by claude-mem. Edit content outside the tags. -->
### Nov 5, 2025
### Dec 24, 2025
**viewer-bundle.js**
| ID | Time | T | Title | Read |
|----|------|---|-------|------|
| #3910 | 8:28 PM | ✅ | Refined stats counter visual design | ~343 |
| #3909 | " | 🟣 | Added clarifying descriptions to settings UI | ~335 |
| #3812 | 6:08 PM | 🟣 | Enhanced card typography and centered content layout | ~358 |
| #32379 | 9:10 PM | ✅ | Built and deployed claude-mem v8.0.6 to marketplace | ~370 |
### Nov 8, 2025
### Dec 25, 2025
**viewer-bundle.js**
| ID | Time | T | Title | Read |
|----|------|---|-------|------|
| #5133 | 7:29 PM | ✅ | Version 5.2.3 Released with Build Process | ~487 |
| #4916 | 1:49 PM | ⚖️ | Claude Mem Pro Premium Offering Implementation Plan Finalized | ~946 |
| #4902 | 1:35 PM | 🟣 | Claude Mem Pro Premium Project Initialization | ~679 |
| #4901 | 1:31 PM | ⚖️ | Premium claude-mem Project Architecture and Planning | ~797 |
### Dec 1, 2025
| ID | Time | T | Title | Read |
|----|------|---|-------|------|
| #18480 | 3:39 PM | ✅ | Successfully Rebuilt Plugin After Merge Conflict Resolution | ~294 |
### Dec 4, 2025
| ID | Time | T | Title | Read |
|----|------|---|-------|------|
| #20052 | 3:23 PM | ✅ | Built and deployed version 6.5.2 to marketplace | ~321 |
### Dec 9, 2025
| ID | Time | T | Title | Read |
|----|------|---|-------|------|
| #22557 | 1:08 AM | ✅ | Build completed for version 7.0.3 | ~342 |
### Dec 10, 2025
| ID | Time | T | Title | Read |
|----|------|---|-------|------|
| #23444 | 2:25 PM | 🟣 | Build Pipeline Execution Successful | ~293 |
### Dec 16, 2025
| ID | Time | T | Title | Read |
|----|------|---|-------|------|
| #27554 | 4:48 PM | ✅ | Project built successfully with version 7.3.1 | ~306 |
| #32794 | 9:51 PM | ✅ | Built claude-mem v8.2.0 production artifacts | ~376 |
| #32789 | 9:49 PM | 🟣 | Gemini AI Provider Integration Merged to Main | ~409 |
| #32654 | 8:51 PM | 🔵 | Identified multiple files related to queue recovery | ~375 |
| #32643 | 8:46 PM | | Plugin Build and Marketplace Synchronization | ~336 |
| #32600 | 8:42 PM | 🔵 | Identified potential UI element for billing toggle | ~146 |
| #32559 | 8:18 PM | 🔵 | Listed files changed in the current branch | ~169 |
| #32458 | 5:42 PM | ✅ | Rebuilt and synchronized plugin files after merge | ~286 |
| #32440 | 3:44 PM | | Project build completed for version 8.1.0 | ~335 |
### Dec 26, 2025
**viewer-bundle.js**
| ID | Time | T | Title | Read |
|----|------|---|-------|------|
| #32983 | 11:04 PM | 🟣 | Complete build and deployment pipeline executed | ~260 |
| #32965 | 10:53 PM | 🔵 | Found plugin/ui/viewer.html - potential styling source | ~201 |
| #32966 | " | 🔵 | viewer.html contains modal CSS including modal-header and modal-body | ~218 |
| #32967 | " | 🔵 | ContextSettingsModal.tsx uses CSS classes defined in viewer.html | ~218 |
| #32968 | " | 🔵 | Need to add CSS for footer to viewer.html | ~223 |
| #32985 | 11:24 PM | | Built claude-mem version 8.2.2 release artifacts | ~299 |
| #32975 | 11:04 PM | | Build and sync pipeline completed successfully | ~208 |
| #32864 | 7:30 PM | | Built and deployed claude-mem v8.2.0 to marketplace | ~375 |
| #32861 | 7:08 PM | | Built claude-mem v8.2.0 production artifacts | ~360 |
### Dec 27, 2025
**viewer-bundle.js**
| ID | Time | T | Title | Read |
|----|------|---|-------|------|
| #33053 | 5:28 PM | ✅ | Built claude-mem 8.2.3 release artifacts | ~315 |
### Dec 28, 2025
**viewer-bundle.js**
| ID | Time | T | Title | Read |
|----|------|---|-------|------|
| #33670 | 11:52 PM | ✅ | Built and deployed memory session ID fix to marketplace | ~288 |
| #33649 | 11:43 PM | ✅ | Build and Deployment System Synced to Marketplace | ~450 |
| #33612 | 11:22 PM | ✅ | Built and deployed claude-mem version 8.2.6 with mem-search skill | ~300 |
| #33603 | 11:20 PM | ✅ | Claude-mem plugin build and marketplace sync completed | ~425 |
| #33485 | 10:35 PM | ✅ | Built Project with Version 8.2.6 Across All Components | ~303 |
| #33279 | 3:07 PM | ✅ | Changed Default OpenRouter Model to Free Tier Option | ~285 |
### Dec 29, 2025
**viewer-bundle.js**
| ID | Time | T | Title | Read |
|----|------|---|-------|------|
| #34350 | 11:12 PM | ✅ | Version 8.5.0 Build Completed Successfully | ~425 |
| #34208 | 10:00 PM | ✅ | claude-mem v8.2.10 built and synced to marketplace | ~416 |
| #34163 | 9:38 PM | ✅ | Project rebuilt with updated interactive setup wizard | ~326 |
| #34092 | 9:02 PM | ✅ | Built claude-mem project with updated interactive setup wizard | ~452 |
| #33996 | 7:10 PM | 🟣 | Built claude-mem v8.2.10 with all hooks and services | ~387 |
| #33951 | 6:42 PM | ✅ | Project Build Completed for Version 8.2.9 | ~326 |
| #33877 | 5:02 PM | 🟣 | Phase 1 build process successfully tested with worker source copying | ~372 |
| #33839 | 4:24 PM | ✅ | Build Executed Successfully for Version 8.2.8 | ~313 |
| #33833 | 4:17 PM | ✅ | Rebuilt Project With Early Signal Handler Registration | ~353 |
| #33818 | 4:10 PM | ✅ | Project Rebuilt Successfully After PR 489 Review Fixes | ~338 |
| #33802 | 3:55 PM | ✅ | Project Built Successfully for Version 8.2.7 | ~258 |
### Dec 30, 2025
**viewer-bundle.js**
| ID | Time | T | Title | Read |
|----|------|---|-------|------|
| #34476 | 2:25 PM | ✅ | V2 Branch Builds Successfully Despite TypeScript Errors | ~316 |
| #34451 | 2:20 PM | ✅ | Successful Build of Claude-Mem v8.5.1 Components | ~346 |
### Dec 31, 2025
**viewer-bundle.js**
| ID | Time | T | Title | Read |
|----|------|---|-------|------|
| #34724 | 4:51 PM | ✅ | Built claude-mem v8.5.2 with issue 499 fix | ~287 |
| #34710 | 4:48 PM | ✅ | Built and deployed claude-mem v8.5.1 to marketplace | ~371 |
### Jan 1, 2026
**viewer-bundle.js**
| ID | Time | T | Title | Read |
|----|------|---|-------|------|
| #35613 | 10:57 PM | ✅ | Build System Compiled Updated Middleware | ~320 |
| #35427 | 6:32 PM | ✅ | Claude-Mem Project Built Successfully | ~319 |
| #35397 | 5:23 PM | ✅ | Build System Successfully Compiled All Components | ~282 |
| #35373 | 3:05 PM | ✅ | V2 Migration Build Successful | ~305 |
### Jan 2, 2026
**viewer-bundle.js**
| ID | Time | T | Title | Read |
|----|------|---|-------|------|
| #35982 | 5:09 PM | ✅ | Built and deployed claude-mem version 8.5.4 with LogsModal UI component | ~295 |
| #35976 | 4:48 PM | ✅ | Claude-mem build and marketplace sync completed | ~335 |
| #35925 | 2:53 PM | ✅ | Built Project for Version 8.5.4 Release | ~294 |
| #35901 | 2:49 PM | 🔵 | PR #525 File Changes Summary | ~376 |
| #35815 | 2:26 PM | ✅ | Claude-mem plugin built and deployed to marketplace | ~381 |
| #35776 | 1:24 PM | ✅ | Successful Build of ChromaSync Bugfix | ~246 |
### Jan 3, 2026
**viewer-bundle.js**
| ID | Time | T | Title | Read |
|----|------|---|-------|------|
| #36687 | 11:53 PM | ✅ | MCP SDK and esbuild Dependencies Updated | ~332 |
### Jan 4, 2026
**viewer-bundle.js**
| ID | Time | T | Title | Read |
|----|------|---|-------|------|
| #36701 | 12:01 AM | ✅ | Built Version 8.5.7 Plugin Artifacts | ~406 |
### Jan 5, 2026
**viewer-bundle.js**
| ID | Time | T | Title | Read |
|----|------|---|-------|------|
| #38092 | 10:44 PM | ✅ | Built version 9.0.0 with complete plugin bundle | ~329 |
| #37990 | 9:00 PM | 🔵 | CLAUDE_MEM_WORKER_HOST setting used across 19 files | ~289 |
**CLAUDE.md**
| ID | Time | T | Title | Read |
|----|------|---|-------|------|
| #38078 | 9:54 PM | ✅ | CLAUDE.md Documentation Cleanup - 1,233 Lines Removed Across 18 Files | ~590 |
</claude-mem-context>
+81 -106
View File
@@ -3,118 +3,93 @@
<!-- This section is auto-generated by claude-mem. Edit content outside the tags. -->
### Dec 10, 2025
### Jan 3, 2026
**cleanup-duplicates.ts**
| ID | Time | T | Title | Read |
|----|------|---|-------|------|
| #23818 | 10:52 PM | | Build Script Updated to Bundle Worker CLI with Bun Shebang | ~225 |
| #23817 | " | 🔵 | Build Script Handles Hook Bundling; Worker Shebang Currently Uses Node | ~323 |
| #23793 | 10:14 PM | 🔄 | Smart Install Script Simplified for Clarity | ~479 |
| #23667 | 8:35 PM | 🔵 | Export-Memories Script Structure and Database Query Pattern | ~287 |
| #23649 | 8:13 PM | 🔴 | Fixed Sessions Array Type in Export Script | ~189 |
| #23648 | " | 🔴 | Applied Type Annotations to Export Script Variables | ~305 |
| #23647 | 8:12 PM | 🔴 | Improved Type Safety in Export Script | ~352 |
| #23646 | " | 🔴 | Fixed Variable Shadowing in Export Script | ~234 |
| #23645 | " | 🔵 | Export Script Has Variable Shadowing Issue | ~234 |
| #23644 | 8:11 PM | 🔴 | Added Database Existence Check to Export Script | ~245 |
| #23643 | " | 🔵 | Export Script Opens Database Without Existence Check | ~238 |
| #23642 | " | 🔴 | Fixed Export Script Hardcoded Port - Now Reads from User Settings | ~244 |
| #23641 | " | | Added Settings Import to Export Script | ~189 |
| #23640 | " | 🔵 | Export Script Has Hardcoded Port Parameter | ~213 |
| #23639 | " | 🔴 | Fixed Import Script insertSession.run() Call Parameters | ~218 |
### Dec 11, 2025
| ID | Time | T | Title | Read |
|----|------|---|-------|------|
| #24051 | 2:54 PM | 🟣 | Auto-Restart Worker After Marketplace Sync | ~384 |
| #24050 | " | ✅ | Build Worker Binary Script Made Executable | ~225 |
| #24049 | 2:53 PM | 🟣 | Windows Binary Build Script Created | ~362 |
| #24048 | " | ✅ | MCP Server Shebang Updated to Bun Runtime | ~342 |
| #24047 | " | ✅ | Hook Scripts Shebang Updated to Bun Runtime | ~305 |
| #24046 | " | ✅ | Worker Service Shebang Updated to Bun Runtime | ~306 |
| #24045 | 2:52 PM | 🔵 | Sync Marketplace Script Analysis for Auto-Restart Integration | ~366 |
| #24043 | " | 🔵 | Build Script Analysis for Phase 4 Updates | ~380 |
| #23922 | 1:34 PM | 🔵 | Three Node Shebangs Found in Build Configuration | ~349 |
| #23917 | 1:33 PM | 🔵 | Worker Service Build Configuration Current State | ~365 |
### Dec 12, 2025
| ID | Time | T | Title | Read |
|----|------|---|-------|------|
| #24639 | 10:46 PM | 🔴 | Enhanced UV Detection to Support Fresh Installs Before PATH Reload | ~326 |
| #24638 | " | 🔴 | Enhanced Bun Detection to Support Fresh Installs Before PATH Reload | ~338 |
| #24637 | " | 🔵 | Bun Installation Detection Using spawnSync | ~288 |
| #24636 | " | 🔵 | Duplicate Smart Install Scripts in Project Structure | ~288 |
### Dec 14, 2025
| ID | Time | T | Title | Read |
|----|------|---|-------|------|
| #26768 | 11:31 PM | 🔵 | Build Script Generates Empty plugin/package.json Without Postinstall Hook | ~492 |
| #26767 | " | 🔵 | Build Script Generates Empty Plugin Package.json Without Postinstall Hook | ~523 |
| #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 |
| #25815 | 5:31 PM | 🔵 | Comprehensive MCP Server and SKILL.md Structure Analysis | ~575 |
| #25809 | 5:30 PM | 🔵 | Build System Architecture Using esbuild for Component Bundling | ~484 |
### Dec 16, 2025
| ID | Time | T | Title | Read |
|----|------|---|-------|------|
| #27725 | 5:45 PM | 🔵 | Export script uses hybrid search API to export observations, sessions, summaries, and prompts | ~335 |
| #27705 | 5:38 PM | ✅ | Switched import-memories.ts from better-sqlite3 to bun:sqlite | ~212 |
### Dec 17, 2025
| ID | Time | T | Title | Read |
|----|------|---|-------|------|
| #29052 | 10:02 PM | 🔵 | Sync Script Manages Multiple Plugin Installation Locations | ~394 |
### Dec 18, 2025
| ID | Time | T | Title | Read |
|----|------|---|-------|------|
| #29565 | 5:28 PM | ✅ | Output File Changed from code.yaml to code.json | ~234 |
| #29564 | " | 🔄 | Script Refactored to Generate JSON Instead of YAML | ~332 |
### Dec 19, 2025
| ID | Time | T | Title | Read |
|----|------|---|-------|------|
| #30109 | 8:11 PM | 🔵 | RAGTIME Script Uses Agent SDK Without Plugin Loading | ~490 |
| #30076 | 8:05 PM | 🔵 | RAGTIME Script Uses Agent SDK Query Function for Email Processing | ~389 |
### Dec 20, 2025
| ID | Time | T | Title | Read |
|----|------|---|-------|------|
| #30340 | 3:42 PM | 🔄 | Relocated simple ragtime.ts to ragtime folder | ~219 |
| #30337 | 3:40 PM | 🔵 | Simplified Ragtime Runner in Scripts Directory | ~456 |
| #30256 | 3:18 PM | 🔵 | Plugin Path Resolution Strategy | ~386 |
| #30250 | 3:17 PM | 🟣 | RAGTIME Email Investigation Runner Implemented | ~503 |
### Dec 26, 2025
| ID | Time | T | Title | Read |
|----|------|---|-------|------|
| #32983 | 11:04 PM | 🟣 | Complete build and deployment pipeline executed | ~260 |
### Dec 28, 2025
| ID | Time | T | Title | Read |
|----|------|---|-------|------|
| #33261 | 2:58 PM | 🔄 | Build script cleanup removes obsolete worker-wrapper and worker-cli build steps | ~335 |
### Dec 30, 2025
| ID | Time | T | Title | Read |
|----|------|---|-------|------|
| #34460 | 2:23 PM | 🔵 | Build System Architecture Using ESBuild | ~492 |
| #36390 | 8:50 PM | 🔄 | Comprehensive Monolith Refactor with Modular Architecture | ~724 |
| #36386 | 8:49 PM | | Committed duplicate observation cleanup script to repository | ~283 |
| #36382 | 8:48 PM | 🟣 | Added safety checks to prevent accidental deletion of all observation copies | ~281 |
| #36381 | " | 🔴 | Fixed duplicate group creation to use title field and dynamic window seconds | ~282 |
| #36380 | " | 🔄 | Improved database connection initialization with explicit readonly handling | ~245 |
| #36377 | 8:47 PM | 🔄 | Updated console output to display title instead of text | ~220 |
| #36376 | " | 🔵 | Found sample output display also references old text field | ~210 |
| #36375 | " | 🔴 | Fixed duplicate group creation to use title field and dynamic time bucket | ~288 |
| #36374 | " | 🔵 | Found duplicate group creation still references old text field | ~249 |
| #36373 | " | 🔄 | Updated DuplicateGroup interface to use title instead of text | ~192 |
| #36372 | 8:46 PM | 🟣 | Implemented composite content hashing using title, subtitle, and narrative | ~301 |
| #36371 | " | 🔴 | Fixed SQL query to select actual observation content columns | ~283 |
| #36370 | " | 🔄 | Updated ObservationRow interface to use title-based schema fields | ~219 |
| #36361 | 8:44 PM | 🟣 | Implemented dynamic fingerprint generation for aggressive mode | ~285 |
### Jan 4, 2026
**discord-release-notify.js**
| ID | Time | T | Title | Read |
|----|------|---|-------|------|
| #36765 | 12:41 AM | 🔵 | Smart Install Script Path Detection Logic | ~405 |
| #36933 | 2:27 AM | | Discord release notification sent for v8.5.8 | ~228 |
**export-memories.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 |
| #36847 | 1:45 AM | 🔵 | Export Script Type Import Pattern | ~433 |
| #36827 | 1:03 AM | ✅ | Branch diff shows 1,293 insertions and 98 deletions across 15 files | ~464 |
| #36825 | 1:00 AM | 🔵 | Export Script Contains Duplicate Type Definitions | ~579 |
| #36770 | 12:42 AM | 🔵 | Export Script Type Duplication Analysis Complete | ~555 |
| #36760 | 12:34 AM | ✅ | Created Issue #531 Report: Export Script Type Duplication | ~430 |
| #36758 | " | 🔵 | Issue #531 Root Cause - 73 Lines of Duplicated Export Type Definitions | ~529 |
| #36752 | 12:32 AM | 🔵 | Export Script Type Definitions Found | ~368 |
**smart-install.js**
| ID | Time | T | Title | Read |
|----|------|---|-------|------|
| #36843 | 1:44 AM | 🔵 | Smart Install Script Structure and Path Detection Logic | ~538 |
| #36829 | 1:40 AM | 🔵 | PR #542 Review Analysis - Multi-Issue Fix Validation | ~562 |
| #36809 | 12:56 AM | 🟣 | GitHub Issue #527 Anti-Pattern Verification Complete - All Checks Passed | ~495 |
| #36808 | " | 🟣 | Verified Windows Path Arrays Remain Unmodified | ~435 |
| #36807 | " | 🟣 | Final Verification Confirms Complete Apple Silicon Homebrew Implementation | ~430 |
| #36806 | 12:55 AM | 🟣 | Verified Apple Silicon Paths Only in Non-Windows Arrays | ~411 |
| #36805 | " | 🟣 | Verified No Architecture Detection in Source File Implementation | ~374 |
| #36803 | " | 🟣 | Source File Syntax Validation Passed | ~301 |
| #36801 | 12:54 AM | 🟣 | Verified Source File Homebrew Path Count | ~283 |
| #36795 | 12:52 AM | 🟣 | GitHub Issue #527 Completed - Apple Silicon Homebrew Path Support | ~550 |
| #36793 | 12:51 AM | 🟣 | GitHub Issue #527 Source File Updates Complete | ~452 |
| #36792 | 12:50 AM | 🟣 | Added Apple Silicon Homebrew Path for UV Detection | ~391 |
| #36791 | " | 🟣 | Added Apple Silicon Homebrew Path for Bun Detection | ~399 |
| #36772 | 12:42 AM | 🔵 | Smart Install Script Path Arrays Analysis Complete | ~448 |
| #36761 | 12:36 AM | ✅ | Created Implementation Plans for Four GitHub Issues | ~507 |
| #36721 | 12:15 AM | 🔵 | Issue #527 UV Homebrew Path Missing on Apple Silicon | ~492 |
| #36719 | " | 🔵 | Issue #527 uv Homebrew Detection Missing on Apple Silicon Macs | ~526 |
### Jan 5, 2026
**regenerate-claude-md.ts**
| ID | Time | T | Title | Read |
|----|------|---|-------|------|
| #38086 | 10:42 PM | ✅ | Merged PR with comprehensive CLAUDE.md documentation system | ~478 |
| #38050 | 9:46 PM | 🔵 | CLAUDE.md Regeneration Script for Bulk Folder Context Updates | ~599 |
| #38005 | 9:03 PM | 🔵 | Comprehensive exploration of PR review items completed | ~438 |
| #37994 | 9:01 PM | 🔵 | Understanding regenerate-claude-md.ts script architecture | ~436 |
| #37991 | 9:00 PM | 🔵 | Located regenerate-claude-md.ts script | ~238 |
| #37974 | 8:33 PM | 🔵 | CLAUDE.md regeneration script fails with Bun protocol error | ~216 |
**build-hooks.js**
| ID | Time | T | Title | Read |
|----|------|---|-------|------|
| #37547 | 4:47 PM | ✅ | Issue #557 Analysis Report Created for Plugin Startup Failure | ~491 |
### Jan 6, 2026
**build-hooks.js**
| ID | Time | T | Title | Read |
|----|------|---|-------|------|
| #38108 | 12:15 AM | 🔵 | Complete Windows Zombie Port Bug Technical Deep Dive | ~935 |
**smart-install.js**
| ID | Time | T | Title | Read |
|----|------|---|-------|------|
| #38104 | 12:14 AM | 🔵 | Windows Compatibility Issues Documented Across 56 Memory Entries | ~509 |
</claude-mem-context>
+65 -6
View File
@@ -3,13 +3,72 @@
<!-- This section is auto-generated by claude-mem. Edit content outside the tags. -->
### Dec 30, 2025
### Dec 15, 2025
**index.ts**
| ID | Time | T | Title | Read |
|----|------|---|-------|------|
| #34517 | 2:34 PM | 🔵 | Bug Report Script Successfully Migrated to V2 Pattern | ~388 |
| #34513 | 2:33 PM | ✅ | Phase 4 Utility Scripts Migration Committed and Pushed | ~437 |
| #34512 | " | ✅ | Bug Report Script Migrated to V2 Prompt API | ~524 |
| #34509 | 2:32 PM | 🔵 | Bug Report Script Still Uses V1 SDK Pattern | ~499 |
| #34457 | 2:21 PM | 🔵 | Bug Report Script Using V2 Prompt API | ~325 |
| #27158 | 8:08 PM | 🔵 | Complete API Key Authentication Flow Traced Through System | ~460 |
### Dec 16, 2025
**collector.ts**
| ID | Time | T | Title | Read |
|----|------|---|-------|------|
| #27823 | 6:56 PM | 🔵 | Bug Report System Reads PID File for Diagnostics | ~264 |
### Dec 20, 2025
**index.ts**
| ID | Time | T | Title | Read |
|----|------|---|-------|------|
| #30253 | 3:17 PM | 🔵 | Agent SDK Integration Throughout Codebase | ~402 |
### Dec 21, 2025
**cli.ts**
| ID | Time | T | Title | Read |
|----|------|---|-------|------|
| #31603 | 8:21 PM | 🔵 | Complete Console.* Statement Audit Across Codebase | ~813 |
**index.ts**
| ID | Time | T | Title | Read |
|----|------|---|-------|------|
| #31601 | 8:19 PM | 🔵 | 215 console logging statements in TypeScript utility scripts | ~501 |
### Dec 30, 2025
**index.ts**
| ID | Time | T | Title | Read |
|----|------|---|-------|------|
| #34502 | 2:31 PM | ✅ | Updated Bug Report Script Import to V2 API | ~292 |
### Dec 31, 2025
**index.ts**
| ID | Time | T | Title | Read |
|----|------|---|-------|------|
| #34572 | 2:36 PM | ⚖️ | Comprehensive Post-Mortem Document Created | ~692 |
| #34571 | 2:35 PM | ⚖️ | Post-Mortem Analysis Identifies Scope Confusion as Root Failure Cause | ~599 |
| #34570 | " | 🔵 | Root Cause Identified: Utility Scripts Never Fixed Despite Phase 4 Review | ~513 |
| #34569 | " | 🔵 | Bug Report Script Shows Same systemPrompt Error and Unsafe Result Access | ~443 |
### Jan 1, 2026
**index.ts**
| ID | Time | T | Title | Read |
|----|------|---|-------|------|
| #35288 | 1:22 PM | 🔵 | Bug Report Generation Tool Using Agent SDK | ~501 |
### 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 |
**collector.ts**
| ID | Time | T | Title | Read |
|----|------|---|-------|------|
| #37990 | 9:00 PM | 🔵 | CLAUDE_MEM_WORKER_HOST setting used across 19 files | ~289 |
</claude-mem-context>
+105 -13
View File
@@ -3,34 +3,126 @@
<!-- This section is auto-generated by claude-mem. Edit content outside the tags. -->
### Dec 10, 2025
### Oct 25, 2025
**settings-cli.ts**
| ID | Time | T | Title | Read |
|----|------|---|-------|------|
| #23825 | 11:12 PM | | Worker Port Set to 38888 for Migration Phase | ~283 |
| #23824 | " | 🔵 | Worker Port Sourced from getWorkerPort() Utility | ~247 |
| #23816 | 10:52 PM | 🟣 | Worker CLI Command Interface Created | ~325 |
| #2415 | 4:06 PM | 🟣 | Settings System with Multi-Interface Configuration Management | ~516 |
| #2414 | " | 🟣 | Multi-Interface Settings System Implementation | ~498 |
| #2413 | " | 🟣 | Settings System with Schema, Service, and CLI Implementation | ~428 |
### Dec 11, 2025
**worker-cli.ts**
| ID | Time | T | Title | Read |
|----|------|---|-------|------|
| #24060 | 2:58 PM | 🔴 | Worker CLI Start Command Exit Behavior Fixed | ~232 |
| #24076 | 3:16 PM | 🔵 | 45 files modified with nearly equal additions and deletions during Bun migration | ~443 |
| #24061 | 2:58 PM | 🔴 | Added explicit process.exit() to worker CLI commands | ~274 |
| #23961 | 1:59 PM | 🔵 | CLI Module Contains Worker Command Interface | ~205 |
| #23949 | 1:45 PM | 🔴 | CLI Worker Management Unified to Settings-Based Port | ~373 |
| #23947 | 1:40 PM | 🔵 | Comprehensive Port Configuration Audit Complete | ~532 |
| #23939 | 1:38 PM | 🔵 | worker-cli.ts Hardcoded MIGRATION_PORT Usage | ~372 |
| #23934 | 1:36 PM | 🔵 | Port 38888 Hardcoded in Two Migration Files | ~341 |
| #23933 | " | 🔵 | Comprehensive Port 37777 References Across Documentation and Code | ~427 |
| #23931 | " | 🔵 | Comprehensive Port Usage Mapping Across Codebase | ~449 |
**cli**
| ID | Time | T | Title | Read |
|----|------|---|-------|------|
| #23986 | 2:04 PM | 🔵 | Code Quality Audit Completed - 25 Issues Identified Across Six Principles | ~602 |
### Dec 12, 2025
**worker-cli.ts**
| 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 |
| #24348 | 6:57 PM | 🔴 | Added Defensive Break Statement to worker-cli.ts Restart Case | ~269 |
| #24345 | " | 🔵 | worker-cli.ts Missing Break Statement in Switch Case | ~318 |
| #24394 | 7:24 PM | 🟣 | Phase 6 Agent Completed Git Commit and PR Update | ~444 |
| #24391 | " | ✅ | Committed Complete Migration from better-sqlite3 to bun:sqlite | ~436 |
| #24390 | 7:23 PM | | Staged All 19 Modified Files for Git Commit | ~301 |
| #24389 | " | 🟣 | Phase 5 Agent Completed Full System Verification | ~726 |
| #24388 | 7:22 PM | 🟣 | Phase 5 Complete - All Verification Passed for Production Deployment | ~600 |
| #24387 | " | 🔵 | Uncommitted Changes Identified Across Documentation and Core Services | ~368 |
| #24369 | 7:10 PM | 🔵 | Worker CLI Process Management Architecture | ~242 |
| #24328 | 6:51 PM | 🔵 | Worker CLI Switch Statement Structure Confirmed | ~634 |
| #24327 | " | ⚖️ | Exploration Phase Plan for PR #248 Fixes | ~695 |
| #24324 | 6:50 PM | ⚖️ | Pre-Merge Scope Definition and Implementation Path | ~651 |
| #24322 | 6:49 PM | 🔵 | Missing Break Statement in Worker CLI Switch Case | ~542 |
| #24320 | " | ⚖️ | PR #248 Issue Prioritization Strategy | ~616 |
| #24319 | 6:48 PM | 🔵 | PR #248 Review Status: PM2 to Bun Migration Assessment | ~736 |
| #24276 | 5:20 PM | 🔵 | worker-cli.ts provides command-line interface for worker management | ~529 |
### Dec 14, 2025
### Dec 13, 2025
**worker-cli.ts**
| ID | Time | T | Title | Read |
|----|------|---|-------|------|
| #26766 | 11:30 PM | ⚖️ | Root Cause Identified: Missing Post-Install Worker Restart Trigger in Plugin Update Flow | ~604 |
| #26722 | 11:23 PM | 🔵 | Worker CLI TypeScript Source Shows Simple ProcessManager Delegation | ~394 |
| #26721 | " | 🔵 | Worker CLI Source Code Shows Simple Restart Logic Without Delays | ~425 |
| #25370 | 9:26 PM | 🔵 | Worker CLI Process Management Interface | ~429 |
| #25343 | 9:17 PM | 🔵 | Console.error Used for Migration Progress and Error Logging | ~451 |
| #25321 | 9:12 PM | 🔵 | Console.error Usage Found in 29 Files | ~366 |
| #24757 | 4:46 PM | 🔵 | Worker CLI Provides Direct Interface to ProcessManager | ~342 |
### Dec 16, 2025
**worker-cli.ts**
| ID | Time | T | Title | Read |
|----|------|---|-------|------|
| #27825 | 6:56 PM | 🔵 | CLI Commands Rely on ProcessManager PID File Methods | ~301 |
| #27373 | 3:15 PM | 🔵 | Worker CLI Command Interface | ~331 |
### Dec 17, 2025
**worker-cli.ts**
| ID | Time | T | Title | Read |
|----|------|---|-------|------|
| #28930 | 7:30 PM | 🔵 | Worker CLI Distribution and Build System | ~275 |
| #28929 | " | 🔵 | ProcessManager Usage Across Codebase | ~319 |
### Dec 21, 2025
**worker-cli.ts**
| ID | Time | T | Title | Read |
|----|------|---|-------|------|
| #31603 | 8:21 PM | 🔵 | Complete Console.* Statement Audit Across Codebase | ~813 |
| #31599 | 8:19 PM | 🔵 | 136 console logging statements found in TypeScript source files | ~538 |
### Dec 24, 2025
**worker-cli.ts**
| ID | Time | T | Title | Read |
|----|------|---|-------|------|
| #32344 | 8:42 PM | 🔵 | Timeline Reveals Cleanup Hook Caused Data Loss via Premature SDK Agent Termination | ~627 |
| #32317 | 8:41 PM | 🔄 | Removed unreachable break statement from worker CLI start command | ~204 |
| #32191 | 7:38 PM | 🔴 | Worker CLI now outputs HOOK_STANDARD_RESPONSE format | ~277 |
| #32189 | 7:37 PM | 🔴 | Worker CLI Now Outputs Standard Hook Response Format | ~306 |
| #32068 | 3:23 PM | 🔵 | Worker CLI Supports Start/Stop/Restart/Status Commands | ~275 |
### Dec 25, 2025
**worker-cli.ts**
| ID | Time | T | Title | Read |
|----|------|---|-------|------|
| #32456 | 5:41 PM | ✅ | Completed merge of main branch into feature/titans-phase1-3 | ~354 |
### Dec 26, 2025
**worker-cli.ts**
| ID | Time | T | Title | Read |
|----|------|---|-------|------|
| #32855 | 7:04 PM | 🔄 | Consolidated worker process management into single service | ~322 |
### Dec 28, 2025
**worker-cli.ts**
| ID | Time | T | Title | Read |
|----|------|---|-------|------|
| #33370 | 3:47 PM | 🔵 | ToxMox Wrapper Architecture Deleted December 26, Six Days After Implementation | ~506 |
| #33284 | 3:07 PM | 🔄 | Consolidated Worker Lifecycle Management (-580 Lines) | ~327 |
### Jan 5, 2026
**types.ts**
| ID | Time | T | Title | Read |
|----|------|---|-------|------|
| #38071 | 9:52 PM | 🟣 | Unified CLI Phase 1 - Infrastructure Foundation with Type System and Stdin Reader | ~451 |
</claude-mem-context>
+116 -62
View File
@@ -3,93 +3,147 @@
<!-- This section is auto-generated by claude-mem. Edit content outside the tags. -->
### Dec 9, 2025
### Dec 30, 2025
**new-hook.ts**
| ID | Time | T | Title | Read |
|----|------|---|-------|------|
| #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 |
| #23071 | 6:25 PM | 🔵 | cleanup-hook.ts Has Over-Engineered Manual Mode Help (lines 36-47) | ~399 |
| #23070 | " | 🔵 | user-message-hook.ts Contains Expired Announcement Code (lines 31-70) | ~370 |
| #23045 | 4:41 PM | 🔵 | "What's the Point?" Audit: Hook Code Contains 50% Dead/Duplicated Logic | ~1458 |
| #23044 | 4:37 PM | 🔵 | Hook Architecture Audit: Purpose and Design Patterns | ~1032 |
| #22856 | 2:27 PM | ✅ | Replaced node_modules Check with Marker File in user-message-hook | ~324 |
| #22855 | " | 🔵 | Identified node_modules First-Run Check in user-message-hook | ~319 |
| #22825 | 2:06 PM | 🔄 | Removed Duplicate Session Initialization Call from New Hook | ~346 |
### Dec 10, 2025
| #34440 | 2:16 PM | 🔵 | TypeScript type errors identified across multiple components | ~328 |
**summary-hook.ts**
| ID | Time | T | Title | Read |
|----|------|---|-------|------|
| #23407 | 2:14 PM | 🔵 | New Hook Implementation Structure | ~264 |
| #34393 | 1:41 PM | 🔵 | Stop Hook (summary-hook.ts) Only Requests Summary, No Process Cleanup | ~375 |
### Dec 13, 2025
### Dec 31, 2025
**new-hook.ts**
| ID | Time | T | Title | Read |
|----|------|---|-------|------|
| #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
| #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 |
**context-hook.ts**
| ID | Time | T | Title | Read |
|----|------|---|-------|------|
| #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 |
| #34631 | 3:02 PM | 🟣 | Context-Preservation Workflow Design Documents Created | ~729 |
### Dec 17, 2025
### Jan 1, 2026
**new-hook.ts**
| ID | Time | T | Title | Read |
|----|------|---|-------|------|
| #28449 | 4:23 PM | 🔵 | New Hook Session Initialization Flow | ~385 |
### Dec 19, 2025
| #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 |
**context-hook.ts**
| ID | Time | T | Title | Read |
|----|------|---|-------|------|
| #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
| #35206 | 1:08 PM | 🔵 | context-hook.ts falls back to process.cwd() when cwd missing | ~311 |
**save-hook.ts**
| ID | Time | T | Title | Read |
|----|------|---|-------|------|
| #31085 | 7:59 PM | 🔵 | Summary Hook Uses session_id from Hook Input | ~315 |
| #35204 | 1:07 PM | 🔵 | PostToolUse hook validates cwd as required field | ~301 |
### Dec 27, 2025
### Jan 2, 2026
**new-hook.ts**
| ID | Time | T | Title | Read |
|----|------|---|-------|------|
| #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 |
| #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 |
**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 |
</claude-mem-context>
+84 -59
View File
@@ -3,98 +3,123 @@
<!-- This section is auto-generated by claude-mem. Edit content outside the tags. -->
### Nov 6, 2025
### Dec 21, 2025
**mcp-server.ts**
| ID | Time | T | Title | Read |
|----|------|---|-------|------|
| #4185 | 10:25 PM | 🔴 | Prefixed unused id parameters with underscore in filter callbacks | ~299 |
| #31603 | 8:21 PM | 🔵 | Complete Console.* Statement Audit Across Codebase | ~813 |
### Nov 8, 2025
### Dec 25, 2025
**mcp-server.ts**
| ID | Time | T | Title | Read |
|----|------|---|-------|------|
| #5539 | 10:20 PM | 🔵 | Harsh critical audit of context-hook reveals systematic anti-patterns | ~3154 |
| #5497 | 9:29 PM | 🔵 | Harsh critical audit of context-hook reveals systematic anti-patterns | ~2815 |
| #32558 | 8:18 PM | 🔵 | Identified files containing 'summary' or 'Summary' | ~167 |
### Nov 9, 2025
### Dec 26, 2025
**mcp-server.ts**
| ID | Time | T | Title | Read |
|----|------|---|-------|------|
| #5757 | 5:16 PM | 🔵 | MCP search server exposes 9 tools consuming ~2,000-3,000 tokens per session | ~421 |
| #5754 | 5:14 PM | 🔵 | MCP search server provides 9 search tools with hybrid semantic/FTS5 | ~402 |
| #32912 | 10:02 PM | 🔵 | Error handling uses consistent logger.error and logger.failure patterns throughout codebase | ~508 |
### Nov 10, 2025
### Dec 27, 2025
**mcp-server.ts**
| ID | Time | T | Title | Read |
|----|------|---|-------|------|
| #6250 | 12:54 PM | 🔵 | MCP Search Server Connection Failure Reported | ~329 |
| #33175 | 8:34 PM | 🔄 | Console.log interception now uses structured logger | ~288 |
| #33148 | 8:19 PM | 🔵 | Logging System Architecture Traced Across Codebase | ~384 |
### Nov 17, 2025
### Dec 28, 2025
**mcp-server.ts**
| ID | Time | T | Title | Read |
|----|------|---|-------|------|
| #10744 | 11:47 PM | | Search Query Parameter Made Optional for Filter-Only Queries | ~373 |
| #10572 | 7:47 PM | 🟣 | Unified cross-type search with search_everything tool | ~501 |
| #10571 | 7:46 PM | 🔵 | Search server architecture and hybrid search implementation | ~553 |
| #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 |
### Nov 18, 2025
### Dec 29, 2025
**mcp-server.ts**
| ID | Time | T | Title | Read |
|----|------|---|-------|------|
| #11462 | 7:55 PM | 🔵 | Ready to Apply Fix to Contextualize Handler | ~261 |
| #11460 | " | 🔴 | Identified Root Cause of Contextualize Endpoint Bug | ~413 |
| #11454 | 7:54 PM | 🔵 | Unified Search Handler Shows Correct Pattern for Filter-Only Queries | ~334 |
| #11447 | " | 🔵 | Contextualize Handler Calls Search Methods with Query='*' | ~279 |
| #11432 | 7:52 PM | 🔵 | Contextualize Handler Formats Results with Sections | ~286 |
| #11431 | 7:51 PM | 🔵 | Confirmed Empty Results Trigger in Contextualize Handler | ~289 |
| #11430 | " | 🔵 | Contextualize Handler Implementation Uses Search Methods | ~424 |
| #11429 | " | 🔵 | Search Server Defines Six Main Search Tools | ~358 |
| #11428 | " | 🔵 | Contextualize Tool Definition Found in Search Server | ~357 |
| #11332 | 3:55 PM | 🔵 | Comprehensive FTS5 Removal Audit Completed for Architecture Migration | ~792 |
| #11206 | 3:01 PM | 🔵 | mem-search skill architecture and migration details retrieved in full format | ~538 |
| #11181 | 4:09 AM | 🔵 | Store methods for ID-based lookups exist but not exposed as MCP tools | ~495 |
| #11013 | 2:12 AM | 🔵 | Search Server Implements Three-Path Query Strategy with ChromaDB Primary and FTS5 Fallback | ~462 |
| #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 |
### Nov 28, 2025
### Dec 30, 2025
**mcp-server.ts**
| ID | Time | T | Title | Read |
|----|------|---|-------|------|
| #16711 | 4:34 PM | 🟣 | include_inactive Parameter Extracted in Search Handler | ~369 |
| #16710 | " | 🔵 | Search Tool Schema Definition with Type and Filter Parameters | ~527 |
| #16708 | " | 🔵 | Search Server MCP Tool Architecture and ChromaDB Integration | ~491 |
| #16682 | 4:10 PM | 🔵 | Comprehensive Exploration Task Completed on Observation System | ~601 |
| #34440 | 2:16 PM | 🔵 | TypeScript type errors identified across multiple components | ~328 |
### Dec 14, 2025
### Jan 1, 2026
**mcp-server.ts**
| ID | Time | T | Title | Read |
|----|------|---|-------|------|
| #26238 | 8:28 PM | 🔵 | MCP Server Architecture Maps Tools to Worker API Endpoints | ~355 |
| #26138 | 7:55 PM | ✅ | Updated Comment to Reference progressive_description Tool | ~238 |
| #26137 | " | ✅ | Completed Tool Description Minimization - All 9 Tools Updated | ~335 |
| #26136 | " | ✅ | Minimized Get Session Tool Description | ~218 |
| #26135 | " | ✅ | Minimized Get Batch Observations Tool Description | ~258 |
| #26134 | " | ✅ | Minimized Get Observation Tool Description | ~228 |
| #26133 | " | ✅ | Minimized Get Context Timeline Tool Description | ~245 |
| #26132 | 7:54 PM | ✅ | Minimized Get Recent Context Tool Description | ~214 |
| #26131 | " | ✅ | Minimized Timeline Tool Description | ~232 |
| #26130 | " | ✅ | Minimized Search Tool Description | ~235 |
| #26129 | " | ✅ | Renamed progressive_ix Tool to progressive_description with Minimized Description | ~296 |
| #26128 | " | ✅ | Renamed Tool Endpoint Mapping from progressive_ix to progressive_description | ~229 |
| #26127 | " | ✅ | Completed Format Parameter Removal from All Four MCP Tools | ~318 |
| #26126 | 7:53 PM | ✅ | Removed Format Parameter from Get Recent Context Tool Schema | ~244 |
| #26125 | " | ✅ | Removed Format Parameter from Timeline Tool Schema | ~248 |
| #26124 | " | ✅ | Removed Format Parameter from Search Tool Schema | ~283 |
| #26123 | " | 🔵 | Current MCP Server Tool Schema Analysis | ~337 |
| #25815 | 5:31 PM | 🔵 | Comprehensive MCP Server and SKILL.md Structure Analysis | ~575 |
| #25807 | 5:30 PM | 🔵 | MCP Server Architecture with 14 HTTP-Delegating Tools | ~545 |
| #25788 | 5:15 PM | 🔵 | MCP Server Capabilities and Request Handlers | ~256 |
| #35619 | 11:07 PM | 🔵 | MCP Server Fatal Error Handling | ~209 |
### Dec 17, 2025
### Jan 2, 2026
**mcp-server.ts**
| ID | Time | T | Title | Read |
|----|------|---|-------|------|
| #29078 | 10:16 PM | | Updated get_recent_context tool schema to accept dynamic parameters | ~318 |
| #29077 | 10:15 PM | ✅ | Updated timeline tool schema to accept dynamic parameters | ~292 |
| #29076 | " | ✅ | Updated search tool schema to accept dynamic parameters | ~315 |
| #28923 | 7:28 PM | 🔵 | MCP Server Architecture: Thin HTTP Wrapper Pattern | ~402 |
| #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 |
</claude-mem-context>
+45 -37
View File
@@ -3,61 +3,69 @@
<!-- This section is auto-generated by claude-mem. Edit content outside the tags. -->
### Dec 10, 2025
### Jan 3, 2026
**context-generator.ts**
| ID | Time | T | Title | Read |
|----|------|---|-------|------|
| #23832 | 11:15 PM | 🔵 | Current worker-service.ts Lacks Admin Endpoints | ~393 |
### Dec 14, 2025
| #36670 | 11:37 PM | | Resolved merge conflicts by accepting branch changes for 39 files | ~435 |
**worker-service.ts**
| ID | Time | T | Title | Read |
|----|------|---|-------|------|
| #26740 | 11:26 PM | 🔵 | Worker Service Refactored to Orchestrator with Background Initialization | ~421 |
| #26739 | 11:25 PM | 🔵 | Worker Service Architecture Uses Domain Services and Background Initialization | ~438 |
| #26255 | 8:31 PM | 🔵 | Context Generator Timeline Rendering Logic Details File Grouping Implementation | ~397 |
| #26251 | 8:30 PM | 🔵 | Worker Service Orchestrates Domain Services and Route Handlers | ~292 |
| #26246 | 8:29 PM | 🔵 | Context Generator Implements Rich Date-Grouped Timeline Format | ~468 |
### Dec 17, 2025
| #36642 | 10:56 PM | 🔵 | Logger Coverage Test Requirements Analysis | ~483 |
**worker-types.ts**
| ID | Time | T | Title | Read |
|----|------|---|-------|------|
| #28548 | 4:49 PM | 🔵 | Worker service cleanup method uses Unix-specific process management | ~323 |
| #28446 | 4:23 PM | 🔵 | Worker Service Refactored to Orchestrator Pattern | ~529 |
| #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 |
### Dec 18, 2025
### Jan 4, 2026
**worker-types.ts**
| ID | Time | T | Title | Read |
|----|------|---|-------|------|
| #29340 | 3:11 PM | | Constructor Initialization Comment Updated | ~267 |
| #29339 | " | | Class Member Comment Updated in WorkerService | ~267 |
| #29338 | " | | Service Import Comment Updated | ~222 |
| #29337 | 3:10 PM | ✅ | Terminology Update in Worker Service Documentation | ~268 |
| #29239 | 12:11 AM | 🔵 | Worker Service Refactored as Domain-Driven Orchestrator | ~477 |
### Dec 20, 2025
| #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 |
|----|------|---|-------|------|
| #30808 | 6:05 PM | 🔴 | Fixed worker readiness check to fail on initialization errors | ~315 |
| #30800 | 6:03 PM | 🔵 | Dual Error Logging in Background Initialization | ~367 |
| #30799 | " | 🔵 | Background Initialization Invocation Pattern | ~365 |
| #30797 | " | 🔵 | Background Initialization Sequence and Error Handler Confirmed | ~450 |
| #30795 | 6:02 PM | 🔵 | Readiness Endpoint Returns 503 During Initialization | ~397 |
| #30793 | " | 🔵 | Dual Initialization State Tracking Pattern | ~388 |
| #30791 | " | 🔵 | Worker Service Constructor Defers SearchRoutes Initialization | ~387 |
| #30790 | " | 🔵 | Initialization Promise Resolver Pattern Located | ~321 |
| #30788 | " | 🔵 | Worker Service Initialization Resolves Promise Despite Errors | ~388 |
| #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 1, 2026
### Jan 5, 2026
**context-generator.ts**
| ID | Time | T | Title | Read |
|----|------|---|-------|------|
| #35654 | 11:29 PM | | Added APPROVED OVERRIDE annotation for instruction loading HTTP route error handler | ~339 |
| #35651 | 11:28 PM | ✅ | Added APPROVED OVERRIDE annotation for shutdown error handler with process.exit | ~354 |
| #35649 | " | ✅ | Added APPROVED OVERRIDE annotation for readiness check retry loop error handling | ~374 |
| #35647 | " | | Added APPROVED OVERRIDE annotation for port availability probe error handling | ~327 |
| #35646 | " | ✅ | Added APPROVED OVERRIDE annotation for Cursor context file update error handling | ~342 |
| #35643 | 11:27 PM | ✅ | Added APPROVED OVERRIDE annotation for PID file cleanup error handling | ~320 |
| #38079 | 9:55 PM | 🔵 | Context Generator Deprecated - Redirects to Modular Architecture | ~466 |
**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 |
</claude-mem-context>
+57 -1
View File
@@ -3,5 +3,61 @@
<!-- This section is auto-generated by claude-mem. Edit content outside the tags. -->
*No recent activity*
### 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 |
</claude-mem-context>
+59 -1
View File
@@ -3,5 +3,63 @@
<!-- This section is auto-generated by claude-mem. Edit content outside the tags. -->
*No recent activity*
### Jan 3, 2026
**MarkdownFormatter.ts**
| ID | Time | T | Title | Read |
|----|------|---|-------|------|
| #36562 | 9:49 PM | 🟣 | Phase 4 Context Generation Tests Completed | ~524 |
| #36561 | " | 🟣 | Phase 4 Context Generation Test Suite Completion | ~606 |
| #36557 | 9:47 PM | 🟣 | MarkdownFormatter Test Suite Created | ~520 |
| #36553 | 9:43 PM | 🔵 | MarkdownFormatter Rendering Functions | ~445 |
| #36552 | " | 🔵 | Context Generation API Documentation for Phase 4 | ~496 |
| #36292 | 8:04 PM | 🔄 | Phase 4 Module Inventory: 12 Files Created in Context Architecture | ~571 |
**ColorFormatter.ts**
| ID | Time | T | Title | Read |
|----|------|---|-------|------|
| #36390 | 8:50 PM | 🔄 | Comprehensive Monolith Refactor with Modular Architecture | ~724 |
### Jan 4, 2026
**ColorFormatter.ts**
| ID | Time | T | Title | Read |
|----|------|---|-------|------|
| #36949 | 2:45 AM | 🟣 | Added Timestamp to Empty State Context Header | ~268 |
| #36947 | 2:44 AM | 🔵 | ColorFormatter Header Rendering Location Found | ~235 |
| #36946 | " | 🟣 | Context Header Timestamp Display | ~322 |
| #36944 | " | 🔵 | ColorFormatter Architecture - Terminal Context Display | ~374 |
**MarkdownFormatter.ts**
| ID | Time | T | Title | Read |
|----|------|---|-------|------|
| #36948 | 2:44 AM | 🔴 | Add Timestamp to Empty State Context Header | ~270 |
| #36945 | " | 🟣 | Context Header Now Displays Current Date and Time | ~303 |
| #36943 | 2:43 AM | 🔵 | MarkdownFormatter Structure for Context Injection | ~346 |
| #36942 | " | 🔵 | Recent Context Feature Architecture | ~300 |
### Jan 5, 2026
**ColorFormatter.ts**
| ID | Time | T | Title | Read |
|----|------|---|-------|------|
| #38048 | 9:45 PM | 🔴 | PR #558 - Comprehensive Bug Fix and Test Quality Improvement | ~585 |
| #37582 | 4:53 PM | 🔴 | Updated ColorFormatter Second mem-search Reference - Phase 2 Complete | ~398 |
| #37581 | " | 🔴 | Updated ColorFormatter First mem-search Reference | ~362 |
| #37577 | 4:52 PM | 🔵 | ColorFormatter Contains Outdated mem-search References | ~395 |
| #37530 | 4:43 PM | 🔵 | Issue #544 Confirmed in ColorFormatter Second Location | ~344 |
**MarkdownFormatter.ts**
| ID | Time | T | Title | Read |
|----|------|---|-------|------|
| #37617 | 5:32 PM | ⚖️ | PR #558 Review Requirements Categorized by Priority | ~637 |
| #37613 | 5:31 PM | 🔵 | PR #558 Review Feedback Analysis | ~544 |
| #37586 | 4:54 PM | 🔴 | Phase 2 Committed - mem-search Hint Messages Fixed | ~375 |
| #37583 | 4:53 PM | 🔴 | Phase 2 Complete - All mem-search References Updated | ~394 |
| #37580 | " | 🔴 | Updated MarkdownFormatter Second mem-search Reference | ~360 |
| #37579 | " | 🔴 | Updated MarkdownFormatter First mem-search Reference | ~350 |
| #37576 | 4:52 PM | 🔵 | MarkdownFormatter Contains Outdated mem-search References | ~372 |
| #37555 | 4:49 PM | 🔵 | Issue #544 Message Locations and Fix Pattern Documented | ~463 |
| #37545 | 4:47 PM | ✅ | Issue #544 Analysis Report Created for mem-search Skill Messaging Problem | ~480 |
| #37529 | 4:42 PM | 🔵 | Issue #544 Misleading mem-search Skill Reference Located | ~368 |
</claude-mem-context>
+68 -3
View File
@@ -3,10 +3,75 @@
<!-- This section is auto-generated by claude-mem. Edit content outside the tags. -->
### Jan 4, 2026
### Jan 3, 2026
**ProcessManager.ts**
| ID | Time | T | Title | Read |
|----|------|---|-------|------|
| #36864 | 1:52 AM | 🔵 | ProcessManager Module Imports Reviewed | ~245 |
| #36860 | 1:50 AM | 🔵 | ProcessManager Source Code Reviewed for WMIC Implementation | ~608 |
| #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 |
</claude-mem-context>
+21 -1
View File
@@ -3,5 +3,25 @@
<!-- This section is auto-generated by claude-mem. Edit content outside the tags. -->
*No recent activity*
### 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 |
</claude-mem-context>
+58
View File
@@ -0,0 +1,58 @@
<claude-mem-context>
# Recent Activity
<!-- 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
| ID | Time | T | Title | Read |
|----|------|---|-------|------|
| #28476 | 4:26 PM | 🔵 | ProcessManager Windows Wrapper Pattern for Zombie Port Prevention | ~620 |
### Dec 20, 2025
| ID | Time | T | Title | Read |
|----|------|---|-------|------|
| #30947 | 7:01 PM | 🔵 | Timeout Constants Usage Patterns Verified | ~416 |
| #30946 | " | 🔵 | ProcessManager Timeout Constants Located | ~348 |
</claude-mem-context>
+112 -80
View File
@@ -3,93 +3,125 @@
<!-- This section is auto-generated by claude-mem. Edit content outside the tags. -->
### Dec 8, 2025
| ID | Time | T | Title | Read |
|----|------|---|-------|------|
| #22310 | 9:46 PM | 🟣 | Complete Hook Lifecycle Documentation Generated | ~603 |
| #22305 | 9:45 PM | 🔵 | Session Summary Storage and Status Lifecycle | ~472 |
| #22304 | " | 🔵 | Session Creation Idempotency and Observation Storage | ~481 |
| #22303 | " | 🔵 | SessionStore CRUD Operations for Hook Integration | ~392 |
| #22300 | 9:44 PM | 🔵 | SessionStore Database Management and Schema Migrations | ~455 |
| #22299 | " | 🔵 | Database Schema and Entity Types | ~460 |
| #21976 | 5:24 PM | 🟣 | storeObservation Saves tool_use_id to Database | ~298 |
### Dec 10, 2025
| ID | Time | T | Title | Read |
|----|------|---|-------|------|
| #23808 | 10:42 PM | 🔵 | migrations.ts Already Migrated to bun:sqlite | ~312 |
| #23807 | " | 🔵 | SessionSearch.ts Already Migrated to bun:sqlite | ~321 |
| #23805 | " | 🔵 | Database.ts Already Migrated to bun:sqlite | ~290 |
| #23784 | 9:59 PM | ✅ | SessionStore.ts db.pragma() Converted to db.query().all() Pattern | ~198 |
| #23783 | 9:58 PM | ✅ | SessionStore.ts Migration004 Multi-Statement db.exec() Converted to db.run() | ~220 |
| #23782 | " | ✅ | SessionStore.ts initializeSchema() db.exec() Converted to db.run() | ~197 |
| #23781 | " | ✅ | SessionStore.ts Constructor PRAGMA Calls Converted to db.run() | ~215 |
| #23780 | " | ✅ | SessionStore.ts Type Annotation Updated | ~183 |
| #23779 | " | ✅ | SessionStore.ts Import Updated to bun:sqlite | ~237 |
| #23778 | 9:57 PM | ✅ | Database.ts Import Updated to bun:sqlite | ~177 |
| #23777 | " | 🔵 | SessionStore.ts Current Implementation - better-sqlite3 Import and API Usage | ~415 |
| #23776 | " | 🔵 | migrations.ts Current Implementation - better-sqlite3 Import | ~285 |
| #23775 | " | 🔵 | Database.ts Current Implementation - better-sqlite3 Import | ~286 |
| #23774 | " | 🔵 | SessionSearch.ts Current Implementation - better-sqlite3 Import | ~309 |
| #23671 | 8:36 PM | 🔵 | getUserPromptsByIds Method Implementation with Filtering and Ordering | ~326 |
| #23670 | " | 🔵 | getUserPromptsByIds Method Location in SessionStore | ~145 |
| #23635 | 8:10 PM | 🔴 | Fixed SessionStore.ts Concepts Filter SQL Parameter Bug | ~297 |
| #23634 | " | 🔵 | SessionStore.ts Concepts Filter Bug Confirmed at Line 849 | ~356 |
| #23522 | 5:27 PM | 🔵 | Complete TypeScript Type Definitions for Database Entities | ~433 |
| #23521 | " | 🔵 | Database Schema Structure with 7 Migration Versions | ~461 |
### Dec 18, 2025
| ID | Time | T | Title | Read |
|----|------|---|-------|------|
| #29868 | 8:19 PM | 🔵 | SessionStore Architecture Review for Mode Metadata Addition | ~350 |
| #29243 | 12:13 AM | 🔵 | Observations Table Schema Migration: Text Field Made Nullable | ~496 |
| #29241 | 12:12 AM | 🔵 | Migration001: Core Schema for Sessions, Memories, Overviews, Diagnostics, Transcripts | ~555 |
| #29238 | 12:11 AM | 🔵 | Observation Type Schema Evolution: Five to Six Types | ~331 |
| #29237 | " | 🔵 | SQLite SessionStore with Schema Migrations and WAL Mode | ~520 |
### Dec 21, 2025
| ID | Time | T | Title | Read |
|----|------|---|-------|------|
| #31622 | 8:26 PM | 🔄 | Completed SessionStore logging standardization | ~270 |
| #31621 | " | 🔄 | Standardized error logging for boundary timestamps query | ~253 |
| #31620 | " | 🔄 | Standardized error logging in getTimelineAroundObservation | ~252 |
| #31619 | " | 🔄 | Replaced console.log with logger.debug in SessionStore | ~263 |
### Dec 27, 2025
| ID | Time | T | Title | Read |
|----|------|---|-------|------|
| #33213 | 9:04 PM | 🔵 | SessionStore Implements KISS Session ID Threading via INSERT OR IGNORE Pattern | ~673 |
### Dec 28, 2025
| ID | Time | T | Title | Read |
|----|------|---|-------|------|
| #33548 | 10:59 PM | ✅ | Reverted memory_session_id NULL Initialization to contentSessionId Placeholder | ~421 |
| #33546 | 10:57 PM | 🔴 | Fixed createSDKSession to Initialize memory_session_id as NULL | ~406 |
| #33545 | " | 🔵 | createSDKSession Sets memory_session_id Equal to content_session_id Initially | ~378 |
| #33544 | " | 🔵 | SessionStore Migration 17 Already Renamed Session ID Columns | ~451 |
### Jan 2, 2026
**SessionStore.ts**
| ID | Time | T | Title | Read |
|----|------|---|-------|------|
| #36028 | 9:20 PM | 🔄 | Try-Catch Block Removed from Database Migration | ~291 |
| #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 |
|----|------|---|-------|------|
| #36653 | 11:03 PM | 🔵 | storeObservation Method Signature Shows Parameter Named memorySessionId | ~474 |
| #36652 | " | 🔵 | createSDKSession Implementation Confirms NULL Initialization With Security Rationale | ~488 |
| #36650 | 11:02 PM | 🔵 | Phase 1 Analysis Reveals Implementation-Test Mismatch on NULL vs Placeholder Initialization | ~687 |
| #36649 | " | 🔵 | SessionStore Implementation Reveals NULL-Based Memory Session ID Initialization Pattern | ~770 |
| #36175 | 6:52 PM | | MigrationRunner Re-exported from Migrations.ts | ~405 |
| #36172 | " | 🔵 | Migrations.ts Contains Legacy Migration System | ~650 |
| #36163 | 6:48 PM | 🔵 | SessionStore Method Inventory and Extraction Boundaries | ~692 |
| #36162 | 6:47 PM | 🔵 | SessionStore Architecture and Migration History | ~593 |
| #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 |
</claude-mem-context>
+8 -2
View File
@@ -12,8 +12,6 @@
| #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 |
| #31715 | 9:42 PM | 🔵 | Multilingual Embeddings Feature Branch Found | ~371 |
| #31591 | 8:11 PM | 🔄 | Phase 4 completed - Removed error hiding from utility files | ~441 |
### Dec 22, 2025
@@ -130,4 +128,12 @@
| 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 |
</claude-mem-context>
+95 -93
View File
@@ -3,123 +3,125 @@
<!-- This section is auto-generated by claude-mem. Edit content outside the tags. -->
### Dec 10, 2025
### Jan 3, 2026
**Search.ts**
| ID | Time | T | Title | Read |
|----|------|---|-------|------|
| #23673 | 8:36 PM | ✅ | Add Project Filter Parameter to Session and Prompt Hydration in Search | ~306 |
| #23596 | 5:54 PM | ⚖️ | Import/Export Bug Fix Priority and Scope | ~415 |
| #23595 | 5:53 PM | 🔴 | SearchManager Returns Wrong Format for Empty Results | ~320 |
| #23594 | " | 🔵 | SearchManager Search Method Control Flow | ~313 |
| #23591 | 5:51 PM | 🔵 | SearchManager JSON Response Structure | ~231 |
| #23590 | " | 🔵 | Import/Export Feature Status Review | ~490 |
| #23583 | 5:50 PM | 🔵 | SearchManager Hybrid Search Architecture | ~495 |
### Dec 13, 2025
| #36670 | 11:37 PM | ✅ | Resolved merge conflicts by accepting branch changes for 39 files | ~435 |
**GeminiAgent.ts**
| ID | Time | T | Title | Read |
|----|------|---|-------|------|
| #25191 | 8:04 PM | 🔵 | ChromaSync Instantiated in DatabaseManager Constructor | ~315 |
### Dec 14, 2025
| #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 |
|----|------|---|-------|------|
| #26263 | 8:32 PM | 🔵 | SearchManager Timeline Methods Use Rich Formatting, Search Method Uses Flat Tables | ~464 |
| #26243 | 8:29 PM | 🔵 | FormattingService Provides Basic Table Format Without Dates or File Grouping | ~390 |
| #26240 | " | 🔵 | SearchManager Formats Results as Tables, Timeline Uses Rich Date-Grouped Format | ~416 |
| #26108 | 7:43 PM | ✅ | changes() Method Format Logic Removed | ~401 |
| #26107 | " | ✅ | changes() Method Format Parameter Removed | ~317 |
| #26106 | 7:42 PM | ✅ | decisions() Method Format Logic Removed | ~405 |
| #26105 | " | ✅ | decisions() Method Format Parameter Removed | ~310 |
| #26104 | " | ✅ | Main search() Method Format Handling Removed | ~430 |
| #26103 | 7:41 PM | ✅ | FormattingService.ts Rewritten to Table Format | ~457 |
| #26102 | " | 🔵 | SearchManager.ts Format Parameter Removal Status | ~478 |
### Dec 15, 2025
| #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 |
|----|------|---|-------|------|
| #27043 | 6:04 PM | 🔵 | Subagent confirms no version switcher UI exists, only orphaned backend infrastructure | ~539 |
| #27041 | 6:03 PM | 🔵 | Branch switching code isolated to two backend files, no frontend UI components | ~473 |
| #27037 | 6:02 PM | 🔵 | Branch switching functionality exists in SettingsRoutes with UI switcher removal intent | ~463 |
### Dec 16, 2025
| #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 |
|----|------|---|-------|------|
| #27727 | 5:45 PM | 🔵 | SearchManager returns raw data arrays when format=json is specified | ~349 |
### Dec 17, 2025
| #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 |
|----|------|---|-------|------|
| #28473 | 4:25 PM | 🔵 | PaginationHelper LIMIT+1 Trick and Project Path Sanitization | ~499 |
| #28458 | 4:24 PM | 🔵 | SDK Agent Observer-Only Event-Driven Query Loop | ~513 |
| #28455 | " | 🔵 | Event-Driven Session Manager with Zero-Latency Queuing | ~566 |
### Dec 18, 2025
| #36323 | 8:25 PM | 🔵 | Message Queue Architecture Scope Expanded | ~302 |
**OpenRouterAgent.ts**
| ID | Time | T | Title | Read |
|----|------|---|-------|------|
| #29240 | 12:12 AM | 🔵 | SDK Agent Event-Driven Query Loop with Tool Restrictions | ~507 |
### Dec 20, 2025
| ID | Time | T | Title | Read |
|----|------|---|-------|------|
| #31100 | 8:01 PM | 🔵 | Summary and Memory Message Generation in SDK Agent | ~324 |
### Dec 25, 2025
| ID | Time | T | Title | Read |
|----|------|---|-------|------|
| #32616 | 8:43 PM | 🔵 | Comprehensive analysis of "enable billing" setting and its impact on rate limiting | ~533 |
| #32599 | 8:40 PM | 🔄 | Added validation and explicit default for Gemini model configuration | ~393 |
| #32598 | " | 🔵 | Gemini configuration loaded from settings or environment variables | ~363 |
| #32591 | 8:38 PM | 🔴 | Removed Unsupported Gemini Model from Agent | ~282 |
| #32583 | " | 🔵 | Gemini Agent Implementation Details | ~434 |
| #32543 | 7:29 PM | 🔄 | Rate limiting applied conditionally based on billing status | ~164 |
| #32542 | " | 🔄 | Query Gemini now accepts billing status | ~163 |
| #32541 | " | 🔄 | Gemini config now includes billing status | ~182 |
| #32540 | " | 🔄 | Rate limiting logic refactored for Gemini billing | ~164 |
### Dec 26, 2025
| ID | Time | T | Title | Read |
|----|------|---|-------|------|
| #32949 | 10:55 PM | 🔵 | Complete settings persistence flow for Xiaomi MIMO v2 Flash model | ~320 |
| #32948 | 10:53 PM | 🔵 | OpenRouterAgent uses CLAUDE_MEM_OPENROUTER_MODEL setting with Xiaomi as default | ~183 |
### Dec 27, 2025
| ID | Time | T | Title | Read |
|----|------|---|-------|------|
| #33215 | 9:06 PM | 🔵 | SessionManager Implements Event-Driven Lifecycle with Database-First Persistence and Auto-Initialization | ~853 |
| #33214 | " | 🔵 | SDKAgent Implements Event-Driven Query Loop with Init/Continuation Prompt Selection | ~769 |
### Dec 28, 2025
| ID | Time | T | Title | Read |
|----|------|---|-------|------|
| #33551 | 11:00 PM | 🔵 | GeminiAgent Does Not Implement Resume Functionality | ~307 |
| #33550 | " | 🔵 | OpenRouterAgent Does Not Implement Resume Functionality | ~294 |
| #33549 | 10:59 PM | 🔴 | SDKAgent Now Checks memorySessionId Differs From contentSessionId Before Resume | ~419 |
| #33547 | " | 🔵 | All Agents Call storeObservation with contentSessionId Instead of memorySessionId | ~407 |
| #33543 | 10:56 PM | 🔵 | SDKAgent Already Implements Memory Session ID Capture and Resume Logic | ~467 |
| #33542 | " | 🔵 | SessionManager Already Uses Renamed Session ID Fields | ~390 |
### Dec 30, 2025
| ID | Time | T | Title | Read |
|----|------|---|-------|------|
| #34504 | 2:31 PM | 🔵 | SDKAgent V2 Message Handling and Processing Flow Detailed | ~583 |
| #34459 | 2:23 PM | 🔵 | Complete SDKAgent V2 Architecture with Comprehensive Message Processing | ~619 |
| #34453 | 2:21 PM | 🔵 | Memory Agent Configured as Observer-Only | ~379 |
| #36214 | 7:30 PM | 🔄 | Refactored OpenRouterAgent to Use Shared Utilities | ~703 |
### Jan 4, 2026
**README.md**
| ID | Time | T | Title | Read |
|----|------|---|-------|------|
| #36853 | 1:49 AM | 🔵 | GeminiAgent Implementation Reviewed for Model Support | ~555 |
| #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 |
**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 |
</claude-mem-context>
+76 -1
View File
@@ -3,5 +3,80 @@
<!-- This section is auto-generated by claude-mem. Edit content outside the tags. -->
*No recent activity*
### 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 |
</claude-mem-context>
+65 -55
View File
@@ -3,95 +3,105 @@
<!-- This section is auto-generated by claude-mem. Edit content outside the tags. -->
### Dec 5, 2025
### Jan 2, 2026
**SessionRoutes.ts**
| ID | Time | T | Title | Read |
|----|------|---|-------|------|
| #20734 | 9:08 PM | 🔵 | SearchRoutes Context Injection Endpoint with Dynamic Import | ~614 |
| #20548 | 8:21 PM | 🔵 | Context generator imported from services directory in worker | ~334 |
| #20547 | " | 🔵 | Context injection route implementation in SearchRoutes.ts | ~289 |
### Dec 7, 2025
| #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 |
|----|------|---|-------|------|
| #21742 | 10:16 PM | 🔵 | SessionRoutes Analysis: Identified 10+ Scattered Broadcast Calls | ~540 |
### Dec 8, 2025
| #35951 | 4:42 PM | 🔵 | Multi-Layer Service Architecture Discovery | ~395 |
**LogsRoutes.ts**
| ID | Time | T | Title | Read |
|----|------|---|-------|------|
| #22301 | 9:44 PM | 🔵 | Privacy Validation in Observation Processing | ~399 |
| #22296 | 9:43 PM | 🔵 | SessionRoutes HTTP Endpoints and SDK Agent Lifecycle | ~442 |
| #22222 | 8:29 PM | 🔵 | Found waiting logic in SessionRoutes but it may not be working correctly | ~359 |
| #22005 | 5:40 PM | 🔵 | handleObservationsByClaudeId Current Implementation | ~443 |
| #22004 | " | 🔵 | Legacy Observation Handling Pattern Identified | ~337 |
| #22003 | " | 🔵 | SessionRoutes Architecture Confirmed | ~354 |
| #21969 | 5:22 PM | 🟣 | Worker Routes Pass tool_use_id to SessionManager Queue | ~290 |
| #21968 | " | ✅ | Worker Endpoint Extracts toolUseId from Observation Request | ~243 |
| #21962 | 5:21 PM | 🟣 | Implemented handleGetObservationsForToolUse Endpoint Handler | ~325 |
| #21961 | " | 🟣 | Added GET Endpoint for Fetching Observations by Tool Use ID | ~272 |
| #21951 | 5:18 PM | 🔵 | Worker SessionRoutes Architecture and Endpoints Reviewed | ~418 |
| #21948 | 5:09 PM | 🟣 | Implemented PreToolUse Endpoint Handler | ~334 |
| #21947 | 5:07 PM | 🟣 | Added PreToolUse Route Registration | ~287 |
| #35875 | 2:39 PM | 🔵 | Logging UI Architecture Mapped | ~599 |
| #35826 | 2:29 PM | 🔵 | Backend logs API implementation analyzed | ~284 |
### Dec 9, 2025
### Jan 3, 2026
**SessionRoutes.ts**
| ID | Time | T | Title | Read |
|----|------|---|-------|------|
| #23143 | 6:42 PM | | Updated Skip Tools Logic to Use USER_SETTINGS_PATH Constant | ~150 |
| #23142 | " | | Fixed Settings Path Import in SessionRoutes | ~148 |
| #23140 | 6:41 PM | 🟣 | Implemented Skip Tools Filtering in Observations Endpoint | ~386 |
| #23138 | " | ✅ | Added SettingsDefaultsManager and Paths Imports to SessionRoutes | ~222 |
| #23136 | " | 🔵 | SessionRoutes handleObservationsByClaudeId Handler Structure | ~329 |
| #23007 | 4:02 PM | 🔵 | Settings Write Implementation Using Nested Schema | ~398 |
| #22859 | 2:28 PM | 🔴 | Fixed Python Version Validation to Support 3.10+ | ~322 |
| #22854 | 2:27 PM | 🔵 | Located Python Version Validation Regex in SettingsRoutes | ~316 |
| #36333 | 8:27 PM | 🔵 | pendingProcessingIds Tracking Across System | ~357 |
| #36323 | 8:25 PM | 🔵 | Message Queue Architecture Scope Expanded | ~302 |
### Dec 10, 2025
### Jan 4, 2026
**SearchRoutes.ts**
| ID | Time | T | Title | Read |
|----|------|---|-------|------|
| #23593 | 5:52 PM | 🔵 | SearchRoutes Handler Pattern | ~268 |
| #23588 | 5:51 PM | 🔵 | Search Routes HTTP API Integration | ~281 |
### Dec 14, 2025
| #36942 | 2:43 AM | 🔵 | Recent Context Feature Architecture | ~300 |
**SettingsRoutes.ts**
| ID | Time | T | Title | Read |
|----|------|---|-------|------|
| #26253 | 8:31 PM | 🔵 | SearchRoutes Confirms Context Endpoints Use generateContext, Search Uses SearchManager | ~397 |
| #25689 | 4:23 PM | 🔵 | SessionRoutes queueSummarize receives messages but doesn't persist them to database | ~496 |
### Dec 15, 2025
| #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 |
|----|------|---|-------|------|
| #27043 | 6:04 PM | 🔵 | Subagent confirms no version switcher UI exists, only orphaned backend infrastructure | ~539 |
| #27041 | 6:03 PM | 🔵 | Branch switching code isolated to two backend files, no frontend UI components | ~473 |
| #27037 | 6:02 PM | 🔵 | Branch switching functionality exists in SettingsRoutes with UI switcher removal intent | ~463 |
| #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 |
### Dec 16, 2025
### Jan 5, 2026
**CLAUDE.md**
| ID | Time | T | Title | Read |
|----|------|---|-------|------|
| #27414 | 3:25 PM | 🔵 | Batch Observations Endpoint Already Implemented | ~330 |
### Dec 19, 2025
| #38078 | 9:54 PM | | CLAUDE.md Documentation Cleanup - 1,233 Lines Removed Across 18 Files | ~590 |
**SearchRoutes.ts**
| ID | Time | T | Title | Read |
|----|------|---|-------|------|
| #30077 | 8:05 PM | 🔵 | SessionRoutes HTTP API Manages SDK Agent Lifecycle and Message Queue | ~516 |
### Dec 26, 2025
| #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 |
**SessionRoutes.ts**
| ID | Time | T | Title | Read |
|----|------|---|-------|------|
| #32949 | 10:55 PM | 🔵 | Complete settings persistence flow for Xiaomi MIMO v2 Flash model | ~320 |
| #32939 | 10:53 PM | 🔵 | Settings API routes handle model configuration persistence | ~288 |
### Dec 30, 2025
| #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 |
|----|------|---|-------|------|
| #34491 | 2:28 PM | 🔵 | SessionRoutes Implements Multi-Provider Agent Management | ~635 |
| #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 |
</claude-mem-context>
+78 -69
View File
@@ -3,108 +3,117 @@
<!-- This section is auto-generated by claude-mem. Edit content outside the tags. -->
### Nov 10, 2025
### Jan 2, 2026
**SettingsDefaultsManager.ts**
| ID | Time | T | Title | Read |
|----|------|---|-------|------|
| #6295 | 1:18 PM | 🔵 | Path Configuration Structure for claude-mem | ~305 |
| #6268 | 12:56 PM | 🔵 | Package Root Resolution Uses Relative Path from Bundle Location | ~379 |
### Dec 5, 2025
| #35965 | 4:45 PM | | Removed Session Alignment Debug Mode Setting | ~249 |
**worker-utils.ts**
| ID | Time | T | Title | Read |
|----|------|---|-------|------|
| #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
| #35900 | 2:49 PM | 🔵 | Worker Health Checks Use Fetch Without Timeout Configuration | ~397 |
**paths.ts**
| ID | Time | T | Title | Read |
|----|------|---|-------|------|
| #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
| #35901 | 2:49 PM | 🔵 | PR #525 File Changes Summary | ~376 |
**hook-constants.ts**
| ID | Time | T | Title | Read |
|----|------|---|-------|------|
| #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
| #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 |
**transcript-parser.ts**
| ID | Time | T | Title | Read |
|----|------|---|-------|------|
| #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 |
| #35746 | 1:17 PM | 🔵 | Transcript Parser extractLastMessage Implementation Examined | ~423 |
### Dec 13, 2025
### Jan 4, 2026
**SettingsDefaultsManager.ts**
| ID | Time | T | Title | Read |
|----|------|---|-------|------|
| #25088 | 7:18 PM | 🟣 | Added CLAUDE_MEM_EMBEDDING_FUNCTION to Settings Interface | ~269 |
| #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 |
### Dec 14, 2025
### Jan 5, 2026
**CLAUDE.md**
| ID | Time | T | Title | Read |
|----|------|---|-------|------|
| #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
| #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 |
**SettingsDefaultsManager.ts**
| ID | Time | T | Title | Read |
|----|------|---|-------|------|
| #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
| #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 |
**worker-utils.ts**
| ID | Time | T | Title | Read |
|----|------|---|-------|------|
| #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
| #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 |
**timeline-formatting.ts**
| ID | Time | T | Title | Read |
|----|------|---|-------|------|
| #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
| #37967 | 8:21 PM | 🔵 | Timeline Formatting Utilities Provide Correct Date Functions | ~384 |
**hook-constants.ts**
| ID | Time | T | Title | Read |
|----|------|---|-------|------|
| #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 |
| #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 |
**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 |
</claude-mem-context>
+129 -2
View File
@@ -3,9 +3,136 @@
<!-- This section is auto-generated by claude-mem. Edit content outside the tags. -->
### Nov 30, 2025
### Dec 15, 2025
**App.tsx**
| ID | Time | T | Title | Read |
|----|------|---|-------|------|
| #17551 | 4:34 PM | 🔴 | Added missing props to Sidebar component instantiation | ~356 |
| #27281 | 11:00 PM | 🟣 | Queue Monitoring System Extracted to Separate Branch | ~452 |
| #27280 | 10:59 PM | 🔵 | Queue Infrastructure Changes Staged in Branch | ~313 |
| #27270 | 10:57 PM | ✅ | Extracted additional queue integration files from PR-335 | ~271 |
### Dec 16, 2025
**App.tsx**
| ID | Time | T | Title | Read |
|----|------|---|-------|------|
| #28084 | 8:11 PM | 🔵 | Viewer App Component Architecture | ~461 |
| #28076 | 8:10 PM | 🔵 | Viewer App Component Architecture | ~477 |
### Dec 18, 2025
**types.ts**
| ID | Time | T | Title | Read |
|----|------|---|-------|------|
| #29773 | 7:01 PM | 🔵 | Observation Type Definitions Across Codebase | ~362 |
### Dec 20, 2025
**types.ts**
| ID | Time | T | Title | Read |
|----|------|---|-------|------|
| #30330 | 3:38 PM | 🔴 | TypeScript errors fixed across 21 files with type definitions added | ~378 |
| #30288 | 3:26 PM | 🔴 | Added queueDepth property to StreamEvent interface | ~229 |
| #30287 | " | 🔵 | Complete type definitions for viewer data models and events | ~409 |
| #30286 | " | 🔵 | StreamEvent interface defined in viewer types | ~188 |
### Dec 21, 2025
**types.ts**
| ID | Time | T | Title | Read |
|----|------|---|-------|------|
| #31422 | 6:50 PM | 🔵 | Observation Metadata Constants Usage Across Codebase | ~366 |
| #31329 | 5:45 PM | 🔵 | Observation Metadata Integration Across Services and UI | ~403 |
### Dec 22, 2025
**App.tsx**
| ID | Time | T | Title | Read |
|----|------|---|-------|------|
| #31790 | 4:39 PM | 🔵 | Identified files that interact with ModeManager and prompts | ~332 |
### Dec 24, 2025
**types.ts**
| ID | Time | T | Title | Read |
|----|------|---|-------|------|
| #32156 | 6:41 PM | 🔵 | UI Layer Session Identifier Usage | ~256 |
### Dec 25, 2025
**types.ts**
| ID | Time | T | Title | Read |
|----|------|---|-------|------|
| #32789 | 9:49 PM | 🟣 | Gemini AI Provider Integration Merged to Main | ~409 |
| #32640 | 8:46 PM | 🟣 | Renamed "Billing Enabled" setting to "Rate Limiting" with inverted logic | ~546 |
| #32627 | 8:44 PM | ✅ | Renamed billing setting in UI `Settings` interface | ~214 |
| #32621 | " | ✅ | Added `CLAUDE_MEM_GEMINI_RATE_LIMITING_ENABLED` to UI Settings interface | ~214 |
| #32614 | 8:43 PM | 🔵 | Confirmed absence of billing setting in UI `Settings` interface | ~233 |
| #32605 | 8:42 PM | 🔵 | Identified UI `Settings` interface and absence of specific billing toggle | ~265 |
| #32603 | " | 🔵 | Identified widespread use of "Gemini" across application components | ~312 |
| #32580 | 8:22 PM | 🔵 | Grep for resetStuckMessages and processing | ~242 |
| #32559 | 8:18 PM | 🔵 | Listed files changed in the current branch | ~169 |
| #32558 | " | 🔵 | Identified files containing 'summary' or 'Summary' | ~167 |
### Dec 26, 2025
**types.ts**
| ID | Time | T | Title | Read |
|----|------|---|-------|------|
| #32925 | 10:26 PM | 🔵 | OpenRouter Provider Integration Proposed in PR 448 | ~543 |
| #32923 | 10:18 PM | 🔵 | OpenRouter Integration Architecture in claude-mem | ~610 |
| #32913 | 10:05 PM | 🔵 | PR #448 Code Review: OpenRouter Provider Integration | ~523 |
| #32910 | 10:01 PM | 🔵 | Viewer types define UI data structures with SSE event types and unified feed items | ~501 |
### Dec 28, 2025
**types.ts**
| ID | Time | T | Title | Read |
|----|------|---|-------|------|
| #33439 | 10:15 PM | 🔄 | Extended Session ID Renaming to Additional Codebase Components | ~352 |
### Jan 1, 2026
**App.tsx**
| ID | Time | T | Title | Read |
|----|------|---|-------|------|
| #35605 | 10:52 PM | 🟣 | Added Floating Console Toggle Button | ~339 |
| #35604 | " | ✅ | Removed onLogsToggle Prop from Header Invocation | ~231 |
| #35600 | 10:51 PM | ✅ | JSX Component Usage Updated to LogsDrawer | ~231 |
| #35599 | " | ✅ | App Component Import Updated for LogsDrawer | ~206 |
### Jan 2, 2026
**App.tsx**
| ID | Time | T | Title | Read |
|----|------|---|-------|------|
| #35875 | 2:39 PM | 🔵 | Logging UI Architecture Mapped | ~599 |
| #35819 | 2:28 PM | 🔵 | LogsDrawer component integrated in App.tsx | ~235 |
**types.ts**
| ID | Time | T | Title | Read |
|----|------|---|-------|------|
| #35824 | 2:29 PM | 🔵 | Type definitions for viewer data models | ~267 |
### Jan 4, 2026
**types.ts**
| ID | Time | T | Title | Read |
|----|------|---|-------|------|
| #36757 | 12:33 AM | 🔵 | Issue #511 Root Cause Identified - Gemini-3-Flash Configuration Mismatch | ~416 |
| #36754 | " | 🔵 | Gemini-3-Flash Model Already Supported | ~301 |
### 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 |
**types.ts**
| ID | Time | T | Title | Read |
|----|------|---|-------|------|
| #37995 | 9:01 PM | 🔵 | CLAUDE_MEM_WORKER_HOST setting implementation pattern | ~304 |
| #37990 | 9:00 PM | 🔵 | CLAUDE_MEM_WORKER_HOST setting used across 19 files | ~289 |
</claude-mem-context>
+188 -2
View File
@@ -3,9 +3,195 @@
<!-- This section is auto-generated by claude-mem. Edit content outside the tags. -->
### Dec 26, 2025
### Nov 17, 2025
**api.ts**
| ID | Time | T | Title | Read |
|----|------|---|-------|------|
| #32982 | 11:04 PM | 🔵 | Read default settings configuration file | ~233 |
| #10372 | 3:32 PM | 🔵 | Existing API endpoint naming conventions in api.ts constants | ~340 |
### Nov 21, 2025
**ui.ts**
| ID | Time | T | Title | Read |
|----|------|---|-------|------|
| #13110 | 1:05 AM | 🔵 | Magic Numbers Identified Across Codebase | ~327 |
### Nov 22, 2025
**settings.ts**
| ID | Time | T | Title | Read |
|----|------|---|-------|------|
| #14203 | 1:05 AM | 🔵 | Endless Mode Feature Branch Contains Major Additions | ~566 |
### Nov 23, 2025
**api.ts**
| ID | Time | T | Title | Read |
|----|------|---|-------|------|
| #14555 | 5:21 PM | 🔵 | Missing Stats Fields Causing UI Errors | ~288 |
### Nov 26, 2025
**settings.ts**
| ID | Time | T | Title | Read |
|----|------|---|-------|------|
| #16173 | 10:06 PM | 🔵 | Configuration System Analysis for Domain Profile Support | ~621 |
### Dec 2, 2025
**api.ts**
| ID | Time | T | Title | Read |
|----|------|---|-------|------|
| #19210 | 5:57 PM | 🔵 | Viewer UI Technology Stack Assessment | ~534 |
### Dec 7, 2025
**settings.ts**
| ID | Time | T | Title | Read |
|----|------|---|-------|------|
| #21733 | 10:10 PM | 🔵 | UI Viewer Contains Duplicate DEFAULT_SETTINGS Object | ~375 |
| #21686 | 9:49 PM | 🔵 | DRY Audit Reveals 600+ Lines of Duplicated Code in Worker Service | ~605 |
| #21685 | 9:48 PM | 🔵 | Configuration Defaults and Environment Variables | ~558 |
### Dec 9, 2025
**settings.ts**
| ID | Time | T | Title | Read |
|----|------|---|-------|------|
| #22637 | 11:46 AM | 🔵 | Comprehensive inventory of CLAUDE_MEM_ environment variable usage across codebase | ~619 |
| #22606 | 11:33 AM | 🔵 | Hardcoded port 37777 found across multiple codebase locations | ~371 |
### Dec 11, 2025
**settings.ts**
| ID | Time | T | Title | Read |
|----|------|---|-------|------|
| #23959 | 1:58 PM | 🔵 | TypeScript Codebase Architecture Mapped | ~337 |
| #23947 | 1:40 PM | 🔵 | Comprehensive Port Configuration Audit Complete | ~532 |
| #23940 | 1:38 PM | 🔵 | UI Constants Duplicate Settings Defaults | ~357 |
| #23935 | 1:37 PM | 🔵 | CLAUDE_MEM_WORKER_PORT Environment Variable Usage Pattern | ~456 |
| #23933 | 1:36 PM | 🔵 | Comprehensive Port 37777 References Across Documentation and Code | ~427 |
### Dec 12, 2025
**settings.ts**
| ID | Time | T | Title | Read |
|----|------|---|-------|------|
| #24602 | 10:20 PM | 🟣 | Completed PR #236 Security Fix Implementation | ~463 |
| #24596 | 10:18 PM | 🟣 | Merged Localhost-Only Binding Security Feature to Main | ~413 |
### Dec 13, 2025
**settings.ts**
| ID | Time | T | Title | Read |
|----|------|---|-------|------|
| #25075 | 7:09 PM | ⚖️ | Complete System Analysis for Embedding Function Configuration | ~497 |
| #25074 | " | 🔵 | Complete Settings System Architecture via Exploration Agent | ~532 |
| #25045 | 7:02 PM | 🔵 | UI Viewer Settings Constants | ~296 |
### Dec 14, 2025
**settings.ts**
| ID | Time | T | Title | Read |
|----|------|---|-------|------|
| #26202 | 8:17 PM | ✅ | UI viewer constants updated to match Sonnet default model | ~301 |
| #26199 | " | 🔵 | UI viewer default settings configuration examined | ~358 |
| #26198 | " | 🔵 | CLAUDE_MEM_MODEL configuration found throughout codebase | ~403 |
**api.ts**
| ID | Time | T | Title | Read |
|----|------|---|-------|------|
| #26088 | 7:32 PM | 🔵 | API Endpoint Architecture Discovery | ~416 |
### Dec 16, 2025
**api.ts**
| ID | Time | T | Title | Read |
|----|------|---|-------|------|
| #28083 | 8:10 PM | 🔵 | API Endpoint Constants | ~360 |
**settings.ts**
| ID | Time | T | Title | Read |
|----|------|---|-------|------|
| #27992 | 8:01 PM | 🔵 | UI Default Settings Constants | ~376 |
### Dec 18, 2025
**settings.ts**
| ID | Time | T | Title | Read |
|----|------|---|-------|------|
| #29229 | 12:08 AM | 🔵 | Claude-Mem Observation Type System Architecture Mapped | ~552 |
| #29226 | 12:06 AM | 🔵 | Default Settings Configuration | ~395 |
### Dec 21, 2025
**settings.ts**
| ID | Time | T | Title | Read |
|----|------|---|-------|------|
| #31422 | 6:50 PM | 🔵 | Observation Metadata Constants Usage Across Codebase | ~366 |
| #31329 | 5:45 PM | 🔵 | Observation Metadata Integration Across Services and UI | ~403 |
### Dec 25, 2025
**settings.ts**
| ID | Time | T | Title | Read |
|----|------|---|-------|------|
| #32789 | 9:49 PM | 🟣 | Gemini AI Provider Integration Merged to Main | ~409 |
| #32640 | 8:46 PM | 🟣 | Renamed "Billing Enabled" setting to "Rate Limiting" with inverted logic | ~546 |
| #32620 | 8:44 PM | ✅ | Renamed billing setting and updated default in UI constants | ~233 |
| #32613 | 8:43 PM | 🔵 | Comprehensive identification of `CLAUDE_MEM_GEMINI_BILLING_ENABLED` usage | ~407 |
| #32606 | 8:42 PM | 🔵 | Default value for `CLAUDE_MEM_GEMINI_BILLING_ENABLED` identified | ~216 |
| #32603 | " | 🔵 | Identified widespread use of "Gemini" across application components | ~312 |
| #32602 | " | 🔵 | Identified potential settings configuration files | ~224 |
| #32559 | 8:18 PM | 🔵 | Listed files changed in the current branch | ~169 |
**api.ts**
| ID | Time | T | Title | Read |
|----|------|---|-------|------|
| #32580 | 8:22 PM | 🔵 | Grep for resetStuckMessages and processing | ~242 |
### Dec 26, 2025
**settings.ts**
| ID | Time | T | Title | Read |
|----|------|---|-------|------|
| #32925 | 10:26 PM | 🔵 | OpenRouter Provider Integration Proposed in PR 448 | ~543 |
| #32923 | 10:18 PM | 🔵 | OpenRouter Integration Architecture in claude-mem | ~610 |
| #32921 | 10:16 PM | ✅ | Updated UI default settings for OpenRouter model | ~214 |
| #32913 | 10:05 PM | 🔵 | PR #448 Code Review: OpenRouter Provider Integration | ~523 |
### Dec 28, 2025
**settings.ts**
| ID | Time | T | Title | Read |
|----|------|---|-------|------|
| #33279 | 3:07 PM | ✅ | Changed Default OpenRouter Model to Free Tier Option | ~285 |
### Jan 2, 2026
**ui.ts**
| ID | Time | T | Title | Read |
|----|------|---|-------|------|
| #35822 | 2:29 PM | 🔵 | UI constants structure examined | ~191 |
### Jan 4, 2026
**settings.ts**
| ID | Time | T | Title | Read |
|----|------|---|-------|------|
| #36781 | 12:45 AM | 🔵 | Complete GeminiAgent Model Configuration Gap Analysis | ~552 |
### 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 |
**settings.ts**
| ID | Time | T | Title | Read |
|----|------|---|-------|------|
| #37995 | 9:01 PM | 🔵 | CLAUDE_MEM_WORKER_HOST setting implementation pattern | ~304 |
| #37990 | 9:00 PM | 🔵 | CLAUDE_MEM_WORKER_HOST setting used across 19 files | ~289 |
</claude-mem-context>
+155 -37
View File
@@ -3,61 +3,179 @@
<!-- This section is auto-generated by claude-mem. Edit content outside the tags. -->
### Nov 5, 2025
### Dec 13, 2025
**useSettings.ts**
| ID | Time | T | Title | Read |
|----|------|---|-------|------|
| #3944 | 9:06 PM | 🔵 | UI Codebase Technical Debt Analysis | ~562 |
| #3926 | 8:57 PM | | Built viewer with SSE processing fix | ~149 |
| #3925 | " | 🔴 | Removed premature session processing flag on prompt arrival | ~240 |
| #3901 | 8:10 PM | 🔴 | Fixed Temporal Dead Zone Error in Viewer App | ~292 |
| #3900 | " | 🔵 | Pagination Hook Examined for Fix Implementation | ~202 |
| #3890 | 7:50 PM | 🔄 | Refactored project filtering to use database queries instead of client-side filtering | ~515 |
| #3880 | 7:35 PM | ⚖️ | Deployed Focused Diagnosis Agent for Filter Bug Root Cause | ~343 |
| #3879 | 7:32 PM | ⚖️ | Deployed Investigation Agent for Project Filtering Bug | ~296 |
| #3848 | 6:49 PM | 🟣 | Created usePagination Hook for Infinite Scroll | ~372 |
| #3835 | 6:34 PM | 🔵 | SSE hook for viewer UI exploration | ~278 |
| #3796 | 5:50 PM | 🟣 | Migrated viewer UI from static HTML to React with TypeScript | ~797 |
### Nov 7, 2025
| #25321 | 9:12 PM | 🔵 | Console.error Usage Found in 29 Files | ~366 |
| #25075 | 7:09 PM | ⚖️ | Complete System Analysis for Embedding Function Configuration | ~497 |
| #25059 | 7:05 PM | 🔵 | UI Settings Hook Pattern | ~320 |
**useGitHubStars.ts**
| ID | Time | T | Title | Read |
|----|------|---|-------|------|
| #4705 | 8:02 PM | 🔄 | Removed Redundant stateRef Update Effect | ~302 |
| #4696 | 7:58 PM | 🔵 | PR Review Feedback Analysis Completed | ~382 |
| #4680 | 7:40 PM | 🔴 | Fixed Pagination Filter Change Race Condition | ~329 |
| #4678 | 7:39 PM | 🔵 | Pagination Hook Implementation in Claude-Mem Viewer | ~402 |
| #4674 | 7:36 PM | 🔵 | React Pagination Hook with Concurrent Request Prevention | ~421 |
| #4668 | 7:32 PM | 🔵 | Pagination hook manages filter-aware data loading with concurrent request prevention | ~430 |
| #4636 | 7:12 PM | 🔴 | Added Missing 'investigated' Field to Summary Type Definitions and UI Display | ~521 |
| #4375 | 1:23 PM | 🔵 | Pagination Hook for Historical Data Loading | ~351 |
| #4373 | 1:22 PM | 🔵 | React SSE Hook for Real-time UI Updates | ~342 |
| #25319 | 9:12 PM | 🔵 | Error Throw Locations Identified Across Codebase | ~302 |
### Nov 8, 2025
### Dec 14, 2025
**useSettings.ts**
| ID | Time | T | Title | Read |
|----|------|---|-------|------|
| #4916 | 1:49 PM | ⚖️ | Claude Mem Pro Premium Offering Implementation Plan Finalized | ~946 |
| #4902 | 1:35 PM | 🟣 | Claude Mem Pro Premium Project Initialization | ~679 |
| #4901 | 1:31 PM | ⚖️ | Premium claude-mem Project Architecture and Planning | ~797 |
| #26198 | 8:17 PM | 🔵 | CLAUDE_MEM_MODEL configuration found throughout codebase | ~403 |
### Nov 10, 2025
### Dec 15, 2025
**useNotifications.ts**
| ID | Time | T | Title | Read |
|----|------|---|-------|------|
| #6210 | 12:32 PM | | Updated useSettings Hook to Load MCP Setting from API | ~289 |
### Nov 23, 2025
| #27281 | 11:00 PM | 🟣 | Queue Monitoring System Extracted to Separate Branch | ~452 |
| #27280 | 10:59 PM | 🔵 | Queue Infrastructure Changes Staged in Branch | ~313 |
| #27279 | " | ✅ | Queue UI Components Built Successfully | ~277 |
**useQueue.ts**
| ID | Time | T | Title | Read |
|----|------|---|-------|------|
| #14565 | 5:23 PM | 🔵 | SSE Hook Handles new_summary Events | ~305 |
### Dec 26, 2025
| #27272 | 10:58 PM | | Queue UI Components Extracted to Working Directory | ~235 |
| #27263 | 10:55 PM | ✅ | Extracted queue-specific files from PR-335 | ~284 |
| #27247 | 10:34 PM | 🔵 | useQueue Hook API Integration | ~370 |
**useSSE.ts**
| ID | Time | T | Title | Read |
|----|------|---|-------|------|
| #32949 | 10:55 PM | 🔵 | Complete settings persistence flow for Xiaomi MIMO v2 Flash model | ~320 |
| #32944 | 10:53 PM | 🔵 | useSettings hook provides complete settings persistence lifecycle | ~289 |
| #32974 | " | 🟣 | Added OpenRouter and Gemini rate limiting configuration support | ~215 |
| #27248 | 10:34 PM | 🔵 | Server-Sent Events Hook for Real-Time Queue Updates | ~406 |
### Dec 19, 2025
**useContextPreview.ts**
| ID | Time | T | Title | Read |
|----|------|---|-------|------|
| #29947 | 7:03 PM | 🔵 | Context injection endpoint usage across system | ~387 |
### Dec 20, 2025
**useContextPreview.ts**
| ID | Time | T | Title | Read |
|----|------|---|-------|------|
| #30330 | 3:38 PM | 🔴 | TypeScript errors fixed across 21 files with type definitions added | ~378 |
| #30278 | 3:24 PM | 🔴 | Added TypeScript type assertion for projects API response | ~205 |
**usePagination.ts**
| ID | Time | T | Title | Read |
|----|------|---|-------|------|
| #30312 | 3:32 PM | 🔴 | Added explicit type arguments to usePaginationFor calls | ~314 |
| #30311 | " | 🔴 | Updated JSON response type assertion to use generic type | ~317 |
| #30310 | 3:31 PM | 🔴 | Added generic type parameter to usePaginationFor hook | ~356 |
**useStats.ts**
| ID | Time | T | Title | Read |
|----|------|---|-------|------|
| #30291 | 3:26 PM | 🔴 | Added TypeScript type assertion for stats API response | ~239 |
| #30290 | " | 🔵 | useStats hook fetches worker and database statistics | ~288 |
**useSSE.ts**
| ID | Time | T | Title | Read |
|----|------|---|-------|------|
| #30289 | 3:26 PM | 🔴 | Added non-null assertion for data.observation in new_observation handler | ~264 |
| #30285 | 3:25 PM | 🔵 | useSSE hook manages EventSource connection with auto-reconnect capability | ~282 |
| #30284 | " | 🔵 | useSSE hook handles multiple server-sent event types | ~288 |
**useSettings.ts**
| ID | Time | T | Title | Read |
|----|------|---|-------|------|
| #30283 | 3:25 PM | 🔴 | Added TypeScript type assertion for saveSettings API response | ~249 |
| #30282 | " | 🔴 | Added TypeScript type annotation for settings API response | ~82 |
| #30281 | " | 🔵 | useSettings hook lacks type safety for API responses | ~245 |
**useGitHubStars.ts**
| ID | Time | T | Title | Read |
|----|------|---|-------|------|
| #30280 | 3:25 PM | ✅ | Standardized TypeScript type assertion syntax in useGitHubStars | ~204 |
| #30279 | 3:24 PM | 🔵 | useGitHubStars hook already has proper TypeScript typing | ~249 |
### Dec 21, 2025
**useContextPreview.ts**
| ID | Time | T | Title | Read |
|----|------|---|-------|------|
| #31603 | 8:21 PM | 🔵 | Complete Console.* Statement Audit Across Codebase | ~813 |
| #31599 | 8:19 PM | 🔵 | 136 console logging statements found in TypeScript source files | ~538 |
**useSettings.ts**
| ID | Time | T | Title | Read |
|----|------|---|-------|------|
| #31422 | 6:50 PM | 🔵 | Observation Metadata Constants Usage Across Codebase | ~366 |
| #31329 | 5:45 PM | 🔵 | Observation Metadata Integration Across Services and UI | ~403 |
### Dec 22, 2025
**useXFollowers.ts**
| ID | Time | T | Title | Read |
|----|------|---|-------|------|
| #31969 | 9:32 PM | 🟣 | X (Twitter) Follower Count Hook Created | ~210 |
### Dec 25, 2025
**useSettings.ts**
| ID | Time | T | Title | Read |
|----|------|---|-------|------|
| #32789 | 9:49 PM | 🟣 | Gemini AI Provider Integration Merged to Main | ~409 |
| #32559 | 8:18 PM | 🔵 | Listed files changed in the current branch | ~169 |
**useSpinningFavicon.ts**
| ID | Time | T | Title | Read |
|----|------|---|-------|------|
| #32646 | 8:48 PM | 🔵 | Existing Spinning Favicon Implementation | ~297 |
| #32516 | 6:58 PM | 🟣 | Spinning favicon animation during processing | ~347 |
**useSSE.ts**
| ID | Time | T | Title | Read |
|----|------|---|-------|------|
| #32580 | 8:22 PM | 🔵 | Grep for resetStuckMessages and processing | ~242 |
| #32558 | 8:18 PM | 🔵 | Identified files containing 'summary' or 'Summary' | ~167 |
### Jan 1, 2026
**useContextPreview.ts**
| ID | Time | T | Title | Read |
|----|------|---|-------|------|
| #35688 | 11:49 PM | 🔵 | Context Preview Hook with Project Selection | ~472 |
**useSettings.ts**
| ID | Time | T | Title | Read |
|----|------|---|-------|------|
| #35686 | 11:49 PM | 🔵 | Settings Management Hook Implementation | ~529 |
| #35485 | 9:06 PM | ⚖️ | Comprehensive error handling remediation plan completed and submitted for approval | ~555 |
| #35469 | 9:02 PM | 🔵 | Proper error handling in settings save function | ~268 |
**useSSE.ts**
| ID | Time | T | Title | Read |
|----|------|---|-------|------|
| #35684 | 11:49 PM | 🔵 | Server-Sent Events Hook Implementation | ~484 |
**usePagination.ts**
| ID | Time | T | Title | Read |
|----|------|---|-------|------|
| #35683 | 11:48 PM | 🔵 | Pagination Hook Implementation Structure | ~439 |
### Jan 2, 2026
**usePagination.ts**
| ID | Time | T | Title | Read |
|----|------|---|-------|------|
| #35875 | 2:39 PM | 🔵 | Logging UI Architecture Mapped | ~599 |
| #35838 | 2:30 PM | 🔵 | Pagination hook pattern with offset tracking and filter reset | ~272 |
### 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 |
**useSettings.ts**
| ID | Time | T | Title | Read |
|----|------|---|-------|------|
| #37995 | 9:01 PM | 🔵 | CLAUDE_MEM_WORKER_HOST setting implementation pattern | ~304 |
| #37990 | 9:00 PM | 🔵 | CLAUDE_MEM_WORKER_HOST setting used across 19 files | ~289 |
</claude-mem-context>
+58 -35
View File
@@ -3,58 +3,81 @@
<!-- This section is auto-generated by claude-mem. Edit content outside the tags. -->
### Nov 5, 2025
### Jan 5, 2026
**claude-md-utils.ts**
| ID | Time | T | Title | Read |
|----|------|---|-------|------|
| #4035 | 10:24 PM | 🔵 | logger.ts file exists but is empty | ~220 |
### Nov 10, 2025
| #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 |
|----|------|---|-------|------|
| #6521 | 5:43 PM | 🔵 | Code Review: Enhanced HTTP Logging and Double Entries Bug Fix | ~482 |
### Nov 17, 2025
| #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 |
|----|------|---|-------|------|
| #10019 | 12:14 AM | 🔵 | TranscriptParser Utility: JSONL Parsing with Type-Safe Entry Filtering | ~569 |
### Nov 23, 2025
| #38076 | 9:53 PM | 🟣 | Worktree-Aware Project Filtering for Unified Timeline Context | ~578 |
**logger.ts**
| ID | Time | T | Title | Read |
|----|------|---|-------|------|
| #14626 | 6:25 PM | 🔵 | Stop Hook Summary Not in Transcript Validator Schema | ~359 |
### Nov 28, 2025
| #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 |
|----|------|---|-------|------|
| #17238 | 11:34 PM | 🔵 | Existing TranscriptParser TypeScript implementation handles nested message structure | ~493 |
| #37758 | 6:25 PM | ⚖️ | Integration Test Design for Four Critical Testing Gaps | ~729 |
### Dec 5, 2025
### Jan 6, 2026
**bun-path.ts**
| ID | Time | T | Title | Read |
|----|------|---|-------|------|
| #20407 | 7:20 PM | 🔵 | Tag stripping utilities implement dual-tag privacy system with ReDoS protection | ~415 |
### Dec 8, 2025
| ID | Time | T | Title | Read |
|----|------|---|-------|------|
| #22310 | 9:46 PM | 🟣 | Complete Hook Lifecycle Documentation Generated | ~603 |
| #22306 | 9:45 PM | 🔵 | Dual-Tag Privacy System with ReDoS Protection | ~461 |
### Dec 14, 2025
| ID | Time | T | Title | Read |
|----|------|---|-------|------|
| #25691 | 4:24 PM | 🔵 | happy_path_error__with_fallback utility logs errors to silent.log and returns fallback values | ~460 |
### Dec 20, 2025
| ID | Time | T | Title | Read |
|----|------|---|-------|------|
| #30883 | 6:38 PM | 🔵 | Tag-Stripping DRY Violation Analysis | ~152 |
| #38104 | 12:14 AM | 🔵 | Windows Compatibility Issues Documented Across 56 Memory Entries | ~509 |
</claude-mem-context>
+118 -45
View File
@@ -3,58 +3,131 @@
<!-- This section is auto-generated by claude-mem. Edit content outside the tags. -->
### Nov 10, 2025
| ID | Time | T | Title | Read |
|----|------|---|-------|------|
| #6358 | 3:14 PM | 🔵 | SDK Agent Spatial Awareness Implementation | ~309 |
### Nov 21, 2025
| ID | Time | T | Title | Read |
|----|------|---|-------|------|
| #13289 | 2:20 PM | 🟣 | Comprehensive Test Suite for Transcript Transformation | ~320 |
### Nov 23, 2025
| ID | Time | T | Title | Read |
|----|------|---|-------|------|
| #14617 | 6:15 PM | 🟣 | Test Suite Successfully Passing - All 8 Tests Green | ~498 |
| #14615 | 6:14 PM | 🟣 | YAGNI-Focused Test Suite for Transcript Transformation | ~457 |
### Dec 5, 2025
| ID | Time | T | Title | Read |
|----|------|---|-------|------|
| #20732 | 9:07 PM | 🔵 | Smart Install Version Marker Tests for Upgrade Detection | ~452 |
| #20399 | 7:17 PM | 🔵 | Smart install tests validate version tracking with backward compatibility | ~311 |
| #20392 | 7:15 PM | 🔵 | Memory tag stripping tests validate dual-tag system for JSON context filtering | ~404 |
| #20391 | " | 🔵 | User prompt tag stripping tests validate privacy controls for memory exclusion | ~182 |
### Jan 3, 2026
**logger-coverage.test.ts**
| ID | Time | T | Title | Read |
|----|------|---|-------|------|
| #36663 | 11:06 PM | | Third Validation Test Updated: Resume Safety Check Now Uses NULL Comparison | ~417 |
| #36662 | " | | Second Validation Test Updated: Post-Capture Check Now Uses NULL Comparison | ~418 |
| #36661 | 11:05 PM | | First Validation Test Updated: Placeholder Detection Now Checks for NULL | ~482 |
| #36660 | " | ✅ | Updated Session ID Usage Validation Test Header to Reflect NULL-Based Architecture | ~588 |
| #36659 | " | ✅ | Sixth Test Fix: Updated Multi-Observation Test to Use Memory Session ID | ~486 |
| #36658 | " | ✅ | Fifth Test Fix: Updated storeSummary Tests to Use Actual Memory Session ID After Capture | ~555 |
| #36657 | 11:04 PM | ✅ | Fourth Test Fix: Updated storeObservation Tests to Use Actual Memory Session ID After Capture | ~547 |
| #36656 | " | | Third Test Fix: Updated getSessionById Test to Expect NULL for Uncaptured Memory Session ID | ~436 |
| #36655 | " | | Second Test Fix: Updated updateMemorySessionId Test to Expect NULL Before Update | ~395 |
| #36654 | " | | First Test Fix: Updated Memory Session ID Initialization Test to Expect NULL | ~426 |
| #36650 | 11:02 PM | 🔵 | Phase 1 Analysis Reveals Implementation-Test Mismatch on NULL vs Placeholder Initialization | ~687 |
| #36648 | " | 🔵 | Session ID Refactor Test Suite Documents Database Migration 17 and Dual ID System | ~651 |
| #36647 | 11:01 PM | 🔵 | SessionStore Test Suite Validates Prompt Counting and Timestamp Override Features | ~506 |
| #36646 | " | 🔵 | Session ID Architecture Revealed Through Test File Analysis | ~611 |
| #36642 | 10:56 PM | 🔵 | Logger Coverage Test Requirements Analysis | ~483 |
| #36641 | " | 🔵 | Logger Coverage Test Suite Enforces Logging Standards | ~433 |
| #36616 | 10:42 PM | 🔵 | Logger Coverage Test Implementation Examined | ~540 |
**gemini_agent.test.ts**
| ID | Time | T | Title | Read |
|----|------|---|-------|------|
| #36639 | 10:55 PM | 🔵 | GeminiAgent Test Suite Structure | ~428 |
| #36637 | 10:47 PM | 🟣 | GeminiAgent Analysis Agent Running But Timed Out After 120 Seconds | ~521 |
| #36617 | 10:42 PM | 🔵 | GeminiAgent Test File Reveals Integration Requirements | ~506 |
**session_id_refactor.test.ts**
| ID | Time | T | Title | Read |
|----|------|---|-------|------|
| #36636 | 10:46 PM | 🟣 | Session ID Refactor Analysis Agent Completed Comprehensive Report | ~637 |
| #36615 | 10:42 PM | 🔵 | Session ID Refactor Test File Defines Expected Behavior | ~522 |
**session_store.test.ts**
| ID | Time | T | Title | Read |
|----|------|---|-------|------|
| #36635 | 10:46 PM | 🟣 | SessionStore Analysis Agent Completed Report Generation | ~545 |
| #36618 | 10:43 PM | 🔵 | SessionStore Test File Specifies Timestamp Override Feature | ~458 |
| #36485 | 9:12 PM | 🟣 | Prompts Module Test Suite Implemented | ~680 |
**session_id_usage_validation.test.ts**
| ID | Time | T | Title | Read |
|----|------|---|-------|------|
| #36625 | 10:44 PM | 🔵 | Documentation and Code Reveal Placeholder Detection Pattern | ~583 |
| #36619 | 10:43 PM | 🔵 | Session ID Validation Test Architecture Examined | ~705 |
**worker-spawn.test.ts**
| ID | Time | T | Title | Read |
|----|------|---|-------|------|
| #36570 | 9:54 PM | 🟣 | ProcessManager Infrastructure Test Suite Created | ~535 |
### Jan 4, 2026
**gemini_agent.test.ts**
| ID | Time | T | Title | Read |
|----|------|---|-------|------|
| #36858 | 1:50 AM | 🟣 | Phase 1 Implementation Completed via Subagent | ~499 |
| #36854 | 1:49 AM | 🟣 | gemini-3-flash Model Tests Added to GeminiAgent Test Suite | ~470 |
| #36851 | " | 🔵 | GeminiAgent Test Structure Analyzed | ~565 |
| #36924 | 2:25 AM | | Merged fix/pr-538-followups branch into main with comprehensive updates | ~481 |
| #36908 | 2:01 AM | | Regression Tests Committed Successfully | ~418 |
| #36907 | " | | Regression Test Files Staged for Commit | ~317 |
| #36842 | 1:43 AM | 🔵 | Complete Test Framework and Pattern Documentation | ~670 |
| #36836 | 1:42 AM | 🔵 | GeminiAgent Test Coverage and Mocking Patterns | ~513 |
| #36751 | 12:32 AM | 🔵 | Gemini-Related Files Located Across Project | ~242 |
**session_store.test.ts**
| ID | Time | T | Title | Read |
|----|------|---|-------|------|
| #36840 | 1:43 AM | 🔵 | SessionStore Integration Test Pattern | ~444 |
### Jan 5, 2026
**sdk-agent-resume.test.ts**
| ID | Time | T | Title | Read |
|----|------|---|-------|------|
| #38086 | 10:42 PM | ✅ | Merged PR with comprehensive CLAUDE.md documentation system | ~478 |
**CLAUDE.md**
| ID | Time | T | Title | Read |
|----|------|---|-------|------|
| #38082 | 10:13 PM | ✅ | Merge Conflict Resolution - Kept Feature Branch Versions | ~431 |
**gemini_agent.test.ts**
| ID | Time | T | Title | Read |
|----|------|---|-------|------|
| #37819 | 6:44 PM | 🔄 | Replaced Module Mock with SpyOn Approach for SettingsDefaultsManager | ~354 |
| #37816 | " | 🔄 | Removed Module-Level Mocks from Gemini Test | ~347 |
| #37815 | " | 🔵 | Gemini Test Has Two Module-Level Mocks Defined Before Describe Block | ~375 |
| #37814 | " | 🔵 | Gemini Test Uses mock.restore() in afterEach Hook | ~319 |
| #37811 | 6:43 PM | 🔵 | SettingsDefaultsManager Tests Still Fail With Gemini Test Due to Mock | ~384 |
| #37809 | " | 🔴 | Logger Tests Now Pass When Run With Gemini Test | ~340 |
| #37800 | 6:41 PM | 🔴 | Fixed Incomplete SettingsDefaultsManager Mock in Gemini Agent Test | ~376 |
| #37799 | " | 🔵 | Gemini Test Uses mock.module to Override SettingsDefaultsManager | ~357 |
| #37798 | " | 🔵 | Gemini Agent Test Identified as Source of Module Corruption | ~351 |
**logger-coverage.test.ts**
| ID | Time | T | Title | Read |
|----|------|---|-------|------|
| #37797 | 6:41 PM | 🔴 | Logger Coverage Test Now Passes With Other Tests After Exclusion | ~311 |
| #37793 | 6:39 PM | 🔴 | Added SettingsDefaultsManager to Logger Coverage Test Exclusions | ~355 |
| #37792 | " | 🔴 | Logger Tests Pass When Run Together With Coverage Test | ~345 |
| #37790 | " | 🔵 | Logger Coverage Test Detects Console Usage in SettingsDefaultsManager | ~391 |
| #37755 | 6:22 PM | 🔵 | Score 3 Marginal Tests Verified: Mock-Heavy Tests Validate Structure, Not Behavior | ~580 |
| #37750 | 6:21 PM | 🔵 | Test Audit: logger-coverage.test.ts Enforces Logging Standards Across Codebase | ~629 |
| #37735 | 6:16 PM | ✅ | Test Suite Audit Report Generated: 41 Tests Scored and Analyzed | ~634 |
| #37629 | 5:36 PM | 🔵 | Comprehensive Testing Patterns Documentation Generated | ~629 |
| #37620 | 5:33 PM | 🔵 | Existing Logger Coverage Test Suite Structure | ~536 |
| #37617 | 5:32 PM | ⚖️ | PR #558 Review Requirements Categorized by Priority | ~637 |
**session_id_refactor.test.ts**
| ID | Time | T | Title | Read |
|----|------|---|-------|------|
| #37777 | 6:36 PM | 🔴 | Phase 1 Test Cleanup Completed - 6 Low-Quality Test Files Deleted | ~430 |
| #37764 | 6:32 PM | ✅ | Deleted 6 harmful test files causing mock pollution and testing zero runtime value | ~454 |
| #37756 | 6:22 PM | ⚖️ | Score 2 Weak Tests Verification Confirms Audit Findings | ~598 |
**cursor-hook-outputs.test.ts**
| ID | Time | T | Title | Read |
|----|------|---|-------|------|
| #37758 | 6:25 PM | ⚖️ | Integration Test Design for Four Critical Testing Gaps | ~729 |
**session_id_usage_validation.test.ts**
| ID | Time | T | Title | Read |
|----|------|---|-------|------|
| #37754 | 6:22 PM | 🔵 | Test Audit: session_id_usage_validation.test.ts Enforces Critical Session ID Architecture Invariants | ~826 |
**worker-spawn.test.ts**
| ID | Time | T | Title | Read |
|----|------|---|-------|------|
| #37752 | 6:21 PM | 🔵 | Test Audit: worker-spawn.test.ts Tests Configuration and Contracts Without Testing Actual Spawning | ~651 |
**cursor-context-update.test.ts**
| ID | Time | T | Title | Read |
|----|------|---|-------|------|
| #37706 | 6:10 PM | 🔵 | Test Audit: cursor-context-update.test.ts Validates Cursor Integration File Format | ~468 |
**validate_sql_update.test.ts**
| ID | Time | T | Title | Read |
|----|------|---|-------|------|
| #37705 | 6:10 PM | 🔵 | Test Audit: validate_sql_update.test.ts Validates SQL Refactor Correctness | ~374 |
</claude-mem-context>
+57 -1
View File
@@ -3,5 +3,61 @@
<!-- This section is auto-generated by claude-mem. Edit content outside the tags. -->
*No recent activity*
### Jan 3, 2026
**context-builder.test.ts**
| ID | Time | T | Title | Read |
|----|------|---|-------|------|
| #36565 | 9:51 PM | 🟣 | Phase 4 Context Generation Tests Committed | ~575 |
| #36564 | 9:50 PM | 🟣 | Phase 4 Context Generation Tests Committed | ~406 |
| #36558 | 9:48 PM | 🟣 | ContextBuilder Test Suite with Comprehensive Mocking | ~601 |
**observation-compiler.test.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 |
**token-calculator.test.ts**
| ID | Time | T | Title | Read |
|----|------|---|-------|------|
| #36561 | 9:49 PM | 🟣 | Phase 4 Context Generation Test Suite Completion | ~606 |
| #36559 | 9:48 PM | 🔴 | Fixed Token Calculator Test Expectation | ~297 |
| #36555 | 9:44 PM | 🟣 | TokenCalculator Test Suite Created for Context Module | ~565 |
### Jan 4, 2026
**context-builder.test.ts**
| ID | Time | T | Title | Read |
|----|------|---|-------|------|
| #36839 | 1:43 AM | 🔵 | Configuration Testing Pattern with Multiple Module Mocks | ~468 |
### Jan 5, 2026
**CLAUDE.md**
| ID | Time | T | Title | Read |
|----|------|---|-------|------|
| #38082 | 10:13 PM | ✅ | Merge Conflict Resolution - Kept Feature Branch Versions | ~431 |
**context-builder.test.ts**
| ID | Time | T | Title | Read |
|----|------|---|-------|------|
| #37777 | 6:36 PM | 🔴 | Phase 1 Test Cleanup Completed - 6 Low-Quality Test Files Deleted | ~430 |
| #37764 | 6:32 PM | ✅ | Deleted 6 harmful test files causing mock pollution and testing zero runtime value | ~454 |
| #37753 | 6:21 PM | 🔵 | Verification Confirms Score 1 Tests Should Be Deleted | ~627 |
| #37735 | 6:16 PM | ✅ | Test Suite Audit Report Generated: 41 Tests Scored and Analyzed | ~634 |
| #37708 | 6:11 PM | 🔵 | Test Audit: context-builder.test.ts Has Heavy Mocking and Limited Functionality Testing | ~547 |
| #37686 | 5:54 PM | 🔵 | Test failures caused by incomplete logger mock in context-builder test polluting global module scope | ~523 |
**observation-compiler.test.ts**
| ID | Time | T | Title | Read |
|----|------|---|-------|------|
| #37755 | 6:22 PM | 🔵 | Score 3 Marginal Tests Verified: Mock-Heavy Tests Validate Structure, Not Behavior | ~580 |
| #37629 | 5:36 PM | 🔵 | Comprehensive Testing Patterns Documentation Generated | ~629 |
| #37624 | 5:34 PM | 🔵 | Bun Test Pattern for Mocking External Dependencies | ~580 |
**token-calculator.test.ts**
| ID | Time | T | Title | Read |
|----|------|---|-------|------|
| #37709 | 6:11 PM | 🔵 | Test Audit: token-calculator.test.ts Validates Token Estimation Logic with No Mocking | ~570 |
</claude-mem-context>
+110
View File
@@ -0,0 +1,110 @@
<claude-mem-context>
# Recent Activity
<!-- This section is auto-generated by claude-mem. Edit content outside the tags. -->
### Dec 5, 2025
**full-lifecycle.test.ts**
| ID | Time | T | Title | Read |
|----|------|---|-------|------|
| #20670 | 8:48 PM | 🔵 | Full Lifecycle Integration Test Analysis | ~428 |
| #20664 | 8:46 PM | 🔵 | Test Suite Verification Complete | ~238 |
| #20651 | 8:43 PM | 🟣 | Comprehensive Test Suite Merged | ~312 |
| #20447 | 7:39 PM | 🟣 | Full Lifecycle Integration Test Suite Created | ~665 |
### Dec 7, 2025
**full-lifecycle.test.ts**
| ID | Time | T | Title | Read |
|----|------|---|-------|------|
| #21829 | 11:05 PM | 🔄 | Massive refactor adds 8,671 lines and removes 5,585 lines across 60 files | ~619 |
### Dec 8, 2025
**full-lifecycle.test.ts**
| ID | Time | T | Title | Read |
|----|------|---|-------|------|
| #22081 | 6:28 PM | ✅ | Clean Test Suite Execution Without Integration Tests | ~399 |
| #22080 | 6:27 PM | ✅ | Full Test Suite Execution Results | ~456 |
| #22039 | 6:01 PM | 🔵 | Discovered comprehensive TypeScript test suite with 11 test files | ~355 |
### Dec 9, 2025
**full-lifecycle.test.ts**
| ID | Time | T | Title | Read |
|----|------|---|-------|------|
| #22606 | 11:33 AM | 🔵 | Hardcoded port 37777 found across multiple codebase locations | ~371 |
### Dec 11, 2025
**full-lifecycle.test.ts**
| ID | Time | T | Title | Read |
|----|------|---|-------|------|
| #24076 | 3:16 PM | 🔵 | 45 files modified with nearly equal additions and deletions during Bun migration | ~443 |
| #23951 | 1:45 PM | 🔄 | Integration Test Updated to Use Dynamic Port Configuration | ~272 |
| #23933 | 1:36 PM | 🔵 | Comprehensive Port 37777 References Across Documentation and Code | ~427 |
### Dec 12, 2025
**full-lifecycle.test.ts**
| ID | Time | T | Title | Read |
|----|------|---|-------|------|
| #24318 | 5:48 PM | 🟣 | Phase 6 Complete: Comprehensive Bun Worker Testing Passed | ~486 |
| #24317 | 5:47 PM | 🔵 | Test Suite Passes with 42 Tests Across 7 Files | ~326 |
| #24126 | 12:27 AM | 🟣 | Comprehensive Bun Runtime Migration Statistics | ~287 |
### Dec 13, 2025
**hook-execution-environments.test.ts**
| ID | Time | T | Title | Read |
|----|------|---|-------|------|
| #25551 | 11:32 PM | 🟣 | Enhanced error handling system merged into main branch | ~471 |
| #25521 | 11:05 PM | 🟣 | Hook Execution Environment Tests Created | ~529 |
**full-lifecycle.test.ts**
| ID | Time | T | Title | Read |
|----|------|---|-------|------|
| #25518 | 10:37 PM | 🔵 | Integration Test Coverage Analyzed | ~502 |
| #25499 | 10:30 PM | 🔵 | Full Test Suite Passes with 52 Tests | ~350 |
### Dec 14, 2025
**context-inject-early.test.ts**
| ID | Time | T | Title | Read |
|----|------|---|-------|------|
| #25595 | 2:33 PM | ✅ | PR #310 merged into main branch | ~292 |
### Dec 18, 2025
**hook-execution-environments.test.ts**
| ID | Time | T | Title | Read |
|----|------|---|-------|------|
| #29603 | 5:37 PM | 🔵 | Full Test Suite Results - 120/121 Tests Passing | ~424 |
### Dec 20, 2025
**hook-execution-environments.test.ts**
| ID | Time | T | Title | Read |
|----|------|---|-------|------|
| #30494 | 4:43 PM | 🔵 | Test Suite Status with Bun Path Resolution Failures | ~330 |
### Dec 21, 2025
**hook-execution-environments.test.ts**
| ID | Time | T | Title | Read |
|----|------|---|-------|------|
| #31371 | 6:08 PM | ✅ | Removed Five Incomplete Test Files | ~180 |
**full-lifecycle.test.ts**
| ID | Time | T | Title | Read |
|----|------|---|-------|------|
| #31370 | 6:07 PM | ✅ | Removed 9 Mock-Based Test Files | ~286 |
### Dec 22, 2025
**context-inject-early.test.ts**
| ID | Time | T | Title | Read |
|----|------|---|-------|------|
| #31855 | 6:53 PM | ✅ | テストスイートの大規模削除とテスト分析レポートの追加 | ~197 |
</claude-mem-context>
+24 -4
View File
@@ -5,10 +5,30 @@
### Jan 4, 2026
**export-types.test.ts**
| ID | Time | T | Title | Read |
|----|------|---|-------|------|
| #36888 | 1:58 AM | 🟣 | Phase 4 Implementation Completed via Subagent | ~533 |
| #36885 | 1:57 AM | 🟣 | Export Types Tests Created | ~602 |
| #36882 | 1:56 AM | 🟣 | Phase 3 Implementation Completed via Subagent | ~552 |
| #36879 | " | 🟣 | Smart-Install Path Detection Tests Created | ~510 |
| #36924 | 2:25 AM | | Merged fix/pr-538-followups branch into main with comprehensive updates | ~481 |
| #36908 | 2:01 AM | | Regression Tests Committed Successfully | ~418 |
| #36907 | " | | Regression Test Files Staged for Commit | ~317 |
### Jan 5, 2026
**CLAUDE.md**
| ID | Time | T | Title | Read |
|----|------|---|-------|------|
| #38082 | 10:13 PM | ✅ | Merge Conflict Resolution - Kept Feature Branch Versions | ~431 |
**export-types.test.ts**
| ID | Time | T | Title | Read |
|----|------|---|-------|------|
| #37777 | 6:36 PM | 🔴 | Phase 1 Test Cleanup Completed - 6 Low-Quality Test Files Deleted | ~430 |
| #37764 | 6:32 PM | ✅ | Deleted 6 harmful test files causing mock pollution and testing zero runtime value | ~454 |
| #37753 | 6:21 PM | 🔵 | Verification Confirms Score 1 Tests Should Be Deleted | ~627 |
| #37714 | 6:12 PM | 🔵 | Test Audit: export-types.test.ts Validates TypeScript Type Definitions with No Runtime Logic | ~615 |
**smart-install.test.ts**
| ID | Time | T | Title | Read |
|----|------|---|-------|------|
| #37755 | 6:22 PM | 🔵 | Score 3 Marginal Tests Verified: Mock-Heavy Tests Validate Structure, Not Behavior | ~580 |
</claude-mem-context>
+38 -1
View File
@@ -3,5 +3,42 @@
<!-- This section is auto-generated by claude-mem. Edit content outside the tags. -->
*No recent activity*
### Jan 3, 2026
**server.test.ts**
| ID | Time | T | Title | Read |
|----|------|---|-------|------|
| #36583 | 9:57 PM | 🟣 | Server Test Suite Created | ~485 |
**error-handler.test.ts**
| ID | Time | T | Title | Read |
|----|------|---|-------|------|
| #36581 | 9:57 PM | 🟣 | ErrorHandler Test Suite Created for Phase 6 | ~444 |
### Jan 4, 2026
**error-handler.test.ts**
| ID | Time | T | Title | Read |
|----|------|---|-------|------|
| #36841 | 1:43 AM | 🔵 | Error Handler Testing with Custom Error Classes | ~445 |
### 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 |
**server.test.ts**
| ID | Time | T | Title | Read |
|----|------|---|-------|------|
| #38018 | 9:14 PM | 🟣 | Added comprehensive test coverage for worktree detection and projectRoot path resolution | ~450 |
| #37758 | 6:25 PM | ⚖️ | Integration Test Design for Four Critical Testing Gaps | ~729 |
| #37710 | 6:11 PM | 🔵 | Test Audit: server.test.ts Integration Tests with Minimal Mocking for HTTP Server | ~582 |
**error-handler.test.ts**
| ID | Time | T | Title | Read |
|----|------|---|-------|------|
| #37629 | 5:36 PM | 🔵 | Comprehensive Testing Patterns Documentation Generated | ~629 |
| #37625 | 5:35 PM | 🔵 | Bun Test Pattern for Error Classes and Mock Restoration | ~573 |
</claude-mem-context>
+20 -1
View File
@@ -3,5 +3,24 @@
<!-- This section is auto-generated by claude-mem. Edit content outside the tags. -->
*No recent activity*
### Jan 5, 2026
**CLAUDE.md**
| ID | Time | T | Title | Read |
|----|------|---|-------|------|
| #38082 | 10:13 PM | ✅ | Merge Conflict Resolution - Kept Feature Branch Versions | ~431 |
**settings-defaults-manager.test.ts**
| ID | Time | T | Title | Read |
|----|------|---|-------|------|
| #37811 | 6:43 PM | 🔵 | SettingsDefaultsManager Tests Still Fail With Gemini Test Due to Mock | ~384 |
| #37797 | 6:41 PM | 🔴 | Logger Coverage Test Now Passes With Other Tests After Exclusion | ~311 |
| #37796 | 6:40 PM | 🔴 | Utils and Shared Tests Pass When Run Together | ~342 |
| #37787 | 6:38 PM | 🔴 | SettingsDefaultsManager Tests Pass When Run In Isolation | ~356 |
| #37782 | 6:36 PM | 🔵 | SettingsDefaultsManager Methods Appear Undefined in Tests | ~325 |
| #37777 | " | 🔴 | Phase 1 Test Cleanup Completed - 6 Low-Quality Test Files Deleted | ~430 |
| #37770 | 6:34 PM | 🔵 | Settings-defaults-manager test file contains tests for methods that don't exist on implementation | ~491 |
| #37657 | 5:51 PM | 🔵 | SettingsDefaultsManager test imports SettingsDefaultsManager creating circular dependency trigger | ~434 |
| #37640 | 5:40 PM | 🟣 | SettingsDefaultsManager Test Suite Passes All 27 Tests With Expected Warnings | ~577 |
| #37636 | 5:39 PM | 🟣 | Created Comprehensive SettingsDefaultsManager Test Suite | ~577 |
</claude-mem-context>
+32 -1
View File
@@ -3,5 +3,36 @@
<!-- This section is auto-generated by claude-mem. Edit content outside the tags. -->
*No recent activity*
### Jan 5, 2026
**claude-md-utils.test.ts**
| ID | Time | T | Title | Read |
|----|------|---|-------|------|
| #38086 | 10:42 PM | ✅ | Merged PR with comprehensive CLAUDE.md documentation system | ~478 |
| #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 |
| #38021 | " | 🔵 | Test suite expanded with additional projectRoot edge case tests | ~389 |
| #38020 | 9:14 PM | ✅ | All 27 tests passing in claude-md-utils test suite | ~237 |
| #38019 | " | ✅ | Test suite passed for claude-md-utils.ts with all 27 tests green | ~306 |
| #38018 | " | 🟣 | Added comprehensive test coverage for worktree detection and projectRoot path resolution | ~450 |
| #38017 | " | ✅ | Verified existing claude-md-utils.test.ts passes with 27 tests | ~244 |
| #38016 | 9:13 PM | 🔵 | Existing test suite for claude-md-utils.ts with projectRoot tests already present | ~426 |
| #37977 | 8:33 PM | 🔵 | All 23 tests pass for claude-md-utils module | ~209 |
**logger-format-tool.test.ts**
| ID | Time | T | Title | Read |
|----|------|---|-------|------|
| #37809 | 6:43 PM | 🔴 | Logger Tests Now Pass When Run With Gemini Test | ~340 |
| #37797 | 6:41 PM | 🔴 | Logger Coverage Test Now Passes With Other Tests After Exclusion | ~311 |
| #37796 | 6:40 PM | 🔴 | Utils and Shared Tests Pass When Run Together | ~342 |
| #37792 | 6:39 PM | 🔴 | Logger Tests Pass When Run Together With Coverage Test | ~345 |
| #37789 | 6:38 PM | 🔴 | Logger FormatTool Tests Pass When Run In Isolation | ~359 |
| #37777 | 6:36 PM | 🔴 | Phase 1 Test Cleanup Completed - 6 Low-Quality Test Files Deleted | ~430 |
| #37769 | 6:34 PM | 🔵 | Logger-format-tool test file contains 81 comprehensive tests for non-existent logger.formatTool method | ~487 |
| #37655 | 5:51 PM | 🔵 | Logger formatTool test imports logger directly creating test-time circular dependency exposure | ~392 |
| #37642 | 5:41 PM | 🟣 | Second Task Agent Independently Created and Verified FormatTool Tests | ~544 |
| #37638 | 5:40 PM | 🟣 | FormatTool Test Suite Successfully Passes All 56 Tests | ~515 |
| #37635 | 5:39 PM | 🟣 | Created Comprehensive FormatTool Test Suite | ~619 |
</claude-mem-context>
+45 -1
View File
@@ -3,5 +3,49 @@
<!-- This section is auto-generated by claude-mem. Edit content outside the tags. -->
*No recent activity*
### Jan 3, 2026
**fallback-error-handler.test.ts**
| ID | Time | T | Title | Read |
|----|------|---|-------|------|
| #36522 | 9:34 PM | 🟣 | Phase 2 Worker Agent Tests Implemented | ~390 |
| #36525 | " | 🔵 | Test Import Strategy for Avoiding Module Side Effects | ~358 |
| #36518 | " | 🟣 | Phase 2 Test Suite Implementation Complete | ~348 |
| #36521 | " | ⚖️ | Test Import Strategy: Direct Imports Over Barrel Exports | ~321 |
| #36515 | 9:33 PM | 🟣 | Phase 2 Worker Agents Test Suite Implementation | ~422 |
### Jan 4, 2026
**observation-broadcaster.test.ts**
| ID | Time | T | Title | Read |
|----|------|---|-------|------|
| #36842 | 1:43 AM | 🔵 | Complete Test Framework and Pattern Documentation | ~670 |
| #36834 | 1:41 AM | 🔵 | Bun Test Framework Pattern and Structure | ~418 |
### 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 |
**response-processor.test.ts**
| ID | Time | T | Title | Read |
|----|------|---|-------|------|
| #37999 | 9:02 PM | 🔵 | getWorkerHost and getWorkerPort used in 18 files across codebase | ~282 |
| #37756 | 6:22 PM | ⚖️ | Score 2 Weak Tests Verification Confirms Audit Findings | ~598 |
| #37712 | 6:12 PM | 🔵 | Test Audit: response-processor.test.ts Has Heavy Mocking for XML Parsing and Database Operations | ~697 |
**observation-broadcaster.test.ts**
| ID | Time | T | Title | Read |
|----|------|---|-------|------|
| #37777 | 6:36 PM | 🔴 | Phase 1 Test Cleanup Completed - 6 Low-Quality Test Files Deleted | ~430 |
| #37764 | 6:32 PM | ✅ | Deleted 6 harmful test files causing mock pollution and testing zero runtime value | ~454 |
| #37755 | 6:22 PM | 🔵 | Score 3 Marginal Tests Verified: Mock-Heavy Tests Validate Structure, Not Behavior | ~580 |
| #37711 | 6:11 PM | 🔵 | Test Audit: observation-broadcaster.test.ts Validates SSE Broadcasting with Mock Workers | ~605 |
**fallback-error-handler.test.ts**
| ID | Time | T | Title | Read |
|----|------|---|-------|------|
| #37735 | 6:16 PM | ✅ | Test Suite Audit Report Generated: 41 Tests Scored and Analyzed | ~634 |
</claude-mem-context>
+151 -1
View File
@@ -3,5 +3,155 @@
<!-- This section is auto-generated by claude-mem. Edit content outside the tags. -->
*No recent activity*
### Nov 30, 2025
**hidden-sniffing-nest.md**
| ID | Time | T | Title | Read |
|----|------|---|-------|------|
| #17674 | 6:01 PM | ⚖️ | Plan Mode Exited with Finalized Dual-Tag Implementation Strategy | ~692 |
| #17669 | 5:55 PM | ⚖️ | Implementation Plan Updated with User Requirements Clarification | ~735 |
| #17646 | 5:42 PM | ⚖️ | Implementation Plan Created for Dual-Tag System Feature Extraction | ~625 |
### Dec 5, 2025
**distributed-growing-wall-agent-648df112.md**
| ID | Time | T | Title | Read |
|----|------|---|-------|------|
| #20982 | 11:47 PM | 🔵 | Implementation Plan Retrieved: Nine-Phase Selective Hook Refactoring Strategy | ~487 |
| #20373 | 7:00 PM | ⚖️ | Implementation plan created for selective merge of hook refactoring | ~367 |
**distributed-growing-wall.md**
| ID | Time | T | Title | Read |
|----|------|---|-------|------|
| #20375 | 7:02 PM | ✅ | Simplified implementation plan created for primary session | ~346 |
### Dec 7, 2025
**staged-whistling-ember.md**
| ID | Time | T | Title | Read |
|----|------|---|-------|------|
| #21295 | 6:28 PM | ⚖️ | Phase 2 MCP DRY Architecture Plan Created | ~586 |
### Dec 9, 2025
**fancy-purring-horizon.md**
| ID | Time | T | Title | Read |
|----|------|---|-------|------|
| #23061 | 6:17 PM | 🔵 | Claude-Mem Hooks Cleanup Plan Structure Reviewed | ~400 |
### Dec 10, 2025
**abundant-purring-crystal.md**
| ID | Time | T | Title | Read |
|----|------|---|-------|------|
| #23712 | 8:56 PM | ⚖️ | PM2 Replacement Architecture: Bun-based Self-Executable Worker Service | ~825 |
### Dec 12, 2025
**abundant-purring-crystal.md**
| ID | Time | T | Title | Read |
|----|------|---|-------|------|
| #24402 | 8:10 PM | 🔵 | Retrieved PM2 Replacement Architecture Decision from Memory | ~476 |
**concurrent-snuggling-goblet.md**
| ID | Time | T | Title | Read |
|----|------|---|-------|------|
| #24284 | 5:31 PM | 🔵 | PM2 to Bun Migration Plan for Worker Process Management | ~414 |
| #24283 | 5:30 PM | ⚖️ | Six-phase implementation plan created to address PR #248 issues | ~652 |
| #24282 | 5:22 PM | ⚖️ | PR #248 review plan identifies six issues requiring fixes before merge | ~640 |
### Dec 13, 2025
**smooth-whistling-mccarthy.md**
| ID | Time | T | Title | Read |
|----|------|---|-------|------|
| #25444 | 10:02 PM | 🔵 | Error Message Quality Improvement Plan Loaded | ~371 |
### Dec 18, 2025
**indexed-jingling-pinwheel.md**
| ID | Time | T | Title | Read |
|----|------|---|-------|------|
| #29414 | 4:06 PM | 🔵 | Mode-based prompt customization plan has critical scope gaps | ~465 |
### Dec 19, 2025
**precious-bubbling-ember.md**
| ID | Time | T | Title | Read |
|----|------|---|-------|------|
| #30066 | 8:00 PM | 🔵 | RAGTIME Tool Blocking Prevents Observation Hook System | ~596 |
### Dec 20, 2025
**recursive-juggling-clover.md**
| ID | Time | T | Title | Read |
|----|------|---|-------|------|
| #30974 | 7:12 PM | 🔵 | Nonsense Audit Plan Review - Final Issue Remaining | ~375 |
| #30962 | 7:08 PM | 🔴 | Expanded logger.formatTool() to Handle All Tool Types | ~425 |
| #30960 | 7:07 PM | 🔵 | Issue 18 of 20 Identified in Nonsense Audit Plan | ~317 |
| #30935 | 6:56 PM | 🔄 | Removed Ceremonial Wrapper Function in Hook Response System | ~382 |
| #30925 | 6:53 PM | 🔴 | Removed Redundant Try-Catch from getWorkerPort() | ~360 |
| #30916 | 6:49 PM | ✅ | Phase 2 Major Cleanup Milestone Completed | ~364 |
| #30915 | " | 🔴 | SessionRoutes Catch-All Exception Masking Removed | ~345 |
| #30909 | 6:48 PM | 🔵 | Loaded Comprehensive Code Quality Audit Plan | ~402 |
| #30888 | 6:40 PM | ✅ | Phase 2 Progress Updated | ~306 |
| #30887 | " | 🔄 | Tag-Stripping DRY Violation Fixed | ~417 |
| #30881 | 6:37 PM | 🔴 | Eliminated Triple-Duplicated Date/Time Formatting Functions | ~366 |
| #30880 | " | 🔵 | Issue 8: Duplicate Date/Time Formatting Functions in SearchManager | ~214 |
| #30862 | 6:26 PM | 🔴 | Cleanup Hook Error Logging Added | ~297 |
| #30853 | 6:20 PM | 🔴 | Summary Hook Finally Block Error Propagation Fixed | ~323 |
| #30849 | 6:19 PM | 🔵 | Nonsense Audit Plan Identified - Issue 5 Summary Hook Error Masking | ~408 |
| #30842 | 6:18 PM | ✅ | Phase 1 Critical Fixes Marked Complete | ~449 |
| #30841 | 6:17 PM | 🔵 | Code Quality Remediation Plan Structure | ~406 |
| #32289 | 6:09 PM | 🔴 | Vector Search Failures Now Show Explicit Error Messages | ~267 |
**delightful-gliding-hinton.md**
| ID | Time | T | Title | Read |
|----|------|---|-------|------|
| #30519 | 4:48 PM | 🔵 | Plan file contains multi-phase deployment strategy | ~209 |
| #30514 | 4:46 PM | 🟣 | Sequential Phase Execution System for Plan Deployment | ~213 |
### Dec 28, 2025
**cozy-percolating-clover.md**
| ID | Time | T | Title | Read |
|----|------|---|-------|------|
| #33567 | 11:06 PM | 🔴 | Validation of Memory Session Append Bug Fix | ~251 |
**mellow-discovering-meerkat.md**
| ID | Time | T | Title | Read |
|----|------|---|-------|------|
| #33265 | 2:58 PM | 🟣 | Self-spawn pattern for background worker lifecycle management | ~446 |
| #33264 | " | 🟣 | Worker Lifecycle Management PR Created (PR #458) | ~432 |
### Dec 29, 2025
**sprightly-frolicking-tulip.md**
| ID | Time | T | Title | Read |
|----|------|---|-------|------|
| #34215 | 10:08 PM | 🔵 | Retrieved Detailed Cursor Integration Implementation History | ~676 |
| #34124 | 9:09 PM | 🔵 | Cursor Hooks Integration Branch Code Review Completed | ~571 |
| #34098 | 9:03 PM | 🔵 | Cursor Hooks Integration Branch Code Review Completed | ~413 |
| #34087 | 9:00 PM | 🔵 | Comprehensive code review plan for Cursor IDE hooks integration | ~449 |
### Dec 30, 2025
**lively-twirling-garden.md**
| ID | Time | T | Title | Read |
|----|------|---|-------|------|
| #34413 | 1:59 PM | 🔵 | Agent SDK V2 Upgrade Plan Reviewed | ~380 |
### Jan 4, 2026
**gentle-munching-wolf.md**
| ID | Time | T | Title | Read |
|----|------|---|-------|------|
| #36729 | 12:23 AM | ⚖️ | Implementation Plan Created for PR Review Follow-ups and Issue Fixes | ~673 |
### Jan 5, 2026
**rustling-crunching-thimble.md**
| ID | Time | T | Title | Read |
|----|------|---|-------|------|
| #38007 | 9:04 PM | ⚖️ | Created implementation plan for three PR review items | ~373 |
</claude-mem-context>