<!-- task=m-iop-hot-path-one-shot-execution/20+17,19_smoke_harness plan=12 tag=RECONCILE milestone-task=hot-smoke -->

# Reconcile the reset Hot Path source with the current provider-only baseline

## For the Implementing Agent

Implement every checklist item, run the exact verification commands, and fill the implementation-owned sections of `CODE_REVIEW-cloud-G09.md` with actual notes and stdout/stderr. Execute the root cause, scope, files, and dependency decisions below as written: do not choose another owner, narrow or expand the write boundary, restore whole files from the backup commit, or replace the source fix with another verification attempt. Keep the active PLAN/CODE_REVIEW files in place and report ready for review. If blocked, record only the exact blocker, attempted commands/output, and resume condition in implementation-owned evidence fields. Do not ask the user, call user-input tools, create control-plane stop files, classify the next state, archive logs, or write `complete.log`; finalization is owned by the code-review skill.

## Background

The smoke harness itself passes, but a reset left pre-reset Hot Path feature files/tests paired with the newer provider-only baseline while dropping their tracked integration hunks. The previous loop repeatedly reran the same failing package command while excluding the repository-fixable source owners. This plan closes that ownership gap by adapting only the still-valid Hot Path hunks to current contracts, then collecting one fresh integrated result.

## Archive Evidence Snapshot

- Plan 11 is preserved at `agent-task/m-iop-hot-path-one-shot-execution/20+17,19_smoke_harness/plan_cloud_G03_11.log`; its review stub is preserved at `agent-task/m-iop-hot-path-one-shot-execution/20+17,19_smoke_harness/code_review_cloud_G03_11.log`.
- Plan 10 review at `agent-task/m-iop-hot-path-one-shot-execution/20+17,19_smoke_harness/code_review_cloud_G03_10.log` ended `FAIL` with two unnumbered Required findings, zero Suggested findings, and zero Nits. They are assigned stable ids R1 and R2 below. Routing signals remain `review_rework_count=9` and `evidence_integrity_failure=true`.
- Backup commit `f7af4f4857055a80efd73c563422f530775a102b` records the tracked worktree immediately before the reset. It contains the missing Hot Path outer-turn, observer, lifecycle, normalized-delta, cleanup-stage, and RunEvent-observer integration. It is comparison evidence only, not a whole-file checkout source.
- Commit `c8e98d4e10b30114de7bafe426a4045abd6c1205` deliberately removed legacy CLI adapter configuration and added `packages/go/config/legacy_provider_rejection_test.go`. The untracked `packages/go/config/edge_cli_config_test.go` is the superseded pre-provider-only test and is recoverable from the backup commit.
- Split prerequisites remain complete at `agent-task/archive/2026/08/m-iop-hot-path-one-shot-execution/17+14,15,16_endpoint_error_matrix/complete.log` and `agent-task/archive/2026/08/m-iop-hot-path-one-shot-execution/19+17,18_observation_lifecycle/complete.log`, but those completion logs do not prove the current checkout compiles after the reset.

## Finding Resolution Map

| ID | Mode | Exact fix/evidence | Changed precondition |
|---|---|---|---|
| R1 | `direct-fix` | Remove the two superseded CLI/workspace tests, retain the current reserved wire fields and run-id-only cancellation contract, and selectively reconcile the Hot Path/outer-turn implementation and test-support files listed in `Modified Files Summary` using current specs/tests plus backup commit `f7af4f48` as comparison evidence. | The common regression changes from mixed pre-/post-provider-only contracts and missing Hot Path owners to one current provider-only boundary and a compile-consistent Hot Path implementation. |
| R2 | `direct-fix` | Replace stale blocker text with exact same-checkout output in `agent-task/m-iop-hot-path-one-shot-execution/20+17,19_smoke_harness/CODE_REVIEW-cloud-G09.md` after R1 is implemented. | Review evidence changes from a diagnosis contradicted by current source to fresh output tied to the fixed checkout. |

`ownership_closed=true`: both inherited Required findings are repository-local direct fixes in this packet. No active PLAN owns these files, and no dependency evidence proves the failed precondition is already satisfied.

## Analysis

### Files Read

