<!-- task=m-iop-owned-single-request-agent-execution/25+23,24_claude_smoke_qualification plan=34 tag=REVIEW_API milestone-task=workspace-binding,claude-smoke -->

# Require initial Work execution and admit repairable missing-file results

## For the Implementing Agent

Resolve R34 and R35 together. Preserve every prior finalized guard and do not retry a live call. Make Work require at least one real workspace operation before it may complete, and let Plan/Work/Review consume only the exact model-visible `not_found` result that the service already delivers so a missing artifact can be repaired. Run all local and isolated dev gates before exactly one `sole-live-17`.

## Archive Evidence Snapshot

- Prior pair: `plan_cloud_G10_33.log` / `code_review_cloud_G10_33.log`; verdict `FAIL`, R34/R35, `review_rework_count=32`, `evidence_integrity_failure=false`.
- `sole-live-16.rc-69`: Plan success, Work success without tools, Review missing-file read followed by `internal_tool_failed`, cleanup success, one terminal error, no result/manifest, and no retry.
- Canonical Work returned schema-valid JSON that falsely claimed a write and verification. The real Review correctly detected the absent result and received typed `status=error,error_code=not_found` from Node.

## Scope

- Modify Work request construction/tests, the shared single-request quality gate/tests, Review coordinator integration tests, and review evidence only.
- Keep service wire delivery, tool schemas, workspace authority, structured completion schema, strict decoders, budgets, canonical dev, providers, configs, routes, and credentials unchanged.
- Initial Work `tool_choice` is server-owned `required`; only a resumed call containing a prior tool call/result may use `auto`.
- The quality gate admits exactly `success` with no error code or `error/not_found`; every other status/error combination remains fail-closed.

## Implementation Checklist

- [x] Emit `tool_choice=required` on initial Work and `auto` after a valid tool cycle; retain option override/alias rejection.
- [x] Add exact initial/resumed Work body tests and preserve structured output/tool coexistence coverage.
- [x] Fingerprint exact typed `not_found` as a model-visible tool result while preserving repetition detection and all other terminal mappings.
- [x] Add quality-gate matrix tests plus real Review coordinator missing-read -> repair-write -> verification-read -> pass coverage.
- [x] Run fresh local formatting, focused/package/race/Edge/build and harness self-test gates.
- [x] Sync only reviewed Go sources/tests to the isolated dev source, rebuild/restart only disposable Edge, refresh identities, and pass provider-free gates.
- [x] Execute/finalize exactly one `sole-live-17` and validate full S12 success evidence or a closed failure, with no retry.
- [x] Fill every implementation-owned review section.

## Final Verification

1. Format all changed Go files.
2. Run focused Work/quality/Review coordinator tests, the OpenAI package, focused race, all Edge tests, and Edge build.
3. Run the unchanged Claude smoke harness self-test locally and remotely.
4. Repeat relevant Go gates on the isolated dev source, build Darwin arm64 Edge, refresh exact worktree/binary/runtime evidence, and restart only disposable Edge.
5. Require sixteen finalized guards, zero started guards, no active result/manifest, healthy identities/catalog/count-token/preflight, and zero provider activity.
6. Run one `sole-live-17`; PASS requires ingress 1, Gemini -> ornith-fast -> Gemini, exact newline-terminated file, verifier success, cleanup, one successful terminal, and schema-valid redacted manifest.
