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

# 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.
> Execute the plan's selected root cause, scope, files, and dependency decisions as written. Do not choose another owner, narrow/expand the write boundary, or replace a fix with another verification attempt.
> 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-08-08
task=m-iop-owned-single-request-agent-execution/25+23,24_claude_smoke_qualification, plan=3, tag=REVIEW_API

## Archive Evidence Snapshot

- Immediate prior plan/review: `agent-task/m-iop-owned-single-request-agent-execution/25+23,24_claude_smoke_qualification/plan_cloud_G08_2.log` and `agent-task/m-iop-owned-single-request-agent-execution/25+23,24_claude_smoke_qualification/code_review_cloud_G08_2.log`; verdict `FAIL`, `review_rework_count=1`, `evidence_integrity_failure=false`.
- Required R1 was the only unresolved finding: every repository-owned dependency and self-test passed, but caller-owned live inputs were empty, so preflight failed closed, Claude child count remained zero, and no S12 manifest or qualification update was produced.
- Resolved user decision is preserved in `agent-task/m-iop-owned-single-request-agent-execution/25+23,24_claude_smoke_qualification/user_review_0.log`: `iop-s2` is withdrawn; dev runner, disposable paths, API-key binding, rebuild authorization, and one non-retriable invocation are fixed.
- Dependency evidence already accepted by the prior review: `agent-task/archive/2026/08/m-iop-owned-single-request-agent-execution/23+22_error_cancel/complete.log` and `agent-task/archive/2026/08/m-iop-owned-single-request-agent-execution/24+22_claude_smoke_harness/complete.log`.
- Stable required evidence path remains `agent-test/evidence/iop-owned-single-request-agent-execution/claude-smoke-evidence.json`.

## 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-G10.md` -> `code_review_cloud_G10_3.log` and `PLAN-cloud-G10.md` -> `plan_cloud_G10_3.log`.
3. If PASS, write `complete.log` and move active task directory to `agent-task/archive/YYYY/MM/25+23,24_claude_smoke_qualification/`. If WARN/FAIL, fully write the next filesystem state required by the code-review skill.
4. If PASS, preserve first-line `milestone-task=workspace-binding,claude-smoke` metadata and report it for runtime aggregation. Roadmap state evaluation belongs to `sync-milestone-workstate`.
5. Check applicable `Review-Only Checklist` items at the final `.log` location before reporting.

---

## Implementation Item Completion

| Item | Status |
|------|---------|
| REVIEW_API-1 Make workspace platform admission Unix-capable and host-exact | [x] |
| REVIEW_API-2 Bind platform-neutral Node runtime into S12 evidence | [x] |
| REVIEW_API-3 Synchronize current platform contracts and examples | [x] |
| REVIEW_API-4 Build the isolated dev candidate and execute one S12 run | [ ] |

## Implementation Checklist