- `agent-task/m-iop-hot-path-one-shot-execution/20+17,19_smoke_harness/PLAN-cloud-G03.md` (archived as `plan_cloud_G03_11.log`)
- `agent-task/m-iop-hot-path-one-shot-execution/20+17,19_smoke_harness/CODE_REVIEW-cloud-G03.md` (archived as `code_review_cloud_G03_11.log`)
- `agent-task/m-iop-hot-path-one-shot-execution/20+17,19_smoke_harness/code_review_cloud_G03_10.log`
- `agent-task/archive/2026/08/m-iop-hot-path-one-shot-execution/17+14,15,16_endpoint_error_matrix/complete.log`
- `agent-task/archive/2026/08/m-iop-hot-path-one-shot-execution/18+17_observation_schema/complete.log`
- `agent-task/archive/2026/08/m-iop-hot-path-one-shot-execution/18+17_observation_schema/plan_cloud_G06_3.log`
- `agent-task/archive/2026/08/m-iop-hot-path-one-shot-execution/18+17_observation_schema/code_review_cloud_G06_3.log`
- `agent-task/archive/2026/08/m-iop-hot-path-one-shot-execution/19+17,18_observation_lifecycle/complete.log`
- `agent-task/archive/2026/08/m-iop-hot-path-one-shot-execution/19+17,18_observation_lifecycle/plan_cloud_G09_2.log`
- `apps/edge/internal/openai/server.go`
- `apps/edge/internal/openai/hot_path_selector.go`
- `apps/edge/internal/openai/hot_path_direct.go`
- `apps/edge/internal/openai/hot_path_dispatch.go`
- `apps/edge/internal/openai/hot_path_light.go`
- `apps/edge/internal/openai/hot_path_cleanup.go`
- `apps/edge/internal/openai/request_identity_ingress.go`
- `apps/edge/internal/openai/request_coordinator_ttl.go`
- `apps/edge/internal/openai/stream_gate_runtime.go`
- `apps/edge/internal/openai/hot_path_observation.go`
- `apps/edge/internal/openai/hot_path_stage_stream.go`
- `apps/edge/internal/openai/hot_path_terminal_control.go`
- `apps/edge/internal/openai/hot_path_terminal_control_test.go`
- `apps/edge/internal/openai/hot_path_direct_test.go`
- `apps/edge/internal/openai/hot_path_light_test.go`
- `apps/edge/internal/openai/hot_path_observation_test.go`
- `apps/edge/internal/openai/stream_gate_pipeline_test.go`
- `apps/edge/internal/openai/anthropic_handler.go`
- `apps/edge/internal/openai/anthropic_stream.go`
- `apps/edge/internal/openai/artifact_pair.go`
- `apps/edge/internal/openai/chat_handler.go`
- `apps/edge/internal/openai/hot_path_review.go`
- `apps/edge/internal/openai/normalized_sse.go`
- `apps/edge/internal/openai/route_resolution.go`
- `packages/go/config/config.go`
- `packages/go/config/edge_types.go`
- `packages/go/config/adapter_types.go`
- `packages/go/config/provider_types.go`
- `packages/go/config/edge_cli_config_test.go`
- `packages/go/config/legacy_provider_rejection_test.go`
- `apps/edge/internal/service/run_cancel.go`
- `apps/edge/internal/service/run_types.go`
- `apps/edge/internal/service/run_wire.go`
- `proto/iop/runtime.proto`
- `proto/gen/iop/runtime.pb.go`
- `scripts/e2e-hot-path-agents.sh`
- `scripts/fixtures/hot-path-agent-smoke-manifest.schema.json`
- `agent-roadmap/sdd/knowledge-tool-optimization-extension/iop-hot-path-one-shot-execution/SDD.md`
- `agent-spec/runtime/stream-evidence-gate.md`
- `agent-spec/input/openai-compatible-surface.md`
- `agent-contract/outer/openai-compatible-api.md`
- `agent-ops/rules/project/domain/testing/rules.md`
- `agent-ops/rules/project/domain/edge/rules.md`
- `agent-ops/rules/project/domain/platform-common/rules.md`
- `agent-test/local/rules.md`
- `agent-test/local/testing-smoke.md`
- `agent-test/local/edge-smoke.md`
- `agent-test/local/platform-common-smoke.md`

### SDD Criteria

