Files
Find-Word/.agent/TASK-v0.2.3.md
T
2026-10-14 10:01:46 +00:00

3.6 KiB

Find-Word v0.2.3 구현 작업

기준

  • canonical repository: https://source.ibit.kr/OZ-Group/Find-Word
  • 기준 커밋: c92660b514f7af8eb556d3fa5c0fc80e4bdd4cf5
  • 작업 브랜치: feat/v0.2.3
  • 제품 버전: 0.2.3
  • 배포 대상: https://findword.heart-m.com/
  • 정확한 credit: Designed by OZ at Heat-T Medical Inc.
  • 프로젝트 라이선스: private / all rights reserved / UNLICENSED

사용자 요구사항의 실행 해석

  1. 각 라운드는 정확히 3문항이다.
  2. 한 라운드의 자동 난이도는 3문항 내내 동일하다. 정상 완료 결과 화면에서 다음 난이도 버튼을 누르면 바로 다음 단계의 새 3문항 라운드가 시작된다. 5단계에서 완료하면 같은 단계 재도전 또는 처음 화면으로 돌아간다.
  3. 시작 화면에서 시작 난이도(1~5)를 선택한다.
  4. 사용자가 배경 대비 목표 음성 비율을 직접 조정할 수 있도록 SNR dB 제어를 제공한다. 게임 중 변경은 현재 재생 전/재청취와 이후 라운드 문항에 적용하며 자동으로 문항마다 변하지 않는다. 범위와 step은 안전하고 명시적으로 제한한다.
  5. 진행 중 문제 풀이 종료를 누르면 현재 오디오를 즉시 중단하고, 지금까지 답한 문항 수와 정답 수를 보여 주는 중도 종료 결과 화면을 표시한다. 사용자가 처음 화면으로를 눌러 초기 화면으로 돌아간다. 무응답 문항을 오답으로 세지 않는다.
  6. 기존 procedural white-noise 환경음을 제거하고, 길거리·쇼핑몰·극장·백화점·시장·지하철·카페·비 오는 거리의 실제 현장 녹음 8개를 정적 자산으로 번들한다. 환경마다 서로 다른 녹음을 사용한다.
  7. 현장음은 공개·수정·재배포가 허용된 라이선스만 사용한다. 원본 URL, 직접 다운로드 URL, 저작자, 라이선스, 변환, 원본/배포 해시와 attribution을 manifest와 문서에 기록한다. NC/ND/불명확한 자산은 금지한다.
  8. 배경음은 24kHz mono PCM16 WAV로 통일하고, 재생 시 RMS를 정규화한다. 목표 음성과의 상대 SNR이 사용자의 dB 설정을 따른다. 짧은 자산은 click 없이 loop하고 목표 음성 종료 때 정리한다.
  9. 앱 런타임은 same-origin 정적 자산만 요청하며 외부 네트워크, 분석, 추적, runtime TTS를 추가하지 않는다.
  10. CHANGELOG.md를 버전 히스토리 파일로 생성하고 v0.2.3의 모든 변경, 오류 수정, 자산/라이선스, 테스트와 배포 관련 변경을 기록한다. 이전 v0.1.1/v0.1.0의 핵심 이력도 보존한다.
  11. 버전 문자열을 package, lock, HTML title, UI, README, manifest/문서와 빌드에 일관되게 0.2.3으로 반영한다.
  12. 직접 작성·수정한 소스 코드에는 모듈, 함수, 클래스, 핵심 변수·매개변수, 비자명한 로직의 목적과 이유를 설명하는 상세한 한국어 주석을 단다. 타입 선언·자명한 JSX 태그마다 형식적 주석을 반복하지 말고 설계 의도를 설명한다.

개발 방식

  • strict TDD: 각 동작의 실패하는 테스트를 먼저 실행해 RED를 남긴 뒤 최소 구현으로 GREEN을 확인한다.
  • 과거 .agent/evidence-v0.1.1과 .agent/RESULT*.md는 수정하지 않는다.
  • 새 evidence는 .agent/evidence-v0.2.3/, 결과는 .agent/RESULT-v0.2.3.md에 기록한다.
  • production 코드 변경 전 테스트를 작성한다.
  • 기존 100개 목표 음성과 게임 콘텐츠, 개인정보 미수집, 접근성, 정확한 credit을 보존한다.
  • Codex는 commit, push, merge, tag, production 배포를 하지 않는다. Neo가 독립 검증 후 실행한다.