<!-- task=m-iop-agent-cli-runtime plan=10 tag=REVIEW_REVIEW_REVIEW_REVIEW_REVIEW_REVIEW_REVIEW_REVIEW_REVIEW_REVIEW_API -->

# Plan - Restore exact write-claim wording within a declared follow-up

## For the Implementing Agent

Filling the implementation-owned sections in `CODE_REVIEW-*-G??.md` is mandatory. Implement the checklist, run every verification command, paste actual notes and stdout/stderr into the active review file, leave the active Plan/Review files in place, and report ready for review. Final verdicts, log renames, `complete.log`, and archive moves belong only to the code-review skill. If blocked, record only the exact blocker, attempted commands/output, and resume condition in implementation-owned evidence fields. Do not ask the user, call user-input tools, create control-plane stop files, classify the next state, archive logs, or write `complete.log`.

## Background

The tenth review confirmed that unconditional semicolon rejection and the complete safe S10/S13 verification matrix pass. It failed because the implementation changed two Agent-Ops common skills outside the active PLAN write set, and one punctuation replacement made the code-review write-claim rule grammatically ambiguous. This follow-up adopts the already-correct semicolon-free plan-skill wording as read-only carryover and repairs only the malformed code-review sentence under an exact declared write set.

## Archive Evidence Snapshot

- `agent-task/m-iop-agent-cli-runtime/plan_cloud_G04_9.log` and `agent-task/m-iop-agent-cli-runtime/code_review_cloud_G04_9.log`: tenth loop, FAIL with 1 Required, 0 Suggested, and 0 Nit findings.
- Remaining Required finding: the prior PLAN excluded Agent-Ops common skill edits and omitted them from `Modified Files Summary`, but both common skills changed. `agent-ops/skills/common/code-review/SKILL.md:236` also lost the sentence boundary that clearly marks globs, directories, the workspace root, URLs, outside-workspace paths, malformed paths, and placeholders as invalid.
- Fresh reviewer evidence: the focused ownership suite, safe full `apps/agent/...` suite with only `TestBuiltBinaryHeadlessS10Transcript` skipped, race suite, vet, current-host build, Darwin arm64 cross-build, logged-smoke preflight, ownership search, and `git diff --check` passed. No product `iop-agent` binary or real provider CLI was executed.
- Roadmap carryover: `cli-surface` remains the only unchecked Milestone Task and requires SDD S10 headless evidence plus `Roadmap Completion` after the supporting S13 ownership guard and S20 exact write-claim boundary pass.

## Roadmap Targets

- Milestone: `agent-roadmap/phase/automation-runtime-bridge/milestones/iop-agent-cli-runtime.md`
- Milestone link: [Milestone document](agent-roadmap/phase/automation-runtime-bridge/milestones/iop-agent-cli-runtime.md)
- Task ids:
  - `cli-surface`: headless binary, split config, Milestone discovery/selection/preview, lifecycle, and per-work overlay/integration/blocker observation
- Completion mode: check-on-pass

## Analysis

### Files Read

- Active loop and fixed archive evidence: `agent-task/m-iop-agent-cli-runtime/PLAN-cloud-G04.md`, `agent-task/m-iop-agent-cli-runtime/CODE_REVIEW-cloud-G04.md`, `agent-task/m-iop-agent-cli-runtime/plan_cloud_G04_8.log`, and `agent-task/m-iop-agent-cli-runtime/code_review_cloud_G04_8.log`.
- Changed workflow documents and test oracle, read in full: `agent-ops/skills/common/code-review/SKILL.md`, `agent-ops/skills/common/plan/SKILL.md`, and `apps/agent/internal/taskloop/cutover_test.go`.
- Planning workflow: `agent-ops/skills/common/router.md`, `agent-ops/skills/common/finalize-task-routing/SKILL.md`, and `agent-ops/skills/common/plan/templates/review-stub-template.md`.
- Contract and design: `agent-contract/index.md`, `agent-contract/inner/iop-agent-cli-runtime.md`, `agent-roadmap/phase/automation-runtime-bridge/milestones/iop-agent-cli-runtime.md`, and `agent-roadmap/sdd/automation-runtime-bridge/iop-agent-cli-runtime/SDD.md`.
- Rules and verification: `agent-ops/rules/project/rules.md`, `agent-ops/rules/project/domain/agent/rules.md`, `agent-ops/rules/project/domain/testing/rules.md`, `agent-ops/rules/common/rules-roadmap.md`, `agent-test/local/rules.md`, and `agent-test/local/testing-smoke.md`.
- Agent spec: `agent-ops/rules/common/rules-agent-spec.md` and `agent-spec/index.md`; no standalone `iop-agent` CLI spec matches this work.

