Files
Find-Word/.agent/ACCEPTANCE-v0.2.5.md
T

65 lines
5.0 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
# Find-Word v0.2.5 수용 기준
현재 판정: **exact-byte 소유자 청취 승인 경로 수용, 배포 미실행**.
Oz 회신 **“승인합니다. 이대로 진행하세요”**, **2026-10-14T11:29:51Z / 2026-10-14 20:29:51 KST**를
[승인 기록](RELEASE-APPROVAL-v0.2.5.json)에 고정했다. 사용자에게서 전달받은 회신이며,
`productOwnerReleaseApproval=true`, `humanListeningAcceptance=true`, **`legalPrivacyClearance=false`**다.
자동 ASR은 market 1 segment와 `requiredEmptyPassed=false`로 여전히 실패다.
아래 구현 조건의 이전 증거를 보존하고 이번 전체 검증 결과는 [RESULT](RESULT-v0.2.5.md)에 기록했다: unit 146, Python 60, sandboxed Chrome 36 PASS; lint/build/audit/scan/diff도 통과.
승인 전 이 문서의 미체크 상태는 [원문 사본](evidence-v0.2.5/release-approval/before-ACCEPTANCE-v0.2.5.md)에 보존했다.
## 오류 재현과 loudness 자산
- [x] v0.2.3 실제 8 WAV의 integrated loudness spread가 약 16.49 LU임을 RED evidence로 보존한다.
- [x] 기존 runtime peak-dependent mix에서 같은 SNR의 background final gain/RMS가 환경별로 달라지는 RED를 보존한다.
- [x] 8개 final WAV를 실제 EBU R128 방식으로 측정하고 integrated loudness가 선언 목표의 ±0.2 LU 안에 든다.
- [x] 8개 간 integrated loudness spread가 0.4 LU 이하이다.
- [x] 모든 true peak가 선언 ceiling 이하이며 clipping/full-scale sample이 없다.
- [x] 8개 모두 24kHz mono PCM16, 정확히 12초, non-silent, 고유 hash, fade 경계다.
- [x] 기존 source SHA-256·bytes·creator·license·selected segment는 변경하지 않는다.
- [x] generator는 실제 loudness 측정 실패, 목표 이탈, peak 초과, source mismatch, publication 실패에서 기존 디렉터리를 보존한다.
- [x] manifest/provenance에는 normalization target, true-peak ceiling, algorithm/filter, FFmpeg version, pass 측정값과 final measured LUFS/LRA/true peak를 기록한다.
## Runtime 혼합
- [x] background load는 저장된 loudness-normalized PCM을 파일별 RMS 재정규화 없이 사용한다.
- [x] voice와 intro는 기존 normalization을 유지한다.
- [x] environment 8개와 SNR −12~+12 dB에서 background gain은 완전히 동일하다.
- [x] SNR 변화는 voice/background 상대 voice gain만 바꾸고 background gain을 바꾸지 않는다.
- [x] 고정 common/headroom gain은 검증된 최대 peak와 최대 SNR에서 수학적으로 clipping ceiling 이하이다.
- [x] 실제 101 voice × 8 ambience × 허용 SNR 경계를 검사해 peak 안전성과 유한 gain을 보장한다.
- [x] 재생·재청취·중도 종료·loop stop·404/decode/timeout/abort 복구를 보존한다.
## 버전·문서·주석
- [x] package/lock/HTML/UI/README/voice manifest/ambience manifest/query가 `0.2.5`다.
- [x] `CHANGELOG.md`에 v0.2.5의 모든 오류 원인·자산·runtime·수치·검증 변경이 있다.
- [x] README, ARCHITECTURE, AUDIO_PROVENANCE, DEPLOYMENT가 새 loudness 계약과 일치한다.
- [x] 변경한 모듈·함수·클래스·핵심 변수/매개변수·비자명한 오디오 로직에 상세 한국어 주석이 있다.
- [x] 정확한 credit, 라이선스 notice, v0.2.3 이전 역사/evidence를 보존한다.
## 전체 검증
- [x] lint/typecheck, unit/component/release/Python, build, npm audit를 통과한다.
- [x] sandboxed Chrome desktop/mobile에서 109 WAV 전수 hash/decode와 8 환경 실제 loop 재생을 통과한다.
- [x] 브라우저에서 실제 각 environment의 background GainNode 설정값이 동일함을 검증한다.
- [x] 3문항 고정난이도, 다음 단계, 시작 난이도, SNR 조절, 중도 종료, 무응답 표시가 회귀 없이 동작한다.
- [x] console/page error, failed request, 외부 runtime request, axe violation이 0이다.
- [x] secret scan과 `git diff --check`가 통과한다.
## exact 자산 릴리스 승인
- [x] 승인 JSON이 없어 실패하는 집중 테스트를 먼저 기록했다.
- [x] 전달 ZIP SHA-256 `bb2e974b652df43db4a1f2a59716836e2c521839c724b34d4b71c1b40c3322e5`와 현재 manifest·8 WAV·notice를 전수 비교한다.
- [x] 정확한 Oz 회신/소유자/범위/UTC·KST 시각 및 세 승인 flags를 검증한다.
- [x] 자동 empty-ASR OR 유효한 exact-byte 소유자 청취 승인 계약이며 현재 통과 사유는 후자뿐이다.
- [x] stale 자산/manifest, 다른 ZIP, 문구/범위/시각 누락·변경 및 법적 clearance 과장을 거부한다.
- [x] ASR 원문·market segment·`requiredEmptyPassed=false`와 원래 실패 테스트/로그를 역사 진단으로 보존한다.
- [x] 기존 evidence·원본·구간·loudness/gain 수학·음원 바이트를 보존한다.
## 배포/Git 작업 — 이번 작업 범위 제외, 미실행
- [ ] Neo 독립 검증 뒤 findword.heart-m.com에 commit-addressed release로 원자 배포한다.
- [ ] 공개 8 WAV의 LUFS/true peak/hash/MIME를 재측정하고 production Chrome 흐름을 확인한다.
- [ ] feature push, main fast-forward merge, annotated `v0.2.5`, fresh clone 검증을 완료한다.