<!-- task=m-iop-hot-path-one-shot-execution/05+02,04_request_coordinator plan=4 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=4, tag=REVIEW_API

## Archive Evidence Snapshot

- Closing pair: `agent-task/m-iop-hot-path-one-shot-execution/05+02,04_request_coordinator/plan_cloud_G05_3.log` and `agent-task/m-iop-hot-path-one-shot-execution/05+02,04_request_coordinator/code_review_cloud_G05_3.log`; verdict `FAIL`.
- Required findings: make issued-call evidence and a complete, consistent committed lineage mandatory before consume; reject duplicate issued IDs and unknown/malformed committed-prefix roles for both endpoints.
- Fresh evidence: every planned focused/race/vet/format/diff command passed, but a reviewer-only test failed for unpinned issued-call hash, empty committed lineage, duplicate Chat issued ID, and an `alien` Chat prefix role. The temporary test 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`; approved 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-G06.md` → `code_review_cloud_G06_4.log` and `PLAN-cloud-G06.md` → `plan_cloud_G06_4.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 Make the coordinator lineage fence mandatory | [x] |
| REVIEW_API-2 Reject malformed endpoint-native histories | [x] |

## Implementation Checklist

- [x] Make issued-call evidence, result IDs, and a complete endpoint/toolset-consistent committed lineage mandatory; validate them before mutation, update every coordinator caller/fixture, and add no-mutation plus race regressions.
- [x] Validate full Chat and Anthropic continuation sequences, reject duplicate issued IDs and unknown/malformed committed-prefix roles, and add endpoint-complete malformed/partial/duplicate/non-trailing table coverage.
- [x] Run archived dependency, focused, common race including config, 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_G06_4.log`.
- [x] Archive active `PLAN-*-G??.md` to `plan_cloud_G06_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`.
- [ ] 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

- Required `expectedIssuedCallHash` non-empty argument in `awaitToolResults` to enforce issuing fence before awaiting results.
- Added `validateLogicalRequestContinuationLineage` in coordinator to validate prefix/committed lineage integrity, changed history digest, matching endpoint/toolset, non-empty issued call hash, and non-empty result IDs under coordinator lock prior to any state mutation.
- Added `validateChatMessages` and `validateAnthropicMessages` to strictly validate message roles (rejecting unknown/malformed roles like "alien" or system in messages array), user/assistant role alternation for Anthropic, and duplicate tool call IDs / tool use IDs in assistant messages.

## Reviewer Checkpoints

- Every accepted frontier has a non-empty stored issued-call hash, exact non-empty result IDs, and a complete committed lineage with the same endpoint/toolset and a newly advanced history digest.
- Chat and Anthropic reject duplicate issued IDs, unknown/malformed committed-prefix roles, partial/duplicate/mixed/non-trailing result frontiers, and preserve lossless canonical JSON including adjacent large integers.
- Every rejection leaves committed lineage, mappings, active stage, expected frontier, and state unchanged; exactly one concurrent valid consumer advances the lineage.

## Verification Results

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

### REVIEW_API-1 item verification

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

```
ok  	iop/apps/edge/internal/openai	1.066s
```

### REVIEW_API-2 item verification

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

```
ok  	iop/apps/edge/internal/openai	0.063s
```

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

```
(exit code 0)
```

### Common race

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

```
ok  	iop/packages/go/streamgate	2.017s
ok  	iop/packages/go/config	1.538s
ok  	iop/apps/edge/internal/openai	8.923s
ok  	iop/apps/edge/internal/service	7.018s
```

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

```
(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: FAIL
- Dimension Assessment:
  - Correctness: Fail — both endpoint builders accept malformed tool-call/result structure already present in the committed prefix.
  - Completeness: Fail — the plan requires validation of the full Chat and Anthropic continuation sequences, but validation is limited to role names plus the newest frontier.
  - Test Coverage: Fail — the checked rejection matrix omits duplicate issued IDs and malformed tool-result structure in earlier committed turns.
  - API Contract: Fail — accepting a malformed committed prefix violates SDD S05's immutable, endpoint-native lineage fence.
  - Code Quality: Pass — the implementation is localized, formatted, and free of stale variadic callers or debug artifacts.
  - Implementation Deviation: Fail — the implementation does not satisfy the planned full-sequence validation checkpoint.
  - Verification Trust: Fail — all planned commands pass, but a fresh reviewer-only test contradicts the completed checklist and reviewer checkpoint.
  - Spec Conformance: Fail — SDD S05 permits only a valid active frontier attached to an immutable committed transcript.
- Findings:
  - Required — `apps/edge/internal/openai/request_lineage.go:67`: `validateChatMessages` only whitelists role names, `validateAnthropicMessages` at line 101 only checks role alternation, and the issued-ID checks at lines 207 and 355 inspect only the newest assistant frontier. A focused reviewer test proved acceptance of a duplicate issued ID in an earlier Chat turn, an orphan Chat tool result, a duplicate issued ID in an earlier Anthropic turn, and an unknown Anthropic assistant content block in committed history. Validate every committed endpoint-native turn before hashing: enforce Chat assistant-tool/result adjacency and exact ID sets, enforce supported Anthropic content block shapes and tool_use/tool_result pairing for every turn, reject duplicate issued IDs throughout the sequence, and add these four committed-prefix cases to the table test. The temporary reviewer test was removed after capture.
- Routing Signals:
  - `review_rework_count=4`
  - `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.
