- Add custom field preservation implementation - Add sideband observation support - Update OpenAI-compatible API contract - Update roadmap and task files
6.4 KiB
Code Review Reference - SURFACE_OBS
[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
구현 체크리스트; 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 by a selected Milestone구현 잠금 > 결정 필요item, fill사용자 리뷰 요청with linked evidence and stop with active files in place; code-review decides whether to writeUSER_REVIEW.md. Do not ask the user directly, present choices in chat, or callrequest_user_inputduring implementation. Finalization is review-agent-only.
개요
date=2026-07-12 task=m-model-group-mixed-provider-dispatch/05_sideband_observation, plan=0, tag=SURFACE_OBS
Roadmap Targets
- Milestone:
agent-roadmap/phase/routing-policy-model-orchestration/milestones/model-group-mixed-provider-dispatch.md - Milestone link: Milestone 문서
- Task ids:
sideband-observation: Provider-pool 실행 결과 selected provider, adapter, served target, execution path, queue decision, usage observation 기록
- Completion mode: check-on-pass
이 파일을 읽는 리뷰 에이전트에게
[REVIEW AGENT ONLY] 아래 종결 절차는 코드리뷰 에이전트 전용이다. 구현 에이전트는 이 섹션을 실행하지 않는다.
각 항목의 구현을 실제 소스 파일과 대조하고, 검증 결과 섹션의 출력이 코드와 일치하는지 확인하세요. PASS 시 task archive와 완료 이벤트 메타데이터 보고까지 처리하고 roadmap 수정은 런타임에 맡깁니다.
구현 항목별 완료 여부
| 항목 | 완료 여부 |
|---|---|
| [SURFACE_OBS-1] service dispatch observation DTO | [ ] |
| [SURFACE_OBS-2] OpenAI log/sideband observation boundary | [ ] |
| [SURFACE_OBS-3] usage observation regression | [ ] |
구현 체크리스트
- [SURFACE_OBS-1] service provider-pool dispatch info에 selected provider id/type과 execution path를 추가하고 tunnel/normalized 양쪽에서 채운다.
- [SURFACE_OBS-2] OpenAI provider-pool dispatch logs와 direct sideband route observation이 selected provider/adapter/target/execution path/queue reason을 기록하도록 보강한다.
- [SURFACE_OBS-3] 표준 provider-pool Chat response에는
iop_sideband,iop.sideband,X-IOP-Response-Mode가 섞이지 않고, internal observation만 남음을 regression test로 검증한다. 검증:GOCACHE=/tmp/iop-go-cache go test ./apps/edge/internal/openai -run 'ProviderPool.*Observation|AssembledLogs|UsageMetrics' -count=1. - [SURFACE_OBS-4] service와 OpenAI 전체 패키지 검증을 실행한다. 검증:
GOCACHE=/tmp/iop-go-cache go test ./apps/edge/internal/service -count=1및GOCACHE=/tmp/iop-go-cache go test ./apps/edge/internal/openai -count=1. - CODE_REVIEW-*-G??.md의 구현 에이전트 소유 섹션을 실제 구현 내용과 검증 출력으로 채운다. 이 항목이 완료되기 전에는 구현이 완료된 것이 아니다.
코드리뷰 전용 체크리스트
[REVIEW AGENT ONLY] 이 체크리스트는 코드리뷰 에이전트만 사용한다. 구현 에이전트는 이 섹션을 수정하거나 체크하지 않는다.
코드리뷰 결과에PASS,WARN,FAIL중 하나의 판정을 append한다.- active
CODE_REVIEW-*-G??.md와PLAN-*-G??.md를.log로 아카이브한다. .gitignore의 Agent-Ops 관리 block이 task artifact를 unignore하는지 확인한다.- PASS이면
complete.log를 작성하고 active task 디렉터리를 archive로 이동한다. - PASS이고 task group이
m-<milestone-slug>이면 완료 이벤트 메타데이터를 보고하고 roadmap 수정은 하지 않는다. - WARN/FAIL이면 다음 active plan/review 또는 USER_REVIEW gate를 처리한다.
계획 대비 변경 사항
구현 에이전트가 계획과 다르게 구현한 부분을 이유와 함께 기록한다.
주요 설계 결정
구현 에이전트가 주요 설계 결정 사항을 기록한다.
사용자 리뷰 요청
기본값은 없음이다. 구현 중 새 결정이 필요해 보여도 직접 질문하거나 선택지를 제시하거나 request_user_input을 호출하지 않는다. 이 섹션은 선택된 Milestone 구현 잠금 > 결정 필요 항목이 실구현을 차단할 때만 채운다. 외부 환경/secret/서비스 준비, 검증 증거 공백, 반복 실패, 일반 범위 조정은 사용자 리뷰 요청이 아니며 검증 결과, 계획 대비 변경 사항, 또는 code-review의 일반 follow-up plan으로 처리한다.
- 상태: 없음
- 사유 유형: 없음
- 연결 대상: 없음
- 결정 필요: 없음
- 차단 근거: 없음
- 실행한 검증/명령: 없음
- 자동 후속 불가 이유: 없음
- 재개 조건: 없음
리뷰어를 위한 체크포인트
RunDispatchprovider observation fields가 provider-pool tunnel/normalized 양쪽에서 채워지는가.- 표준 provider-pool response에는 sideband/custom field/header가 추가되지 않는가.
- provider id/type/execution path/queue reason은 logs/sideband/internal observation으로 남고 secret/raw payload label은 추가되지 않는가.
검증 결과
구현 에이전트가 각 중간 검증 및 최종 검증 명령 실행 후 출력을 여기에 붙여 넣는다.
SURFACE_OBS-1 중간 검증
$ GOCACHE=/tmp/iop-go-cache go test ./apps/edge/internal/service -run 'SubmitProviderPool.*Observation|DispatchInfo|ClassifiesExecutionPath' -count=1
(output)
최종 검증
$ GOCACHE=/tmp/iop-go-cache go test ./apps/edge/internal/service -count=1
(output)
$ GOCACHE=/tmp/iop-go-cache go test ./apps/edge/internal/openai -count=1
(output)
[IMPLEMENTING AGENT — BEFORE SAVING] Have you filled in every implementation-owned section: completion table, implementation checklist, changes from plan, design decisions, and verification output? If anything is blank, go back and fill it in before saving this file. Leave review-agent-only sections unchanged.