- SDD: `agent-roadmap/sdd/knowledge-tool-optimization-extension/iop-hot-path-one-shot-execution/SDD.md`; status `[승인됨]`; SDD lock is released and no SDD `USER_REVIEW.md` exists.
- Contribution id remains `hot-smoke`; the targeted Acceptance Scenario is S16.
- S16 requires actual Claude/Pi streaming plus workspace before/after evidence. This child restores and verifies the deterministic fail-closed harness prerequisite only; it does not claim the downstream credentialed run.
- The S16 Evidence Map and common completion rules require the fixed harness/schema checks, the race-enabled common package regression, and diff integrity in one checkout. Those commands remain one final invariant.

### Verification Context

- Fresh current-checkout execution of `go test -race -count=1 ./packages/go/streamgate ./packages/go/config ./apps/edge/internal/openai ./apps/edge/internal/service` exits 1. Config reports missing removed CLI types; OpenAI initially reports missing normalized-stage/observer seams.
- A second compile-only diagnostic with `-gcflags='all=-e'` exposed the errors hidden behind the compiler's default ten-error limit: outer-turn integration methods/signatures and current test helpers are missing, while `hot_path_stage_stream.go`, `hot_path_terminal_control_test.go`, `route_resolution.go`, and `workspace_metadata_test.go` still reference workspace/session/cancel fields deliberately removed by the provider-only refactor.
- The config errors are not evidence to restore CLI support. Commit `c8e98d4e` and the tracked `legacy_provider_rejection_test.go` establish that CLI adapter config was intentionally removed; the untracked pre-refactor test is the incompatible artifact. `config.go` alone retained stale file-map prose.
- `agent-spec/input/openai-compatible-surface.md` explicitly records removal of IOP-owned workspace and Agent/CLI runtime semantics. `proto/iop/runtime.proto` reserves `RunRequest.workspace/session_mode` and `CancelRequest.adapter/target/session_id/action`; these reservations and the current run-id-only service cancellation API must remain unchanged.
- A disposable worktree probe proved that checking out whole files from `f7af4f48` is unsafe: it reintroduced removed CLI/workspace/session behavior. The backup is therefore used only to locate Hot Path/outer-turn hunks that are adapted to current provider-only types.
- No active task owns the failing files. The downstream `agent-task/m-iop-hot-path-one-shot-execution/21+20_hot_smoke_actual/PLAN-local-G07.md` depends on this child and must wait for this integrated command to pass.
- Toolchain is `go1.26.2 linux/arm64`, Bash, jq, and GNU coreutils. Verification is local, deterministic, credential-free, and uses `-count=1`; cached Go evidence is not accepted.

### Test Coverage Gaps

- Existing `hot_path_observation_test.go` already exercises production observer setup, concurrent replacement, failure isolation, exact pass/repair traces, direct and light terminal paths, dispatch rejection, cleanup, caller cancellation/write failure, and TTL orphaning. It currently cannot run because source compilation stops first.
- Existing terminal/stage-stream tests cover normalized delta ordering, outer-turn arbitration, RunEvent observation, and cancellation ownership. Their obsolete assertions about removed cancellation wire fields must be rewritten to assert the current run-id-only request, without weakening cancellation behavior.
- Tracked `legacy_provider_rejection_test.go` covers the current config contract. The conflicting untracked CLI acceptance test is obsolete, not a behavior to restore.
- `workspace_metadata_test.go` exclusively tests the removed IOP-owned workspace field and is likewise obsolete. Current test-helper implementations in `hot_path_direct_test.go` and `hot_path_light_test.go` must be reconciled with the active Hot Path gate/observation tests.
- No new test file and no weakened lifecycle expectation is needed.

### Symbol References

