D296 - Automatic fixes are data, and writes need a conformance check

Status: decided Date: 2026-08-26

A fix the loop proposes is a policy entry, from a rule or from a model, never Rust; Rust is reserved for real logic and reviewed by a person. A trial that changes only a return value may be kept on FURTHER; one that writes guest memory needs a conformance check. Learned entries live in learned.toml beside config.toml and lose to anything the config states.

Why: a data entry is one line, reverts by deletion and needs no rebuild, which is what lets it run unattended. FURTHER shows the guest got past something, not that the behaviour is right, and a wrong memory write corrupts state that surfaces elsewhere. A separate file keeps the loop's guesses apart from a person's decisions, and deleting it is a complete undo.

Rejected: