<!-- task=m-iop-agent-cli-runtime/05_contract_boundary plan=2 tag=REVIEW_API -->

# Code Review Reference - REVIEW_API

> **[IMPLEMENTING AGENT — READ FIRST] Filling in this file is the mandatory final step of implementation.**
> The task is NOT complete until every implementation-owned section below is filled in.
> Complete the `Implementation Checklist`; the final checklist item is mandatory before saving.
> Fill implementation-owned sections, then stop with active files in place and report ready for review.
> If implementation is blocked, record the exact blocker, attempted commands/output, and resume condition only in implementation-owned evidence fields.
> Do not ask the user directly, present choices, call user-input tools, create control-plane stop files, or classify the next state.
> Finalization (`Code Review Result`, log rename, `complete.log`, archive moves, `Review-Only Checklist`) is review-agent-only, even after compaction/resume.
> Follow the ownership table at the bottom of this file for which sections you own.

## Overview

date=2026-07-29
task=m-iop-agent-cli-runtime/05_contract_boundary, plan=2, tag=REVIEW_API

## Archive Evidence Snapshot

- Prior task: `agent-task/m-iop-agent-cli-runtime/05_contract_boundary`
- Archived plan: `agent-task/m-iop-agent-cli-runtime/05_contract_boundary/plan_cloud_G07_1.log`
- Archived review: `agent-task/m-iop-agent-cli-runtime/05_contract_boundary/code_review_cloud_G07_1.log`
- Verdict: `FAIL`
- Findings: 1 Required, 0 Suggested, 0 Nit.
- Required fix: restore the contract-first standalone host schemas and their precedence, identity, versioning, persistence, and failure semantics while preserving `iop.agent-runtime` as the sole owner of shared manager/guardrail/review/integration-port behavior.
- Affected files: `agent-contract/index.md`, `agent-contract/inner/iop-agent-cli-runtime.md`.
- Verification evidence: fresh ownership and local-control searches matched the implementation record; fresh `go test -count=1 ./packages/go/agenttask ./packages/go/agentguard` and `git diff --check` passed. A focused reviewer assertion found `RuntimeConfig`, `ProjectRegistration`, `SelectionPolicy`, `PreviewRequest`, `WorkspaceSnapshot`, `OverlayWorkspace`, `ChangeSet`, `IntegrationRecord`, `ProjectLogRecord`, and `IntegrationStatus` absent from the CLI contract.
- Roadmap carryover: the approved SDD is unlocked. This preparatory contract task does not check a Milestone Task on PASS; it provides contract anchors for later S05-S09/S18-S19 implementations and preserves the completed S11/S15 local-control definition.
- Read the two archived files above only if exact prior-loop wording is required; do not scan `agent-task/archive/**`.

## For the Review Agent

> **[REVIEW AGENT ONLY]** The finalization steps below are review-agent only. Implementing agents must not execute this section.

Compare implementation of each item against source files and verify that output in `Verification Results` matches code.
Review completion means the following steps are finished:

1. Append verdict and `review_rework_count` / `evidence_integrity_failure` routing signals.
2. Archive `CODE_REVIEW-cloud-G07.md` → `code_review_cloud_G07_2.log` and `PLAN-cloud-G07.md` → `plan_cloud_G07_2.log`.
3. If PASS, write `complete.log` and move active task directory to `agent-task/archive/YYYY/MM/m-iop-agent-cli-runtime/05_contract_boundary/`. If WARN/FAIL, fully write the next filesystem state required by the code-review skill.
4. If PASS and task group is `m-<milestone-slug>`, report completion event metadata. Roadmap state check and `update-roadmap` calls are runtime responsibilities.
5. Check applicable `Review-Only Checklist` items at the final `.log` location before reporting.

---

## Implementation Item Completion

| Item | Status |
|------|---------|
| REVIEW_API-1 Restore the standalone host schema boundary | COMPLETE |

## Implementation Checklist

