<!-- task=m-iop-agent-chronos-extraction-decoupling/01_asset_universe plan=1 tag=TEST -->

# 기준 revision 기반 Agent asset universe 고정

## For the Implementing Agent

`CODE_REVIEW-cloud-G03.md`의 implementation-owned 섹션 작성은 필수다. encoded predecessor의 exact PASS를 확인하고 이 child 범위만 구현·검증한다. active pair를 유지해 review 준비 완료를 보고하며 finalization은 code-review agent만 수행한다. 차단되면 질문하거나 상태를 분류하지 말고 blocker, 실제 명령/출력, 재개 조건만 evidence 필드에 기록한다.

## Background

S01 inventory의 첫 단계로 고정 revision에서 활성 Agent 자산 집합과 TSV schema를 결정적으로 생성한다. 처분 결정과 completeness closure는 후속 child가 소유한다.

## Analysis

### Files Read

- `agent-roadmap/sdd/automation-runtime-bridge/iop-agent-chronos-extraction-decoupling/SDD.md`
- `agent-roadmap/phase/automation-runtime-bridge/milestones/iop-agent-chronos-extraction-decoupling.md`
- `agent-task/m-iop-agent-chronos-extraction-decoupling/01_asset_universe/plan_local_G06_0.log`

### SDD Criteria

- SDD `agent-roadmap/sdd/automation-runtime-bridge/iop-agent-chronos-extraction-decoupling/SDD.md`는 `[승인됨]`, 잠금 `해제` 상태다.
- Target은 Acceptance Scenario `S01`과 Milestone Task `inventory`; Evidence Map row는 source revision, import graph, disposition audit 및 중복 없는 manifest를 요구한다.
- 이 child는 그 row의 선행 입력인 revision 고정·활성 asset universe·중복 검증을 checklist와 Final Verification으로 구체화하고, disposition audit은 children 02–03에 넘긴다.

### Verification Context

- Handoff는 없고 predecessor도 없다. Milestone, 승인 SDD, 보존된 parent plan을 직접 읽어 범위와 기준 revision을 재확인했다.
- 현재 gap은 manifest가 아직 생성되지 않았다는 점이며, tracked revision drift와 deterministic `git`/`awk` 검증으로 닫는다. 외부 서비스나 credential은 필요 없다.
- Confidence는 high다. 출력은 단일 TSV이고 source tree와 active reference scan에서 재생성할 수 있다.

### Test Coverage Gaps

- 제품 test는 추가하지 않는다. revision drift, schema, non-empty, duplicate를 deterministic shell 검증으로 닫는다.

### Symbol References

- symbol 변경 없음. 경로 발견만 수행한다.

### Split Judgment

- 안정 계약은 기준 revision의 관련 활성 경로가 TSV에 한 번씩 존재하는 것이다. 처분 필드는 다음 child가 채운다.
- Predecessor는 없다. PASS evidence는 revision drift 0, non-empty TSV와 duplicate path 0이다.

### Scope Rationale

- source 이동·삭제, 처분 판단, Chronos write는 제외한다.

### Final Routing

- `evaluation_mode=isolated-reassessment`, finalizer=`finalize-task-policy.sh`, mode=`pair`.
- Build closures 모두 true. Scores=`1,0,0,1,1`, grade=`G03`, base/route=`local-fit`, lane=`local`.
- Review closures 모두 true. Scores=`1,0,0,1,1`, route=`official-review`, lane=`cloud`, grade=`G03`.
- `large_indivisible_context=false`; positive loop risks=`boundary_contract` (1); `review_rework_count=0`; `evidence_integrity_failure=false`; capability gap 없음.
- Canonical files: `PLAN-local-G03.md`, `CODE_REVIEW-cloud-G03.md`.

## Implementation Checklist

- [ ] Freeze the approved source revision and generate the deterministic TSV asset universe and header.
- [ ] Verify revision drift, non-empty output, and unique path rows without classifying dispositions.
- [ ] Fill implementation-owned sections in CODE_REVIEW-*-G??.md with actual implementation notes and verification output.

### [TEST-1] 기준 revision 기반 asset universe 생성

**Problem**

`agent-roadmap/.../iop-agent-chronos-extraction-decoupling.md:50`은 모든 code/config/proto/state/build/test/docs를 분류하라고 하지만 현재 파일별 원본이 없다.

