Skip to content

session: 'always … in this repo' is remembered instead of offered as a standing order — two tools both claim a preference #1644

Closed as not planned

Description

@AbirAbbas

What happened

Telling the chat a standing rule for a repository, for example "Always write Go doc comments in full sentences in this repo.", is saved as a memory (remembered · …), and no standing card is offered. The manual (standing orders) says a rule, convention or preference with no moment in it becomes a hold standing order that rides into every conversation and task. Found while checking #1545's rows against dev b267d3900.

Replication

Field (real model). In a project, send the sentence above with any cheap model (e.g. deepseek/deepseek-v4-flash). Today the screen shows remembered · … and /standing stays empty. It takes a few seconds and costs cents.

Where

Two tool descriptions both claim the same sentence:

  • rememberDescription in internal/session/memory.go says it is for "a preference the person stated";
  • the stand tool in internal/session/tools_standing.go says hold is "the kind for a rule, a convention or a preference".

The model picks remember.

The fix

The two descriptions divide the space in the product's own words. A sentence that should shape future work in a place ("always … in this repo") goes to stand as a hold order and is offered as a card. remember keeps facts about the person that no place owns.

Acceptance

  • e2e: with a scripted model reading both descriptions, the sentence above produces a standing card, not a remembered line. A second case, "I prefer tabs", is still remembered.
  • The manual's standing page and the memory page each name the other road in one sentence.

Activity

  1. added
    bugSomething the code does that it should not
    area:sessionThe engine — turns, tasks, the toolbelt, checkpoints
    on Sep 28, 2026
  2. santoshkumarradha commented on Oct 23, 2026

    @santoshkumarradha
    Member

    Audited against current dev (39fdbea6f73c).

    The requested routing decision was superseded by #1831 (966e2a788b11): repository rules intentionally became memories, rather than stand/hold orders. The retired stand tool and internal/standing no longer exist. Current explicit rule storage and scoped worker/checker propagation are covered by merged #1906. Closing this old request as obsolete, not claiming that every memory-related bug is resolved.

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:sessionThe engine — turns, tasks, the toolbelt, checkpointsbugSomething the code does that it should notsev:seriousWrong or missing behaviour a person meets in ordinary use

    Type

    No type

    Projects

    No projects

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions