<!-- task=m-stream-evidence-gate-core/18+14,16_runtime_contract plan=1 tag=CORE_RUNTIME_CONTRACT -->

# Plan - Stream Gate runtime contract와 NoopFilter

## 배경

완성된 evidence/arbiter/recovery/snapshot primitives를 request-local runtime으로 조립하기 전에 production `NoopFilter`와 immutable runtime options/request snapshot 계약을 고정한다. Owner loop와 fake host lifecycle은 후속 child가 구현한다.

## 분석 결과

- 읽은 파일(원본 분석): filter registry, evidence tail, parallel evaluation, arbiter, commit boundary, release/recovery contracts와 관련 SDD S01-S08/S13-S16.
- `test_env=local`; platform-common domain/test profile을 유지한다.
- 원본 PLAN의 RUNTIME-1 범위를 유지해 `FilterBase` 기반 stable production `NoopFilter`와 request-local immutable options/snapshot을 정의한다.
- enablement와 failure policy는 registry snapshot이 소유하고 violation filter는 test-only로 유지한다.
- Core contract는 raw codec, provider selection/auth, HTTP writer를 import하지 않고 host seam만 참조한다.
- dispatch/event/evidence owner loop와 behavioral fake host fixture는 `19` child가 이 계약을 소비해 구현한다.
- 기존 routing을 유지한다. build=`local-fit`, `PLAN-local-G08.md`; official review=`CODE_REVIEW-cloud-G08.md`.

## 구현 체크리스트

- [x] RUNTIME-1 production NoopFilter와 immutable runtime options/request snapshot을 구현한다.
- [x] RUNTIME-4 streamgate unit/race/diff 검증을 수행한다.
- [x] CODE_REVIEW-*-G??.md의 구현 에이전트 소유 섹션을 실제 구현 내용과 검증 출력으로 채운다.

## 구현 항목

### [RUNTIME-1] filter/runtime contract

- 새 `packages/go/streamgate/noop_filter.go`: `FilterBase` 기반 stable production filter를 정의한다.
- 새 `packages/go/streamgate/runtime.go`: registry/evidence/gate/boundary/recovery와 host seam을 request-local owner가 소비할 immutable options/request snapshot 계약으로 묶는다.

## 의존 관계 및 구현 순서

`14`, `16` PASS → RUNTIME-1/4. `19`가 이 계약으로 owner loop와 fake host fixture를 구현한다.

## 수정 파일 요약

| 파일 | 항목 |
|---|---|
| 새 `packages/go/streamgate/noop_filter.go`, `runtime.go` | RUNTIME-1 |

## 최종 검증

- `command -v go && readlink -f "$(command -v go)" && go version && go env GOROOT`
- `go test -count=1 ./packages/go/streamgate`
- `go test -race -count=1 ./packages/go/streamgate`
- `git diff --check`

모든 코드 변경 완료 후 반드시 `CODE_REVIEW-*-G??.md`의 구현 에이전트 소유 섹션을 채운다.

## 이 파일을 읽는 구현 에이전트에게

구현/test/evidence만 소유하고 active pair를 유지한다. user-review/finalization/roadmap은 official reviewer/runtime 소유다.
