iop/agent-task/m-agent-task-runtime-target-selector/05+04_dispatch_integration/CODE_REVIEW-cloud-G09.md

10 KiB

Code Review Reference - REFACTOR

[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, 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 (코드리뷰 결과, log rename, complete.log, archive moves, 코드리뷰 전용 체크리스트) is review-agent-only, even after compaction/resume. Follow the ownership table at the bottom of this file for which sections you own.

개요

date=2026-07-25 task=m-agent-task-runtime-target-selector/05+04_dispatch_integration, plan=0, tag=REFACTOR

Roadmap Targets

  • Milestone: agent-roadmap/phase/automation-runtime-bridge/milestones/agent-task-runtime-target-selector.md
  • Milestone link: Milestone 문서
  • Task ids:
    • route-pin: 작업 세대별 최초 route 고정과 재시작 복원
    • context-failover: 단방향 adapter failover와 논리적 context 이전
    • failure-budget: target 전환 전후 동일 stage 실패 예산 공유
    • dispatch-integration: persisted selector decision 기반 최초 실행·resume·failover
  • Completion mode: check-on-pass

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

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

각 항목의 구현을 실제 소스 파일과 대조하고, 검증 결과 섹션의 출력이 코드와 일치하는지 확인하세요. 리뷰 완료는 아래 순서까지 끝난 상태를 의미합니다.

  1. 판정을 append한다.
  2. CODE_REVIEW-cloud-G09.mdcode_review_cloud_G09_0.log, PLAN-local-G08.mdplan_local_G08_0.log로 아카이브한다.
  3. PASS이면 complete.log 작성 후 active task 디렉터리를 agent-task/archive/YYYY/MM/m-agent-task-runtime-target-selector/05+04_dispatch_integration/로 이동한다. WARN/FAIL이면 code-review skill이 요구하는 다음 filesystem state를 완전히 작성한다.
  4. PASS이고 task group이 m-agent-task-runtime-target-selector이면 완료 이벤트 메타데이터를 보고한다. roadmap 상태 체크와 update-roadmap 호출은 런타임 책임이다.
  5. 적용 가능한 코드리뷰 전용 체크리스트 항목을 최종 .log 위치에서 체크한 뒤 보고한다.

구현 항목별 완료 여부

항목 완료 여부
REFACTOR-1 Live route source 교체 [ ]
REFACTOR-2 Runtime quota probe와 resume/failover state machine [ ]
REFACTOR-3 Context, budget과 retry-blocked 소비 [ ]
REFACTOR-4 Review recovery와 runtime audit evidence [ ]

구현 체크리스트

  • worker/review initial invocation과 dry-run이 persisted selector decision을 단일 route source로 사용한다.
  • bounded candidate의 runtime quota probe가 target/profile required-cap argv로 실행되고 probe 오류는 unknown snapshot으로 decision에 남는다.
  • resume은 시간·본문 변경에도 pinned target을 사용하고, 확정된 provider target 불가 또는 명시적 retry eligibility만 transition history와 invocation target을 변경한다.
  • cross-adapter invocation이 persisted normalized-output context package를 소비하고 dynamic failover와 기존 cloud promotion 모두 같은 stage 실패 예산을 이어받는다.
  • dry-run은 read-only preview이고 retry-blocked는 blocker/budget만 초기화하며 review resume/finalization recovery는 pinned Codex와 독립 budget을 유지한다.
  • locator/state/status가 work unit, rule/candidate/reason, quota, transition과 stage budget을 추적하고 통합 테스트가 restart·blocker·독립 drain을 함께 검증한다.
  • CODE_REVIEW-*-G??.md의 구현 에이전트 소유 섹션을 실제 구현 내용과 검증 출력으로 채운다.

코드리뷰 전용 체크리스트

[REVIEW AGENT ONLY] 이 체크리스트는 코드리뷰 에이전트만 사용한다. 구현 에이전트는 이 섹션을 수정하거나 체크하지 않는다.

  • 코드리뷰 결과PASS, WARN, FAIL 중 하나의 판정을 append한다.
  • 판정과 차원별 평가, Required/Suggested/Nit 분류가 서로 일치한다.
  • active CODE_REVIEW-cloud-G09.mdcode_review_cloud_G09_0.log로 아카이브한다.
  • active PLAN-local-G08.mdplan_local_G08_0.log로 아카이브한다.
  • .gitignore의 Agent-Ops 관리 block이 agent-task/**/*.mdagent-task/**/*.log를 unignore하고 agent-roadmap/current.md를 ignore하는지 확인한다.
  • PASS이면 agent-ops/skills/common/code-review/templates/complete-log-template.md 기준으로 complete.log를 작성하고 active .md 파일을 남기지 않는다.
  • PASS이면 active task 디렉터리 agent-task/m-agent-task-runtime-target-selector/05+04_dispatch_integration/agent-task/archive/YYYY/MM/m-agent-task-runtime-target-selector/05+04_dispatch_integration/로 이동하고 최종 archive 경로에서 이 체크리스트를 갱신한다.
  • PASS이고 task group이 m-agent-task-runtime-target-selector이면 런타임이 읽을 완료 이벤트 메타데이터를 보고하고, roadmap 수정이나 update-roadmap 직접 호출을 하지 않는다.
  • PASS split 작업이면 이동 후 빈 active parent agent-task/m-agent-task-runtime-target-selector/를 제거하거나, 남은 sibling/file이 있어 유지했다고 확인한다.
  • WARN/FAIL이면 code-review skill의 판정에 맞는 다음 filesystem state를 작성하고 complete.log를 작성하지 않는다.

계획 대비 변경 사항

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

주요 설계 결정

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

리뷰어를 위한 체크포인트

  • runtime probe argv의 canonical target/profile/required caps와 error→unknown이 Go producer 계약과 일치하는가.
  • dynamic primary의 확정된 provider target 불가만 failover하고, 일반 실패는 same-target recovery로 남으며 기존 cloud promotion은 history/budget에 남는가.
  • retry-blocked, dry-run, finalization recovery가 generation/history를 손상하거나 quota/failover를 재평가하지 않는가.
  • locator/state/status/dry-run의 selector evidence가 동일 work unit/transition을 가리키고 독립 branch drain을 보존하는가.

검증 결과

SelectorDispatcherIntegrationTest

명령: python3 agent-ops/skills/project/orchestrate-agent-task-loop/tests/test_dispatch.py SelectorDispatcherIntegrationTest -v

실제 stdout/stderr와 exit code를 기록한다.

Selector 전체 회귀

명령: python3 agent-ops/skills/project/orchestrate-agent-task-loop/tests/test_select_execution_target.py -v

실제 stdout/stderr와 exit code를 기록한다.

BlockerDrainTest

명령: python3 agent-ops/skills/project/orchestrate-agent-task-loop/tests/test_dispatch.py BlockerDrainTest -v

실제 stdout/stderr와 exit code를 기록한다.

전체 Python suite

명령: python3 -m unittest discover -s agent-ops/skills/project/orchestrate-agent-task-loop/tests -p 'test_*.py'

실제 stdout/stderr와 exit code를 기록한다.

py_compile

명령: python3 -m py_compile agent-ops/skills/project/orchestrate-agent-task-loop/scripts/dispatch.py agent-ops/skills/project/orchestrate-agent-task-loop/scripts/execution_target_policy.py agent-ops/skills/project/orchestrate-agent-task-loop/scripts/select_execution_target.py agent-ops/skills/project/orchestrate-agent-task-loop/tests/test_dispatch.py agent-ops/skills/project/orchestrate-agent-task-loop/tests/test_execution_target_policy.py agent-ops/skills/project/orchestrate-agent-task-loop/tests/test_select_execution_target.py

실제 stdout/stderr와 exit code를 기록한다.

diff check

명령: git diff --check

실제 stdout/stderr와 exit code를 기록한다.


[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 Owner Note
Header comment, 개요, 리뷰 에이전트 지시 Fixed at stub creation Implementing agent must not modify or execute these (archive, complete.log, and task-directory archive move are review-agent only)
Roadmap Targets Fixed at stub creation from plan when present Implementing agent must not modify; code-review copies it into complete.log as Roadmap Completion only on PASS
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
Agent UI Completion Mixed Present only for plan-required agent-ui code work; implementing agent fills actual evidence, review agent applies 구현됨 status/evidence update on PASS and copies the section into complete.log
구현 항목별 완료 여부 (item names) Fixed at stub creation Implementing agent checks [ ][x] only
구현 체크리스트 (item text/order) Fixed at stub creation from plan Implementing agent checks [ ][x] only
코드리뷰 전용 체크리스트 Review agent only Implementing agent must not modify or check this section
계획 대비 변경 사항, 주요 설계 결정 Implementing agent Replace placeholder text with actual content
리뷰어를 위한 체크포인트 Fixed at stub creation Pre-filled from plan
검증 결과 (section headings + commands) Fixed at stub creation Implementing agent fills in command output only; command changes require a 계획 대비 변경 사항 entry
코드리뷰 결과 Review agent appends Not included in stub