- `normalizedStageDelta` and its three closed kinds are consumed by `hot_path_terminal_control.go` and `hot_path_stage_stream.go`; their owner is `hot_path_selector.go`, including `normalizedStageOutput.Deltas` and `ProgressivelyReleased`.
- `reasonArtifactRequired` is mapped to the closed observation reason in `hot_path_observation.go` and must be emitted from the artifact-frontier rejection branch in `hot_path_dispatch.go`.
- `Server.emitHotPathObservation`, observer/hook accessors, and default zap initialization belong in `server.go`; Stream Gate `obsSink` remains a separate contract.
- `hotPathLightStore.cleanupStage` supplies cleanup correlation for observation helpers and belongs in `hot_path_light.go`.
- `openAIRunEventSource.observeRunEvents` belongs in `stream_gate_runtime.go`; it observes each non-nil real RunEvent before translation and propagates observer validation errors.
- `hotPathOuterTurn`, already defined in `hot_path_terminal_control.go`, must be threaded through current Chat/Anthropic admission, selector, stage, direct, review, cleanup, and protocol-release paths. `runLivePresetSelectorResult`, rejected-dispatch disposal, output-budget projection, and the optional outer argument to stage submission belong to the existing Hot Path owners, not service/proto.
- `hot_path_stage_stream.go` must build `CancelRunRequest` with only `NodeRef` and `RunID`. `hot_path_terminal_control_test.go` must verify that same current request; removed session/action fields are not restored.
- `route_resolution.go` must stop copying `WorkspaceRequired`; the current config/wire contract intentionally has no such field. `workspace_metadata_test.go` is deleted rather than driving the source backward.
- Lifecycle call sites are owned by `hot_path_direct.go`, `hot_path_dispatch.go`, `hot_path_light.go`, `request_identity_ingress.go`, `hot_path_cleanup.go`, and `request_coordinator_ttl.go`. They must emit exact-once closed projections while keeping removed CLI/workspace/session contracts out of the reconciled outer turn.

### Split Judgment

- Keep one reconciliation plan. The reset broke one cross-file compile/lifecycle invariant, and the smoke child cannot pass independently of the source owners now included here.
- Predecessors 17 and 19 have completion logs, but fresh source and compiler evidence contradict the required current precondition. A completion log alone is not a satisfied dependency.
- Creating another unordered recovery sibling would only move the same ownership decision and prolong the loop. This packet directly owns the repair; child 21 remains the ordered downstream actual-smoke task.

### Scope Rationale

- Compare Hot Path/outer-turn hunks against `f7af4f48`, then adapt them to current source. Do not run `git checkout f7af4f48 -- <file>`, apply its full patch, restore config CLI/workspace/session types, or copy old service/proto/Node contracts.
- Retain the current untracked Hot Path implementation/tests as task inputs. Modify only the exact claimed untracked files and remove only `packages/go/config/edge_cli_config_test.go` and `apps/edge/internal/openai/workspace_metadata_test.go`; both deleted files remain recoverable from `f7af4f48`.
- Keep `proto/iop/runtime.proto`, generated proto, `apps/edge/internal/service/**`, Node, Makefile, deployment, credentials, tracked smoke output, roadmap, specs, contracts, and dispatcher files unchanged.

### Final Routing

- `evaluation_mode=isolated-reassessment`; finalizer=`finalize-task-policy.sh pair`.
- Build closures are all true. Scores are scope/state/blast/evidence/verification=`2/2/1/2/2`, grade G09, base/final route `grade-boundary`, lane `cloud`, filename `PLAN-cloud-G09.md`.
- Review closures are all true. Scores are `2/2/1/2/2`, grade G09, route `official-review`, lane `cloud`, filename `CODE_REVIEW-cloud-G09.md`.
- `large_indivisible_context=true`: 24 exact write claims share outer-turn state and overlapping direct/light ownership, so splitting would duplicate the same source contracts without an independently passing OpenAI package. Positive loop risks are `temporal_state`, `concurrent_consistency`, `boundary_contract`, `structured_interpretation`, and `variant_product` (5). `review_rework_count=9`; `evidence_integrity_failure=true`. Risk and recovery boundaries match but do not replace the grade-boundary basis.
- No capability gap exists. The repair and all acceptance evidence are repository-local.

## Implementation Checklist

- [ ] [RECONCILE-1] Remove superseded CLI/workspace tests and reconcile stale Hot Path references with the current provider-only, removed-workspace, and run-id-only cancellation contracts.
- [ ] [RECONCILE-2] Restore normalized-stage, observer, outer-turn, cleanup-correlation, and RunEvent-observer integration by adapting only relevant backup hunks to current source.
- [ ] [RECONCILE-3] Wire exact-once lifecycle ownership and synchronize existing Hot Path test helpers/assertions without weakening behavior.
- [ ] [RECONCILE-4] Run the complete harness and race-enabled common regression from one checkout and record exact fresh evidence.
- [ ] Fill implementation-owned sections in CODE_REVIEW-*-G??.md with actual implementation notes and verification output.