### SDD Criteria

- SDD: `agent-roadmap/sdd/automation-runtime-bridge/iop-agent-cli-runtime/SDD.md`; status `[approved]`, lock released, and no unresolved `USER_REVIEW.md`.
- Primary target: S10 / `cli-surface`; its Evidence Map requires binary plus split-config command integration and a headless operation transcript.
- Supporting boundary: S13 requires zero product Python fallback/callers and exact transitional dispatcher validation declarations. S20 requires an exact PLAN write set and fail-closed handling of undeclared or ambiguous ownership.
- The checklist preserves accepted S10 evidence, retains the unconditional S13 semicolon guard, and declares the only source documentation repair exactly before rerunning the safe closure matrix.

### Verification Context

- Supplied handoff: tenth-review source inspection, current diff, fresh local command output, verdict, and predicted archive identities.
- Local preflight: `/config/workspace/iop-s0`; Go `/config/.local/bin/go`, `go version go1.26.2 linux/arm64`, and `GOROOT=/config/opt/go`; the worktree contains task-owned carryover and unrelated provider-usage task changes.
- Fresh reviewer commands passed: focused parser/ownership tests, safe full Agent tests with only the prohibited compiled-binary test skipped, internal race tests, vet, builds, logged-smoke preflight, deterministic ownership search, and `git diff --check`.
- Preconditions: preserve `strings.ContainsAny(prose, ";><|&")`, the arbitrary-word semicolon regression cases, exact command identities, prior compiled headless transcript evidence, and all product runtime behavior.
- Constraints: change only the declared code-review skill sentence and active review evidence. Keep `agent-ops/skills/common/plan/SKILL.md` read-only because its semicolon-free sentence boundaries are already clear. Do not edit product code, roadmap, SDD, contract, or agent-spec, and do not execute the product `iop-agent` binary or a real provider CLI.
- External Verification Preflight: not applicable. Darwin is a local cross-build, and logged-in macOS/provider execution remains prior S14 evidence.
- Gap and confidence: the remaining defect is one deterministic documentation sentence under the repository ownership guard; confidence is high.

### Test Coverage Gaps

- Existing `TestCutoverProductionOwnershipHasNoReferenceCallerOrStaticRouteTable` proves that the production ownership documents accept only exact declarations and reject semicolons in surrounding prose.
- No new Go test is required for the English sentence repair. A deterministic fixed-string search will assert the complete invalid-path wording, while the existing focused suite proves the semicolon-free ownership boundary.

### Symbol References

None. No code symbol is renamed or removed.

### Split Judgment

Keep one compact plan. The exact write-claim sentence and the ownership guard are one documentation-contract correction with one deterministic PASS matrix.

### Scope Rationale

- Modify only `agent-ops/skills/common/code-review/SKILL.md` and the active review evidence.
- Keep `agent-ops/skills/common/plan/SKILL.md` read-only and verify its already-correct sentence boundaries.
- Exclude `apps/agent/internal/taskloop/cutover_test.go`, product runtime behavior, roadmap, SDD, contract, agent-spec, real provider execution, and product-binary execution.

### Final Routing

- `evaluation_mode=isolated-reassessment`; finalizer `finalize-task-policy.sh`, mode `pair`.
- Build closures: scope/context/verification/evidence/ownership/decision all `true`; grade scores `1/0/1/1/1` = `G04`; base `local-fit`, final `recovery-boundary`, lane `cloud`.
- Review closures: scope/context/verification/evidence/ownership/decision all `true`; grade scores `1/0/1/1/1` = `G04`; route `official-review`, lane `cloud`, adapter `codex`, model `gpt-5.6-sol`, reasoning `xhigh`.
- `large_indivisible_context=false`; positive loop risks: `boundary_contract`, `structured_interpretation` (`loop_risk_count=2`).
- Recovery signals: `review_rework_count=10`, `evidence_integrity_failure=false`; recovery boundary matched.
- Capability gap: none.
- Canonical files: `PLAN-cloud-G04.md`, `CODE_REVIEW-cloud-G04.md`.

## Implementation Checklist

- [ ] [REVIEW_REVIEW_REVIEW_REVIEW_REVIEW_REVIEW_REVIEW_REVIEW_REVIEW_REVIEW_API-1] Restore the semicolon-free sentence boundary and complete invalid-path meaning in the declared code-review skill write-claim rule.
- [ ] [REVIEW_REVIEW_REVIEW_REVIEW_REVIEW_REVIEW_REVIEW_REVIEW_REVIEW_REVIEW_API-2] Run the fresh no-product-binary documentation ownership and S10/S13 closure matrix and record exact output.
- [ ] Fill implementation-owned sections in CODE_REVIEW-*-G??.md with actual implementation notes and verification output.

