Uh oh!
There was an error while loading. Please reload this page.
feat(twister): per-focus memory and status-brief surface on the Plot tool - #373
Merged
Conversation
…tool Adds three methods to the Plot tool, all requiring `FocusAccess.Full`: - `getMemory(focusId)` returns a focus's agent memory — the short facts Plot has been told about that focus. Entries whose date is long past are excluded; a recently overdue entry is still returned, since an objective past its date may simply be unfinished. Undated entries never expire. - `setMemory(focusId, entries)` replaces that memory. It is a whole-list rewrite rather than an append, so a twist reads the current memory, merges in the new fact, drops anything it supersedes, and writes the result. Dates are absolute `YYYY-MM-DD`, so relative wording is resolved before writing. - `getBriefs()` returns the current status brief for each of the owner's non-archived focuses: a headline, labelled supporting bullets, and whether the focus is quiet. The accompanying `FocusMemoryEntry` and `FocusBrief` types are exported alongside the existing Plot tool types.
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 freeto 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.
Adds three methods to the
Plottool, all gated onFocusAccess.Full:getMemory(focusId)— reads a focus's agent memory: short entries a twist records about what the user is trying to achieve, each with optional absolute date (YYYY-MM-DD). Entries whose date is long past are excluded; a recently overdue entry is still returned, since an objective past its date may simply be unfinished. Undated entries never expire.setMemory(focusId, entries)— whole-list rewrite: read the current memory, merge the new fact, drop superseded entries, write the complete result. Dates must be absolute; the platform prunes expired entries, caps list size, and may shorten very long entry text.getBriefs()— the current status brief for each of the user's non-archived focuses: an optional headline, labelled supporting bullets (needs_you/new/next), a quiet flag, and a generation timestamp.Together these let a conversational twist maintain standing context per focus and ground its replies in the same status summary the user sees.
Changeset:
@plotday/twisterminor.🤖 Generated with Claude Code