Skip to content

feat(storage): activate Postgres profiles with async agent persistence - #185

Draft
Yuge Zhang (ultmaster) wants to merge 2 commits into
microsoft:feat/multi-backend-storage-phase-6-foundationfrom
ultmaster:feat/multi-backend-storage-phase-6
Draft

Yuge Zhang (ultmaster) wants to merge 2 commits into
microsoft:feat/multi-backend-storage-phase-6-foundationfrom
ultmaster:feat/multi-backend-storage-phase-6

Conversation

@ultmaster

Copy link
Copy Markdown
Collaborator

Migrates Agenetes thread, event, and turn persistence to async operations and activates Postgres across the application. With the adapter foundation in #184, all six structured/blob backend pairings become selectable, including Postgres with Azure Blob.

This is 2 of 2 stacked PRs, based on #184's foundation branch. Its diff contains the async persistence migration, Postgres conversation stores, application activation, product coverage, and final Phase 6 documentation. Merge #184 first, then retarget/rebase this PR onto main before merging it. The base branch in microsoft/Huabu mirrors the foundation PR head; both PR heads remain on the fork.

Persistence completes before notifications are emitted. Queued reports and shutdown await writes, and the event-tail fence handles concurrent persistence. Native Postgres conversation tables support the agent runtime; application callers now await persistence throughout. Configuration and the existing proposal document the supported profiles, capabilities, and remaining work.

Validation:

  • Fresh workspace typechecks passed after rebuilding Agenetes with its async API.
  • pnpm test:storage-backends: all 265 checks passed against disposable PostgreSQL and Azurite, including conversation and product coverage.
  • The complete implementation previously passed workspace tests (including 1,404 server tests and 106 Agenetes tests), lint, formatting, builds, and repository checks. Splitting the commits changes only proposal wording and the backend runner's status message; runtime code is unchanged.
  • The foundation was also verified independently with its full workspace tests and 121 backend checks.

Azure validation uses Azurite; live-account validation and multi-Server coordination remain outside this change.

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