### [RECONCILE-1] Reconcile the provider-only compatibility boundary

**Problem:** Two untracked pre-refactor tests and several Hot Path call sites still expect removed CLI/workspace/session/cancel fields. Current spec, config, service, and reserved proto fields deliberately reject those contracts.

**Solution:** Delete the obsolete CLI and workspace tests, correct `config.go`'s file map, remove stale `WorkspaceRequired` projection, and adapt Hot Path cancellation code/tests to the current `NodeRef`+`RunID` request. Do not modify config types, service requests, proto source, or generated proto.

**Before:** The checkout simultaneously expects removed CLI/workspace/session wire fields and their current explicit rejection/reservation.

**After:** Config and Hot Path code/tests share the current provider-only boundary; removed wire fields stay reserved and cancellation remains run-id-only.

**Modified Files and Checklist:**

- [ ] Delete `packages/go/config/edge_cli_config_test.go`; do not restore `AdaptersConf.CLI`, `CompletionMarkerConf`, `CLIProfileConf`, or CLI normalization.
- [ ] Delete `apps/edge/internal/openai/workspace_metadata_test.go`; do not restore `WorkspaceRequired`, `SubmitRunRequest.Workspace`, or reserved RunRequest fields.
- [ ] Correct only stale responsibility prose in `packages/go/config/config.go`.
- [ ] Remove stale workspace projection from `apps/edge/internal/openai/route_resolution.go`.
- [ ] Adapt `apps/edge/internal/openai/hot_path_stage_stream.go` and its cancellation assertions in `apps/edge/internal/openai/hot_path_terminal_control_test.go` to the existing run-id-only `CancelRunRequest`.

**Test Strategy:** Keep provider-only config/spec/proto/service source unchanged and exercise the current config rejection plus Hot Path cancellation paths through the final package command.

**Verification:** The config package compiles and its current provider-only tests pass under the race-enabled common regression.

### [RECONCILE-2] Restore the Hot Path outer-turn and observer integration

**Problem:** Current untracked Hot Path consumers compile against contracts that were present before reset but are absent from tracked owners: normalized ordered deltas, artifact-required reason, server observer ownership, outer-turn threading/arbitration, cleanup-stage correlation, and raw RunEvent observation.

**Solution:** Use matching hunks in `f7af4f48` as evidence and adapt them to current files. Restore one request-local outer turn across Chat/Anthropic handling, selector/stage execution, direct/light/review/cleanup paths, and protocol release; add the closed delta/output fields, observer ownership, cleanup-stage lookup, output-budget propagation, rejected-dispatch disposal, and RunEvent observation. Strip every old CLI/workspace/session/service/proto assumption while applying these hunks.

**Before:** The package stops at undefined symbols and no lifecycle test can execute.

**After:** Every untracked consumer resolves against a current-contract outer-turn implementation without importing old CLI/workspace/session/service/proto contracts.

**Modified Files and Checklist:**

- [ ] Update `apps/edge/internal/openai/hot_path_selector.go` with `reasonArtifactRequired`, closed delta kinds/type, and non-wire output fields.
- [ ] Update `apps/edge/internal/openai/server.go` with separate Hot Path observer/hook state, default zap initialization, concurrency-safe set/get/snapshot, and failure-isolated emission while preserving `obsSink`.
- [ ] Update `apps/edge/internal/openai/hot_path_light.go` with deep delta cloning and a lock-safe `cleanupStage` lookup.
- [ ] Update `apps/edge/internal/openai/stream_gate_runtime.go` with chainable request-local RunEvent observation and validation-error propagation.
- [ ] In `apps/edge/internal/openai/chat_handler.go` and `apps/edge/internal/openai/anthropic_handler.go`, create/install one endpoint codec per request and route terminal errors through the current closed disposition policy.
- [ ] In `apps/edge/internal/openai/normalized_sse.go` and `apps/edge/internal/openai/anthropic_stream.go`, own the request-local outer turn, progressive release callback, public response identity, accumulated usage, and endpoint framing without parsing provider wire twice.
- [ ] In `apps/edge/internal/openai/hot_path_dispatch.go`, restore live selector/stage entry points, active-stage transport ownership, rejected-dispatch disposal, output-budget projection, and the outer-aware stage submission path.
- [ ] In `apps/edge/internal/openai/hot_path_direct.go`, `apps/edge/internal/openai/artifact_pair.go`, `apps/edge/internal/openai/hot_path_light.go`, `apps/edge/internal/openai/hot_path_review.go`, and `apps/edge/internal/openai/hot_path_cleanup.go`, feed collected/live stages into the same outer accumulator, project tool ids once, and select one terminal disposition.

