Skip to content

Add a 'retracted preference' case to 02-memory-reconciliation #2

Description

@josharsh

Example 02-memory-reconciliation has three cases: permanent-correction, temporary-exception, and unclear-referent. All of them either replace, scope, or ignore a preference. None of them retracts one.

Add a case where the incoming message withdraws the stored preference without giving a new one, for example:

Stored: "I prefer TypeScript for personal projects."
Incoming: "Forget what I said about TypeScript. I don't have a language preference any more."

The interesting question: the relationship choice has four options (correction, exception, duplicate, unrelated). A retraction is arguably a correction, but the current policy at example.mjs#L15 maps correction to a replacement action. Decide whether the intended outcome is "propose replacement with an empty preference", a new action such as propose-removal, or something else, and write the note explaining why. Changing the policy is fine if the case needs it, but keep the existing three cases passing.

Done when

  • New entry in cases.mjs with id, note, state, an authored fixture (mark the probabilities as illustrative, like the existing ones), and expected.
  • npm run check passes and the regenerated example README lists the new case.

How to work on this

  1. Fork, then git clone and run npm run check (Node 20.17+, no install step, no API key needed).
  2. Make the change, run npm run check and npm run docs (CI fails if a generated example README is stale).
  3. Open one focused PR. Say what you verified, and mention any substantial AI assistance (see CONTRIBUTING.md).

Comment here if you want to take it, and ask anything that is unclear.

Activity

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

    Type

    No type

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions