ARIA: filter sa_moltbook sub-agent run summaries from commitment extraction#350
Open
holoduke wants to merge 2 commits into
Open
ARIA: filter sa_moltbook sub-agent run summaries from commitment extraction#350holoduke wants to merge 2 commits into
holoduke wants to merge 2 commits into
Conversation
Drift audit 2026-05-20 flagged that the "Active threads" section of the working-memory prompt was being polluted by promotional/automated streams (currently the AutoScout24 "Nieuwe matches voor je Zoekopdracht" newsletter was the *only* active thread shown). Real signal-to-noise on that section had dropped to 0%. Defense in depth: - working-memory.ts: introduce isNewsletterParticipant() and reject new threads whose sender/chat matches noreply / no-reply / notifications. / newsletter / savedsearches / mailings. / updates@ / bounce, or known one-way notification domains (autoscout24, schoolkassa, rdw, anwb notifications). Also sweep any pre-existing newsletter threads on every update tick — fixes the currently-stuck AutoScout24 entry. - brain-prompt.ts: filter active threads at render time using the same helper, so even if a newsletter slips past the write-time guard via another path, the prompt stays clean. Intent-summary: Newsletter and automation senders were being promoted to "active conversation threads" in the working-memory prompt, crowding out real conversations Gillis is in. Intent-tokens: newsletter, noise, active-threads, prompt-pollution, working-memory, automation-sender, filter Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
…agent run summaries The reflect-tick commitment-review surface was mining intra-run scratch text from sa_moltbook sub-agent run summaries/details (e.g. "I'll reply to the 6 highest-signal comments", "let me write a helper that handles verification") and surfacing them as personal commitments needing follow-through. Those phrases were sub-agent self-narration about actions it already executed within that same run — not promises to a human channel. Fix in buildCommitmentsBlock (backend/brain-prompt.ts): the Moltbook activity coming from getRecentMoltbookActivity() is sourced entirely from sub-agent run summary/details fields, so stop running extractAndClassifyCommitments() over it. Still show the activity for context, but explicitly label the section as "already executed, NOT personal commitments" and add an action-line note telling reflect not to treat those phrases as promises. extractAndClassifyCommitments() is still applied to recentOutgoingActivity (whatsapp DMs, email, brain messages to human channels), where the audience is actually a human and commitment language is meaningful. Intent-summary: phantom commitments were being surfaced from sub-agent intra-run narrative text because the commitment extractor did not distinguish sub-agent task transcripts from real human-channel messages. Intent-tokens: subagent, commitment, attribution, phantom, moltbook, transcript, narration Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
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
Today's reflect-tick surfaced two phantom commitments from a sa_moltbook run:
These are intra-run scratch text from the sub-agent's own run summary/details fields. The sub-agent either already completed those actions inside that same run or moved on — they were never promises made to a human channel.
Surfacing them on the COMMITMENT REVIEW block pollutes the noise floor and pushes ARIA toward creating goals that have no real-world referent.
Root cause
getRecentMoltbookActivity()inbackend/brain-ticks.tssourcesrecentMoltbookActivityentirely fromrun.details || run.summaryof the sa_moltbook sub-agent — i.e. sub-agent self-narration about its own run, not the actual public Moltbook post bodies.buildCommitmentsBlock()inbackend/brain-prompt.tsthen ranextractAndClassifyCommitments()over those transcripts indiscriminately, treating "I'll reply to X" as if it were a promise made by ARIA to a human.Fix
extractAndClassifyCommitments()onrecentMoltbookActivitysince the entire source is sub-agent task transcripts (already-executed intra-run narrative).recentOutgoingActivity(whatsapp DMs, email, brain messages to human channels) still runs through the extractor — that's where commitment language has a real audience.Verification
npx tsc --noEmitpasses.Memory context
n_subagentcomm01(insight, 2026-05-23): the very observation that triggered this fix.🤖 Generated with Claude Code