refactor: implement in-process worker architecture for hooks (#722)
* fix: stop generating empty CLAUDE.md files - Return empty string instead of "No recent activity" when no observations exist - Skip writing CLAUDE.md files when formatted content is empty - Remove redundant "auto-generated by claude-mem" HTML comment - Clean up 98 existing empty CLAUDE.md files across the codebase - Update tests to expect empty string for empty input Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com> * build assets * refactor: implement in-process worker architecture for hooks Replaces spawn-based worker startup with in-process architecture: - Hook processes now become the worker when port 37777 is free - Eliminates Windows spawn issues (NO SPAWN rule) - SessionStart chains: smart-install && stop && context Key changes: - worker-service.ts: hook case starts WorkerService in-process - hook-command.ts: skipExit option prevents process.exit() when hosting worker - hooks.json: single chained command replaces separate start/hook commands - worker-utils.ts: ensureWorkerRunning() returns boolean, doesn't block - handlers: graceful fallback when worker unavailable All 761 tests pass. Manual verification confirms hook stays alive as worker. Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com> * context * a * MAESTRO: Mark PR #722 test verification task complete All 797 tests passed (3 skipped, 0 failed) after merge conflict resolution. Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com> * MAESTRO: Mark PR #722 build verification task complete * MAESTRO: Mark PR #722 code review task complete Code review verified: - worker-service.ts hook case starts WorkerService in-process - hook-command.ts has skipExit option - hooks.json uses single chained command - worker-utils.ts ensureWorkerRunning() returns boolean Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com> * MAESTRO: Mark PR #722 conflict resolution push task complete Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com> --------- Co-authored-by: Claude Opus 4.5 <noreply@anthropic.com>
This commit is contained in:
@@ -1,117 +0,0 @@
|
||||
<claude-mem-context>
|
||||
# Recent Activity
|
||||
|
||||
<!-- This section is auto-generated by claude-mem. Edit content outside the tags. -->
|
||||
|
||||
### Dec 25, 2025
|
||||
|
||||
**ContextSettingsModal.tsx**
|
||||
| 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 |
|
||||
| #32630 | 8:45 PM | ✅ | Updated UI toggle for rate limiting in `ContextSettingsModal` | ~345 |
|
||||
| #32622 | 8:44 PM | ✅ | Updated UI toggle for rate limiting in `ContextSettingsModal` | ~375 |
|
||||
| #32615 | 8:43 PM | 🔵 | Confirmed UI text for "Billing Enabled" toggle | ~244 |
|
||||
| #32613 | " | 🔵 | Comprehensive identification of `CLAUDE_MEM_GEMINI_BILLING_ENABLED` usage | ~407 |
|
||||
| #32608 | 8:42 PM | 🔵 | Identified UI component for "Billing Enabled" toggle | ~348 |
|
||||
| #32604 | " | 🔵 | Identified "billing" setting and its direct link to rate limiting | ~405 |
|
||||
| #32603 | " | 🔵 | Identified widespread use of "Gemini" across application components | ~312 |
|
||||
| #32559 | 8:18 PM | 🔵 | Listed files changed in the current branch | ~169 |
|
||||
| #32550 | 7:31 PM | 🟣 | Added Gemini Billing Enabled toggle in UI | ~189 |
|
||||
|
||||
### Dec 26, 2025
|
||||
|
||||
**ContextSettingsModal.tsx**
|
||||
| ID | Time | T | Title | Read |
|
||||
|----|------|---|-------|------|
|
||||
| #32977 | 11:13 PM | 🔵 | User questions Save button placement in settings modal | ~172 |
|
||||
| #32976 | 11:12 PM | 🔵 | UI button placement questioned in settings modal | ~166 |
|
||||
| #32978 | 11:04 PM | 🔵 | ContextSettingsModal component structure examined | ~199 |
|
||||
| #32979 | " | 🔵 | Save button implemented in modal footer section | ~195 |
|
||||
| #32980 | " | 🔄 | Save button moved inside modal body structure | ~182 |
|
||||
| #32925 | 10:26 PM | 🔵 | OpenRouter Provider Integration Proposed in PR 448 | ~543 |
|
||||
| #32923 | 10:18 PM | 🔵 | OpenRouter Integration Architecture in claude-mem | ~610 |
|
||||
| #32922 | 10:17 PM | 🔵 | OpenRouter Integration in Settings UI | ~362 |
|
||||
| #32913 | 10:05 PM | 🔵 | PR #448 Code Review: OpenRouter Provider Integration | ~523 |
|
||||
| #32909 | 10:01 PM | 🔵 | ContextSettingsModal provides rich UI for settings with live preview and provider configuration | ~611 |
|
||||
|
||||
### Dec 28, 2025
|
||||
|
||||
**ContextSettingsModal.tsx**
|
||||
| ID | Time | T | Title | Read |
|
||||
|----|------|---|-------|------|
|
||||
| #33279 | 3:07 PM | ✅ | Changed Default OpenRouter Model to Free Tier Option | ~285 |
|
||||
|
||||
### Dec 30, 2025
|
||||
|
||||
**ContextSettingsModal.tsx**
|
||||
| ID | Time | T | Title | Read |
|
||||
|----|------|---|-------|------|
|
||||
| #34384 | 1:39 PM | 🔵 | UI Provides "haiku" as Model Selection Option | ~296 |
|
||||
|
||||
### Jan 1, 2026
|
||||
|
||||
**LogsModal.tsx**
|
||||
| ID | Time | T | Title | Read |
|
||||
|----|------|---|-------|------|
|
||||
| #35668 | 11:40 PM | ✅ | Main branch updated with major feature additions | ~377 |
|
||||
| #35598 | 10:51 PM | 🔄 | Logs UI Refactored from Modal to Bottom Drawer | ~505 |
|
||||
| #35597 | 10:29 PM | 🟣 | Logs Viewer Modal Component Created | ~299 |
|
||||
|
||||
**Header.tsx**
|
||||
| ID | Time | T | Title | Read |
|
||||
|----|------|---|-------|------|
|
||||
| #35603 | 10:52 PM | 🟣 | Removed Logs Button from Header UI | ~274 |
|
||||
| #35602 | " | ✅ | Removed onLogsToggle from Header Destructuring | ~215 |
|
||||
| #35601 | " | 🔄 | Removed onLogsToggle Prop from Header Interface | ~191 |
|
||||
|
||||
### Jan 2, 2026
|
||||
|
||||
**LogsModal.tsx**
|
||||
| ID | Time | T | Title | Read |
|
||||
|----|------|---|-------|------|
|
||||
| #35999 | 5:32 PM | 🟣 | Alignment Quick Filter Added to Console Logs UI | ~308 |
|
||||
| #35982 | 5:09 PM | ✅ | Built and deployed claude-mem version 8.5.4 with LogsModal UI component | ~295 |
|
||||
| #35981 | 5:08 PM | 🟣 | Implemented alignment quick filter UI in LogsModal | ~281 |
|
||||
| #35980 | " | 🟣 | Alignment-only filter added to LogsModal | ~323 |
|
||||
| #35979 | " | 🟣 | Added alignment filter state to LogsModal component | ~219 |
|
||||
| #35978 | " | 🔵 | LogsModal viewer component with filtering and parsing capabilities | ~447 |
|
||||
| #35904 | 2:49 PM | 🟣 | Implemented Structured Log Parsing in LogsModal | ~400 |
|
||||
| #35901 | " | 🔵 | PR #525 File Changes Summary | ~376 |
|
||||
| #35879 | 2:41 PM | 🟣 | Enhanced LogsModal with Parsing, Filtering, Colors, Icons, and Auto-Scroll | ~726 |
|
||||
| #35877 | 2:40 PM | 🔵 | LogsDrawer Component Current Implementation | ~426 |
|
||||
| #35820 | 2:28 PM | 🔵 | Current LogsDrawer implementation analyzed | ~289 |
|
||||
|
||||
**Header.tsx**
|
||||
| ID | Time | T | Title | Read |
|
||||
|----|------|---|-------|------|
|
||||
| #35875 | 2:39 PM | 🔵 | Logging UI Architecture Mapped | ~599 |
|
||||
| #35839 | 2:30 PM | 🔵 | Header component with project filter dropdown | ~245 |
|
||||
|
||||
**SummaryCard.tsx**
|
||||
| ID | Time | T | Title | Read |
|
||||
|----|------|---|-------|------|
|
||||
| #35834 | 2:30 PM | 🔵 | SummaryCard demonstrates icon usage pattern | ~281 |
|
||||
|
||||
**Feed.tsx**
|
||||
| ID | Time | T | Title | Read |
|
||||
|----|------|---|-------|------|
|
||||
| #35832 | 2:29 PM | 🔵 | Feed component with intersection observer for infinite scroll | ~300 |
|
||||
|
||||
**ObservationCard.tsx**
|
||||
| ID | Time | T | Title | Read |
|
||||
|----|------|---|-------|------|
|
||||
| #35828 | 2:29 PM | 🔵 | ObservationCard styling and interaction patterns | ~275 |
|
||||
|
||||
### Jan 4, 2026
|
||||
|
||||
**ContextSettingsModal.tsx**
|
||||
| ID | Time | T | Title | Read |
|
||||
|----|------|---|-------|------|
|
||||
| #36781 | 12:45 AM | 🔵 | Complete GeminiAgent Model Configuration Gap Analysis | ~552 |
|
||||
| #36773 | 12:43 AM | 🔵 | Gemini Model Options in Settings UI | ~490 |
|
||||
| #36757 | 12:33 AM | 🔵 | Issue #511 Root Cause Identified - Gemini-3-Flash Configuration Mismatch | ~416 |
|
||||
| #36756 | " | 🔵 | UI Component Also Lists gemini-3-flash | ~339 |
|
||||
| #36754 | " | 🔵 | Gemini-3-Flash Model Already Supported | ~301 |
|
||||
</claude-mem-context>
|
||||
Reference in New Issue
Block a user