- [x] Restore the SDD-assigned standalone host configuration, preview, durable isolation/change-set, log, and integration-status schema anchors with explicit ownership, revision, persistence, and typed failure semantics.
- [x] Update the contract index read anchors while preserving `iop.agent-runtime` as the sole shared implementation owner and preserving the existing local-control boundary.
- [x] Run deterministic ownership, host-schema, and local-control assertions, the fresh shared-runtime regression tests, and `git diff --check`, then record exact output.
- [x] Fill implementation-owned sections in CODE_REVIEW-*-G??.md with actual implementation notes and verification output.

## Review-Only Checklist

> **[REVIEW AGENT ONLY]** This checklist is used only by the review agent.
> Implementing agents must not modify or check this section.

- [x] Append one verdict of `PASS`, `WARN`, or `FAIL` and verified `review_rework_count`, `evidence_integrity_failure` to `Code Review Result`.
- [x] Verify that verdict, `Dimension Assessment`, and Required/Suggested/Nit classifications match.
- [x] Archive active `CODE_REVIEW-*-G??.md` to `code_review_cloud_G07_2.log`.
- [x] Archive active `PLAN-*-G??.md` to `plan_cloud_G07_2.log`.
- [x] Verify that the Agent-Ops managed block in `.gitignore` unignores `agent-task/**/*.md` and `agent-task/**/*.log` and ignores `agent-roadmap/current.md`.
- [x] If PASS, write `complete.log` based on `agent-ops/skills/common/code-review/templates/complete-log-template.md` and leave no active `.md` files.
- [x] If PASS, move active task directory `agent-task/m-iop-agent-cli-runtime/05_contract_boundary/` to `agent-task/archive/YYYY/MM/m-iop-agent-cli-runtime/05_contract_boundary/` and update this checklist at the final archive path.
- [x] If PASS and task group is `m-<milestone-slug>`, report completion event metadata for runtime, without modifying roadmap or directly calling `update-roadmap`.
- [x] If PASS for split work, remove empty active parent `agent-task/m-iop-agent-cli-runtime/` or verify it was kept due to remaining siblings/files.
- [ ] If WARN/FAIL, write the next filesystem state matching code-review verdict and do not write `complete.log`.

## Deviations from Plan

None.

## Key Design Decisions

- Restored the ten standalone host schema anchors as contract-first records and projections, with immutable revision references, retention, and typed no-silent-reset failures.
- Kept `iop.agent-runtime` as the sole owner of shared lifecycle, admission, review, selection/failover, and integration algorithms; the standalone contract records only delegated inputs, immutable identities, and results.
- Preserved the accepted local-control, same-user authorization, idempotency, replay, and client-process sections unchanged.

## Reviewer Checkpoints

- Every SDD-assigned standalone host schema anchor is defined in the CLI contract and listed in the index reading condition.
- Host schema rules cover ownership, immutable references, schema/config revisions, persistence/retention, corrupt or mismatched state, and typed no-silent-reset failures.
- `iop.agent-runtime` remains the sole owner of shared manager lifecycle, guardrail admission, review, and integration-port algorithms and source paths.
- The accepted local-control schemas, authorization, idempotency, replay, failure, and client-process sections remain present.
- No Go, proto, config, SDD, roadmap, test, or dependent task file changed.

## Verification Results

Paste exact stdout/stderr for every command. Do not summarize or reconstruct output. If a command changes, record the replacement and reason under `Deviations from Plan`.

### Go environment preflight

```bash
command -v go && readlink -f "$(command -v go)" && go version && go env GOROOT
```

```text
/config/.local/bin/go
/config/opt/go/bin/go
go version go1.26.2 linux/arm64
/config/opt/go
```

Exit status: 0.

### Shared ownership assertion

```bash
cli_row="$(rg '^\| `iop\.agent-cli-runtime`' agent-contract/index.md)"
printf '%s\n' "$cli_row"
! printf '%s\n' "$cli_row" | rg -q 'packages/go/agent(task|guard)'
rg --sort path -n 'iop\.agent-runtime|shared contract dependency|implementation source status' agent-contract/index.md agent-contract/inner/iop-agent-cli-runtime.md agent-contract/inner/agent-runtime.md
```

