## 목표
Sprint Contract `docs/contracts/normalizer.md` 의 DoD 전부 충족.
## 범위
- `Recordingtest.Normalizer` 라이브러리 + 기본 프로파일(default) 5규칙
- YAML 프로파일 로더
- xUnit 테스트 (규칙별 before/after, idempotent, json-configs 커버리지 매핑)
- `dotnet build` + `dotnet test` 전부 green
## 사이클
1. Generator 세션 (백그라운드 실행 중)
2. Evaluator 세션 → `/evaluate normalizer`
3. pass 시 PROGRESS.md Done 이동
Related: #2, #3
Blocking a user prevents them from interacting with repositories, such as opening or commenting on pull requests or issues. Learn more about blocking a user.
목표
Sprint Contract
docs/contracts/normalizer.md의 DoD 전부 충족.범위
Recordingtest.Normalizer라이브러리 + 기본 프로파일(default) 5규칙dotnet build+dotnet test전부 green사이클
/evaluate normalizerRelated: #2, #3
normalizer PoC — Verdict: pass (v2) ✅
Iteration history
3c5294a) — 5 rules + YAML profile + 8 tests. Self-flagged sidecar file write missing and permissive coverage test.|| trueshortcut).05c7a3f) — sidecar overload, explicit 18-entry field→rule mapping, newmask_volatile_settingsrule, 10/10 tests.Final DoD
Normalize(input, profile)APInormalization.log파일 쓰기json-configs.jsonsuspected fields 전수 커버 (explicit mapping)dotnet testall pass (10/10)Follow-ups (non-blocking)
mask_volatile_settings규칙의 JSON-path 스코핑 (현재 전역 필드명 매칭)closing.
비용 (retroactive)
재작업 1회로 토큰 증가.