Adapt
Adapt lets parties co-evolve obligations after baseline lock without
breaking the chain of provenance. Every adaptation is an atom of
kind negotiation with op ranging over propose, agree,
challenge, withdraw, eot_claim, eot_assess, counter_offer,
adaptation_withdrawn.
Lifecycle
- Either party proposes an adaptation
- The counterparty responds: agree, challenge, or counter-offer
- On agree, a supersedes edge is written from the new atom to the
prior atom; the prior is marked superseded
- On challenge, the proposal is recorded but does not supersede;
the parties iterate
Anti-gaming
The detectors in src/lib/anti-gaming/ watch for collusive
patterns: always-agreeing pairs, reciprocal rubber stamps, rapid
fire, statistical outliers. Flags are written to AntiGamingFlag
for admin triage.
Counter-offer flow
src/lib/counter-offer.ts ships proposeRound/decideRound/
getOfferChain. Maximum 3 rounds; round 4 attempts ESCALATE.
Cross links
/docs/engines/enforce: what executes the adapted obligations/docs/concepts/atoms: negotiation atom shape