```text
# agent-roadmap/phase/automation-runtime-bridge/milestones/iop-agent-chronos-extraction-decoupling.md:50
- [ ] [inventory] ... ownership manifest를 만든다.
```

**Solution**

`git ls-tree -r --name-only 3155be0e...`의 명시 경로군과 active reference scan을 합쳐 정렬·중복 제거한 universe를 만든다. Agent config/catalog에 결합된 `cmd/iop-provider-smoke`도 명시 경로군에 포함한다. TSV 첫 행을 `path\tkind\tdisposition\tbundle_path\tiop_action\tneutral_successor\tevidence`로 고정한다.

```text
# after: scripts/fixtures/iop-agent-chronos-ownership-manifest.tsv:1
path<TAB>kind<TAB>disposition<TAB>bundle_path<TAB>iop_action<TAB>neutral_successor<TAB>evidence
```

**Modified Files and Checklist**

- [ ] `scripts/fixtures/iop-agent-chronos-ownership-manifest.tsv` — revision과 모든 관련 활성 경로를 deterministic order로 기록한다.

**Test Strategy**

- Product test는 생략한다. tracked tree와 active reference scan 자체가 source of truth이고 audit 명령으로 재생성 일치를 검증한다.

**Verification**

- `git cat-file -e 3155be0e275437a8eedc1aa93497955a7d30465b^{commit} && git diff --quiet 3155be0e275437a8eedc1aa93497955a7d30465b -- apps/agent cmd/iop-provider-smoke packages/go/agentconfig packages/go/agentguard packages/go/agentpolicy packages/go/agentprovider packages/go/agentruntime packages/go/agentstate packages/go/agenttask packages/go/agentworkspace proto/iop/agent.proto proto/gen/iop/agent.pb.go configs/iop-agent.local.example.yaml configs/iop-agent.providers.yaml configs/iop-agent.runtime.yaml scripts/e2e-iop-agent-logged-smoke.sh scripts/fixtures/iop-agent-smoke-manifest.schema.json packages/flutter/iop_console` — 기준 code/config/proto/test asset drift 없음.
- `awk -F '\t' 'NR==1 {exit !($0=="path\tkind\tdisposition\tbundle_path\tiop_action\tneutral_successor\tevidence")} NR>1 {if (seen[$1]++) exit 2} END {if (NR<2) exit 3}' scripts/fixtures/iop-agent-chronos-ownership-manifest.tsv` — schema, non-empty, unique path PASS.

## Modified Files Summary

| File | Item |
|------|------|
| `scripts/fixtures/iop-agent-chronos-ownership-manifest.tsv` | TEST-1, TEST-2 |
| `agent-task/m-iop-agent-chronos-extraction-decoupling/01_asset_universe/CODE_REVIEW-cloud-G03.md` | TEST-1 |

## Final Verification

1. `git cat-file -e 3155be0e275437a8eedc1aa93497955a7d30465b^{commit} && git diff --quiet 3155be0e275437a8eedc1aa93497955a7d30465b -- apps/agent cmd/iop-provider-smoke packages/go/agentconfig packages/go/agentguard packages/go/agentpolicy packages/go/agentprovider packages/go/agentruntime packages/go/agentstate packages/go/agenttask packages/go/agentworkspace proto/iop/agent.proto proto/gen/iop/agent.pb.go configs/iop-agent.local.example.yaml configs/iop-agent.providers.yaml configs/iop-agent.runtime.yaml scripts/e2e-iop-agent-logged-smoke.sh scripts/fixtures/iop-agent-smoke-manifest.schema.json packages/flutter/iop_console` — 기준 code/config/proto/test asset drift 없음.
2. `awk -F '\t' 'NR==1 {exit !($0=="path\tkind\tdisposition\tbundle_path\tiop_action\tneutral_successor\tevidence")} NR>1 {if (seen[$1]++) exit 2} END {if (NR<2) exit 3}' scripts/fixtures/iop-agent-chronos-ownership-manifest.tsv` — schema, non-empty, unique path PASS.

Commands containing `go test -count=1` require fresh output; all other checks are rerun against the current checkout.

After completing all code changes, fill implementation-owned sections in `CODE_REVIEW-*-G??.md`.