### [REVIEW_REVIEW_REVIEW_REVIEW_REVIEW_REVIEW_REVIEW_REVIEW_REVIEW_REVIEW_API-1] Restore exact write-claim wording

**Problem**

`agent-ops/skills/common/code-review/SKILL.md:236` currently says that the candidate contains “only exact workspace files, globs, directories...” before ending with “are invalid.” The comma removed to satisfy the unconditional semicolon guard did not preserve the original sentence boundary, so the central write-claim contract is grammatically ambiguous.

**Solution**

- Replace the comma after `exact workspace files` with a period and capitalize `Globs`.
- Preserve the complete invalid set and all exact dispatcher command text.
- Keep the already-correct semicolon-free wording in `agent-ops/skills/common/plan/SKILL.md` unchanged.

Before (`agent-ops/skills/common/code-review/SKILL.md:236`):

```text
The candidate must contain exactly one non-empty `Modified Files Summary` with only exact workspace files, globs, directories, workspace root, URLs, outside-workspace paths, malformed paths, and placeholders are invalid.
```

After:

```text
The candidate must contain exactly one non-empty `Modified Files Summary` with only exact workspace files. Globs, directories, workspace root, URLs, outside-workspace paths, malformed paths, and placeholders are invalid.
```

**Modified Files and Checklist**

- [ ] `agent-ops/skills/common/code-review/SKILL.md`: restore the sentence boundary without reintroducing semicolons.

**Test Strategy**

- Do not add a Go test. The existing ownership test scans the real documents, and a fixed-string search directly proves the full wording.
- Retain all existing accepted and rejected exact-command fixtures unchanged.

**Verification**

```bash
rg --sort path -n -F 'The candidate must contain exactly one non-empty `Modified Files Summary` with only exact workspace files. Globs, directories, workspace root, URLs, outside-workspace paths, malformed paths, and placeholders are invalid.' agent-ops/skills/common/code-review/SKILL.md
rg --sort path -n 'Require exit code `0`[.;,]|only exact workspace files[.;,]' agent-ops/skills/common/plan/SKILL.md agent-ops/skills/common/code-review/SKILL.md
TMPDIR=/var/tmp/i GOTMPDIR=/var/tmp/i GOCACHE=/var/tmp/iop-cli-cutover-final/cache go test -count=1 ./apps/agent/internal/taskloop -run '^(TestClassifyExactValidationDocumentationAcceptsDeclaredForms|TestCutoverProductionOwnershipHasNoReferenceCallerOrStaticRouteTable|TestCutoverProductionOwnershipRejectsNonExactValidationVariants)$'
```

Expected: the exact complete sentence appears once, exact validation-command prose contains no semicolon boundary, and the focused ownership suite passes.

### [REVIEW_REVIEW_REVIEW_REVIEW_REVIEW_REVIEW_REVIEW_REVIEW_REVIEW_REVIEW_API-2] Fresh safe closure verification

**Problem**

The documentation repair participates in the S13 production ownership guard and supports the final `cli-surface` S10 evidence. Final verification must prove the current checkout without executing the product binary or a real provider CLI.

**Solution**

- Run the focused ownership matrix, safe full Agent suite, internal race matrix, static analysis, builds, logged-smoke preflight, and deterministic worktree checks with external caches.
- Preserve prior compiled transcript evidence and do not execute a product binary or real provider CLI.

**Modified Files and Checklist**

- [ ] `agent-task/m-iop-agent-cli-runtime/CODE_REVIEW-cloud-G04.md`: fill implementation evidence and exact command output.

**Test Strategy**

- Use `-count=1` and task-specific external caches. The safe full suite skips exactly `TestBuiltBinaryHeadlessS10Transcript` because official review must not execute the product binary.
- Re-run the internal race suite because a PASS emits final S10 roadmap evidence.

**Verification**

```bash
TMPDIR=/var/tmp/i GOTMPDIR=/var/tmp/i GOCACHE=/var/tmp/iop-cli-cutover-final/cache go test -count=1 -skip '^TestBuiltBinaryHeadlessS10Transcript$' ./apps/agent/...
TMPDIR=/var/tmp/i GOTMPDIR=/var/tmp/i GOCACHE=/var/tmp/iop-cli-cutover-final/race-cache go test -count=1 -race ./apps/agent/internal/taskloop ./apps/agent/internal/command ./apps/agent/internal/bootstrap ./packages/go/agenttask ./packages/go/agentstate
```

Expected: all safe Agent packages and the internal race matrix pass without product-binary or real-provider execution.

## Modified Files Summary