**Test Strategy:** Existing gate, terminal-control, stage-stream, and stream-gate tests are the oracle after their shared helper surface is synchronized in RECONCILE-3. Do not copy unrelated full-file backup changes.

**Verification:** `apps/edge/internal/openai` compiles and the integrated race command reaches and passes its tests.

### [RECONCILE-3] Restore lifecycle emission ownership

**Problem:** Observation helper definitions exist, but current request paths do not call them. A compile-only symbol patch would leave exact traces, metrics, terminal arbitration, cleanup outcomes, and TTL orphan evidence absent.

**Solution:** Adapt lifecycle-specific call-site hunks from `f7af4f48` to current control flow. Emit one admission/rejection, stage outcome per attempt, light transition, cleanup result, logical terminal, and TTL orphan at existing ownership transitions. Direct tool turns are non-terminal; final direct outcomes and caller-write failures emit once. Synchronize only the shared direct/light helper APIs and current cancellation assertions needed by active tests.

**Before:** Production paths produce zero or incomplete Hot Path lifecycle projections even when observer helpers compile.

**After:** Existing exact-trace tests pass for OpenAI and Anthropic direct/light paths, including pass, repair, provider failure, timeout, cancellation, write failure, dispatch rejection, cleanup, and TTL orphaning.

**Modified Files and Checklist:**

- [ ] Update `apps/edge/internal/openai/hot_path_direct.go` with current-control-flow exact-once terminal observation on top of the RECONCILE-2 outer turn; do not reintroduce removed CLI/workspace/session behavior.
- [ ] Update `apps/edge/internal/openai/hot_path_dispatch.go` with accepted dispatch and closed-reason rejection observation.
- [ ] Update `apps/edge/internal/openai/hot_path_light.go` with stage/light/terminal ownership at current transitions.
- [ ] Update `apps/edge/internal/openai/request_identity_ingress.go` with cleanup and retry-transition observation at successful state changes.
- [ ] Update `apps/edge/internal/openai/hot_path_cleanup.go` with cleanup transition/outcome and terminal observation after current disposition arbitration.
- [ ] Update `apps/edge/internal/openai/request_coordinator_ttl.go` with TTL orphan observation after coordinator eviction while correlation state is still available.
- [ ] Update `apps/edge/internal/openai/hot_path_direct_test.go` and `apps/edge/internal/openai/hot_path_light_test.go` with the output-cap/context/stage-aware helpers already consumed by active gate and observation tests.
- [ ] Keep `apps/edge/internal/openai/hot_path_observation_test.go`, `apps/edge/internal/openai/hot_path_chat_gate_test.go`, and `apps/edge/internal/openai/hot_path_anthropic_gate_test.go` behavior expectations unchanged.

**Test Strategy:** Run existing `hot_path_observation_test.go` unchanged. Use its exact ordered traces and bounded metric deltas; do not make timing/count assertions looser.

**Verification:** The full OpenAI package portion of the common race command passes with exact existing lifecycle expectations.

### [RECONCILE-4] Produce one trusted integrated result

**Problem:** Prior loops recorded stale compiler output or reran the unchanged failure without repairing its source precondition.

**Solution:** After RECONCILE-1 through RECONCILE-3, run every Final Verification command once from the same checkout. Paste exact stdout/stderr and exit status into the active review file; do not reconstruct or reuse plan 11 output.

**Before:** Harness checks pass but the required package command exits 1 and review evidence is stale.

**After:** Every command exits 0 with evidence matching the reconciled source.

**Modified Files and Checklist:**

- [ ] Fill `agent-task/m-iop-hot-path-one-shot-execution/20+17,19_smoke_harness/CODE_REVIEW-cloud-G09.md` with implementation decisions, deviations, and exact command output.

