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

# PLAN — Complete the Remaining Verification Evidence

## For the Implementing Agent

Run only the remaining verification/evidence checklist and fill every implementation-owned section of `CODE_REVIEW-cloud-G04.md` with actual stdout/stderr and an explicit exit status. Keep the active pair in place and report ready for review. If blocked, record the exact blocker, attempted command/output, and resume condition only 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`; finalization belongs to the code-review skill.

## Background

The fourth official review reconfirmed that the focused S03 health-classification tests and complete Node baseline pass, but the evidence-only follow-up still left six verification sections, both implementation completion items, and the implementation notes unfinished. The exact artifact-completeness assertion exits 1 against the closing review. This follow-up changes no product behavior and closes only the remaining evidence sections without rerunning already trusted setup, focused, and Node-baseline evidence.

## 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.

## Analysis

### Files Read

- `agent-task/m-node-provider-execution-liveness-recovery/04+03_health_evidence/PLAN-cloud-G04.md`
- `agent-task/m-node-provider-execution-liveness-recovery/04+03_health_evidence/CODE_REVIEW-cloud-G04.md`
- `agent-task/m-node-provider-execution-liveness-recovery/04+03_health_evidence/plan_cloud_G04_2.log`
- `agent-task/m-node-provider-execution-liveness-recovery/04+03_health_evidence/code_review_cloud_G04_2.log`
- `agent-task/archive/2026/08/m-node-provider-execution-liveness-recovery/03+02_health_probe_contract/complete.log`
- `agent-roadmap/current.md`
- `agent-roadmap/phase/operational-observability-provider-management/PHASE.md`
- `agent-roadmap/phase/operational-observability-provider-management/milestones/node-provider-execution-liveness-recovery.md`
- `agent-roadmap/sdd/operational-observability-provider-management/node-provider-execution-liveness-recovery/SDD.md`
- `agent-spec/index.md`
- `agent-spec/runtime/edge-node-execution.md`
- `agent-contract/index.md`
- `agent-contract/inner/execution-runtime.md`
- `agent-contract/inner/edge-node-runtime-wire.md`
- `agent-ops/rules/project/domain/node/rules.md`
- `agent-ops/rules/project/domain/platform-common/rules.md`
- `agent-ops/rules/project/domain/testing/rules.md`
- `agent-test/local/rules.md`
- `agent-test/local/node-smoke.md`
- `agent-test/local/platform-common-smoke.md`
- `agent-test/local/testing-smoke.md`
- `agent-ops/skills/project/e2e-smoke/SKILL.md`
- `.gitignore`

### SDD Criteria

- SDD: `agent-roadmap/sdd/operational-observability-provider-management/node-provider-execution-liveness-recovery/SDD.md`; status `[승인됨]`, lock released, no `USER_REVIEW.md`.
- Milestone scope: `milestone-task=health-classification`.
- Targeted scenario/evidence: S03 and its Evidence Map row require available/unavailable/unsupported/timeout classification, adapter/target/connection-scoped observation sequence evidence, and proof that probe completion does not reset original-request progress.
- The closing review and fresh reviewer replay preserve the focused S03 and Node-baseline evidence. The remaining checklist supplies local reconnect and deterministic readability/format/artifact evidence needed to make the aggregate task record complete and trustworthy.

### Verification Context

- No neutral verification handoff was supplied. Repository-native sources are the Node/platform-common/testing domain rules, local verification profiles, the tracked local reconnect script, the approved SDD, the closing loop logs, and the current checkout.
- Preconditions: repository root `/config/workspace/iop-s1`; Go module mode; no credential, external provider, remote runner, user-controlled device, or external authorization is required.
- Fresh reviewer replay: `test -x ./scripts/e2e-smoke.sh && git ls-files --error-unmatch scripts/e2e-smoke.sh && go version && go env GOMOD` exits 0; 20 focused health-pair iterations exit 0; `go test -count=1 ./packages/go/execution ./apps/node/...` exits 0.
- Fresh failure reproduction: the exact closing artifact-completeness command exits 1 because completion items and implementation-owned sections remain unfinished.
- Constraint: `make readability-audit` may remain nonzero only for unrelated worktree paths. Its actual output and exit status must be recorded, and the deterministic target filter must exit 0.
- Gap: only the six commands listed in Final Verification and the implementation-owned notes/checks remain. Confidence is high because the behavior path and Node baseline are already freshly verified.

### Test Coverage Gaps

- No product behavior or test code changes are planned.
- Existing archived and fresh reviewer evidence covers the S03 health pairs and Node baseline.
- The remaining gap is local reconnect, LOC/readability, formatting/diff, and artifact-completeness evidence in the active review artifact.

### Symbol References

- None. No symbol is renamed, removed, or added.

### Split Judgment

- Keep one plan. This is one compact evidence-fidelity correction with a single independently reviewable PASS state; splitting its six remaining commands would leave no useful intermediate contract.
- Dependency `03+02_health_probe_contract` is satisfied by `agent-task/archive/2026/08/m-node-provider-execution-liveness-recovery/03+02_health_probe_contract/complete.log`.

### Scope Rationale

- In scope: execute the six remaining verification commands, replace every implementation-owned placeholder in `CODE_REVIEW-cloud-G04.md`, reconcile prose with actual results, and check both implementation completion items.
- Excluded: production Go files, test code, contracts, specs, roadmap state, dispatcher/tooling, prior trusted verification reruns, commit, and push. The current Required finding does not require a behavior change.

### Final Routing

- `evaluation_mode=isolated-reassessment`; finalizer `finalize-task-policy.sh`, pair mode; status `routed`.
- Build closures: scope/context/verification/evidence/ownership/decision all true; no capability gap. Scores `scope=0,state=0,blast=0,evidence=2,verification=2` produce G04. Base `local-fit`; `review_rework_count=4` and `evidence_integrity_failure=true` select `recovery-boundary`, cloud lane, canonical `PLAN-cloud-G04.md`.
- Review closures: all true; no capability gap. Scores `scope=0,state=0,blast=0,evidence=2,verification=2` produce G04, `official-review`, cloud lane, canonical `CODE_REVIEW-cloud-G04.md`.
- `large_indivisible_context=false`; no positive packet-local loop-risk signature (`count=0`); recovery boundary matched.

## Implementation Checklist

- [ ] [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.
- [ ] Fill implementation-owned sections in CODE_REVIEW-*-G??.md with actual implementation notes and verification output.

### [EVIDENCE-1] Remaining verification evidence

**Problem:** `agent-task/m-node-provider-execution-liveness-recovery/04+03_health_evidence/code_review_cloud_G04_3.log:46`, `:50-51`, `:69-75`, and `:227-249` leave the only evidence deliverable incomplete. The closing artifact-completeness assertion exits 1.

**Solution:** Make no source change. Run the six commands in Final Verification from the repository root, paste each command's actual stdout/stderr and explicit exit status into the matching section of the new review stub, replace the `Deviations from Plan` and `Key Design Decisions` placeholders with factual English text, then check `EVIDENCE-1` and the mandatory evidence-file item. The last assertion detects any line that still begins with `_Record ` and verifies all completion markers.

Before:

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

_Record actual stdout/stderr and explicit exit status here. Do not summarize or reconstruct output._
```

