Harden emergent memory and plot continuity - #16
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.
Summary
This hardens long-running CoC campaigns across four confirmed defect classes.
event:<id>actor-memory references through Core branch, participant, knowledge-disclosure, and audience policy, even when the event is older than the 200-event recent window and the lexical query is blank.59173c2fe3b80637a0890062dff381b38aa325fe. This includes the search-offset contract first merged atc53cb8a419929c1c6ef18306bbd275efe636c270and the bounded exact actor-event read used here.Root cause and approach
The CoC search facades previously materialized only the first 100 Core-ranked results and paged that truncated list locally. Actor memory similarly combined only 200 recent events with non-blank lexical matches, so a durable exact reference could disappear. Plot replacement validated shape but not historical monotonicity, and progress evidence was syntactically valid without being attested against branch authority.
The adapters now forward bounded pagination and exact-event reads to Core, deduplicate authority records by stable id, and leave ranking/visibility decisions at the appropriate Core or CoC selector boundary. Plot validation and evidence attestation are enforced before state replacement.
Verification
Final verification against canonical Core
59173c2fe3b80637a0890062dff381b38aa325fe:uv sync --frozen --all-packages --all-extrasgit diff --check, JSON/YAML parsing, Python compilation, tracked Markdown link validation, and credential-pattern scan: passedThe repository-wide audit also ran the unchanged UI lane: 4 tests passed, Astro check reported no errors/warnings/hints, and the production build generated four pages.
Limitations