Skip to content

Slice: turn-annotation for out-of-band Memory worktree changes #329

Closed

Description

@DoodleBears

Parent

#324

What to build

As a Human who edits Memory files on disk between turns, I want the bot's next turn to state what changed, so that it acts on current files instead of silently stale ones. As a Human switching Memory branches, I want no extra noise, since the switch tool result already says it. As a Human editing PERSONA.md, I want the note to say the session keeps its frozen voice.

Acceptance criteria

  • A human on-disk edit (staged, unstaged, untracked, or committed) between turns appears as a bounded path list appended to the next turn message: branch line plus committed names plus worktree additions, capped, never bodies.
  • A branch switch adds no annotation.
  • A PERSONA.md change carries the frozen-precedence half-sentence without detail.
  • The system prompt prefix bytes are unchanged by the annotation path.
  • The annotation never wakes, never enters the Inbox, never duplicates a tool result.

Blocked by

None (can start immediately).

Activity

  1. added
    ready-for-agentFully specified, ready for an AFK agent
    area:backendHost-side implementation
    feature:memoryPersonaBot Memory Repository and Memory Service
    scope:tracerHuman-testable implementation slice
    on Sep 26, 2026
  2. DoodleBears commented on Sep 26, 2026

    @DoodleBears
    ContributorAuthor

    Agent work claim

    • Agent: opencode (interactive session, not a DSH Session)
    • Task: opencode/local/2026-09-26-memory-slices
    • Issue scope: turn-annotation core (prepare observation + next-turn append)
    • Worktree: current checkout, uncommitted, no PR yet
    • Started: 2026-09-26
    • State: active
  3. added
    agent:activeOne or more coding-agent tasks currently claim this issue; see claim comments for task IDs
    on Sep 26, 2026
  4. DoodleBears commented on Sep 26, 2026

    @DoodleBears
    ContributorAuthor

    Agent work outcome

    • Agent: opencode (interactive session) · Task: opencode/local/2026-09-26-memory-slices
    • State: completed (implementation done, uncommitted, no PR - merge decision left to Human)
    • Delivered: prepareTurn stages a take-once turn-annotation (porcelain + diff stat, full diff under ~2KB, PERSONA.md frozen half-sentence, branch notes); baseline refreshes at reconcile/abort end; takeTurnAnnotation consumed into the turn message in #runOrchestratorTurn. No prefix/event/inbox changes per ADR-0060.
    • Verification: 6 new service tests + 1 runtime end-to-end test green; typecheck/lint clean; full core suite shows only the 23 pre-existing environment failures (verified identical on pristine 0f504e1 baseline worktree, then removed).
    • Remaining: review, PR, and the prepare-signature follow-ups (if any).
  5. removed
    agent:activeOne or more coding-agent tasks currently claim this issue; see claim comments for task IDs
    on Sep 26, 2026
  6. DoodleBears commented on Sep 26, 2026

    @DoodleBears
    ContributorAuthor

    Live verification (isolated 0.1.7-rc.2 Host, deepseek-flash, 9 DM turns)

    Silent plant: NOTE.md written on disk, human question never named it. Next turn reported it with branch/HEAD context:

    annotation evidence

    Verdict: PASS. sawCodeWord=true; branch switches stay quiet (tool result covers them); first turn stays silent. Full text in timeline, code word quoted verbatim.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    area:backendHost-side implementationfeature:memoryPersonaBot Memory Repository and Memory Serviceready-for-agentFully specified, ready for an AFK agentscope:tracerHuman-testable implementation slice

    Type

    No type

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions