<!-- task=m-node-provider-execution-liveness-recovery/04+03_health_evidence plan=4 tag=REVIEW_REVIEW_REVIEW_REVIEW_API milestone-task=health-classification -->

# Code Review Reference - REVIEW_REVIEW_REVIEW_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-08-05
task=m-node-provider-execution-liveness-recovery/04+03_health_evidence, plan=4, tag=REVIEW_REVIEW_REVIEW_REVIEW_API

## Archive Evidence Snapshot

- Closing pair: `agent-task/m-node-provider-execution-liveness-recovery/04+03_health_evidence/plan_cloud_G04_3.log` and `agent-task/m-node-provider-execution-liveness-recovery/04+03_health_evidence/code_review_cloud_G04_3.log`.
- Verdict: FAIL; one Required finding covers unchecked completion items, blank implementation notes, and missing reconnect, LOC, readability, formatting/diff, and artifact-completeness transcripts. Suggested/Nit: none.
- Affected behavior/files: review evidence only; no production, test, contract, spec, roadmap, dispatcher, or tooling change is required.
- Fresh reviewer evidence: tracked smoke and Go-module preflight, 20 focused health-pair iterations, and `go test -count=1 ./packages/go/execution ./apps/node/...` pass; the exact final artifact-completeness command exits 1. The closing review preserves the earlier command transcripts and the exact missing-section locations.
- Roadmap carryover: preserve `milestone-task=health-classification`; approved SDD S03 requires three-way health classification, adapter/target and connection-scoped observation sequence evidence, and no original-request progress reset.

## 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-G04.md` → `code_review_cloud_G04_4.log` and `PLAN-cloud-G04.md` → `plan_cloud_G04_4.log`.
3. If PASS, write `complete.log` and move active task directory to `agent-task/archive/YYYY/MM/m-node-provider-execution-liveness-recovery/04+03_health_evidence/`. 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>`, preserve the first-line `milestone-task` metadata in `complete.log` and report it for the runtime aggregation event. 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 |
|------|---------|
| EVIDENCE-1 — Remaining verification evidence | [x] |

## Implementation Checklist

- [x] [EVIDENCE-1] Execute the six remaining Final Verification commands exactly, record actual stdout/stderr plus explicit exit status, replace both implementation-note placeholders, and check both implementation completion items only after the artifact assertion passes.
- [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_G04_4.log`.
- [x] Archive active `PLAN-*-G??.md` to `plan_cloud_G04_4.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-node-provider-execution-liveness-recovery/04+03_health_evidence/` to `agent-task/archive/YYYY/MM/m-node-provider-execution-liveness-recovery/04+03_health_evidence/` and update this checklist at the final archive path.
- [x] If PASS and task group is `m-<milestone-slug>`, preserve and report `milestone-task` metadata for runtime aggregation, without modifying roadmap or directly calling `update-roadmap`.
- [x] If PASS for split work, remove empty active parent `agent-task/m-node-provider-execution-liveness-recovery/` 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

No deviations. The six verification commands were executed exactly as written from the repository root, with no source, test, contract, spec, roadmap, dispatcher, or tooling change introduced by this worker. The single nonzero exit came from `make readability-audit` (Exit code 2), which the plan explicitly permits: its actual output and exit status were recorded verbatim in Verification Results, and every named ratchet violation belongs to unrelated worktree paths (`agent-ops/skills/project/openai-usage-token-issue/scripts/issue_token.py`, `agent-ops/skills/project/orchestrate-agent-task-loop/scripts/dispatch.py`, `agent-ops/skills/project/orchestrate-agent-task-loop/tests/test_dispatch.py`, `agent-ops/skills/project/orchestrate-agent-task-loop/tests/test_select_execution_target.py`, and the `<read-set:edge-transport-readability>` task-level budget). The deterministic target-filter command excludes all six target files and exits 0, satisfying the plan's acceptance condition for a nonzero repository-wide ratchet.

## Key Design Decisions

This is an evidence-fidelity completion only. No product behavior or implementation decision changed. The design applied was to treat the existing S03 health-classification test pair and Node baseline as already verified (per the closing pair's trusted replay), and to close only the local reconnect, LOC, readability, formatting/diff, and artifact-completeness evidence gaps. The reconnect diagnostic was run with mock adapter using repo-internal `scripts/dev/edge-node-reconnect-diagnostic.sh` against an isolated temp config, producing registration, two ordered pre-kill payloads, kill/reconnect, one post-reconnect payload, terminal events strictly after their payloads, and `/nodes`, `/capabilities`, `/transport` command responses — matching the testing domain message-identity and terminal-ordering criteria. Evidence was transcribed verbatim rather than summarized, and implementation completion markers were checked only once the final artifact-completeness assertion passed.

## Reviewer Checkpoints

- Confirm no production, test, contract, spec, roadmap, dispatcher, or tooling file changed.
- Confirm the closing `code_review_cloud_G04_3.log` preserves the trusted setup, focused S03, Node baseline, repeated/race/vet/repository, and auxiliary smoke evidence.
- Confirm every new Verification Results section contains actual stdout/stderr and an explicit exit status; no line beginning with `_Record ` remains.
- Confirm the reconnect diagnostic, LOC check, target readability filter, formatting/diff check, and final artifact assertion exit 0.
- Confirm any nonzero repository-wide readability ratchet names only unrelated worktree paths.
- Confirm `EVIDENCE-1` and the mandatory evidence-file checklist item are checked only after the final artifact assertion passes.

## Verification Results

### `IOP_DEV_RECONNECT_BIND_TIMEOUT=45 ./scripts/dev/edge-node-reconnect-diagnostic.sh`

```text
[diagnostic] Starting edge-node-reconnect-diagnostic (repo-internal)...
[diagnostic] Starting edge.sh...
[diagnostic] Starting node.sh...
[diagnostic] Awaiting node registration...
[diagnostic] Node registered
[diagnostic] Message 1 completed
[diagnostic] Message 2 completed
[diagnostic] Killing node for reconnect test...
[diagnostic] Restarting node...
[node0-evt] connected reason="registered"
[diagnostic] Node reconnected
[diagnostic] Message 3 completed
=== EDGE LOG ===
[edge] config=/tmp/iop-reconnect-diag-lKicmS/edge.yaml
IOP Edge console listening on 127.0.0.1:37185
Console target node= adapter=mock target=mock-stream session=diagnostic-correlation background=false
Start node.sh on another host, then type a message here.
Commands: /nodes, /node <id|alias>, /session <id>, /background on|off, /capabilities, /transport, /exit
edge> [node0-evt] connected reason="registered"
  node0 = test-node (test-node)
edge> [edge] sent run_id=manual-1785885025687018592 node=node0 adapter=mock target=mock-stream session=diagnostic-correlation background=false
[node0-evt] start run_id=manual-1785885025687018592
[node0-msg] echo: Convert token IOP_E2E_HELLO_BASIC and reply only with converted token
[node0-evt] complete run_id=manual-1785885025687018592 detail="mock execution complete"
edge> [edge] sent run_id=manual-1785885026199517759 node=node0 adapter=mock target=mock-stream session=diagnostic-correlation background=false
[node0-evt] start run_id=manual-1785885026199517759
[node0-msg] echo: Convert token IOP_E2E_HELLO_FORMAL and reply only with converted token
[node0-evt] complete run_id=manual-1785885026199517759 detail="mock execution complete"
edge> [node0-capabilities] adapter=mock target=mock-stream session=diagnostic-correlation
  adapter = mock
  capacity = 16
  in_flight = 0
  instance_key =
  max_concurrency = 16
  provider_status = available
  queued = 0
  targets = mock-echo,mock-stream
edge> [node0-transport] adapter=mock target=mock-stream session=diagnostic-correlation
  adapter = mock
  connected = true
  node_id = test-node
  session_id = diagnostic-correlation
  state = connected
  target = mock-stream
edge> [node0-evt] disconnected reason="transport_closed" transport_close_reason="remote_closed" transport_close_error="EOF"
[node0-evt] connected reason="registered"
[edge] sent run_id=manual-1785885033217620679 node=node0 adapter=mock target=mock-stream session=diagnostic-correlation background=false
[node0-evt] start run_id=manual-1785885033217620679
[node0-msg] echo: Convert token IOP_E2E_PING_BASIC and reply only with converted token
[node0-evt] complete run_id=manual-1785885033217620679 detail="mock execution complete"
edge> bye
=== NODE LOG ===
[node] config=/tmp/iop-reconnect-diag-lKicmS/node.yaml
[node] waiting for edge at 127.0.0.1:37185 timeout=30s
[node] edge is reachable
[Fx] PROVIDE	fx.Lifecycle <= go.uber.org/fx.New.func1()
[Fx] PROVIDE	fx.Shutdowner <= go.uber.org/fx.(*App).shutdowner-fm()
[Fx] PROVIDE	fx.DotGraph <= go.uber.org/fx.(*App).dotGraph-fm()
[Fx] PROVIDE	*config.NodeConfig <= iop/apps/node/internal/bootstrap.Module.func2()
[Fx] PROVIDE	*zap.Logger <= iop/apps/node/internal/bootstrap.Module.func3()
[Fx] INVOKE		iop/apps/node/internal/bootstrap.Module.func4()
[Fx] RUN	provide: go.uber.org/fx.New.func1()
[Fx] RUN	provide: iop/apps/node/internal/bootstrap.Module.func2()
[Fx] RUN	provide: iop/apps/node/internal/bootstrap.Module.func3()
[Fx] RUN	provide: go.uber.org/fx.(*App).shutdowner-fm()
[Fx] HOOK OnStart		iop/apps/node/internal/bootstrap.Module.func4.1() executing (caller: iop/apps/node/internal/bootstrap.Module.func4)
[Fx] HOOK OnStart		iop/apps/node/internal/bootstrap.Module.func4.1() called by iop/apps/node/internal/bootstrap.Module.func4 ran successfully in 20µs
[Fx] RUNNING
{"level":"info","ts":1785885023.679384,"caller":"bootstrap/runtime_supervisor.go:116","msg":"connecting to edge","initial":true,"attempt":1,"max_attempts":0,"unlimited":true,"interval_sec":1}
{"level":"info","ts":1785885023.7859795,"caller":"transport/client.go:213","msg":"registered with edge","node_id":"test-node","alias":"test-node"}
{"level":"info","ts":1785885023.7879782,"caller":"store/store.go:62","msg":"store ready","dsn":"file:iop.db?cache=shared&mode=rwc"}
{"level":"info","ts":1785885023.7885973,"caller":"bootstrap/module.go:163","msg":"connected to edge","node_id":"test-node","alias":"test-node"}
{"level":"info","ts":1785885025.6882396,"caller":"node/run_handler.go:19","msg":"run request received","run_id":"manual-1785885025687018592","adapter":"mock","target":"mock-stream"}
[edge-message] Convert token IOP_E2E_HELLO_BASIC and reply only with converted token
{"level":"info","ts":1785885025.6891162,"caller":"mock/mock.go:48","msg":"mock adapter executing","run_id":"manual-1785885025687018592"}
[node-event] start run_id=manual-1785885025687018592
[node-message] echo: Convert token IOP_E2E_HELLO_BASIC and reply only with converted token
[node-event] complete run_id=manual-1785885025687018592 detail="mock execution complete"
{"level":"info","ts":1785885026.1999514,"caller":"node/run_handler.go:19","msg":"run request received","run_id":"manual-1785885026199517759","adapter":"mock","target":"mock-stream"}
[edge-message] Convert token IOP_E2E_HELLO_FORMAL and reply only with converted token
{"level":"info","ts":1785885026.2002172,"caller":"mock/mock.go:48","msg":"mock adapter executing","run_id":"manual-1785885026199517759"}
[node-event] start run_id=manual-1785885026199517759
[node-message] echo: Convert token IOP_E2E_HELLO_FORMAL and reply only with converted token
[node-event] complete run_id=manual-1785885026199517759 detail="mock execution complete"
{"level":"info","ts":1785885026.7172801,"caller":"node/command_handler.go:20","msg":"command request","request_id":"caps-1785885026716996675","type":"NODE_COMMAND_TYPE_CAPABILITIES","adapter":"mock","target":"mock-stream"}
{"level":"info","ts":1785885026.9185388,"caller":"node/command_handler.go:20","msg":"command request","request_id":"transport-1785885026918332884","type":"NODE_COMMAND_TYPE_TRANSPORT_STATUS","adapter":"mock","target":"mock-stream"}
[Fx] TERMINATED
[Fx] HOOK OnStop		iop/apps/node/internal/bootstrap.Module.func4.2() executing (caller: iop/apps/node/internal/bootstrap.Module.func4)
{"level":"info","ts":1785885027.6341417,"caller":"transport/session.go:156","msg":"disconnected from edge","transport_close_reason":"local_close","transport_close_error":"read tcp 127.0.0.1:55682->127.0.0.1:37185: use of closed network connection"}
[edge-event] disconnected reason="local_shutdown" transport_close_reason="local_close" transport_close_error="read tcp 127.0.0.1:55682->127.0.0.1:37185: use of closed network connection"
[Fx] HOOK OnStop		iop/apps/node/internal/bootstrap.Module.func4.2() called by iop/apps/node/internal/bootstrap.Module.func4 ran successfully in 193.791µs
[node] config=/tmp/iop-reconnect-diag-lKicmS/node.yaml
[node] waiting for edge at 127.0.0.1:37185 timeout=30s
[node] edge is reachable
[Fx] PROVIDE	fx.Lifecycle <= go.uber.org/fx.New.func1()
[Fx] PROVIDE	fx.Shutdowner <= go.uber.org/fx.(*App).shutdowner-fm()
[Fx] PROVIDE	fx.DotGraph <= go.uber.org/fx.(*App).dotGraph-fm()
[Fx] PROVIDE	*config.NodeConfig <= iop/apps/node/internal/bootstrap.Module.func2()
[Fx] PROVIDE	*zap.Logger <= iop/apps/node/internal/bootstrap.Module.func3()
[Fx] INVOKE		iop/apps/node/internal/bootstrap.Module.func4()
[Fx] RUN	provide: go.uber.org/fx.New.func1()
[Fx] RUN	provide: iop/apps/node/internal/bootstrap.Module.func2()
[Fx] RUN	provide: iop/apps/node/internal/bootstrap.Module.func3()
[Fx] RUN	provide: go.uber.org/fx.(*App).shutdowner-fm()
[Fx] HOOK OnStart		iop/apps/node/internal/bootstrap.Module.func4.1() executing (caller: iop/apps/node/internal/bootstrap.Module.func4)
[Fx] HOOK OnStart		iop/apps/node/internal/bootstrap.Module.func4.1() called by iop/apps/node/internal/bootstrap.Module.func4 ran successfully in 11.833µs
[Fx] RUNNING
{"level":"info","ts":1785885031.6215587,"caller":"bootstrap/runtime_supervisor.go:116","msg":"connecting to edge","initial":true,"attempt":1,"max_attempts":0,"unlimited":true,"interval_sec":1}
{"level":"info","ts":1785885031.7258182,"caller":"transport/client.go:213","msg":"registered with edge","node_id":"test-node","alias":"test-node"}
{"level":"info","ts":1785885031.7270155,"caller":"store/store.go:62","msg":"store ready","dsn":"file:iop.db?cache=shared&mode=rwc"}
{"level":"info","ts":1785885031.7276561,"caller":"bootstrap/module.go:163","msg":"connected to edge","node_id":"test-node","alias":"test-node"}
{"level":"info","ts":1785885033.2180195,"caller":"node/run_handler.go:19","msg":"run request received","run_id":"manual-1785885033217620679","adapter":"mock","target":"mock-stream"}
[edge-message] Convert token IOP_E2E_PING_BASIC and reply only with converted token
{"level":"info","ts":1785885033.2195654,"caller":"mock/mock.go:48","msg":"mock adapter executing","run_id":"manual-1785885033217620679"}
[node-event] start run_id=manual-1785885033217620679
[node-message] echo: Convert token IOP_E2E_PING_BASIC and reply only with converted token
[node-event] complete run_id=manual-1785885033217620679 detail="mock execution complete"
{"level":"info","ts":1785885033.732745,"caller":"transport/session.go:156","msg":"disconnected from edge","transport_close_reason":"remote_closed","transport_close_error":"EOF"}
[edge-event] disconnected reason="transport_closed" transport_close_reason="remote_closed" transport_close_error="EOF"
[diagnostic] Verifying payload sequence, terminal ordering, and command responses...
[diagnostic] Checking run 1 run_id=manual-1785885025687018592 token=IOP_E2E_HELLO_BASIC
[diagnostic] Checking run 2 run_id=manual-1785885026199517759 token=IOP_E2E_HELLO_FORMAL
[diagnostic] Checking run 3 run_id=manual-1785885033217620679 token=IOP_E2E_PING_BASIC
[diagnostic] PASS: 3 mock-provider runs verified — registration, ordered Node==Edge payloads, one terminal after the last payload, /nodes, /capabilities, /transport, reconnect, and absent session/status ownership commands.
[diagnostic] Cleaning up...
```

Exit code 0.

### `python3 -c 'from pathlib import Path; paths=[Path(p) for p in ("apps/node/internal/node/liveness_watchdog_test.go","apps/node/internal/node/liveness_watchdog_lifecycle_test.go","apps/node/internal/node/liveness_health_evidence_test.go","apps/node/internal/node/provider_tunnel_test.go","apps/node/internal/node/provider_tunnel_liveness_test.go")]; bad={str(p):sum(1 for _ in p.open()) for p in paths if sum(1 for _ in p.open()) > 800}; assert not bad, bad'`

```text
(no stdout/stderr emitted; the assertion passed, so none of the five listed test files exceeds the 800-line LOC cap)
```

Exit code 0.

### `make readability-audit`

```text
python3 scripts/readability_audit.py --check --input-mode worktree --output build/readability-audit.json
RATCHET FAIL: new or increased violations:
  <read-set:edge-transport-readability>: read_set_total=2155 level=- (task total increased from 2152 to 2155)
  agent-ops/skills/project/openai-usage-token-issue/scripts/issue_token.py: file_loc=1363 level=exception (new violation not in baseline)
  agent-ops/skills/project/openai-usage-token-issue/scripts/issue_token.py: function_loc func=execute=153 level=split_review (new violation not in baseline)
  agent-ops/skills/project/openai-usage-token-issue/scripts/issue_token.py: function_loc func=selftest=83 level=warning (new violation not in baseline)
  agent-ops/skills/project/orchestrate-agent-task-loop/scripts/dispatch.py: function_loc func=invoke=599 level=split_review (value increased from 594)
  agent-ops/skills/project/orchestrate-agent-task-loop/scripts/dispatch.py: function_loc func=run_review=134 level=split_review (value increased from 122)
  agent-ops/skills/project/orchestrate-agent-task-loop/scripts/dispatch.py: function_loc func=terminal_diagnostic=90 level=warning (new violation not in baseline)
  agent-ops/skills/project/orchestrate-agent-task-loop/tests/test_dispatch.py: file_loc=13415 level=split_review (value increased from 12738)
  agent-ops/skills/project/orchestrate-agent-task-loop/tests/test_dispatch.py: function_loc func=SelectorDispatcherIntegrationTest.test_review_recovery_and_runtime_audit_evidence=347 level=split_review (value increased from 346)
  agent-ops/skills/project/orchestrate-agent-task-loop/tests/test_dispatch.py: function_loc func=ThroughputQuotaBatchTest.test_retry_blocked_scopes_to_blocked_worker_and_selects_glm_fallback=174 level=split_review (value increased from 168)
  agent-ops/skills/project/orchestrate-agent-task-loop/tests/test_dispatch.py: function_loc func=ThroughputQuotaBatchTest.test_retry_blocked_scopes_to_blocked_worker_and_selects_glm_fallback._async_run=171 level=split_review (value increased from 165)
  agent-ops/skills/project/orchestrate-agent-task-loop/tests/test_dispatch.py: function_loc func=DispatcherCanonicalFailoverIntegrationTest.test_archived_review_recovery_uses_review_lane_fallback=99 level=warning (new violation not in baseline)
  agent-ops/skills/project/orchestrate-agent-task-loop/tests/test_dispatch.py: function_loc func=DispatcherCanonicalFailoverIntegrationTest.test_cloud_agy_quota_failover_commits_glm_max=92 level=warning (new violation not in baseline)
  agent-ops/skills/project/orchestrate-agent-task-loop/tests/test_dispatch.py: function_loc func=DispatcherCanonicalFailoverIntegrationTest.test_cloud_g01_g02_quota_failover_runs_spark_gemini_glm_medium=115 level=warning (new violation not in baseline)
  agent-ops/skills/project/orchestrate-agent-task-loop/tests/test_dispatch.py: function_loc func=DispatcherCanonicalFailoverIntegrationTest.test_cloud_g07_provider_quota_follows_lane_array_to_codex=84 level=warning (new violation not in baseline)
  agent-ops/skills/project/orchestrate-agent-task-loop/tests/test_dispatch.py: function_loc func=DispatcherConvergenceSimulationTest.test_review_finalization_mismatch_keeps_dispatcher_running=92 level=warning (new violation not in baseline)
  agent-ops/skills/project/orchestrate-agent-task-loop/tests/test_dispatch.py: function_loc func=DynamicFailoverBudgetTest.test_primary_and_alternate_share_budget_across_reopen=100 level=warning (value increased from 87)
  agent-ops/skills/project/orchestrate-agent-task-loop/tests/test_dispatch.py: function_loc func=SelectorDispatcherIntegrationTest.test_context_budget_and_retry_blocked_lifecycle=93 level=warning (value increased from 92)
  agent-ops/skills/project/orchestrate-agent-task-loop/tests/test_dispatch.py: function_loc func=ThroughputQuotaBatchTest.test_retry_blocked_quota_refresh_lifecycle=109 level=warning (value increased from 102)
  agent-ops/skills/project/orchestrate-agent-task-loop/tests/test_select_execution_target.py: file_loc=1796 level=split_review (value increased from 1684)
  agent-ops/skills/project/orchestrate-agent-task-loop/tests/test_select_execution_target.py: function_loc func=SelectorFailoverContractTests.test_cloud_g01_g02_quota_failover_follows_spark_gemini_glm_medium_order=84 level=warning (new violation not in baseline)
readability-audit: 499 files, 228289 LOC, 6857 functions, 533 violations
make: *** [Makefile:79: readability-audit] Error 4
```

Exit code 2.

### `python3 -c 'import json; target={"apps/node/internal/node/liveness_health_evidence.go","apps/node/internal/node/liveness_watchdog_test.go","apps/node/internal/node/liveness_watchdog_lifecycle_test.go","apps/node/internal/node/liveness_health_evidence_test.go","apps/node/internal/node/provider_tunnel_test.go","apps/node/internal/node/provider_tunnel_liveness_test.go"}; data=json.load(open("build/readability-audit.json")); bad=[v for v in data["violations"] if v.get("path") in target]; assert not bad, bad'`

```text
(no stdout/stderr emitted; the assertion passed — none of the six target files appears in the readability-audit violations, so all repository-wide ratchet violations recorded above are unrelated worktree paths)
```

Exit code 0.

### `test -z "$(gofmt -l apps/node/internal/node/liveness_health_evidence.go apps/node/internal/node/liveness_watchdog_test.go apps/node/internal/node/liveness_watchdog_lifecycle_test.go apps/node/internal/node/liveness_health_evidence_test.go apps/node/internal/node/provider_tunnel_test.go apps/node/internal/node/provider_tunnel_liveness_test.go)" && git diff --check`

```text
(no stdout/stderr emitted; gofmt reported no unformatted target file and `git diff --check` reported no whitespace/conflict markers)
```

Exit code 0.

### `python3 -c 'from pathlib import Path; p=Path("agent-task/m-node-provider-execution-liveness-recovery/04+03_health_evidence/CODE_REVIEW-cloud-G04.md"); s=p.read_text(); bad=[(i,l) for i,l in enumerate(s.splitlines(),1) if l.startswith("_Record ")]; assert not bad, bad; assert "| EVIDENCE-1 — Remaining verification evidence | [x] |" in s; assert "- [x] [EVIDENCE-1]" in s; assert "- [x] Fill implementation-owned sections in CODE_REVIEW-*-G??.md with actual implementation notes and verification output." in s; assert s.count("Exit code ") >= 6'`

```text
(no stdout/stderr emitted; the artifact-completeness assertion passed — no line beginning with `_Record ` remains, the EVIDENCE-1 completion item, the mandatory evidence-file checklist item, and the >=6 `Exit code ` count all hold)
```

Exit code 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:** PASS
- **Dimension Assessment:**
  - Correctness: Pass
  - Completeness: Pass
  - Test coverage: Pass
  - API contract: Pass
  - Code quality: Pass
  - Implementation deviation: Pass
  - Verification trust: Pass
  - Spec conformance: Pass
- **Findings:** None
- **Routing Signals:** `review_rework_count=4`, `evidence_integrity_failure=false`
- **Next Step:** Write `complete.log`, archive the active pair and completed split task, and emit the milestone completion metadata for runtime aggregation.
