# E-020 — A pin fix exposed a shim change outside the declared round

- Date: 2026-08-03
- Status: confirmed organic scope signal; change separation adopted by the agent.

## Objective hierarchy

- Main objective: detect deterministic drift with an early, traceable signal.
- Project objective: ETP-4708, reduce `DetailView` churn and preserve its tests when moving assertions.
- Round objective: fix the source-pin tests of PR #992 within `tools/app-shell/src/components/contract-ui/**`.

## Observed trajectory

During the fix work, the schema-forge tree contained six tests under `contract-ui`, all within the declared KR, plus `tools/app-shell/src/__tests__/coreShimSurface.vitest.js`. The latter file had emerged from fixing the pin, but was not included among the round's expected paths.

The close at 2026-08-03T14:43:02Z measured seven files, 110 lines of churn, and a KR contribution of `6/7 = 0.857`. It declared `outside_scope_files = [coreShimSurface.vitest.js]`, `outside_scope_ratio = 0.143`, and `declared_deviation = true`.

## Guard behavior and correction

That round's policy was `goal_substitution: observe`; the event therefore preserved the deviation but did not emit a blocking warning. Objective Guard did not decide whether the shim test was correct or whether it should be discarded. The agent working on schema-forge interpreted the signal as a mix of two changes and decided to separate the pin fix and the contract-ui repair into distinct logical commits.

The signal preceded the separation declared by the agent, but does not by itself prove that the guard caused the decision: there was no placebo condition or counterfactual.

## Evidence

- schema-forge's `.oguard/log/events.jsonl`: `round-end` event at 14:43:02Z with the out-of-scope file and ratio 0.857.
- schema-forge's `oguard.contract.json`: original scope limited to `contract-ui` and manifests.
- Agent's textual record: the pin fix exposed the shim and proposed committing it separately.

## Impact on the thesis

This is a first organic case of alignment value: the instrument made visible a boundary that the diff was blurring. It is not a true positive from the lexical detectors, does not prove the shim's functional correctness, and does not measure token or time savings. It does support that scope contracts can offer a useful review pause in real tasks.

## Follow-up

For a comparable future round, use a `warn` policy when a material file falls outside scope, and explicitly label whether the agent separated, justified, or rejected it. Accumulate cases before attributing effectiveness.
