Slice 030: Persona (SOUL) + always-on memory tier - #40
Merged
Merged
Conversation
… and the slice opens ROADMAP row 030 to in_progress. NOTES.md records the default SOUL's 464 tokens and the untrusted rule's 85 against the stable tier's 800, sets the volatile tier to the byte budget's 2,731 tokens rounded to 2,800 so the two budgets agree, then the eight-line build plan, the one-item manual queue and four deviations stated before any code. priv/personas/default/SOUL.md written. plan_check: PASS. Signed-off-by: Ayla Croft <aylacroft@proton.me>
…n, Budget and the Consolidator Three tables. Trinity.Personas over the Sessions schema; the default persona seeded from priv/personas/default/SOUL.md with the persona rule that lets the memory tool write, on creation and on a pre-030 row's next read. Trinity.Memory.AlwaysOn: the scope chain (session, persona, global), the deterministic snapshot, add, replace, remove and promote, every write logged. Budget over every scope of a persona; the Consolidator asks the model for a smaller set, applies it under budget with every removal logged under the proposal, holds it pending otherwise. Nine tests. Signed-off-by: Ayla Croft <aylacroft@proton.me>
Trinity.Tools.Memory (risk write, effect artifact): add, replace,
remove, promote, list over the session's chain, the persona's scope
by default and the session's on request; the persona from the
context, never from Sessions. A policy may answer {decision, basis}
and Layered names its layer; the runner carries it into the decision
receipt, so the memory tool's writes read allowed by persona (AC6).
Six tests; the 013 and 020 tests updated for the seeded soul and the
new core tool.
Signed-off-by: Ayla Croft <aylacroft@proton.me>
…receipt; the frozen snapshot in the Session Prompt.build_with_report/5 orders the system prompt stable (soul, tool guidance), context (skills placeholder), volatile (the memory snapshot, the time, the title), then 023's compaction section; each tier cut at its token budget on a line boundary and reported. The Session freezes the snapshot at start, recomputes it on refresh_memory/1, and writes a query receipt naming the tier and the tokens dropped for every cut (Sessions gains the Receipts edge). Tests: the order, the cut and its report, AC1's prompt half, the frozen snapshot through three turns and the receipt, AC4. The 012 purity test takes the time as an input. Signed-off-by: Ayla Croft <aylacroft@proton.me>
…docs/05 and docs/01 as built Signed-off-by: Ayla Croft <aylacroft@proton.me>
… call Signed-off-by: Ayla Croft <aylacroft@proton.me>
PROOF.md with every criterion's evidence by test name against run 35549378616 (gate, postgres and fips green). The manual half of AC5 in proof/: the SOUL edited and saved, entries added, an entry deleted and the page reloaded. NOTES.md: six findings, five follow-ups. ROADMAP row 030 to done; coverage.tsv row 78.40 %. Signed-off-by: Ayla Croft <aylacroft@proton.me>
Signed-off-by: Ayla Croft <aylacroft@proton.me>
Merged
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.
Personas with a SOUL seeded from
priv/personas/default/SOUL.md, a default model and quick settings (thememorytool's rule). The always-on tiers (profile,always_on) as rows with a scope chain (session, persona, global), a change log every write appends to, a byte budget per persona, and a consolidator that asks the model for a smaller set, applies it under budget with every removal logged under the proposal, or holds it for review on the memory page. Thememorytool (add, replace, remove, promote, list) through the membrane, allowed by the persona's rule with the basis named in the decision receipt. The prompt in three tiers with token budgets measured at G1 (stable 800, context 300, volatile 2,800) and a query receipt for every cut; the snapshot frozen in the Session until refresh. Pages:/personas,/personas/:id,/memory, and a persona picker on the index.Also carried: a policy may answer
{decision, basis}(Layered names its layer), andPrompt.build/5takes the time as an input.Manual half of AC5 in
proof/: the SOUL edited and saved; entries added; an entry deleted and the page reloaded. PROOF.md atslices/030-persona-always-on-memory/PROOF.md.Signed-off-by: Ayla Croft aylacroft@proton.me