Skip to content

feat(memory): add durable conversation memory backend - #712

Open
minhtq1234 wants to merge 64 commits into
iOfficeAI:mainfrom
minhtq1234:feat/app-operations-model
Open

feat(memory): add durable conversation memory backend#712
minhtq1234 wants to merge 64 commits into
iOfficeAI:mainfrom
minhtq1234:feat/app-operations-model

Conversation

@minhtq1234

@minhtq1234 minhtq1234 commented Jul 29, 2026

Copy link
Copy Markdown

What

  • Add durable Memory storage, migrations, API contracts, and authenticated routes.
  • Add durable capture jobs with leases, retry deadlines, lifecycle fencing, and startup recovery.
  • Add bounded retrieval, immutable retrieval snapshots, scope-aware ranking, summaries, and prompt-block generation.
  • Add reconciliation, conflict handling, protected entries, opaque tombstones, reset/forget behavior, and legacy Context Handoff import.
  • Add the App Operations model contract, persistence, capability validation, provider-health checks, and runtime adapters used by Memory work.
  • Integrate current upstream main, including Project binding and direct-CLI/session changes.

Why

WePrompt desktop Memory needs an AionCore-owned backend for durable conversation and work context. The desktop client must consume this API instead of maintaining a competing local memory store or selecting its own writer model.

Impact

  • Adds database migrations 030 through 034; upstream retains ownership of 028 and 029.
  • Adds the aionui-memory crate and Memory API types.
  • Integrates Memory capture and recall with conversation completion and lifecycle operations.
  • Uses the authoritative Project binding for same-project-first Memory scope, with legacy metadata fallback.
  • Preserves User Context as a separate product concept.
  • Keeps Memory writes silent by default while exposing explicit settings, library, retry, clear, and forget controls to clients.
  • Makes legacy import pagination stable under concurrent message activity by using immutable conversation import sequences.

Validation

Executed through the repository-mandated just push -u fork feat/app-operations-model gate:

  • Migration immutability check: passed.
  • Strict Rust checks, formatting, and linting: passed.
  • Nextest: 7,769 passed (1 reported leaky), 18 skipped across 192 binaries.
  • Focused App integration: 77 passed.
  • Focused Memory crate: 102 passed.
  • Database library: 341 passed.
  • Independent pre-merge review: Ready to merge, no Critical/Important/Minor findings.
  • Branch pushed at commit a02c027bc68fb4149fcec3d323acdd13c480bce4.

Review notes

  • Upstream main at 2addb762 is integrated in merge commit eca0db81.
  • Conflict resolution preserves both upstream Project/direct-CLI behavior and Memory/App Operations contracts.
  • Feature migration numbers were moved to 030-034 to avoid conflicting with upstream 028-029.
  • The PR remains draft for maintainer review.
  • After upstream integration, WePrompt still needs an immutable AionCore build or release containing this branch head (or its integrated equivalent) before packaged desktop builds can consume Memory.

LAP16603 added 30 commits July 22, 2026 16:23
LAP16603 added 28 commits July 23, 2026 09:13
@minhtq1234
minhtq1234 marked this pull request as ready for review July 29, 2026 05:41
@minhtq1234

Copy link
Copy Markdown
Author

Hi @maintainer, could you please review and merge PR #712?
The conflicts with current main are resolved, and the full validation suite passed: 7,769 tests.
After merging, could you run the AionCore 🔨 Manual Build workflow with platform all and send me the numeric GitHub Actions run ID? We need that artifact to verify our desktop Memory integration. Thank you!

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.

1 participant