<!-- task=m-iop-hot-path-one-shot-execution/05+02,04_request_coordinator plan=3 tag=REVIEW_API milestone-task=request-identity -->

# Code Review Reference - REVIEW_API

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

## Overview

date=2026-08-03
task=m-iop-hot-path-one-shot-execution/05+02,04_request_coordinator, plan=3, tag=REVIEW_API

## Archive Evidence Snapshot

- Closing pair: `agent-task/m-iop-hot-path-one-shot-execution/05+02,04_request_coordinator/plan_cloud_G08_2.log` and `agent-task/m-iop-hot-path-one-shot-execution/05+02,04_request_coordinator/code_review_cloud_G08_2.log`; verdict `FAIL`.
- Required finding: preserve lossless canonical values while splitting endpoint-native Chat and Anthropic continuations into committed history, repeated issued-call evidence, and the current result frontier; advance the committed lineage only after successful exactly-once consumption.
- Fresh evidence: all planned focused/race/vet/format/diff commands passed, but a reviewer-only Chat/Anthropic table test showed that appending a normal assistant tool call and result changed `HistoryDigest` for both endpoints. The temporary reproducer was removed after capture.
- Dependencies: `agent-task/archive/2026/08/m-iop-hot-path-one-shot-execution/02+01_preset_generation/complete.log` and `agent-task/archive/2026/08/m-iop-hot-path-one-shot-execution/04+02,03_preset_model_authorization/complete.log` are the exact completed predecessors.
- Roadmap carryover: `milestone-task=request-identity`; SDD scenario S05 and its Evidence Map remain the acceptance source.

## 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-G05.md` → `code_review_cloud_G05_3.log` and `PLAN-cloud-G05.md` → `plan_cloud_G05_3.log`.
3. If PASS, write `complete.log` and move active task directory to `agent-task/archive/YYYY/MM/m-iop-hot-path-one-shot-execution/05+02,04_request_coordinator/`. 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 |
|------|---------|
| REVIEW_API-1 Split endpoint-native continuation lineage | [x] |
| REVIEW_API-2 Advance committed lineage atomically | [x] |

## Implementation Checklist