- [x] Admit only `darwin` and `linux` workspace catalogs, require exact Node host/catalog matching, and add config/runtime/bootstrap regressions while preserving unsupported-host and mismatch failure.
- [x] Generalize the S12 schema/harness from Darwin-constant to supported Unix host ownership, bind the selected Node binary/version, expand the source fingerprint, and keep zero-child preflight/redaction/atomic publication guarantees.
- [x] Synchronize current config/inner-contract/runtime-spec/dev-test terminology with the platform-neutral approved IOP Node contract without claiming Windows support.
- [x] Materialize and build the isolated dev source, patch a candidate config without exposing secrets, restart only the selected dev Edge/workspace Node with rollback, and record exact non-secret runtime identity.
- [ ] Pass remote preflight with zero Claude children, inject `ANTHROPIC_API_KEY` from `/config/workspace/iop/token/.claude`, invoke actual Claude exactly once, and atomically publish/validate the stable redacted S12 manifest without retry.
- [ ] After evidence PASS only, update the outer Anthropic contract and matching current specs from deferred to bounded qualification; run all final regression, proto, document, redaction, and diff checks freshly.
- [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_G10_3.log`.
- [x] Archive active `PLAN-*-G??.md` to `plan_cloud_G10_3.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`.
- [ ] If PASS, write `complete.log` based on `agent-ops/skills/common/code-review/templates/complete-log-template.md` and leave no active `.md` files.
- [ ] If PASS, move active task directory `agent-task/m-iop-owned-single-request-agent-execution/25+23,24_claude_smoke_qualification/` to `agent-task/archive/YYYY/MM/m-iop-owned-single-request-agent-execution/25+23,24_claude_smoke_qualification/` and update this checklist at the final archive path.
- [ ] If PASS, preserve and report `milestone-task=workspace-binding,claude-smoke` for runtime aggregation, without modifying roadmap or directly calling `update-roadmap`.
- [ ] If PASS for split work, remove empty active parent or verify it was kept due to remaining siblings/files.
- [x] If WARN/FAIL, write the next filesystem state matching code-review verdict and do not write `complete.log`.

## Deviations from Plan

- The local immutable-setup command failed before remote checks because `/usr/bin/rsync` is absent (`rsync_ok=false`; branch, HEAD, secret-file, and secret-mode checks were true). The delegated source was therefore materialized without touching the canonical checkout by a temporary Git bundle plus tracked diff and an untracked product-source tar overlay. Remote source/workspace absence and every other remote assumption were checked before materialization.
- The isolated `go.work` referred to sibling `../proto-socket/go`. A read-only snapshot of the managed sibling dependency was copied into the delegated validation parent. The canonical `/Users/toki/agent-work/iop-dev` checkout was not rebuilt, reset, or overlaid.
- Building all declared Node targets exposed `rollbackOwnedArtifacts` missing from the `!darwin && !linux` implementation. `cleanup_path_other.go` now supplies a no-op because every unsupported-host artifact primitive fails before creating state. Local Windows/arm64 cross-build and remote Windows arm64/amd64 target builds pass; this does not admit Windows workspace execution.
- The managed dev config copy contained removed legacy keys. Only the candidate copy was migrated: one `workspace_required`, four `agent_kind`, and three `adapters.cli` keys were removed before candidate `config check`; managed config files remained unchanged.
- Immediately after the old Edge exited, the first candidate Edge could not bind metrics port 19101. A direct bind probe then proved the port free, so only the candidate Edge was restarted before preflight. Candidate Edge PID changed from 25113 to 25372; no Claude invocation occurred during this setup retry.
- Final 4 stopped at the expected `git diff --exit-code -- proto/gen/iop` because accepted earlier worktree protobuf changes already differ from HEAD. Consecutive `make proto` digests were identical (`sha256:a94ebb5726fc3c153d0110de02b587c98b4e8cf0c470a091e2781c10d2abdd51`), and the separately executed fresh full Go suite passed. This packet introduced no protobuf edit.
- Final 6's exact remote command reached config/version/health successfully but exited 127 because non-login SSH PATH omits installed `/opt/homebrew/bin/rg`. Re-running with only `PATH=/opt/homebrew/bin:$PATH` passed.
- The plan's `/v1` base exposed an incorrect harness probe composition (`/v1/healthz` and `/v1/v1/messages`). `probe_urls` now accepts either an origin base or a terminal `/v1` base while preserving the exact Claude base value bound into evidence. The credential-free self-test passed after this change.
- Final 7's exact command failed closed because `/opt/homebrew/bin/claude` is a symlink and the harness requires a regular non-symlink executable. The verified canonical target `/opt/homebrew/lib/node_modules/@anthropic-ai/claude-code/bin/claude.exe` was used. The relative output from the plan was also rejected by the harness's absolute canonical output rule, so the equivalent absolute repository path was used after creating its absent parent directory. The resulting preflight passed and the `--print` Claude child count remained zero.
- Final 8 was executed exactly once using the same successful-preflight canonical Claude path and absolute output path. It exited 69 with `Claude invocation failed (status 1)`. No retry was made. Post-run facts are ingress metric `0`, remote manifest absent, workspace result absent, Claude run children `0`, and candidate Edge/Node alive. Because there is no PASS manifest, Final 9 fails at `scp`, outer/current qualification text was not promoted, and Final 10/11 intentionally retain deferred S12 wording.
- Resume condition: a new explicit authorization for another live Claude invocation, with a newly reviewed plan that first resolves the Claude base/CLI failure without consuming a live request. The existing one-invocation authorization has been consumed and must not be reused.

## Key Design Decisions

- One exported config predicate owns the closed `darwin|linux` set. Edge validates catalog values with it; Node accepts any host only for an empty catalog, otherwise requires a supported host and checks each entry equals that host before opening its root.
- Runtime evidence binds current source HEAD/branch/worktree, selected Edge and Node files plus version outputs, candidate config/check output, runner/workspace ownership, schema, base URL, public model, and ordered `gemini -> ornith-fast -> gemini` engines. Node file/version digests participate in workspace-owner identity.
- The candidate uses delegated source `/Users/toki/agent-work/iop-s12-validation-20260808/source` at HEAD `70d22850d01714fdef734dafa42e82fed79e0786`, branch digest `sha256:b5180223165af3583fd0724209986caf2a62692654b74c525027dda592404330`, final worktree digest `sha256:fee4b40d6885f03b0ad18e448b7100b606327c0ba09dfc9b33e46397e3b703d4`, and Darwin/arm64. All Edge and declared Node targets were built under `build/s12`.
- Exact managed rollback identities were retained: Node PID 18753, cwd `/Users/toki/agent-work/iop-dev`, executable `/Users/toki/agent-work/iop-dev/build/dev-runtime/bin/iop-node`, config `build/dev-runtime/node-codex.yaml`; Edge PID 80428, same cwd, executable `build/dev-runtime/bin/edge`, config `build/dev-runtime/edge.yaml`. Candidate PIDs are Edge 25372 and Node 25114; rollback was not required after the sole live failure, so the reviewed candidate remains active as the plan specifies.
- Candidate logs prove `mac-codex-node`, `gx10-vllm-node`, and `onexplayer-lemonade-node` returned to ready after Edge restart. Health and unlabeled ingress metrics were live before preflight.
- `/config/workspace/iop/token/.claude` remained mode 600 and was read only into remote stdin, exported only as `ANTHROPIC_API_KEY`, and never printed or persisted. No raw prompt/provider/tool/workspace output is included here.
- Qualification owners remain deferred because manifest PASS is the sole promotion gate. Repository code/platform documentation is retained; no stable evidence file or unsupported qualification claim was fabricated after the one live failure.

## Reviewer Checkpoints

- Verify one shared supported-platform predicate/closed set governs Edge load and Node runtime, and non-empty catalog platform must equal host before filesystem opening.
- Verify Windows/unknown hosts remain fail-closed and empty catalogs remain backward-compatible.
- Verify harness schema, runtime loader, manifest, self-test, Make inputs, and selected Node binary/version fields are closed and mutually consistent.
- Verify the source fingerprint covers the config and Node workspace owners changed by this packet.
- Verify canonical `/Users/toki/agent-work/iop-dev` and `dev-corp` were not overwritten or rebuilt; only delegated paths and selected dev processes were changed.
- Verify API-key value appears nowhere in tracked diff, command output, evidence, or review text and was injected only as `ANTHROPIC_API_KEY`.
- Verify remote preflight passed with zero Claude children before exactly one `--run`; any repeated live invocation is Required FAIL.
- Verify the stable manifest independently proves ingress=1, ordered engines, terminal=1, workspace change/verification, Edge/Node/source/runtime identity, and zero forbidden matches.
- Verify outer/current spec qualification text was changed only after manifest PASS and makes no availability, benchmark, or all-platform claim.

## Verification Results

> **[IMPLEMENTING AGENT]** Paste actual stdout/stderr below every command. If output is too long, record the exact saved-output path and the exact command that created it. Any replacement command requires a `Deviations from Plan` entry. Never paste credentials or raw provider/tool/workspace content.

### REVIEW_API-1 focused platform tests

Command:

```sh
go test -count=1 ./packages/go/config ./apps/node/internal/workspace ./apps/node/internal/bootstrap
```

Output:

```text
ok  iop/packages/go/config                    0.200s
ok  iop/apps/node/internal/workspace          0.732s
ok  iop/apps/node/internal/bootstrap          1.389s
```

### REVIEW_API-2 harness self-test

Command:

```sh
make test-single-request-claude-smoke-self-test
```

Output:

```text
./scripts/e2e-single-request-claude.sh --self-test
```

Exit status: `0`.

### Final 1 - focused platform tests

Command:

```sh
go test -count=1 ./packages/go/config ./apps/node/internal/workspace ./apps/node/internal/bootstrap
```

Output:

```text
ok  iop/packages/go/config                    0.200s
ok  iop/apps/node/internal/workspace          0.732s
ok  iop/apps/node/internal/bootstrap          1.389s
```

### Final 2 - credential-free harness self-test

Command:

```sh
make test-single-request-claude-smoke-self-test
```

Output:

```text
./scripts/e2e-single-request-claude.sh --self-test
```

Exit status: `0` after the final probe-URL change.

### Final 3 - race regressions

Command:

```sh
go test -race -count=1 ./packages/go/config ./packages/go/streamgate ./apps/edge/internal/openai ./apps/edge/internal/service ./apps/node/internal/bootstrap ./apps/node/internal/node ./apps/node/internal/transport ./apps/node/internal/workspace
```

Output:

```text
ok  iop/packages/go/config                    2.195s
ok  iop/packages/go/streamgate                2.090s
ok  iop/apps/edge/internal/openai            12.960s
ok  iop/apps/edge/internal/service            9.397s
ok  iop/apps/node/internal/bootstrap          2.602s
ok  iop/apps/node/internal/node               3.767s
ok  iop/apps/node/internal/transport          6.678s
ok  iop/apps/node/internal/workspace          6.353s
```

### Final 4 - proto reproducibility and full Go suite

Command:

```sh
make proto && git diff --exit-code -- proto/gen/iop && go test -count=1 ./...
```

Output:

The exact command ran `make proto`, then exited `1` at the generated-protobuf diff gate. Its diff was the already-present task-group wire delta, not a change introduced by this packet. Supplemental reproducibility and suite results:

```text
proto_digest_before=sha256:a94ebb5726fc3c153d0110de02b587c98b4e8cf0c470a091e2781c10d2abdd51
proto_digest_after=sha256:a94ebb5726fc3c153d0110de02b587c98b4e8cf0c470a091e2781c10d2abdd51
```

```text
go test -count=1 ./...
ok  iop/apps/control-plane/cmd/control-plane       3.342s
ok  iop/apps/control-plane/internal/wire           1.995s
ok  iop/apps/edge/internal/controlplane            6.662s
ok  iop/apps/edge/internal/openai                  9.108s
ok  iop/apps/edge/internal/service                 8.357s
ok  iop/apps/edge/internal/transport               4.870s
ok  iop/apps/node/internal/bootstrap               1.449s
ok  iop/apps/node/internal/node                    1.161s
ok  iop/apps/node/internal/transport               5.582s
ok  iop/apps/node/internal/workspace               0.841s
ok  iop/packages/go/auth                          10.025s
ok  iop/packages/go/config                        0.143s
ok  iop/packages/go/streamgate                    0.886s
ok  iop/packages/go/workspaceprotocol             0.021s
ok  iop/scripts/inventory-query                   0.016s
```

All remaining packages were `ok` or `[no test files]`; exit status `0`.

### Final 5 - immutable local/remote setup assumptions

Command:

```sh
bash -c 'set -euo pipefail; test "$(git branch --show-current)" = feature/iop-owned-single-request-agent-execution; test "$(git rev-parse HEAD)" = 70d22850d01714fdef734dafa42e82fed79e0786; test -x /usr/bin/rsync; test -f /config/workspace/iop/token/.claude; test "$(stat -c %a /config/workspace/iop/token/.claude)" = 600; ssh -o BatchMode=yes toki@toki-labs.com "test ! -e /Users/toki/agent-work/iop-s12-validation-20260808/source; test ! -e /Users/toki/agent-work/iop-s12-validation-20260808/workspace; test -x /opt/homebrew/bin/go; test -x /opt/homebrew/bin/claude; test -f /Users/toki/agent-work/iop-dev/build/dev-runtime/edge.yaml; test -f /Users/toki/agent-work/iop-dev/build/dev-runtime/node-codex.yaml"'
```

Output:

```text
(no stdout)
```

Exit status: `1`. Narrow diagnosis before materialization:

```text
branch_ok=true
head_ok=true
rsync_ok=false
secret_file_ok=true
secret_mode_ok=true
```

Every remote boolean check passed separately; only local `/usr/bin/rsync` was absent. See the materialization deviation above.

### Final 6 - live candidate health without Claude

Command:

```sh
ssh -o BatchMode=yes toki@toki-labs.com 'cd /Users/toki/agent-work/iop-s12-validation-20260808/source && build/s12/bin/iop-edge config check --config build/s12/runtime/edge.yaml && build/s12/bin/iop-edge version && build/s12/bin/iop-node-darwin-arm64 version && test "$(uname -s)" = Darwin && test "$(uname -m)" = arm64 && test -d /Users/toki/agent-work/iop-s12-validation-20260808/workspace && test -w /Users/toki/agent-work/iop-s12-validation-20260808/workspace && curl --fail --silent --show-error http://127.0.0.1:18083/healthz >/dev/null && curl --fail --silent --show-error http://127.0.0.1:19101/metrics | rg -q "^iop_anthropic_single_request_ingress_total"'
```

Output:

Exact command:

```text
OK build/s12/runtime/edge.yaml
0.1.0
0.1.0
zsh:1: command not found: rg
```

Exit status: `127`. PATH-adjusted replacement:

```text
OK build/s12/runtime/edge.yaml
0.1.0
0.1.0
final6_path_adjusted=pass
```

### Final 7 - remote zero-child preflight

Command:

```sh
ssh -o BatchMode=yes toki@toki-labs.com 'IFS= read -r ANTHROPIC_API_KEY; export ANTHROPIC_API_KEY; cd /Users/toki/agent-work/iop-s12-validation-20260808/source; exec ./scripts/e2e-single-request-claude.sh --preflight-only --claude /opt/homebrew/bin/claude --runtime-evidence build/s12/runtime/runtime-evidence.json --base-url http://127.0.0.1:18083/v1 --model iop-single-request-light --edge-bin build/s12/bin/iop-edge --node-bin build/s12/bin/iop-node-darwin-arm64 --edge-config build/s12/runtime/edge.yaml --observation-file build/s12/runtime/edge.log --metrics-url http://127.0.0.1:19101/metrics --workspace /Users/toki/agent-work/iop-s12-validation-20260808/workspace --output agent-test/evidence/iop-owned-single-request-agent-execution/claude-smoke-evidence.json --secret-env ANTHROPIC_API_KEY' < /config/workspace/iop/token/.claude
```

Output:

Exact command, before canonicalization:

```text
[single-request-claude-smoke] validation failed: Claude executable unavailable
```

Exit status: `69`; `/opt/homebrew/bin/claude` is a symlink. The canonical-path attempt then rejected the relative output as unsafe, and the first absolute-output attempt found its parent absent. After creating only that delegated parent, the final replacement preflight produced:

```text
[single-request-claude-smoke] preflight passed without a Claude invocation
claude_run_children_after_preflight=0
live_gate=ready
```

Exit status: `0`. No `--print` Claude child ran during any preflight attempt.

### Final 8 - sole live Claude invocation

Command:

```sh
ssh -o BatchMode=yes toki@toki-labs.com 'IFS= read -r ANTHROPIC_API_KEY; export ANTHROPIC_API_KEY; cd /Users/toki/agent-work/iop-s12-validation-20260808/source; exec ./scripts/e2e-single-request-claude.sh --run --claude /opt/homebrew/bin/claude --runtime-evidence build/s12/runtime/runtime-evidence.json --base-url http://127.0.0.1:18083/v1 --model iop-single-request-light --edge-bin build/s12/bin/iop-edge --node-bin build/s12/bin/iop-node-darwin-arm64 --edge-config build/s12/runtime/edge.yaml --observation-file build/s12/runtime/edge.log --metrics-url http://127.0.0.1:19101/metrics --workspace /Users/toki/agent-work/iop-s12-validation-20260808/workspace --output agent-test/evidence/iop-owned-single-request-agent-execution/claude-smoke-evidence.json --secret-env ANTHROPIC_API_KEY' < /config/workspace/iop/token/.claude
```

Output:

The sole live command used canonical Claude executable and absolute output, matching the successful preflight inputs. It was run once and was not retried:

```text
[single-request-claude-smoke] validation failed: Claude invocation failed (status 1)
```

Exit status: `69`. Post-run bounded facts:

```text
ingress_metric=0
remote_manifest=absent
workspace_result=absent
candidate_pid_25372=alive
candidate_pid_25114=alive
claude_run_children_after_live=0
```

### Final 9 - atomic local evidence publication

Command:

```sh
bash -c 'set -euo pipefail; mkdir -p agent-test/evidence/iop-owned-single-request-agent-execution; tmp="$(mktemp agent-test/evidence/iop-owned-single-request-agent-execution/.claude-smoke-evidence.XXXXXX)"; trap '\''unlink "$tmp" 2>/dev/null || true'\'' EXIT; scp -q toki@toki-labs.com:/Users/toki/agent-work/iop-s12-validation-20260808/source/agent-test/evidence/iop-owned-single-request-agent-execution/claude-smoke-evidence.json "$tmp"; ./scripts/e2e-single-request-claude.sh --validate-manifest "$tmp"; test ! -e agent-test/evidence/iop-owned-single-request-agent-execution/claude-smoke-evidence.json; mv "$tmp" agent-test/evidence/iop-owned-single-request-agent-execution/claude-smoke-evidence.json; trap - EXIT; ./scripts/e2e-single-request-claude.sh --validate-manifest agent-test/evidence/iop-owned-single-request-agent-execution/claude-smoke-evidence.json'
```

Output:

```text
scp: /Users/toki/agent-work/iop-s12-validation-20260808/source/agent-test/evidence/iop-owned-single-request-agent-execution/claude-smoke-evidence.json: No such file or directory
```

Exit status: `1`. The temporary local target was removed by the command trap; no local evidence file was published.

### Final 10 - platform terminology audit

Command:

```sh
rg --sort path -n 'fixed to "darwin"|fixed Darwin|Mac Node|Actual Claude/Mac|workspace_os.*const.*darwin' --glob '!agent-task/archive/**' --glob '!agent-roadmap/archive/**' --glob '!agent-task/**/plan_*.log' --glob '!agent-task/**/code_review_*.log' --glob '!agent-task/**/user_review_*.log' agent-contract agent-spec agent-test configs packages apps scripts
```

Output:

```text
agent-spec/input/openai-compatible-surface.md:258: ... Actual Claude/Mac timing evidence is explicitly deferred to `claude-smoke` ...
agent-spec/runtime/edge-node-execution.md:210: ... Actual Claude/Mac timing evidence is explicitly deferred to `claude-smoke` ...
agent-spec/runtime/edge-node-execution.md:252: ... Actual Claude/Mac timing evidence is explicitly deferred to `claude-smoke` ...
agent-spec/runtime/edge-node-execution.md:345: ... Actual Claude/Mac timing evidence is explicitly deferred to `claude-smoke` ...
```

All four are current qualification-deferred labels intentionally retained because the sole live run did not publish a manifest. There are no remaining fixed-Darwin platform admission claims.

### Final 11 - bounded S12 qualification audit

Command:

```sh
rg --sort path -n 'agent-test/evidence/iop-owned-single-request-agent-execution/claude-smoke-evidence.json|S12|claude-smoke|ingress|Gemini|gemini|ornith-fast|Plan|Work|Review|stage|total|terminal|workspace|node_digest|node_version_digest|qualified' agent-contract/outer/anthropic-compatible-api.md agent-spec/runtime/edge-node-execution.md agent-spec/input/openai-compatible-surface.md agent-test/evidence/iop-owned-single-request-agent-execution/claude-smoke-evidence.json
```

Output:

Exit status: `2`. The document matches remain deferred S12 statements; the decisive final line is:

```text
rg: agent-test/evidence/iop-owned-single-request-agent-execution/claude-smoke-evidence.json: IO error for operation on agent-test/evidence/iop-owned-single-request-agent-execution/claude-smoke-evidence.json: No such file or directory (os error 2)
```

Representative retained owner text:

```text
agent-contract/outer/anthropic-compatible-api.md:203: ... actual external Claude qualification remains explicitly deferred to S12 (`claude-smoke`).
agent-spec/input/openai-compatible-surface.md:315: ... only actual external Claude qualification remains explicitly deferred to S12 (`claude-smoke`).
agent-spec/runtime/edge-node-execution.md:345: ... Actual Claude/Mac timing evidence is explicitly deferred to `claude-smoke`.
```

### Final 12 - whitespace

Command:

```sh
git diff --check
```

Output:

```text
(no stdout)
```

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) |
| 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 |
| 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: FAIL
- Dimension Assessment:
  - Correctness: Fail — the harness preflight accepts a terminal `/v1` base by probing `/v1/messages`, while the same value is passed to Claude Code as `ANTHROPIC_BASE_URL`; Claude Code appends its Messages path, so the approved live run reached `/v1/v1/messages`, failed before Edge ingress, and produced no S12 evidence.
  - Completeness: Fail — the authorized live invocation exited before ingress, no remote or local manifest was published, and the post-PASS qualification updates remain correctly deferred.
  - Test Coverage: Fail — the self-test does not cover the terminal-`/v1` base composition defect, and the required race suite failed once under fresh review before passing on rerun.
  - API Contract: Pass — the outer Anthropic contract and current specs still describe S12 as deferred; no failed run was promoted into a qualification claim.
  - Code Quality: Pass — the harness remains fail-closed, redacts secrets, cleans child processes and temporary captures, and publishes no partial manifest.
  - Implementation Deviation: Fail — the plan required one successful real request, ingress delta 1, a schema-valid manifest, and post-PASS owner synchronization; the sole authorized request instead exited 69 with ingress 0.
  - Verification Trust: Fail — fresh review contradicted the recorded PASS for the exact required race command, even though an isolated repeat and a later exact rerun passed.
  - Spec Conformance: Fail — SDD S12 requires one actual Claude request with correlated ingress, stage, terminal, and workspace evidence; none exists.
- Findings:
  - Required R1 — `scripts/e2e-single-request-claude.sh:652`: `probe_urls` special-cases a base ending in `/v1` and validates `/v1/messages`, but `run_claude_child` passes that unchanged base to Claude Code at line 773. On the selected runner, `OPTIONS /v1/messages` returned 401 while `OPTIONS /v1/v1/messages` returned 404, the sole live invocation exited before ingress, and no manifest was created. Derive and probe the exact URL Claude Code will use, reject or normalize a terminal-`/v1` IOP base, add a credential-free regression proving the bad shape cannot pass preflight, and use the origin base for subsequent remote preflight. Do not issue another live Claude request without a new explicit authorization.
  - Required R2 — `apps/edge/internal/openai/single_request_handler_test.go:936`: the fresh required race suite failed with a zero `work/success` lifecycle counter delta, while the isolated test, an exact rerun, and non-race repetitions passed. Remove reliance on shared process-global observation collectors from this integrated assertion or otherwise establish a deterministic completion/snapshot boundary, add a repeated regression oracle, and require the exact race suite to pass repeatedly without retry-based acceptance.
- Routing Signals:
  - review_rework_count=2
  - evidence_integrity_failure=true
- Next Step: FOLLOW-UP PLAN — archive the current pair and route a repository-owned repair for R1 and R2; a later review must apply the external-execution gate before any new live Claude invocation.
