🤖 fix: dedupe memory consolidation summaries#3564
Conversation
|
@codex review |
|
Codex Review: Didn't find any major issues. Delightful! Reviewed commit: ℹ️ About Codex in GitHubYour team has set up Codex to review pull requests in this repo. Reviews are triggered when you
If Codex has suggestions, it will comment; otherwise it will react with 👍. Codex can also answer questions or update the PR. Try commenting "@codex address that feedback". |
4d7512e to
18fdb54
Compare
|
@codex review Pushed a CI-only test-selector fix after the Unit job exposed that full-suite Radix tooltip rendering can be inline rather than wrapped by the popper content attribute. |
|
Codex Review: Didn't find any major issues. More of your lovely PRs please. Reviewed commit: ℹ️ About Codex in GitHubYour team has set up Codex to review pull requests in this repo. Reviews are triggered when you
If Codex has suggestions, it will comment; otherwise it will react with 👍. Codex can also answer questions or update the PR. Try commenting "@codex address that feedback". |
Avoid repeating identical consolidation summaries when one run covers workspace, project, and global memory scopes. --- Generated with mux. Model: openai:gpt-5.5. Thinking: xhigh. Cost: 3.54.
18fdb54 to
6606114
Compare
|
@codex review Rebased onto latest main and added a targeted HistoryService fix for the merge-queue Unit failures: compaction epoch reads now iterate full workspace history instead of passing a workspace id to the file-path iterator. |
|
Codex Review: Didn't find any major issues. Bravo. Reviewed commit: ℹ️ About Codex in GitHubYour team has set up Codex to review pull requests in this repo. Reviews are triggered when you
If Codex has suggestions, it will comment; otherwise it will react with 👍. Codex can also answer questions or update the PR. Try commenting "@codex address that feedback". |
Summary
Deduplicates identical memory-consolidation summaries in the Memory tab tooltip while preserving the separate Workspace, Project, and Global status lines. Also fixes the latest-main compaction epoch reader regression that surfaced when the PR entered the merge queue.
Background
A single consolidation pass can cover workspace, project, and global memory scopes. When those status records share the same summary, the footer tooltip repeated the same text once per scope, which made the UI look broken.
After rebasing onto the latest
main, merge-queue Unit runs exposed thatHistoryService.getMessagesForCompactionEpochwas passing a workspace id into a file-path iterator. That made compaction harvest tests fail on main/merge-group runs because the summary row was never found.Implementation
Validation
bun test src/browser/features/RightSidebar/Memory/MemoryTab.test.tsxbun test src/node/services/historyService.test.ts --test-name-pattern "getMessagesForCompactionEpoch"bun test src/node/services/memoryConsolidationService.test.ts --test-name-pattern "harvest|post-harvest|re-harvest|retryable"make typecheckMUX_ESLINT_CONCURRENCY=1 make lintmake fmt-checkMUX_ESLINT_CONCURRENCY=1 make static-checkRisks
Low to medium. The tooltip change only affects memory consolidation status rendering. The HistoryService fix restores the intended full-history iteration path used by compaction harvesting; regression coverage already existed and now passes again.
Generated with
mux• Model:openai:gpt-5.5• Thinking:xhigh• Cost:$3.54