- [x] Split Chat and Anthropic endpoint-native histories into committed prefix, repeated issued-call evidence, and current result frontier without losing canonical JSON fidelity, and add full initial-to-continuation and mutation regression coverage.
- [x] Validate expected issued-call/frontier evidence and atomically advance committed lineage only after successful exactly-once consumption, with no state mutation on rejection and race coverage.
- [x] Run archived dependency, focused, race, vet, formatting, and diff verification exactly as written.
- [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_G05_3.log`.
- [x] Archive active `PLAN-*-G??.md` to `plan_cloud_G05_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-hot-path-one-shot-execution/05+02,04_request_coordinator/` to `agent-task/archive/YYYY/MM/m-iop-hot-path-one-shot-execution/05+02,04_request_coordinator/` and update this checklist at the final archive path.
- [ ] 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`.
- [ ] If PASS for split work, remove empty active parent `agent-task/m-iop-hot-path-one-shot-execution/` 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

None.

## Key Design Decisions

- Added `logicalRequestContinuationLineage` struct with `Prefix`, `IssuedCallHash`, `ResultIDs`, and `Committed` lineage digests to `request_lineage.go`.
- Implemented `newChatContinuationLineage` and `newAnthropicContinuationLineage` in `request_lineage.go` to extract trailing tool-result frontiers, issued assistant call hashes, and compute canonical committed prefix and post-consume committed lineages while retaining lossless JSON canonicalization.
- Updated `logicalRequestCoordinator` to store `expectedIssuedCallHash` in `logicalRequestRecord` when `awaitToolResults` is called and validate `record.lineage == continuation.Lineage.Prefix` and `record.expectedIssuedCallHash == continuation.Lineage.IssuedCallHash` under lock during `consumeContinuation`.
- On successful consumption in `consumeContinuation`, atomically advanced `record.lineage` to `continuation.Lineage.Committed` and cleared the expected frontier. On any validation rejection, no record state is mutated.
- Placed `record.expected == nil` check prior to lineage validation in `consumeContinuation` so that duplicate or no-frontier consumption attempts consistently return `errLogicalRequestNoFrontier`.

## Reviewer Checkpoints

- Chat and Anthropic full continuations preserve the prior committed lineage while exposing only the current result frontier for consume validation.
- Repeated issued-call evidence, prior committed history, tool schema, endpoint, and public/provider IDs cannot be mutated or replayed.
- A successful consume advances committed lineage exactly once; every rejected or concurrent-loser path leaves lineage, mappings, active stage, and expected frontier unchanged.

## Verification Results

Paste actual stdout/stderr below each command and replace every pending marker.

### REVIEW_API-1 item verification

```bash
go test -count=1 ./apps/edge/internal/openai -run 'TestLogicalRequest(Lineage|EndpointContinuation)'
```

ok  	iop/apps/edge/internal/openai	0.057s

### REVIEW_API-2 item verification

```bash
go test -race -count=1 ./apps/edge/internal/openai -run 'TestLogicalRequest(Continuation|CommittedLineage|ConcurrentFrontier)'
```

ok  	iop/apps/edge/internal/openai	1.053s

### Archived dependencies

```bash
test -f agent-task/archive/2026/08/m-iop-hot-path-one-shot-execution/02+01_preset_generation/complete.log
test -f agent-task/archive/2026/08/m-iop-hot-path-one-shot-execution/04+02,03_preset_model_authorization/complete.log
```

(command exited with code 0)

### Common race

```bash
go test -race -count=1 ./packages/go/streamgate ./apps/edge/internal/openai ./apps/edge/internal/service
```

ok  	iop/packages/go/streamgate	2.015s
ok  	iop/apps/edge/internal/openai	8.959s
ok  	iop/apps/edge/internal/service	7.085s

### Vet, formatting, and diff

```bash
go vet ./apps/edge/internal/openai
gofmt -d apps/edge/internal/openai/request_coordinator.go apps/edge/internal/openai/request_lineage.go apps/edge/internal/openai/request_coordinator_test.go
git diff --check
```

(command exited with 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: FAIL
- Dimension Assessment:
  - Correctness: Fail — the coordinator can consume a continuation without a pinned issued-call hash and can commit an incomplete zero-value lineage.
  - Completeness: Fail — the endpoint-native parsers do not enforce all malformed, duplicate, and unknown-role rejection cases required by the plan.
  - Test Coverage: Fail — the focused tests cover the happy path but omit the four reviewer-reproduced fence bypasses.
  - API Contract: Fail — the accepted bypasses violate the SDD S05 immutable-lineage and exactly-once active-frontier contract.
  - Code Quality: Pass — the new helpers are localized and readable, and planned vet/format checks pass.
  - Implementation Deviation: Fail — required issued-call fencing, committed-lineage validation, duplicate issued-ID rejection, and unknown-role rejection are not complete.
  - Verification Trust: Fail — every planned command passes, but a fresh reviewer-only test contradicts the completed checklist and reviewer checkpoints.
  - Spec Conformance: Fail — SDD S05 requires only the immutable, active frontier to advance the committed transcript exactly once.
- Findings:
  - Required — `apps/edge/internal/openai/request_coordinator.go:229`: `awaitToolResults` makes the issued-call hash optional, and `consumeContinuation` at lines 298-309 skips that comparison when the stored hash is empty and accepts a zero-value `Committed` lineage before replacing the record. A fresh reviewer-only test showed that an arbitrary issued-call hash is consumed when no hash was pinned and that an empty committed lineage is accepted with a matching hash. Make the issued-call hash a required non-empty frontier argument, require non-empty and endpoint/toolset-consistent `ResultIDs` and `Committed` lineage before any mutation, update every caller/test fixture, and prove each rejection leaves the frontier, stage, mappings, and committed lineage unchanged.
  - Required — `apps/edge/internal/openai/request_lineage.go:117`: Chat issued tool-call IDs are inserted into a set without duplicate rejection, the same issue exists for Anthropic tool-use IDs at line 267, and neither builder validates roles in the committed prefix before hashing it. A fresh reviewer-only test showed that both a duplicate Chat issued ID and an `alien` committed-prefix role are accepted. Validate the full endpoint-native message sequence and reject duplicate issued IDs and unknown/malformed prefix roles for both Chat and Anthropic; add table coverage for every malformed, partial, duplicate, unknown-role, and non-trailing shape named by the plan. The temporary reviewer test was removed after capture.
- Routing Signals:
  - `review_rework_count=3`
  - `evidence_integrity_failure=true`
- Next Step: Invoke the plan skill with these raw findings and fresh verification output to prepare the smallest freshly routed follow-up pair.
