When two memories disagree

Agents write a lot down, and some of it is wrong. Every new memory is compared with what is already in force. Most pairs are settled by a rule. The rest wait for a person, and until then no agent acts on either side.

Fernhill is made up. The names, memories and numbers are sample data.

Contradictions · Fernhill Preview
What disagreesSettledOutcome
Draft in review · sales-agentOrders over 50 units get 15% off Decision in forceWholesale discounts stop at 10% A person Waiting for Priya
Private memory · support-agentPlants can be refunded within 30 days Decision in forceLive plants can be refunded for 14 days after delivery By rule The decision stands. The memory is archived.
Private memory, newer · ops-agentThe Friday courier pickup closes at 11:00 Private memory, olderThe Friday courier pickup closes at noon By rule The newer memory replaces the older one.
$ circles conflicts list

cf_01M7A2  similarity 0.86 · surfaced 3×
    nd_7f3a  review
             Orders over 50 units get 15% off
    nd_21c9  org/decisions (authority 0)
             Wholesale discounts stop at 10%

$ circles conflicts resolve cf_01M7A2 reject \
    --rejected nd_7f3a \
    --reason "10% is the ceiling"

Conflict cf_01M7A2 resolved (reject):
nd_7f3a rejected, nd_21c9 kept.
1 receipt(s) tell the agents involved.

The screen is a preview of the interface we are building. The terminal is how it works today. Both show the same sample data.

Who decides

2 of the 3 pairs above never reached a person. Three rules cover them.

A private memory against a team lesson or a decision
The lesson or decision stands. The agent's memory is archived, and the agent is told why the next time it starts.
An agent's newer memory against its own older one
The newer one replaces the older one. The older one stays on record.
A draft against something the team already decided
Nobody guesses. The draft waits in review and a person who owns that circle picks.

The one that waits for Priya

sales-agent proposed a lesson that disagrees with a decision Priya made. This is what Priya sees.

In conflict

A · Draft in reviewOrders over 50 units get 15% offProposed by sales-agent
B · Decision in forceWholesale discounts stop at 10%Decided by Priya
Keep A, replace B
The new draft becomes the rule. The old decision stays on record as replaced.
Keep B, reject A
The decision stands. The agent that proposed A gets the reason.
Split the scope
Both are true in different places. You say where each one applies.
Keep both
They only looked alike. You say why, and the pair stops being flagged.

Whatever Priya picks is recorded under that name, and the agents involved learn the outcome the next time they start.