Record final 30-stage Android verification and current handoff
This commit is contained in:
@@ -0,0 +1,47 @@
|
||||
# T8 최종 검증 기록
|
||||
|
||||
2026-10-07 KST. 작업 디렉터리의 고정 소스 `5ebb86e2a82c6005f870460e8434d7ad99c0e99d`에서 Final 네 단계를 모두 실행했다. 검사 전후 tracked 변경은 없으며 아래 종료 코드는 실제 외부 명령의 값이다. 루트 통합·completion 네 단계와 최종 인수는 별도 단계다.
|
||||
|
||||
T7은 사용자가 명시한 첫 버전 범위에서 완료됐다. **효과음·배경음악은 제외하며 추가 음원 요청이나 자리표시자를 요구하지 않는다. 승인된 한국어 음성 44개는 유지한다.** T8에서는 게임 규칙·자산·저장 스키마를 변경하지 않았다. 기반 `7db006544cc471240e4342c4fa4affcb7c616d71`과 Assets/Packages/ProjectSettings/SourceAssets의 모든 tracked blob이 같다.
|
||||
|
||||
## 실행 결과
|
||||
|
||||
| 실제 명령 | 결과 | 외부 종료 코드 |
|
||||
|---|---|---|
|
||||
| `pwsh -NoProfile -File tools/verify.ps1 -Phase EditMode -Milestone Final` | 100/100, 실패·건너뜀·미확정 0 | 0 |
|
||||
| `pwsh -NoProfile -File tools/verify.ps1 -Phase PlayMode -Milestone Final` | 47/47, 실패·건너뜀·미확정 0 | 0 |
|
||||
| `pwsh -NoProfile -File tools/verify.ps1 -Phase AndroidBuild -Milestone Final` | 실제 APK 생성·검사 통과 | 0 |
|
||||
| `pwsh -NoProfile -File tools/verify.ps1 -Phase AndroidSmoke -Milestone Final` | Final 226개 게이트 통과 | 0 |
|
||||
|
||||
AndroidSmoke는 2026-10-06 17:00:44.546~17:16:16.506 UTC에 실행됐다. Final 디스패치가 실제 다음 네 검사를 순서대로 호출하며 각각 실제 종료 0이다.
|
||||
|
||||
| 검사 | 통과 | 증명 범위 |
|
||||
|---|---|---|
|
||||
| Fresh30 | 151/151 | 새 저장에서 실제 터치로 1~30 순차 해결, 저장 push/완료 주입 0회 |
|
||||
| FinalBoundary | 37/37 | 실제 30 완료 후 공급·반환·빈 보드·핀치·분리 취소·음성 취소·손상 파일 복구 |
|
||||
| RapidBoundary | 39/39 | 명시적인 별도 평면 10구 QA 배치, 오프라인 빠른 계수와 전체 음성 |
|
||||
| ContentBoundary | 69/69 | 기존 콘텐츠·도움·시범·저장·음성 경계의 별도 실제 입력/QA 교차 검사 |
|
||||
|
||||
Fresh30은 각 단계의 실제 완료 JSON·원래 구 ID·목표 묶음을 확인했다. 서로 다른 두 미완료 퍼즐과 최근 자유 놀이가 동시에 저장되고, 양수의 부분 계수와 바뀐 카메라를 포함해 강제 종료 후 각각 복원됐다. 6/10 최초 시범, 순차 해금, 재플레이 완료 기록 유지, 자동 다음 단계 이동 없음, 30 이후 31 없음도 확인했다. 모양이나 특정 구 ID 조합을 새로운 성공 조건으로 추가하지 않았다. Stage15에서 요청한 터치 ID와 실제 선택 ID가 달랐지만 올바른 2+3으로 이미 완료된 경우는 실제 목표·전체 ID 보존으로 판정하고, 요청 ID 일치 검사 통과로 표기하지 않는다.
|
||||
|
||||
## APK와 음성
|
||||
|
||||
[Final APK](../artifacts/android/Final/MagnetismHeroes.apk), [배포용 사본](../artifacts/android/MagnetismHeroes.apk), Fresh30에서 실제 설치 후 가져온 `installed-base.apk`는 모두 다음 SHA-256이다.
|
||||
|
||||
`223F26C5E2EFAE6A7C50A36CF654195C7EF3AD37DCCDC3001B8CF6E3A515C8C7`
|
||||
|
||||
실제 APK의 AudioClip 44개를 고정된 검증 도구 UnityPy 1.25.4로 추출했다. 이름 유일성·44개 완전성과 승인 runtime WAV의 PCM 바이트·형식이 모두 정확히 일치한다. 승인 원본/편집본/runtime 해시 132개와 사용 고지 3개도 일치한다. incremental BuildReport의 빈 packed-assets 목록을 자산 존재 증거로 사용하지 않는다. 동일 inspector로 실제 APK 양성 종료 0, 자산 누락/실제 PCM 변형 사본 각각 종료 1을 확인했다. 검증 도구·모델 가중치·TTS 서버는 APK 의존성이 아니다.
|
||||
|
||||
RapidBoundary는 **이번 Fresh30의 실제 30 완료 원문과 Stage20 실제 수집/성공 원문**을 출처로 남기고 위치·카메라·한 묶음·계수 전 상태만 QA용으로 구성했다. 완료 기록은 출처와 정확히 같다. 이 저장 주입은 새로운 정상 진행 증거가 아니다. 실제 11회 탭(중복 포함)을 0.441초에 수행했다. 첫 읽기의 계수 9 이후 약 82ms 뒤 실제 Free20을 관찰했으며 각 읽기 JSON/UTC를 보존했다. PCM 시작보다 앞선 녹음 wrapper 시작으로 계산한 Free 관찰 시각 상한 1.676초는 열 번째 전체 발화 끝 7.383초보다 이르다. 하나~열 전체 발화·FIFO·중복 추가 발화 없음·같은 구/카메라의 Free 전이 이후 마지막 발화 완결을 확인했다. 녹음 전체 길이는 23.893초다.
|
||||
|
||||
안내/숫자 취소는 실제 발화 시작의 양성 PCM과 이동·일시 정지 후 마지막 3초 무음을 함께 확인했다. 완전 발화 비교는 취소된 파일을 거부했다. 전체 발화 양성과 앞/뒤/중간 잘림·중복·잡음·다른 발화 여섯 음성 비교 대조군도 실제 0/1 결과로 확인했다. 기존 44개 청취 승인과 이번 객관적 PCM 검사는 구분한다.
|
||||
|
||||
## 환경·시각 확인·원문
|
||||
|
||||
Unity 6000.6.3f1, `Medium_Phone_API_37.0` AVD(API37/x86_64, arm64 번역), 2400×1080 가로 화면이다. 실제 APK는 arm64-v8a, minSdk26/targetSdk36이다. Editor와 native 녹음은 모두 종료했고 AVD는 유지했다. 네트워크 airplane/wifi/data 0/1/1과 audio speaker/submix/default 5/5/5를 실제 복원했다. 마지막 ContentBoundary가 남긴 Stage11 QA 상태는 Fresh30 정상 완료 원문과 구분한다. **실기기 성능·FPS, iOS, 스토어 배포는 검사하지 않았다.**
|
||||
|
||||
[시각 확인 원문](../artifacts/verification/Final/native-visual-review.json)은 실제 Android PNG/SHA/터치 명령과 관찰 범위를 연결한다. 현재 Stage13/15의 2+3 친구 얼굴·숫자·구 수량, Stage28의 실제 선택5, 분리 경계의 실제 전체 선택5/떨어진 양끝 선택2를 직접 확인했다. Stage15의 이전 아래쪽 시점은 가독성 합격 근거에서 제외하고 현재 정상 시점을 사용한다. Editor Camera.Render RT나 모든 시점·해상도의 가독성 합격으로 확대하지 않는다.
|
||||
|
||||
권위 있는 목록은 [manifest.json](../artifacts/verification/Final/manifest.json)의 **1,982개 지정 파일과 해시**다. 이 작업의 원시 증거 위치는 `C:/git/MagnetismHeroes/.dryforge/worktrees/T8/artifacts/verification/Final`이며 루트에서 이후 실행하는 completion 증거와 구분한다. 네 외부 명령/phase 기록, XML, 네 child report, 실제 JSON/PNG/PCM, 이번 APK의 UUID 추출 파일만 명시적으로 연결한다. Final 폴더에 남은 이전 UUID·도구 설치 이력 전체를 이번 소스의 증거로 주장하지 않는다. 문서 전용 후속 커밋과 검사 소스의 관계는 같은 폴더의 `source-documentation-relationship.json`에 기록한다.
|
||||
|
||||
실패·사전 검사 원문은 `artifacts/verification/T8-red/`에 보존했다. Final 첫 퍼즐 fallthrough, PowerShell 인수/선택 배열, 화면 밖·소품 가림 입력, 이미 완료된 보드 재시도, 재사용된 recorder PID, 계수 마지막 입력/저장 관찰 경쟁을 게임 규칙 우회 없이 수정했다. 정상 임의 3D 배치에 모든 구가 한 시점에서 보인다는 추가 조건을 요구하지 않는다. 녹음은 시작 때 확인한 원래 process handle을 유지하여 재사용된 브라우저 PID를 기다리거나 종료하지 않는다. 이전 폴더의 이동 관계도 원문에 남겼다.
|
||||
+12
-2
@@ -6,9 +6,19 @@
|
||||
|
||||
### 현재 진행 결정 (2026-10-06)
|
||||
|
||||
사용자는 “효과음·배경음악 없이 진행하겠습니다. T7을 마무리하고 T8을 진행하세요.”라고 요청했다. 첫 버전의 SFX/BGM 선정·재생·믹싱 청취·음악 반복 인수는 제외한다. 한국어 음성 44개와 외형·UI·VFX는 유지한다. **T7 구현과 기존 검사 증거는 완료 범위에 충족하며, 이 문서 변경의 독립 검토·통합 후 T7을 닫고 T8을 진행한다.** T8 완료를 선언한 것은 아니다. 변경 기록과 실제 문서 검사 결과는 [t7-completion.md](t7-completion.md)다.
|
||||
사용자는 “효과음·배경음악 없이 진행하겠습니다. T7을 마무리하고 T8을 진행하세요.”라고 요청했다. 첫 버전의 SFX/BGM 선정·재생·믹싱 청취·음악 반복 인수는 제외한다. 한국어 음성 44개와 외형·UI·VFX는 유지한다. **명시적 제외 범위의 T7은 독립 게이트·통합을 마쳤고 T8을 진행했다.** T8 작업 디렉터리의 최종 검사는 아래 2026-10-07 기록을 따른다. 루트 통합·completion 검사·최종 인수는 별도다. 변경 기록과 실제 문서 검사 결과는 [t7-completion.md](t7-completion.md)다.
|
||||
|
||||
아래 2026-10-05의 검사 결과는 재사용하는 원시 증거이며, 당시 음원 대기·프로세스 상태는 현재 상태가 아니다. 현재 Editor는 사용자 체험을 위해 루트 Main 씬 플레이 중이며 이 문서 작업에서는 Editor/AVD를 조작하지 않았다. 실행 상태는 작업을 시작할 때 다시 확인한다.
|
||||
아래 2026-10-05의 검사 결과는 재사용하는 원시 증거이며, 당시 음원 대기·프로세스 상태는 현재 상태가 아니다. 그때의 사용자 체험용 Editor 플레이 상태도 과거 기록이다. 2026-10-07 최종 검사 뒤 실제 Editor/녹음은 종료됐고 AVD만 유지했다. 재개 시 실제 프로세스와 런타임 소유권을 다시 확인한다.
|
||||
|
||||
### T8 최종 작업 기록 (2026-10-07)
|
||||
|
||||
- 검사 소스 `5ebb86e2a82c6005f870460e8434d7ad99c0e99d`에서 Final EditMode 100/100, PlayMode 47/47, AndroidBuild, AndroidSmoke의 실제 외부 종료가 모두 0이다. 검사 전후 clean, 실패·건너뜀·미확정 0이다. Android Final 226개 게이트와 Fresh30 151/FinalBoundary 37/RapidBoundary 39/ContentBoundary 69개가 각각 실제 child 종료 0으로 통과했다.
|
||||
- 새 저장에서 Android 실제 터치로 1~30을 순차 해결했다. Fresh30에는 save push/완료 fixture가 없다. 별도 RapidBoundary의 평면10구 QA는 실제 Fresh30 완료/Stage20 수집 원문을 출처로 보존하며 정상 진행과 구분한다. 실제 전체 하나~열/FIFO/중복 없음, 같은 보드 Free를 마지막 전체 발화보다 먼저 관찰한 증거를 남겼다.
|
||||
- `artifacts/android/Final/MagnetismHeroes.apk`, 표준 `artifacts/android/MagnetismHeroes.apk`, 실제 설치된 base.apk의 SHA는 모두 `223F26C5E2EFAE6A7C50A36CF654195C7EF3AD37DCCDC3001B8CF6E3A515C8C7`이다. 승인44 WAV는 재생성하지 않았고 실제 APK44 AudioClip PCM/채택132해시/고지3개를 검사했다. SFX/BGM은 사용자 결정에 따라 제외하며 음원 추가 요청은 없다.
|
||||
- 상세 명령·범위·실패 보존·한계는 [final-verification.md](final-verification.md), 실제 지정 원문 1,982개와 SHA는 `artifacts/verification/Final/manifest.json`이다. 문서 전용 커밋과 검사 소스의 관계는 `source-documentation-relationship.json`에 남긴다. 이전 실패·preflight는 `artifacts/verification/T8-red/`에 별도로 보존하며 현재 Final 결과로 바꾸지 않는다.
|
||||
- 기반 `7db0065` 대비 제품 Assets/Packages/ProjectSettings/SourceAssets의 tracked blob은 전부 같다. T8 변경은 Final 검사 연결·native QA/PCM/APK 검증 도구와 이 두 문서다. 루트의 원문 독립 검사도 234개/실제 종료0이며, 다음은 루트 독립 게이트·통합 후 기반 작업 디렉터리의 completion 네 단계와 최종 인수다. 이 문서 전용 변경 때문에 무거운 검사를 반복한 것으로 주장하지 않는다.
|
||||
- Unity 6000.6.3f1/API37 AVD/2400×1080 가로 화면에서 확인했다. minSdk26/targetSdk36/arm64 APK이며 실기기 성능·FPS·iOS·스토어 배포는 미검증이다. 실제 Editor·녹음은 없고 AVD qemu PID22452만 유지했다. 마지막 native 화면/저장은 ContentBoundary의 별도 Stage11 QA이며 정상30 원문은 Fresh30 폴더에 있다. 네트워크0/1/1과 audio5/5/5를 복원했다.
|
||||
- 런타임 소유자는 `/root/t8_final_implementation`이다. 루트의 해제/이관 지시 전까지 Editor/AVD/ADB/녹음을 다른 담당자가 동시에 조작하지 않는다. 다음 루트 completion 실행도 소유권을 명시해 직렬 수행한다. 과거 작업 디렉터리·실패 원문·승인 음성·제작 환경을 삭제하지 않는다.
|
||||
|
||||
### 2026-10-05 재개 후 검사·통합 기록
|
||||
|
||||
|
||||
Reference in New Issue
Block a user