After:

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

```text
<actual command output>
```

Exit code 0.
````

**Modified Files and Checklist:**

- [ ] `agent-task/m-node-provider-execution-liveness-recovery/04+03_health_evidence/CODE_REVIEW-cloud-G04.md` — record the six remaining command results, implementation notes, and completion markers.

**Test Strategy:** No new test code. Existing S03 and Node tests already pass in fresh reviewer execution; this follow-up runs only the missing local reconnect and deterministic evidence-quality commands.

**Verification:** Run every command in Final Verification exactly. The reconnect, LOC, target filter, formatting/diff, and artifact-completeness commands must exit 0. Record the actual `make readability-audit` exit status; a nonzero result is acceptable only when its output names no target file and the following target filter exits 0.

## Modified Files Summary

| Path | Action | Checklist |
|------|--------|-----------|
| `agent-task/m-node-provider-execution-liveness-recovery/04+03_health_evidence/CODE_REVIEW-cloud-G04.md` | complete remaining exact evidence | EVIDENCE-1 |

## Final Verification

1. `IOP_DEV_RECONNECT_BIND_TIMEOUT=45 ./scripts/dev/edge-node-reconnect-diagnostic.sh` — registration, ordered payloads, commands, reconnect, and terminal checks PASS.
2. `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'` — exit zero.
3. `make readability-audit` — record exact output and exit status; a nonzero repository ratchet is acceptable only for unrelated worktree paths.
4. `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'` — exit zero.
5. `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` — exit zero.
6. `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'` — exit zero after every implementation-owned section is complete.

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