**Test Strategy:** The deterministic harness self-test plus existing race-enabled packages are the complete child oracle. No credentialed provider run belongs to this child.

**Verification:** Every Final Verification command exits 0; any non-zero command leaves the corresponding implementation item incomplete.

## Dependencies and Execution Order

1. Predecessor evidence from children 17 and 19 is available, but current source reconciliation in this plan is mandatory before it can be trusted for child 20.
2. Implement RECONCILE-1, then RECONCILE-2, then RECONCILE-3, and finally RECONCILE-4.
3. `agent-task/m-iop-hot-path-one-shot-execution/21+20_hot_smoke_actual/PLAN-local-G07.md` remains downstream and must not start until this plan passes review.

## Modified Files Summary

| File | Item |
|---|---|
| `packages/go/config/edge_cli_config_test.go` | RECONCILE-1 (delete) |
| `apps/edge/internal/openai/workspace_metadata_test.go` | RECONCILE-1 (delete) |
| `packages/go/config/config.go` | RECONCILE-1 |
| `apps/edge/internal/openai/route_resolution.go` | RECONCILE-1 |
| `apps/edge/internal/openai/hot_path_stage_stream.go` | RECONCILE-1 |
| `apps/edge/internal/openai/hot_path_terminal_control_test.go` | RECONCILE-1 |
| `apps/edge/internal/openai/hot_path_selector.go` | RECONCILE-2 |
| `apps/edge/internal/openai/server.go` | RECONCILE-2 |
| `apps/edge/internal/openai/stream_gate_runtime.go` | RECONCILE-2 |
| `apps/edge/internal/openai/anthropic_handler.go` | RECONCILE-2 |
| `apps/edge/internal/openai/anthropic_stream.go` | RECONCILE-2 |
| `apps/edge/internal/openai/artifact_pair.go` | RECONCILE-2 |
| `apps/edge/internal/openai/chat_handler.go` | RECONCILE-2 |
| `apps/edge/internal/openai/hot_path_review.go` | RECONCILE-2 |
| `apps/edge/internal/openai/normalized_sse.go` | RECONCILE-2 |
| `apps/edge/internal/openai/hot_path_direct.go` | RECONCILE-2, RECONCILE-3 |
| `apps/edge/internal/openai/hot_path_dispatch.go` | RECONCILE-2, RECONCILE-3 |
| `apps/edge/internal/openai/hot_path_light.go` | RECONCILE-2, RECONCILE-3 |
| `apps/edge/internal/openai/request_identity_ingress.go` | RECONCILE-3 |
| `apps/edge/internal/openai/hot_path_cleanup.go` | RECONCILE-2, RECONCILE-3 |
| `apps/edge/internal/openai/request_coordinator_ttl.go` | RECONCILE-3 |
| `apps/edge/internal/openai/hot_path_direct_test.go` | RECONCILE-3 |
| `apps/edge/internal/openai/hot_path_light_test.go` | RECONCILE-3 |
| `agent-task/m-iop-hot-path-one-shot-execution/20+17,19_smoke_harness/CODE_REVIEW-cloud-G09.md` | RECONCILE-4 |

## Final Verification

```bash
test ! -e packages/go/config/edge_cli_config_test.go && test ! -e apps/edge/internal/openai/workspace_metadata_test.go
bash -n scripts/e2e-hot-path-agents.sh
jq -e '(.properties.cases.prefixItems | length) == 10 and .properties.cases.items == false and ([.properties.cases.prefixItems[].properties.id.const] | length == 10) and ([.properties.cases.prefixItems[].properties.id.const] | unique | length == 10)' scripts/fixtures/hot-path-agent-smoke-manifest.schema.json
./scripts/e2e-hot-path-agents.sh --self-test
go test -race -count=1 ./packages/go/streamgate ./packages/go/config ./apps/edge/internal/openai ./apps/edge/internal/service
git diff --check
```

Expected: every command exits 0 from one checkout. The config and runtime wire remain provider-only with reserved workspace/session fields and run-id-only cancellation, all existing Hot Path gate/outer-turn/lifecycle tests pass without weakened expectations, the harness remains fail closed, and diff integrity is clean.

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