```text
| `iop.agent-cli-runtime` | Standalone `iop-agent` host lifecycle; `RuntimeConfig`, `ProjectRegistration`, `SelectionPolicy`, and `PreviewRequest`; `WorkspaceSnapshot`, `OverlayWorkspace`, `ChangeSet`, and `IntegrationRecord`; `ProjectLogRecord` and `IntegrationStatus`; and the client-neutral local control boundary: `LocalControlEnvelope`, `LocalControlRequest`, `LocalControlResponse`, `LocalControlEvent`, `LocalControlError`, peer authorization, replay, and Flutter/Unity client-process commands (S05-S09, S11, S15, S18-S19) | Contract-first standalone host boundary; shared runtime implementation and `agenttask`/`agentguard` semantics are owned by `iop.agent-runtime`. Standalone host implementation paths are added by S05-S09/S11/S15/S18-S19 implementation tasks. Design input: `agent-roadmap/sdd/automation-runtime-bridge/iop-agent-cli-runtime/SDD.md` | `agent-contract/inner/iop-agent-cli-runtime.md` |
agent-contract/index.md:26:| `iop.agent-runtime` | 공통 Agent Runtime, CLI Provider, AgentTaskManager manual start/auto-resume/explicit dependency/isolated dispatch/review/serial integration, workspace guardrail admission, agent provider catalog YAML, provider/model/profile discovery와 readiness, `Provider`, `ExecutionSpec`, `RuntimeEvent`, run/stream/resume/cancel, terminal exactly-once, status/quota, typed failure codec, Node runtime bridge | `packages/go/agentruntime/*`, `packages/go/agenttask/*`, `packages/go/agentguard/*`, `packages/go/agentconfig/*`, `packages/go/agentprovider/cli/*`, `packages/go/agentprovider/catalog/*`, `configs/iop-agent.providers.yaml`, `apps/node/internal/node/runtime_bridge.go` | `agent-contract/inner/agent-runtime.md` |
agent-contract/index.md:27:| `iop.agent-cli-runtime` | Standalone `iop-agent` host lifecycle; `RuntimeConfig`, `ProjectRegistration`, `SelectionPolicy`, and `PreviewRequest`; `WorkspaceSnapshot`, `OverlayWorkspace`, `ChangeSet`, and `IntegrationRecord`; `ProjectLogRecord` and `IntegrationStatus`; and the client-neutral local control boundary: `LocalControlEnvelope`, `LocalControlRequest`, `LocalControlResponse`, `LocalControlEvent`, `LocalControlError`, peer authorization, replay, and Flutter/Unity client-process commands (S05-S09, S11, S15, S18-S19) | Contract-first standalone host boundary; shared runtime implementation and `agenttask`/`agentguard` semantics are owned by `iop.agent-runtime`. Standalone host implementation paths are added by S05-S09/S11/S15/S18-S19 implementation tasks. Design input: `agent-roadmap/sdd/automation-runtime-bridge/iop-agent-cli-runtime/SDD.md` | `agent-contract/inner/iop-agent-cli-runtime.md` |
agent-contract/inner/iop-agent-cli-runtime.md:8:- shared contract dependency: `iop.agent-runtime`
agent-contract/inner/iop-agent-cli-runtime.md:9:- implementation source status: contract-first; standalone host source paths are added by the S05-S09, S11, S15, S18, and S19 implementation tasks.
agent-contract/inner/iop-agent-cli-runtime.md:15:- changing the host extension points for workspace isolation or change-set persistence while preserving the shared runtime ports owned by `iop.agent-runtime`;
agent-contract/inner/iop-agent-cli-runtime.md:23:`iop.agent-runtime` is the sole authoritative contract for common provider execution, `agenttask.Manager` lifecycle and state transitions, `agentguard` admission and Permit validation, review, integration ports, and their source paths. This contract may require the host to call those shared boundaries, but it does not restate their rules or claim their implementation sources.
agent-contract/inner/iop-agent-cli-runtime.md:49:| `SelectionPolicy` | The versioned policy input supplied to the shared selector: ordered rules, local overrides, and retained route-history references. The host preserves the resolved policy revision and route evidence, while `iop.agent-runtime` remains the owner of selection and failover algorithms. |
agent-contract/inner/iop-agent-cli-runtime.md:61:- Host isolation and change-set implementations are extension points. Their preparation, admission, review, and integration semantics remain delegated to `iop.agent-runtime`; the host preserves returned immutable identities when persisting or presenting state.
agent-contract/inner/iop-agent-cli-runtime.md:78:| Project mutation | `project.start`, `project.stop`, `project.resume` | Require `command_id`; delegate shared lifecycle actions to `iop.agent-runtime`; persist only host-owned command presentation and recovery state. |
agent-contract/inner/agent-runtime.md:5:- id: `iop.agent-runtime`
```

Exit status: 0.

### Standalone host schema assertion

```bash
cli_row="$(rg '^\| `iop\.agent-cli-runtime`' agent-contract/index.md)"
symbols=(RuntimeConfig ProjectRegistration SelectionPolicy PreviewRequest WorkspaceSnapshot OverlayWorkspace ChangeSet IntegrationRecord ProjectLogRecord IntegrationStatus)
for symbol in "${symbols[@]}"; do
  rg -q "\b${symbol}\b" agent-contract/inner/iop-agent-cli-runtime.md
  printf '%s\n' "$cli_row" | rg -q "\b${symbol}\b"
done
rg --sort path -n 'RuntimeConfig|ProjectRegistration|SelectionPolicy|PreviewRequest|WorkspaceSnapshot|OverlayWorkspace|ChangeSet|IntegrationRecord|ProjectLogRecord|IntegrationStatus' agent-contract/index.md agent-contract/inner/iop-agent-cli-runtime.md
```

```text
agent-contract/index.md:27:| `iop.agent-cli-runtime` | Standalone `iop-agent` host lifecycle; `RuntimeConfig`, `ProjectRegistration`, `SelectionPolicy`, and `PreviewRequest`; `WorkspaceSnapshot`, `OverlayWorkspace`, `ChangeSet`, and `IntegrationRecord`; `ProjectLogRecord` and `IntegrationStatus`; and the client-neutral local control boundary: `LocalControlEnvelope`, `LocalControlRequest`, `LocalControlResponse`, `LocalControlEvent`, `LocalControlError`, peer authorization, replay, and Flutter/Unity client-process commands (S05-S09, S11, S15, S18-S19) | Contract-first standalone host boundary; shared runtime implementation and `agenttask`/`agentguard` semantics are owned by `iop.agent-runtime`. Standalone host implementation paths are added by S05-S09/S11/S15/S18-S19 implementation tasks. Design input: `agent-roadmap/sdd/automation-runtime-bridge/iop-agent-cli-runtime/SDD.md` | `agent-contract/inner/iop-agent-cli-runtime.md` |
agent-contract/inner/iop-agent-cli-runtime.md:47:| `RuntimeConfig` | A versioned composition of read-only repo-global defaults and user-local configuration. It records both immutable input revisions, applies user-local values after repo-global values, replaces ordered arrays rather than appending them, and owns local roots without writing device state or credentials to the repo. |
agent-contract/inner/iop-agent-cli-runtime.md:48:| `ProjectRegistration` | A user-local, revisioned registration of one project identity and canonical workspace reference, including the applicable configuration revision and host recovery metadata. It does not mutate the repo-global configuration or create a shared runtime lease by itself. |
agent-contract/inner/iop-agent-cli-runtime.md:49:| `SelectionPolicy` | The versioned policy input supplied to the shared selector: ordered rules, local overrides, and retained route-history references. The host preserves the resolved policy revision and route evidence, while `iop.agent-runtime` remains the owner of selection and failover algorithms. |
agent-contract/inner/iop-agent-cli-runtime.md:50:| `PreviewRequest` | An immutable request identifying the project, workspace, configuration and policy revisions to evaluate. Preview uses the same delegated decision boundary without dispatching a provider, creating an isolation layer, changing persisted state, or otherwise causing a side effect. |
agent-contract/inner/iop-agent-cli-runtime.md:51:| `WorkspaceSnapshot` | A versioned immutable base fingerprint for a canonical workspace: referenced configuration and grant revisions, Git revision, tracked and untracked content, dirty state, file modes, and symlink identity. It is retained exactly as the base of a later overlay or change set. |
agent-contract/inner/iop-agent-cli-runtime.md:52:| `OverlayWorkspace` | A durable isolation record for one task identity that references its exact base snapshot, writable layer, merged read view, task-local temporary/cache roots, isolated Git metadata reference, and retention/recovery state. It preserves the layer identity returned through shared boundaries without defining their admission rules. |
agent-contract/inner/iop-agent-cli-runtime.md:53:| `ChangeSet` | A frozen, content-addressed host persistence record with the exact base fingerprint and change-set revision, additions/modifications/deletions, mode or symlink operations, write set, and validation evidence. It remains immutable after review acceptance and is retained for recovery and later integration attempts. |
agent-contract/inner/iop-agent-cli-runtime.md:54:| `IntegrationRecord` | A revisioned record of one exact change set and integration attempt: dispatch and attempt ordinals, expected and observed before fingerprints, predecessor references, apply/validation outcome, rollback or blocker evidence, after fingerprint, cleanup state, and retention identity. It records delegated integration results but does not decide integration order or outcome. |
agent-contract/inner/iop-agent-cli-runtime.md:55:| `ProjectLogRecord` | An append-only host presentation and recovery projection that connects project/work-unit and attempt identities with route/quota observations, process or session references, overlay/change-set/integration locators, failures, retries, review evidence, and completion state. |
agent-contract/inner/iop-agent-cli-runtime.md:56:| `IntegrationStatus` | A current host-facing recovery projection for a task/change-set and ordinal, including queued/integrating/integrated/blocked state, conflict or blocker reference, retained overlay reference, and available recovery action. It reports shared runtime results without owning integration decisions. |
```

Exit status: 0.

### Local-control regression assertion

```bash
rg --sort path -n 'LocalControl(Envelope|Request|Response|Event|Error)|command_id|peer credential|same OS user|replay|S11|S15' agent-contract/index.md agent-contract/inner/iop-agent-cli-runtime.md
```

```text
agent-contract/index.md:27:| `iop.agent-cli-runtime` | Standalone `iop-agent` host lifecycle; `RuntimeConfig`, `ProjectRegistration`, `SelectionPolicy`, and `PreviewRequest`; `WorkspaceSnapshot`, `OverlayWorkspace`, `ChangeSet`, and `IntegrationRecord`; `ProjectLogRecord` and `IntegrationStatus`; and the client-neutral local control boundary: `LocalControlEnvelope`, `LocalControlRequest`, `LocalControlResponse`, `LocalControlEvent`, `LocalControlError`, peer authorization, replay, and Flutter/Unity client-process commands (S05-S09, S11, S15, S18-S19) | Contract-first standalone host boundary; shared runtime implementation and `agenttask`/`agentguard` semantics are owned by `iop.agent-runtime`. Standalone host implementation paths are added by S05-S09/S11/S15/S18-S19 implementation tasks. Design input: `agent-roadmap/sdd/automation-runtime-bridge/iop-agent-cli-runtime/SDD.md` | `agent-contract/inner/iop-agent-cli-runtime.md` |
agent-contract/inner/iop-agent-cli-runtime.md:9:- implementation source status: contract-first; standalone host source paths are added by the S05-S09, S11, S15, S18, and S19 implementation tasks.
agent-contract/inner/iop-agent-cli-runtime.md:16:- changing `LocalControlEnvelope`, `LocalControlRequest`, `LocalControlResponse`, `LocalControlEvent`, or `LocalControlError`, including peer authorization, command idempotency, replay, or failure behavior;
agent-contract/inner/iop-agent-cli-runtime.md:36:| S11 | Same-user local-control authorization, state/event delivery, replay-gap, and denied-peer tests | `local-control` proves no app-token fallback, denied cross-user dispatch, and snapshot recovery. |
agent-contract/inner/iop-agent-cli-runtime.md:37:| S15 | Flutter/Unity singleton-process, disconnect/crash/reconnect, and Unity detail-routing tests | `client-process-manager` proves daemon-owned lifecycle and Flutter start/focus routing. |
agent-contract/inner/iop-agent-cli-runtime.md:66:- `LocalControlEnvelope` is the outer schema for every frame. It contains `protocol_version`, `kind`, `message_id`, `correlation_id`, optional `event_sequence`, optional `operation`, and a typed payload. `kind` is exactly `request`, `response`, `event`, or `error`.
agent-contract/inner/iop-agent-cli-runtime.md:67:- `LocalControlRequest` carries a request envelope, operation arguments, and an optional replay cursor. Every mutating request also carries a stable, caller-generated `command_id`.
agent-contract/inner/iop-agent-cli-runtime.md:68:- `LocalControlResponse` carries the correlated operation result, current state revision or snapshot marker when applicable, and the accepted `command_id` for a mutation.
agent-contract/inner/iop-agent-cli-runtime.md:69:- `LocalControlEvent` carries an ordered `event_sequence`, event type, subject identity, state revision, and a payload that is sufficient to update a current snapshot.
agent-contract/inner/iop-agent-cli-runtime.md:70:- `LocalControlError` carries a stable error code, safe message, retryability, correlation identifier, and recovery metadata such as the current replay floor or snapshot marker.
agent-contract/inner/iop-agent-cli-runtime.md:78:| Project mutation | `project.start`, `project.stop`, `project.resume` | Require `command_id`; delegate shared lifecycle actions to `iop.agent-runtime`; persist only host-owned command presentation and recovery state. |
agent-contract/inner/iop-agent-cli-runtime.md:79:| Client mutation | `client.start`, `client.stop`, `client.focus`, `client.detail` | Require `command_id`; execute only through daemon-owned client-process records. `client.detail` routes a supported Unity detail request to Flutter start/focus through the daemon. |
agent-contract/inner/iop-agent-cli-runtime.md:81:- The daemon authorizes a peer from local socket ownership and peer credential evidence. It accepts only a peer with the same effective OS user as the daemon; all other peers receive `permission_denied` before command dispatch.
agent-contract/inner/iop-agent-cli-runtime.md:82:- A client uses no app token for this boundary, and no app-token fallback may bypass peer credential or same OS user authorization.
agent-contract/inner/iop-agent-cli-runtime.md:83:- Repeating a mutation with the same `command_id`, operation, and immutable arguments returns the original accepted result without a second mutation. Reusing that `command_id` with different operation or arguments returns `command_id_conflict` and performs no mutation.
agent-contract/inner/iop-agent-cli-runtime.md:88:- Events are ordered by a monotonically increasing `event_sequence` within one daemon identity. Clients may reconnect with a replay cursor and must tolerate duplicate retained events by deduplicating their sequence.
agent-contract/inner/iop-agent-cli-runtime.md:89:- The daemon replays retained events after the requested cursor when the cursor is within retention. If the cursor predates the retention floor, belongs to another daemon identity, or cannot form a contiguous replay, it returns `replay_unavailable` with `snapshot_required` recovery metadata instead of silently omitting state changes.
agent-contract/inner/iop-agent-cli-runtime.md:90:- A snapshot response establishes the current state revision and replay cursor from which later events may resume. The daemon may coalesce non-essential progress events, but it must not claim a replay that hides a state transition represented by the current snapshot.
agent-contract/inner/iop-agent-cli-runtime.md:91:- `LocalControlError` uses typed codes at minimum: `malformed_frame`, `unsupported_version`, `unsupported_operation`, `invalid_state`, `permission_denied`, `command_id_conflict`, `replay_unavailable`, and `internal`.
agent-contract/inner/iop-agent-cli-runtime.md:98:- Crash restart and login launch follow user-local policy. A disconnect preserves daemon ownership, records the process outcome, and allows a same-user client to reconnect and replay or request a snapshot.
agent-contract/inner/iop-agent-cli-runtime.md:106:- Do not dispatch a mutating operation before peer authorization and `command_id` validation, or make rejected frames mutate host state.
agent-contract/inner/iop-agent-cli-runtime.md:107:- Do not silently discard a replay gap, fabricate a contiguous event sequence, or treat a stale cursor as a current snapshot.
agent-contract/inner/iop-agent-cli-runtime.md:114:- For local-control changes, update the operation matrix, authorization, idempotency, replay, failure, and client lifecycle rules together.
agent-contract/inner/iop-agent-cli-runtime.md:115:- For a concrete transport implementation, add its actual host source paths and focused tests in the implementing S11 or S15 task; do not backfill speculative paths here.
agent-contract/inner/iop-agent-cli-runtime.md:116:- Verify standalone contract changes with index ownership searches, S11/S15 anchor searches, the relevant future host tests when they exist, and `git diff --check`.
```

Exit status: 0.

### Fresh shared-runtime regression tests

```bash
go test -count=1 ./packages/go/agenttask ./packages/go/agentguard
```

```text
ok  	iop/packages/go/agenttask	0.139s
ok  	iop/packages/go/agentguard	0.018s
```

Exit status: 0.

### Diff validation

```bash
git diff --check
```

```text
(no output)
```

Exit status: 0.

---

> **[IMPLEMENTING AGENT — BEFORE SAVING] Have you filled in every implementation-owned section?**
> If anything is blank, go back and fill it in before saving this file.
> Leave review-agent-only sections unchanged.

## Section Ownership

| Section | Owner | Note |
|---------|-------|------|
| Header comment, Overview, Review Agent Instructions | Fixed at stub creation | Implementing agent must not modify or execute these (archive, complete.log, and task-directory archive move are review-agent only) |
| Roadmap Targets | Fixed at stub creation from plan when present | Implementing agent must not modify; code-review copies it into `complete.log` as `Roadmap Completion` only on PASS |
| Archive Evidence Snapshot | Fixed at stub creation from plan when present | Implementing agent uses it as default prior-loop context; read only the specific archive files cited there when more detail is required |
| Agent UI Completion | Mixed | Present only for plan-required agent-ui code work; implementing agent fills actual evidence, review agent applies `구현됨` status/evidence update on PASS and copies the section into `complete.log` |
| Implementation Item Completion (item names) | Fixed at stub creation | Implementing agent checks `[ ]` → `[x]` only |
| Implementation Checklist (item text/order) | Fixed at stub creation from plan | Implementing agent checks `[ ]` → `[x]` only |
| Review-Only Checklist | Review agent only | Implementing agent must not modify or check this section |
| Deviations from Plan, Key Design Decisions | Implementing agent | Replace placeholder text with actual content |
| Reviewer Checkpoints | Fixed at stub creation | Pre-filled from plan |
| Verification Results (section headings + commands) | Fixed at stub creation | Implementing agent fills in command output only; command changes require a `Deviations from Plan` entry |
| Code Review Result | Review agent appends | Not included in stub |

## Code Review Result

### Overall Verdict

PASS

### Dimension Assessment

| Dimension | Assessment | Evidence |
|---|---|---|
| Correctness | Pass | All ten SDD-assigned standalone host schemas now define host-owned identity, revision, persistence, retention, and no-silent-reset behavior without taking ownership of shared runtime algorithms. |
| Completeness | Pass | The contract and index contain every planned schema anchor, the shared-runtime delegation remains explicit, and the accepted local-control boundary remains intact. |
| Test coverage | Pass | Deterministic ownership, schema-anchor, local-control, and semantic searches cover the Markdown-only change; fresh shared `agenttask` and `agentguard` regression tests pass. |
| API contract | Pass | `iop.agent-runtime` remains the sole authoritative owner of shared manager, admission, review, selection/failover, and integration semantics, while `iop.agent-cli-runtime` owns only standalone host records and projections. |
| Code quality | Pass | The contract additions are concise, internally linked, free of stale source-path claims, and pass tracked and untracked whitespace checks. |
| Implementation deviation | Pass | Only the two planned contract files and task evidence artifacts changed; no Go, proto, config, SDD, roadmap, test, or dependent task source changed. |
| Verification trust | Pass | The reviewer reran every recorded command against the current checkout; outputs and exit statuses agree with the implementation record. |
| Spec conformance | Pass | The restored schemas cover SDD scenarios S05-S09 and S18-S19, while the retained local-control and client-process sections continue to cover S11 and S15. |

### Findings

None.

### Routing Signals

review_rework_count=2
evidence_integrity_failure=false

### Next Step

Archive the completed plan/review pair, write `complete.log`, move the split task to the monthly task archive, and report the milestone-task completion event metadata.
