최초 기획 잔여 범위 전체 구현·실행·반복 QA 메뉴얼
작업 중DB·생존·실제 수원 공간·멀티 월드·브라우저·100명 검증까지 전체 범위를 유지하고 순차 실행합니다.
목표와 완료 기준
수원 기반 Unity TPS 생존 샌드박스의 최초 프로토타입 잔여 요구사항을 로컬 환경에서 구현·적용·실행 검증합니다. 전투·세력·차량 등 명시된 후속 확장은 제외합니다.
순차 작업 메뉴얼
순서대로 구현·QA를 확인합니다. 후속 회차에는1~5개만 선택하며 전체 미완료 목록은 보존합니다.
T01기준점과 전체 실행 범위 보존완료QA 통과
- 실행
- 현재 소스를 로컬 Git 기준점으로 보존하고 최초 기획·기존 검토·실행 메뉴얼 지침을 대조합니다.
- 완료 기준
- 복원 가능한 기준 커밋과 원래 전체 범위를 유지한 유효 메뉴얼이 존재합니다.
- QA 절차
- 기준 커밋을 실제 조회하고 JSON 계약 검사를 실행합니다.
- 순서·수정
- 선행 작업 없음 · r1 · 전체 목록 보존
- 실제 결과
- 로컬 기준 커밋 a5919c39d16d8835063c880352e26629737fbcfb와 전체 기획 검토를 확인하고 메뉴얼 계약 검사를 실행했습니다.
- 최근 QA
- 기준 커밋 존재, 최초 검토 보고서 및 전체 12개 실행/QA 기준 보존, JSON 계약 검사 성공git rev-list --max-parents=0 HEAD; validateReport(manual, project registry) · 2026-10-30T09:35:20.375Z
T02PostgreSQL·PostGIS 설치와 공간 쿼리완료QA 통과
- 실행
- 프로젝트 전용 바이너리·DB·앱 계정을 구성하고 PostGIS를 활성화합니다.
- 완료 기준
- 실제 앱 접속·좌표 변환이 성공하며 앱 계정은 슈퍼유저가 아닙니다.
- QA 절차
- db-doctor.ts를 실행해 버전·ST_Transform·계정 권한을 확인합니다.
- 순서·수정
- T01 · r1 · 전체 목록 보존
- 실제 결과
- PostgreSQL 17.11·PostGIS 3.6.2에서 실제 ST_Transform과 일반 앱 계정 접속을 확인했습니다.
- 최근 QA
- PostGIS 좌표 변환이 POINT를 반환하고 app_is_superuser=false입니다.node server/tools/db-doctor.ts; 로컬 증거 docs/qa/database-install.json (원문에는 로컬 경로가 있어 공개 첨부하지 않음) · 2026-10-30T09:35:20.551Z
T03생존·휴식·수색·NPC·월드 재고 규칙완료QA 통과
- 실행
- 미정 수치를 provisional 설정으로 분리하고 활력·고갈 효과·거래·대사·월드별 물자를 구현합니다.
- 완료 기준
- 수치 변화와 행동 제한, 무게·재고·거래·중립 제한이 서버에서 일관되게 판정됩니다.
- QA 절차
- 고정 시간·재현 가능한 난수로 정상/경계/실패·중복·월드 분리 테스트를 실행합니다.
- 순서·수정
- T02 · r1 · 전체 목록 보존
- 실제 결과
- 16개 실제 도메인 테스트 통과: 활력·휴식·고갈 효과·물자 재고·거래·중립 제한·부정 입력·캐시·복원을 확인했습니다.
- 최근 QA
- 전체 27개 테스트 실행에 현재 생존·수색·NPC 도메인 16개가 포함되어 모두 통과했습니다.server/test/game.test.ts 및 동일 전체 회귀 실행 결과 · 2026-10-30T09:50:59.352Z
T04트랜잭션 저장·중복 방지·복원완료QA 통과
- 실행
- PostGIS 저장소를 서버에 연결하고 기존 JSON 상태를 보존·이관합니다.
- 완료 기준
- 아이템·재고·영수증이 함께 커밋/롤백되며 재시작과 재시도에도 보존됩니다.
- QA 절차
- 실제 DB에서 실패 유도·동일 ID 재전송·서버 재시작·공간 거리·동시 요청을 검증합니다.
- 순서·수정
- T03 · r1 · 전체 목록 보존
- 실제 결과
- 실제 DB 강제 실패 롤백·중복 8개 동시 요청·300개 후 재시도·프로세스 재시작·기존 JSON 보존 이관이 통과했습니다. 개발 서버 health도 postgres-postgis입니다.
- 최근 QA
- TypeScript 검사 성공, 현재 전체 27개 테스트 통과. 실제 PostgreSQL WebSocket 프로세스 재시작과 JSON 백업 동일성·원문 토큰 제외를 확인했습니다. 초기 TypeScript 검사에서 미사용 자체 WebSocket 파일의 TS2345가 있었고 표준 ws 교체 후 해당 파일 제거·재검사를 수행했습니다.node --test server/test/*.test.ts; pnpm -C server exec tsc --noEmit; docs/qa/postgres-transactions.json; docs/qa/database-runtime.json · 2026-10-30T09:50:58.646Z
T05수원 원본 지리 데이터와 안전한 시작점완료QA 통과
- 실행
- 라이선스를 확인한 실제 수원 경계·도로·건물을 확보하고 출처를 기록합니다.
- 완료 기준
- 가상 격자가 아닌 원본 좌표가 사용되고 시작점이 범위·건물·중립/위험 조건을 통과합니다.
- QA 절차
- 원본 OSM 식별자·좌표와 결과를 대조하고 폴리곤·충돌·스폰 테스트를 실행합니다.
- 순서·수정
- T04 · r1 · 이번 회차 대상
- 실제 결과
- 공식 OSM 수원 경계와 Geofabrik 원본을 실제 추출하여 37308 건물·15722 도로·96 접근 제외 영역 및 다리 610개 구간을 반영했습니다. 전체 서버 34개 테스트와 실제 공간 HTTP 응답이 통과했습니다.
- 최근 QA
- Q08 작성 직전 제한된 셸의 로컬 HTTP 요청은 소켓 접근 거부로 실패했으므로 그 시점의 HTTP 완료 표현은 조급했습니다. 허용된 환경에서 10:15:05Z 실제 재요청하여 PG health와 건물579·도로454·영역5의 원본 기반 구역 응답을 확인하고 docs/qa/geography-runtime.json을 실제 응답으로 갱신했습니다. 공간 5개 및 전체34개 테스트도 모두 실제 통과했습니다.docs/qa/geography-runtime.json checkedAt 2026-10-30T10:15:05.2399785Z · 2026-10-30T10:16:33.370Z
T06Unity 실제 공간과 생존 플레이 흐름완료QA 통과
- 실행
- 지리 형상·건물·수색 장소·캠프를 표시하고 생존·상점·치료·휴식·채팅 UI를 연결합니다.
- 완료 기준
- 탐색→수색→소비/회복→캠프 거래/치료가 실제 TPS에서 동작합니다.
- QA 절차
- Windows 빌드 후 실제 서버 연동 플레이·조작·모션·HUD를 실행 검증하고 실제 화면을 캡처합니다.
- 순서·수정
- T05 · r1 · 이번 회차 대상
- 실제 결과
- 실제 Windows 게임 실행 5개 시나리오 및 비표시 데스크톱의 한글 상점 HUD를 확인했습니다.
- 최근 QA
- 법선·이동 완료 검사 수정 후 실제 Windows 플레이어 market/merchant/medic/guard/survivor 다섯 시나리오가 모두 종료 코드0 및 passed=true입니다. 걷기2.42m·달리기6.57m, 수색·동일요청재시도·소비·휴식·채팅·구매·판매·치료·대화를 DB 연결 서버 상태로 검증했습니다. 비표시 Windows 데스크톱에서 실제 상점 HUD PNG를 생성하고 직접 열어 한글·재고·가격·대화·생존 바 표시를 확인했습니다.docs/qa/runtime/*.json; merchant-dialogue-hud.png; tools/verify-windows.ps1; tools/verify-offscreen.ps1 · 2026-10-30T10:28:51.059Z
T07멀티 월드·접속 관리·관심 영역진행QA 미실행
- 실행
- 월드별 100명 상한과 NPC/아이템 상태 분리, 재접속·주변 채팅·근처 플레이어 동기화를 완성합니다.
- 완료 기준
- 월드 간 상태가 섞이지 않고 연결 교체·이탈·복원·관심 영역이 정확합니다.
- QA 절차
- 서로 다른 세션·두 월드에서 실제 클라이언트와 네트워크 통합 QA를 수행합니다.
- 순서·수정
- T06 · r1 · 이번 회차 대상
T08Unity Web 모듈과 브라우저 통신대기QA 미실행
- 실행
- 동일 Unity 버전의 Web 빌드 환경과 WebSocket JS 연결 계층을 설치·구현합니다.
- 완료 기준
- 실제 Web 빌드가 생성되고 네트워크·저장·맵 경로가 브라우저 제약에 맞습니다.
- QA 절차
- Web 빌드·자바스크립트 메시지·세션 복원 테스트를 실행합니다.
- 순서·수정
- T07 · r1 · 전체 목록 보존
T09실제 브라우저 플레이와 상호 운용대기QA 미실행
- 실행
- 로컬 HTTP 환경에서 Web 클라이언트를 실행하고 Windows 클라이언트와 같은 월드에 접속합니다.
- 완료 기준
- 브라우저 이동·수색·채팅·접속 복원과 서로의 상태가 실제 화면에서 확인됩니다.
- QA 절차
- 실제 브라우저 렌더·입력·연결 복구·동시 Windows 접속을 검증합니다.
- 순서·수정
- T08 · r1 · 전체 목록 보존
T10100명 부하와 장애 회귀 검증대기QA 미실행
- 실행
- 월드별 부하와 지연/연결 종료/재시작 시나리오를 실행하고 발견 문제를 수정합니다.
- 완료 기준
- 100명 동시 입력·상태 갱신이 검증되고 지연·오류·복원 결과가 측정됩니다.
- QA 절차
- 100개 실제 WebSocket 클라이언트로 위치·채팅·거래·월드 격리·재접속을 검사하고 재QA합니다.
- 순서·수정
- T09 · r1 · 전체 목록 보존
T11재현 가능한 실행 도구와 문서대기QA 미실행
- 실행
- 로컬 설치·기동·중지·복원·빌드 도구와 README 구현 현황을 최종 결과에 맞춥니다.
- 완료 기준
- 다음 실행에서 소스와 설명을 따라 Windows/브라우저/DB를 기동할 수 있습니다.
- QA 절차
- 문서의 명령을 실제 실행하고 라이선스·설정·비밀정보 제외·결과 화면을 확인합니다.
- 순서·수정
- T10 · r1 · 전체 목록 보존
T12전체 최종 QA와 아카이브 배포대기QA 미실행
- 실행
- 전체 현재 revision을 함께 회귀 QA하고 실제 화면·시간·남은 제한을 보고합니다.
- 완료 기준
- 모든 현재 작업 QA와 전체 final QA가 통과하고 보고서 외부 URL도 확인됩니다.
- QA 절차
- 전체 자동 검사·Windows/브라우저 실행·DB 복원·100명 결과를 재검증하고 Pages 배포 및 링크를 확인합니다.
- 순서·수정
- T11 · r1 · 전체 목록 보존
QA 반복 기록
실패 → 수정 → 해당 QA → 영향 범위 회귀 → 전체 최종 QA 순서로 확인합니다. 과거 실패를 삭제하지 않습니다.
Q01 · 작업 QA2026-10-30T09:35:20.375Z1/1 통과
기준점과 메뉴얼 전체 범위 검사
기준 커밋 존재, 최초 검토 보고서 및 전체 12개 실행/QA 기준 보존, JSON 계약 검사 성공
git rev-list --max-parents=0 HEAD; validateReport(manual, project registry)Q02 · 작업 QA2026-10-30T09:35:20.551Z1/1 통과
실제 DB 설치·공간 연산·권한 검사
PostGIS 좌표 변환이 POINT를 반환하고 app_is_superuser=false입니다.
node server/tools/db-doctor.ts; 로컬 증거 docs/qa/database-install.json (원문에는 로컬 경로가 있어 공개 첨부하지 않음)Q03 · 작업 QA2026-10-30T09:40:35.721Z1/1 통과
현재 생존·수색·NPC 도메인 QA
node --test server/test/game.test.ts: 16개 통과, 실패 0. 서버/DB 통합 QA를 이 결과에 포함하지 않습니다.
현재 server/test/game.test.ts 실제 실행 결과와 server/src/game.ts 및 config/content 파일 대조Q04 · 작업 QA2026-10-30T09:50:58.646Z1/1 통과
실제 DB 저장·오류·재시도·이관 QA
TypeScript 검사 성공, 현재 전체 27개 테스트 통과. 실제 PostgreSQL WebSocket 프로세스 재시작과 JSON 백업 동일성·원문 토큰 제외를 확인했습니다. 초기 TypeScript 검사에서 미사용 자체 WebSocket 파일의 TS2345가 있었고 표준 ws 교체 후 해당 파일 제거·재검사를 수행했습니다.
node --test server/test/*.test.ts; pnpm -C server exec tsc --noEmit; docs/qa/postgres-transactions.json; docs/qa/database-runtime.jsonQ05 · 회귀 QA2026-10-30T09:50:59.352Z1/1 통과
DB 연결 이후 생존·거래 회귀 QA
전체 27개 테스트 실행에 현재 생존·수색·NPC 도메인 16개가 포함되어 모두 통과했습니다.
server/test/game.test.ts 및 동일 전체 회귀 실행 결과Q06 · 작업 QA2026-10-30T09:52:38.221Z0/1 통과
수원 경계 원본 첫 요청 실패
Overpass 주 서버가 HTTP 502를 반환했고 모든 query worker가 사용 중이며 queue가 가득 찼다고 응답했습니다. 지리 데이터는 아직 확보하지 못했습니다.
node server/tools/overpass.ts 실제 HTTP 502 응답. 공식 공개 인스턴스 목록과 이용 제한을 확인한 대체 접근을 진행합니다.Q07 · 작업 QA2026-10-30T10:13:11.265Z0/1 통과
실제 수원 원본 전환 중 회귀 실패와 수정 기록
가상 블록 좌표를 전제한 이동 테스트 2개와 구 렌더러 잔여 코드의 Unity 컴파일 오류를 실제 실행으로 확인했습니다. 테스트 경로를 실제 개방 도로로 바꾸고 잔여 코드를 제거한 뒤 서버 29개 통과 및 Windows 빌드 성공을 재확인했습니다. 물가·제한 영역을 추가 추출하여 최종 공간 QA를 진행합니다.
node --test server/test/*.test.ts: 29 pass, 0 fail; .runtime/build-windows.log exit 0 after initial compile failureQ08 · 작업 QA2026-10-30T10:14:50.526Z1/1 통과
원본 대안 확보·공간 최종 QA 및 회귀 통과
수원 행정 경계·도로·건물·물가·접근 제한 및 보행 다리를 서버에서 실제 조회하고 검사했습니다. 시작 후보·수색 장소·NPC 모두 수원 내부의 개방 보행 도로 위이며 건물/물가/제한 영역을 피합니다. 원본은 공식 체크섬과 일치하고 파생 데이터 출처·임시 높이를 기록했습니다. 전체 34 tests pass, 0 fail, 0 skipped 및 tsc 통과.
server/world-data/suwon/provenance.json; server/test/geography.test.ts 5개; docs/qa/geography-runtime.json; 실제 node --test server/test/*.test.tsQ09 · 작업 QA2026-10-30T10:16:33.370Z1/1 통과
공간 HTTP 실행 근거 시각 정정 및 재검증
Q08 작성 직전 제한된 셸의 로컬 HTTP 요청은 소켓 접근 거부로 실패했으므로 그 시점의 HTTP 완료 표현은 조급했습니다. 허용된 환경에서 10:15:05Z 실제 재요청하여 PG health와 건물579·도로454·영역5의 원본 기반 구역 응답을 확인하고 docs/qa/geography-runtime.json을 실제 응답으로 갱신했습니다. 공간 5개 및 전체34개 테스트도 모두 실제 통과했습니다.
docs/qa/geography-runtime.json checkedAt 2026-10-30T10:15:05.2399785ZQ10 · 작업 QA2026-10-30T10:28:51.058Z0/1 통과
실제 클라이언트 첫 회차 실패 보존
실제 캡처에서 건물 벽이 검게 나왔으며 앞뒤 삼각형의 법선 상쇄를 코드로 확인했습니다. 첫 market 실행은 이동 완료 null 처리 차이로 검사기가 timeout되어 실패했습니다. batchmode의 자체 ScreenCapture 파일도 생성되지 않았습니다. 실패 JSON과 실제 화면을 보존했습니다.
docs/qa/attempt-01/market.json 및 market-initial.png; .runtime/client-qa/market.log 이력Q11 · 작업 QA2026-10-30T10:28:51.059Z1/1 통과
Unity 실제 TPS·생존·NPC 재QA와 상점 HUD 확인
법선·이동 완료 검사 수정 후 실제 Windows 플레이어 market/merchant/medic/guard/survivor 다섯 시나리오가 모두 종료 코드0 및 passed=true입니다. 걷기2.42m·달리기6.57m, 수색·동일요청재시도·소비·휴식·채팅·구매·판매·치료·대화를 DB 연결 서버 상태로 검증했습니다. 비표시 Windows 데스크톱에서 실제 상점 HUD PNG를 생성하고 직접 열어 한글·재고·가격·대화·생존 바 표시를 확인했습니다.
docs/qa/runtime/*.json; merchant-dialogue-hud.png; tools/verify-windows.ps1; tools/verify-offscreen.ps1남은 작업과 다음 반복
T07 월드 선택·자동 재접속·재시도 UI와 실제 멀티플레이를 진행합니다. Web 모듈은 공식 서명 확인 및 다운로드 완료, 자동 설치 실행에서 Windows 권한 상승 필요 오류를 확인했으며 T08에서 처리합니다.
변경 이유: 작업 시작 18:17:30 KST 이후 추가된 실행 메뉴얼 지침을 현재 작업에 반영했습니다. 기존 전체 완료 기준은 유지하고 실행·QA 단위를 12개로 구체화했습니다.
다음 작업: T07 · 멀티 월드·접속 관리·관심 영역
남은 작업으로 소수 후속 회차 만들기다른 버전·회차 17개
4회차 · v1.0.17 · 2026-10-30T12:33:03.664Z · 완료4회차 · v1.0.16 · 2026-10-30T12:11:50.966Z · 작업 중4회차 · v1.0.15 · 2026-10-30T12:08:09.392Z · 작업 중4회차 · v1.0.14 · 2026-10-30T11:46:12.157Z · 작업 중3회차 · v1.0.13 · 2026-10-30T11:32:09.727Z · 작업 중3회차 · v1.0.12 · 2026-10-30T11:20:19.514Z · 작업 중3회차 · v1.0.11 · 2026-10-30T11:11:12.680Z · 작업 중3회차 · v1.0.10 · 2026-10-30T11:00:32.294Z · 작업 중3회차 · v1.0.9 · 2026-10-30T10:51:03.294Z · 작업 중3회차 · v1.0.8 · 2026-10-30T10:40:07.297Z · 작업 중3회차 · v1.0.7 · 2026-10-30T10:32:00.416Z · 작업 중2회차 · v1.0.5 · 2026-10-30T10:16:33.490Z · 작업 중2회차 · v1.0.4 · 2026-10-30T10:14:50.645Z · 작업 중2회차 · v1.0.3 · 2026-10-30T10:13:11.500Z · 작업 중2회차 · v1.0.2 · 2026-10-30T09:52:38.348Z · 작업 중1회차 · v1.0.1 · 2026-10-30T09:50:59.509Z · 작업 중1회차 · v1.0.0 · 2026-10-30T09:35:20.637Z · 작업 중작업 시간
제안 시간: 전체 잔여 범위 4~10시간, 최초 DB·생존 실행 단계 30~60분 예상으로 18:17에 안내했습니다.
실제로 완료된 시간: 전체 작업 시작 2026-10-30 18:17:30 KST(Asia/Seoul). 진행 중이며 완료 시각이 아닙니다.
XERJ: 미사용 — XERJ MCP/검색 스크립트가 제공되지 않아 rg와 현재 코드·설정·실행 결과를 대조합니다.
Tracefolio REPORTS & ISSUES