I Ate Fish Once. That Wasn't a Preference.
One fish dinner became a standing preference. Derived memories need their sources and review state to survive into later requests.

I had fish at dinner once. An overnight job in Guardian, my personal memory system, turned that dinner into a standing preference.
I ate the dinner. The preference was a guess.
Guardian saves things from my interactions and puts them into later model requests. One bad guess can keep showing up. “Ate fish at this dinner” records an event. “Prefers fish” can shape the next meal plan as though I said something I never said.
I want it to keep what I said separate from what it guessed. Guardian keeps the source with each fact. It marks something I said differently from a conclusion the system made, and it keeps the memories used to make that conclusion.
For the fish preference, the trail leads to one dinner. It doesn't lead to a statement that I want fish regularly.
The system has to keep that source label attached. If the code strips it away, the next model sees “prefers fish” as a fact.
I only let Guardian's overnight job create derived records. It can't write its conclusion into the category reserved for things I stated, and it can't overwrite a stated fact. New derived records begin as pending and stay out of later model requests until they are reviewed.
The system can still make a bad guess. It just doesn't get to use that guess as evidence about me before somebody has looked at it.
I have found that a pending label isn't enough to review the guess. If I have to search an entire conversation to understand each proposal, I end up doing the review from scratch.
For this case, I'd want the proposed preference, the dinner that produced it, its derived origin, any existing facts it duplicates or contradicts, and the available decisions in one place. Approval would allow the reviewed wording into later requests. Rejection would keep it out while retaining the proposal and its history.
I'm describing the review screen I want here. Guardian doesn't have that card today. The original interaction still matters because an excerpt can omit why the meal happened.
Correction needs equal care. Changing the proposal to “ate fish at this dinner” doesn't justify leaving “prefers fish” available beside it. The wording and the review state both have to match the decision.
I'd test this with a harmless invented preference. Leave it pending, reject it, and inspect the memories included in a later model request. Neither pending nor rejected should supply the preference as a usable fact. Approving a separate test record should make only the reviewed wording available.
After I reject the fish preference, I'll inspect the next model request. Fish shouldn't be there because Guardian guessed that I wanted it.
Source: PROV-DM: The PROV Data Model: W3C.