Skip to content

feat(memory): curate project context and add collection controls - #486

Merged
astyfx merged 2 commits into
mainfrom
fix/project-memory
Sep 6, 2026
Merged

feat(memory): curate project context and add collection controls#486
astyfx merged 2 commits into
mainfrom
fix/project-memory

Conversation

@astyfx

@astyfx astyfx commented Sep 6, 2026

Copy link
Copy Markdown
Member

Summary

Project Memory now keeps curated, bounded knowledge instead of forwarding an expanding list of task notes. Projects can customize candidate collection and reset saved knowledge; the Information panel displays complete memory text with explicit multiline editing.

Changes

Features

  • memory: separate candidates, relevant knowledge and a maximum of three core memories; inject at most six entries and 1,200 characters for the current request.
  • memory: add project-specific Settings controls for automatic recall, candidate collection, allowed kinds and a customizable collection template with default restoration.
  • memory: add candidate cleanup and project reset with confirmation, project isolation and protection against pending or pre-reset automatic extraction.
  • memory: display complete memory text in cards and support multiline editing with explicit save, cancel and retained drafts on failure.
  • memory: add paginated agent search, same-id curation, exact duplicate protection and additive migration of existing entries.

Fixes

  • memory: preserve unsaved collection templates when other memory entries refresh, and reject stale settings writes instead of overwriting newer changes.

Test Evidence

  • 110 focused tests passed across 11 files: memory domain and persistence, project settings and reset, renderer recall, summary generation, host tools, Settings and themes.
  • bun run build:desktop passed, including the standard tsc --noEmit gate.
  • Documentation paths, max-lines ratchet, switch exhaustiveness and git diff --check passed.
  • Expanded source/main diagnostic comparison introduced no diagnostics; the existing current main-process baseline remains 245 errors. This is separate from the passing standard renderer typecheck.
  • Lens exercised actual memory/settings components with isolated fixture data: full English/Korean text at 300/340px panel widths, save/cancel, failed-save draft retention, template editing/restoration, independent switches, confirmation, candidate-only clear, failed reset and retry, empty state, and unsaved-template retention across refresh.
  • Inspected light/dark rendering and verified memory-card token application without overflow across all 16 built-in themes. No new theme tokens were added.

Notes

Schema changes are additive and preserve deletion markers. Cleanup applies only to the selected project, keeps collection settings and cannot erase text already sent to an ongoing provider conversation. Automatic collection still uses the existing summary call and respects its Background AI setting; explicit agent tools remain available.

Rollback uses a normal application rollback; older versions ignore the added settings table and recall-mode column. Older versions do not enforce the new reset cutoff or collection policy. No packaged-application IPC smoke test or live paid provider turn was run; UI validation used an isolated component fixture and persistence was exercised separately.

@astyfx
astyfx requested a review from a team as a code owner September 6, 2026 01:45
@astyfx
astyfx requested review from png-1105 and schang124 and removed request for a team September 6, 2026 01:45
@astyfx
astyfx enabled auto-merge (squash) September 6, 2026 01:45
@astyfx
astyfx disabled auto-merge September 6, 2026 01:45

@heath-s heath-s left a comment

Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Approved

@upwind-code-us

upwind-code-us Bot commented Sep 6, 2026

Copy link
Copy Markdown

Upwind Upwind Code Scan - ✅ Proceed with Deployment

0 newly introduced vulnerabilities · 0 resolved · 89 total in this PR vs main

🔴 1 Critical | 🔶 35 High | 🟡 49 Medium | 🟢 4 Low

View full analysis in Upwind Console

Scan completed in 17s

Scan history (1 scan)
Commit Scanned at New Resolved Net
d2b3eac < 2026-09-06 02:02 UTC 0 0 0

Last scanned: d2b3eac · 2026-09-06 02:02 UTC

@upwind-code-us

upwind-code-us Bot commented Sep 6, 2026

Copy link
Copy Markdown

Upwind Upwind IaC Scan - ✅ Proceed with Deployment

0 newly introduced misconfigurations · 0 resolved · 0 total in this PR vs main

View full analysis in Upwind Console →

Scan completed in 5s

Scan history (1 scan)
Commit Scanned at New Resolved Net
d2b3eac < 2026-09-06 02:02 UTC 0 0 0

Last scanned: d2b3eac · 2026-09-06 02:02 UTC

@astyfx astyfx changed the title feat(memory): curate project context feat(memory): curate project context and add collection controls Sep 6, 2026
@astyfx
astyfx merged commit 12838fb into main Sep 6, 2026
5 checks passed
@astyfx
astyfx deleted the fix/project-memory branch September 6, 2026 02:11
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants