Resolve bounded old actor event references - #20
Merged
Conversation
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.
Problem
Actor-centric memory projections only had recent-window and query search reads. With an empty query, a durable current_refs entry pointing to an authorized event older than the first 200 records could not be recalled, even though its stable ID was known. Reading tables directly in a domain MCP would duplicate branch, participant, ActorKnowledge-source, disclosure, and audience authority.
Solution
Add EventService.list_for_actor_event_ids, a bounded exact-reference read for 1..128 event IDs. It reuses the existing actor event authority filters, branch-visible event set, player audience projection, and participant materialization. Document the method as the supported path for durable event refs.
Verification
Compatibility
The new method is additive. Existing recent and search reads are unchanged; callers opt in only when they already hold stable event IDs.