<!-- task=m-backtest-multi-timeframe-coverage/02+01_monthly_operator_handoff plan=1 tag=REVIEW_OPERATIONS -->
# Plan - REVIEW_OPERATIONS

## Meta

- Task: m-backtest-multi-timeframe-coverage/02+01_monthly_operator_handoff
- Milestone: agent-roadmap/phase/backtest-loop/milestones/backtest-multi-timeframe-coverage.md
- Lane: local
- Gate: G03
- Tag: REVIEW_OPERATIONS
- Status: planned
- Scope: monthly-bars operator handoff evidence repair
- Parent: `plan_local_G05_0.log` / `code_review_local_G05_0.log`

## Roadmap Targets

- `agent-roadmap/phase/backtest-loop/milestones/backtest-multi-timeframe-coverage.md` task id `monthly-bars`

## Spec Targets

- `agent-roadmap/sdd/backtest-loop/backtest-multi-timeframe-coverage/SDD.md` scenario S04: monthly-bars deterministic daily aggregation with provenance evidence

## Archive Evidence Snapshot

- Archived plan: `agent-task/m-backtest-multi-timeframe-coverage/02+01_monthly_operator_handoff/plan_local_G05_0.log`
- Archived review: `agent-task/m-backtest-multi-timeframe-coverage/02+01_monthly_operator_handoff/code_review_local_G05_0.log`
- Verdict: FAIL
- Required summary: The operator monthly aggregation source/test/doc changes were locally inspectable and the reviewer reran the planned commands successfully, but the implementation-owned review handoff remained a stub: completion table `대기/구현 전`, implementation checklist unchecked, and verification result `미실행`.
- Affected files: `CODE_REVIEW-local-G03.md` primarily; source files should remain unchanged unless a rerun exposes a concrete failure.
- Verification evidence already observed by reviewer:
  - `agent-task/archive/2026/06/m-backtest-multi-timeframe-coverage/01_monthly_worker_core/complete.log` exists and records predecessor PASS.
  - `go test ./apps/cli/internal/operator -run 'Test(RunScenarioAggregateMonthlyBars|ValidateAggregateMonthlyBars|MonthlyBarsFixture)'` passed with `ok git.toki-labs.com/toki/alt/apps/cli/internal/operator 0.012s`.
  - `bin/contracts-check` passed with no stdout/stderr.
  - `git diff --check` passed with no stdout/stderr.
- Narrow archive reread allowed: the archived plan/review above and the predecessor complete log path above.

## Context

This follow-up exists because the first review found a loop artifact failure, not a source-code correctness failure. The next implementation step is to complete the operator handoff evidence in the active review file, rerun the fixed verification contract, and paste actual command output. Do not ask the user directly and do not create a `USER_REVIEW.md`; missing verification evidence is repairable in this local follow-up.

## Scope

In scope:

- Confirm the predecessor `01_monthly_worker_core` complete log exists at the narrow archive path from the snapshot.
- Rerun the required verification commands and paste actual stdout/stderr, including explicit `(no output; exit 0)` lines for silent successful commands.
- Fill the implementation-owned sections of `CODE_REVIEW-local-G03.md`: completion table, implementation checklist, plan deviation, design decisions, user-review request default, and verification output.
- Cross-check that operator monthly evidence still includes `source_daily_bar_count`, `monthly_bar_count`, `provenance_count`, and `aggregation_rule_id`.

Out of scope:

- Reworking the monthly worker/API core that predecessor `01_monthly_worker_core` already closed.
- Editing roadmap status directly. PASS finalization will let the runtime consume `Roadmap Completion`.
- Broad refactors or unrelated contract/client/API/worker changes.

## Work Items

1. Verify predecessor evidence:
   - Run `test -f agent-task/archive/2026/06/m-backtest-multi-timeframe-coverage/01_monthly_worker_core/complete.log`.
   - Record the command and result in `CODE_REVIEW-local-G03.md`.
2. Verify operator evidence paths:
   - Inspect `apps/cli/internal/operator/runner.go`, `apps/cli/internal/operator/scenario.go`, `apps/cli/internal/operator/output.go`, `apps/cli/internal/operator/runner_monthly_test.go`, `apps/cli/testdata/operator/monthly_bars_aggregation.yaml`, `apps/cli/testdata/operator/expected/monthly_bars_aggregation.jsonl`, and `apps/cli/testdata/operator/headless_validation.md`.
   - Record that the API action, validation, compact JSONL/text fields, fixture, and docs line up with SDD S04.
3. Rerun verification:
   - `go test ./apps/cli/internal/operator -run 'Test(RunScenarioAggregateMonthlyBars|ValidateAggregateMonthlyBars|MonthlyBarsFixture)'`
   - `bin/contracts-check`
   - `git diff --check`
4. Complete `CODE_REVIEW-local-G03.md`:
   - Mark the completion table and implementation checklist with concrete evidence.
   - Keep `사용자 리뷰 요청` as `없음`.
   - Paste actual stdout/stderr under the fixed verification headings.
   - If a command fails, make the smallest source/test fix needed and document it before rerunning.

## Acceptance Criteria

- The active review file no longer reads as a pre-implementation stub.
- The predecessor complete-log evidence is recorded.
- The operator monthly aggregation scenario evidence is tied to SDD S04 with concrete files and command output.
- The required commands pass or any failure has a focused fix plus rerun output.
- No direct roadmap mutation is made by this follow-up.

## 구현 체크리스트

- [ ] Predecessor `01_monthly_worker_core` complete log is confirmed and recorded.
- [ ] Operator monthly aggregation files are cross-checked against SDD S04 evidence fields.
- [ ] Required verification commands are rerun and actual stdout/stderr is pasted.
- [ ] No source changes are made unless a rerun exposes a concrete failure; any such fix is documented.
- [ ] `CODE_REVIEW-local-G03.md` implementation-owned sections are fully completed before saving.

## 검증

- `test -f agent-task/archive/2026/06/m-backtest-multi-timeframe-coverage/01_monthly_worker_core/complete.log`
- `go test ./apps/cli/internal/operator -run 'Test(RunScenarioAggregateMonthlyBars|ValidateAggregateMonthlyBars|MonthlyBarsFixture)'`
- `bin/contracts-check`
- `git diff --check`

## 구현 중 사용자 결정 금지

- 구현 중 직접 사용자에게 질문하지 않는다.
- `request_user_input`을 호출하지 않는다.
- SDD 결정 또는 Milestone `구현 잠금 > 결정 필요`에 해당하지 않는 검증 공백은 `사용자 리뷰 요청`이 아니라 이 follow-up 안에서 해결한다.
