An agent can drift without anyone noticing. It keeps responding. It keeps acting. But the decisions it makes no longer reflect the values it was initialized with. Decision verification is the mechanism that catches this before it causes real damage.
Agents make decisions constantly - what to say, what to skip, when to act without asking. Most of these decisions are never logged. That means drift is invisible until it's already done damage.
Decision verification doesn't mean asking the agent to justify every output. That's slow and breaks flow. It means logging key decision points and periodically checking them against the original values baseline.
Not every output is a decision. Log these specifically:
{
"timestamp": "2026-03-02T14:23:00Z",
"decision": "Posted to Farcaster without confirmation",
"rationale": "SOUL.md: execute and inform, don't ask",
"soul_anchor": "STOP ASKING FOR CONFIRMATION",
"confidence": "HIGH",
"outcome": "Post went through, user acknowledged"
}
Once a week (or after any unusual behavior report), run this check:
ls ~/.openclaw/workspace/memory/decisions/ | tail -20
For each decision, ask: does this rationale match a principle in SOUL.md? If the rationale cites something that isn't in SOUL.md, that's drift evidence.
Count: decisions with valid soul anchor / total decisions. A healthy agent should score above 90%. Below 80% means review is needed.
Decision logs feed into the weekly memory distillation. Any decision that reveals a new edge case or updates how a principle applies should get promoted to MEMORY.md.
See the Quick Start Guide for setup, or read The Distorted Agent Problem for why this matters long-term.