# E-029 — Operational feedback revealed ambiguous remedies before and after editing

## Context and hierarchy

- Date: 2026-08-03.
- Main objective: for Objective Guard to reduce detectable drift without hiding uncertainty.
- Phase objective: test the protocol in `fyso_backend` via `init → start → adopt-baseline → anchor-plan`.
- Round affected: preparing a `feature` task before editing production.

## Observed trajectory

Real usage found six friction points. `adopt-baseline` rejected an already-matching baseline and mistakenly suggested `next-round`; `anchor-plan` reported that `next-round` had failed; the minimum plan schema and versioning convention were missing. In a session with contracts from two repositories, the gate correctly blocked the repo with a missing baseline, but did not identify which one it was. Finally, a feature round without criterion checks honestly reached `unknown`, even though the tests had been run manually: the problem surfaced too late.

## Expected and actual behavior

Expected: a guard should explain the exact state and the possible remedy at the point where the agent can act. Actual: the signals were correct or conservative, but several messages pointed to a different command, an implicit root, or an action that was no longer possible after starting.

## Adopted correction

- `adopt-baseline` is a successful no-op when the baseline already matches; a mismatch receives a different diagnostic.
- Dirty-tree errors name the invoked command.
- `plan-template` and the README expose the schema and the convention: versioned contract/plan, local and ignored `.oguard/`.
- The gate includes the contract root, baseline, and phase in the denial.
- `start`, `task-flow`, and `round-end` warn that a feature without declared checks cannot prove obligations. Retroactive evidence is not implemented: it would mutate a frozen contract and repeat the E-003 risk.

## Classification and limit

This is an organic usability and protocol signal, not evidence that a semantic detector has detected a code contradiction. The guard already preserved uncertainty (`unknown`); this fix surfaces that limit earlier and makes it actionable.

## Impact on the thesis and follow-up

Effectiveness does not depend solely on measuring well; a signal that arrives with an ambiguous remedy has low intervention capacity. Measure in future telemetry how many denials include baseline/root and how many feature rounds open without criteria, without yet interpreting those metrics as causality.