| File | Item |
|------|------|
| `agent-ops/skills/common/code-review/SKILL.md` | REVIEW_REVIEW_REVIEW_REVIEW_REVIEW_REVIEW_REVIEW_REVIEW_REVIEW_REVIEW_API-1 |
| `agent-task/m-iop-agent-cli-runtime/CODE_REVIEW-cloud-G04.md` | REVIEW_REVIEW_REVIEW_REVIEW_REVIEW_REVIEW_REVIEW_REVIEW_REVIEW_REVIEW_API-2 |

## Final Verification

Fresh execution is required. Do not execute the product `iop-agent` binary or a real provider CLI.

```bash
install -d -m 700 /var/tmp/i /var/tmp/iop-cli-cutover-final/cache /var/tmp/iop-cli-cutover-final/race-cache /var/tmp/iop-cli-cutover-final/darwin-cache
rg --sort path -n -F 'The candidate must contain exactly one non-empty `Modified Files Summary` with only exact workspace files. Globs, directories, workspace root, URLs, outside-workspace paths, malformed paths, and placeholders are invalid.' agent-ops/skills/common/code-review/SKILL.md
rg --sort path -n 'Require exit code `0`[.;,]|only exact workspace files[.;,]' agent-ops/skills/common/plan/SKILL.md agent-ops/skills/common/code-review/SKILL.md
```

Expected: temporary directories are ready, the complete code-review rule is exact, and exact-command prose uses semicolon-free sentence boundaries.

```bash
TMPDIR=/var/tmp/i GOTMPDIR=/var/tmp/i GOCACHE=/var/tmp/iop-cli-cutover-final/cache go test -count=1 -v ./apps/agent/internal/taskloop -run '^(TestClassifyExactValidationDocumentationAcceptsDeclaredForms|TestCutoverProductionOwnershipHasNoReferenceCallerOrStaticRouteTable|TestCutoverProductionOwnershipRejectsInjectedPythonCaller|TestCutoverProductionOwnershipRejectsUnexpectedCallerInAllowedDocument|TestCutoverProductionOwnershipRejectsNonExactValidationVariants|TestCutoverProductionOwnershipRejectsMissingDeclaredValidationCommand)$'
TMPDIR=/var/tmp/i GOTMPDIR=/var/tmp/i GOCACHE=/var/tmp/iop-cli-cutover-final/cache go test -count=1 -skip '^TestBuiltBinaryHeadlessS10Transcript$' ./apps/agent/...
TMPDIR=/var/tmp/i GOTMPDIR=/var/tmp/i GOCACHE=/var/tmp/iop-cli-cutover-final/race-cache go test -count=1 -race ./apps/agent/internal/taskloop ./apps/agent/internal/command ./apps/agent/internal/bootstrap ./packages/go/agenttask ./packages/go/agentstate
```

Expected: focused ownership, safe full Agent, and internal race suites pass without executing the product binary.

```bash
TMPDIR=/var/tmp/i GOTMPDIR=/var/tmp/i GOCACHE=/var/tmp/iop-cli-cutover-final/cache go vet ./apps/agent/internal/taskloop ./apps/agent/cmd/agent ./apps/agent/internal/bootstrap ./packages/go/...
TMPDIR=/var/tmp/i GOTMPDIR=/var/tmp/i GOCACHE=/var/tmp/iop-cli-cutover-final/cache make build-agent
TMPDIR=/var/tmp/i GOTMPDIR=/var/tmp/i GOCACHE=/var/tmp/iop-cli-cutover-final/darwin-cache GOOS=darwin GOARCH=arm64 go build -trimpath -o /var/tmp/iop-cli-cutover-final/iop-agent-darwin-arm64 ./apps/agent/cmd/agent
TMPDIR=/var/tmp/i GOTMPDIR=/var/tmp/i GOCACHE=/var/tmp/iop-cli-cutover-final/cache make test-iop-agent-logged-smoke-preflight
```

Expected: vet, current-host build, Darwin arm64 cross-build, and non-provider logged-smoke preflight pass.

```bash
rg --sort path -n '\b(TestCutoverProductionOwnership|TestClassifyExactValidationDocumentationAcceptsDeclaredForms|classifyExactValidationDocumentation|parseMarkdownCodeSpans|validationProse|containsUnsafeValidationProse|dispatch\.py)\b' apps/agent/internal/taskloop/cutover_test.go agent-ops/skills/common/plan/SKILL.md agent-ops/skills/common/code-review/SKILL.md agent-ops/skills/project/orchestrate-agent-task-loop/SKILL.md
git diff --check
git status --short
```

Expected: ownership references are intentional, semicolon validation remains unconditional and test-local, no whitespace errors exist, and only task-owned changes plus unrelated pre-existing worktree changes remain.

After completing all code changes, fill implementation-owned sections in `CODE_REVIEW-*-G??.md`.
