iop/agent-task/m-node-resource-model-unification/01_contract_schema/CODE_REVIEW-cloud-G07.md
toki 135259619e fix(openai): Cline 도구 호출 변환을 지원한다
Cline이 텍스트 XML 블록으로 도구 호출을 내보내는 경우 OpenAI-compatible tool_calls 응답으로 변환해야 클라이언트 실행 루프가 멈추지 않는다.

Node resource model 로드맵과 agent-task 문서는 요청된 전체 변경 범위에 포함한다.
2026-06-27 13:16:49 +09:00

5.5 KiB

Code Review Reference - 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 구현 체크리스트; 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 write USER_REVIEW.md. Do not ask the user directly, present choices in chat, or call request_user_input during implementation. Finalization is review-agent-only.

개요

date=2026-06-27 task=m-node-resource-model-unification/01_contract_schema, plan=0, tag=API

Roadmap Targets

  • Milestone: agent-roadmap/phase/operational-observability-provider-management/milestones/node-resource-model-unification.md
  • Task ids:
    • contract-schema: Node runtime contract and resource catalog validation
  • Completion mode: check-on-pass

이 파일을 읽는 리뷰 에이전트에게

[REVIEW AGENT ONLY] 아래 종결 절차는 코드리뷰 에이전트 전용이다. 구현 에이전트는 이 섹션을 실행하지 않는다.

각 항목의 구현을 실제 소스 파일과 대조하고, 검증 결과 섹션의 출력이 코드와 일치하는지 확인하세요.

구현 항목별 완료 여부

항목 완료 여부
[API-1] Runtime Concurrency Contract [ ]
[API-2] Resource Catalog Validation [ ]
[API-3] Resource Snapshot Compatibility [ ]

구현 체크리스트

  • NodeRuntimeConfig.concurrency를 node-wide admission source가 아닌 legacy/compat runtime payload로 계약 문서와 comments에서 정리한다.
  • nodes[].providers[]를 현재 wire의 resource catalog로 해석한다는 compat 기준을 문서화하고, category=cli|api|local_inference가 CLI/provider/resource 구분자임을 명시한다.
  • nodes[].providers[].adapter가 같은 node 안의 enabled adapter instance로 해석되어야 한다는 config validation을 추가한다.
  • provider adapter reference, duplicate/resource category, legacy config compatibility regression test를 추가한다.
  • proto 변경이 발생하면 make proto를 실행하고 generated diff가 원본 proto와 일치하는지 확인한다.
  • CODE_REVIEW-*-G??.md의 구현 에이전트 소유 섹션을 실제 구현 내용과 검증 출력으로 채운다. 이 항목이 완료되기 전에는 구현이 완료된 것이 아니다.

코드리뷰 전용 체크리스트

[REVIEW AGENT ONLY] 이 체크리스트는 코드리뷰 에이전트만 사용한다.

  • 코드리뷰 결과PASS, WARN, FAIL 중 하나의 판정을 append한다.
  • 판정과 차원별 평가, Required/Suggested/Nit 분류가 서로 일치한다.
  • active CODE_REVIEW-*-G??.mdcode_review_cloud_G07_0.log로 아카이브한다.
  • active PLAN-*-G??.mdplan_cloud_G07_0.log로 아카이브한다.
  • .gitignore의 Agent-Ops 관리 block이 task artifact를 unignore하는지 확인한다.
  • PASS이면 complete.log를 작성하고 active task 디렉터리를 archive로 이동한다.
  • WARN/FAIL이면 다음 active plan/review 또는 USER_REVIEW.md를 작성한다.

계획 대비 변경 사항

구현 에이전트가 계획과 다르게 구현한 부분을 이유와 함께 기록한다.

주요 설계 결정

구현 에이전트가 주요 설계 결정 사항을 기록한다.

사용자 리뷰 요청

기본값은 없음이다. 구현 중 새 결정이 필요해 보여도 직접 질문하거나 선택지를 제시하거나 request_user_input을 호출하지 않는다. 이 섹션은 선택된 Milestone 구현 잠금 > 결정 필요 항목이 실구현을 차단할 때만 채운다. 외부 환경/secret/서비스 준비, 검증 증거 공백, 반복 실패, 일반 범위 조정은 사용자 리뷰 요청이 아니며 검증 결과, 계획 대비 변경 사항, 또는 code-review의 일반 follow-up plan으로 처리한다.

  • 상태: 없음
  • 사유 유형: 없음
  • 연결 대상: 없음
  • 결정 필요: 없음
  • 차단 근거: 없음
  • 실행한 검증/명령: 없음
  • 자동 후속 불가 이유: 없음
  • 재개 조건: 없음

리뷰어를 위한 체크포인트

  • runtime.concurrency가 더 이상 node-wide admission source로 문서화되지 않았는지 확인한다.
  • provider/resource adapter validation이 같은 node의 enabled adapter 기준인지 확인한다.
  • proto 변경이 있으면 generated 파일이 make proto 결과인지 확인한다.

검증 결과

구현 에이전트가 각 중간 검증 및 최종 검증 명령 실행 후 출력을 여기에 붙여 넣는다.

API-1 중간 검증

$ go test -count=1 ./apps/edge/internal/configrefresh
(output)

API-2 중간 검증

$ go test -count=1 ./packages/go/config ./apps/edge/internal/edgevalidate
(output)

API-3 중간 검증

$ go test -count=1 ./proto/gen/...
(output)

최종 검증

$ go test -count=1 ./packages/go/... ./proto/gen/... ./apps/edge/internal/configrefresh ./apps/edge/internal/node
(output)

[IMPLEMENTING AGENT - BEFORE SAVING] Have you filled in every implementation-owned section?