Repository navigation
feat(memory): "where were we" for one of a product's end users (PRD-274 Wave 3, §5.7) - #1490
Merged
Merged
Conversation
…74 Wave 3, §5.7)
GET /api/memory/end-users/{id}/resume (knowledge:read for a member,
memory:read for a server key) answers the resume payload (PRD-206 S3) for the
end user: their own recent conversations (chats.end_user_id) with each one's
checkpoint and next step, and the decisions and open loops in their facts and
the workspace's, read as them (end_user:{id}). The workspace's are read as the
other end-user routes read them; no other end user's conversation or fact is
read. 404 for an unknown end user, 409 for one being erased.
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Signed-off-by: Dave Arthur <davidarthur@hotmail.com>
There was a problem hiding this comment.
If your organization's extra usage balance is empty, an organization admin can add extra usage credits at claude.ai/admin-settings/usage. If its monthly spend limit was reached, an admin can raise it on the same page. If neither applies, contact Anthropic support.
Once extra usage is available, someone with write access to this repository can comment @claude review on this pull request to trigger a review.
Contributor
Pre-merge checks:
|
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
What and why
PRD-274 §5.7, "where were we", for one of a product's end users. Decision 16 kept resume person-only "until Wave 3, when a key's end users have their own scope", and that scope is now in (#1484–#1487). This is the first of two stacked PRs that close off Wave 3:
GET /api/memory/end-users/{end_user_id}/resume(knowledge:readfor a member,memory:readfor a server key) answers the resume payload for that end user, the same shape asGET /api/memory/resume(PRD-206 S3). It contains:chats.end_user_id, feat(chat): a server key's chat turn for one of its end users (PRD-274 Wave 3) #1486), each with its checkpoint, plus the next steps the checkpoints name;end_user:{id}):_readable): nothing private to a person and, for a key, nothing an audience limits;mem:{ws}alone.It answers 404 for an unknown end user and 409 for one being erased (#1487).
build_end_user_resume_payloadsits besidebuild_resume_payloadinmodules/memory/resume_context.pyand reuses its pure assembly. Its thread query runs off the event loop.How it was verified
tests/test_afp_w3_end_user_resume.py(2 tests; real database, real keys, stand-in memory service):test_the_routes_carry_the_gate_and_take_only_a_clean_end_user_id(feat(memory): a product's end users, scoped by workspace, with consent and erase (PRD-274 Wave 3) #1479) now includes this route with its gate.With
api/end_user_memory.pyandresume_context.pyback atmain, all three fail.Every test file touching resume or end users passes: 103 files, 1,801 tests.
The code shape check has no errors, and
lint-importsand ruff are clean. The route manifest is regenerated; the only change is this route.Tests added or updated, and they fail without this change
CI green (a lane marked non-required counts too)
Both editions considered: local (
AUTH_EDITION=local) and hosted (the same code; with no durable store, their facts are empty)UI change: screenshots below (none)
AI assistance
Checklist (AGENTS.md)
git commit -s)orchestrator/config.py; no hardcoded valuesV2copies)create_all-built database, head pins moved (none)orchestrator/reports/route-manifest.json(regenerated; the frontend doesn't call it)🤖 Generated with Claude Code