테스트 79건 품질관리 기준 적합성 점검 — #1478
현재 v0.17.9 구현 후보의 후속 결과는 79건 현행 품질 감사에 기록했다. 아래는 최초 조사 당시 SHA·실행·판정을 보존한 역사 기록이다.
2026-09-09 · 조사 이슈 #1478 · 필수 기준 15개
후속 릴리스 결정: #1478의 품질 기준 보완·적용은 v0.17.8에 배정한다. v0.17.7 Production 배포 성공 후 그 배포 커밋을 기준으로 앱 브랜치를 분기하며, 자세한 조건은 릴리스·착수 기준을 따른다. 아래 감사 수치는 조사 당시 코드의 기록으로 보존한다.
79건 모두 신규 품질 기준에 부적합이다. 적합 0건, 부적합 79건, 위반 없이 미검증만 남은 CASE 0건이다. 공통 시간·재시도 설정이 기준 11~13을 충족하지 않으며, CASE별 추가 위반과 미검증도 아래에 분리했다.
동일 코드의 기존 CI 최초 실행은 78건 통과·CASE-045 1건 실패였다. 이는 제품 동작 검사의 실행 결과이며, 이번 15개 품질 기준 적합성과 별도로 관리한다. 이 조사는 79건의 코드·기존 실행 증거를 대조한 결과이며 앱 수리나 새 전체 CI 실행을 포함하지 않는다.
대상과 검증한 버전
- 조사 중 반영된 최신 변경: PR #1475가 KST 21:55:28에 병합됐다. 최신 release head는 8957e66d4042d8687b0cbcd217f4ab235f020287이며, 차이는 공통 요청 추적 함수 1파일의 13줄 추가뿐이다. 79건의 CASE 본문·시간 설정·실행 목록은 동일하다. 아래 판정은 이 차이까지 반영했고, CASE-045의 수정 전 실패와 수정 후 미검증을 구분했다.
- 감사 대상: 유저 실사용 시뮬레이션 57건(CASE-001~058 중 CASE-003 제외) + 화면 정합성 검사 22건. 별도 제공자 검사 CASE-003·059·060은 이번 79건의 범위 밖이다.
- 소스: 승격 PR #1471의 release/v0.17.6 head
4b726b96c1141244825cdb94f7595bd51beb7a4a. - 실행 증거: CI 34347336887, attempt 1, 실제 실행 commit
7e23e7ed2c03509d4dc9ef45738a7fdba41064f6. head와 실행 commit은 SHA가 다르지만 전체 git diff가 없고 tree539c8f51a6f1a5bbbf992002eb3b8a6b3e4eeba7가 동일함을 확인했다. - 실제 Playwright
--list와 필수 실행 목록의 57+22건을 대조했다. 누락·중복은 0건이다. 목록 조회는 DB에 연결하지 않았으며 테스트 재실행으로 세지 않는다. - 기존 실행 아티팩트 5개(브라우저 4조각·화면 검사 1개)를 읽었다. 최초 79건과 CASE-045 재시도 1건을 구분했고, 기존 증거 집계기가 이 결과를 거절하는 것도 확인했다.
- 공통 오류·오프라인·복구·관측·정리·결과 집계 검사 35개를 이번 조사에서 실행해 35개 통과했다. 공통 도구의 일부 거절 동작을 확인한 것이며 모든 CASE의 결함 탐지력을 보장하지 않는다.
판정 방식
P(적합)는 해당 조건의 범위에 맞는 감사 근거를 확인했다는 뜻이다. 각 근거에서 정적 설계 확인과 실제 실행 증거를 구분한다. F(부적합)는 코드·실행에서 위반을 확인한 경우, U(미검증)는 조건 전체를 입증할 증거가 부족한 경우다. 모든 실행 타이밍에서 무결함임을 증명했다는 뜻으로 P를 사용하지 않는다.
CASE 전체는 F가 하나라도 있으면 부적합, F가 없어도 U가 있으면 미검증이다. 통과 점수를 합산하거나 재실행 성공으로 상쇄하지 않는다. 조건 9는 대표 결함을 넣어 목표 단언이 실패하는 증거와 관련 공통 도구 검증이 필요하며, 과거 실패 링크나 단언 문자열만으로 적합을 선언하지 않았다.
기준별 결과
| 번호 | 기준 | 적합 P | 부적합 F | 미검증 U |
|---|---|---|---|---|
| 1 | 목적·범위 | 79 | 0 | 0 |
| 2 | 시작 조건·재현성 | 74 | 0 | 5 |
| 3 | 독립성 | 61 | 1 | 17 |
| 4 | 상태 기반 동기화 | 38 | 2 | 39 |
| 5 | 독립 기대값 | 78 | 1 | 0 |
| 6 | 상황 실제 발생 | 77 | 0 | 2 |
| 7 | 경계·금지 부작용 | 72 | 3 | 4 |
| 8 | 필수 단언 완결성 | 51 | 7 | 21 |
| 9 | 결함 탐지·공통 도구 | 0 | 0 | 79 |
| 10 | 자원 정리 | 0 | 8 | 71 |
| 11 | CASE 60초 | 0 | 79 | 0 |
| 12 | 동작 대기 10초 | 0 | 79 | 0 |
| 13 | 자동 재시도 0 | 0 | 79 | 0 |
| 14 | 우회·약화 금지 | 28 | 30 | 21 |
| 15 | 실패 진단 증거 | 0 | 0 | 79 |
확인된 주요 위반
- 공통 시간·재시도 설정: 실사용 설정은 기본 120초, 화면 검사 설정은 기본 180초다. 두 경로의 expect는 15초, CI 재시도는 1회다. 개별 CASE의 더 긴 override·대기도 확인했다. #1468/PR #1469의 개선은 이 감사 대상 tree에 포함되지 않았으므로 현재 적합으로 계산하지 않았다.
- CASE-018 — 한 방향만 준비하고 양방향 제거를 검증했다고 판단: 준비는 주 계정→친구 팔로우 한 방향이고 단언은 양방향 0건을 요구한다. 원래 없던 역방향 팔로우의 제거 동작은 이 입력으로 검사되지 않는다.
- CASE-024 — 새로고침 뒤 메모 확인 누락: manifest와 checkpoint는 수정한 무게·시간·메모의 재진입 표시를 요구하지만, 재진입 단언에는 메모 확인이 없다. 저장 직후 DB의 메모 검사가 재진입 UI 검사를 대신하지 않는다.
- 화면 하단 도달 검사 — 필수 친구 일지를 건너뛸 수 있음: 친구 일지 검사가 요소 존재 조건 안에 있고, 완료 판정은 필수 ID 대조 없이 개수 ≥16만 요구한다. 친구 일지를 제외해도 다른 16개 항목으로 통과할 수 있다.
- CASE-045 — 수정 전 요청 잔류, 최신 변경은 별도 확인: 수정 전 공통 요청 추적과 보류 응답·새로고침 순서가 맞물려 완료 대기가 실패했다. 조사 중 PR #1475가 병합돼 최신 helper로 작은 브라우저 재현을 다시 실행했다. 정상 완료와 보류 중 새로고침 모두 통과했다. CASE 전체와 모든 자원 정리 경로를 입증한 것은 아니므로 최신 기준4·10은 U로 표시했다.
리포터가 기록한 최초 시도 총시간이 60초를 넘긴 CASE는 다음과 같다. 이 값은 별도 정리 시간을 분리한 계측값이 아니므로 준비·본문 60초 위반의 단독 증거로 사용하지 않는다. 기준 11의 확정된 부적합 근거는 60초를 초과하도록 허용하는 제한 설정이다.
| CASE | 리포터의 최초 시도 총시간 | 실행 결과 |
|---|---|---|
| CASE-015 | 75.912초 | passed |
| CASE-029 | 96.681초 | passed |
| CASE-039 | 91.408초 | passed |
| CASE-041 | 81.036초 | passed |
| CASE-045 | 65.553초 | failed |
CASE별 15개 판정
화면-01~22는 이 보고서의 행 식별자이며 새 제품 CASE 번호가 아니다. 상세 절에 실제 테스트 제목을 그대로 적었다. 열 1~15는 위 기준 번호다.
| CASE | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| CASE-001 | P | P | U | U | P | P | P | P | U | U | F | F | F | P | U |
| CASE-002 | P | P | U | U | P | P | P | P | U | U | F | F | F | P | U |
| CASE-004 | P | P | U | U | P | P | P | P | U | U | F | F | F | P | U |
| CASE-005 | P | P | U | U | P | P | P | P | U | U | F | F | F | P | U |
| CASE-006 | P | P | U | U | P | P | P | P | U | U | F | F | F | P | U |
| CASE-007 | P | P | P | U | P | P | P | P | U | U | F | F | F | P | U |
| CASE-008 | P | U | U | U | F | P | P | P | U | U | F | F | F | P | U |
| CASE-009 | P | P | U | P | P | P | P | P | U | U | F | F | F | P | U |
| CASE-010 | P | P | U | F | P | P | U | P | U | U | F | F | F | P | U |
| CASE-011 | P | P | U | F | P | P | P | P | U | U | F | F | F | P | U |
| CASE-012 | P | P | U | U | P | P | P | P | U | F | F | F | F | P | U |
| CASE-013 | P | P | U | U | P | P | P | P | U | F | F | F | F | P | U |
| CASE-014 | P | P | U | U | P | P | P | P | U | F | F | F | F | P | U |
| CASE-015 | P | P | U | U | P | P | P | F | U | F | F | F | F | F | U |
| CASE-016 | P | P | U | U | P | P | F | P | U | U | F | F | F | P | U |
| CASE-017 | P | P | P | U | P | P | P | P | U | U | F | F | F | P | U |
| CASE-018 | P | P | P | U | P | P | F | P | U | F | F | F | F | P | U |
| CASE-019 | P | P | P | U | P | P | P | P | U | U | F | F | F | P | U |
| CASE-020 | P | P | P | U | P | P | P | P | U | U | F | F | F | P | U |
| CASE-021 | P | P | P | U | P | P | P | P | U | U | F | F | F | P | U |
| CASE-022 | P | P | P | U | P | P | F | P | U | U | F | F | F | P | U |
| CASE-023 | P | P | P | U | P | P | P | F | U | U | F | F | F | F | U |
| CASE-024 | P | P | P | U | P | P | P | F | U | U | F | F | F | F | U |
| CASE-025 | P | P | P | U | P | P | P | F | U | U | F | F | F | F | U |
| CASE-026 | P | P | P | U | P | P | P | P | U | U | F | F | F | F | U |
| CASE-027 | P | P | P | U | P | P | P | P | U | U | F | F | F | P | U |
| CASE-028 | P | P | P | U | P | P | P | F | U | U | F | F | F | F | U |
| CASE-029 | P | P | P | U | P | P | P | F | U | U | F | F | F | F | U |
| CASE-030 | P | U | P | P | P | P | P | P | U | U | F | F | F | F | U |
| CASE-031 | P | P | P | P | P | P | P | P | U | U | F | F | F | F | U |
| CASE-032 | P | P | P | P | P | P | P | P | U | U | F | F | F | F | U |
| CASE-033 | P | P | P | P | P | P | P | P | U | U | F | F | F | F | U |
| CASE-034 | P | U | P | P | P | P | P | P | U | U | F | F | F | F | U |
| CASE-035 | P | U | P | P | P | P | P | P | U | U | F | F | F | F | U |
| CASE-036 | P | P | P | U | P | P | P | P | U | U | F | F | F | F | U |
| CASE-037 | P | P | P | U | P | U | U | P | U | U | F | F | F | F | U |
| CASE-038 | P | P | P | U | P | P | P | P | U | U | F | F | F | F | U |
| CASE-039 | P | P | U | U | P | P | P | P | U | F | F | F | F | F | U |
| CASE-040 | P | U | U | U | P | P | P | P | U | F | F | F | F | F | U |
| CASE-041 | P | P | P | U | P | P | P | P | U | U | F | F | F | F | U |
| CASE-042 | P | P | P | U | P | P | P | P | U | U | F | F | F | F | U |
| CASE-043 | P | P | P | U | P | P | P | P | U | U | F | F | F | F | U |
| CASE-044 | P | P | P | U | P | P | U | P | U | U | F | F | F | F | U |
| CASE-045 | P | P | P | U | P | P | P | P | U | U | F | F | F | F | U |
| CASE-046 | P | P | P | U | P | P | P | P | U | U | F | F | F | F | U |
| CASE-047 | P | P | P | P | P | P | P | P | U | U | F | F | F | F | U |
| CASE-048 | P | P | P | P | P | P | P | P | U | U | F | F | F | F | U |
| CASE-049 | P | P | U | P | P | P | P | P | U | U | F | F | F | P | U |
| CASE-050 | P | P | P | P | P | P | P | P | U | U | F | F | F | P | U |
| CASE-051 | P | P | P | P | P | P | P | P | U | U | F | F | F | P | U |
| CASE-052 | P | P | P | P | P | P | P | P | U | U | F | F | F | P | U |
| CASE-053 | P | P | P | P | P | P | P | P | U | U | F | F | F | P | U |
| CASE-054 | P | P | P | U | P | P | P | P | U | U | F | F | F | P | U |
| CASE-055 | P | P | F | P | P | P | P | P | U | F | F | F | F | F | U |
| CASE-056 | P | P | P | U | P | P | P | P | U | U | F | F | F | F | U |
| CASE-057 | P | P | P | U | P | P | P | P | U | U | F | F | F | P | U |
| CASE-058 | P | P | P | P | P | P | P | P | U | U | F | F | F | F | U |
| 화면-01 | P | P | P | P | P | U | P | F | U | U | F | F | F | F | U |
| 화면-02 | P | P | P | P | P | P | P | U | U | U | F | F | F | U | U |
| 화면-03 | P | P | P | P | P | P | P | U | U | U | F | F | F | U | U |
| 화면-04 | P | P | P | P | P | P | P | U | U | U | F | F | F | U | U |
| 화면-05 | P | P | P | P | P | P | P | U | U | U | F | F | F | U | U |
| 화면-06 | P | P | P | P | P | P | U | U | U | U | F | F | F | U | U |
| 화면-07 | P | P | P | P | P | P | P | U | U | U | F | F | F | U | U |
| 화면-08 | P | P | P | P | P | P | P | U | U | U | F | F | F | U | U |
| 화면-09 | P | P | P | P | P | P | P | U | U | U | F | F | F | U | U |
| 화면-10 | P | P | P | P | P | P | P | U | U | U | F | F | F | U | U |
| 화면-11 | P | P | P | P | P | P | P | U | U | U | F | F | F | U | U |
| 화면-12 | P | P | P | P | P | P | P | U | U | U | F | F | F | U | U |
| 화면-13 | P | P | P | P | P | P | P | U | U | U | F | F | F | U | U |
| 화면-14 | P | P | P | P | P | P | P | U | U | U | F | F | F | U | U |
| 화면-15 | P | P | P | P | P | P | P | U | U | U | F | F | F | U | U |
| 화면-16 | P | P | P | P | P | P | P | U | U | U | F | F | F | U | U |
| 화면-17 | P | P | P | P | P | P | P | U | U | U | F | F | F | U | U |
| 화면-18 | P | P | P | P | P | P | P | U | U | U | F | F | F | U | U |
| 화면-19 | P | P | P | P | P | P | P | U | U | U | F | F | F | U | U |
| 화면-20 | P | P | P | P | P | P | P | U | U | U | F | F | F | U | U |
| 화면-21 | P | P | P | P | P | P | P | U | U | U | F | F | F | U | U |
| 화면-22 | P | P | P | P | P | P | P | U | U | U | F | F | F | U | U |
개별 판정 근거
CASE-001
CASE-001 mobile custom exercise completes the intended persisted round trip
기존 CI 최초 결과: passed, 13.184초. 품질 판정: 부적합. 확인 위반: 11, 12, 13번. 미검증: 3, 4, 9, 10, 15.
| 기준 | 판정 | 근거 |
|---|---|---|
| 1. 목적·범위 | P | 정적 확인: CASE manifest의 입력·행동·기대 결과 및 실행 profile이 실제 UI/인증 RPC/원본 readback checkpoint에 연결되어 있다. standard-full-stack. error-cases/CASE-001-mobile-custom-exercise-reps-render-crash/case.json:13 · error-cases/CASE-001-mobile-custom-exercise-reps-render-crash/regression.spec.mjs:12 |
| 2. 시작 조건·재현성 | P | 정적 확인: owner가 있는 reps-only 사용자 종목과 runToken 제목을 준비한다. 공통 fixture가 runToken·시작 ISO시각·서울 sessionDate를 보유하고 동일 tree 실행 SHA/환경은 통합 실행 증거로 식별한다. 임의 id는 데이터 분리에 사용한다. error-cases/CASE-001-mobile-custom-exercise-reps-render-crash/regression.spec.mjs:25 · error-cases/support/fixture.mjs:103 · error-cases/support/fixture.mjs:175 |
| 3. 독립성 | U | 정적 확인: runToken 및 owner/id 범위로 자체 fixture를 준비한다. 다만 허용 profile의 credentialMode는 공용 설정 계정으로도 실행하므로 그 환경의 동시 실행·공용 상태 복원 전체 근거는 이 개별 감사에서 확인하지 못했다. error-cases/support/fixture.mjs:119 · error-cases/support/fixture.mjs:132 · error-cases/CASE-001-mobile-custom-exercise-reps-render-crash/regression.spec.mjs:25 |
| 4. 상태 기반 동기화 | U | 정적 확인: 통계 관측을 저장 전에 reset하고 저장된 원본 및 detail을 확인한다. 별도로 networkidle/RPC quiet를 reload 또는 종료 gate로 사용한다. 이 대기가 필요한 작업의 완료를 대표하는지와 취소·문서 교체 시 정상 주기 작업과 구별되는지는 개별 spec만으로 확인하지 못했다. 단순 networkidle 문자열 존재만으로 F로 단정하지 않았다. error-cases/CASE-001-mobile-custom-exercise-reps-render-crash/regression.spec.mjs:104 · error-cases/CASE-001-mobile-custom-exercise-reps-render-crash/regression.spec.mjs:179 |
| 5. 독립 기대값 | P | 정적 확인: 요구 입력 3회·중량 null을 원본 aggregate와 인증 detail RPC 및 재진입 화면에 각각 단언한다. 검사 대상 앱 계산 함수를 다시 호출해 기대값을 만들지 않는다. error-cases/CASE-001-mobile-custom-exercise-reps-render-crash/regression.spec.mjs:130 |
| 6. 상황 실제 발생 | P | 정적 확인: 실제 모바일 편집기에 reps-only profile이 나타나고 중량칸이 없음을 확인한 뒤 3회를 입력한다. 동일 tree hosted 첫 실행 통과는 부모의 통합 실행 증거로 확인되었으며, 대표 결함 탐지 증거와는 구분한다. error-cases/CASE-001-mobile-custom-exercise-reps-render-crash/regression.spec.mjs:42 |
| 7. 경계·금지 부작용 | P | 정적 확인: IndexedDB의 3회 초안과 projection-pending 계약, 저장 후 단일 종목·단일 세트·revision 1 및 재진입 3회를 검사한다. error-cases/CASE-001-mobile-custom-exercise-reps-render-crash/regression.spec.mjs:68 |
| 8. 필수 단언 완결성 | P | 정적 확인: 개별 checkpoint의 비어 있지 않은 assertion callback과 실제 UI/RPC/원본 조건을 await한 뒤 completeJourney를 호출한다. IndexedDB의 3회 초안과 projection-pending 계약, 저장 후 단일 종목·단일 세트·revision 1 및 재진입 3회를 검사한다. 허용 오류 및 예상 밖 오류의 마지막 검사는 공통 completion에 연결된다. error-cases/CASE-001-mobile-custom-exercise-reps-render-crash/regression.spec.mjs:68 · error-cases/CASE-001-mobile-custom-exercise-reps-render-crash/regression.spec.mjs:195 · error-cases/support/fixture.mjs:362 |
| 9. 결함 탐지·공통 도구 | U | 실행 증거 미확인: 동일 tree hosted 최초 시도 통과는 확인되었으나 해당 목적의 대표 결함을 넣어 목표 단언에서 실패한 실제 로그/trace를 이 감사에서 확인하지 못했다. manifest의 과거 prePatchProof 선언이나 expect 존재만으로 P를 부여하지 않았다. 공통 도구의 취소·reload·중도 실패 관련 검증과 이 CASE의 연결도 별도 증거가 필요하다. error-cases/CASE-001-mobile-custom-exercise-reps-render-crash/case.json:69 · error-cases/CASE-001-mobile-custom-exercise-reps-render-crash/regression.spec.mjs:130 |
| 10. 자원 정리 | U | 정적 확인: c.completeJourney의 정리 readback 및 공통 fixture finally는 존재한다. 그러나 이 CASE가 소유한 모든 요청·listener·탭·가로챈 응답의 종료와 setup/중도 실패/취소 정리 결과를 확인한 실행 증거는 없다. finally 존재만으로 전체 lifecycle 보장을 P 처리하지 않았다. error-cases/CASE-001-mobile-custom-exercise-reps-render-crash/regression.spec.mjs:195 · error-cases/support/fixture.mjs:396 · error-cases/support/fixture.mjs:544 |
| 11. CASE 60초 | F | 정적 확인: 공통 CASE timeout 120초를 허용하여 준비+본문의 60초 상한을 강제하지 않는다. 최초 시도가 60초 안에 통과한 사실은 허용 상한 위반을 해소하지 않는다. playwright.config.mjs:34 |
| 12. 동작 대기 10초 | F | 정적 확인: 공통 expect timeout이15초여서 1회10초 상한을 초과한다. playwright.config.mjs:35 |
| 13. 자동 재시도 0 | F | 정적 확인: CI 환경에서 Playwright retries=1이 적용되어 CASE 전체 자동 재시도를 허용한다. 최초 실행 pass여도 재시도0 설정 기준을 충족하지 않는다. playwright.config.mjs:36 |
| 14. 우회·약화 금지 | P | 정적 확인: 개별 spec에 활성 only/fixme 또는 본문 조기 성공·시간 초과 무시를 확인하지 못했다. 준비 환경 부족 skip은 CI에서는 fixture가 먼저 오류를 발생시키므로 필수 CI 생략의 근거로 처리하지 않았다. 11~13의 공통 설정 위반은 별도로 기록했다. error-cases/CASE-001-mobile-custom-exercise-reps-render-crash/regression.spec.mjs:12 · error-cases/support/fixture.mjs:70 |
| 15. 실패 진단 증거 | U | 증거 범위: 공통 실패 trace/screenshot 및 CASE checkpoint·completion 첨부 경로는 있다. 이 CASE의 첫 실패에서 요청/탭/문서 세대·미완료 작업 식별, 본문/정리 오류 분리, 토큰·사용자 원문 비노출을 모두 확인한 artifact 검증은 수행하지 않았다. playwright.config.mjs:50 · error-cases/CASE-001-mobile-custom-exercise-reps-render-crash/regression.spec.mjs:195 · error-cases/support/fixture.mjs:402 |
CASE-002
CASE-002 desktop rename closes the editor and persists the exact aggregate
기존 CI 최초 결과: passed, 11.376초. 품질 판정: 부적합. 확인 위반: 11, 12, 13번. 미검증: 3, 4, 9, 10, 15.
| 기준 | 판정 | 근거 |
|---|---|---|
| 1. 목적·범위 | P | 정적 확인: CASE manifest의 입력·행동·기대 결과 및 실행 profile이 실제 UI/인증 RPC/원본 readback checkpoint에 연결되어 있다. standard-full-stack. error-cases/CASE-002-desktop-session-rename-save-deadlock/case.json:13 · error-cases/CASE-002-desktop-session-rename-save-deadlock/regression.spec.mjs:16 |
| 2. 시작 조건·재현성 | P | 정적 확인: 70kg×5 완료 기록과 제목·sourceRef를 준비하고 revision 1 및 원본 행 수를 확인한다. 공통 fixture가 runToken·시작 ISO시각·서울 sessionDate를 보유하고 동일 tree 실행 SHA/환경은 통합 실행 증거로 식별한다. 임의 id는 데이터 분리에 사용한다. error-cases/CASE-002-desktop-session-rename-save-deadlock/regression.spec.mjs:23 · error-cases/support/fixture.mjs:103 · error-cases/support/fixture.mjs:175 |
| 3. 독립성 | U | 정적 확인: runToken 및 owner/id 범위로 자체 fixture를 준비한다. 다만 허용 profile의 credentialMode는 공용 설정 계정으로도 실행하므로 그 환경의 동시 실행·공용 상태 복원 전체 근거는 이 개별 감사에서 확인하지 못했다. error-cases/support/fixture.mjs:119 · error-cases/support/fixture.mjs:132 · error-cases/CASE-002-desktop-session-rename-save-deadlock/regression.spec.mjs:23 |
| 4. 상태 기반 동기화 | U | 정적 확인: 서버 revision 2를 확인한 뒤 편집기 닫힘과 일지 상호작용을 검사한다. 별도로 networkidle/RPC quiet를 reload 또는 종료 gate로 사용한다. 이 대기가 필요한 작업의 완료를 대표하는지와 취소·문서 교체 시 정상 주기 작업과 구별되는지는 개별 spec만으로 확인하지 못했다. 단순 networkidle 문자열 존재만으로 F로 단정하지 않았다. error-cases/CASE-002-desktop-session-rename-save-deadlock/regression.spec.mjs:73 · error-cases/CASE-002-desktop-session-rename-save-deadlock/regression.spec.mjs:100 |
| 5. 독립 기대값 | P | 정적 확인: 이름 변경 전 원본의 보존 대상 필드와 변경 후 모든 자식 필드를 비교하며 변경 제목·revision 2·70kg×5는 독립 상수로 검사한다. 검사 대상 앱 계산 함수를 다시 호출해 기대값을 만들지 않는다. error-cases/CASE-002-desktop-session-rename-save-deadlock/regression.spec.mjs:117 |
| 6. 상황 실제 발생 | P | 정적 확인: 실제 편집기에서 이름을 바꿔 저장하고 동일 id의 revision 2 도달을 확인한다. 동일 tree hosted 첫 실행 통과는 부모의 통합 실행 증거로 확인되었으며, 대표 결함 탐지 증거와는 구분한다. error-cases/CASE-002-desktop-session-rename-save-deadlock/regression.spec.mjs:61 |
| 7. 경계·금지 부작용 | P | 정적 확인: 편집기·scrim 소멸과 달력 이동 가능 상태, 모든 자식 필드 보존, 새로고침 후 동일 기록을 검사한다. error-cases/CASE-002-desktop-session-rename-save-deadlock/regression.spec.mjs:80 |
| 8. 필수 단언 완결성 | P | 정적 확인: 개별 checkpoint의 비어 있지 않은 assertion callback과 실제 UI/RPC/원본 조건을 await한 뒤 completeJourney를 호출한다. 편집기·scrim 소멸과 달력 이동 가능 상태, 모든 자식 필드 보존, 새로고침 후 동일 기록을 검사한다. 허용 오류 및 예상 밖 오류의 마지막 검사는 공통 completion에 연결된다. error-cases/CASE-002-desktop-session-rename-save-deadlock/regression.spec.mjs:80 · error-cases/CASE-002-desktop-session-rename-save-deadlock/regression.spec.mjs:154 · error-cases/support/fixture.mjs:362 |
| 9. 결함 탐지·공통 도구 | U | 실행 증거 미확인: 동일 tree hosted 최초 시도 통과는 확인되었으나 해당 목적의 대표 결함을 넣어 목표 단언에서 실패한 실제 로그/trace를 이 감사에서 확인하지 못했다. manifest의 과거 prePatchProof 선언이나 expect 존재만으로 P를 부여하지 않았다. 공통 도구의 취소·reload·중도 실패 관련 검증과 이 CASE의 연결도 별도 증거가 필요하다. error-cases/CASE-002-desktop-session-rename-save-deadlock/case.json:64 · error-cases/CASE-002-desktop-session-rename-save-deadlock/regression.spec.mjs:117 |
| 10. 자원 정리 | U | 정적 확인: c.completeJourney의 정리 readback 및 공통 fixture finally는 존재한다. 그러나 이 CASE가 소유한 모든 요청·listener·탭·가로챈 응답의 종료와 setup/중도 실패/취소 정리 결과를 확인한 실행 증거는 없다. finally 존재만으로 전체 lifecycle 보장을 P 처리하지 않았다. error-cases/CASE-002-desktop-session-rename-save-deadlock/regression.spec.mjs:154 · error-cases/support/fixture.mjs:396 · error-cases/support/fixture.mjs:544 |
| 11. CASE 60초 | F | 정적 확인: 공통 CASE timeout 120초를 허용하여 준비+본문의 60초 상한을 강제하지 않는다. 최초 시도가 60초 안에 통과한 사실은 허용 상한 위반을 해소하지 않는다. playwright.config.mjs:34 |
| 12. 동작 대기 10초 | F | 정적 확인: 공통 expect timeout이15초여서 1회10초 상한을 초과한다. playwright.config.mjs:35 |
| 13. 자동 재시도 0 | F | 정적 확인: CI 환경에서 Playwright retries=1이 적용되어 CASE 전체 자동 재시도를 허용한다. 최초 실행 pass여도 재시도0 설정 기준을 충족하지 않는다. playwright.config.mjs:36 |
| 14. 우회·약화 금지 | P | 정적 확인: 개별 spec에 활성 only/fixme 또는 본문 조기 성공·시간 초과 무시를 확인하지 못했다. 준비 환경 부족 skip은 CI에서는 fixture가 먼저 오류를 발생시키므로 필수 CI 생략의 근거로 처리하지 않았다. 11~13의 공통 설정 위반은 별도로 기록했다. error-cases/CASE-002-desktop-session-rename-save-deadlock/regression.spec.mjs:16 · error-cases/support/fixture.mjs:70 |
| 15. 실패 진단 증거 | U | 증거 범위: 공통 실패 trace/screenshot 및 CASE checkpoint·completion 첨부 경로는 있다. 이 CASE의 첫 실패에서 요청/탭/문서 세대·미완료 작업 식별, 본문/정리 오류 분리, 토큰·사용자 원문 비노출을 모두 확인한 artifact 검증은 수행하지 않았다. playwright.config.mjs:50 · error-cases/CASE-002-desktop-session-rename-save-deadlock/regression.spec.mjs:154 · error-cases/support/fixture.mjs:402 |
CASE-004
CASE-004 mobile post-save owner feed and Calendar summary complete the intended persisted round trip
기존 CI 최초 결과: passed, 18.929초. 품질 판정: 부적합. 확인 위반: 11, 12, 13번. 미검증: 3, 4, 9, 10, 15.
| 기준 | 판정 | 근거 |
|---|---|---|
| 1. 목적·범위 | P | 정적 확인: CASE manifest의 입력·행동·기대 결과 및 실행 profile이 실제 UI/인증 RPC/원본 readback checkpoint에 연결되어 있다. standard-full-stack. error-cases/CASE-004-mobile-post-save-home-day-summary-stale/case.json:13 · error-cases/CASE-004-mobile-post-save-home-day-summary-stale/regression.spec.mjs:13 |
| 2. 시작 조건·재현성 | P | 정적 확인: 현재 날짜 원본 baseline에 70kg×5 입력으로 계산한 +350kg·+1세트·+5회를 더하고 실행 제목의 선행 기록 부재를 확인한다. 공통 fixture가 runToken·시작 ISO시각·서울 sessionDate를 보유하고 동일 tree 실행 SHA/환경은 통합 실행 증거로 식별한다. 임의 id는 데이터 분리에 사용한다. error-cases/CASE-004-mobile-post-save-home-day-summary-stale/regression.spec.mjs:26 · error-cases/support/fixture.mjs:103 · error-cases/support/fixture.mjs:175 |
| 3. 독립성 | U | 정적 확인: runToken 및 owner/id 범위로 자체 fixture를 준비한다. 다만 허용 profile의 credentialMode는 공용 설정 계정으로도 실행하므로 그 환경의 동시 실행·공용 상태 복원 전체 근거는 이 개별 감사에서 확인하지 못했다. error-cases/support/fixture.mjs:119 · error-cases/support/fixture.mjs:132 · error-cases/CASE-004-mobile-post-save-home-day-summary-stale/regression.spec.mjs:26 |
| 4. 상태 기반 동기화 | U | 정적 확인: 목표 월/일 응답은 행동 전 등록하고 Promise.all로 관측하며 저장 후 원본 집계를 검사한다. 별도로 networkidle/RPC quiet를 reload 또는 종료 gate로 사용한다. 이 대기가 필요한 작업의 완료를 대표하는지와 취소·문서 교체 시 정상 주기 작업과 구별되는지는 개별 spec만으로 확인하지 못했다. 단순 networkidle 문자열 존재만으로 F로 단정하지 않았다. error-cases/CASE-004-mobile-post-save-home-day-summary-stale/regression.spec.mjs:40 · error-cases/CASE-004-mobile-post-save-home-day-summary-stale/regression.spec.mjs:175 |
| 5. 독립 기대값 | P | 정적 확인: 새 입력의 독립 기대 증분 350kg·1세트·5회와 원본 기반 baseline을 피드·일 요약·RPC에 대조한다. 검사 대상 앱 계산 함수를 다시 호출해 기대값을 만들지 않는다. error-cases/CASE-004-mobile-post-save-home-day-summary-stale/regression.spec.mjs:28 |
| 6. 상황 실제 발생 | P | 정적 확인: 달력 월/일 응답 observer를 이동 전에 등록하고 실제 응답을 기다린 후 운동을 작성한다. 동일 tree hosted 첫 실행 통과는 부모의 통합 실행 증거로 확인되었으며, 대표 결함 탐지 증거와는 구분한다. error-cases/CASE-004-mobile-post-save-home-day-summary-stale/regression.spec.mjs:40 |
| 7. 경계·금지 부작용 | P | 정적 확인: 저장 직후 피드와 달력의 증가량, 저장 세션의 350kg 및 reload 후 동일 표시를 검사한다. error-cases/CASE-004-mobile-post-save-home-day-summary-stale/regression.spec.mjs:130 |
| 8. 필수 단언 완결성 | P | 정적 확인: 개별 checkpoint의 비어 있지 않은 assertion callback과 실제 UI/RPC/원본 조건을 await한 뒤 completeJourney를 호출한다. 저장 직후 피드와 달력의 증가량, 저장 세션의 350kg 및 reload 후 동일 표시를 검사한다. 허용 오류 및 예상 밖 오류의 마지막 검사는 공통 completion에 연결된다. error-cases/CASE-004-mobile-post-save-home-day-summary-stale/regression.spec.mjs:130 · error-cases/CASE-004-mobile-post-save-home-day-summary-stale/regression.spec.mjs:225 · error-cases/support/fixture.mjs:362 |
| 9. 결함 탐지·공통 도구 | U | 실행 증거 미확인: 동일 tree hosted 최초 시도 통과는 확인되었으나 해당 목적의 대표 결함을 넣어 목표 단언에서 실패한 실제 로그/trace를 이 감사에서 확인하지 못했다. manifest의 과거 prePatchProof 선언이나 expect 존재만으로 P를 부여하지 않았다. 공통 도구의 취소·reload·중도 실패 관련 검증과 이 CASE의 연결도 별도 증거가 필요하다. error-cases/CASE-004-mobile-post-save-home-day-summary-stale/case.json:85 · error-cases/CASE-004-mobile-post-save-home-day-summary-stale/regression.spec.mjs:28 |
| 10. 자원 정리 | U | 정적 확인: c.completeJourney의 정리 readback 및 공통 fixture finally는 존재한다. 그러나 이 CASE가 소유한 모든 요청·listener·탭·가로챈 응답의 종료와 setup/중도 실패/취소 정리 결과를 확인한 실행 증거는 없다. finally 존재만으로 전체 lifecycle 보장을 P 처리하지 않았다. error-cases/CASE-004-mobile-post-save-home-day-summary-stale/regression.spec.mjs:225 · error-cases/support/fixture.mjs:396 · error-cases/support/fixture.mjs:544 |
| 11. CASE 60초 | F | 정적 확인: 공통 CASE timeout 120초를 허용하여 준비+본문의 60초 상한을 강제하지 않는다. 최초 시도가 60초 안에 통과한 사실은 허용 상한 위반을 해소하지 않는다. playwright.config.mjs:34 |
| 12. 동작 대기 10초 | F | 정적 확인: 공통 expect timeout이15초여서 1회10초 상한을 초과한다. playwright.config.mjs:35 |
| 13. 자동 재시도 0 | F | 정적 확인: CI 환경에서 Playwright retries=1이 적용되어 CASE 전체 자동 재시도를 허용한다. 최초 실행 pass여도 재시도0 설정 기준을 충족하지 않는다. playwright.config.mjs:36 |
| 14. 우회·약화 금지 | P | 정적 확인: 개별 spec에 활성 only/fixme 또는 본문 조기 성공·시간 초과 무시를 확인하지 못했다. 준비 환경 부족 skip은 CI에서는 fixture가 먼저 오류를 발생시키므로 필수 CI 생략의 근거로 처리하지 않았다. 11~13의 공통 설정 위반은 별도로 기록했다. error-cases/CASE-004-mobile-post-save-home-day-summary-stale/regression.spec.mjs:13 · error-cases/support/fixture.mjs:70 |
| 15. 실패 진단 증거 | U | 증거 범위: 공통 실패 trace/screenshot 및 CASE checkpoint·completion 첨부 경로는 있다. 이 CASE의 첫 실패에서 요청/탭/문서 세대·미완료 작업 식별, 본문/정리 오류 분리, 토큰·사용자 원문 비노출을 모두 확인한 artifact 검증은 수행하지 않았다. playwright.config.mjs:50 · error-cases/CASE-004-mobile-post-save-home-day-summary-stale/regression.spec.mjs:225 · error-cases/support/fixture.mjs:402 |
CASE-005
CASE-005 started-set outcomes survive the complete desktop PR detail round trip
기존 CI 최초 결과: passed, 8.228초. 품질 판정: 부적합. 확인 위반: 11, 12, 13번. 미검증: 3, 4, 9, 10, 15.
| 기준 | 판정 | 근거 |
|---|---|---|
| 1. 목적·범위 | P | 정적 확인: CASE manifest의 입력·행동·기대 결과 및 실행 profile이 실제 UI/인증 RPC/원본 readback checkpoint에 연결되어 있다. standard-full-stack. error-cases/CASE-005-set-outcomes-pr-detail-round-trip/case.json:12 · error-cases/CASE-005-set-outcomes-pr-detail-round-trip/regression.spec.mjs:18 |
| 2. 시작 조건·재현성 | P | 정적 확인: 사용자 종목과 성공 70×5, 실패 75×0, 미시작 80×3을 명시적으로 준비한다. 공통 fixture가 runToken·시작 ISO시각·서울 sessionDate를 보유하고 동일 tree 실행 SHA/환경은 통합 실행 증거로 식별한다. 임의 id는 데이터 분리에 사용한다. error-cases/CASE-005-set-outcomes-pr-detail-round-trip/regression.spec.mjs:25 · error-cases/support/fixture.mjs:103 · error-cases/support/fixture.mjs:175 |
| 3. 독립성 | U | 정적 확인: runToken 및 owner/id 범위로 자체 fixture를 준비한다. 다만 허용 profile의 credentialMode는 공용 설정 계정으로도 실행하므로 그 환경의 동시 실행·공용 상태 복원 전체 근거는 이 개별 감사에서 확인하지 못했다. error-cases/support/fixture.mjs:119 · error-cases/support/fixture.mjs:132 · error-cases/CASE-005-set-outcomes-pr-detail-round-trip/regression.spec.mjs:25 |
| 4. 상태 기반 동기화 | U | 정적 확인: 요청한 통계 generation 도달을 기다린 후 RPC 결과와 UI를 검사한다. 별도로 networkidle/RPC quiet를 reload 또는 종료 gate로 사용한다. 이 대기가 필요한 작업의 완료를 대표하는지와 취소·문서 교체 시 정상 주기 작업과 구별되는지는 개별 spec만으로 확인하지 못했다. 단순 networkidle 문자열 존재만으로 F로 단정하지 않았다. error-cases/CASE-005-set-outcomes-pr-detail-round-trip/regression.spec.mjs:65 · error-cases/CASE-005-set-outcomes-pr-detail-round-trip/regression.spec.mjs:177 |
| 5. 독립 기대값 | P | 정적 확인: 완료 저장에는 시작한 2개 세트만 남아야 한다는 독립 입력과 history의 성공/실패 상태·값을 검사한다. 검사 대상 앱 계산 함수를 다시 호출해 기대값을 만들지 않는다. error-cases/CASE-005-set-outcomes-pr-detail-round-trip/regression.spec.mjs:88 |
| 6. 상황 실제 발생 | P | 정적 확인: history에 실제 성공 70×5와 실패 75×0이 있는지 확인하고 피드의 두 결과를 관측한다. 동일 tree hosted 첫 실행 통과는 부모의 통합 실행 증거로 확인되었으며, 대표 결함 탐지 증거와는 구분한다. error-cases/CASE-005-set-outcomes-pr-detail-round-trip/regression.spec.mjs:125 |
| 7. 경계·금지 부작용 | P | 정적 확인: 미시작 세트 제외를 정확한 2개 행 수로 검사하고 실패 0회 표시와 빈 연도 메시지 부재를 검사한다. error-cases/CASE-005-set-outcomes-pr-detail-round-trip/regression.spec.mjs:88 |
| 8. 필수 단언 완결성 | P | 정적 확인: 개별 checkpoint의 비어 있지 않은 assertion callback과 실제 UI/RPC/원본 조건을 await한 뒤 completeJourney를 호출한다. 미시작 세트 제외를 정확한 2개 행 수로 검사하고 실패 0회 표시와 빈 연도 메시지 부재를 검사한다. 허용 오류 및 예상 밖 오류의 마지막 검사는 공통 completion에 연결된다. error-cases/CASE-005-set-outcomes-pr-detail-round-trip/regression.spec.mjs:88 · error-cases/CASE-005-set-outcomes-pr-detail-round-trip/regression.spec.mjs:176 · error-cases/support/fixture.mjs:362 |
| 9. 결함 탐지·공통 도구 | U | 실행 증거 미확인: 동일 tree hosted 최초 시도 통과는 확인되었으나 해당 목적의 대표 결함을 넣어 목표 단언에서 실패한 실제 로그/trace를 이 감사에서 확인하지 못했다. manifest의 과거 prePatchProof 선언이나 expect 존재만으로 P를 부여하지 않았다. 공통 도구의 취소·reload·중도 실패 관련 검증과 이 CASE의 연결도 별도 증거가 필요하다. error-cases/CASE-005-set-outcomes-pr-detail-round-trip/case.json:12 · error-cases/CASE-005-set-outcomes-pr-detail-round-trip/regression.spec.mjs:88 |
| 10. 자원 정리 | U | 정적 확인: c.completeJourney의 정리 readback 및 공통 fixture finally는 존재한다. 그러나 이 CASE가 소유한 모든 요청·listener·탭·가로챈 응답의 종료와 setup/중도 실패/취소 정리 결과를 확인한 실행 증거는 없다. finally 존재만으로 전체 lifecycle 보장을 P 처리하지 않았다. error-cases/CASE-005-set-outcomes-pr-detail-round-trip/regression.spec.mjs:176 · error-cases/support/fixture.mjs:396 · error-cases/support/fixture.mjs:544 |
| 11. CASE 60초 | F | 정적 확인: 공통 CASE timeout 120초를 허용하여 준비+본문의 60초 상한을 강제하지 않는다. 최초 시도가 60초 안에 통과한 사실은 허용 상한 위반을 해소하지 않는다. playwright.config.mjs:34 |
| 12. 동작 대기 10초 | F | 정적 확인: 공통 expect timeout이15초여서 1회10초 상한을 초과한다. 또한 개별 조건 대기에 20초 override를 사용한다. playwright.config.mjs:35 · error-cases/CASE-005-set-outcomes-pr-detail-round-trip/regression.spec.mjs:156 |
| 13. 자동 재시도 0 | F | 정적 확인: CI 환경에서 Playwright retries=1이 적용되어 CASE 전체 자동 재시도를 허용한다. 최초 실행 pass여도 재시도0 설정 기준을 충족하지 않는다. playwright.config.mjs:36 |
| 14. 우회·약화 금지 | P | 정적 확인: 개별 spec에 활성 only/fixme 또는 본문 조기 성공·시간 초과 무시를 확인하지 못했다. 준비 환경 부족 skip은 CI에서는 fixture가 먼저 오류를 발생시키므로 필수 CI 생략의 근거로 처리하지 않았다. 11~13의 공통 설정 위반은 별도로 기록했다. error-cases/CASE-005-set-outcomes-pr-detail-round-trip/regression.spec.mjs:18 · error-cases/support/fixture.mjs:70 |
| 15. 실패 진단 증거 | U | 증거 범위: 공통 실패 trace/screenshot 및 CASE checkpoint·completion 첨부 경로는 있다. 이 CASE의 첫 실패에서 요청/탭/문서 세대·미완료 작업 식별, 본문/정리 오류 분리, 토큰·사용자 원문 비노출을 모두 확인한 artifact 검증은 수행하지 않았다. playwright.config.mjs:50 · error-cases/CASE-005-set-outcomes-pr-detail-round-trip/regression.spec.mjs:176 · error-cases/support/fixture.mjs:402 |
CASE-006
CASE-006 PR growth chart drains paged measured records
기존 CI 최초 결과: passed, 8.817초. 품질 판정: 부적합. 확인 위반: 11, 12, 13번. 미검증: 3, 4, 9, 10, 15.
| 기준 | 판정 | 근거 |
|---|---|---|
| 1. 목적·범위 | P | 정적 확인: CASE manifest의 입력·행동·기대 결과 및 실행 profile이 실제 UI/인증 RPC/원본 readback checkpoint에 연결되어 있다. standard-full-stack. error-cases/CASE-006-desktop-pr-growth-pagination/case.json:12 · error-cases/CASE-006-desktop-pr-growth-pagination/regression.spec.mjs:21 |
| 2. 시작 조건·재현성 | P | 정적 확인: 100일 전/현재 날짜 각각 18개 reps 목표를 가진 기록을 만들고 원본 날짜별 18개 세트를 확인한다. 공통 fixture가 runToken·시작 ISO시각·서울 sessionDate를 보유하고 동일 tree 실행 SHA/환경은 통합 실행 증거로 식별한다. 임의 id는 데이터 분리에 사용한다. error-cases/CASE-006-desktop-pr-growth-pagination/regression.spec.mjs:25 · error-cases/support/fixture.mjs:103 · error-cases/support/fixture.mjs:175 |
| 3. 독립성 | U | 정적 확인: runToken 및 owner/id 범위로 자체 fixture를 준비한다. 다만 허용 profile의 credentialMode는 공용 설정 계정으로도 실행하므로 그 환경의 동시 실행·공용 상태 복원 전체 근거는 이 개별 감사에서 확인하지 못했다. error-cases/support/fixture.mjs:119 · error-cases/support/fixture.mjs:132 · error-cases/CASE-006-desktop-pr-growth-pagination/regression.spec.mjs:25 |
| 4. 상태 기반 동기화 | U | 정적 확인: 페이지별 응답·cursor를 받은 뒤 다음 페이지를 요청하고 차트의 로딩 종료와 182 표시를 검사한다. 별도로 networkidle/RPC quiet를 reload 또는 종료 gate로 사용한다. 이 대기가 필요한 작업의 완료를 대표하는지와 취소·문서 교체 시 정상 주기 작업과 구별되는지는 개별 spec만으로 확인하지 못했다. 단순 networkidle 문자열 존재만으로 F로 단정하지 않았다. error-cases/CASE-006-desktop-pr-growth-pagination/regression.spec.mjs:90 · error-cases/CASE-006-desktop-pr-growth-pagination/regression.spec.mjs:159 |
| 5. 독립 기대값 | P | 정적 확인: 독립 fixture 상수 18개 reps, 과거/최근 1RM 177/182와 기대 페이지 크기 32+4를 사용한다. 검사 대상 앱 계산 함수를 다시 호출해 기대값을 만들지 않는다. error-cases/CASE-006-desktop-pr-growth-pagination/regression.spec.mjs:12 |
| 6. 상황 실제 발생 | P | 정적 확인: 첫 page 32개와 has-more/cursor, 두 번째 page 4개를 실제 인증 RPC로 읽는다. 동일 tree hosted 첫 실행 통과는 부모의 통합 실행 증거로 확인되었으며, 대표 결함 탐지 증거와는 구분한다. error-cases/CASE-006-desktop-pr-growth-pagination/regression.spec.mjs:90 |
| 7. 경계·금지 부작용 | P | 정적 확인: 마지막 page의 has_more=false·cursor=null, 중복 없는 36개 id와 reps별 2개 기록, reload 차트 182를 검사한다. error-cases/CASE-006-desktop-pr-growth-pagination/regression.spec.mjs:109 |
| 8. 필수 단언 완결성 | P | 정적 확인: 개별 checkpoint의 비어 있지 않은 assertion callback과 실제 UI/RPC/원본 조건을 await한 뒤 completeJourney를 호출한다. 마지막 page의 has_more=false·cursor=null, 중복 없는 36개 id와 reps별 2개 기록, reload 차트 182를 검사한다. 허용 오류 및 예상 밖 오류의 마지막 검사는 공통 completion에 연결된다. error-cases/CASE-006-desktop-pr-growth-pagination/regression.spec.mjs:109 · error-cases/CASE-006-desktop-pr-growth-pagination/regression.spec.mjs:158 · error-cases/support/fixture.mjs:362 |
| 9. 결함 탐지·공통 도구 | U | 실행 증거 미확인: 동일 tree hosted 최초 시도 통과는 확인되었으나 해당 목적의 대표 결함을 넣어 목표 단언에서 실패한 실제 로그/trace를 이 감사에서 확인하지 못했다. manifest의 과거 prePatchProof 선언이나 expect 존재만으로 P를 부여하지 않았다. 공통 도구의 취소·reload·중도 실패 관련 검증과 이 CASE의 연결도 별도 증거가 필요하다. error-cases/CASE-006-desktop-pr-growth-pagination/case.json:12 · error-cases/CASE-006-desktop-pr-growth-pagination/regression.spec.mjs:12 |
| 10. 자원 정리 | U | 정적 확인: c.completeJourney의 정리 readback 및 공통 fixture finally는 존재한다. 그러나 이 CASE가 소유한 모든 요청·listener·탭·가로챈 응답의 종료와 setup/중도 실패/취소 정리 결과를 확인한 실행 증거는 없다. finally 존재만으로 전체 lifecycle 보장을 P 처리하지 않았다. error-cases/CASE-006-desktop-pr-growth-pagination/regression.spec.mjs:158 · error-cases/support/fixture.mjs:396 · error-cases/support/fixture.mjs:544 |
| 11. CASE 60초 | F | 정적 확인: 공통 CASE timeout 120초를 허용하여 준비+본문의 60초 상한을 강제하지 않는다. 최초 시도가 60초 안에 통과한 사실은 허용 상한 위반을 해소하지 않는다. playwright.config.mjs:34 |
| 12. 동작 대기 10초 | F | 정적 확인: 공통 expect timeout이15초여서 1회10초 상한을 초과한다. 또한 개별 조건 대기에 30초 override를 사용한다. playwright.config.mjs:35 · error-cases/CASE-006-desktop-pr-growth-pagination/regression.spec.mjs:132 |
| 13. 자동 재시도 0 | F | 정적 확인: CI 환경에서 Playwright retries=1이 적용되어 CASE 전체 자동 재시도를 허용한다. 최초 실행 pass여도 재시도0 설정 기준을 충족하지 않는다. playwright.config.mjs:36 |
| 14. 우회·약화 금지 | P | 정적 확인: 개별 spec에 활성 only/fixme 또는 본문 조기 성공·시간 초과 무시를 확인하지 못했다. 준비 환경 부족 skip은 CI에서는 fixture가 먼저 오류를 발생시키므로 필수 CI 생략의 근거로 처리하지 않았다. 11~13의 공통 설정 위반은 별도로 기록했다. error-cases/CASE-006-desktop-pr-growth-pagination/regression.spec.mjs:21 · error-cases/support/fixture.mjs:70 |
| 15. 실패 진단 증거 | U | 증거 범위: 공통 실패 trace/screenshot 및 CASE checkpoint·completion 첨부 경로는 있다. 이 CASE의 첫 실패에서 요청/탭/문서 세대·미완료 작업 식별, 본문/정리 오류 분리, 토큰·사용자 원문 비노출을 모두 확인한 artifact 검증은 수행하지 않았다. playwright.config.mjs:50 · error-cases/CASE-006-desktop-pr-growth-pagination/regression.spec.mjs:158 · error-cases/support/fixture.mjs:402 |
CASE-007
CASE-007 Auth user deletion completes the isolated full-stack cascade round trip
기존 CI 최초 결과: passed, 8.561초. 품질 판정: 부적합. 확인 위반: 11, 12, 13번. 미검증: 4, 9, 10, 15.
| 기준 | 판정 | 근거 |
|---|---|---|
| 1. 목적·범위 | P | 정적 확인: CASE manifest의 입력·행동·기대 결과 및 실행 profile이 실제 UI/인증 RPC/원본 readback checkpoint에 연결되어 있다. local-auth-admin-full-stack. error-cases/CASE-007-auth-user-delete-cascade-round-trip/case.json:13 · error-cases/CASE-007-auth-user-delete-cascade-round-trip/regression.spec.mjs:16 |
| 2. 시작 조건·재현성 | P | 정적 확인: 별도 target/control 계정에 서로 다른 82×3·64×5 기록을 생성하고 삭제 전 그래프와 화면을 확인한다. 공통 fixture가 runToken·시작 ISO시각·서울 sessionDate를 보유하고 동일 tree 실행 SHA/환경은 통합 실행 증거로 식별한다. 임의 id는 데이터 분리에 사용한다. error-cases/CASE-007-auth-user-delete-cascade-round-trip/regression.spec.mjs:22 · error-cases/support/fixture.mjs:103 · error-cases/support/fixture.mjs:175 |
| 3. 독립성 | P | 정적 확인: local-auth-admin profile에서 신규 primary/필요시 disposable actor를 사용하며 CASE 자신의 owner/id와 고유 실행 제목을 대상으로 준비·조회한다. 다른 CASE 선행 결과를 입력으로 삼지 않는다. 자원 수명 전체의 성공·실패 보장은 10번에서 별도 판정한다. error-cases/CASE-007-auth-user-delete-cascade-round-trip/case.json:9 · error-cases/support/fixture.mjs:132 · error-cases/CASE-007-auth-user-delete-cascade-round-trip/regression.spec.mjs:22 |
| 4. 상태 기반 동기화 | U | 정적 확인: 삭제 응답과 Auth/SQL readback을 받은 뒤 control 새 페이지에 진입한다. 별도로 networkidle/RPC quiet를 reload 또는 종료 gate로 사용한다. 이 대기가 필요한 작업의 완료를 대표하는지와 취소·문서 교체 시 정상 주기 작업과 구별되는지는 개별 spec만으로 확인하지 못했다. 단순 networkidle 문자열 존재만으로 F로 단정하지 않았다. error-cases/CASE-007-auth-user-delete-cascade-round-trip/regression.spec.mjs:115 · error-cases/CASE-007-auth-user-delete-cascade-round-trip/regression.spec.mjs:176 |
| 5. 독립 기대값 | P | 정적 확인: target 원본 그래프의 완전 부재와 control의 삭제 전 원본 그대로 보존을 독립 정답으로 사용한다. 검사 대상 앱 계산 함수를 다시 호출해 기대값을 만들지 않는다. error-cases/CASE-007-auth-user-delete-cascade-round-trip/regression.spec.mjs:138 |
| 6. 상황 실제 발생 | P | 정적 확인: 실제 Auth 관리 삭제를 수행하고 사용자 목록에서 target 부재·control 존재를 확인한다. 동일 tree hosted 첫 실행 통과는 부모의 통합 실행 증거로 확인되었으며, 대표 결함 탐지 증거와는 구분한다. error-cases/CASE-007-auth-user-delete-cascade-round-trip/regression.spec.mjs:115 |
| 7. 경계·금지 부작용 | P | 정적 확인: 대상 profile/session/통계/자식 소멸과 다른 계정 원본 및 UI의 유지, control 재진입을 검사한다. error-cases/CASE-007-auth-user-delete-cascade-round-trip/regression.spec.mjs:138 |
| 8. 필수 단언 완결성 | P | 정적 확인: 개별 checkpoint의 비어 있지 않은 assertion callback과 실제 UI/RPC/원본 조건을 await한 뒤 completeJourney를 호출한다. 대상 profile/session/통계/자식 소멸과 다른 계정 원본 및 UI의 유지, control 재진입을 검사한다. 허용 오류 및 예상 밖 오류의 마지막 검사는 공통 completion에 연결된다. error-cases/CASE-007-auth-user-delete-cascade-round-trip/regression.spec.mjs:138 · error-cases/CASE-007-auth-user-delete-cascade-round-trip/regression.spec.mjs:187 · error-cases/support/fixture.mjs:362 |
| 9. 결함 탐지·공통 도구 | U | 실행 증거 미확인: 동일 tree hosted 최초 시도 통과는 확인되었으나 해당 목적의 대표 결함을 넣어 목표 단언에서 실패한 실제 로그/trace를 이 감사에서 확인하지 못했다. manifest의 과거 prePatchProof 선언이나 expect 존재만으로 P를 부여하지 않았다. 공통 도구의 취소·reload·중도 실패 관련 검증과 이 CASE의 연결도 별도 증거가 필요하다. error-cases/CASE-007-auth-user-delete-cascade-round-trip/case.json:69 · error-cases/CASE-007-auth-user-delete-cascade-round-trip/regression.spec.mjs:138 |
| 10. 자원 정리 | U | 정적 확인: c.completeJourney의 정리 readback 및 공통 fixture finally는 존재한다. 그러나 이 CASE가 소유한 모든 요청·listener·탭·가로챈 응답의 종료와 setup/중도 실패/취소 정리 결과를 확인한 실행 증거는 없다. finally 존재만으로 전체 lifecycle 보장을 P 처리하지 않았다. error-cases/CASE-007-auth-user-delete-cascade-round-trip/regression.spec.mjs:187 · error-cases/support/fixture.mjs:396 · error-cases/support/fixture.mjs:544 |
| 11. CASE 60초 | F | 정적 확인: 공통 CASE timeout 120초를 허용하여 준비+본문의 60초 상한을 강제하지 않는다. 최초 시도가 60초 안에 통과한 사실은 허용 상한 위반을 해소하지 않는다. playwright.config.mjs:34 |
| 12. 동작 대기 10초 | F | 정적 확인: 공통 expect timeout이15초여서 1회10초 상한을 초과한다. playwright.config.mjs:35 |
| 13. 자동 재시도 0 | F | 정적 확인: CI 환경에서 Playwright retries=1이 적용되어 CASE 전체 자동 재시도를 허용한다. 최초 실행 pass여도 재시도0 설정 기준을 충족하지 않는다. playwright.config.mjs:36 |
| 14. 우회·약화 금지 | P | 정적 확인: 개별 spec에 활성 only/fixme 또는 본문 조기 성공·시간 초과 무시를 확인하지 못했다. 준비 환경 부족 skip은 CI에서는 fixture가 먼저 오류를 발생시키므로 필수 CI 생략의 근거로 처리하지 않았다. 11~13의 공통 설정 위반은 별도로 기록했다. error-cases/CASE-007-auth-user-delete-cascade-round-trip/regression.spec.mjs:16 · error-cases/support/fixture.mjs:70 |
| 15. 실패 진단 증거 | U | 증거 범위: 공통 실패 trace/screenshot 및 CASE checkpoint·completion 첨부 경로는 있다. 이 CASE의 첫 실패에서 요청/탭/문서 세대·미완료 작업 식별, 본문/정리 오류 분리, 토큰·사용자 원문 비노출을 모두 확인한 artifact 검증은 수행하지 않았다. playwright.config.mjs:50 · error-cases/CASE-007-auth-user-delete-cascade-round-trip/regression.spec.mjs:187 · error-cases/support/fixture.mjs:402 |
CASE-008
CASE-008 annual workout days equal persisted and rendered grass dates
기존 CI 최초 결과: passed, 8.341초. 품질 판정: 부적합. 확인 위반: 5, 11, 12, 13번. 미검증: 2, 3, 4, 9, 10, 15.
| 기준 | 판정 | 근거 |
|---|---|---|
| 1. 목적·범위 | P | 정적 확인: CASE manifest의 입력·행동·기대 결과 및 실행 profile이 실제 UI/인증 RPC/원본 readback checkpoint에 연결되어 있다. standard-full-stack. error-cases/CASE-008-mobile-report-workout-days-grass-round-trip/case.json:12 · error-cases/CASE-008-mobile-report-workout-days-grass-round-trip/regression.spec.mjs:17 |
| 2. 시작 조건·재현성 | U | 정적 확인: 이전 연도 선택은 고정 연도 결함을 피한다. 다만 c.sessionDate를 고정한 후 브라우저의 현재 p_as_of가 같은 날짜일 것을 요구하며 소스가 자정 교차의 드문 실패를 명시한다. 실행 시각은 기록하지만 그 날짜 경계 관계의 통제·재현 증거는 확인하지 못했다. error-cases/CASE-008-mobile-report-workout-days-grass-round-trip/regression.spec.mjs:21 · error-cases/CASE-008-mobile-report-workout-days-grass-round-trip/regression.spec.mjs:129 · error-cases/CASE-008-mobile-report-workout-days-grass-round-trip/regression.spec.mjs:144 · error-cases/CASE-008-mobile-report-workout-days-grass-round-trip/fixtureDates.mjs:8 |
| 3. 독립성 | U | 정적 확인: runToken 및 owner/id 범위로 자체 fixture를 준비한다. 다만 허용 profile의 credentialMode는 공용 설정 계정으로도 실행하므로 그 환경의 동시 실행·공용 상태 복원 전체 근거는 이 개별 감사에서 확인하지 못했다. error-cases/support/fixture.mjs:119 · error-cases/support/fixture.mjs:132 · error-cases/CASE-008-mobile-report-workout-days-grass-round-trip/regression.spec.mjs:21 |
| 4. 상태 기반 동기화 | U | 정적 확인: 통계 generation 도달 후 조회하고 실제 브라우저 요청 및 잔디 날짜를 확인한다. 별도로 networkidle/RPC quiet를 reload 또는 종료 gate로 사용한다. 이 대기가 필요한 작업의 완료를 대표하는지와 취소·문서 교체 시 정상 주기 작업과 구별되는지는 개별 spec만으로 확인하지 못했다. 단순 networkidle 문자열 존재만으로 F로 단정하지 않았다. error-cases/CASE-008-mobile-report-workout-days-grass-round-trip/regression.spec.mjs:79 · error-cases/CASE-008-mobile-report-workout-days-grass-round-trip/regression.spec.mjs:179 |
| 5. 독립 기대값 | F | 정적 확인: 실제 session 날짜와 동일한 연간 잔디가 요구사항인데 전체 기대값을 검사 대상 집계인 user_training_period_stats에서 만들고 RPC·화면을 거기에 맞춘다. 독립 원본 session은 fixture 날짜 충돌 회피에만 쓰며 새 3일 포함만 단언한다. 따라서 집계에 잘못 추가된 날짜/볼륨이 RPC·UI에 함께 전파되는 경우 이를 거절하는 원본 oracle이 없다. error-cases/CASE-008-mobile-report-workout-days-grass-round-trip/case.json:12 · error-cases/CASE-008-mobile-report-workout-days-grass-round-trip/regression.spec.mjs:100 · error-cases/CASE-008-mobile-report-workout-days-grass-round-trip/regression.spec.mjs:104 · error-cases/CASE-008-mobile-report-workout-days-grass-round-trip/regression.spec.mjs:109 · error-cases/CASE-008-mobile-report-workout-days-grass-round-trip/regression.spec.mjs:124 · error-cases/CASE-008-mobile-report-workout-days-grass-round-trip/regression.spec.mjs:225 · error-cases/CASE-008-mobile-report-workout-days-grass-round-trip/regression.spec.mjs:242 |
| 6. 상황 실제 발생 | P | 정적 확인: 브라우저의 실제 get_volume_overview 요청 p_as_of를 수집하고 초기·reload 요청의 날짜를 확인한다. 동일 tree hosted 첫 실행 통과는 부모의 통합 실행 증거로 확인되었으며, 대표 결함 탐지 증거와는 구분한다. error-cases/CASE-008-mobile-report-workout-days-grass-round-trip/regression.spec.mjs:131 |
| 7. 경계·금지 부작용 | P | 정적 확인: 연도 전체 셀 수·날짜 유일성·1월 1일 시작, 0kg 운동일의 활성 잔디 및 reload 날짜 집합을 검사한다. error-cases/CASE-008-mobile-report-workout-days-grass-round-trip/regression.spec.mjs:148 |
| 8. 필수 단언 완결성 | P | 정적 확인: 개별 checkpoint의 비어 있지 않은 assertion callback과 실제 UI/RPC/원본 조건을 await한 뒤 completeJourney를 호출한다. 연도 전체 셀 수·날짜 유일성·1월 1일 시작, 0kg 운동일의 활성 잔디 및 reload 날짜 집합을 검사한다. 허용 오류 및 예상 밖 오류의 마지막 검사는 공통 completion에 연결된다. error-cases/CASE-008-mobile-report-workout-days-grass-round-trip/regression.spec.mjs:148 · error-cases/CASE-008-mobile-report-workout-days-grass-round-trip/regression.spec.mjs:178 · error-cases/support/fixture.mjs:362 |
| 9. 결함 탐지·공통 도구 | U | 실행 증거 미확인: 동일 tree hosted 최초 시도 통과는 확인되었으나 해당 목적의 대표 결함을 넣어 목표 단언에서 실패한 실제 로그/trace를 이 감사에서 확인하지 못했다. manifest의 과거 prePatchProof 선언이나 expect 존재만으로 P를 부여하지 않았다. 공통 도구의 취소·reload·중도 실패 관련 검증과 이 CASE의 연결도 별도 증거가 필요하다. error-cases/CASE-008-mobile-report-workout-days-grass-round-trip/case.json:12 · error-cases/CASE-008-mobile-report-workout-days-grass-round-trip/regression.spec.mjs:100 |
| 10. 자원 정리 | U | 정적 확인: c.completeJourney의 정리 readback 및 공통 fixture finally는 존재한다. 그러나 이 CASE가 소유한 모든 요청·listener·탭·가로챈 응답의 종료와 setup/중도 실패/취소 정리 결과를 확인한 실행 증거는 없다. finally 존재만으로 전체 lifecycle 보장을 P 처리하지 않았다. error-cases/CASE-008-mobile-report-workout-days-grass-round-trip/regression.spec.mjs:178 · error-cases/support/fixture.mjs:396 · error-cases/support/fixture.mjs:544 |
| 11. CASE 60초 | F | 정적 확인: 공통 CASE timeout 120초를 허용하여 준비+본문의 60초 상한을 강제하지 않는다. 최초 시도가 60초 안에 통과한 사실은 허용 상한 위반을 해소하지 않는다. playwright.config.mjs:34 |
| 12. 동작 대기 10초 | F | 정적 확인: 공통 expect timeout이15초여서 1회10초 상한을 초과한다. playwright.config.mjs:35 |
| 13. 자동 재시도 0 | F | 정적 확인: CI 환경에서 Playwright retries=1이 적용되어 CASE 전체 자동 재시도를 허용한다. 최초 실행 pass여도 재시도0 설정 기준을 충족하지 않는다. playwright.config.mjs:36 |
| 14. 우회·약화 금지 | P | 정적 확인: 개별 spec에 활성 only/fixme 또는 본문 조기 성공·시간 초과 무시를 확인하지 못했다. 준비 환경 부족 skip은 CI에서는 fixture가 먼저 오류를 발생시키므로 필수 CI 생략의 근거로 처리하지 않았다. 11~13의 공통 설정 위반은 별도로 기록했다. error-cases/CASE-008-mobile-report-workout-days-grass-round-trip/regression.spec.mjs:17 · error-cases/support/fixture.mjs:70 |
| 15. 실패 진단 증거 | U | 증거 범위: 공통 실패 trace/screenshot 및 CASE checkpoint·completion 첨부 경로는 있다. 이 CASE의 첫 실패에서 요청/탭/문서 세대·미완료 작업 식별, 본문/정리 오류 분리, 토큰·사용자 원문 비노출을 모두 확인한 artifact 검증은 수행하지 않았다. playwright.config.mjs:50 · error-cases/CASE-008-mobile-report-workout-days-grass-round-trip/regression.spec.mjs:178 · error-cases/support/fixture.mjs:402 |
CASE-009
CASE-009 mobile onboarding persists the complete profile contract
기존 CI 최초 결과: passed, 6.271초. 품질 판정: 부적합. 확인 위반: 11, 12, 13번. 미검증: 3, 9, 10, 15.
| 기준 | 판정 | 근거 |
|---|---|---|
| 1. 목적·범위 | P | 정적 확인: CASE manifest의 입력·행동·기대 결과 및 실행 profile이 실제 UI/인증 RPC/원본 readback checkpoint에 연결되어 있다. local-auth-admin-full-stack. error-cases/CASE-009-onboarding-profile-data-round-trip/case.json:12 · error-cases/CASE-009-onboarding-profile-data-round-trip/regression.spec.mjs:15 |
| 2. 시작 조건·재현성 | P | 정적 확인: onboarding-required 전용 계정과 3개 PR 종목을 확인하고 프로필·신체 값·PR 입력을 고정한다. 공통 fixture가 runToken·시작 ISO시각·서울 sessionDate를 보유하고 동일 tree 실행 SHA/환경은 통합 실행 증거로 식별한다. 임의 id는 데이터 분리에 사용한다. error-cases/CASE-009-onboarding-profile-data-round-trip/regression.spec.mjs:22 · error-cases/support/fixture.mjs:103 · error-cases/support/fixture.mjs:175 |
| 3. 독립성 | U | 정적 확인: 계정은 신규이지만 프로필 handle을 모든 실행에 동일한 case009_lifter로 입력한다. 이 값의 전역 유일성 제약과 허용된 동시 실행에서의 충돌·복원 여부까지는 확인하지 못했다. error-cases/CASE-009-onboarding-profile-data-round-trip/regression.spec.mjs:44 · error-cases/support/fixture.mjs:132 |
| 4. 상태 기반 동기화 | P | 정적 확인: 완료 응답을 행동 전에 구독하고 실제 완료 응답·원본 저장 후 새 페이지로 재진입한다. 준비 완료를 추정하는 고정 sleep은 개별 경로에서 확인되지 않았다. error-cases/CASE-009-onboarding-profile-data-round-trip/regression.spec.mjs:63 |
| 5. 독립 기대값 | P | 정적 확인: 137.5/92.5/172.5 PR, 178.4/82.4/39.7/17.3 신체 값과 동의·스타일 값을 원본 readback으로 비교한다. 검사 대상 앱 계산 함수를 다시 호출해 기대값을 만들지 않는다. error-cases/CASE-009-onboarding-profile-data-round-trip/regression.spec.mjs:104 |
| 6. 상황 실제 발생 | P | 정적 확인: 완료 RPC 응답 observer를 제출 전에 설치하여 실제 HTTP 200 완료를 확인한다. 동일 tree hosted 첫 실행 통과는 부모의 통합 실행 증거로 확인되었으며, 대표 결함 탐지 증거와는 구분한다. error-cases/CASE-009-onboarding-profile-data-round-trip/regression.spec.mjs:63 |
| 7. 경계·금지 부작용 | P | 정적 확인: 새 페이지와 reload에서 onboarding이 다시 열리지 않고 동일 프로필·스타일이 유지되는지 검사한다. error-cases/CASE-009-onboarding-profile-data-round-trip/regression.spec.mjs:170 |
| 8. 필수 단언 완결성 | P | 정적 확인: 개별 checkpoint의 비어 있지 않은 assertion callback과 실제 UI/RPC/원본 조건을 await한 뒤 completeJourney를 호출한다. 새 페이지와 reload에서 onboarding이 다시 열리지 않고 동일 프로필·스타일이 유지되는지 검사한다. 허용 오류 및 예상 밖 오류의 마지막 검사는 공통 completion에 연결된다. error-cases/CASE-009-onboarding-profile-data-round-trip/regression.spec.mjs:170 · error-cases/CASE-009-onboarding-profile-data-round-trip/regression.spec.mjs:193 · error-cases/support/fixture.mjs:362 |
| 9. 결함 탐지·공통 도구 | U | 실행 증거 미확인: 동일 tree hosted 최초 시도 통과는 확인되었으나 해당 목적의 대표 결함을 넣어 목표 단언에서 실패한 실제 로그/trace를 이 감사에서 확인하지 못했다. manifest의 과거 prePatchProof 선언이나 expect 존재만으로 P를 부여하지 않았다. 공통 도구의 취소·reload·중도 실패 관련 검증과 이 CASE의 연결도 별도 증거가 필요하다. error-cases/CASE-009-onboarding-profile-data-round-trip/case.json:12 · error-cases/CASE-009-onboarding-profile-data-round-trip/regression.spec.mjs:104 |
| 10. 자원 정리 | U | 정적 확인: c.completeJourney의 정리 readback 및 공통 fixture finally는 존재한다. 그러나 이 CASE가 소유한 모든 요청·listener·탭·가로챈 응답의 종료와 setup/중도 실패/취소 정리 결과를 확인한 실행 증거는 없다. finally 존재만으로 전체 lifecycle 보장을 P 처리하지 않았다. error-cases/CASE-009-onboarding-profile-data-round-trip/regression.spec.mjs:193 · error-cases/support/fixture.mjs:396 · error-cases/support/fixture.mjs:544 |
| 11. CASE 60초 | F | 정적 확인: 공통 CASE timeout 120초를 허용하여 준비+본문의 60초 상한을 강제하지 않는다. 최초 시도가 60초 안에 통과한 사실은 허용 상한 위반을 해소하지 않는다. playwright.config.mjs:34 |
| 12. 동작 대기 10초 | F | 정적 확인: 공통 expect timeout이15초여서 1회10초 상한을 초과한다. playwright.config.mjs:35 |
| 13. 자동 재시도 0 | F | 정적 확인: CI 환경에서 Playwright retries=1이 적용되어 CASE 전체 자동 재시도를 허용한다. 최초 실행 pass여도 재시도0 설정 기준을 충족하지 않는다. playwright.config.mjs:36 |
| 14. 우회·약화 금지 | P | 정적 확인: 개별 spec에 활성 only/fixme 또는 본문 조기 성공·시간 초과 무시를 확인하지 못했다. 준비 환경 부족 skip은 CI에서는 fixture가 먼저 오류를 발생시키므로 필수 CI 생략의 근거로 처리하지 않았다. 11~13의 공통 설정 위반은 별도로 기록했다. error-cases/CASE-009-onboarding-profile-data-round-trip/regression.spec.mjs:15 · error-cases/support/fixture.mjs:70 |
| 15. 실패 진단 증거 | U | 증거 범위: 공통 실패 trace/screenshot 및 CASE checkpoint·completion 첨부 경로는 있다. 이 CASE의 첫 실패에서 요청/탭/문서 세대·미완료 작업 식별, 본문/정리 오류 분리, 토큰·사용자 원문 비노출을 모두 확인한 artifact 검증은 수행하지 않았다. playwright.config.mjs:50 · error-cases/CASE-009-onboarding-profile-data-round-trip/regression.spec.mjs:193 · error-cases/support/fixture.mjs:402 |
CASE-010
CASE-010 stale Feed chunk reloads once and completes the authenticated route
기존 CI 최초 결과: passed, 6.115초. 품질 판정: 부적합. 확인 위반: 4, 11, 12, 13번. 미검증: 3, 7, 9, 10, 15.
| 기준 | 판정 | 근거 |
|---|---|---|
| 1. 목적·범위 | P | 정적 확인: CASE manifest의 입력·행동·기대 결과 및 실행 profile이 실제 UI/인증 RPC/원본 readback checkpoint에 연결되어 있다. standard-full-stack. error-cases/CASE-010-stale-lazy-chunk-auto-recovery/case.json:13 · error-cases/CASE-010-stale-lazy-chunk-auto-recovery/regression.spec.mjs:15 |
| 2. 시작 조건·재현성 | P | 정적 확인: Feed 청크에 대한 첫 정확한 404만 주입하도록 설정하고 실제 navigation reload 카운터를 등록한다. 공통 fixture가 runToken·시작 ISO시각·서울 sessionDate를 보유하고 동일 tree 실행 SHA/환경은 통합 실행 증거로 식별한다. 임의 id는 데이터 분리에 사용한다. error-cases/CASE-010-stale-lazy-chunk-auto-recovery/regression.spec.mjs:28 · error-cases/support/fixture.mjs:103 · error-cases/support/fixture.mjs:175 |
| 3. 독립성 | U | 정적 확인: runToken 및 owner/id 범위로 자체 fixture를 준비한다. 다만 허용 profile의 credentialMode는 공용 설정 계정으로도 실행하므로 그 환경의 동시 실행·공용 상태 복원 전체 근거는 이 개별 감사에서 확인하지 못했다. error-cases/support/fixture.mjs:119 · error-cases/support/fixture.mjs:132 · error-cases/CASE-010-stale-lazy-chunk-auto-recovery/regression.spec.mjs:28 |
| 4. 상태 기반 동기화 | F | 정적 확인: warming이 모두 정리되어 suppression 구간과 겹치지 않는다는 준비 조건을 명시적 앱/청크 상태 대신 networkidle로 판정한 뒤 Feed 이동을 시작한다. 250/500ms의 추가 reload 부재 관측창은 이 위반의 근거로 사용하지 않았다. error-cases/CASE-010-stale-lazy-chunk-auto-recovery/regression.spec.mjs:91 · error-cases/CASE-010-stale-lazy-chunk-auto-recovery/regression.spec.mjs:95 · error-cases/CASE-010-stale-lazy-chunk-auto-recovery/regression.spec.mjs:98 |
| 5. 독립 기대값 | P | 정적 확인: 정답은 자동 전체 이동 1회, 주입 HTTP 404 1회, contract version/releaseId 및 reload budget 유지이다. 검사 대상 앱 계산 함수를 다시 호출해 기대값을 만들지 않는다. error-cases/CASE-010-stale-lazy-chunk-auto-recovery/regression.spec.mjs:101 |
| 6. 상황 실제 발생 | P | 정적 확인: boot warming 요청 발생, 주입 횟수 1·실패 응답 1, 실제 top-level reload 1을 확인한다. 동일 tree hosted 첫 실행 통과는 부모의 통합 실행 증거로 확인되었으며, 대표 결함 탐지 증거와는 구분한다. error-cases/CASE-010-stale-lazy-chunk-auto-recovery/regression.spec.mjs:84 |
| 7. 경계·금지 부작용 | U | 정적 확인: 재로드 예산 1회 및 두 번째 preload 오류의 preventDefault 결과는 단언한다. 다만 추가 재로드 부재 관측은 250/500ms에서 끝나며 그 관측 길이가 실제 오류 처리·재로드 타이머를 포괄한다는 코드/실행 근거는 확인하지 못했다. 관측 sleep의 존재 자체를 위반으로 판정하지 않았다. error-cases/CASE-010-stale-lazy-chunk-auto-recovery/regression.spec.mjs:123 · error-cases/CASE-010-stale-lazy-chunk-auto-recovery/regression.spec.mjs:129 · error-cases/CASE-010-stale-lazy-chunk-auto-recovery/regression.spec.mjs:130 · error-cases/CASE-010-stale-lazy-chunk-auto-recovery/regression.spec.mjs:143 |
| 8. 필수 단언 완결성 | P | 정적 확인: 개별 checkpoint의 비어 있지 않은 assertion callback과 실제 UI/RPC/원본 조건을 await한 뒤 completeJourney를 호출한다. 같은 세션에서 추가 preload 오류가 budget을 다시 쓰지 않는지 검사하지만 관측창의 충분성은 별도 미확인이다. 허용 오류 및 예상 밖 오류의 마지막 검사는 공통 completion에 연결된다. error-cases/CASE-010-stale-lazy-chunk-auto-recovery/regression.spec.mjs:123 · error-cases/CASE-010-stale-lazy-chunk-auto-recovery/regression.spec.mjs:149 · error-cases/support/fixture.mjs:362 |
| 9. 결함 탐지·공통 도구 | U | 실행 증거 미확인: 동일 tree hosted 최초 시도 통과는 확인되었으나 해당 목적의 대표 결함을 넣어 목표 단언에서 실패한 실제 로그/trace를 이 감사에서 확인하지 못했다. manifest의 과거 prePatchProof 선언이나 expect 존재만으로 P를 부여하지 않았다. 공통 도구의 취소·reload·중도 실패 관련 검증과 이 CASE의 연결도 별도 증거가 필요하다. error-cases/CASE-010-stale-lazy-chunk-auto-recovery/case.json:70 · error-cases/CASE-010-stale-lazy-chunk-auto-recovery/regression.spec.mjs:101 |
| 10. 자원 정리 | U | 정적 확인: c.completeJourney의 정리 readback 및 공통 fixture finally는 존재한다. 그러나 이 CASE가 소유한 모든 요청·listener·탭·가로챈 응답의 종료와 setup/중도 실패/취소 정리 결과를 확인한 실행 증거는 없다. finally 존재만으로 전체 lifecycle 보장을 P 처리하지 않았다. error-cases/CASE-010-stale-lazy-chunk-auto-recovery/regression.spec.mjs:149 · error-cases/support/fixture.mjs:396 · error-cases/support/fixture.mjs:544 |
| 11. CASE 60초 | F | 정적 확인: 공통 CASE timeout 120초를 허용하여 준비+본문의 60초 상한을 강제하지 않는다. 최초 시도가 60초 안에 통과한 사실은 허용 상한 위반을 해소하지 않는다. playwright.config.mjs:34 |
| 12. 동작 대기 10초 | F | 정적 확인: 공통 expect timeout이15초여서 1회10초 상한을 초과한다. 또한 개별 조건 대기에 15초 override를 사용한다. playwright.config.mjs:35 · error-cases/CASE-010-stale-lazy-chunk-auto-recovery/regression.spec.mjs:86 |
| 13. 자동 재시도 0 | F | 정적 확인: CI 환경에서 Playwright retries=1이 적용되어 CASE 전체 자동 재시도를 허용한다. 최초 실행 pass여도 재시도0 설정 기준을 충족하지 않는다. playwright.config.mjs:36 |
| 14. 우회·약화 금지 | P | 정적 확인: 개별 spec에 활성 only/fixme 또는 본문 조기 성공·시간 초과 무시를 확인하지 못했다. 준비 환경 부족 skip은 CI에서는 fixture가 먼저 오류를 발생시키므로 필수 CI 생략의 근거로 처리하지 않았다. 11~13의 공통 설정 위반은 별도로 기록했다. error-cases/CASE-010-stale-lazy-chunk-auto-recovery/regression.spec.mjs:15 · error-cases/support/fixture.mjs:70 |
| 15. 실패 진단 증거 | U | 증거 범위: 공통 실패 trace/screenshot 및 CASE checkpoint·completion 첨부 경로는 있다. 이 CASE의 첫 실패에서 요청/탭/문서 세대·미완료 작업 식별, 본문/정리 오류 분리, 토큰·사용자 원문 비노출을 모두 확인한 artifact 검증은 수행하지 않았다. playwright.config.mjs:50 · error-cases/CASE-010-stale-lazy-chunk-auto-recovery/regression.spec.mjs:149 · error-cases/support/fixture.mjs:402 |
CASE-011
CASE-011 empty drafts stay discarded and an authored workout resumes after page close through completed storage
기존 CI 최초 결과: passed, 20.036초. 품질 판정: 부적합. 확인 위반: 4, 11, 12, 13번. 미검증: 3, 9, 10, 15.
| 기준 | 판정 | 근거 |
|---|---|---|
| 1. 목적·범위 | P | 정적 확인: CASE manifest의 입력·행동·기대 결과 및 실행 profile이 실제 UI/인증 RPC/원본 readback checkpoint에 연결되어 있다. standard-full-stack. error-cases/CASE-011-mobile-empty-start-resume-ghost/case.json:13 · error-cases/CASE-011-mobile-empty-start-resume-ghost/regression.spec.mjs:18 |
| 2. 시작 조건·재현성 | P | 정적 확인: 사용자 원본 baseline을 읽고 빈 운동, 주입 legacy draft, 작성한 62.5kg×5 초안을 구분해 준비한다. 공통 fixture가 runToken·시작 ISO시각·서울 sessionDate를 보유하고 동일 tree 실행 SHA/환경은 통합 실행 증거로 식별한다. 임의 id는 데이터 분리에 사용한다. error-cases/CASE-011-mobile-empty-start-resume-ghost/regression.spec.mjs:25 · error-cases/support/fixture.mjs:103 · error-cases/support/fixture.mjs:175 |
| 3. 독립성 | U | 정적 확인: runToken 및 owner/id 범위로 자체 fixture를 준비한다. 다만 허용 profile의 credentialMode는 공용 설정 계정으로도 실행하므로 그 환경의 동시 실행·공용 상태 복원 전체 근거는 이 개별 감사에서 확인하지 못했다. error-cases/support/fixture.mjs:119 · error-cases/support/fixture.mjs:132 · error-cases/CASE-011-mobile-empty-start-resume-ghost/regression.spec.mjs:25 |
| 4. 상태 기반 동기화 | F | 정적 확인: 빈 운동 기록 화면에 진입한 뒤 초안 저장/초기화 완료 사건을 확인하지 않고 850ms waitForTimeout 후 나가기를 실행한다. 이는 뒤의 부재 관측창이 아니라 나가기 이전 준비 순서를 정하는 고정 대기다. error-cases/CASE-011-mobile-empty-start-resume-ghost/regression.spec.mjs:31 · error-cases/CASE-011-mobile-empty-start-resume-ghost/regression.spec.mjs:32 · error-cases/CASE-011-mobile-empty-start-resume-ghost/regression.spec.mjs:33 |
| 5. 독립 기대값 | P | 정적 확인: 빈/legacy 초안은 원본 baseline 불변, 실제 작성 초안은 고정 62.5×5와 동일 owner/date/식별자로 판단한다. 검사 대상 앱 계산 함수를 다시 호출해 기대값을 만들지 않는다. error-cases/CASE-011-mobile-empty-start-resume-ghost/regression.spec.mjs:92 |
| 6. 상황 실제 발생 | P | 정적 확인: legacy 초안을 IndexedDB에 넣은 뒤 실제 resume UI를 관측하고 실제 작성 초안은 페이지 종료·새 페이지 재진입으로 확인한다. 동일 tree hosted 첫 실행 통과는 부모의 통합 실행 증거로 확인되었으며, 대표 결함 탐지 증거와는 구분한다. error-cases/CASE-011-mobile-empty-start-resume-ghost/regression.spec.mjs:50 |
| 7. 경계·금지 부작용 | P | 정적 확인: 최종 저장의 정확한 원본·단일 sourceRef·빈 pending·초안 삭제·resume 미표시를 검사한다. error-cases/CASE-011-mobile-empty-start-resume-ghost/regression.spec.mjs:214 |
| 8. 필수 단언 완결성 | P | 정적 확인: 개별 checkpoint의 비어 있지 않은 assertion callback과 실제 UI/RPC/원본 조건을 await한 뒤 completeJourney를 호출한다. 최종 저장의 정확한 원본·단일 sourceRef·빈 pending·초안 삭제·resume 미표시를 검사한다. 허용 오류 및 예상 밖 오류의 마지막 검사는 공통 completion에 연결된다. error-cases/CASE-011-mobile-empty-start-resume-ghost/regression.spec.mjs:214 · error-cases/CASE-011-mobile-empty-start-resume-ghost/regression.spec.mjs:244 · error-cases/support/fixture.mjs:362 |
| 9. 결함 탐지·공통 도구 | U | 실행 증거 미확인: 동일 tree hosted 최초 시도 통과는 확인되었으나 해당 목적의 대표 결함을 넣어 목표 단언에서 실패한 실제 로그/trace를 이 감사에서 확인하지 못했다. manifest의 과거 prePatchProof 선언이나 expect 존재만으로 P를 부여하지 않았다. 공통 도구의 취소·reload·중도 실패 관련 검증과 이 CASE의 연결도 별도 증거가 필요하다. error-cases/CASE-011-mobile-empty-start-resume-ghost/case.json:117 · error-cases/CASE-011-mobile-empty-start-resume-ghost/regression.spec.mjs:92 |
| 10. 자원 정리 | U | 정적 확인: c.completeJourney의 정리 readback 및 공통 fixture finally는 존재한다. 그러나 이 CASE가 소유한 모든 요청·listener·탭·가로챈 응답의 종료와 setup/중도 실패/취소 정리 결과를 확인한 실행 증거는 없다. finally 존재만으로 전체 lifecycle 보장을 P 처리하지 않았다. error-cases/CASE-011-mobile-empty-start-resume-ghost/regression.spec.mjs:244 · error-cases/support/fixture.mjs:396 · error-cases/support/fixture.mjs:544 |
| 11. CASE 60초 | F | 정적 확인: 공통 CASE timeout 120초를 허용하여 준비+본문의 60초 상한을 강제하지 않는다. 최초 시도가 60초 안에 통과한 사실은 허용 상한 위반을 해소하지 않는다. playwright.config.mjs:34 |
| 12. 동작 대기 10초 | F | 정적 확인: 공통 expect timeout이15초여서 1회10초 상한을 초과한다. playwright.config.mjs:35 |
| 13. 자동 재시도 0 | F | 정적 확인: CI 환경에서 Playwright retries=1이 적용되어 CASE 전체 자동 재시도를 허용한다. 최초 실행 pass여도 재시도0 설정 기준을 충족하지 않는다. playwright.config.mjs:36 |
| 14. 우회·약화 금지 | P | 정적 확인: 개별 spec에 활성 only/fixme 또는 본문 조기 성공·시간 초과 무시를 확인하지 못했다. 준비 환경 부족 skip은 CI에서는 fixture가 먼저 오류를 발생시키므로 필수 CI 생략의 근거로 처리하지 않았다. 11~13의 공통 설정 위반은 별도로 기록했다. error-cases/CASE-011-mobile-empty-start-resume-ghost/regression.spec.mjs:18 · error-cases/support/fixture.mjs:70 |
| 15. 실패 진단 증거 | U | 증거 범위: 공통 실패 trace/screenshot 및 CASE checkpoint·completion 첨부 경로는 있다. 이 CASE의 첫 실패에서 요청/탭/문서 세대·미완료 작업 식별, 본문/정리 오류 분리, 토큰·사용자 원문 비노출을 모두 확인한 artifact 검증은 수행하지 않았다. playwright.config.mjs:50 · error-cases/CASE-011-mobile-empty-start-resume-ghost/regression.spec.mjs:244 · error-cases/support/fixture.mjs:402 |
CASE-012
CASE-012 two bootstrap 503s preserve minimized snapshot access and recover without auth demotion
기존 CI 최초 결과: passed, 10.137초. 품질 판정: 부적합. 확인 위반: 10, 11, 12, 13번. 미검증: 3, 4, 9, 15.
| 기준 | 판정 | 근거 |
|---|---|---|
| 1. 목적·범위 | P | 정적 확인: CASE manifest의 입력·행동·기대 결과 및 실행 profile이 실제 UI/인증 RPC/원본 readback checkpoint에 연결되어 있다. fault-injection-full-stack. error-cases/CASE-012-boot-auth-outage-non-demotion/case.json:12 · error-cases/CASE-012-boot-auth-outage-non-demotion/regression.spec.mjs:22 |
| 2. 시작 조건·재현성 | P | 정적 확인: 정상 인증 Home과 최소 snapshot을 먼저 확인한 뒤 같은 인증 context의 별도 fault 탭을 연다. 공통 fixture가 runToken·시작 ISO시각·서울 sessionDate를 보유하고 동일 tree 실행 SHA/환경은 통합 실행 증거로 식별한다. 임의 id는 데이터 분리에 사용한다. error-cases/CASE-012-boot-auth-outage-non-demotion/regression.spec.mjs:28 · error-cases/support/fixture.mjs:103 · error-cases/support/fixture.mjs:175 |
| 3. 독립성 | U | 정적 확인: runToken 및 owner/id 범위로 자체 fixture를 준비한다. 다만 허용 profile의 credentialMode는 공용 설정 계정으로도 실행하므로 그 환경의 동시 실행·공용 상태 복원 전체 근거는 이 개별 감사에서 확인하지 못했다. error-cases/support/fixture.mjs:119 · error-cases/support/fixture.mjs:132 · error-cases/CASE-012-boot-auth-outage-non-demotion/regression.spec.mjs:28 |
| 4. 상태 기반 동기화 | U | 정적 확인: 실제 세 번째 요청 보류·connectivity-entered를 관측하고 finally에서 gate 해제 후 exited를 검사한다. 별도로 networkidle/RPC quiet를 reload 또는 종료 gate로 사용한다. 이 대기가 필요한 작업의 완료를 대표하는지와 취소·문서 교체 시 정상 주기 작업과 구별되는지는 개별 spec만으로 확인하지 못했다. 단순 networkidle 문자열 존재만으로 F로 단정하지 않았다. error-cases/CASE-012-boot-auth-outage-non-demotion/regression.spec.mjs:76 · error-cases/CASE-012-boot-auth-outage-non-demotion/regression.spec.mjs:30 |
| 5. 독립 기대값 | P | 정적 확인: 장애 전 snapshot과 동일 owner/profile 유지, login/error UI 부재 및 실제 Auth 사용자 유지가 독립 보존 정답이다. 검사 대상 앱 계산 함수를 다시 호출해 기대값을 만들지 않는다. error-cases/CASE-012-boot-auth-outage-non-demotion/regression.spec.mjs:93 |
| 6. 상황 실제 발생 | P | 정적 확인: 정확한 workspace POST 첫 2회 503과 실제 세 번째 보류 요청 3회 카운트를 확인한다. 동일 tree hosted 첫 실행 통과는 부모의 통합 실행 증거로 확인되었으며, 대표 결함 탐지 증거와는 구분한다. error-cases/CASE-012-boot-auth-outage-non-demotion/regression.spec.mjs:50 |
| 7. 경계·금지 부작용 | P | 정적 확인: snapshot 비강등, 인증 강등 history 부재, 실제 recovery lifecycle와 새 탭에서 추가 fault 부재를 확인한다. error-cases/CASE-012-boot-auth-outage-non-demotion/regression.spec.mjs:93 |
| 8. 필수 단언 완결성 | P | 정적 확인: 개별 checkpoint의 비어 있지 않은 assertion callback과 실제 UI/RPC/원본 조건을 await한 뒤 completeJourney를 호출한다. snapshot 비강등, 인증 강등 history 부재, 실제 recovery lifecycle와 새 탭에서 추가 fault 부재를 확인한다. 허용 오류 및 예상 밖 오류의 마지막 검사는 공통 completion에 연결된다. error-cases/CASE-012-boot-auth-outage-non-demotion/regression.spec.mjs:93 · error-cases/CASE-012-boot-auth-outage-non-demotion/regression.spec.mjs:151 · error-cases/support/fixture.mjs:362 |
| 9. 결함 탐지·공통 도구 | U | 실행 증거 미확인: 동일 tree hosted 최초 시도 통과는 확인되었으나 해당 목적의 대표 결함을 넣어 목표 단언에서 실패한 실제 로그/trace를 이 감사에서 확인하지 못했다. manifest의 과거 prePatchProof 선언이나 expect 존재만으로 P를 부여하지 않았다. 공통 도구의 취소·reload·중도 실패 관련 검증과 이 CASE의 연결도 별도 증거가 필요하다. error-cases/CASE-012-boot-auth-outage-non-demotion/case.json:12 · error-cases/CASE-012-boot-auth-outage-non-demotion/regression.spec.mjs:93 |
| 10. 자원 정리 | F | 정적 확인: 세 번째 workspace 응답 gate를 설치한 뒤 openAuthenticatedApp 및 workspaceAttempts==3 대기가 try 앞에 있다. 이 setup이 실패/timeout하면 releaseThirdAttempt가 있는 finally에 진입하지 않아 테스트가 소유한 보류 응답의 해제·종료가 보장되지 않는다. 실제 실패 재현은 수행하지 않았다. error-cases/CASE-012-boot-auth-outage-non-demotion/regression.spec.mjs:50 · error-cases/CASE-012-boot-auth-outage-non-demotion/regression.spec.mjs:71 · error-cases/CASE-012-boot-auth-outage-non-demotion/regression.spec.mjs:75 · error-cases/CASE-012-boot-auth-outage-non-demotion/regression.spec.mjs:76 · error-cases/CASE-012-boot-auth-outage-non-demotion/regression.spec.mjs:80 · error-cases/CASE-012-boot-auth-outage-non-demotion/regression.spec.mjs:103 · error-cases/CASE-012-boot-auth-outage-non-demotion/regression.spec.mjs:104 |
| 11. CASE 60초 | F | 정적 확인: 공통 CASE timeout 120초를 허용하여 준비+본문의 60초 상한을 강제하지 않는다. 최초 시도가 60초 안에 통과한 사실은 허용 상한 위반을 해소하지 않는다. playwright.config.mjs:34 |
| 12. 동작 대기 10초 | F | 정적 확인: 공통 expect timeout이15초여서 1회10초 상한을 초과한다. playwright.config.mjs:35 |
| 13. 자동 재시도 0 | F | 정적 확인: CI 환경에서 Playwright retries=1이 적용되어 CASE 전체 자동 재시도를 허용한다. 최초 실행 pass여도 재시도0 설정 기준을 충족하지 않는다. playwright.config.mjs:36 |
| 14. 우회·약화 금지 | P | 정적 확인: 개별 spec에 활성 only/fixme 또는 본문 조기 성공·시간 초과 무시를 확인하지 못했다. 준비 환경 부족 skip은 CI에서는 fixture가 먼저 오류를 발생시키므로 필수 CI 생략의 근거로 처리하지 않았다. 11~13의 공통 설정 위반은 별도로 기록했다. error-cases/CASE-012-boot-auth-outage-non-demotion/regression.spec.mjs:22 · error-cases/support/fixture.mjs:70 |
| 15. 실패 진단 증거 | U | 증거 범위: 공통 실패 trace/screenshot 및 CASE checkpoint·completion 첨부 경로는 있다. 이 CASE의 첫 실패에서 요청/탭/문서 세대·미완료 작업 식별, 본문/정리 오류 분리, 토큰·사용자 원문 비노출을 모두 확인한 artifact 검증은 수행하지 않았다. playwright.config.mjs:50 · error-cases/CASE-012-boot-auth-outage-non-demotion/regression.spec.mjs:151 · error-cases/support/fixture.mjs:402 |
CASE-013
CASE-013 TOKEN_REFRESHED and two JWT 401s preserve the owner session until recovery
기존 CI 최초 결과: passed, 10.988초. 품질 판정: 부적합. 확인 위반: 10, 11, 12, 13번. 미검증: 3, 4, 9, 15.
| 기준 | 판정 | 근거 |
|---|---|---|
| 1. 목적·범위 | P | 정적 확인: CASE manifest의 입력·행동·기대 결과 및 실행 profile이 실제 UI/인증 RPC/원본 readback checkpoint에 연결되어 있다. fault-injection-full-stack. error-cases/CASE-013-token-refreshed-jwt-storm-session-preservation/case.json:12 · error-cases/CASE-013-token-refreshed-jwt-storm-session-preservation/regression.spec.mjs:23 |
| 2. 시작 조건·재현성 | P | 정적 확인: 실제 정상 snapshot을 확보하고 만료 세션으로 fault 탭을 열어 실제 token refresh를 유도한다. 공통 fixture가 runToken·시작 ISO시각·서울 sessionDate를 보유하고 동일 tree 실행 SHA/환경은 통합 실행 증거로 식별한다. 임의 id는 데이터 분리에 사용한다. error-cases/CASE-013-token-refreshed-jwt-storm-session-preservation/regression.spec.mjs:30 · error-cases/support/fixture.mjs:103 · error-cases/support/fixture.mjs:175 |
| 3. 독립성 | U | 정적 확인: runToken 및 owner/id 범위로 자체 fixture를 준비한다. 다만 허용 profile의 credentialMode는 공용 설정 계정으로도 실행하므로 그 환경의 동시 실행·공용 상태 복원 전체 근거는 이 개별 감사에서 확인하지 못했다. error-cases/support/fixture.mjs:119 · error-cases/support/fixture.mjs:132 · error-cases/CASE-013-token-refreshed-jwt-storm-session-preservation/regression.spec.mjs:30 |
| 4. 상태 기반 동기화 | U | 정적 확인: 세 번째 workspace 보류, refresh→401 timeline 및 lifecycle 관측 뒤 gate 해제와 recovery를 검사한다. 별도로 networkidle/RPC quiet를 reload 또는 종료 gate로 사용한다. 이 대기가 필요한 작업의 완료를 대표하는지와 취소·문서 교체 시 정상 주기 작업과 구별되는지는 개별 spec만으로 확인하지 못했다. 단순 networkidle 문자열 존재만으로 F로 단정하지 않았다. error-cases/CASE-013-token-refreshed-jwt-storm-session-preservation/regression.spec.mjs:99 · error-cases/CASE-013-token-refreshed-jwt-storm-session-preservation/regression.spec.mjs:31 |
| 5. 독립 기대값 | P | 정적 확인: 장애 전 snapshot/owner 유지와 실제 refresh 성공·SIGNED_OUT 부재를 보존 계약으로 검사한다. 검사 대상 앱 계산 함수를 다시 호출해 기대값을 만들지 않는다. error-cases/CASE-013-token-refreshed-jwt-storm-session-preservation/regression.spec.mjs:134 |
| 6. 상황 실제 발생 | P | 정적 확인: 네트워크 timeline에서 실제 token refresh 성공이 첫 JWT 401보다 앞섬을 확인하고 정확한 2회 401 및 세 번째 보류를 확인한다. 동일 tree hosted 첫 실행 통과는 부모의 통합 실행 증거로 확인되었으며, 대표 결함 탐지 증거와는 구분한다. error-cases/CASE-013-token-refreshed-jwt-storm-session-preservation/regression.spec.mjs:112 |
| 7. 경계·금지 부작용 | P | 정적 확인: TOKEN_REFRESHED·미만료 인증·SIGNED_OUT 부재, snapshot 비강등과 갱신 세션 재진입을 확인한다. error-cases/CASE-013-token-refreshed-jwt-storm-session-preservation/regression.spec.mjs:123 |
| 8. 필수 단언 완결성 | P | 정적 확인: 개별 checkpoint의 비어 있지 않은 assertion callback과 실제 UI/RPC/원본 조건을 await한 뒤 completeJourney를 호출한다. TOKEN_REFRESHED·미만료 인증·SIGNED_OUT 부재, snapshot 비강등과 갱신 세션 재진입을 확인한다. 허용 오류 및 예상 밖 오류의 마지막 검사는 공통 completion에 연결된다. error-cases/CASE-013-token-refreshed-jwt-storm-session-preservation/regression.spec.mjs:123 · error-cases/CASE-013-token-refreshed-jwt-storm-session-preservation/regression.spec.mjs:194 · error-cases/support/fixture.mjs:362 |
| 9. 결함 탐지·공통 도구 | U | 실행 증거 미확인: 동일 tree hosted 최초 시도 통과는 확인되었으나 해당 목적의 대표 결함을 넣어 목표 단언에서 실패한 실제 로그/trace를 이 감사에서 확인하지 못했다. manifest의 과거 prePatchProof 선언이나 expect 존재만으로 P를 부여하지 않았다. 공통 도구의 취소·reload·중도 실패 관련 검증과 이 CASE의 연결도 별도 증거가 필요하다. error-cases/CASE-013-token-refreshed-jwt-storm-session-preservation/case.json:12 · error-cases/CASE-013-token-refreshed-jwt-storm-session-preservation/regression.spec.mjs:134 |
| 10. 자원 정리 | F | 정적 확인: 원래 탭과 fault 탭의 workspace route가 동일 gate를 기다리는데 openAuthenticatedActor(faultPage, expiredSession)가 try보다 앞에 있다. 이 진입 실패 시 finally의 release가 실행되지 않아 소유한 route 보류를 끝까지 정리한다는 보장이 없다. 실제 실패 재현은 수행하지 않았다. error-cases/CASE-013-token-refreshed-jwt-storm-session-preservation/regression.spec.mjs:38 · error-cases/CASE-013-token-refreshed-jwt-storm-session-preservation/regression.spec.mjs:40 · error-cases/CASE-013-token-refreshed-jwt-storm-session-preservation/regression.spec.mjs:45 · error-cases/CASE-013-token-refreshed-jwt-storm-session-preservation/regression.spec.mjs:60 · error-cases/CASE-013-token-refreshed-jwt-storm-session-preservation/regression.spec.mjs:87 · error-cases/CASE-013-token-refreshed-jwt-storm-session-preservation/regression.spec.mjs:96 · error-cases/CASE-013-token-refreshed-jwt-storm-session-preservation/regression.spec.mjs:98 · error-cases/CASE-013-token-refreshed-jwt-storm-session-preservation/regression.spec.mjs:145 |
| 11. CASE 60초 | F | 정적 확인: 공통 CASE timeout 120초를 허용하여 준비+본문의 60초 상한을 강제하지 않는다. 최초 시도가 60초 안에 통과한 사실은 허용 상한 위반을 해소하지 않는다. playwright.config.mjs:34 |
| 12. 동작 대기 10초 | F | 정적 확인: 공통 expect timeout이15초여서 1회10초 상한을 초과한다. playwright.config.mjs:35 |
| 13. 자동 재시도 0 | F | 정적 확인: CI 환경에서 Playwright retries=1이 적용되어 CASE 전체 자동 재시도를 허용한다. 최초 실행 pass여도 재시도0 설정 기준을 충족하지 않는다. playwright.config.mjs:36 |
| 14. 우회·약화 금지 | P | 정적 확인: 개별 spec에 활성 only/fixme 또는 본문 조기 성공·시간 초과 무시를 확인하지 못했다. 준비 환경 부족 skip은 CI에서는 fixture가 먼저 오류를 발생시키므로 필수 CI 생략의 근거로 처리하지 않았다. 11~13의 공통 설정 위반은 별도로 기록했다. error-cases/CASE-013-token-refreshed-jwt-storm-session-preservation/regression.spec.mjs:23 · error-cases/support/fixture.mjs:70 |
| 15. 실패 진단 증거 | U | 증거 범위: 공통 실패 trace/screenshot 및 CASE checkpoint·completion 첨부 경로는 있다. 이 CASE의 첫 실패에서 요청/탭/문서 세대·미완료 작업 식별, 본문/정리 오류 분리, 토큰·사용자 원문 비노출을 모두 확인한 artifact 검증은 수행하지 않았다. playwright.config.mjs:50 · error-cases/CASE-013-token-refreshed-jwt-storm-session-preservation/regression.spec.mjs:194 · error-cases/support/fixture.mjs:402 |
CASE-014
CASE-014 cold app document reads the exact owner snapshot and recovers live
기존 CI 최초 결과: passed, 8.824초. 품질 판정: 부적합. 확인 위반: 10, 11, 12, 13번. 미검증: 3, 4, 9, 15.
| 기준 | 판정 | 근거 |
|---|---|---|
| 1. 목적·범위 | P | 정적 확인: CASE manifest의 입력·행동·기대 결과 및 실행 profile이 실제 UI/인증 RPC/원본 readback checkpoint에 연결되어 있다. fault-injection-full-stack. error-cases/CASE-014-cold-start-snapshot-reading/case.json:12 · error-cases/CASE-014-cold-start-snapshot-reading/regression.spec.mjs:22 |
| 2. 시작 조건·재현성 | P | 정적 확인: 정상 snapshot을 만든 원래 탭을 manifest로 이동시켜 기존 Home이 없어졌음을 확인하고 새 cold 탭을 연다. 공통 fixture가 runToken·시작 ISO시각·서울 sessionDate를 보유하고 동일 tree 실행 SHA/환경은 통합 실행 증거로 식별한다. 임의 id는 데이터 분리에 사용한다. error-cases/CASE-014-cold-start-snapshot-reading/regression.spec.mjs:30 · error-cases/support/fixture.mjs:103 · error-cases/support/fixture.mjs:175 |
| 3. 독립성 | U | 정적 확인: runToken 및 owner/id 범위로 자체 fixture를 준비한다. 다만 허용 profile의 credentialMode는 공용 설정 계정으로도 실행하므로 그 환경의 동시 실행·공용 상태 복원 전체 근거는 이 개별 감사에서 확인하지 못했다. error-cases/support/fixture.mjs:119 · error-cases/support/fixture.mjs:132 · error-cases/CASE-014-cold-start-snapshot-reading/regression.spec.mjs:30 |
| 4. 상태 기반 동기화 | U | 정적 확인: 세 번째 실제 요청 보류와 entered lifecycle를 관측한 뒤 gate를 풀고 exited를 기다린다. 별도로 networkidle/RPC quiet를 reload 또는 종료 gate로 사용한다. 이 대기가 필요한 작업의 완료를 대표하는지와 취소·문서 교체 시 정상 주기 작업과 구별되는지는 개별 spec만으로 확인하지 못했다. 단순 networkidle 문자열 존재만으로 F로 단정하지 않았다. error-cases/CASE-014-cold-start-snapshot-reading/regression.spec.mjs:79 · error-cases/CASE-014-cold-start-snapshot-reading/regression.spec.mjs:30 |
| 5. 독립 기대값 | P | 정적 확인: 정상 최소 snapshot 보존, 동일 Auth 사용자/profile 및 login/error UI 부재를 검사한다. 검사 대상 앱 계산 함수를 다시 호출해 기대값을 만들지 않는다. error-cases/CASE-014-cold-start-snapshot-reading/regression.spec.mjs:96 |
| 6. 상황 실제 발생 | P | 정적 확인: 기존 app 문서 부재와 새 cold 탭 진입, 정확한 2회 503·세 번째 보류 요청을 실제 카운터로 확인한다. 동일 tree hosted 첫 실행 통과는 부모의 통합 실행 증거로 확인되었으며, 대표 결함 탐지 증거와는 구분한다. error-cases/CASE-014-cold-start-snapshot-reading/regression.spec.mjs:38 |
| 7. 경계·금지 부작용 | P | 정적 확인: cold boot 인증 강등 history 부재와 복구 후 새로운 탭의 추가 fault 부재를 검사한다. error-cases/CASE-014-cold-start-snapshot-reading/regression.spec.mjs:97 |
| 8. 필수 단언 완결성 | P | 정적 확인: 개별 checkpoint의 비어 있지 않은 assertion callback과 실제 UI/RPC/원본 조건을 await한 뒤 completeJourney를 호출한다. cold boot 인증 강등 history 부재와 복구 후 새로운 탭의 추가 fault 부재를 검사한다. 허용 오류 및 예상 밖 오류의 마지막 검사는 공통 completion에 연결된다. error-cases/CASE-014-cold-start-snapshot-reading/regression.spec.mjs:97 · error-cases/CASE-014-cold-start-snapshot-reading/regression.spec.mjs:155 · error-cases/support/fixture.mjs:362 |
| 9. 결함 탐지·공통 도구 | U | 실행 증거 미확인: 동일 tree hosted 최초 시도 통과는 확인되었으나 해당 목적의 대표 결함을 넣어 목표 단언에서 실패한 실제 로그/trace를 이 감사에서 확인하지 못했다. manifest의 과거 prePatchProof 선언이나 expect 존재만으로 P를 부여하지 않았다. 공통 도구의 취소·reload·중도 실패 관련 검증과 이 CASE의 연결도 별도 증거가 필요하다. error-cases/CASE-014-cold-start-snapshot-reading/case.json:12 · error-cases/CASE-014-cold-start-snapshot-reading/regression.spec.mjs:96 |
| 10. 자원 정리 | F | 정적 확인: workspace gate 설치 후 openAuthenticatedApp와 workspaceAttempts==3 대기가 try 앞에 있다. cold boot/대기 실패 시 finally의 release가 실행되지 않아 보류 route의 해제·종료를 보장하지 않는다. 실제 실패 재현은 수행하지 않았다. error-cases/CASE-014-cold-start-snapshot-reading/regression.spec.mjs:54 · error-cases/CASE-014-cold-start-snapshot-reading/regression.spec.mjs:74 · error-cases/CASE-014-cold-start-snapshot-reading/regression.spec.mjs:78 · error-cases/CASE-014-cold-start-snapshot-reading/regression.spec.mjs:79 · error-cases/CASE-014-cold-start-snapshot-reading/regression.spec.mjs:83 · error-cases/CASE-014-cold-start-snapshot-reading/regression.spec.mjs:106 · error-cases/CASE-014-cold-start-snapshot-reading/regression.spec.mjs:107 |
| 11. CASE 60초 | F | 정적 확인: 공통 CASE timeout 120초를 허용하여 준비+본문의 60초 상한을 강제하지 않는다. 최초 시도가 60초 안에 통과한 사실은 허용 상한 위반을 해소하지 않는다. playwright.config.mjs:34 |
| 12. 동작 대기 10초 | F | 정적 확인: 공통 expect timeout이15초여서 1회10초 상한을 초과한다. playwright.config.mjs:35 |
| 13. 자동 재시도 0 | F | 정적 확인: CI 환경에서 Playwright retries=1이 적용되어 CASE 전체 자동 재시도를 허용한다. 최초 실행 pass여도 재시도0 설정 기준을 충족하지 않는다. playwright.config.mjs:36 |
| 14. 우회·약화 금지 | P | 정적 확인: 개별 spec에 활성 only/fixme 또는 본문 조기 성공·시간 초과 무시를 확인하지 못했다. 준비 환경 부족 skip은 CI에서는 fixture가 먼저 오류를 발생시키므로 필수 CI 생략의 근거로 처리하지 않았다. 11~13의 공통 설정 위반은 별도로 기록했다. error-cases/CASE-014-cold-start-snapshot-reading/regression.spec.mjs:22 · error-cases/support/fixture.mjs:70 |
| 15. 실패 진단 증거 | U | 증거 범위: 공통 실패 trace/screenshot 및 CASE checkpoint·completion 첨부 경로는 있다. 이 CASE의 첫 실패에서 요청/탭/문서 세대·미완료 작업 식별, 본문/정리 오류 분리, 토큰·사용자 원문 비노출을 모두 확인한 artifact 검증은 수행하지 않았다. playwright.config.mjs:50 · error-cases/CASE-014-cold-start-snapshot-reading/regression.spec.mjs:155 · error-cases/support/fixture.mjs:402 |
CASE-015
CASE-015 initial create and first recovery flush preserve one exact pending mutation
기존 CI 최초 결과: passed, 75.912초. 품질 판정: 부적합. 확인 위반: 8, 10, 11, 12, 13, 14번. 미검증: 3, 4, 9, 15.
| 기준 | 판정 | 근거 |
|---|---|---|
| 1. 목적·범위 | P | 정적 확인: CASE manifest의 입력·행동·기대 결과 및 실행 profile이 실제 UI/인증 RPC/원본 readback checkpoint에 연결되어 있다. fault-injection-full-stack. error-cases/CASE-015-degraded-create-recovery-flush/case.json:12 · error-cases/CASE-015-degraded-create-recovery-flush/regression.spec.mjs:15 |
| 2. 시작 조건·재현성 | P | 정적 확인: 두 recovery gate 및 정확한 첫 저장/첫 flush 503을 등록하고 70kg×5 canonical 운동을 실제 작성한다. 공통 fixture가 runToken·시작 ISO시각·서울 sessionDate를 보유하고 동일 tree 실행 SHA/환경은 통합 실행 증거로 식별한다. 임의 id는 데이터 분리에 사용한다. error-cases/CASE-015-degraded-create-recovery-flush/regression.spec.mjs:38 · error-cases/support/fixture.mjs:103 · error-cases/support/fixture.mjs:175 |
| 3. 독립성 | U | 정적 확인: runToken 및 owner/id 범위로 자체 fixture를 준비한다. 다만 허용 profile의 credentialMode는 공용 설정 계정으로도 실행하므로 그 환경의 동시 실행·공용 상태 복원 전체 근거는 이 개별 감사에서 확인하지 못했다. error-cases/support/fixture.mjs:119 · error-cases/support/fixture.mjs:132 · error-cases/CASE-015-degraded-create-recovery-flush/regression.spec.mjs:38 |
| 4. 상태 기반 동기화 | U | 정적 확인: 각 recovery gate를 명시적으로 해제하고 다음 요청·상태를 실제 카운터로 기다린다. 별도로 networkidle/RPC quiet를 reload 또는 종료 gate로 사용한다. 이 대기가 필요한 작업의 완료를 대표하는지와 취소·문서 교체 시 정상 주기 작업과 구별되는지는 개별 spec만으로 확인하지 못했다. 단순 networkidle 문자열 존재만으로 F로 단정하지 않았다. error-cases/CASE-015-degraded-create-recovery-flush/regression.spec.mjs:131 · error-cases/CASE-015-degraded-create-recovery-flush/regression.spec.mjs:212 |
| 5. 독립 기대값 | P | 정적 확인: owner pending 행 1개와 변하지 않는 mutation identity/hash/body, 최종 서버 기록 1개·70×5가 독립 정답이다. 검사 대상 앱 계산 함수를 다시 호출해 기대값을 만들지 않는다. error-cases/CASE-015-degraded-create-recovery-flush/regression.spec.mjs:108 |
| 6. 상황 실제 발생 | P | 정적 확인: 첫 held cycle·503, 두 번째 held cycle·두 번째 503 및 세 번째 실저장 요청을 카운터와 lifecycle로 검사한다. 동일 tree hosted 첫 실행 통과는 부모의 통합 실행 증거로 확인되었으며, 대표 결함 탐지 증거와는 구분한다. error-cases/CASE-015-degraded-create-recovery-flush/regression.spec.mjs:99 |
| 7. 경계·금지 부작용 | P | 정적 확인: 재실패 후 claim fence 변화와 body/identity 보존, 최종 단일 서버 기록·pending 삭제 및 reload 중복 부재를 검사한다. error-cases/CASE-015-degraded-create-recovery-flush/regression.spec.mjs:150 |
| 8. 필수 단언 완결성 | F | 정적 확인: c.completeJourney가 완료 증거를 생성한 다음에야 최종 createAttempts==3과 workspaceAttempts==2를 단언한다. 후속 단언 실패가 테스트 자체를 통과시키지는 않지만 필수 단언 성공 이후에만 완료 증거를 남긴다는 순서를 위반한다. error-cases/CASE-015-degraded-create-recovery-flush/case.json:12 · error-cases/CASE-015-degraded-create-recovery-flush/regression.spec.mjs:235 · error-cases/CASE-015-degraded-create-recovery-flush/regression.spec.mjs:236 · error-cases/CASE-015-degraded-create-recovery-flush/regression.spec.mjs:237 · error-cases/support/fixture.mjs:402 |
| 9. 결함 탐지·공통 도구 | U | 실행 증거 미확인: 동일 tree hosted 최초 시도 통과는 확인되었으나 해당 목적의 대표 결함을 넣어 목표 단언에서 실패한 실제 로그/trace를 이 감사에서 확인하지 못했다. manifest의 과거 prePatchProof 선언이나 expect 존재만으로 P를 부여하지 않았다. 공통 도구의 취소·reload·중도 실패 관련 검증과 이 CASE의 연결도 별도 증거가 필요하다. error-cases/CASE-015-degraded-create-recovery-flush/case.json:12 · error-cases/CASE-015-degraded-create-recovery-flush/regression.spec.mjs:108 |
| 10. 자원 정리 | F | 정적 확인: recovery gate들을 설치·활성화한 뒤 createCanonicalWorkout과 pending UI 검사가 try 앞에 있다. 이 setup 실패 시 두 gate를 release하는 finally가 실행되지 않으며 소유 보류 응답 종료를 보장하지 않는다. 실제 실패 재현은 수행하지 않았다. error-cases/CASE-015-degraded-create-recovery-flush/regression.spec.mjs:38 · error-cases/CASE-015-degraded-create-recovery-flush/regression.spec.mjs:39 · error-cases/CASE-015-degraded-create-recovery-flush/regression.spec.mjs:83 · error-cases/CASE-015-degraded-create-recovery-flush/regression.spec.mjs:84 · error-cases/CASE-015-degraded-create-recovery-flush/regression.spec.mjs:87 · error-cases/CASE-015-degraded-create-recovery-flush/regression.spec.mjs:92 · error-cases/CASE-015-degraded-create-recovery-flush/regression.spec.mjs:239 · error-cases/CASE-015-degraded-create-recovery-flush/regression.spec.mjs:240 · error-cases/CASE-015-degraded-create-recovery-flush/regression.spec.mjs:241 |
| 11. CASE 60초 | F | 정적 확인: 이 CASE에 적용되는 timeout이 60초를 초과하도록 설정되어 있다. 동일 tree의 CI 최초 시도에서 리포터가 기록한 총시간은 75.912초다. 총시간에서 별도 정리 시간이 분리되지 않았으므로 이 수치만으로 개별 준비·본문의 60초 초과를 단정하지 않는다. 부적합의 확정 근거는 제한 설정이다. playwright.config.mjs:34 · error-cases/CASE-015-degraded-create-recovery-flush/regression.spec.mjs:19 |
| 12. 동작 대기 10초 | F | 정적 확인: 공통 expect timeout이15초여서 1회10초 상한을 초과한다. 또한 개별 조건 대기에 90초 override를 사용한다. playwright.config.mjs:35 · error-cases/CASE-015-degraded-create-recovery-flush/regression.spec.mjs:138 |
| 13. 자동 재시도 0 | F | 정적 확인: CI 환경에서 Playwright retries=1이 적용되어 CASE 전체 자동 재시도를 허용한다. 최초 실행 pass여도 재시도0 설정 기준을 충족하지 않는다. playwright.config.mjs:36 |
| 14. 우회·약화 금지 | F | 정적 확인: 개별 test.setTimeout(180000)은 공통120초보다도 timeout을 상향한다. 기준14의 timeout 상향 금지 위반이며 실제 실패를 숨기려는 의도까지 단정하지 않는다. error-cases/CASE-015-degraded-create-recovery-flush/regression.spec.mjs:19 |
| 15. 실패 진단 증거 | U | 증거 범위: 공통 실패 trace/screenshot 및 CASE checkpoint·completion 첨부 경로는 있다. 이 CASE의 첫 실패에서 요청/탭/문서 세대·미완료 작업 식별, 본문/정리 오류 분리, 토큰·사용자 원문 비노출을 모두 확인한 artifact 검증은 수행하지 않았다. playwright.config.mjs:50 · error-cases/CASE-015-degraded-create-recovery-flush/regression.spec.mjs:233 · error-cases/support/fixture.mjs:402 |
CASE-016
CASE-016 desktop plan create save keeps the journal alive and Home reloads with the plan
기존 CI 최초 결과: passed, 16.362초. 품질 판정: 부적합. 확인 위반: 7, 11, 12, 13번. 미검증: 3, 4, 9, 10, 15.
| 기준 | 판정 | 근거 |
|---|---|---|
| 1. 목적·범위 | P | 정적 확인: CASE manifest의 입력·행동·기대 결과 및 실행 profile이 실제 UI/인증 RPC/원본 readback checkpoint에 연결되어 있다. standard-full-stack. error-cases/CASE-016-desktop-plan-create-save-crash-home-lockout/case.json:13 · error-cases/CASE-016-desktop-plan-create-save-crash-home-lockout/regression.spec.mjs:111 |
| 2. 시작 조건·재현성 | P | 정적 확인: 중량/횟수 종목 3개 존재를 확인하고 60×5/70×3·40×8·20×10 및 고유 계획 제목·자유 기록을 준비한다. 공통 fixture가 runToken·시작 ISO시각·서울 sessionDate를 보유하고 동일 tree 실행 SHA/환경은 통합 실행 증거로 식별한다. 임의 id는 데이터 분리에 사용한다. error-cases/CASE-016-desktop-plan-create-save-crash-home-lockout/regression.spec.mjs:16 · error-cases/support/fixture.mjs:103 · error-cases/support/fixture.mjs:175 |
| 3. 독립성 | U | 정적 확인: runToken 및 owner/id 범위로 자체 fixture를 준비한다. 다만 허용 profile의 credentialMode는 공용 설정 계정으로도 실행하므로 그 환경의 동시 실행·공용 상태 복원 전체 근거는 이 개별 감사에서 확인하지 못했다. error-cases/support/fixture.mjs:119 · error-cases/support/fixture.mjs:132 · error-cases/CASE-016-desktop-plan-create-save-crash-home-lockout/regression.spec.mjs:16 |
| 4. 상태 기반 동기화 | U | 정적 확인: 서버 planned 기록 및 editor/scrim 닫힘, 달력 상호작용을 확인한 뒤 reload에 진입한다. 별도로 networkidle/RPC quiet를 reload 또는 종료 gate로 사용한다. 이 대기가 필요한 작업의 완료를 대표하는지와 취소·문서 교체 시 정상 주기 작업과 구별되는지는 개별 spec만으로 확인하지 못했다. 단순 networkidle 문자열 존재만으로 F로 단정하지 않았다. error-cases/CASE-016-desktop-plan-create-save-crash-home-lockout/regression.spec.mjs:195 · error-cases/CASE-016-desktop-plan-create-save-crash-home-lockout/regression.spec.mjs:223 |
| 5. 독립 기대값 | P | 정적 확인: 서버 detail과 원본 planned rows를 고정 세트 입력에 대조하고 편집 후 65kg·동일 부모 id·revision 증가를 검사한다. 검사 대상 앱 계산 함수를 다시 호출해 기대값을 만들지 않는다. error-cases/CASE-016-desktop-plan-create-save-crash-home-lockout/regression.spec.mjs:252 |
| 6. 상황 실제 발생 | P | 정적 확인: 실제 계획 편집기로 3개 종목과 자유 기록을 작성해 저장하고 editor 닫힘 및 계획 카드 표시를 관측한다. 동일 tree hosted 첫 실행 통과는 부모의 통합 실행 증거로 확인되었으며, 대표 결함 탐지 증거와는 구분한다. error-cases/CASE-016-desktop-plan-create-save-crash-home-lockout/regression.spec.mjs:147 |
| 7. 경계·금지 부작용 | F | 정적 확인: 자유 기록 D가 그대로 돌아온다는 목적이며 noteBody를 실제 입력하지만 noteBody는 입력 외에 한 번도 단언되지 않는다. 원본 조회도 entry_title만 읽고 detail/reload도 자유 기록 제목만 확인하므로 본문 유실을 거절하지 못한다. error-cases/CASE-016-desktop-plan-create-save-crash-home-lockout/case.json:13 · error-cases/CASE-016-desktop-plan-create-save-crash-home-lockout/regression.spec.mjs:119 · error-cases/CASE-016-desktop-plan-create-save-crash-home-lockout/regression.spec.mjs:179 · error-cases/CASE-016-desktop-plan-create-save-crash-home-lockout/regression.spec.mjs:276 · error-cases/CASE-016-desktop-plan-create-save-crash-home-lockout/regression.spec.mjs:288 · error-cases/CASE-016-desktop-plan-create-save-crash-home-lockout/regression.spec.mjs:383 |
| 8. 필수 단언 완결성 | P | 정적 확인: 개별 checkpoint의 비어 있지 않은 assertion callback과 실제 UI/RPC/원본 조건을 await한 뒤 completeJourney를 호출한다. 편집 후 동일 plan id/status/date/source, 이전 자식 id 소멸·새 자식 위치/입력 및 reload 홈/일지 복구를 검사한다. 허용 오류 및 예상 밖 오류의 마지막 검사는 공통 completion에 연결된다. error-cases/CASE-016-desktop-plan-create-save-crash-home-lockout/regression.spec.mjs:349 · error-cases/CASE-016-desktop-plan-create-save-crash-home-lockout/regression.spec.mjs:390 · error-cases/support/fixture.mjs:362 |
| 9. 결함 탐지·공통 도구 | U | 실행 증거 미확인: 동일 tree hosted 최초 시도 통과는 확인되었으나 해당 목적의 대표 결함을 넣어 목표 단언에서 실패한 실제 로그/trace를 이 감사에서 확인하지 못했다. manifest의 과거 prePatchProof 선언이나 expect 존재만으로 P를 부여하지 않았다. 공통 도구의 취소·reload·중도 실패 관련 검증과 이 CASE의 연결도 별도 증거가 필요하다. error-cases/CASE-016-desktop-plan-create-save-crash-home-lockout/case.json:70 · error-cases/CASE-016-desktop-plan-create-save-crash-home-lockout/regression.spec.mjs:252 |
| 10. 자원 정리 | U | 정적 확인: c.completeJourney의 정리 readback 및 공통 fixture finally는 존재한다. 그러나 이 CASE가 소유한 모든 요청·listener·탭·가로챈 응답의 종료와 setup/중도 실패/취소 정리 결과를 확인한 실행 증거는 없다. finally 존재만으로 전체 lifecycle 보장을 P 처리하지 않았다. error-cases/CASE-016-desktop-plan-create-save-crash-home-lockout/regression.spec.mjs:390 · error-cases/support/fixture.mjs:396 · error-cases/support/fixture.mjs:544 |
| 11. CASE 60초 | F | 정적 확인: 공통 CASE timeout 120초를 허용하여 준비+본문의 60초 상한을 강제하지 않는다. 최초 시도가 60초 안에 통과한 사실은 허용 상한 위반을 해소하지 않는다. playwright.config.mjs:34 |
| 12. 동작 대기 10초 | F | 정적 확인: 공통 expect timeout이15초여서 1회10초 상한을 초과한다. playwright.config.mjs:35 |
| 13. 자동 재시도 0 | F | 정적 확인: CI 환경에서 Playwright retries=1이 적용되어 CASE 전체 자동 재시도를 허용한다. 최초 실행 pass여도 재시도0 설정 기준을 충족하지 않는다. playwright.config.mjs:36 |
| 14. 우회·약화 금지 | P | 정적 확인: 개별 spec에 활성 only/fixme 또는 본문 조기 성공·시간 초과 무시를 확인하지 못했다. 준비 환경 부족 skip은 CI에서는 fixture가 먼저 오류를 발생시키므로 필수 CI 생략의 근거로 처리하지 않았다. 11~13의 공통 설정 위반은 별도로 기록했다. error-cases/CASE-016-desktop-plan-create-save-crash-home-lockout/regression.spec.mjs:111 · error-cases/support/fixture.mjs:70 |
| 15. 실패 진단 증거 | U | 증거 범위: 공통 실패 trace/screenshot 및 CASE checkpoint·completion 첨부 경로는 있다. 이 CASE의 첫 실패에서 요청/탭/문서 세대·미완료 작업 식별, 본문/정리 오류 분리, 토큰·사용자 원문 비노출을 모두 확인한 artifact 검증은 수행하지 않았다. playwright.config.mjs:50 · error-cases/CASE-016-desktop-plan-create-save-crash-home-lockout/regression.spec.mjs:390 · error-cases/support/fixture.mjs:402 |
CASE-017
CASE-017 the in-app account deletion erases the caller and only the caller
기존 CI 최초 결과: passed, 11.514초. 품질 판정: 부적합. 확인 위반: 11, 12, 13번. 미검증: 4, 9, 10, 15.
| 기준 | 판정 | 근거 |
|---|---|---|
| 1. 목적·범위 | P | 정적 확인: CASE manifest의 입력·행동·기대 결과 및 실행 profile이 실제 UI/인증 RPC/원본 readback checkpoint에 연결되어 있다. local-auth-admin-full-stack. error-cases/CASE-017-account-deletion-round-trip/case.json:12 · error-cases/CASE-017-account-deletion-round-trip/regression.spec.mjs:27 |
| 2. 시작 조건·재현성 | P | 정적 확인: 삭제 대상의 3개 storage bucket 파일과 control 파일·별도 기록을 만들고 존재를 확인한다. 공통 fixture가 runToken·시작 ISO시각·서울 sessionDate를 보유하고 동일 tree 실행 SHA/환경은 통합 실행 증거로 식별한다. 임의 id는 데이터 분리에 사용한다. error-cases/CASE-017-account-deletion-round-trip/regression.spec.mjs:61 · error-cases/support/fixture.mjs:103 · error-cases/support/fixture.mjs:175 |
| 3. 독립성 | P | 정적 확인: local-auth-admin profile에서 신규 primary/필요시 disposable actor를 사용하며 CASE 자신의 owner/id와 고유 실행 제목을 대상으로 준비·조회한다. 다른 CASE 선행 결과를 입력으로 삼지 않는다. 자원 수명 전체의 성공·실패 보장은 10번에서 별도 판정한다. error-cases/CASE-017-account-deletion-round-trip/case.json:9 · error-cases/support/fixture.mjs:132 · error-cases/CASE-017-account-deletion-round-trip/regression.spec.mjs:61 |
| 4. 상태 기반 동기화 | U | 정적 확인: 삭제 후 login 표시·API 상태·SQL/storage readback을 확인하고 control 새 탭에 재진입한다. 별도로 networkidle/RPC quiet를 reload 또는 종료 gate로 사용한다. 이 대기가 필요한 작업의 완료를 대표하는지와 취소·문서 교체 시 정상 주기 작업과 구별되는지는 개별 spec만으로 확인하지 못했다. 단순 networkidle 문자열 존재만으로 F로 단정하지 않았다. error-cases/CASE-017-account-deletion-round-trip/regression.spec.mjs:132 · error-cases/CASE-017-account-deletion-round-trip/regression.spec.mjs:218 |
| 5. 독립 기대값 | P | 정적 확인: 삭제 대상 원본·인증·세 storage prefix 부재와 control 기록/파일 존속을 독립 정답으로 검사한다. 검사 대상 앱 계산 함수를 다시 호출해 기대값을 만들지 않는다. error-cases/CASE-017-account-deletion-round-trip/regression.spec.mjs:168 |
| 6. 상황 실제 발생 | P | 정적 확인: 실제 잘못된 확인 요청의 400, UI 확인문구를 통한 삭제, 이전 token 재호출의 410을 관측한다. 동일 tree hosted 첫 실행 통과는 부모의 통합 실행 증거로 확인되었으며, 대표 결함 탐지 증거와는 구분한다. error-cases/CASE-017-account-deletion-round-trip/regression.spec.mjs:109 |
| 7. 경계·금지 부작용 | P | 정적 확인: 확인문구 전 삭제 비활성, 재호출 거절, 모든 대상 저장소 비움과 다른 계정의 데이터·파일·UI 보존을 검사한다. error-cases/CASE-017-account-deletion-round-trip/regression.spec.mjs:127 |
| 8. 필수 단언 완결성 | P | 정적 확인: 개별 checkpoint의 비어 있지 않은 assertion callback과 실제 UI/RPC/원본 조건을 await한 뒤 completeJourney를 호출한다. 확인문구 전 삭제 비활성, 재호출 거절, 모든 대상 저장소 비움과 다른 계정의 데이터·파일·UI 보존을 검사한다. 허용 오류 및 예상 밖 오류의 마지막 검사는 공통 completion에 연결된다. error-cases/CASE-017-account-deletion-round-trip/regression.spec.mjs:127 · error-cases/CASE-017-account-deletion-round-trip/regression.spec.mjs:227 · error-cases/support/fixture.mjs:362 |
| 9. 결함 탐지·공통 도구 | U | 실행 증거 미확인: 동일 tree hosted 최초 시도 통과는 확인되었으나 해당 목적의 대표 결함을 넣어 목표 단언에서 실패한 실제 로그/trace를 이 감사에서 확인하지 못했다. manifest의 과거 prePatchProof 선언이나 expect 존재만으로 P를 부여하지 않았다. 공통 도구의 취소·reload·중도 실패 관련 검증과 이 CASE의 연결도 별도 증거가 필요하다. error-cases/CASE-017-account-deletion-round-trip/case.json:12 · error-cases/CASE-017-account-deletion-round-trip/regression.spec.mjs:168 |
| 10. 자원 정리 | U | 정적 확인: 성공 경로에서 세 storage bucket 대상 파일 소멸과 control 파일 존속은 확인한다. 파일 생성 이후 중도 실패의 storage 정리 결과와 control 파일 사후 정리, 모든 탭/요청 종료를 별도로 확인한 증거는 없다. 공통 auth 삭제 finally만으로 storage 및 비동기 수명 전체를 P 처리하지 않았다. error-cases/CASE-017-account-deletion-round-trip/regression.spec.mjs:61 · error-cases/CASE-017-account-deletion-round-trip/regression.spec.mjs:178 · error-cases/CASE-017-account-deletion-round-trip/regression.spec.mjs:188 · error-cases/CASE-017-account-deletion-round-trip/regression.spec.mjs:228 · error-cases/support/fixture.mjs:544 |
| 11. CASE 60초 | F | 정적 확인: 공통 CASE timeout 120초를 허용하여 준비+본문의 60초 상한을 강제하지 않는다. 최초 시도가 60초 안에 통과한 사실은 허용 상한 위반을 해소하지 않는다. playwright.config.mjs:34 |
| 12. 동작 대기 10초 | F | 정적 확인: 공통 expect timeout이15초여서 1회10초 상한을 초과한다. playwright.config.mjs:35 |
| 13. 자동 재시도 0 | F | 정적 확인: CI 환경에서 Playwright retries=1이 적용되어 CASE 전체 자동 재시도를 허용한다. 최초 실행 pass여도 재시도0 설정 기준을 충족하지 않는다. playwright.config.mjs:36 |
| 14. 우회·약화 금지 | P | 정적 확인: 개별 spec에 활성 only/fixme 또는 본문 조기 성공·시간 초과 무시를 확인하지 못했다. 준비 환경 부족 skip은 CI에서는 fixture가 먼저 오류를 발생시키므로 필수 CI 생략의 근거로 처리하지 않았다. 11~13의 공통 설정 위반은 별도로 기록했다. error-cases/CASE-017-account-deletion-round-trip/regression.spec.mjs:27 · error-cases/support/fixture.mjs:70 |
| 15. 실패 진단 증거 | U | 증거 범위: 공통 실패 trace/screenshot 및 CASE checkpoint·completion 첨부 경로는 있다. 이 CASE의 첫 실패에서 요청/탭/문서 세대·미완료 작업 식별, 본문/정리 오류 분리, 토큰·사용자 원문 비노출을 모두 확인한 artifact 검증은 수행하지 않았다. playwright.config.mjs:50 · error-cases/CASE-017-account-deletion-round-trip/regression.spec.mjs:227 · error-cases/support/fixture.mjs:402 |
CASE-018
CASE-018 reporting and blocking clear the feed and drive the admin moderation round trip
기존 CI 최초 결과: passed, 7.820초. 품질 판정: 부적합. 확인 위반: 7, 10, 11, 12, 13번. 미검증: 4, 9, 15.
| 기준 | 판정 | 근거 |
|---|---|---|
| 1. 목적·범위 | P | 정적 확인: CASE manifest의 입력·행동·기대 결과 및 실행 profile이 실제 UI/인증 RPC/원본 readback checkpoint에 연결되어 있다. local-auth-admin-full-stack. error-cases/CASE-018-ugc-report-block-round-trip/case.json:12 · error-cases/CASE-018-ugc-report-block-round-trip/regression.spec.mjs:16 |
| 2. 시작 조건·재현성 | P | 정적 확인: friend/admin 별도 계정, friend 포스트 2개, c→friend 팔로우 및 관리자 registry 행을 준비한다. 공통 fixture가 runToken·시작 ISO시각·서울 sessionDate를 보유하고 동일 tree 실행 SHA/환경은 통합 실행 증거로 식별한다. 임의 id는 데이터 분리에 사용한다. error-cases/CASE-018-ugc-report-block-round-trip/regression.spec.mjs:22 · error-cases/support/fixture.mjs:103 · error-cases/support/fixture.mjs:175 |
| 3. 독립성 | P | 정적 확인: local-auth-admin profile에서 신규 primary/필요시 disposable actor를 사용하며 CASE 자신의 owner/id와 고유 실행 제목을 대상으로 준비·조회한다. 다른 CASE 선행 결과를 입력으로 삼지 않는다. 자원 수명 전체의 성공·실패 보장은 10번에서 별도 판정한다. error-cases/CASE-018-ugc-report-block-round-trip/case.json:9 · error-cases/support/fixture.mjs:132 · error-cases/CASE-018-ugc-report-block-round-trip/regression.spec.mjs:22 |
| 4. 상태 기반 동기화 | U | 정적 확인: 신고 후 첫 포스트 소멸/다른 포스트 존속을 확인하고 차단 뒤 모든 해당 포스트 소멸과 서버 조치를 검사한다. 별도로 networkidle/RPC quiet를 reload 또는 종료 gate로 사용한다. 이 대기가 필요한 작업의 완료를 대표하는지와 취소·문서 교체 시 정상 주기 작업과 구별되는지는 개별 spec만으로 확인하지 못했다. 단순 networkidle 문자열 존재만으로 F로 단정하지 않았다. error-cases/CASE-018-ugc-report-block-round-trip/regression.spec.mjs:93 · error-cases/CASE-018-ugc-report-block-round-trip/regression.spec.mjs:149 |
| 5. 독립 기대값 | P | 정적 확인: 신고 한 행과 pending 상태·대상, block 한 행·정확한 권한 오류 코드를 고정 기대값으로 검사한다. 검사 대상 앱 계산 함수를 다시 호출해 기대값을 만들지 않는다. error-cases/CASE-018-ugc-report-block-round-trip/regression.spec.mjs:103 |
| 6. 상황 실제 발생 | P | 정적 확인: 실제 신고 reason gate와 제출·차단 UI를 실행하고 DB 신고/차단, 관리자 RPC 조치 및 42501/22023를 관측한다. 동일 tree hosted 첫 실행 통과는 부모의 통합 실행 증거로 확인되었으며, 대표 결함 탐지 증거와는 구분한다. error-cases/CASE-018-ugc-report-block-round-trip/regression.spec.mjs:82 |
| 7. 경계·금지 부작용 | F | 정적 확인: 양방향 follow를 한 번에 제거한다는 checkpoint인데 준비는 c→friend 한 방향뿐이다. reverse follow가 원래 없으므로 reverse 삭제를 하지 않는 구현도 양방향 조회 [] 단언을 통과한다. 또한 remove_content 후 원본 불변은 행 존재만 확인하며 읽어온 title의 보존을 단언하지 않는다. error-cases/CASE-018-ugc-report-block-round-trip/case.json:12 · error-cases/CASE-018-ugc-report-block-round-trip/regression.spec.mjs:42 · error-cases/CASE-018-ugc-report-block-round-trip/regression.spec.mjs:112 · error-cases/CASE-018-ugc-report-block-round-trip/regression.spec.mjs:140 · error-cases/CASE-018-ugc-report-block-round-trip/regression.spec.mjs:145 · error-cases/CASE-018-ugc-report-block-round-trip/regression.spec.mjs:186 · error-cases/CASE-018-ugc-report-block-round-trip/regression.spec.mjs:193 |
| 8. 필수 단언 완결성 | P | 정적 확인: 개별 checkpoint의 비어 있지 않은 assertion callback과 실제 UI/RPC/원본 조건을 await한 뒤 completeJourney를 호출한다. 양방향 follow 삭제와 원본 보존을 선언하나 현재 seed/단언에 누락이 있다. 허용 오류 및 예상 밖 오류의 마지막 검사는 공통 completion에 연결된다. error-cases/CASE-018-ugc-report-block-round-trip/regression.spec.mjs:140 · error-cases/CASE-018-ugc-report-block-round-trip/regression.spec.mjs:258 · error-cases/support/fixture.mjs:362 |
| 9. 결함 탐지·공통 도구 | U | 실행 증거 미확인: 동일 tree hosted 최초 시도 통과는 확인되었으나 해당 목적의 대표 결함을 넣어 목표 단언에서 실패한 실제 로그/trace를 이 감사에서 확인하지 못했다. manifest의 과거 prePatchProof 선언이나 expect 존재만으로 P를 부여하지 않았다. 공통 도구의 취소·reload·중도 실패 관련 검증과 이 CASE의 연결도 별도 증거가 필요하다. error-cases/CASE-018-ugc-report-block-round-trip/case.json:12 · error-cases/CASE-018-ugc-report-block-round-trip/regression.spec.mjs:103 |
| 10. 자원 정리 | F | 정적 확인: 계정 CASCADE 밖인 content_takedowns와 lift_guild_admins의 삭제가 성공 시 completeJourney의 beforeCleanup에만 있다. 해당 데이터를 만든 뒤 중도 실패하면 이 callback은 호출되지 않고 공통 fixture에도 두 테이블 삭제가 없어 실패 경로에 잔여 행을 남긴다. 실제 중도 실패 주입은 수행하지 않았다. error-cases/CASE-018-ugc-report-block-round-trip/regression.spec.mjs:45 · error-cases/CASE-018-ugc-report-block-round-trip/regression.spec.mjs:170 · error-cases/CASE-018-ugc-report-block-round-trip/regression.spec.mjs:260 · error-cases/CASE-018-ugc-report-block-round-trip/regression.spec.mjs:268 · error-cases/CASE-018-ugc-report-block-round-trip/regression.spec.mjs:269 · error-cases/CASE-018-ugc-report-block-round-trip/regression.spec.mjs:275 · error-cases/support/fixture.mjs:544 |
| 11. CASE 60초 | F | 정적 확인: 공통 CASE timeout 120초를 허용하여 준비+본문의 60초 상한을 강제하지 않는다. 최초 시도가 60초 안에 통과한 사실은 허용 상한 위반을 해소하지 않는다. playwright.config.mjs:34 |
| 12. 동작 대기 10초 | F | 정적 확인: 공통 expect timeout이15초여서 1회10초 상한을 초과한다. playwright.config.mjs:35 |
| 13. 자동 재시도 0 | F | 정적 확인: CI 환경에서 Playwright retries=1이 적용되어 CASE 전체 자동 재시도를 허용한다. 최초 실행 pass여도 재시도0 설정 기준을 충족하지 않는다. playwright.config.mjs:36 |
| 14. 우회·약화 금지 | P | 정적 확인: 개별 spec에 활성 only/fixme 또는 본문 조기 성공·시간 초과 무시를 확인하지 못했다. 준비 환경 부족 skip은 CI에서는 fixture가 먼저 오류를 발생시키므로 필수 CI 생략의 근거로 처리하지 않았다. 11~13의 공통 설정 위반은 별도로 기록했다. error-cases/CASE-018-ugc-report-block-round-trip/regression.spec.mjs:16 · error-cases/support/fixture.mjs:70 |
| 15. 실패 진단 증거 | U | 증거 범위: 공통 실패 trace/screenshot 및 CASE checkpoint·completion 첨부 경로는 있다. 이 CASE의 첫 실패에서 요청/탭/문서 세대·미완료 작업 식별, 본문/정리 오류 분리, 토큰·사용자 원문 비노출을 모두 확인한 artifact 검증은 수행하지 않았다. playwright.config.mjs:50 · error-cases/CASE-018-ugc-report-block-round-trip/regression.spec.mjs:258 · error-cases/support/fixture.mjs:402 |
CASE-019
CASE-019 percent input survives the board round trip as % and the session prefill converts it with the starter's own 1RM
기존 CI 최초 결과: passed, 11.868초. 품질 판정: 부적합. 확인 위반: 11, 12, 13번. 미검증: 4, 9, 10, 15.
| 기준 | 판정 | 근거 |
|---|---|---|
| 1. 목적·범위 | P | 정적 확인: CASE manifest의 입력·행동·기대 결과 및 실행 profile이 실제 UI/인증 RPC/원본 readback checkpoint에 연결되어 있다. local-auth-admin-full-stack. error-cases/CASE-019-group-board-percent-round-trip/case.json:12 · error-cases/CASE-019-group-board-percent-round-trip/regression.spec.mjs:33 |
| 2. 시작 조건·재현성 | P | 정적 확인: 고유 group과 사용자 200kg 1RM을 UTC 어제로 입력하고 실제 PR 상태 200을 확인한다. 공통 fixture가 runToken·시작 ISO시각·서울 sessionDate를 보유하고 동일 tree 실행 SHA/환경은 통합 실행 증거로 식별한다. 임의 id는 데이터 분리에 사용한다. error-cases/CASE-019-group-board-percent-round-trip/regression.spec.mjs:39 · error-cases/support/fixture.mjs:103 · error-cases/support/fixture.mjs:175 |
| 3. 독립성 | P | 정적 확인: local-auth-admin profile에서 신규 primary/필요시 disposable actor를 사용하며 CASE 자신의 owner/id와 고유 실행 제목을 대상으로 준비·조회한다. 다른 CASE 선행 결과를 입력으로 삼지 않는다. 자원 수명 전체의 성공·실패 보장은 10번에서 별도 판정한다. error-cases/CASE-019-group-board-percent-round-trip/case.json:9 · error-cases/support/fixture.mjs:132 · error-cases/CASE-019-group-board-percent-round-trip/regression.spec.mjs:39 |
| 4. 상태 기반 동기화 | U | 정적 확인: PR 상태 200 도달 후 percent 입력을 하고 서버 저장 및 UI 재진입 상태를 확인한다. 별도로 networkidle/RPC quiet를 reload 또는 종료 gate로 사용한다. 이 대기가 필요한 작업의 완료를 대표하는지와 취소·문서 교체 시 정상 주기 작업과 구별되는지는 개별 spec만으로 확인하지 못했다. 단순 networkidle 문자열 존재만으로 F로 단정하지 않았다. error-cases/CASE-019-group-board-percent-round-trip/regression.spec.mjs:66 · error-cases/CASE-019-group-board-percent-round-trip/regression.spec.mjs:226 |
| 5. 독립 기대값 | P | 정적 확인: 회원 1RM 200에 70%=140, coach의 73%를 5kg 반올림하면145라는 독립 기대값을 사용한다. 검사 대상 앱 계산 함수를 다시 호출해 기대값을 만들지 않는다. error-cases/CASE-019-group-board-percent-round-trip/regression.spec.mjs:127 |
| 6. 상황 실제 발생 | P | 정적 확인: 실제 percent 편집과 summary 70%, coach 처방 73%를 회원이 시작한 live workout에 적용한다. 동일 tree hosted 첫 실행 통과는 부모의 통합 실행 증거로 확인되었으며, 대표 결함 탐지 증거와는 구분한다. error-cases/CASE-019-group-board-percent-round-trip/regression.spec.mjs:111 |
| 7. 경계·금지 부작용 | P | 정적 확인: coach의 별도 load=999 sentinel이 회원 입력에 누출되지 않고 회원 1RM 기준145가 사용되며 percent 단위가 reload/재편집 후 유지되는지 검사한다. error-cases/CASE-019-group-board-percent-round-trip/regression.spec.mjs:185 |
| 8. 필수 단언 완결성 | P | 정적 확인: 개별 checkpoint의 비어 있지 않은 assertion callback과 실제 UI/RPC/원본 조건을 await한 뒤 completeJourney를 호출한다. coach의 별도 load=999 sentinel이 회원 입력에 누출되지 않고 회원 1RM 기준145가 사용되며 percent 단위가 reload/재편집 후 유지되는지 검사한다. 허용 오류 및 예상 밖 오류의 마지막 검사는 공통 completion에 연결된다. error-cases/CASE-019-group-board-percent-round-trip/regression.spec.mjs:185 · error-cases/CASE-019-group-board-percent-round-trip/regression.spec.mjs:225 · error-cases/support/fixture.mjs:362 |
| 9. 결함 탐지·공통 도구 | U | 실행 증거 미확인: 동일 tree hosted 최초 시도 통과는 확인되었으나 해당 목적의 대표 결함을 넣어 목표 단언에서 실패한 실제 로그/trace를 이 감사에서 확인하지 못했다. manifest의 과거 prePatchProof 선언이나 expect 존재만으로 P를 부여하지 않았다. 공통 도구의 취소·reload·중도 실패 관련 검증과 이 CASE의 연결도 별도 증거가 필요하다. error-cases/CASE-019-group-board-percent-round-trip/case.json:12 · error-cases/CASE-019-group-board-percent-round-trip/regression.spec.mjs:127 |
| 10. 자원 정리 | U | 정적 확인: c.completeJourney의 정리 readback 및 공통 fixture finally는 존재한다. 그러나 이 CASE가 소유한 모든 요청·listener·탭·가로챈 응답의 종료와 setup/중도 실패/취소 정리 결과를 확인한 실행 증거는 없다. finally 존재만으로 전체 lifecycle 보장을 P 처리하지 않았다. error-cases/CASE-019-group-board-percent-round-trip/regression.spec.mjs:225 · error-cases/support/fixture.mjs:396 · error-cases/support/fixture.mjs:544 |
| 11. CASE 60초 | F | 정적 확인: 공통 CASE timeout 120초를 허용하여 준비+본문의 60초 상한을 강제하지 않는다. 최초 시도가 60초 안에 통과한 사실은 허용 상한 위반을 해소하지 않는다. playwright.config.mjs:34 |
| 12. 동작 대기 10초 | F | 정적 확인: 공통 expect timeout이15초여서 1회10초 상한을 초과한다. playwright.config.mjs:35 |
| 13. 자동 재시도 0 | F | 정적 확인: CI 환경에서 Playwright retries=1이 적용되어 CASE 전체 자동 재시도를 허용한다. 최초 실행 pass여도 재시도0 설정 기준을 충족하지 않는다. playwright.config.mjs:36 |
| 14. 우회·약화 금지 | P | 정적 확인: 개별 spec에 활성 only/fixme 또는 본문 조기 성공·시간 초과 무시를 확인하지 못했다. 준비 환경 부족 skip은 CI에서는 fixture가 먼저 오류를 발생시키므로 필수 CI 생략의 근거로 처리하지 않았다. 11~13의 공통 설정 위반은 별도로 기록했다. error-cases/CASE-019-group-board-percent-round-trip/regression.spec.mjs:33 · error-cases/support/fixture.mjs:70 |
| 15. 실패 진단 증거 | U | 증거 범위: 공통 실패 trace/screenshot 및 CASE checkpoint·completion 첨부 경로는 있다. 이 CASE의 첫 실패에서 요청/탭/문서 세대·미완료 작업 식별, 본문/정리 오류 분리, 토큰·사용자 원문 비노출을 모두 확인한 artifact 검증은 수행하지 않았다. playwright.config.mjs:50 · error-cases/CASE-019-group-board-percent-round-trip/regression.spec.mjs:225 · error-cases/support/fixture.mjs:402 |
CASE-020
CASE-020 a composite exercise survives the board round trip with its per-movement parts and prefills the live session
기존 CI 최초 결과: passed, 8.855초. 품질 판정: 부적합. 확인 위반: 11, 12, 13번. 미검증: 4, 9, 10, 15.
| 기준 | 판정 | 근거 |
|---|---|---|
| 1. 목적·범위 | P | 정적 확인: CASE manifest의 입력·행동·기대 결과 및 실행 profile이 실제 UI/인증 RPC/원본 readback checkpoint에 연결되어 있다. local-auth-admin-full-stack. error-cases/CASE-020-group-board-composite-round-trip/case.json:12 · error-cases/CASE-020-group-board-composite-round-trip/regression.spec.mjs:32 |
| 2. 시작 조건·재현성 | P | 정적 확인: 서로 다른 두 catalog 종목과 고유 group을 만들고 20kg·10+10회 복합 입력을 고정한다. 공통 fixture가 runToken·시작 ISO시각·서울 sessionDate를 보유하고 동일 tree 실행 SHA/환경은 통합 실행 증거로 식별한다. 임의 id는 데이터 분리에 사용한다. error-cases/CASE-020-group-board-composite-round-trip/regression.spec.mjs:45 · error-cases/support/fixture.mjs:103 · error-cases/support/fixture.mjs:175 |
| 3. 독립성 | P | 정적 확인: local-auth-admin profile에서 신규 primary/필요시 disposable actor를 사용하며 CASE 자신의 owner/id와 고유 실행 제목을 대상으로 준비·조회한다. 다른 CASE 선행 결과를 입력으로 삼지 않는다. 자원 수명 전체의 성공·실패 보장은 10번에서 별도 판정한다. error-cases/CASE-020-group-board-composite-round-trip/case.json:9 · error-cases/support/fixture.mjs:132 · error-cases/CASE-020-group-board-composite-round-trip/regression.spec.mjs:45 |
| 4. 상태 기반 동기화 | U | 정적 확인: 저장된 복합 summary와 서버 snapshot을 확인한 뒤 reload와 실제 live 시작으로 이어간다. 별도로 networkidle/RPC quiet를 reload 또는 종료 gate로 사용한다. 이 대기가 필요한 작업의 완료를 대표하는지와 취소·문서 교체 시 정상 주기 작업과 구별되는지는 개별 spec만으로 확인하지 못했다. 단순 networkidle 문자열 존재만으로 F로 단정하지 않았다. error-cases/CASE-020-group-board-composite-round-trip/regression.spec.mjs:124 · error-cases/CASE-020-group-board-composite-round-trip/regression.spec.mjs:190 |
| 5. 독립 기대값 | P | 정적 확인: 두 movement id, parts 배열 및 10+10·20kg를 독립 기대값으로 RPC/원본과 UI에 대조한다. 검사 대상 앱 계산 함수를 다시 호출해 기대값을 만들지 않는다. error-cases/CASE-020-group-board-composite-round-trip/regression.spec.mjs:135 |
| 6. 상황 실제 발생 | P | 정적 확인: 실제 복합 builder에 두 종목을 넣어 저장하고 group board 및 live prefill까지 연다. 동일 tree hosted 첫 실행 통과는 부모의 통합 실행 증거로 확인되었으며, 대표 결함 탐지 증거와는 구분한다. error-cases/CASE-020-group-board-composite-round-trip/regression.spec.mjs:108 |
| 7. 경계·금지 부작용 | P | 정적 확인: 10+10을 하나의20회로 축약하지 않는 표시, legacy scheme 부재 및 reload/editor/live에서 구성 보존을 검사한다. error-cases/CASE-020-group-board-composite-round-trip/regression.spec.mjs:124 |
| 8. 필수 단언 완결성 | P | 정적 확인: 개별 checkpoint의 비어 있지 않은 assertion callback과 실제 UI/RPC/원본 조건을 await한 뒤 completeJourney를 호출한다. 10+10을 하나의20회로 축약하지 않는 표시, legacy scheme 부재 및 reload/editor/live에서 구성 보존을 검사한다. 허용 오류 및 예상 밖 오류의 마지막 검사는 공통 completion에 연결된다. error-cases/CASE-020-group-board-composite-round-trip/regression.spec.mjs:124 · error-cases/CASE-020-group-board-composite-round-trip/regression.spec.mjs:189 · error-cases/support/fixture.mjs:362 |
| 9. 결함 탐지·공통 도구 | U | 실행 증거 미확인: 동일 tree hosted 최초 시도 통과는 확인되었으나 해당 목적의 대표 결함을 넣어 목표 단언에서 실패한 실제 로그/trace를 이 감사에서 확인하지 못했다. manifest의 과거 prePatchProof 선언이나 expect 존재만으로 P를 부여하지 않았다. 공통 도구의 취소·reload·중도 실패 관련 검증과 이 CASE의 연결도 별도 증거가 필요하다. error-cases/CASE-020-group-board-composite-round-trip/case.json:12 · error-cases/CASE-020-group-board-composite-round-trip/regression.spec.mjs:135 |
| 10. 자원 정리 | U | 정적 확인: c.completeJourney의 정리 readback 및 공통 fixture finally는 존재한다. 그러나 이 CASE가 소유한 모든 요청·listener·탭·가로챈 응답의 종료와 setup/중도 실패/취소 정리 결과를 확인한 실행 증거는 없다. finally 존재만으로 전체 lifecycle 보장을 P 처리하지 않았다. error-cases/CASE-020-group-board-composite-round-trip/regression.spec.mjs:189 · error-cases/support/fixture.mjs:396 · error-cases/support/fixture.mjs:544 |
| 11. CASE 60초 | F | 정적 확인: 공통 CASE timeout 120초를 허용하여 준비+본문의 60초 상한을 강제하지 않는다. 최초 시도가 60초 안에 통과한 사실은 허용 상한 위반을 해소하지 않는다. playwright.config.mjs:34 |
| 12. 동작 대기 10초 | F | 정적 확인: 공통 expect timeout이15초여서 1회10초 상한을 초과한다. playwright.config.mjs:35 |
| 13. 자동 재시도 0 | F | 정적 확인: CI 환경에서 Playwright retries=1이 적용되어 CASE 전체 자동 재시도를 허용한다. 최초 실행 pass여도 재시도0 설정 기준을 충족하지 않는다. playwright.config.mjs:36 |
| 14. 우회·약화 금지 | P | 정적 확인: 개별 spec에 활성 only/fixme 또는 본문 조기 성공·시간 초과 무시를 확인하지 못했다. 준비 환경 부족 skip은 CI에서는 fixture가 먼저 오류를 발생시키므로 필수 CI 생략의 근거로 처리하지 않았다. 11~13의 공통 설정 위반은 별도로 기록했다. error-cases/CASE-020-group-board-composite-round-trip/regression.spec.mjs:32 · error-cases/support/fixture.mjs:70 |
| 15. 실패 진단 증거 | U | 증거 범위: 공통 실패 trace/screenshot 및 CASE checkpoint·completion 첨부 경로는 있다. 이 CASE의 첫 실패에서 요청/탭/문서 세대·미완료 작업 식별, 본문/정리 오류 분리, 토큰·사용자 원문 비노출을 모두 확인한 artifact 검증은 수행하지 않았다. playwright.config.mjs:50 · error-cases/CASE-020-group-board-composite-round-trip/regression.spec.mjs:189 · error-cases/support/fixture.mjs:402 |
CASE-021
CASE-021 a live composite set demands an explicit load before save and a mistaken fail tap leaves no failure once the set is redone
기존 CI 최초 결과: passed, 9.797초. 품질 판정: 부적합. 확인 위반: 11, 12, 13번. 미검증: 4, 9, 10, 15.
| 기준 | 판정 | 근거 |
|---|---|---|
| 1. 목적·범위 | P | 정적 확인: CASE manifest의 입력·행동·기대 결과 및 실행 profile이 실제 UI/인증 RPC/원본 readback checkpoint에 연결되어 있다. local-auth-admin-full-stack. error-cases/CASE-021-live-composite-load-gate-round-trip/case.json:12 · error-cases/CASE-021-live-composite-load-gate-round-trip/regression.spec.mjs:12 |
| 2. 시작 조건·재현성 | P | 정적 확인: 서로 다른 두 중량×횟수 종목을 확인하고 20kg·각10회 복합 입력을 준비한다. 공통 fixture가 runToken·시작 ISO시각·서울 sessionDate를 보유하고 동일 tree 실행 SHA/환경은 통합 실행 증거로 식별한다. 임의 id는 데이터 분리에 사용한다. error-cases/CASE-021-live-composite-load-gate-round-trip/regression.spec.mjs:61 · error-cases/support/fixture.mjs:103 · error-cases/support/fixture.mjs:175 |
| 3. 독립성 | P | 정적 확인: local-auth-admin profile에서 신규 primary/필요시 disposable actor를 사용하며 CASE 자신의 owner/id와 고유 실행 제목을 대상으로 준비·조회한다. 다른 CASE 선행 결과를 입력으로 삼지 않는다. 자원 수명 전체의 성공·실패 보장은 10번에서 별도 판정한다. error-cases/CASE-021-live-composite-load-gate-round-trip/case.json:9 · error-cases/support/fixture.mjs:132 · error-cases/CASE-021-live-composite-load-gate-round-trip/regression.spec.mjs:61 |
| 4. 상태 기반 동기화 | U | 정적 확인: 각 입력 경계마다 버튼 활성 상태를 확인하고 실패/undo 상태를 관측한 뒤 저장한다. 별도로 networkidle/RPC quiet를 reload 또는 종료 gate로 사용한다. 이 대기가 필요한 작업의 완료를 대표하는지와 취소·문서 교체 시 정상 주기 작업과 구별되는지는 개별 spec만으로 확인하지 못했다. 단순 networkidle 문자열 존재만으로 F로 단정하지 않았다. error-cases/CASE-021-live-composite-load-gate-round-trip/regression.spec.mjs:81 · error-cases/CASE-021-live-composite-load-gate-round-trip/regression.spec.mjs:176 |
| 5. 독립 기대값 | P | 정적 확인: 두 정확한 종목 id, 2개 completed 세트와 각각 20kg×10이라는 독립 입력으로 원본을 검사한다. 검사 대상 앱 계산 함수를 다시 호출해 기대값을 만들지 않는다. error-cases/CASE-021-live-composite-load-gate-round-trip/regression.spec.mjs:154 |
| 6. 상황 실제 발생 | P | 정적 확인: blank load에서는 저장 비활성, 0에서는 활성, 다시 blank에서는 비활성이 되는 실제 editor gate와 fail 표시를 관측한다. 동일 tree hosted 첫 실행 통과는 부모의 통합 실행 증거로 확인되었으며, 대표 결함 탐지 증거와는 구분한다. error-cases/CASE-021-live-composite-load-gate-round-trip/regression.spec.mjs:81 |
| 7. 경계·금지 부작용 | P | 정적 확인: 0과 빈 중량 구분, fail→undo→completed의 실패 태그 제거, 완료 후 두 종목·두 세트와 reload 실패 표시 부재를 검사한다. error-cases/CASE-021-live-composite-load-gate-round-trip/regression.spec.mjs:85 |
| 8. 필수 단언 완결성 | P | 정적 확인: 개별 checkpoint의 비어 있지 않은 assertion callback과 실제 UI/RPC/원본 조건을 await한 뒤 completeJourney를 호출한다. 0과 빈 중량 구분, fail→undo→completed의 실패 태그 제거, 완료 후 두 종목·두 세트와 reload 실패 표시 부재를 검사한다. 허용 오류 및 예상 밖 오류의 마지막 검사는 공통 completion에 연결된다. error-cases/CASE-021-live-composite-load-gate-round-trip/regression.spec.mjs:85 · error-cases/CASE-021-live-composite-load-gate-round-trip/regression.spec.mjs:175 · error-cases/support/fixture.mjs:362 |
| 9. 결함 탐지·공통 도구 | U | 실행 증거 미확인: 동일 tree hosted 최초 시도 통과는 확인되었으나 해당 목적의 대표 결함을 넣어 목표 단언에서 실패한 실제 로그/trace를 이 감사에서 확인하지 못했다. manifest의 과거 prePatchProof 선언이나 expect 존재만으로 P를 부여하지 않았다. 공통 도구의 취소·reload·중도 실패 관련 검증과 이 CASE의 연결도 별도 증거가 필요하다. error-cases/CASE-021-live-composite-load-gate-round-trip/case.json:12 · error-cases/CASE-021-live-composite-load-gate-round-trip/regression.spec.mjs:154 |
| 10. 자원 정리 | U | 정적 확인: c.completeJourney의 정리 readback 및 공통 fixture finally는 존재한다. 그러나 이 CASE가 소유한 모든 요청·listener·탭·가로챈 응답의 종료와 setup/중도 실패/취소 정리 결과를 확인한 실행 증거는 없다. finally 존재만으로 전체 lifecycle 보장을 P 처리하지 않았다. error-cases/CASE-021-live-composite-load-gate-round-trip/regression.spec.mjs:175 · error-cases/support/fixture.mjs:396 · error-cases/support/fixture.mjs:544 |
| 11. CASE 60초 | F | 정적 확인: 공통 CASE timeout 120초를 허용하여 준비+본문의 60초 상한을 강제하지 않는다. 최초 시도가 60초 안에 통과한 사실은 허용 상한 위반을 해소하지 않는다. playwright.config.mjs:34 |
| 12. 동작 대기 10초 | F | 정적 확인: 공통 expect timeout이15초여서 1회10초 상한을 초과한다. playwright.config.mjs:35 |
| 13. 자동 재시도 0 | F | 정적 확인: CI 환경에서 Playwright retries=1이 적용되어 CASE 전체 자동 재시도를 허용한다. 최초 실행 pass여도 재시도0 설정 기준을 충족하지 않는다. playwright.config.mjs:36 |
| 14. 우회·약화 금지 | P | 정적 확인: 개별 spec에 활성 only/fixme 또는 본문 조기 성공·시간 초과 무시를 확인하지 못했다. 준비 환경 부족 skip은 CI에서는 fixture가 먼저 오류를 발생시키므로 필수 CI 생략의 근거로 처리하지 않았다. 11~13의 공통 설정 위반은 별도로 기록했다. error-cases/CASE-021-live-composite-load-gate-round-trip/regression.spec.mjs:12 · error-cases/support/fixture.mjs:70 |
| 15. 실패 진단 증거 | U | 증거 범위: 공통 실패 trace/screenshot 및 CASE checkpoint·completion 첨부 경로는 있다. 이 CASE의 첫 실패에서 요청/탭/문서 세대·미완료 작업 식별, 본문/정리 오류 분리, 토큰·사용자 원문 비노출을 모두 확인한 artifact 검증은 수행하지 않았다. playwright.config.mjs:50 · error-cases/CASE-021-live-composite-load-gate-round-trip/regression.spec.mjs:175 · error-cases/support/fixture.mjs:402 |
CASE-022
CASE-022 a mixed composite records each movement with its own atoms and persists them to separate movement rows
기존 CI 최초 결과: passed, 9.788초. 품질 판정: 부적합. 확인 위반: 7, 11, 12, 13번. 미검증: 4, 9, 10, 15.
| 기준 | 판정 | 근거 |
|---|---|---|
| 1. 목적·범위 | P | 정적 확인: CASE manifest의 입력·행동·기대 결과 및 실행 profile이 실제 UI/인증 RPC/원본 readback checkpoint에 연결되어 있다. local-auth-admin-full-stack. error-cases/CASE-022-live-mixed-composite-round-trip/case.json:12 · error-cases/CASE-022-live-mixed-composite-round-trip/regression.spec.mjs:12 |
| 2. 시작 조건·재현성 | P | 정적 확인: 중량×횟수 종목과 duration-only 종목을 실제 catalog에서 확인하고 60×5·30초를 입력한다. 공통 fixture가 runToken·시작 ISO시각·서울 sessionDate를 보유하고 동일 tree 실행 SHA/환경은 통합 실행 증거로 식별한다. 임의 id는 데이터 분리에 사용한다. error-cases/CASE-022-live-mixed-composite-round-trip/regression.spec.mjs:47 · error-cases/support/fixture.mjs:103 · error-cases/support/fixture.mjs:175 |
| 3. 독립성 | P | 정적 확인: local-auth-admin profile에서 신규 primary/필요시 disposable actor를 사용하며 CASE 자신의 owner/id와 고유 실행 제목을 대상으로 준비·조회한다. 다른 CASE 선행 결과를 입력으로 삼지 않는다. 자원 수명 전체의 성공·실패 보장은 10번에서 별도 판정한다. error-cases/CASE-022-live-mixed-composite-round-trip/case.json:9 · error-cases/support/fixture.mjs:132 · error-cases/CASE-022-live-mixed-composite-round-trip/regression.spec.mjs:47 |
| 4. 상태 기반 동기화 | U | 정적 확인: 모든 종목 입력 gate를 관측하고 저장 revision/원본 확인 후 reload한다. 별도로 networkidle/RPC quiet를 reload 또는 종료 gate로 사용한다. 이 대기가 필요한 작업의 완료를 대표하는지와 취소·문서 교체 시 정상 주기 작업과 구별되는지는 개별 spec만으로 확인하지 못했다. 단순 networkidle 문자열 존재만으로 F로 단정하지 않았다. error-cases/CASE-022-live-mixed-composite-round-trip/regression.spec.mjs:82 · error-cases/CASE-022-live-mixed-composite-round-trip/regression.spec.mjs:146 |
| 5. 독립 기대값 | P | 정적 확인: 독립 입력인 strength 60kg·5회와 hold30초, 두 종목 id와 recording_fields를 원본에 대조한다. 검사 대상 앱 계산 함수를 다시 호출해 기대값을 만들지 않는다. error-cases/CASE-022-live-mixed-composite-round-trip/regression.spec.mjs:120 |
| 6. 상황 실제 발생 | P | 정적 확인: 마지막 duration 입력 전후 저장 가능 여부가 바뀌는 실제 mixed editor gate를 관측한다. 동일 tree hosted 첫 실행 통과는 부모의 통합 실행 증거로 확인되었으며, 대표 결함 탐지 증거와는 구분한다. error-cases/CASE-022-live-mixed-composite-round-trip/regression.spec.mjs:82 |
| 7. 경계·금지 부작용 | F | 정적 확인: 선언은 동작별 행에 자기 원자만 저장하는 것이지만 duration-only hold 행에는 duration=30과 reps=null만 단언한다. hold.load=null 단언이 없어 strength의 60kg가 hold에 복사되는 금지된 교차 오염을 거절하지 못한다. error-cases/CASE-022-live-mixed-composite-round-trip/case.json:12 · error-cases/CASE-022-live-mixed-composite-round-trip/regression.spec.mjs:120 · error-cases/CASE-022-live-mixed-composite-round-trip/regression.spec.mjs:122 · error-cases/CASE-022-live-mixed-composite-round-trip/regression.spec.mjs:124 · error-cases/CASE-022-live-mixed-composite-round-trip/regression.spec.mjs:129 · error-cases/CASE-022-live-mixed-composite-round-trip/regression.spec.mjs:130 · error-cases/CASE-022-live-mixed-composite-round-trip/regression.spec.mjs:131 |
| 8. 필수 단언 완결성 | P | 정적 확인: 개별 checkpoint의 비어 있지 않은 assertion callback과 실제 UI/RPC/원본 조건을 await한 뒤 completeJourney를 호출한다. strength duration null 및 hold reps null은 검사하나 hold load의 부재는 검사하지 않는다. 허용 오류 및 예상 밖 오류의 마지막 검사는 공통 completion에 연결된다. error-cases/CASE-022-live-mixed-composite-round-trip/regression.spec.mjs:129 · error-cases/CASE-022-live-mixed-composite-round-trip/regression.spec.mjs:145 · error-cases/support/fixture.mjs:362 |
| 9. 결함 탐지·공통 도구 | U | 실행 증거 미확인: 동일 tree hosted 최초 시도 통과는 확인되었으나 해당 목적의 대표 결함을 넣어 목표 단언에서 실패한 실제 로그/trace를 이 감사에서 확인하지 못했다. manifest의 과거 prePatchProof 선언이나 expect 존재만으로 P를 부여하지 않았다. 공통 도구의 취소·reload·중도 실패 관련 검증과 이 CASE의 연결도 별도 증거가 필요하다. error-cases/CASE-022-live-mixed-composite-round-trip/case.json:12 · error-cases/CASE-022-live-mixed-composite-round-trip/regression.spec.mjs:120 |
| 10. 자원 정리 | U | 정적 확인: c.completeJourney의 정리 readback 및 공통 fixture finally는 존재한다. 그러나 이 CASE가 소유한 모든 요청·listener·탭·가로챈 응답의 종료와 setup/중도 실패/취소 정리 결과를 확인한 실행 증거는 없다. finally 존재만으로 전체 lifecycle 보장을 P 처리하지 않았다. error-cases/CASE-022-live-mixed-composite-round-trip/regression.spec.mjs:145 · error-cases/support/fixture.mjs:396 · error-cases/support/fixture.mjs:544 |
| 11. CASE 60초 | F | 정적 확인: 공통 CASE timeout 120초를 허용하여 준비+본문의 60초 상한을 강제하지 않는다. 최초 시도가 60초 안에 통과한 사실은 허용 상한 위반을 해소하지 않는다. playwright.config.mjs:34 |
| 12. 동작 대기 10초 | F | 정적 확인: 공통 expect timeout이15초여서 1회10초 상한을 초과한다. playwright.config.mjs:35 |
| 13. 자동 재시도 0 | F | 정적 확인: CI 환경에서 Playwright retries=1이 적용되어 CASE 전체 자동 재시도를 허용한다. 최초 실행 pass여도 재시도0 설정 기준을 충족하지 않는다. playwright.config.mjs:36 |
| 14. 우회·약화 금지 | P | 정적 확인: 개별 spec에 활성 only/fixme 또는 본문 조기 성공·시간 초과 무시를 확인하지 못했다. 준비 환경 부족 skip은 CI에서는 fixture가 먼저 오류를 발생시키므로 필수 CI 생략의 근거로 처리하지 않았다. 11~13의 공통 설정 위반은 별도로 기록했다. error-cases/CASE-022-live-mixed-composite-round-trip/regression.spec.mjs:12 · error-cases/support/fixture.mjs:70 |
| 15. 실패 진단 증거 | U | 증거 범위: 공통 실패 trace/screenshot 및 CASE checkpoint·completion 첨부 경로는 있다. 이 CASE의 첫 실패에서 요청/탭/문서 세대·미완료 작업 식별, 본문/정리 오류 분리, 토큰·사용자 원문 비노출을 모두 확인한 artifact 검증은 수행하지 않았다. playwright.config.mjs:50 · error-cases/CASE-022-live-mixed-composite-round-trip/regression.spec.mjs:145 · error-cases/support/fixture.mjs:402 |
CASE-023
CASE-023 a live workout saved on the finish screen accepts the note follow-up and two consecutive set edits without a single user-facing error
기존 CI 최초 결과: passed, 14.319초. 품질 판정: 부적합. 확인 위반: 8, 11, 12, 13, 14번. 미검증: 4, 9, 10, 15.
| 기준 | 판정 | 근거 |
|---|---|---|
| 1. 목적·범위 | P | 정적 확인: CASE manifest의 입력·행동·기대 결과 및 실행 profile이 실제 UI/인증 RPC/원본 readback checkpoint에 연결되어 있다. local-auth-admin-full-stack. error-cases/CASE-023-completed-session-follow-up-edit-write-source/case.json:13 · error-cases/CASE-023-completed-session-follow-up-edit-write-source/regression.spec.mjs:27 |
| 2. 시작 조건·재현성 | P | 정적 확인: 60kg×5 두 세트와 첫 수정80/두 번째85kg를 고정하고 최초 원본 자식 id·개수를 확인한다. 공통 fixture가 runToken·시작 ISO시각·서울 sessionDate를 보유하고 동일 tree 실행 SHA/환경은 통합 실행 증거로 식별한다. 임의 id는 데이터 분리에 사용한다. error-cases/CASE-023-completed-session-follow-up-edit-write-source/regression.spec.mjs:19 · error-cases/support/fixture.mjs:103 · error-cases/support/fixture.mjs:175 |
| 3. 독립성 | P | 정적 확인: local-auth-admin profile에서 신규 primary/필요시 disposable actor를 사용하며 CASE 자신의 owner/id와 고유 실행 제목을 대상으로 준비·조회한다. 다른 CASE 선행 결과를 입력으로 삼지 않는다. 자원 수명 전체의 성공·실패 보장은 10번에서 별도 판정한다. error-cases/CASE-023-completed-session-follow-up-edit-write-source/case.json:9 · error-cases/support/fixture.mjs:132 · error-cases/CASE-023-completed-session-follow-up-edit-write-source/regression.spec.mjs:19 |
| 4. 상태 기반 동기화 | U | 정적 확인: 각 저장의 서버 revision과 오류/완료 UI 조건을 확인한 뒤 다음 수정으로 이어간다. 별도로 networkidle/RPC quiet를 reload 또는 종료 gate로 사용한다. 이 대기가 필요한 작업의 완료를 대표하는지와 취소·문서 교체 시 정상 주기 작업과 구별되는지는 개별 spec만으로 확인하지 못했다. 단순 networkidle 문자열 존재만으로 F로 단정하지 않았다. error-cases/CASE-023-completed-session-follow-up-edit-write-source/regression.spec.mjs:63 · error-cases/CASE-023-completed-session-follow-up-edit-write-source/regression.spec.mjs:233 |
| 5. 독립 기대값 | P | 정적 확인: metadata 수정과 연속 세트 수정에 대해 독립 기대 revision2/3/4, 원본 id 보존 및 [85,60]을 비교한다. 검사 대상 앱 계산 함수를 다시 호출해 기대값을 만들지 않는다. error-cases/CASE-023-completed-session-follow-up-edit-write-source/regression.spec.mjs:188 |
| 6. 상황 실제 발생 | P | 정적 확인: 완료 자동 저장 뒤 메인으로 상태에서 note를 바꾸고 저장, 상세 편집기로 세트를 연속 두 번 바꾼다. 동일 tree hosted 첫 실행 통과는 부모의 통합 실행 증거로 확인되었으며, 대표 결함 탐지 증거와는 구분한다. error-cases/CASE-023-completed-session-follow-up-edit-write-source/regression.spec.mjs:164 |
| 7. 경계·금지 부작용 | P | 정적 확인: metadata-only에서 자식 id/중량 불변, 연속 수정에도 자식 id·메모·완료 상태 보존 및 revision 증가를 검사한다. error-cases/CASE-023-completed-session-follow-up-edit-write-source/regression.spec.mjs:188 |
| 8. 필수 단언 완결성 | F | 정적 확인: 목적은 마지막 85kg·60kg 두 세트가 reload 후 모두 보이는 것이지만 reload checkpoint는 종목명과 85kg만 단언한다. reload 전 원본 [85,60] 검사는 두 번째60kg 세트의 실제 재진입 렌더링 누락을 검출하지 못한다. error-cases/CASE-023-completed-session-follow-up-edit-write-source/case.json:13 · error-cases/CASE-023-completed-session-follow-up-edit-write-source/regression.spec.mjs:214 · error-cases/CASE-023-completed-session-follow-up-edit-write-source/regression.spec.mjs:221 · error-cases/CASE-023-completed-session-follow-up-edit-write-source/regression.spec.mjs:227 · error-cases/CASE-023-completed-session-follow-up-edit-write-source/regression.spec.mjs:229 |
| 9. 결함 탐지·공통 도구 | U | 실행 증거 미확인: 동일 tree hosted 최초 시도 통과는 확인되었으나 해당 목적의 대표 결함을 넣어 목표 단언에서 실패한 실제 로그/trace를 이 감사에서 확인하지 못했다. manifest의 과거 prePatchProof 선언이나 expect 존재만으로 P를 부여하지 않았다. 공통 도구의 취소·reload·중도 실패 관련 검증과 이 CASE의 연결도 별도 증거가 필요하다. error-cases/CASE-023-completed-session-follow-up-edit-write-source/case.json:86 · error-cases/CASE-023-completed-session-follow-up-edit-write-source/regression.spec.mjs:188 |
| 10. 자원 정리 | U | 정적 확인: c.completeJourney의 정리 readback 및 공통 fixture finally는 존재한다. 그러나 이 CASE가 소유한 모든 요청·listener·탭·가로챈 응답의 종료와 setup/중도 실패/취소 정리 결과를 확인한 실행 증거는 없다. finally 존재만으로 전체 lifecycle 보장을 P 처리하지 않았다. error-cases/CASE-023-completed-session-follow-up-edit-write-source/regression.spec.mjs:232 · error-cases/support/fixture.mjs:396 · error-cases/support/fixture.mjs:544 |
| 11. CASE 60초 | F | 정적 확인: 개별 test.setTimeout(240000)으로 240초를 허용하여 준비+본문의 60초 상한을 강제하지 않는다. 최초 시도가 60초 안에 통과한 사실은 허용 상한 위반을 해소하지 않는다. playwright.config.mjs:34 · error-cases/CASE-023-completed-session-follow-up-edit-write-source/regression.spec.mjs:32 |
| 12. 동작 대기 10초 | F | 정적 확인: 공통 expect timeout이15초여서 1회10초 상한을 초과한다. 또한 개별 조건 대기에 30초 override를 사용한다. playwright.config.mjs:35 · error-cases/CASE-023-completed-session-follow-up-edit-write-source/regression.spec.mjs:79 |
| 13. 자동 재시도 0 | F | 정적 확인: CI 환경에서 Playwright retries=1이 적용되어 CASE 전체 자동 재시도를 허용한다. 최초 실행 pass여도 재시도0 설정 기준을 충족하지 않는다. playwright.config.mjs:36 |
| 14. 우회·약화 금지 | F | 정적 확인: 개별 test.setTimeout(240000)은 공통120초보다도 timeout을 상향한다. 기준14의 timeout 상향 금지 위반이며 실제 실패를 숨기려는 의도까지 단정하지 않는다. error-cases/CASE-023-completed-session-follow-up-edit-write-source/regression.spec.mjs:32 |
| 15. 실패 진단 증거 | U | 증거 범위: 공통 실패 trace/screenshot 및 CASE checkpoint·completion 첨부 경로는 있다. 이 CASE의 첫 실패에서 요청/탭/문서 세대·미완료 작업 식별, 본문/정리 오류 분리, 토큰·사용자 원문 비노출을 모두 확인한 artifact 검증은 수행하지 않았다. playwright.config.mjs:50 · error-cases/CASE-023-completed-session-follow-up-edit-write-source/regression.spec.mjs:232 · error-cases/support/fixture.mjs:402 |
CASE-024
CASE-024 a completed record accepts a set-value edit, a time-only edit, and a note-only edit without a single user-facing error
기존 CI 최초 결과: passed, 11.680초. 품질 판정: 부적합. 확인 위반: 8, 11, 12, 13, 14번. 미검증: 4, 9, 10, 15.
| 기준 | 판정 | 근거 |
|---|---|---|
| 1. 목적·범위 | P | 정적 확인: CASE manifest의 입력·행동·기대 결과 및 실행 profile이 실제 UI/인증 RPC/원본 readback checkpoint에 연결되어 있다. local-auth-admin-full-stack. error-cases/CASE-024-completed-record-two-way-edit-round-trip/case.json:12 · error-cases/CASE-024-completed-record-two-way-edit-round-trip/regression.spec.mjs:31 |
| 2. 시작 조건·재현성 | P | 정적 확인: 60kg×5 두 세트와 고정 기존 시간/메모를 가진 완료 기록을 만들고 세트 수정80·시간10:00~11:00·새 메모를 준비한다. 공통 fixture가 runToken·시작 ISO시각·서울 sessionDate를 보유하고 동일 tree 실행 SHA/환경은 통합 실행 증거로 식별한다. 임의 id는 데이터 분리에 사용한다. error-cases/CASE-024-completed-record-two-way-edit-round-trip/regression.spec.mjs:38 · error-cases/support/fixture.mjs:103 · error-cases/support/fixture.mjs:175 |
| 3. 독립성 | P | 정적 확인: local-auth-admin profile에서 신규 primary/필요시 disposable actor를 사용하며 CASE 자신의 owner/id와 고유 실행 제목을 대상으로 준비·조회한다. 다른 CASE 선행 결과를 입력으로 삼지 않는다. 자원 수명 전체의 성공·실패 보장은 10번에서 별도 판정한다. error-cases/CASE-024-completed-record-two-way-edit-round-trip/case.json:9 · error-cases/support/fixture.mjs:132 · error-cases/CASE-024-completed-record-two-way-edit-round-trip/regression.spec.mjs:38 |
| 4. 상태 기반 동기화 | U | 정적 확인: 각 저장마다 modal/error 또는 변경된 시간 표시와 서버 개정번호를 확인하고 다음 동작을 한다. 별도로 networkidle/RPC quiet를 reload 또는 종료 gate로 사용한다. 이 대기가 필요한 작업의 완료를 대표하는지와 취소·문서 교체 시 정상 주기 작업과 구별되는지는 개별 spec만으로 확인하지 못했다. 단순 networkidle 문자열 존재만으로 F로 단정하지 않았다. error-cases/CASE-024-completed-record-two-way-edit-round-trip/regression.spec.mjs:123 · error-cases/CASE-024-completed-record-two-way-edit-round-trip/regression.spec.mjs:236 |
| 5. 독립 기대값 | P | 정적 확인: 각 수정의 revision2/3/4, 동일 자식 id와 독립 기대 중량·시간·메모를 원본 readback에 대조한다. 검사 대상 앱 계산 함수를 다시 호출해 기대값을 만들지 않는다. error-cases/CASE-024-completed-record-two-way-edit-round-trip/regression.spec.mjs:211 |
| 6. 상황 실제 발생 | P | 정적 확인: 실제 세트 편집, 시간 전용 대화상자, note-only 편집을 차례로 수행한다. 동일 tree hosted 첫 실행 통과는 부모의 통합 실행 증거로 확인되었으며, 대표 결함 탐지 증거와는 구분한다. error-cases/CASE-024-completed-record-two-way-edit-round-trip/regression.spec.mjs:144 |
| 7. 경계·금지 부작용 | P | 정적 확인: 시간/메모 전용 수정에서 자식 id·세트 값 보존 및 개정번호 증가를 검사한다. error-cases/CASE-024-completed-record-two-way-edit-round-trip/regression.spec.mjs:211 |
| 8. 필수 단언 완결성 | F | 정적 확인: manifest와 reload checkpoint는 새 메모의 표시를 명시하지만 reload 후 단언은 종목명·80kg·10:00~11:00·오류 부재뿐이다. 원본 메모는 이전 checkpoint에서 확인하지만 새로고침 뒤 메모 렌더링 단언은 누락되어 있다. error-cases/CASE-024-completed-record-two-way-edit-round-trip/case.json:12 · error-cases/CASE-024-completed-record-two-way-edit-round-trip/regression.spec.mjs:211 · error-cases/CASE-024-completed-record-two-way-edit-round-trip/regression.spec.mjs:222 · error-cases/CASE-024-completed-record-two-way-edit-round-trip/regression.spec.mjs:223 · error-cases/CASE-024-completed-record-two-way-edit-round-trip/regression.spec.mjs:231 |
| 9. 결함 탐지·공통 도구 | U | 실행 증거 미확인: 동일 tree hosted 최초 시도 통과는 확인되었으나 해당 목적의 대표 결함을 넣어 목표 단언에서 실패한 실제 로그/trace를 이 감사에서 확인하지 못했다. manifest의 과거 prePatchProof 선언이나 expect 존재만으로 P를 부여하지 않았다. 공통 도구의 취소·reload·중도 실패 관련 검증과 이 CASE의 연결도 별도 증거가 필요하다. error-cases/CASE-024-completed-record-two-way-edit-round-trip/case.json:12 · error-cases/CASE-024-completed-record-two-way-edit-round-trip/regression.spec.mjs:211 |
| 10. 자원 정리 | U | 정적 확인: c.completeJourney의 정리 readback 및 공통 fixture finally는 존재한다. 그러나 이 CASE가 소유한 모든 요청·listener·탭·가로챈 응답의 종료와 setup/중도 실패/취소 정리 결과를 확인한 실행 증거는 없다. finally 존재만으로 전체 lifecycle 보장을 P 처리하지 않았다. error-cases/CASE-024-completed-record-two-way-edit-round-trip/regression.spec.mjs:235 · error-cases/support/fixture.mjs:396 · error-cases/support/fixture.mjs:544 |
| 11. CASE 60초 | F | 정적 확인: 개별 test.setTimeout(240000)으로 240초를 허용하여 준비+본문의 60초 상한을 강제하지 않는다. 최초 시도가 60초 안에 통과한 사실은 허용 상한 위반을 해소하지 않는다. playwright.config.mjs:34 · error-cases/CASE-024-completed-record-two-way-edit-round-trip/regression.spec.mjs:36 |
| 12. 동작 대기 10초 | F | 정적 확인: 공통 expect timeout이15초여서 1회10초 상한을 초과한다. 또한 개별 조건 대기에 30초 override를 사용한다. playwright.config.mjs:35 · error-cases/CASE-024-completed-record-two-way-edit-round-trip/regression.spec.mjs:179 |
| 13. 자동 재시도 0 | F | 정적 확인: CI 환경에서 Playwright retries=1이 적용되어 CASE 전체 자동 재시도를 허용한다. 최초 실행 pass여도 재시도0 설정 기준을 충족하지 않는다. playwright.config.mjs:36 |
| 14. 우회·약화 금지 | F | 정적 확인: 개별 test.setTimeout(240000)은 공통120초보다도 timeout을 상향한다. 기준14의 timeout 상향 금지 위반이며 실제 실패를 숨기려는 의도까지 단정하지 않는다. error-cases/CASE-024-completed-record-two-way-edit-round-trip/regression.spec.mjs:36 |
| 15. 실패 진단 증거 | U | 증거 범위: 공통 실패 trace/screenshot 및 CASE checkpoint·completion 첨부 경로는 있다. 이 CASE의 첫 실패에서 요청/탭/문서 세대·미완료 작업 식별, 본문/정리 오류 분리, 토큰·사용자 원문 비노출을 모두 확인한 artifact 검증은 수행하지 않았다. playwright.config.mjs:50 · error-cases/CASE-024-completed-record-two-way-edit-round-trip/regression.spec.mjs:235 · error-cases/support/fixture.mjs:402 |
CASE-025
CASE-025 a plan written in the mobile editor starts a live workout whose finish-screen save completes the plan and accepts the note follow-up without a single user-facing error
기존 CI 최초 결과: passed, 14.507초. 품질 판정: 부적합. 확인 위반: 8, 11, 12, 13, 14번. 미검증: 4, 9, 10, 15.
| 기준 | 판정 | 근거 |
|---|---|---|
| 1. 목적·범위 | P | 정적 확인: CASE manifest의 입력·행동·기대 결과 및 실행 profile이 실제 UI/인증 RPC/원본 readback checkpoint에 연결되어 있다. local-auth-admin-full-stack. error-cases/CASE-025-plan-to-live-session-completion-round-trip/case.json:12 · error-cases/CASE-025-plan-to-live-session-completion-round-trip/regression.spec.mjs:80 |
| 2. 시작 조건·재현성 | P | 정적 확인: 모바일 계획 편집기로 고유 제목과 50kg×5 한 세트를 작성하고 원본 planned 기록을 확인한다. 공통 fixture가 runToken·시작 ISO시각·서울 sessionDate를 보유하고 동일 tree 실행 SHA/환경은 통합 실행 증거로 식별한다. 임의 id는 데이터 분리에 사용한다. error-cases/CASE-025-plan-to-live-session-completion-round-trip/regression.spec.mjs:18 · error-cases/support/fixture.mjs:103 · error-cases/support/fixture.mjs:175 |
| 3. 독립성 | P | 정적 확인: local-auth-admin profile에서 신규 primary/필요시 disposable actor를 사용하며 CASE 자신의 owner/id와 고유 실행 제목을 대상으로 준비·조회한다. 다른 CASE 선행 결과를 입력으로 삼지 않는다. 자원 수명 전체의 성공·실패 보장은 10번에서 별도 판정한다. error-cases/CASE-025-plan-to-live-session-completion-round-trip/case.json:9 · error-cases/support/fixture.mjs:132 · error-cases/CASE-025-plan-to-live-session-completion-round-trip/regression.spec.mjs:18 |
| 4. 상태 기반 동기화 | U | 정적 확인: 계획 저장의 editor 종료와 서버 row를 확인하고 같은 id의 plan card→완료→revision3 순서를 기다린다. 별도로 networkidle/RPC quiet를 reload 또는 종료 gate로 사용한다. 이 대기가 필요한 작업의 완료를 대표하는지와 취소·문서 교체 시 정상 주기 작업과 구별되는지는 개별 spec만으로 확인하지 못했다. 단순 networkidle 문자열 존재만으로 F로 단정하지 않았다. error-cases/CASE-025-plan-to-live-session-completion-round-trip/regression.spec.mjs:175 · error-cases/CASE-025-plan-to-live-session-completion-round-trip/regression.spec.mjs:290 |
| 5. 독립 기대값 | P | 정적 확인: 같은 plan id가 revision2 completed로 전환되고 note follow-up revision3에서도 50×5 및 동일 자식 id를 유지하는지 검사한다. 검사 대상 앱 계산 함수를 다시 호출해 기대값을 만들지 않는다. error-cases/CASE-025-plan-to-live-session-completion-round-trip/regression.spec.mjs:233 |
| 6. 상황 실제 발생 | P | 정적 확인: reload 후 실제 해당 plan id 카드를 골라 live prefill을 거쳐 완료 자동 저장과 note 후속 수정을 수행한다. 동일 tree hosted 첫 실행 통과는 부모의 통합 실행 증거로 확인되었으며, 대표 결함 탐지 증거와는 구분한다. error-cases/CASE-025-plan-to-live-session-completion-round-trip/regression.spec.mjs:199 |
| 7. 경계·금지 부작용 | P | 정적 확인: 동일 plan/session id·자식 id, completed 전환·추천 계획에서 소멸 및 단일 값 보존을 검사한다. error-cases/CASE-025-plan-to-live-session-completion-round-trip/regression.spec.mjs:258 |
| 8. 필수 단언 완결성 | F | 정적 확인: intendedOutcome은 계획 제목·종목·50kg×5가 reload 상세에 그대로 보이는 것이다. 마지막 reload checkpoint는 종목명·50kg와 오류/계획카드 부재만 확인하고 계획 제목과 5회 렌더링을 단언하지 않는다. error-cases/CASE-025-plan-to-live-session-completion-round-trip/case.json:12 · error-cases/CASE-025-plan-to-live-session-completion-round-trip/regression.spec.mjs:273 · error-cases/CASE-025-plan-to-live-session-completion-round-trip/regression.spec.mjs:279 · error-cases/CASE-025-plan-to-live-session-completion-round-trip/regression.spec.mjs:280 · error-cases/CASE-025-plan-to-live-session-completion-round-trip/regression.spec.mjs:283 · error-cases/CASE-025-plan-to-live-session-completion-round-trip/regression.spec.mjs:286 |
| 9. 결함 탐지·공통 도구 | U | 실행 증거 미확인: 동일 tree hosted 최초 시도 통과는 확인되었으나 해당 목적의 대표 결함을 넣어 목표 단언에서 실패한 실제 로그/trace를 이 감사에서 확인하지 못했다. manifest의 과거 prePatchProof 선언이나 expect 존재만으로 P를 부여하지 않았다. 공통 도구의 취소·reload·중도 실패 관련 검증과 이 CASE의 연결도 별도 증거가 필요하다. error-cases/CASE-025-plan-to-live-session-completion-round-trip/case.json:12 · error-cases/CASE-025-plan-to-live-session-completion-round-trip/regression.spec.mjs:233 |
| 10. 자원 정리 | U | 정적 확인: c.completeJourney의 정리 readback 및 공통 fixture finally는 존재한다. 그러나 이 CASE가 소유한 모든 요청·listener·탭·가로챈 응답의 종료와 setup/중도 실패/취소 정리 결과를 확인한 실행 증거는 없다. finally 존재만으로 전체 lifecycle 보장을 P 처리하지 않았다. error-cases/CASE-025-plan-to-live-session-completion-round-trip/regression.spec.mjs:289 · error-cases/support/fixture.mjs:396 · error-cases/support/fixture.mjs:544 |
| 11. CASE 60초 | F | 정적 확인: 개별 test.setTimeout(240000)으로 240초를 허용하여 준비+본문의 60초 상한을 강제하지 않는다. 최초 시도가 60초 안에 통과한 사실은 허용 상한 위반을 해소하지 않는다. playwright.config.mjs:34 · error-cases/CASE-025-plan-to-live-session-completion-round-trip/regression.spec.mjs:85 |
| 12. 동작 대기 10초 | F | 정적 확인: 공통 expect timeout이15초여서 1회10초 상한을 초과한다. 또한 개별 조건 대기에 30초 override를 사용한다. playwright.config.mjs:35 · error-cases/CASE-025-plan-to-live-session-completion-round-trip/regression.spec.mjs:175 |
| 13. 자동 재시도 0 | F | 정적 확인: CI 환경에서 Playwright retries=1이 적용되어 CASE 전체 자동 재시도를 허용한다. 최초 실행 pass여도 재시도0 설정 기준을 충족하지 않는다. playwright.config.mjs:36 |
| 14. 우회·약화 금지 | F | 정적 확인: 개별 test.setTimeout(240000)은 공통120초보다도 timeout을 상향한다. 기준14의 timeout 상향 금지 위반이며 실제 실패를 숨기려는 의도까지 단정하지 않는다. error-cases/CASE-025-plan-to-live-session-completion-round-trip/regression.spec.mjs:85 |
| 15. 실패 진단 증거 | U | 증거 범위: 공통 실패 trace/screenshot 및 CASE checkpoint·completion 첨부 경로는 있다. 이 CASE의 첫 실패에서 요청/탭/문서 세대·미완료 작업 식별, 본문/정리 오류 분리, 토큰·사용자 원문 비노출을 모두 확인한 artifact 검증은 수행하지 않았다. playwright.config.mjs:50 · error-cases/CASE-025-plan-to-live-session-completion-round-trip/regression.spec.mjs:289 · error-cases/support/fixture.mjs:402 |
CASE-026
CASE-026 a workout started from the group whiteboard auto-saves under a group-board source_ref and accepts the note follow-up without a single user-facing error
기존 CI 최초 결과: passed, 12.010초. 품질 판정: 부적합. 확인 위반: 11, 12, 13, 14번. 미검증: 4, 9, 10, 15.
| 기준 | 판정 | 근거 |
|---|---|---|
| 1. 목적·범위 | P | 정적 확인: CASE manifest의 입력·행동·기대 결과 및 실행 profile이 실제 UI/인증 RPC/원본 readback checkpoint에 연결되어 있다. local-auth-admin-full-stack. error-cases/CASE-026-group-board-workout-follow-up-edit-round-trip/case.json:12 · error-cases/CASE-026-group-board-workout-follow-up-edit-round-trip/regression.spec.mjs:46 |
| 2. 시작 조건·재현성 | P | 정적 확인: 고유 group board의 60kg×5 처방을 실제 작성하고 board summary와 서버 값을 확인한다. 공통 fixture가 runToken·시작 ISO시각·서울 sessionDate를 보유하고 동일 tree 실행 SHA/환경은 통합 실행 증거로 식별한다. 임의 id는 데이터 분리에 사용한다. error-cases/CASE-026-group-board-workout-follow-up-edit-round-trip/regression.spec.mjs:20 · error-cases/support/fixture.mjs:103 · error-cases/support/fixture.mjs:175 |
| 3. 독립성 | P | 정적 확인: local-auth-admin profile에서 신규 primary/필요시 disposable actor를 사용하며 CASE 자신의 owner/id와 고유 실행 제목을 대상으로 준비·조회한다. 다른 CASE 선행 결과를 입력으로 삼지 않는다. 자원 수명 전체의 성공·실패 보장은 10번에서 별도 판정한다. error-cases/CASE-026-group-board-workout-follow-up-edit-round-trip/case.json:9 · error-cases/support/fixture.mjs:132 · error-cases/CASE-026-group-board-workout-follow-up-edit-round-trip/regression.spec.mjs:20 |
| 4. 상태 기반 동기화 | U | 정적 확인: 저장 완료/error 조건과 실제 서버 revision을 확인한 뒤 note 후속 저장 및 reload에 들어간다. 별도로 networkidle/RPC quiet를 reload 또는 종료 gate로 사용한다. 이 대기가 필요한 작업의 완료를 대표하는지와 취소·문서 교체 시 정상 주기 작업과 구별되는지는 개별 spec만으로 확인하지 못했다. 단순 networkidle 문자열 존재만으로 F로 단정하지 않았다. error-cases/CASE-026-group-board-workout-follow-up-edit-round-trip/regression.spec.mjs:132 · error-cases/CASE-026-group-board-workout-follow-up-edit-round-trip/regression.spec.mjs:246 |
| 5. 독립 기대값 | P | 정적 확인: group-board sourceRef에 대응하는 단일 기록, revision1→2, 60×5 및 note와 자식 id 보존을 독립 정답으로 검사한다. 검사 대상 앱 계산 함수를 다시 호출해 기대값을 만들지 않는다. error-cases/CASE-026-group-board-workout-follow-up-edit-round-trip/regression.spec.mjs:201 |
| 6. 상황 실제 발생 | P | 정적 확인: 실제 group board에서 운동을 시작해 prefill60을 확인하고 완료 자동 저장 후 note-only 후속 저장을 한다. 동일 tree hosted 첫 실행 통과는 부모의 통합 실행 증거로 확인되었으며, 대표 결함 탐지 증거와는 구분한다. error-cases/CASE-026-group-board-workout-follow-up-edit-round-trip/regression.spec.mjs:173 |
| 7. 경계·금지 부작용 | P | 정적 확인: sourceRef에 맞는 완료 기록이 정확히 하나인지, 동일 id/자식 값 보존과 reload60kg 표시를 검사한다. error-cases/CASE-026-group-board-workout-follow-up-edit-round-trip/regression.spec.mjs:97 |
| 8. 필수 단언 완결성 | P | 정적 확인: 개별 checkpoint의 비어 있지 않은 assertion callback과 실제 UI/RPC/원본 조건을 await한 뒤 completeJourney를 호출한다. sourceRef에 맞는 완료 기록이 정확히 하나인지, 동일 id/자식 값 보존과 reload60kg 표시를 검사한다. 허용 오류 및 예상 밖 오류의 마지막 검사는 공통 completion에 연결된다. error-cases/CASE-026-group-board-workout-follow-up-edit-round-trip/regression.spec.mjs:97 · error-cases/CASE-026-group-board-workout-follow-up-edit-round-trip/regression.spec.mjs:245 · error-cases/support/fixture.mjs:362 |
| 9. 결함 탐지·공통 도구 | U | 실행 증거 미확인: 동일 tree hosted 최초 시도 통과는 확인되었으나 해당 목적의 대표 결함을 넣어 목표 단언에서 실패한 실제 로그/trace를 이 감사에서 확인하지 못했다. manifest의 과거 prePatchProof 선언이나 expect 존재만으로 P를 부여하지 않았다. 공통 도구의 취소·reload·중도 실패 관련 검증과 이 CASE의 연결도 별도 증거가 필요하다. error-cases/CASE-026-group-board-workout-follow-up-edit-round-trip/case.json:12 · error-cases/CASE-026-group-board-workout-follow-up-edit-round-trip/regression.spec.mjs:201 |
| 10. 자원 정리 | U | 정적 확인: c.completeJourney의 정리 readback 및 공통 fixture finally는 존재한다. 그러나 이 CASE가 소유한 모든 요청·listener·탭·가로챈 응답의 종료와 setup/중도 실패/취소 정리 결과를 확인한 실행 증거는 없다. finally 존재만으로 전체 lifecycle 보장을 P 처리하지 않았다. error-cases/CASE-026-group-board-workout-follow-up-edit-round-trip/regression.spec.mjs:245 · error-cases/support/fixture.mjs:396 · error-cases/support/fixture.mjs:544 |
| 11. CASE 60초 | F | 정적 확인: 개별 test.setTimeout(240000)으로 240초를 허용하여 준비+본문의 60초 상한을 강제하지 않는다. 최초 시도가 60초 안에 통과한 사실은 허용 상한 위반을 해소하지 않는다. playwright.config.mjs:34 · error-cases/CASE-026-group-board-workout-follow-up-edit-round-trip/regression.spec.mjs:51 |
| 12. 동작 대기 10초 | F | 정적 확인: 공통 expect timeout이15초여서 1회10초 상한을 초과한다. 또한 개별 조건 대기에 30초 override를 사용한다. playwright.config.mjs:35 · error-cases/CASE-026-group-board-workout-follow-up-edit-round-trip/regression.spec.mjs:132 |
| 13. 자동 재시도 0 | F | 정적 확인: CI 환경에서 Playwright retries=1이 적용되어 CASE 전체 자동 재시도를 허용한다. 최초 실행 pass여도 재시도0 설정 기준을 충족하지 않는다. playwright.config.mjs:36 |
| 14. 우회·약화 금지 | F | 정적 확인: 개별 test.setTimeout(240000)은 공통120초보다도 timeout을 상향한다. 기준14의 timeout 상향 금지 위반이며 실제 실패를 숨기려는 의도까지 단정하지 않는다. error-cases/CASE-026-group-board-workout-follow-up-edit-round-trip/regression.spec.mjs:51 |
| 15. 실패 진단 증거 | U | 증거 범위: 공통 실패 trace/screenshot 및 CASE checkpoint·completion 첨부 경로는 있다. 이 CASE의 첫 실패에서 요청/탭/문서 세대·미완료 작업 식별, 본문/정리 오류 분리, 토큰·사용자 원문 비노출을 모두 확인한 artifact 검증은 수행하지 않았다. playwright.config.mjs:50 · error-cases/CASE-026-group-board-workout-follow-up-edit-round-trip/regression.spec.mjs:245 · error-cases/support/fixture.mjs:402 |
CASE-027
CASE-027 a group whiteboard composed, reopened, edited, and republished keeps the changed snapshot without a single user-facing error
기존 CI 최초 결과: passed, 10.055초. 품질 판정: 부적합. 확인 위반: 11, 12, 13번. 미검증: 4, 9, 10, 15.
| 기준 | 판정 | 근거 |
|---|---|---|
| 1. 목적·범위 | P | 정적 확인: CASE manifest의 입력·행동·기대 결과 및 실행 profile이 실제 UI/인증 RPC/원본 readback checkpoint에 연결되어 있다. local-auth-admin-full-stack. error-cases/CASE-027-group-board-edit-resave-round-trip/case.json:12 · error-cases/CASE-027-group-board-edit-resave-round-trip/regression.spec.mjs:45 |
| 2. 시작 조건·재현성 | P | 정적 확인: 고유 group board를 60kg×5로 만들고 같은 종목에서80kg 수정 입력을 준비한다. 공통 fixture가 runToken·시작 ISO시각·서울 sessionDate를 보유하고 동일 tree 실행 SHA/환경은 통합 실행 증거로 식별한다. 임의 id는 데이터 분리에 사용한다. error-cases/CASE-027-group-board-edit-resave-round-trip/regression.spec.mjs:48 · error-cases/support/fixture.mjs:103 · error-cases/support/fixture.mjs:175 |
| 3. 독립성 | P | 정적 확인: local-auth-admin profile에서 신규 primary/필요시 disposable actor를 사용하며 CASE 자신의 owner/id와 고유 실행 제목을 대상으로 준비·조회한다. 다른 CASE 선행 결과를 입력으로 삼지 않는다. 자원 수명 전체의 성공·실패 보장은 10번에서 별도 판정한다. error-cases/CASE-027-group-board-edit-resave-round-trip/case.json:9 · error-cases/support/fixture.mjs:132 · error-cases/CASE-027-group-board-edit-resave-round-trip/regression.spec.mjs:48 |
| 4. 상태 기반 동기화 | U | 정적 확인: 실제 저장 또는 오류 표면을 기다리고 서버 snapshot을 확인한 뒤 reload한다. 별도로 networkidle/RPC quiet를 reload 또는 종료 gate로 사용한다. 이 대기가 필요한 작업의 완료를 대표하는지와 취소·문서 교체 시 정상 주기 작업과 구별되는지는 개별 spec만으로 확인하지 못했다. 단순 networkidle 문자열 존재만으로 F로 단정하지 않았다. error-cases/CASE-027-group-board-edit-resave-round-trip/regression.spec.mjs:88 · error-cases/CASE-027-group-board-edit-resave-round-trip/regression.spec.mjs:179 |
| 5. 독립 기대값 | P | 정적 확인: 동일 board id/group/owner/종목 및 reps5를 유지하면서 load80·updated_at 변경을 원본/RPC에 대조한다. 검사 대상 앱 계산 함수를 다시 호출해 기대값을 만들지 않는다. error-cases/CASE-027-group-board-edit-resave-round-trip/regression.spec.mjs:159 |
| 6. 상황 실제 발생 | P | 정적 확인: reload한 실제 board를 편집하고 최초60을 확인한 뒤80으로 재저장한다. 동일 tree hosted 첫 실행 통과는 부모의 통합 실행 증거로 확인되었으며, 대표 결함 탐지 증거와는 구분한다. error-cases/CASE-027-group-board-edit-resave-round-trip/regression.spec.mjs:148 |
| 7. 경계·금지 부작용 | P | 정적 확인: 서버 board 하나와 동일 id, 종목/횟수 보존, reload80kg 및 최종 group/board 삭제를 검사한다. error-cases/CASE-027-group-board-edit-resave-round-trip/regression.spec.mjs:95 |
| 8. 필수 단언 완결성 | P | 정적 확인: 개별 checkpoint의 비어 있지 않은 assertion callback과 실제 UI/RPC/원본 조건을 await한 뒤 completeJourney를 호출한다. 서버 board 하나와 동일 id, 종목/횟수 보존, reload80kg 및 최종 group/board 삭제를 검사한다. 허용 오류 및 예상 밖 오류의 마지막 검사는 공통 completion에 연결된다. error-cases/CASE-027-group-board-edit-resave-round-trip/regression.spec.mjs:95 · error-cases/CASE-027-group-board-edit-resave-round-trip/regression.spec.mjs:178 · error-cases/support/fixture.mjs:362 |
| 9. 결함 탐지·공통 도구 | U | 실행 증거 미확인: 동일 tree hosted 최초 시도 통과는 확인되었으나 해당 목적의 대표 결함을 넣어 목표 단언에서 실패한 실제 로그/trace를 이 감사에서 확인하지 못했다. manifest의 과거 prePatchProof 선언이나 expect 존재만으로 P를 부여하지 않았다. 공통 도구의 취소·reload·중도 실패 관련 검증과 이 CASE의 연결도 별도 증거가 필요하다. error-cases/CASE-027-group-board-edit-resave-round-trip/case.json:12 · error-cases/CASE-027-group-board-edit-resave-round-trip/regression.spec.mjs:159 |
| 10. 자원 정리 | U | 정적 확인: c.completeJourney의 정리 readback 및 공통 fixture finally는 존재한다. 그러나 이 CASE가 소유한 모든 요청·listener·탭·가로챈 응답의 종료와 setup/중도 실패/취소 정리 결과를 확인한 실행 증거는 없다. finally 존재만으로 전체 lifecycle 보장을 P 처리하지 않았다. error-cases/CASE-027-group-board-edit-resave-round-trip/regression.spec.mjs:178 · error-cases/support/fixture.mjs:396 · error-cases/support/fixture.mjs:544 |
| 11. CASE 60초 | F | 정적 확인: 공통 CASE timeout 120초를 허용하여 준비+본문의 60초 상한을 강제하지 않는다. 최초 시도가 60초 안에 통과한 사실은 허용 상한 위반을 해소하지 않는다. playwright.config.mjs:34 |
| 12. 동작 대기 10초 | F | 정적 확인: 공통 expect timeout이15초여서 1회10초 상한을 초과한다. 또한 개별 조건 대기에 30초 override를 사용한다. playwright.config.mjs:35 · error-cases/CASE-027-group-board-edit-resave-round-trip/regression.spec.mjs:88 |
| 13. 자동 재시도 0 | F | 정적 확인: CI 환경에서 Playwright retries=1이 적용되어 CASE 전체 자동 재시도를 허용한다. 최초 실행 pass여도 재시도0 설정 기준을 충족하지 않는다. playwright.config.mjs:36 |
| 14. 우회·약화 금지 | P | 정적 확인: 개별 spec에 활성 only/fixme 또는 본문 조기 성공·시간 초과 무시를 확인하지 못했다. 준비 환경 부족 skip은 CI에서는 fixture가 먼저 오류를 발생시키므로 필수 CI 생략의 근거로 처리하지 않았다. 11~13의 공통 설정 위반은 별도로 기록했다. error-cases/CASE-027-group-board-edit-resave-round-trip/regression.spec.mjs:45 · error-cases/support/fixture.mjs:70 |
| 15. 실패 진단 증거 | U | 증거 범위: 공통 실패 trace/screenshot 및 CASE checkpoint·completion 첨부 경로는 있다. 이 CASE의 첫 실패에서 요청/탭/문서 세대·미완료 작업 식별, 본문/정리 오류 분리, 토큰·사용자 원문 비노출을 모두 확인한 artifact 검증은 수행하지 않았다. playwright.config.mjs:50 · error-cases/CASE-027-group-board-edit-resave-round-trip/regression.spec.mjs:178 · error-cases/support/fixture.mjs:402 |
CASE-028
CASE-028 a live workout saved on the finish screen can go back for one more set and resave with the added set without a single user-facing error
기존 CI 최초 결과: passed, 12.922초. 품질 판정: 부적합. 확인 위반: 8, 11, 12, 13, 14번. 미검증: 4, 9, 10, 15.
| 기준 | 판정 | 근거 |
|---|---|---|
| 1. 목적·범위 | P | 정적 확인: CASE manifest의 입력·행동·기대 결과 및 실행 profile이 실제 UI/인증 RPC/원본 readback checkpoint에 연결되어 있다. local-auth-admin-full-stack. error-cases/CASE-028-finish-back-one-more-set-resave-round-trip/case.json:12 · error-cases/CASE-028-finish-back-one-more-set-resave-round-trip/regression.spec.mjs:26 |
| 2. 시작 조건·재현성 | P | 정적 확인: 처음60kg×5 두 세트와 추가70kg×5 입력을 고정하고 완료 기록 revision1과 두 원본 세트를 확인한다. 공통 fixture가 runToken·시작 ISO시각·서울 sessionDate를 보유하고 동일 tree 실행 SHA/환경은 통합 실행 증거로 식별한다. 임의 id는 데이터 분리에 사용한다. error-cases/CASE-028-finish-back-one-more-set-resave-round-trip/regression.spec.mjs:34 · error-cases/support/fixture.mjs:103 · error-cases/support/fixture.mjs:175 |
| 3. 독립성 | P | 정적 확인: local-auth-admin profile에서 신규 primary/필요시 disposable actor를 사용하며 CASE 자신의 owner/id와 고유 실행 제목을 대상으로 준비·조회한다. 다른 CASE 선행 결과를 입력으로 삼지 않는다. 자원 수명 전체의 성공·실패 보장은 10번에서 별도 판정한다. error-cases/CASE-028-finish-back-one-more-set-resave-round-trip/case.json:9 · error-cases/support/fixture.mjs:132 · error-cases/CASE-028-finish-back-one-more-set-resave-round-trip/regression.spec.mjs:34 |
| 4. 상태 기반 동기화 | U | 정적 확인: resave 후에 시작된 해당 get_session_detail 요청을 request sequence로 식별하고 HTTP200·pending 부재를 확인한다. 별도로 networkidle/RPC quiet를 reload 또는 종료 gate로 사용한다. 이 대기가 필요한 작업의 완료를 대표하는지와 취소·문서 교체 시 정상 주기 작업과 구별되는지는 개별 spec만으로 확인하지 못했다. 단순 networkidle 문자열 존재만으로 F로 단정하지 않았다. error-cases/CASE-028-finish-back-one-more-set-resave-round-trip/regression.spec.mjs:43 · error-cases/CASE-028-finish-back-one-more-set-resave-round-trip/regression.spec.mjs:208 |
| 5. 독립 기대값 | P | 정적 확인: 추가 후 revision2·정확히3개 세트·[60,60,70]이라는 독립 입력으로 원본을 검사한다. 검사 대상 앱 계산 함수를 다시 호출해 기대값을 만들지 않는다. error-cases/CASE-028-finish-back-one-more-set-resave-round-trip/regression.spec.mjs:194 |
| 6. 상황 실제 발생 | P | 정적 확인: 완료 화면의 한 세트 더 버튼으로 실제 돌아가 세 번째 세트를 기록하고 재저장한다. 동일 tree hosted 첫 실행 통과는 부모의 통합 실행 증거로 확인되었으며, 대표 결함 탐지 증거와는 구분한다. error-cases/CASE-028-finish-back-one-more-set-resave-round-trip/regression.spec.mjs:168 |
| 7. 경계·금지 부작용 | P | 정적 확인: 두 번의 완료가 같은 저장 기록을 갱신하고 실제 세트 수3 및 pending 소멸을 확인한다. error-cases/CASE-028-finish-back-one-more-set-resave-round-trip/regression.spec.mjs:194 |
| 8. 필수 단언 완결성 | F | 정적 확인: manifest와 reload checkpoint는 세 세트 모두의 표시를 요구하나 마지막 화면 단언은 종목명·70kg·실패 표시 부재뿐이다. 최초60kg 두 세트나 화면의 총3세트를 단언하지 않아 추가 세트만 렌더링되어도 이 checkpoint는 통과한다. error-cases/CASE-028-finish-back-one-more-set-resave-round-trip/case.json:12 · error-cases/CASE-028-finish-back-one-more-set-resave-round-trip/regression.spec.mjs:194 · error-cases/CASE-028-finish-back-one-more-set-resave-round-trip/regression.spec.mjs:202 · error-cases/CASE-028-finish-back-one-more-set-resave-round-trip/regression.spec.mjs:213 · error-cases/CASE-028-finish-back-one-more-set-resave-round-trip/regression.spec.mjs:214 · error-cases/CASE-028-finish-back-one-more-set-resave-round-trip/regression.spec.mjs:215 |
| 9. 결함 탐지·공통 도구 | U | 실행 증거 미확인: 동일 tree hosted 최초 시도 통과는 확인되었으나 해당 목적의 대표 결함을 넣어 목표 단언에서 실패한 실제 로그/trace를 이 감사에서 확인하지 못했다. manifest의 과거 prePatchProof 선언이나 expect 존재만으로 P를 부여하지 않았다. 공통 도구의 취소·reload·중도 실패 관련 검증과 이 CASE의 연결도 별도 증거가 필요하다. error-cases/CASE-028-finish-back-one-more-set-resave-round-trip/case.json:12 · error-cases/CASE-028-finish-back-one-more-set-resave-round-trip/regression.spec.mjs:194 |
| 10. 자원 정리 | U | 정적 확인: c.completeJourney의 정리 readback 및 공통 fixture finally는 존재한다. 그러나 이 CASE가 소유한 모든 요청·listener·탭·가로챈 응답의 종료와 setup/중도 실패/취소 정리 결과를 확인한 실행 증거는 없다. finally 존재만으로 전체 lifecycle 보장을 P 처리하지 않았다. error-cases/CASE-028-finish-back-one-more-set-resave-round-trip/regression.spec.mjs:220 · error-cases/support/fixture.mjs:396 · error-cases/support/fixture.mjs:544 |
| 11. CASE 60초 | F | 정적 확인: 개별 test.setTimeout(240000)으로 240초를 허용하여 준비+본문의 60초 상한을 강제하지 않는다. 최초 시도가 60초 안에 통과한 사실은 허용 상한 위반을 해소하지 않는다. playwright.config.mjs:34 · error-cases/CASE-028-finish-back-one-more-set-resave-round-trip/regression.spec.mjs:31 |
| 12. 동작 대기 10초 | F | 정적 확인: 공통 expect timeout이15초여서 1회10초 상한을 초과한다. 또한 개별 조건 대기에 30초 override를 사용한다. playwright.config.mjs:35 · error-cases/CASE-028-finish-back-one-more-set-resave-round-trip/regression.spec.mjs:93 |
| 13. 자동 재시도 0 | F | 정적 확인: CI 환경에서 Playwright retries=1이 적용되어 CASE 전체 자동 재시도를 허용한다. 최초 실행 pass여도 재시도0 설정 기준을 충족하지 않는다. playwright.config.mjs:36 |
| 14. 우회·약화 금지 | F | 정적 확인: 개별 test.setTimeout(240000)은 공통120초보다도 timeout을 상향한다. 기준14의 timeout 상향 금지 위반이며 실제 실패를 숨기려는 의도까지 단정하지 않는다. error-cases/CASE-028-finish-back-one-more-set-resave-round-trip/regression.spec.mjs:31 |
| 15. 실패 진단 증거 | U | 증거 범위: 공통 실패 trace/screenshot 및 CASE checkpoint·completion 첨부 경로는 있다. 이 CASE의 첫 실패에서 요청/탭/문서 세대·미완료 작업 식별, 본문/정리 오류 분리, 토큰·사용자 원문 비노출을 모두 확인한 artifact 검증은 수행하지 않았다. playwright.config.mjs:50 · error-cases/CASE-028-finish-back-one-more-set-resave-round-trip/regression.spec.mjs:220 · error-cases/support/fixture.mjs:402 |
CASE-029
CASE-029 a completed record edited and deleted while the write RPC answers 503 is closed at once, kept on the device, and uploaded after connectivity recovers without a single user-facing error
기존 CI 최초 결과: passed, 96.681초. 품질 판정: 부적합. 확인 위반: 8, 11, 12, 13, 14번. 미검증: 4, 9, 10, 15.
| 기준 | 판정 | 근거 |
|---|---|---|
| 1. 목적·범위 | P | 정적 확인: 이름에 offline이 있지만 실제 테스트명·주석·manifest는 write RPC가503으로 응답하는 동안의 queue/recovery 범위로 한정한다. native offline이나 외부망 전체를 실제 검사했다고 과장하지 않는다. error-cases/CASE-029-offline-edit-delete-queue-flush-round-trip/regression.spec.mjs:11 · error-cases/CASE-029-offline-edit-delete-queue-flush-round-trip/regression.spec.mjs:47 · error-cases/CASE-029-offline-edit-delete-queue-flush-round-trip/regression.spec.mjs:116 |
| 2. 시작 조건·재현성 | P | 정적 확인: update/delete별 정확한503와 recovery gate, plan update503/replay gate를 준비하고 초기2개60×5 완료 원본을 확인한다. 공통 fixture가 runToken·시작 ISO시각·서울 sessionDate를 보유하고 동일 tree 실행 SHA/환경은 통합 실행 증거로 식별한다. 임의 id는 데이터 분리에 사용한다. error-cases/CASE-029-offline-edit-delete-queue-flush-round-trip/regression.spec.mjs:78 · error-cases/support/fixture.mjs:103 · error-cases/support/fixture.mjs:175 |
| 3. 독립성 | P | 정적 확인: local-auth-admin profile에서 신규 primary/필요시 disposable actor를 사용하며 CASE 자신의 owner/id와 고유 실행 제목을 대상으로 준비·조회한다. 다른 CASE 선행 결과를 입력으로 삼지 않는다. 자원 수명 전체의 성공·실패 보장은 10번에서 별도 판정한다. error-cases/CASE-029-offline-edit-delete-queue-flush-round-trip/case.json:9 · error-cases/support/fixture.mjs:132 · error-cases/CASE-029-offline-edit-delete-queue-flush-round-trip/regression.spec.mjs:78 |
| 4. 상태 기반 동기화 | U | 정적 확인: 요청 sequence로 recovery가 해당503 뒤 시작됐음을 확인하고 phase gate를 명시 해제한 뒤 replay/pending/원본을 기다린다. 별도로 networkidle/RPC quiet를 reload 또는 종료 gate로 사용한다. 이 대기가 필요한 작업의 완료를 대표하는지와 취소·문서 교체 시 정상 주기 작업과 구별되는지는 개별 spec만으로 확인하지 못했다. 단순 networkidle 문자열 존재만으로 F로 단정하지 않았다. error-cases/CASE-029-offline-edit-delete-queue-flush-round-trip/regression.spec.mjs:321 · error-cases/CASE-029-offline-edit-delete-queue-flush-round-trip/regression.spec.mjs:518 |
| 5. 독립 기대값 | P | 정적 확인: owner pending identity/hash/body의 정확한 보존, 실제 원본 revision·행 수·중량 및 삭제 후 모든 자식 부재를 독립 기대값으로 검사한다. 검사 대상 앱 계산 함수를 다시 호출해 기대값을 만들지 않는다. error-cases/CASE-029-offline-edit-delete-queue-flush-round-trip/regression.spec.mjs:347 |
| 6. 상황 실제 발생 | P | 정적 확인: 각 write503, 장애 뒤 시작된 실제 workspace 보류, replay200 및 정확한 횟수를 기록하고 plan은[503,200]을 확인한다. 동일 tree hosted 첫 실행 통과는 부모의 통합 실행 증거로 확인되었으며, 대표 결함 탐지 증거와는 구분한다. error-cases/CASE-029-offline-edit-delete-queue-flush-round-trip/regression.spec.mjs:315 |
| 7. 경계·금지 부작용 | P | 정적 확인: 즉시 UI 닫힘과 pending1개, 미복구 서버 불변, replay body 동일성·중복 부재, delete child 소멸 및 계획80×5 재진입을 검사한다. error-cases/CASE-029-offline-edit-delete-queue-flush-round-trip/regression.spec.mjs:349 |
| 8. 필수 단언 완결성 | F | 정적 확인: completeJourney가 journey-completion 증거를 기록한 뒤 update/delete attempts, plan body 수와[503,200] 최종 단언이 실행된다. 후속 실패가 테스트 자체를 통과시키지는 않으나 모든 필수 단언 성공 후 완료 증거를 기록하는 순서가 아니다. error-cases/CASE-029-offline-edit-delete-queue-flush-round-trip/case.json:12 · error-cases/CASE-029-offline-edit-delete-queue-flush-round-trip/regression.spec.mjs:711 · error-cases/CASE-029-offline-edit-delete-queue-flush-round-trip/regression.spec.mjs:721 · error-cases/CASE-029-offline-edit-delete-queue-flush-round-trip/regression.spec.mjs:722 · error-cases/CASE-029-offline-edit-delete-queue-flush-round-trip/regression.spec.mjs:723 · error-cases/support/fixture.mjs:402 |
| 9. 결함 탐지·공통 도구 | U | 실행 증거 미확인: 동일 tree hosted 최초 시도 통과는 확인되었으나 해당 목적의 대표 결함을 넣어 목표 단언에서 실패한 실제 로그/trace를 이 감사에서 확인하지 못했다. manifest의 과거 prePatchProof 선언이나 expect 존재만으로 P를 부여하지 않았다. 공통 도구의 취소·reload·중도 실패 관련 검증과 이 CASE의 연결도 별도 증거가 필요하다. error-cases/CASE-029-offline-edit-delete-queue-flush-round-trip/case.json:12 · error-cases/CASE-029-offline-edit-delete-queue-flush-round-trip/regression.spec.mjs:347 |
| 10. 자원 정리 | U | 정적 확인: 실제 fault 활성화는 try 안에서 이루어지고 finally에서 plan 및 각 recovery gate를 release한다. 그러나 release 뒤 route 처리의 실제 종료, 모든 request/response listener·toast MutationObserver의 해제와 실패 경로 정리 결과까지 확인한 증거는 없다. finally 존재만으로 전체 수명 보장을 P 처리하지 않았다. error-cases/CASE-029-offline-edit-delete-queue-flush-round-trip/regression.spec.mjs:211 · error-cases/CASE-029-offline-edit-delete-queue-flush-round-trip/regression.spec.mjs:287 · error-cases/CASE-029-offline-edit-delete-queue-flush-round-trip/regression.spec.mjs:725 · error-cases/CASE-029-offline-edit-delete-queue-flush-round-trip/regression.spec.mjs:728 · error-cases/CASE-029-offline-edit-delete-queue-flush-round-trip/regression.spec.mjs:747 |
| 11. CASE 60초 | F | 정적 확인: 이 CASE에 적용되는 timeout이 60초를 초과하도록 설정되어 있다. 동일 tree의 CI 최초 시도에서 리포터가 기록한 총시간은 96.681초다. 총시간에서 별도 정리 시간이 분리되지 않았으므로 이 수치만으로 개별 준비·본문의 60초 초과를 단정하지 않는다. 부적합의 확정 근거는 제한 설정이다. playwright.config.mjs:34 · error-cases/CASE-029-offline-edit-delete-queue-flush-round-trip/regression.spec.mjs:52 |
| 12. 동작 대기 10초 | F | 정적 확인: 공통 expect timeout이15초여서 1회10초 상한을 초과한다. 또한 개별 조건 대기에 90초 override를 사용한다. playwright.config.mjs:35 · error-cases/CASE-029-offline-edit-delete-queue-flush-round-trip/regression.spec.mjs:435 |
| 13. 자동 재시도 0 | F | 정적 확인: CI 환경에서 Playwright retries=1이 적용되어 CASE 전체 자동 재시도를 허용한다. 최초 실행 pass여도 재시도0 설정 기준을 충족하지 않는다. playwright.config.mjs:36 |
| 14. 우회·약화 금지 | F | 정적 확인: 개별 test.setTimeout(240000)은 공통120초보다도 timeout을 상향한다. 기준14의 timeout 상향 금지 위반이며 실제 실패를 숨기려는 의도까지 단정하지 않는다. error-cases/CASE-029-offline-edit-delete-queue-flush-round-trip/regression.spec.mjs:52 |
| 15. 실패 진단 증거 | U | 증거 범위: 공통 실패 trace/screenshot 및 CASE checkpoint·completion 첨부 경로는 있다. 이 CASE의 첫 실패에서 요청/탭/문서 세대·미완료 작업 식별, 본문/정리 오류 분리, 토큰·사용자 원문 비노출을 모두 확인한 artifact 검증은 수행하지 않았다. playwright.config.mjs:50 · error-cases/CASE-029-offline-edit-delete-queue-flush-round-trip/regression.spec.mjs:708 · error-cases/support/fixture.mjs:402 |
CASE-030
CASE-030 an assisted pull-up set recorded with 20kg of assistance is saved as a 60kg effective load and renders as 보조 20kg × 8회 without a single user-facing error
기존 CI 최초 결과: passed, 9.336초. 품질 판정: 부적합. 확인 위반: 11, 12, 13, 14번. 미검증: 2, 9, 10, 15.
CASE-031
CASE-031 a custom exercise registered as two dumbbells stores load_multiplier 2, doubles the effective load of a 20kg × 10 set and still renders as 20kg × 10회 without a single user-facing error
기존 CI 최초 결과: passed, 8.437초. 품질 판정: 부적합. 확인 위반: 11, 12, 13, 14번. 미검증: 9, 10, 15.
| 기준 | 판정 | 근거 |
|---|---|---|
| 1. 목적·범위 | P | 정적 코드 확인: 커스텀 배수선택·실제 저장의 스냅샷·재진입 표시를 검증한다 error-cases/CASE-031-custom-dumbbell-load-multiplier-round-trip/regression.spec.mjs:3 |
| 2. 시작 조건·재현성 | P | 정적 코드 확인: runToken으로 커스텀종목/세션을 만들고 입력 기본 선택과 저장조건을 확인한다. 날짜·실행환경은 공통 fixture에 의존한다 error-cases/CASE-031-custom-dumbbell-load-multiplier-round-trip/regression.spec.mjs:34 |
| 3. 독립성 | P | 정적 코드 확인: CASE별 임시 owner와 runToken을 사용하고 다른 CASE의 선행 실행을 호출하지 않는다. 허용된 단일-worker local 경로 기준이며 새 독립 실행은 하지 않았다. error-cases/CASE-031-custom-dumbbell-load-multiplier-round-trip/regression.spec.mjs:27 · error-cases/support/fixture.mjs:102 |
| 4. 상태 기반 동기화 | P | 정적 코드 확인: UI 상태와 저장 완료/revision을 확인한 뒤 다음 행동을 한다 error-cases/CASE-031-custom-dumbbell-load-multiplier-round-trip/regression.spec.mjs:77 |
| 5. 독립 기대값 | P | 정적 코드 확인: 20×2=40 유효무게 및 ×10=400 볼륨을 독립 상수/산술로 비교한다 error-cases/CASE-031-custom-dumbbell-load-multiplier-round-trip/regression.spec.mjs:120 |
| 6. 상황 실제 발생 | P | 정적 코드 확인: 배수1→2 선택 aria 상태와 저장된 load_multiplier2를 함께 확인한다 error-cases/CASE-031-custom-dumbbell-load-multiplier-round-trip/regression.spec.mjs:68 |
| 7. 경계·금지 부작용 | P | 정적 코드 확인: 행수1, assist null, 체중계수0, 재진입에서40kg 대신20kg 표기를 단언한다 error-cases/CASE-031-custom-dumbbell-load-multiplier-round-trip/regression.spec.mjs:133 |
| 8. 필수 단언 완결성 | P | 정적 코드 확인: 이 CASE의 핵심 검증과 prove/completeJourney를 await하며, 공통 fixture가 선언 외 오류와 완료 신호 누락을 거절한다. callback 집계만으로 단언 의미·결함 탐지력이 입증되는 것은 아니다. error-cases/CASE-031-custom-dumbbell-load-multiplier-round-trip/regression.spec.mjs:27 · error-cases/support/fixture.mjs:203 · error-cases/support/fixture.mjs:343 |
| 9. 결함 탐지·공통 도구 | U | 감사한 spec/manifest와 제공된 정상 실행 결과만으로 목표 결함의 음성 대조(정상 통과·목표 단언 실패) 및 공통 도구의 관련 취소/새로고침/중도실패 경로 검증을 입증할 수 없다. 이번 감사에서 결함 주입 실행은 하지 않았다. error-cases/CASE-031-custom-dumbbell-load-multiplier-round-trip/regression.spec.mjs:27 · error-cases/CASE-031-custom-dumbbell-load-multiplier-round-trip/case.json:1 |
| 10. 자원 정리 | U | 정적 코드 확인: 계정삭제 경로는 있으나 감시기·리스너의 실패 종료/정리 결과는 별도 증거가 없다 error-cases/CASE-031-custom-dumbbell-load-multiplier-round-trip/regression.spec.mjs:169 |
| 11. CASE 60초 | F | 정적 설정 위반: test.setTimeout(180,000ms)로 개별 준비+본문에 60초 초과를 허용한다. error-cases/CASE-031-custom-dumbbell-load-multiplier-round-trip/regression.spec.mjs:31 |
| 12. 동작 대기 10초 | F | 정적 설정 위반: 일반 runner의 expect15초를 상속하고 action/navigation의10초 상한도 설정되어 있지 않다. playwright.config.mjs:35 · playwright.config.mjs:45 |
| 13. 자동 재시도 0 | F | 정적 설정 위반: 개별 retries override 없이 CI에서 CASE 전체 자동 재시도1회를 상속한다. 한 시도 안 assertion polling과는 별개이며 집계의 재시도 합격 거절이 재실행 자체를 막지는 않는다. playwright.config.mjs:36 |
| 14. 우회·약화 금지 | F | 정적 코드 위반: CASE별 timeout을 180초로 다시 상향하여 60초 상한을 우회한다. 실패를 통과로 바꾼 실행이 관측됐다는 뜻은 아니다. error-cases/CASE-031-custom-dumbbell-load-multiplier-round-trip/regression.spec.mjs:31 |
| 15. 실패 진단 증거 | U | 정적 설정상 첫 실패 trace/스크린샷과 CASE 단계는 남길 수 있다. 모든 실패에서 요청·탭·문서세대·보류작업 식별, 최초/정리 오류 구분, 진단자료 비밀정보 배제까지 보장하는 CASE별 증거는 확인하지 못했다. playwright.config.mjs:50 · error-cases/CASE-031-custom-dumbbell-load-multiplier-round-trip/regression.spec.mjs:27 · error-cases/support/fixture.mjs:544 |
CASE-032
CASE-032 the finish-screen 기록 삭제 closes the workout before the delete response and the queued delete reaches the server exactly once without a detail re-fetch
기존 CI 최초 결과: passed, 11.922초. 품질 판정: 부적합. 확인 위반: 11, 12, 13, 14번. 미검증: 9, 10, 15.
CASE-033
CASE-033 a two-movement composite is saved as one exercise with two parts, grows to three set rows through 수정, counts 3 sets on the day, drops to 2 after a set delete, and never shows a user-facing error
기존 CI 최초 결과: passed, 28.130초. 품질 판정: 부적합. 확인 위반: 11, 12, 13, 14번. 미검증: 9, 10, 15.
CASE-034
CASE-034 a two-set plan saved in the mobile editor shows set_count 2 on the home card, and completing only one set through the live workout turns the same row into a completed session with one set row, removes the card, and never shows a user-facing error
기존 CI 최초 결과: passed, 15.452초. 품질 판정: 부적합. 확인 위반: 11, 12, 13, 14번. 미검증: 2, 9, 10, 15.
CASE-035
CASE-035 a group board published by the owner is a planned group session, a member starting from it saves a completed session with the board origin that appears in the group day list, and neither actor sees a user-facing error
기존 CI 최초 결과: passed, 12.088초. 품질 판정: 부적합. 확인 위반: 11, 12, 13, 14번. 미검증: 2, 9, 10, 15.
CASE-036
CASE-036 the live v5 record survives retired RPC rejection and the browser displays the LG426 update requirement with retained input
기존 CI 최초 결과: passed, 11.755초. 품질 판정: 부적합. 확인 위반: 11, 12, 13, 14번. 미검증: 4, 9, 10, 15.
| 기준 | 판정 | 근거 |
|---|---|---|
| 1. 목적·범위 | P | 정적 코드 확인: 8개 retired RPC는 실제 호출하고 브라우저 경계는 v5요청에 실제 v4 거부응답을 전달한다 error-cases/CASE-036-retired-write-contract-update-notice-round-trip/regression.spec.mjs:173 |
| 2. 시작 조건·재현성 | P | 정적 코드 확인: 정상 v5 baseline의 revision1·세트값을 확인하고 거부실험을 시작한다 error-cases/CASE-036-retired-write-contract-update-notice-round-trip/regression.spec.mjs:106 |
| 3. 독립성 | P | 정적 코드 확인: CASE별 임시 owner와 runToken을 사용하고 다른 CASE의 선행 실행을 호출하지 않는다. 허용된 단일-worker local 경로 기준이며 새 독립 실행은 하지 않았다. error-cases/CASE-036-retired-write-contract-update-notice-round-trip/regression.spec.mjs:39 · error-cases/support/fixture.mjs:102 |
| 4. 상태 기반 동기화 | U | 정적 코드 확인: online/visibilitychange 뒤 자동재전송 없음의 관측 경계를 전체요청 quiet로 정한다. 예약된 이후 작업까지 종료됐다는 사건 증거는 없다 error-cases/CASE-036-retired-write-contract-update-notice-round-trip/regression.spec.mjs:208 |
| 5. 독립 기대값 | P | 정적 코드 확인: 8개 고정 RPC의 LG426·revision1 불변·추가행0·blocked 상태를 독립 기대한다 error-cases/CASE-036-retired-write-contract-update-notice-round-trip/regression.spec.mjs:120 |
| 6. 상황 실제 발생 | P | 정적 코드 확인: 실제 retired서버400/LG426 응답 확인 후 브라우저에 전달하고 declared실패횟수를 공통게이트로 검사한다 error-cases/CASE-036-retired-write-contract-update-notice-round-trip/regression.spec.mjs:173 |
| 7. 경계·금지 부작용 | P | 정적 코드 확인: 원본revision/행id 불변·stray세션0·거절새기록/영수증0·재전송1회를 확인한다 error-cases/CASE-036-retired-write-contract-update-notice-round-trip/regression.spec.mjs:141 |
| 8. 필수 단언 완결성 | P | 정적 코드 확인: 이 CASE의 핵심 검증과 prove/completeJourney를 await하며, 공통 fixture가 선언 외 오류와 완료 신호 누락을 거절한다. callback 집계만으로 단언 의미·결함 탐지력이 입증되는 것은 아니다. error-cases/CASE-036-retired-write-contract-update-notice-round-trip/regression.spec.mjs:39 · error-cases/support/fixture.mjs:203 · error-cases/support/fixture.mjs:343 |
| 9. 결함 탐지·공통 도구 | U | 감사한 spec/manifest와 제공된 정상 실행 결과만으로 목표 결함의 음성 대조(정상 통과·목표 단언 실패) 및 공통 도구의 관련 취소/새로고침/중도실패 경로 검증을 입증할 수 없다. 이번 감사에서 결함 주입 실행은 하지 않았다. error-cases/CASE-036-retired-write-contract-update-notice-round-trip/regression.spec.mjs:39 · error-cases/CASE-036-retired-write-contract-update-notice-round-trip/case.json:1 |
| 10. 자원 정리 | U | 정적 코드 확인: 계정정리는 있으나 save응답대기/route/요청추적의 중도실패·세대전환 종료 증거는 없다 error-cases/CASE-036-retired-write-contract-update-notice-round-trip/regression.spec.mjs:222 |
| 11. CASE 60초 | F | 정적 설정 위반: test.setTimeout(240,000ms)로 개별 준비+본문에 60초 초과를 허용한다. error-cases/CASE-036-retired-write-contract-update-notice-round-trip/regression.spec.mjs:43 |
| 12. 동작 대기 10초 | F | 정적 설정 위반: 일반 runner의 expect15초를 상속하고 action/navigation의10초 상한도 설정되어 있지 않다. playwright.config.mjs:35 · playwright.config.mjs:45 |
| 13. 자동 재시도 0 | F | 정적 설정 위반: 개별 retries override 없이 CI에서 CASE 전체 자동 재시도1회를 상속한다. 한 시도 안 assertion polling과는 별개이며 집계의 재시도 합격 거절이 재실행 자체를 막지는 않는다. playwright.config.mjs:36 |
| 14. 우회·약화 금지 | F | 정적 코드 위반: CASE별 timeout을 240초로 다시 상향하여 60초 상한을 우회한다. 실패를 통과로 바꾼 실행이 관측됐다는 뜻은 아니다. error-cases/CASE-036-retired-write-contract-update-notice-round-trip/regression.spec.mjs:43 |
| 15. 실패 진단 증거 | U | 정적 설정상 첫 실패 trace/스크린샷과 CASE 단계는 남길 수 있다. 모든 실패에서 요청·탭·문서세대·보류작업 식별, 최초/정리 오류 구분, 진단자료 비밀정보 배제까지 보장하는 CASE별 증거는 확인하지 못했다. playwright.config.mjs:50 · error-cases/CASE-036-retired-write-contract-update-notice-round-trip/regression.spec.mjs:39 · error-cases/support/fixture.mjs:544 |
CASE-037
CASE-037 the home favorite board paints exercise names while get_exercise_catalog is held, keeps them after release, and paints them again on reload
기존 CI 최초 결과: passed, 4.264초. 품질 판정: 부적합. 확인 위반: 11, 12, 13, 14번. 미검증: 4, 6, 7, 9, 10, 15.
| 기준 | 판정 | 근거 |
|---|---|---|
| 1. 목적·범위 | P | 정적 코드 확인: 카탈로그 미도착 상태에서 이름/UUID부재와 cache/reload를 검사한다. 최초 paint 연속관측은 하지 않는다 error-cases/CASE-037-boot-exercise-names-without-catalog/regression.spec.mjs:108 |
| 2. 시작 조건·재현성 | P | 정적 코드 확인: 실제 system종목 favorite seed 성공을 확인하고 새페이지에서 앱을 연다 error-cases/CASE-037-boot-exercise-names-without-catalog/regression.spec.mjs:98 |
| 3. 독립성 | P | 정적 코드 확인: CASE별 임시 owner와 runToken을 사용하고 다른 CASE의 선행 실행을 호출하지 않는다. 허용된 단일-worker local 경로 기준이며 새 독립 실행은 하지 않았다. error-cases/CASE-037-boot-exercise-names-without-catalog/regression.spec.mjs:31 · error-cases/support/fixture.mjs:102 |
| 4. 상태 기반 동기화 | U | 정적 코드 확인: 응답해제 뒤 catalog 요청횟수와 networkidle만으로 도착 완료를 간주하며 해당응답 완료 사건을 직접 확인하지 않는다 error-cases/CASE-037-boot-exercise-names-without-catalog/regression.spec.mjs:167 |
| 5. 독립 기대값 | P | 정적 코드 확인: 독립 조회한 seeded catalog 이름·UUID금지·id없음·nonempty를 기대값으로 사용한다 error-cases/CASE-037-boot-exercise-names-without-catalog/regression.spec.mjs:75 |
| 6. 상황 실제 발생 | U | 정적 코드 확인: hold flag만 확인하며 최초 catalog hit는 release 후170행에서 확인한다. 재부팅은204행 >=로 증가0도 허용하여 실제 보류 요청 발생 증거가 부족하다 error-cases/CASE-037-boot-exercise-names-without-catalog/regression.spec.mjs:119 |
| 7. 경계·금지 부작용 | U | 정적 코드 확인: nonempty·seed존재·UUID금지·v3cache부재는 단언한다. 첫 paint의 순간적인 UUID노출까지 포착하는 증거는 없다 error-cases/CASE-037-boot-exercise-names-without-catalog/regression.spec.mjs:75 |
| 8. 필수 단언 완결성 | P | 정적 코드 확인: 이 CASE의 핵심 검증과 prove/completeJourney를 await하며, 공통 fixture가 선언 외 오류와 완료 신호 누락을 거절한다. callback 집계만으로 단언 의미·결함 탐지력이 입증되는 것은 아니다. error-cases/CASE-037-boot-exercise-names-without-catalog/regression.spec.mjs:31 · error-cases/support/fixture.mjs:203 · error-cases/support/fixture.mjs:343 |
| 9. 결함 탐지·공통 도구 | U | 감사한 spec/manifest와 제공된 정상 실행 결과만으로 목표 결함의 음성 대조(정상 통과·목표 단언 실패) 및 공통 도구의 관련 취소/새로고침/중도실패 경로 검증을 입증할 수 없다. 이번 감사에서 결함 주입 실행은 하지 않았다. error-cases/CASE-037-boot-exercise-names-without-catalog/regression.spec.mjs:31 · error-cases/CASE-037-boot-exercise-names-without-catalog/case.json:1 |
| 10. 자원 정리 | U | 정적 코드 확인: finally 현재gate를 풀지만 재arm/새로고침/중도실패에서 모든 보류route가 종료되는지 미검증이다 error-cases/CASE-037-boot-exercise-names-without-catalog/regression.spec.mjs:230 |
| 11. CASE 60초 | F | 정적 설정 위반: test.setTimeout(180,000ms)로 개별 준비+본문에 60초 초과를 허용한다. error-cases/CASE-037-boot-exercise-names-without-catalog/regression.spec.mjs:35 |
| 12. 동작 대기 10초 | F | 정적 설정 위반: 초기/재진입 board 및 cache 등20초 대기를 허용한다 error-cases/CASE-037-boot-exercise-names-without-catalog/regression.spec.mjs:113 · playwright.config.mjs:45 |
| 13. 자동 재시도 0 | F | 정적 설정 위반: 개별 retries override 없이 CI에서 CASE 전체 자동 재시도1회를 상속한다. 한 시도 안 assertion polling과는 별개이며 집계의 재시도 합격 거절이 재실행 자체를 막지는 않는다. playwright.config.mjs:36 |
| 14. 우회·약화 금지 | F | 정적 코드 위반: CASE별 timeout을 180초로 다시 상향하여 60초 상한을 우회한다. 실패를 통과로 바꾼 실행이 관측됐다는 뜻은 아니다. error-cases/CASE-037-boot-exercise-names-without-catalog/regression.spec.mjs:35 |
| 15. 실패 진단 증거 | U | 정적 설정상 첫 실패 trace/스크린샷과 CASE 단계는 남길 수 있다. 모든 실패에서 요청·탭·문서세대·보류작업 식별, 최초/정리 오류 구분, 진단자료 비밀정보 배제까지 보장하는 CASE별 증거는 확인하지 못했다. playwright.config.mjs:50 · error-cases/CASE-037-boot-exercise-names-without-catalog/regression.spec.mjs:31 · error-cases/support/fixture.mjs:544 |
CASE-038
CASE-038 a custom exercise arrives through one catalog change page, the full catalog is fetched only on the first boot, and another user's custom exercise triggers no catalog request even after reload
기존 CI 최초 결과: passed, 11.982초. 품질 판정: 부적합. 확인 위반: 11, 12, 13, 14번. 미검증: 4, 9, 10, 15.
| 기준 | 판정 | 근거 |
|---|---|---|
| 1. 목적·범위 | P | 정적 코드 확인: 초기전체1/변경분1, 타인카탈로그 격리와 reloadcache를 실제 RPC/DB/UI로 확인한다 error-cases/CASE-038-custom-exercise-catalog-incremental-sync/regression.spec.mjs:3 |
| 2. 시작 조건·재현성 | P | 정적 코드 확인: runToken별 내/타인 종목과 초기 full1·device seq를 준비·확인한다 error-cases/CASE-038-custom-exercise-catalog-incremental-sync/regression.spec.mjs:46 |
| 3. 독립성 | P | 정적 코드 확인: CASE별 임시 owner와 runToken을 사용하고 다른 CASE의 선행 실행을 호출하지 않는다. 허용된 단일-worker local 경로 기준이며 새 독립 실행은 하지 않았다. error-cases/CASE-038-custom-exercise-catalog-incremental-sync/regression.spec.mjs:39 · error-cases/support/fixture.mjs:102 |
| 4. 상태 기반 동기화 | U | 정적 코드 확인: reload 후 2.5초는 추가요청 없음의 유한 관측창이다. 준비 완료를 대체하는 sleep으로 단정하지 않지만, 지연된 요청을 놓치지 않는 관측구간 선정 근거는 확인되지 않았다 error-cases/CASE-038-custom-exercise-catalog-incremental-sync/regression.spec.mjs:270 |
| 5. 독립 기대값 | P | 정적 코드 확인: full1·changes1과 내종목 존재/타인종목 부재·seq불변을 독립 불변식으로 비교한다 error-cases/CASE-038-custom-exercise-catalog-incremental-sync/regression.spec.mjs:155 |
| 6. 상황 실제 발생 | P | 정적 코드 확인: UI 커스텀 생성 후 changes RPC/로그행/기기사본, 타인 생성후타인feed를 실제 확인한다 error-cases/CASE-038-custom-exercise-catalog-incremental-sync/regression.spec.mjs:139 |
| 7. 경계·금지 부작용 | P | 정적 코드 확인: 타인changefeed·cache·picker 유입금지와 내catalog불변을 단언한다 error-cases/CASE-038-custom-exercise-catalog-incremental-sync/regression.spec.mjs:249 |
| 8. 필수 단언 완결성 | P | 정적 코드 확인: 이 CASE의 핵심 검증과 prove/completeJourney를 await하며, 공통 fixture가 선언 외 오류와 완료 신호 누락을 거절한다. callback 집계만으로 단언 의미·결함 탐지력이 입증되는 것은 아니다. error-cases/CASE-038-custom-exercise-catalog-incremental-sync/regression.spec.mjs:39 · error-cases/support/fixture.mjs:203 · error-cases/support/fixture.mjs:343 |
| 9. 결함 탐지·공통 도구 | U | 감사한 spec/manifest와 제공된 정상 실행 결과만으로 목표 결함의 음성 대조(정상 통과·목표 단언 실패) 및 공통 도구의 관련 취소/새로고침/중도실패 경로 검증을 입증할 수 없다. 이번 감사에서 결함 주입 실행은 하지 않았다. error-cases/CASE-038-custom-exercise-catalog-incremental-sync/regression.spec.mjs:39 · error-cases/CASE-038-custom-exercise-catalog-incremental-sync/case.json:1 |
| 10. 자원 정리 | U | 정적 코드 확인: 계정/종목 정리 재조회는 있으나 request관측/IndexedDB오류/중도실패를 포함한 종료 증거는 없다 error-cases/CASE-038-custom-exercise-catalog-incremental-sync/regression.spec.mjs:298 |
| 11. CASE 60초 | F | 정적 설정 위반: test.setTimeout(240,000ms)로 개별 준비+본문에 60초 초과를 허용한다. error-cases/CASE-038-custom-exercise-catalog-incremental-sync/regression.spec.mjs:43 |
| 12. 동작 대기 10초 | F | 정적 설정 위반: catalog/device 대기20초를 허용한다 error-cases/CASE-038-custom-exercise-catalog-incremental-sync/regression.spec.mjs:111 · playwright.config.mjs:45 |
| 13. 자동 재시도 0 | F | 정적 설정 위반: 개별 retries override 없이 CI에서 CASE 전체 자동 재시도1회를 상속한다. 한 시도 안 assertion polling과는 별개이며 집계의 재시도 합격 거절이 재실행 자체를 막지는 않는다. playwright.config.mjs:36 |
| 14. 우회·약화 금지 | F | 정적 코드 위반: CASE별 timeout을 240초로 다시 상향하여 60초 상한을 우회한다. 실패를 통과로 바꾼 실행이 관측됐다는 뜻은 아니다. error-cases/CASE-038-custom-exercise-catalog-incremental-sync/regression.spec.mjs:43 |
| 15. 실패 진단 증거 | U | 정적 설정상 첫 실패 trace/스크린샷과 CASE 단계는 남길 수 있다. 모든 실패에서 요청·탭·문서세대·보류작업 식별, 최초/정리 오류 구분, 진단자료 비밀정보 배제까지 보장하는 CASE별 증거는 확인하지 못했다. playwright.config.mjs:50 · error-cases/CASE-038-custom-exercise-catalog-incremental-sync/regression.spec.mjs:39 · error-cases/support/fixture.mjs:544 |
CASE-039
CASE-039 a pending edit left by the legacy Production bundle is read by the new bundle in the same browser, survives the legacy tab touching it again, and reaches the server exactly once without a user-facing error
기존 CI 최초 결과: passed, 91.408초. 품질 판정: 부적합. 확인 위반: 10, 11, 12, 13, 14번. 미검증: 3, 4, 9, 15.
| 기준 | 판정 | 근거 |
|---|---|---|
| 1. 목적·범위 | P | 정적 코드 확인: 실제 legacy/new 번들을 쓰며 새writer metadata는 직접 주입하는 범위를 명시한다 error-cases/CASE-039-legacy-tab-pending-row-coexistence/regression.spec.mjs:3 |
| 2. 시작 조건·재현성 | P | 정적 코드 확인: businessDate/실행시각/토큰만료를 확인하고 실제 legacy tag·commit·entry를 기록한다 error-cases/CASE-039-legacy-tab-pending-row-coexistence/regression.spec.mjs:57 |
| 3. 독립성 | U | 정적 코드 확인: legacy bundle 캐시/빌드 공유 경로의 단독·허용 병렬 실행 증거는 별도 확인이 필요하다 error-cases/CASE-039-legacy-tab-pending-row-coexistence/regression.spec.mjs:35 |
| 4. 상태 기반 동기화 | U | 정적 코드 확인: 3초 대기는 degraded 상태에서 B 미전송을 확인하는 유한 관측창이다. 고정대기 자체를 위반으로 보지 않으며 해당 상태의 송신검사/스케줄 경계까지 포착하는 근거는 미확인이다 error-cases/CASE-039-legacy-tab-pending-row-coexistence/regression.spec.mjs:293 |
| 5. 독립 기대값 | P | 정적 코드 확인: baseline60→80/revision1→2·동일요청본문/metadata불변·A3/B0을 독립 비교한다 error-cases/CASE-039-legacy-tab-pending-row-coexistence/regression.spec.mjs:197 |
| 6. 상황 실제 발생 | P | 정적 코드 확인: 첫/둘째503 및 heldCycles1/2를 실제관측하고 entryScript로legacy/new를 구별한다 error-cases/CASE-039-legacy-tab-pending-row-coexistence/regression.spec.mjs:235 |
| 7. 경계·금지 부작용 | P | 정적 코드 확인: new탭 송신0·pending/mirror identity불변·metadata보존·서버단일revision진행을 검사한다 error-cases/CASE-039-legacy-tab-pending-row-coexistence/regression.spec.mjs:291 |
| 8. 필수 단언 완결성 | P | 정적 코드 확인: 이 CASE의 핵심 검증과 prove/completeJourney를 await하며, 공통 fixture가 선언 외 오류와 완료 신호 누락을 거절한다. callback 집계만으로 단언 의미·결함 탐지력이 입증되는 것은 아니다. error-cases/CASE-039-legacy-tab-pending-row-coexistence/regression.spec.mjs:52 · error-cases/support/fixture.mjs:203 · error-cases/support/fixture.mjs:343 |
| 9. 결함 탐지·공통 도구 | U | 감사한 spec/manifest와 제공된 정상 실행 결과만으로 목표 결함의 음성 대조(정상 통과·목표 단언 실패) 및 공통 도구의 관련 취소/새로고침/중도실패 경로 검증을 입증할 수 없다. 이번 감사에서 결함 주입 실행은 하지 않았다. error-cases/CASE-039-legacy-tab-pending-row-coexistence/regression.spec.mjs:52 · error-cases/CASE-039-legacy-tab-pending-row-coexistence/case.json:1 |
| 10. 자원 정리 | F | 정적 코드 확인: finally의 pageB.close().catch(() => {})가 탭정리 실패를 결과에 반영하지 않는다 error-cases/CASE-039-legacy-tab-pending-row-coexistence/regression.spec.mjs:401 |
| 11. CASE 60초 | F | 정적 확인: 이 CASE에 적용되는 timeout이 60초를 초과하도록 설정되어 있다. 동일 tree의 CI 최초 시도에서 리포터가 기록한 총시간은 91.408초다. 총시간에서 별도 정리 시간이 분리되지 않았으므로 이 수치만으로 개별 준비·본문의 60초 초과를 단정하지 않는다. 부적합의 확정 근거는 제한 설정이다. error-cases/CASE-039-legacy-tab-pending-row-coexistence/regression.spec.mjs:56 |
| 12. 동작 대기 10초 | F | 정적 설정 위반: 두번째 재수화 대기90초 및 다수20/30초를 허용한다 error-cases/CASE-039-legacy-tab-pending-row-coexistence/regression.spec.mjs:319 · playwright.config.mjs:45 |
| 13. 자동 재시도 0 | F | 정적 설정 위반: 개별 retries override 없이 CI에서 CASE 전체 자동 재시도1회를 상속한다. 한 시도 안 assertion polling과는 별개이며 집계의 재시도 합격 거절이 재실행 자체를 막지는 않는다. playwright.config.mjs:36 |
| 14. 우회·약화 금지 | F | 정적 코드 위반: legacy build 부재를 skip 처리하고 timeout300초 상향 및 page close 오류를 삼킨다 error-cases/CASE-039-legacy-tab-pending-row-coexistence/regression.spec.mjs:50 · error-cases/CASE-039-legacy-tab-pending-row-coexistence/regression.spec.mjs:56 · error-cases/CASE-039-legacy-tab-pending-row-coexistence/regression.spec.mjs:401 |
| 15. 실패 진단 증거 | U | 정적 설정상 첫 실패 trace/스크린샷과 CASE 단계는 남길 수 있다. 모든 실패에서 요청·탭·문서세대·보류작업 식별, 최초/정리 오류 구분, 진단자료 비밀정보 배제까지 보장하는 CASE별 증거는 확인하지 못했다. playwright.config.mjs:50 · error-cases/CASE-039-legacy-tab-pending-row-coexistence/regression.spec.mjs:52 · error-cases/support/fixture.mjs:544 |
CASE-040
CASE-040 an edit made in the new bundle while the legacy Production bundle is still sending its own edit survives the legacy tab's receipt as a successor row and reaches the server after it
기존 CI 최초 결과: passed, 28.785초. 품질 판정: 부적합. 확인 위반: 10, 11, 12, 13, 14번. 미검증: 2, 3, 4, 9, 15.
CASE-041
CASE-041 committed create edit and delete retry the identical mutation without applying twice
기존 CI 최초 결과: passed, 81.036초. 품질 판정: 부적합. 확인 위반: 11, 12, 13, 14번. 미검증: 4, 9, 10, 15.
| 기준 | 판정 | 근거 |
|---|---|---|
| 1. 목적·범위 | P | 정적 코드 확인: 실제 RPC commit 및 영수증 존재 후 ACK만503으로 대체함을 명시한다 error-cases/CASE-041-committed-write-lost-ack/regression.spec.mjs:35 |
| 2. 시작 조건·재현성 | P | 정적 코드 확인: 실제 임시계정 로그인·UI60kg 저장에서 create/edit/delete 실험을 시작한다 error-cases/CASE-041-committed-write-lost-ack/regression.spec.mjs:15 |
| 3. 독립성 | P | 정적 코드 확인: CASE별 임시 owner와 runToken을 사용하고 다른 CASE의 선행 실행을 호출하지 않는다. 허용된 단일-worker local 경로 기준이며 새 독립 실행은 하지 않았다. error-cases/CASE-041-committed-write-lost-ack/regression.spec.mjs:10 · error-cases/support/fixture.mjs:102 |
| 4. 상태 기반 동기화 | U | 정적 코드 확인: stats요청을 전체 다른 fetch/xhr quiet 뒤 해제한다. 해당조회 세대와 예정작업 완료 경계 증거는 없다 error-cases/CASE-041-committed-write-lost-ack/regression.spec.mjs:18 |
| 5. 독립 기대값 | P | 정적 코드 확인: 재요청본문동일·영수증불변·60→80/revision1→2·삭제행0을 독립 비교한다 error-cases/CASE-041-committed-write-lost-ack/regression.spec.mjs:58 |
| 6. 상황 실제 발생 | P | 정적 코드 확인: route.fetch 성공·receipt1을 먼저 단언하고503을 전달한다. recovery held상태·각요청2회를 확인한다 error-cases/CASE-041-committed-write-lost-ack/regression.spec.mjs:36 |
| 7. 경계·금지 부작용 | P | 정적 코드 확인: session1·동일영수증·수정revision2·삭제0으로 중복반영금지를 검사한다 error-cases/CASE-041-committed-write-lost-ack/regression.spec.mjs:75 |
| 8. 필수 단언 완결성 | P | 정적 코드 확인: 이 CASE의 핵심 검증과 prove/completeJourney를 await하며, 공통 fixture가 선언 외 오류와 완료 신호 누락을 거절한다. callback 집계만으로 단언 의미·결함 탐지력이 입증되는 것은 아니다. error-cases/CASE-041-committed-write-lost-ack/regression.spec.mjs:10 · error-cases/support/fixture.mjs:203 · error-cases/support/fixture.mjs:343 |
| 9. 결함 탐지·공통 도구 | U | 감사한 spec/manifest와 제공된 정상 실행 결과만으로 목표 결함의 음성 대조(정상 통과·목표 단언 실패) 및 공통 도구의 관련 취소/새로고침/중도실패 경로 검증을 입증할 수 없다. 이번 감사에서 결함 주입 실행은 하지 않았다. error-cases/CASE-041-committed-write-lost-ack/regression.spec.mjs:10 · error-cases/CASE-041-committed-write-lost-ack/case.json:1 |
| 10. 자원 정리 | U | 정적 코드 확인: finally recovery release는 있으나 recoveryDispose는 성공전용이며 stats보류route/페이지세대종료 검증은 없다 error-cases/CASE-041-committed-write-lost-ack/regression.spec.mjs:100 |
| 11. CASE 60초 | F | 정적 확인: 이 CASE에 적용되는 timeout이 60초를 초과하도록 설정되어 있다. 동일 tree의 CI 최초 시도에서 리포터가 기록한 총시간은 81.036초다. 총시간에서 별도 정리 시간이 분리되지 않았으므로 이 수치만으로 개별 준비·본문의 60초 초과를 단정하지 않는다. 부적합의 확정 근거는 제한 설정이다. error-cases/CASE-041-committed-write-lost-ack/regression.spec.mjs:11 |
| 12. 동작 대기 10초 | F | 정적 설정 위반: recover requests/pending25초 및 공통 recovery.wait90초를 허용한다 error-cases/CASE-041-committed-write-lost-ack/regression.spec.mjs:58 · playwright.config.mjs:45 |
| 13. 자동 재시도 0 | F | 정적 설정 위반: 개별 retries override 없이 CI에서 CASE 전체 자동 재시도1회를 상속한다. 한 시도 안 assertion polling과는 별개이며 집계의 재시도 합격 거절이 재실행 자체를 막지는 않는다. playwright.config.mjs:36 |
| 14. 우회·약화 금지 | F | 정적 코드 위반: CASE별 timeout을 300초로 다시 상향하여 60초 상한을 우회한다. 실패를 통과로 바꾼 실행이 관측됐다는 뜻은 아니다. error-cases/CASE-041-committed-write-lost-ack/regression.spec.mjs:11 |
| 15. 실패 진단 증거 | U | 정적 설정상 첫 실패 trace/스크린샷과 CASE 단계는 남길 수 있다. 모든 실패에서 요청·탭·문서세대·보류작업 식별, 최초/정리 오류 구분, 진단자료 비밀정보 배제까지 보장하는 CASE별 증거는 확인하지 못했다. playwright.config.mjs:50 · error-cases/CASE-041-committed-write-lost-ack/regression.spec.mjs:10 · error-cases/support/fixture.mjs:544 |
CASE-042
CASE-042 a real sending row survives page death and its expired send is replayed by the next boot
기존 CI 최초 결과: passed, 19.235초. 품질 판정: 부적합. 확인 위반: 11, 12, 13, 14번. 미검증: 4, 9, 10, 15.
| 기준 | 판정 | 근거 |
|---|---|---|
| 1. 목적·범위 | P | 정적 코드 확인: 같은 browser context의 페이지 사망/재개와 실제10초TTL을 검증한다; 프로세스 전체 재시작은 아니다 error-cases/CASE-042-pending-write-browser-restart/regression.spec.mjs:7 |
| 2. 시작 조건·재현성 | P | 정적 코드 확인: UI로 실제 sending행을 만들고 sentAt·요청1·서버행/영수증0을 확인한다 error-cases/CASE-042-pending-write-browser-restart/regression.spec.mjs:26 |
| 3. 독립성 | P | 정적 코드 확인: CASE별 임시 owner와 runToken을 사용하고 다른 CASE의 선행 실행을 호출하지 않는다. 허용된 단일-worker local 경로 기준이며 새 독립 실행은 하지 않았다. error-cases/CASE-042-pending-write-browser-restart/regression.spec.mjs:9 · error-cases/support/fixture.mjs:102 |
| 4. 상태 기반 동기화 | U | 정적 코드 확인: bootstrap reads 종료를 전체 drain으로 판단한다. 새문서/보류route세대와 이후예약작업까지 구분한 증거는 없다 error-cases/CASE-042-pending-write-browser-restart/regression.spec.mjs:85 |
| 5. 독립 기대값 | P | 정적 코드 확인: 사망전 서버0·재개후 동일immutable요청·receipt1/session1/revision1·60×5를 기대한다 error-cases/CASE-042-pending-write-browser-restart/regression.spec.mjs:41 |
| 6. 상황 실제 발생 | P | 정적 코드 확인: sending행·요청1·page.isClosed와 실제 sentAt 경과10초를 관측한다 error-cases/CASE-042-pending-write-browser-restart/regression.spec.mjs:33 |
| 7. 경계·금지 부작용 | P | 정적 코드 확인: 재개시원본requestidentity보존·중복receipt/session방지·최종60×5 확인이 있다 error-cases/CASE-042-pending-write-browser-restart/regression.spec.mjs:70 |
| 8. 필수 단언 완결성 | P | 정적 코드 확인: 이 CASE의 핵심 검증과 prove/completeJourney를 await하며, 공통 fixture가 선언 외 오류와 완료 신호 누락을 거절한다. callback 집계만으로 단언 의미·결함 탐지력이 입증되는 것은 아니다. error-cases/CASE-042-pending-write-browser-restart/regression.spec.mjs:9 · error-cases/support/fixture.mjs:203 · error-cases/support/fixture.mjs:343 |
| 9. 결함 탐지·공통 도구 | U | 감사한 spec/manifest와 제공된 정상 실행 결과만으로 목표 결함의 음성 대조(정상 통과·목표 단언 실패) 및 공통 도구의 관련 취소/새로고침/중도실패 경로 검증을 입증할 수 없다. 이번 감사에서 결함 주입 실행은 하지 않았다. error-cases/CASE-042-pending-write-browser-restart/regression.spec.mjs:9 · error-cases/CASE-042-pending-write-browser-restart/case.json:1 |
| 10. 자원 정리 | U | 정적 코드 확인: 원 gate와 resume gate는 해제하나 closed page 이전route·새statsroute의 실제종료/취소증거는 없다 error-cases/CASE-042-pending-write-browser-restart/regression.spec.mjs:107 |
| 11. CASE 60초 | F | 정적 설정 위반: test.setTimeout(180,000ms)로 개별 준비+본문에 60초 초과를 허용한다. error-cases/CASE-042-pending-write-browser-restart/regression.spec.mjs:10 |
| 12. 동작 대기 10초 | F | 정적 설정 위반: TTL조건15초·pending25초를 허용한다 error-cases/CASE-042-pending-write-browser-restart/regression.spec.mjs:53 · playwright.config.mjs:45 |
| 13. 자동 재시도 0 | F | 정적 설정 위반: 개별 retries override 없이 CI에서 CASE 전체 자동 재시도1회를 상속한다. 한 시도 안 assertion polling과는 별개이며 집계의 재시도 합격 거절이 재실행 자체를 막지는 않는다. playwright.config.mjs:36 |
| 14. 우회·약화 금지 | F | 정적 코드 위반: CASE별 timeout을 180초로 다시 상향하여 60초 상한을 우회한다. 실패를 통과로 바꾼 실행이 관측됐다는 뜻은 아니다. error-cases/CASE-042-pending-write-browser-restart/regression.spec.mjs:10 |
| 15. 실패 진단 증거 | U | 정적 설정상 첫 실패 trace/스크린샷과 CASE 단계는 남길 수 있다. 모든 실패에서 요청·탭·문서세대·보류작업 식별, 최초/정리 오류 구분, 진단자료 비밀정보 배제까지 보장하는 CASE별 증거는 확인하지 못했다. playwright.config.mjs:50 · error-cases/CASE-042-pending-write-browser-restart/regression.spec.mjs:9 · error-cases/support/fixture.mjs:544 |
CASE-043
CASE-043 the real server rejects an expired signed JWT and the same owner reauthenticates to resume the held mutation
기존 CI 최초 결과: passed, 10.724초. 품질 판정: 부적합. 확인 위반: 11, 12, 13, 14번. 미검증: 4, 9, 10, 15.
| 기준 | 판정 | 근거 |
|---|---|---|
| 1. 목적·범위 | P | 정적 코드 확인: 합성401 대신 실제 local서명의 만료JWT를 서버로 보내고 재인증/재개를 검사한다 error-cases/CASE-043-expired-jwt-held-recovery/regression.spec.mjs:12 |
| 2. 시작 조건·재현성 | P | 정적 코드 확인: local signer 존재와 실제 JWT claim을 사용해 exp2로만료를 만들고 같은계정으로로그인한다 error-cases/CASE-043-expired-jwt-held-recovery/regression.spec.mjs:14 |
| 3. 독립성 | P | 정적 코드 확인: CASE별 임시 owner와 runToken을 사용하고 다른 CASE의 선행 실행을 호출하지 않는다. 허용된 단일-worker local 경로 기준이며 새 독립 실행은 하지 않았다. error-cases/CASE-043-expired-jwt-held-recovery/regression.spec.mjs:10 · error-cases/support/fixture.mjs:102 |
| 4. 상태 기반 동기화 | U | 정적 코드 확인: 재개 bootstrap읽기 종료를 전체fetch/xhr quiet로 정하며 세대별 종료/예정작업 경계 증거는 없다 error-cases/CASE-043-expired-jwt-held-recovery/regression.spec.mjs:92 |
| 5. 독립 기대값 | P | 정적 코드 확인: PGRST303+expired·held·원본requestidentity·server0→1/revision1을 독립 비교한다 error-cases/CASE-043-expired-jwt-held-recovery/regression.spec.mjs:34 |
| 6. 상황 실제 발생 | P | 정적 코드 확인: 서버401/PGRST303/expired 메시지와 held state를 확인한다 error-cases/CASE-043-expired-jwt-held-recovery/regression.spec.mjs:33 |
| 7. 경계·금지 부작용 | P | 정적 코드 확인: 거절중session/receipt0·같은owner·동일요청·최종session/receipt1을 검사한다 error-cases/CASE-043-expired-jwt-held-recovery/regression.spec.mjs:58 |
| 8. 필수 단언 완결성 | P | 정적 코드 확인: 이 CASE의 핵심 검증과 prove/completeJourney를 await하며, 공통 fixture가 선언 외 오류와 완료 신호 누락을 거절한다. callback 집계만으로 단언 의미·결함 탐지력이 입증되는 것은 아니다. error-cases/CASE-043-expired-jwt-held-recovery/regression.spec.mjs:10 · error-cases/support/fixture.mjs:203 · error-cases/support/fixture.mjs:343 |
| 9. 결함 탐지·공통 도구 | U | 감사한 spec/manifest와 제공된 정상 실행 결과만으로 목표 결함의 음성 대조(정상 통과·목표 단언 실패) 및 공통 도구의 관련 취소/새로고침/중도실패 경로 검증을 입증할 수 없다. 이번 감사에서 결함 주입 실행은 하지 않았다. error-cases/CASE-043-expired-jwt-held-recovery/regression.spec.mjs:10 · error-cases/CASE-043-expired-jwt-held-recovery/case.json:1 |
| 10. 자원 정리 | U | 정적 코드 확인: resume gate finally는 있으나 resumed탭/route/요청관측 수명과 모든실패정리 증거는 없다 error-cases/CASE-043-expired-jwt-held-recovery/regression.spec.mjs:93 |
| 11. CASE 60초 | F | 정적 설정 위반: test.setTimeout(150,000ms)로 개별 준비+본문에 60초 초과를 허용한다. error-cases/CASE-043-expired-jwt-held-recovery/regression.spec.mjs:11 |
| 12. 동작 대기 10초 | F | 정적 설정 위반: 재개 pending대기25초를 허용한다 error-cases/CASE-043-expired-jwt-held-recovery/regression.spec.mjs:96 · playwright.config.mjs:45 |
| 13. 자동 재시도 0 | F | 정적 설정 위반: 개별 retries override 없이 CI에서 CASE 전체 자동 재시도1회를 상속한다. 한 시도 안 assertion polling과는 별개이며 집계의 재시도 합격 거절이 재실행 자체를 막지는 않는다. playwright.config.mjs:36 |
| 14. 우회·약화 금지 | F | 정적 코드 위반: CASE별 timeout을 150초로 다시 상향하여 60초 상한을 우회한다. 실패를 통과로 바꾼 실행이 관측됐다는 뜻은 아니다. error-cases/CASE-043-expired-jwt-held-recovery/regression.spec.mjs:11 |
| 15. 실패 진단 증거 | U | 정적 설정상 첫 실패 trace/스크린샷과 CASE 단계는 남길 수 있다. 모든 실패에서 요청·탭·문서세대·보류작업 식별, 최초/정리 오류 구분, 진단자료 비밀정보 배제까지 보장하는 CASE별 증거는 확인하지 못했다. playwright.config.mjs:50 · error-cases/CASE-043-expired-jwt-held-recovery/regression.spec.mjs:10 · error-cases/support/fixture.mjs:544 |
CASE-044
CASE-044 A pending data stays private while B saves and only A reentry uploads A request
기존 CI 최초 결과: passed, 19.279초. 품질 판정: 부적합. 확인 위반: 11, 12, 13, 14번. 미검증: 4, 7, 9, 10, 15.
| 기준 | 판정 | 근거 |
|---|---|---|
| 1. 목적·범위 | P | 정적 코드 확인: 같은기기 owner A→B→A에서 held행 전송/표시격리와 실제 저장을 검사한다. OAuth제공자 범위는 별도로 명시한다 error-cases/CASE-044-pending-owner-switch-isolation/regression.spec.mjs:36 |
| 2. 시작 조건·재현성 | P | 정적 코드 확인: 서로다른 임시 A/B를 만들고 A만료거부·held행/서버0을 준비한다 error-cases/CASE-044-pending-owner-switch-isolation/regression.spec.mjs:15 |
| 3. 독립성 | P | 정적 코드 확인: CASE별 임시 owner와 runToken을 사용하고 다른 CASE의 선행 실행을 호출하지 않는다. 허용된 단일-worker local 경로 기준이며 새 독립 실행은 하지 않았다. error-cases/CASE-044-pending-owner-switch-isolation/regression.spec.mjs:10 · error-cases/support/fixture.mjs:102 |
| 4. 상태 기반 동기화 | U | 정적 코드 확인: 재개읽기 종료를 전체 drain으로 판단하며 해당문서의 필요작업종료 사건은 별도로 없다 error-cases/CASE-044-pending-owner-switch-isolation/regression.spec.mjs:137 |
| 5. 독립 기대값 | P | 정적 코드 확인: Aimmutable행보존·B송신1·A/B조회격리·A60/revision1을 독립 비교한다 error-cases/CASE-044-pending-owner-switch-isolation/regression.spec.mjs:79 |
| 6. 상황 실제 발생 | P | 정적 코드 확인: 실제만료JWT401/PGRST303 후 owner전환과 held행보존을 확인한다 error-cases/CASE-044-pending-owner-switch-isolation/regression.spec.mjs:28 |
| 7. 경계·금지 부작용 | U | 정적 코드 확인: 소유자별조회/전송격리는 단언한다. A복귀 뒤 B의90kg세트·원본ID/값불변까지 확인하는 단언은 없다 error-cases/CASE-044-pending-owner-switch-isolation/regression.spec.mjs:98 |
| 8. 필수 단언 완결성 | P | 정적 코드 확인: 이 CASE의 핵심 검증과 prove/completeJourney를 await하며, 공통 fixture가 선언 외 오류와 완료 신호 누락을 거절한다. callback 집계만으로 단언 의미·결함 탐지력이 입증되는 것은 아니다. error-cases/CASE-044-pending-owner-switch-isolation/regression.spec.mjs:10 · error-cases/support/fixture.mjs:203 · error-cases/support/fixture.mjs:343 |
| 9. 결함 탐지·공통 도구 | U | 감사한 spec/manifest와 제공된 정상 실행 결과만으로 목표 결함의 음성 대조(정상 통과·목표 단언 실패) 및 공통 도구의 관련 취소/새로고침/중도실패 경로 검증을 입증할 수 없다. 이번 감사에서 결함 주입 실행은 하지 않았다. error-cases/CASE-044-pending-owner-switch-isolation/regression.spec.mjs:10 · error-cases/CASE-044-pending-owner-switch-isolation/case.json:1 |
| 10. 자원 정리 | U | 정적 코드 확인: 성공 탭닫기/계정정리는 있으나 중도실패시 pageB/returnedA/보류route 전체종료 증거는 없다 error-cases/CASE-044-pending-owner-switch-isolation/regression.spec.mjs:155 |
| 11. CASE 60초 | F | 정적 설정 위반: test.setTimeout(180,000ms)로 개별 준비+본문에 60초 초과를 허용한다. error-cases/CASE-044-pending-owner-switch-isolation/regression.spec.mjs:11 |
| 12. 동작 대기 10초 | F | 정적 설정 위반: pending대기25초와 공통finish20초를 허용한다 error-cases/CASE-044-pending-owner-switch-isolation/regression.spec.mjs:141 · playwright.config.mjs:45 |
| 13. 자동 재시도 0 | F | 정적 설정 위반: 개별 retries override 없이 CI에서 CASE 전체 자동 재시도1회를 상속한다. 한 시도 안 assertion polling과는 별개이며 집계의 재시도 합격 거절이 재실행 자체를 막지는 않는다. playwright.config.mjs:36 |
| 14. 우회·약화 금지 | F | 정적 코드 위반: CASE별 timeout을 180초로 다시 상향하여 60초 상한을 우회한다. 실패를 통과로 바꾼 실행이 관측됐다는 뜻은 아니다. error-cases/CASE-044-pending-owner-switch-isolation/regression.spec.mjs:11 |
| 15. 실패 진단 증거 | U | 정적 설정상 첫 실패 trace/스크린샷과 CASE 단계는 남길 수 있다. 모든 실패에서 요청·탭·문서세대·보류작업 식별, 최초/정리 오류 구분, 진단자료 비밀정보 배제까지 보장하는 CASE별 증거는 확인하지 못했다. playwright.config.mjs:50 · error-cases/CASE-044-pending-owner-switch-isolation/regression.spec.mjs:10 · error-cases/support/fixture.mjs:544 |
CASE-045
CASE-045 a later tab edit resolves a real revision conflict and an older late ACK cannot restore old values
기존 CI 최초 결과: failed, 65.553초. 품질 판정: 부적합. 확인 위반: 11, 12, 13, 14번. 미검증: 4, 9, 10, 15.
| 기준 | 판정 | 근거 |
|---|---|---|
| 1. 목적·범위 | P | 정적 코드 확인: 동일owner의 독립저장소 간 서버충돌·late ACK를검사하고 same-IDB경합은CASE040으로구분한다 error-cases/CASE-045-concurrent-tab-latest-intent/regression.spec.mjs:37 |
| 2. 시작 조건·재현성 | P | 정적 코드 확인: 실제60kg baseline과 독립browser context를 준비하고 두편집이 revision1을읽도록B편집을먼저준비한다 error-cases/CASE-045-concurrent-tab-latest-intent/regression.spec.mjs:36 |
| 3. 독립성 | P | 정적 코드 확인: CASE별 임시 owner와 runToken을 사용하고 다른 CASE의 선행 실행을 호출하지 않는다. 허용된 단일-worker local 경로 기준이며 새 독립 실행은 하지 않았다. error-cases/CASE-045-concurrent-tab-latest-intent/regression.spec.mjs:29 · error-cases/support/fixture.mjs:102 |
| 4. 상태 기반 동기화 | U | 수정 전 tree에서는 보류 응답과 새로고침이 겹쳐 이전 문서 요청이 drain에 남는 실제 실패를 확인했다. 조사 중 병합된 PR1475는 navigation 응답에서 이전 요청을 추적 목록에서 제거한다. 최신 helper의 좁은 브라우저 재현은 정상 완료·보류 중 새로고침 모두 통과했다. CASE 전체의 모든 동기화 경계까지 이 재현으로 입증하지 않았으므로 최신 판정은 U다. error-cases/CASE-045-concurrent-tab-latest-intent/regression.spec.mjs:52 · e2e/support/durabilityJourney.mjs:161 · e2e/support/durabilityJourney.mjs:164 |
| 5. 독립 기대값 | P | 정적 코드 확인: 70/rev2→80/rev3→90/rev4→삭제0 및 독립queue/요청id를 직접 기대한다 error-cases/CASE-045-concurrent-tab-latest-intent/regression.spec.mjs:101 |
| 6. 상황 실제 발생 | P | 정적 코드 확인: 실제commitA·B400/200·DELETE400/200·late ACK의 앱timeout이내해제를 확인한다 error-cases/CASE-045-concurrent-tab-latest-intent/regression.spec.mjs:96 |
| 7. 경계·금지 부작용 | P | 정적 코드 확인: 현재 표시중인 상세에만 조건부로 최신값/삭제를 확인한다. reloadRecord 및 양쪽 재진입/삭제목록0은 무조건 실행되어 별도로 결과를검사한다 error-cases/CASE-045-concurrent-tab-latest-intent/regression.spec.mjs:128 |
| 8. 필수 단언 완결성 | P | 정적 코드 확인: 이 CASE의 핵심 검증과 prove/completeJourney를 await하며, 공통 fixture가 선언 외 오류와 완료 신호 누락을 거절한다. callback 집계만으로 단언 의미·결함 탐지력이 입증되는 것은 아니다. error-cases/CASE-045-concurrent-tab-latest-intent/regression.spec.mjs:29 · error-cases/support/fixture.mjs:203 · error-cases/support/fixture.mjs:343 |
| 9. 결함 탐지·공통 도구 | U | 감사한 spec/manifest와 제공된 정상 실행 결과만으로 목표 결함의 음성 대조(정상 통과·목표 단언 실패) 및 공통 도구의 관련 취소/새로고침/중도실패 경로 검증을 입증할 수 없다. 이번 감사에서 결함 주입 실행은 하지 않았다. error-cases/CASE-045-concurrent-tab-latest-intent/regression.spec.mjs:29 · error-cases/CASE-045-concurrent-tab-latest-intent/case.json:1 |
| 10. 자원 정리 | U | 수정 전 CASE045의 이전 요청 잔류는 실행으로 확인했다. PR1475 반영 후 같은 작은 재현의 drain은 통과하지만 독립 관측자에는 완료/실패 이벤트가 없는 이전 요청 1건이 남았다. 이는 실제 네트워크 누수를 확정한 결과가 아니며, 추적 목록 제거와 보류 작업의 종료·취소 보장 전체를 동일시하지 않는다. 최신 CASE의 모든 실패 경로 정리 증거는 부족하다. error-cases/CASE-045-concurrent-tab-latest-intent/regression.spec.mjs:202 · e2e/support/durabilityJourney.mjs:161 · e2e/support/durabilityJourney.mjs:164 |
| 11. CASE 60초 | F | 정적 확인: 이 CASE에 적용되는 timeout이 60초를 초과하도록 설정되어 있다. 동일 tree의 CI 최초 시도에서 리포터가 기록한 총시간은 65.553초다. 총시간에서 별도 정리 시간이 분리되지 않았으므로 이 수치만으로 개별 준비·본문의 60초 초과를 단정하지 않는다. 부적합의 확정 근거는 제한 설정이다. error-cases/CASE-045-concurrent-tab-latest-intent/regression.spec.mjs:30 |
| 12. 동작 대기 10초 | F | 정적 설정 위반: 개별setTimeout180초·waitForAppQuiet25초/기본expect15초 error-cases/CASE-045-concurrent-tab-latest-intent/regression.spec.mjs:202 · playwright.config.mjs:45 |
| 13. 자동 재시도 0 | F | 정적 설정 위반: 개별 retries override 없이 CI에서 CASE 전체 자동 재시도1회를 상속한다. 한 시도 안 assertion polling과는 별개이며 집계의 재시도 합격 거절이 재실행 자체를 막지는 않는다. playwright.config.mjs:36 |
| 14. 우회·약화 금지 | F | 정적 코드 위반: CASE별 timeout을 180초로 다시 상향하여 60초 상한을 우회한다. 실패를 통과로 바꾼 실행이 관측됐다는 뜻은 아니다. error-cases/CASE-045-concurrent-tab-latest-intent/regression.spec.mjs:30 |
| 15. 실패 진단 증거 | U | 동일 tree 최초 실패와 자동재시도 trace로 요청·탭·발생순서를 재구성한 기존 조사 증거는 있다. 다만 모든 실패에서 문서세대/보류작업 진단, 최초오류/정리오류 구분 및 비밀정보 배제까지 보장하는 증거는 미확인이다. playwright.config.mjs:50 · error-cases/CASE-045-concurrent-tab-latest-intent/regression.spec.mjs:29 · error-cases/support/fixture.mjs:544 |
CASE-046
CASE-046 a permanent rejection is quarantined until the user uploads the preserved workout as a new record
기존 CI 최초 결과: passed, 10.566초. 품질 판정: 부적합. 확인 위반: 11, 12, 13, 14번. 미검증: 4, 9, 10, 15.
| 기준 | 판정 | 근거 |
|---|---|---|
| 1. 목적·범위 | P | 정적 코드 확인: 첫브라우저응답에 영구거절400을 주입하고 실제복구버튼/서버저장을검사한다 error-cases/CASE-046-blocked-write-user-recovery/regression.spec.mjs:17 |
| 2. 시작 조건·재현성 | P | 정적 코드 확인: 임시계정·고유제목·실제UI초안으로 영구거절을 시작한다 error-cases/CASE-046-blocked-write-user-recovery/regression.spec.mjs:15 |
| 3. 독립성 | P | 정적 코드 확인: CASE별 임시 owner와 runToken을 사용하고 다른 CASE의 선행 실행을 호출하지 않는다. 허용된 단일-worker local 경로 기준이며 새 독립 실행은 하지 않았다. error-cases/CASE-046-blocked-write-user-recovery/regression.spec.mjs:9 · error-cases/support/fixture.mjs:102 |
| 4. 상태 기반 동기화 | U | 정적 코드 확인: online/visibilitychange뒤 자동재시도 없음의 경계를 전체요청 quiet로 잡아 예정된후속작업까지의증거는 없다 error-cases/CASE-046-blocked-write-user-recovery/regression.spec.mjs:51 |
| 5. 독립 기대값 | P | 정적 코드 확인: blocked1·거절시server/receipt0·새id/sourceRef·재개60/revision1을 독립비교한다 error-cases/CASE-046-blocked-write-user-recovery/regression.spec.mjs:33 |
| 6. 상황 실제 발생 | P | 정적 코드 확인: blocked 상태/안내/복구버튼과 declared400 1회를 확인한다 error-cases/CASE-046-blocked-write-user-recovery/regression.spec.mjs:33 |
| 7. 경계·금지 부작용 | P | 정적 코드 확인: 자동재전송없음·기존receipt0·복구신규id·단일session/receipt·입력60유지를 검사한다 error-cases/CASE-046-blocked-write-user-recovery/regression.spec.mjs:48 |
| 8. 필수 단언 완결성 | P | 정적 코드 확인: 이 CASE의 핵심 검증과 prove/completeJourney를 await하며, 공통 fixture가 선언 외 오류와 완료 신호 누락을 거절한다. callback 집계만으로 단언 의미·결함 탐지력이 입증되는 것은 아니다. error-cases/CASE-046-blocked-write-user-recovery/regression.spec.mjs:9 · error-cases/support/fixture.mjs:203 · error-cases/support/fixture.mjs:343 |
| 9. 결함 탐지·공통 도구 | U | 감사한 spec/manifest와 제공된 정상 실행 결과만으로 목표 결함의 음성 대조(정상 통과·목표 단언 실패) 및 공통 도구의 관련 취소/새로고침/중도실패 경로 검증을 입증할 수 없다. 이번 감사에서 결함 주입 실행은 하지 않았다. error-cases/CASE-046-blocked-write-user-recovery/regression.spec.mjs:9 · error-cases/CASE-046-blocked-write-user-recovery/case.json:1 |
| 10. 자원 정리 | U | 정적 코드 확인: 성공계정삭제는 있으나 route/요청관측의 중도실패·세대전환종료 증거는 없다 error-cases/CASE-046-blocked-write-user-recovery/regression.spec.mjs:77 |
| 11. CASE 60초 | F | 정적 설정 위반: test.setTimeout(150,000ms)로 개별 준비+본문에 60초 초과를 허용한다. error-cases/CASE-046-blocked-write-user-recovery/regression.spec.mjs:10 |
| 12. 동작 대기 10초 | F | 정적 설정 위반: pending25초·reload helper quiet25초를 허용한다 error-cases/CASE-046-blocked-write-user-recovery/regression.spec.mjs:60 · playwright.config.mjs:45 |
| 13. 자동 재시도 0 | F | 정적 설정 위반: 개별 retries override 없이 CI에서 CASE 전체 자동 재시도1회를 상속한다. 한 시도 안 assertion polling과는 별개이며 집계의 재시도 합격 거절이 재실행 자체를 막지는 않는다. playwright.config.mjs:36 |
| 14. 우회·약화 금지 | F | 정적 코드 위반: CASE별 timeout을 150초로 다시 상향하여 60초 상한을 우회한다. 실패를 통과로 바꾼 실행이 관측됐다는 뜻은 아니다. error-cases/CASE-046-blocked-write-user-recovery/regression.spec.mjs:10 |
| 15. 실패 진단 증거 | U | 정적 설정상 첫 실패 trace/스크린샷과 CASE 단계는 남길 수 있다. 모든 실패에서 요청·탭·문서세대·보류작업 식별, 최초/정리 오류 구분, 진단자료 비밀정보 배제까지 보장하는 CASE별 증거는 확인하지 못했다. playwright.config.mjs:50 · error-cases/CASE-046-blocked-write-user-recovery/regression.spec.mjs:9 · error-cases/support/fixture.mjs:544 |
CASE-047
CASE-047 an old detail response cannot replace the newer selected workout and a failed read can be retried
기존 CI 최초 결과: passed, 16.471초. 품질 판정: 부적합. 확인 위반: 11, 12, 13, 14번. 미검증: 9, 10, 15.
| 기준 | 판정 | 근거 |
|---|---|---|
| 1. 목적·범위 | P | 정적 코드 확인: 이전실제상세응답보류·새선택유지 및 첫재조회503/다시열기복구를검사한다 error-cases/CASE-047-read-model-late-response/regression.spec.mjs:24 |
| 2. 시작 조건·재현성 | P | 정적 코드 확인: 실제로 서로다른60/80kg 기록두개 저장후새로고침해 read경합을 준비한다 error-cases/CASE-047-read-model-late-response/regression.spec.mjs:15 |
| 3. 독립성 | P | 정적 코드 확인: CASE별 임시 owner와 runToken을 사용하고 다른 CASE의 선행 실행을 호출하지 않는다. 허용된 단일-worker local 경로 기준이며 새 독립 실행은 하지 않았다. error-cases/CASE-047-read-model-late-response/regression.spec.mjs:9 · error-cases/support/fixture.mjs:102 |
| 4. 상태 기반 동기화 | P | 정적 코드 확인: oldRead→새선택표시→release→oldDelivered→새선택유지를 사건으로 제어한다 error-cases/CASE-047-read-model-late-response/regression.spec.mjs:49 |
| 5. 독립 기대값 | P | 정적 코드 확인: second제목/80×5 유지·first부재·두DBaggregate불변·다시first60×5를 독립단언한다 error-cases/CASE-047-read-model-late-response/regression.spec.mjs:55 |
| 6. 상황 실제 발생 | P | 정적 코드 확인: oldRead/oldDelivered를 실제관측하고 재열기응답200·declared503을 확인한다 error-cases/CASE-047-read-model-late-response/regression.spec.mjs:49 |
| 7. 경계·금지 부작용 | P | 정적 코드 확인: 늦은응답의새선택덮어쓰기금지·양쪽원본불변·로그인화면부재·동일owner/재시도복구를 확인한다 error-cases/CASE-047-read-model-late-response/regression.spec.mjs:55 |
| 8. 필수 단언 완결성 | P | 정적 코드 확인: 이 CASE의 핵심 검증과 prove/completeJourney를 await하며, 공통 fixture가 선언 외 오류와 완료 신호 누락을 거절한다. callback 집계만으로 단언 의미·결함 탐지력이 입증되는 것은 아니다. error-cases/CASE-047-read-model-late-response/regression.spec.mjs:9 · error-cases/support/fixture.mjs:203 · error-cases/support/fixture.mjs:343 |
| 9. 결함 탐지·공통 도구 | U | 감사한 spec/manifest와 제공된 정상 실행 결과만으로 목표 결함의 음성 대조(정상 통과·목표 단언 실패) 및 공통 도구의 관련 취소/새로고침/중도실패 경로 검증을 입증할 수 없다. 이번 감사에서 결함 주입 실행은 하지 않았다. error-cases/CASE-047-read-model-late-response/regression.spec.mjs:9 · error-cases/CASE-047-read-model-late-response/case.json:1 |
| 10. 자원 정리 | U | 정적 코드 확인: finally stale해제는 있으나 route처리완료/취소·response waiter/세대수명에 대한 실패검증은 없다 error-cases/CASE-047-read-model-late-response/regression.spec.mjs:108 |
| 11. CASE 60초 | F | 정적 설정 위반: test.setTimeout(180,000ms)로 개별 준비+본문에 60초 초과를 허용한다. error-cases/CASE-047-read-model-late-response/regression.spec.mjs:10 |
| 12. 동작 대기 10초 | F | 정적 설정 위반: 일반 runner의 expect15초를 상속하고 action/navigation의10초 상한도 설정되어 있지 않다. playwright.config.mjs:35 · playwright.config.mjs:45 |
| 13. 자동 재시도 0 | F | 정적 설정 위반: 개별 retries override 없이 CI에서 CASE 전체 자동 재시도1회를 상속한다. 한 시도 안 assertion polling과는 별개이며 집계의 재시도 합격 거절이 재실행 자체를 막지는 않는다. playwright.config.mjs:36 |
| 14. 우회·약화 금지 | F | 정적 코드 위반: CASE별 timeout을 180초로 다시 상향하여 60초 상한을 우회한다. 실패를 통과로 바꾼 실행이 관측됐다는 뜻은 아니다. error-cases/CASE-047-read-model-late-response/regression.spec.mjs:10 |
| 15. 실패 진단 증거 | U | 정적 설정상 첫 실패 trace/스크린샷과 CASE 단계는 남길 수 있다. 모든 실패에서 요청·탭·문서세대·보류작업 식별, 최초/정리 오류 구분, 진단자료 비밀정보 배제까지 보장하는 CASE별 증거는 확인하지 못했다. playwright.config.mjs:50 · error-cases/CASE-047-read-model-late-response/regression.spec.mjs:9 · error-cases/support/fixture.mjs:544 |
CASE-048
CASE-048 cached HTTPS reentry and a real service worker update preserve one pending workout
기존 CI 최초 결과: passed, 16.982초. 품질 판정: 부적합. 확인 위반: 11, 12, 13, 14번. 미검증: 9, 10, 15.
| 기준 | 판정 | 근거 |
|---|---|---|
| 1. 목적·범위 | P | 정적 코드 확인: 실제SW 오프라인캐시/활성화변경을검사하며 SW주석만바꾼세대변경이고 구앱bundle업그레이드는아니다 error-cases/CASE-048-https-sw-offline-pending-update/regression.spec.mjs:18 |
| 2. 시작 조건·재현성 | P | 정적 코드 확인: 임시HTTPS서버/새context, 실제controller와 shell/entry cache 준비를 확인한다 error-cases/CASE-048-https-sw-offline-pending-update/regression.spec.mjs:19 |
| 3. 독립성 | P | 정적 코드 확인: CASE별 임시 owner와 runToken을 사용하고 다른 CASE의 선행 실행을 호출하지 않는다. 허용된 단일-worker local 경로 기준이며 새 독립 실행은 하지 않았다. error-cases/CASE-048-https-sw-offline-pending-update/regression.spec.mjs:16 · error-cases/support/fixture.mjs:102 |
| 4. 상태 기반 동기화 | P | 정적 코드 확인: 요청1이실제로보류된상태에서worker교체사건을확인후해제한다 error-cases/CASE-048-https-sw-offline-pending-update/regression.spec.mjs:120 |
| 5. 독립 기대값 | P | 정적 코드 확인: offline문서200+fromServiceWorker·서버문서요청0·동일pendingidentity·receipt/session1·60×5를 기대한다 error-cases/CASE-048-https-sw-offline-pending-update/regression.spec.mjs:93 |
| 6. 상황 실제 발생 | P | 정적 코드 확인: native offline/onLine·SW문서출처·updatefound/activated/controllerchange·새generation요청을 확인한다 error-cases/CASE-048-https-sw-offline-pending-update/regression.spec.mjs:117 |
| 7. 경계·금지 부작용 | P | 정적 코드 확인: worker전후원본요청identity보존·한번송신/영수증/세션·reload보존과재전송없음을검사한다 error-cases/CASE-048-https-sw-offline-pending-update/regression.spec.mjs:129 |
| 8. 필수 단언 완결성 | P | 정적 코드 확인: 이 CASE의 핵심 검증과 prove/completeJourney를 await하며, 공통 fixture가 선언 외 오류와 완료 신호 누락을 거절한다. callback 집계만으로 단언 의미·결함 탐지력이 입증되는 것은 아니다. error-cases/CASE-048-https-sw-offline-pending-update/regression.spec.mjs:16 · error-cases/support/fixture.mjs:203 · error-cases/support/fixture.mjs:343 |
| 9. 결함 탐지·공통 도구 | U | 감사한 spec/manifest와 제공된 정상 실행 결과만으로 목표 결함의 음성 대조(정상 통과·목표 단언 실패) 및 공통 도구의 관련 취소/새로고침/중도실패 경로 검증을 입증할 수 없다. 이번 감사에서 결함 주입 실행은 하지 않았다. error-cases/CASE-048-https-sw-offline-pending-update/regression.spec.mjs:16 · error-cases/CASE-048-https-sw-offline-pending-update/case.json:1 |
| 10. 자원 정리 | U | 정적 코드 확인: finally offline복원/context/server닫기는있으나 순차정리중실패와 CDP/listener/timer의 종료/취소검증증거가 없다 error-cases/CASE-048-https-sw-offline-pending-update/regression.spec.mjs:167 |
| 11. CASE 60초 | F | 정적 설정 위반: test.setTimeout(180,000ms)로 개별 준비+본문에 60초 초과를 허용한다. error-cases/CASE-048-https-sw-offline-pending-update/regression.spec.mjs:17 |
| 12. 동작 대기 10초 | F | 정적 설정 위반: 연결복구요청30초·pending25초·SWcontrollerchange20초를허용한다 error-cases/CASE-048-https-sw-offline-pending-update/regression.spec.mjs:120 · playwright.config.mjs:45 · error-cases/CASE-048-https-sw-offline-pending-update/serviceWorkerJourney.mjs:90 |
| 13. 자동 재시도 0 | F | 정적 설정 위반: 개별 retries override 없이 CI에서 CASE 전체 자동 재시도1회를 상속한다. 한 시도 안 assertion polling과는 별개이며 집계의 재시도 합격 거절이 재실행 자체를 막지는 않는다. playwright.config.mjs:36 |
| 14. 우회·약화 금지 | F | 정적 코드 위반: CASE별 timeout을 180초로 다시 상향하여 60초 상한을 우회한다. 실패를 통과로 바꾼 실행이 관측됐다는 뜻은 아니다. error-cases/CASE-048-https-sw-offline-pending-update/regression.spec.mjs:17 |
| 15. 실패 진단 증거 | U | 정적 설정상 첫 실패 trace/스크린샷과 CASE 단계는 남길 수 있다. 모든 실패에서 요청·탭·문서세대·보류작업 식별, 최초/정리 오류 구분, 진단자료 비밀정보 배제까지 보장하는 CASE별 증거는 확인하지 못했다. playwright.config.mjs:50 · error-cases/CASE-048-https-sw-offline-pending-update/regression.spec.mjs:16 · error-cases/support/fixture.mjs:544 |
CASE-049
CASE-049 a cancelled provider callback leaves login available and a retried callback restores the same real account
기존 CI 최초 결과: passed, 5.646초. 품질 판정: 부적합. 확인 위반: 11, 12, 13번. 미검증: 3, 9, 10, 15.
| 기준 | 판정 | 근거 |
|---|---|---|
| 1. 목적·범위 | P | 정적 코드 확인: 제공자 네트워크경계를제어하고 실제Kakao가용성증거아님을 명시한다; 후속Auth/DB는실제다 error-cases/CASE-049-provider-callback-cancel-retry/regression.spec.mjs:23 |
| 2. 시작 조건·재현성 | P | 정적 코드 확인: 실제임시계정 identityIds를 확보하고 storage를비운 로그인에서시작한다 error-cases/CASE-049-provider-callback-cancel-retry/regression.spec.mjs:6 |
| 3. 독립성 | U | 정적 코드상 임시 owner/새스토리지로 격리하지만 callback origin의 고정4173 fallback이 별도 E2E_PREVIEW_PORT 실행에서도 일치하는지는 이 CASE만으로 확인되지 않았다. error-cases/CASE-049-provider-callback-cancel-retry/regression.spec.mjs:12 · playwright.config.mjs:7 |
| 4. 상태 기반 동기화 | P | 정적 코드 확인: 인가/교환횟수·URL·home·catalog응답완료를사건으로기다린다 error-cases/CASE-049-provider-callback-cancel-retry/regression.spec.mjs:65 |
| 5. 독립 기대값 | P | 정적 코드 확인: 인가3·교환2·취소시session/home0·원래owner/identityIds불변을독립기대한다 error-cases/CASE-049-provider-callback-cancel-retry/regression.spec.mjs:65 |
| 6. 상황 실제 발생 | P | 정적 코드 확인: 취소→교환거절→성공callback을요청횟수/코드/세션으로실제확인한다 error-cases/CASE-049-provider-callback-cancel-retry/regression.spec.mjs:32 |
| 7. 경계·금지 부작용 | P | 정적 코드 확인: 취소/거절뒤인증정보0·코드/오류URL소비·reload재호출없음·신원불변을 검사한다 error-cases/CASE-049-provider-callback-cancel-retry/regression.spec.mjs:70 |
| 8. 필수 단언 완결성 | P | 정적 코드 확인: 이 CASE의 핵심 검증과 prove/completeJourney를 await하며, 공통 fixture가 선언 외 오류와 완료 신호 누락을 거절한다. callback 집계만으로 단언 의미·결함 탐지력이 입증되는 것은 아니다. error-cases/CASE-049-provider-callback-cancel-retry/regression.spec.mjs:4 · error-cases/support/fixture.mjs:203 · error-cases/support/fixture.mjs:343 |
| 9. 결함 탐지·공통 도구 | U | 감사한 spec/manifest와 제공된 정상 실행 결과만으로 목표 결함의 음성 대조(정상 통과·목표 단언 실패) 및 공통 도구의 관련 취소/새로고침/중도실패 경로 검증을 입증할 수 없다. 이번 감사에서 결함 주입 실행은 하지 않았다. error-cases/CASE-049-provider-callback-cancel-retry/regression.spec.mjs:4 · error-cases/CASE-049-provider-callback-cancel-retry/case.json:1 |
| 10. 자원 정리 | U | 정적 코드 확인: 계정정리는 있으나 authroute/responsewaiter/초기화script의 중도실패 종료증거는 없다 error-cases/CASE-049-provider-callback-cancel-retry/regression.spec.mjs:136 |
| 11. CASE 60초 | F | 정적 설정 위반: CASE override가 없어 일반 runner의 120,000ms 상한을 상속하므로 60초 기준을 충족하지 않는다. playwright.config.mjs:34 |
| 12. 동작 대기 10초 | F | 정적 설정 위반: 일반 runner의 expect15초를 상속하고 action/navigation의10초 상한도 설정되어 있지 않다. playwright.config.mjs:35 · playwright.config.mjs:45 |
| 13. 자동 재시도 0 | F | 정적 설정 위반: 개별 retries override 없이 CI에서 CASE 전체 자동 재시도1회를 상속한다. 한 시도 안 assertion polling과는 별개이며 집계의 재시도 합격 거절이 재실행 자체를 막지는 않는다. playwright.config.mjs:36 |
| 14. 우회·약화 금지 | P | 정적 코드 확인: 이 spec에는 skip/only·개별 timeout 상향·시간초과 무시 또는 필수 단언을 성공 처리하는 분기가 없다. 공통 runner의 시간/재시도 위반은11~13에 별도 기록했다. error-cases/CASE-049-provider-callback-cancel-retry/regression.spec.mjs:4 |
| 15. 실패 진단 증거 | U | 정적 설정상 첫 실패 trace/스크린샷과 CASE 단계는 남길 수 있다. 모든 실패에서 요청·탭·문서세대·보류작업 식별, 최초/정리 오류 구분, 진단자료 비밀정보 배제까지 보장하는 CASE별 증거는 확인하지 못했다. playwright.config.mjs:50 · error-cases/CASE-049-provider-callback-cancel-retry/regression.spec.mjs:4 · error-cases/support/fixture.mjs:544 |
CASE-050
CASE-050 profile edit failures preserve the draft and retry persists the name handle and photo
기존 CI 최초 결과: passed, 4.685초. 품질 판정: 부적합. 확인 위반: 11, 12, 13번. 미검증: 9, 10, 15.
| 기준 | 판정 | 근거 |
|---|---|---|
| 1. 목적·범위 | P | 정적 코드 확인: 첫handle저장실패를주입하고 실제이름/아이디/사진저장·재진입을검사한다 error-cases/CASE-050-profile-edit-failure-retry/regression.spec.mjs:21 |
| 2. 시작 조건·재현성 | P | 정적 코드 확인: 실제프로필을열고 runToken handle·고정이름·유효/무효파일입력을 준비한다 error-cases/CASE-050-profile-edit-failure-retry/regression.spec.mjs:8 |
| 3. 독립성 | P | 정적 코드 확인: CASE별 임시 owner와 runToken을 사용하고 다른 CASE의 선행 실행을 호출하지 않는다. 허용된 단일-worker local 경로 기준이며 새 독립 실행은 하지 않았다. error-cases/CASE-050-profile-edit-failure-retry/regression.spec.mjs:4 · error-cases/support/fixture.mjs:102 |
| 4. 상태 기반 동기화 | P | 정적 코드 확인: 실제요청도착→pending UI→release→실패UI→재시도순서를명시한다 error-cases/CASE-050-profile-edit-failure-retry/regression.spec.mjs:28 |
| 5. 독립 기대값 | P | 정적 코드 확인: 입력한name/handle·owner별avatar경로·무효사진후빈경로를 독립기대한다 error-cases/CASE-050-profile-edit-failure-retry/regression.spec.mjs:58 |
| 6. 상황 실제 발생 | P | 정적 코드 확인: fault.started·시도1·pending중disabled와 지정error토스트를관측한다 error-cases/CASE-050-profile-edit-failure-retry/regression.spec.mjs:28 |
| 7. 경계·금지 부작용 | P | 정적 코드 확인: 중복제출차단·배경클릭/취소비활성·실패입력보존·무효사진무저장·유효사진로드를검사한다 error-cases/CASE-050-profile-edit-failure-retry/regression.spec.mjs:29 |
| 8. 필수 단언 완결성 | P | 정적 코드 확인: 이 CASE의 핵심 검증과 prove/completeJourney를 await하며, 공통 fixture가 선언 외 오류와 완료 신호 누락을 거절한다. callback 집계만으로 단언 의미·결함 탐지력이 입증되는 것은 아니다. error-cases/CASE-050-profile-edit-failure-retry/regression.spec.mjs:4 · error-cases/support/fixture.mjs:203 · error-cases/support/fixture.mjs:343 |
| 9. 결함 탐지·공통 도구 | U | 감사한 spec/manifest와 제공된 정상 실행 결과만으로 목표 결함의 음성 대조(정상 통과·목표 단언 실패) 및 공통 도구의 관련 취소/새로고침/중도실패 경로 검증을 입증할 수 없다. 이번 감사에서 결함 주입 실행은 하지 않았다. error-cases/CASE-050-profile-edit-failure-retry/regression.spec.mjs:4 · error-cases/CASE-050-profile-edit-failure-retry/case.json:1 |
| 10. 자원 정리 | U | 정적 코드 확인: fault.release/dispose는성공경로에만있다. 중도단언실패시 보류route완료/취소와사진storage정리증거가없다 error-cases/CASE-050-profile-edit-failure-retry/regression.spec.mjs:77 |
| 11. CASE 60초 | F | 정적 설정 위반: CASE override가 없어 일반 runner의 120,000ms 상한을 상속하므로 60초 기준을 충족하지 않는다. playwright.config.mjs:34 |
| 12. 동작 대기 10초 | F | 정적 설정 위반: 일반 runner의 expect15초를 상속하고 action/navigation의10초 상한도 설정되어 있지 않다. playwright.config.mjs:35 · playwright.config.mjs:45 |
| 13. 자동 재시도 0 | F | 정적 설정 위반: 개별 retries override 없이 CI에서 CASE 전체 자동 재시도1회를 상속한다. 한 시도 안 assertion polling과는 별개이며 집계의 재시도 합격 거절이 재실행 자체를 막지는 않는다. playwright.config.mjs:36 |
| 14. 우회·약화 금지 | P | 정적 코드 확인: 이 spec에는 skip/only·개별 timeout 상향·시간초과 무시 또는 필수 단언을 성공 처리하는 분기가 없다. 공통 runner의 시간/재시도 위반은11~13에 별도 기록했다. error-cases/CASE-050-profile-edit-failure-retry/regression.spec.mjs:4 |
| 15. 실패 진단 증거 | U | 정적 설정상 첫 실패 trace/스크린샷과 CASE 단계는 남길 수 있다. 모든 실패에서 요청·탭·문서세대·보류작업 식별, 최초/정리 오류 구분, 진단자료 비밀정보 배제까지 보장하는 CASE별 증거는 확인하지 못했다. playwright.config.mjs:50 · error-cases/CASE-050-profile-edit-failure-retry/regression.spec.mjs:4 · error-cases/support/fixture.mjs:544 |
CASE-051
CASE-051 an unsuccessful account link return preserves the original identity and permits profile reentry
기존 CI 최초 결과: passed, 4.180초. 품질 판정: 부적합. 확인 위반: 11, 12, 13번. 미검증: 9, 10, 15.
| 기준 | 판정 | 근거 |
|---|---|---|
| 1. 목적·범위 | P | 정적 코드 확인: 실제외부연결전체가아니라 공개callback error parameter를 URL에직접주입하여 소비/신원보존을검사한다 error-cases/CASE-051-account-link-return-identity-preservation/regression.spec.mjs:23 |
| 2. 시작 조건·재현성 | P | 정적 코드 확인: 프로필의기존owner/identity 목록을확인후callback실험을시작한다 error-cases/CASE-051-account-link-return-identity-preservation/regression.spec.mjs:8 |
| 3. 독립성 | P | 정적 코드 확인: CASE별 임시 owner와 runToken을 사용하고 다른 CASE의 선행 실행을 호출하지 않는다. 허용된 단일-worker local 경로 기준이며 새 독립 실행은 하지 않았다. error-cases/CASE-051-account-link-return-identity-preservation/regression.spec.mjs:4 · error-cases/support/fixture.mjs:102 |
| 4. 상태 기반 동기화 | P | 정적 코드 확인: 실제화면재진입/토스트/URL상태확인으로진행한다 error-cases/CASE-051-account-link-return-identity-preservation/regression.spec.mjs:31 |
| 5. 독립 기대값 | P | 정적 코드 확인: 실험전 identityIds와 userId를 기준으로 실제Auth/DB의불변을비교한다 error-cases/CASE-051-account-link-return-identity-preservation/regression.spec.mjs:37 |
| 6. 상황 실제 발생 | P | 정적 코드 확인: link/google/error파라미터주입 후지정토스트·파라미터소비를확인한다 error-cases/CASE-051-account-link-return-identity-preservation/regression.spec.mjs:24 |
| 7. 경계·금지 부작용 | P | 정적 코드 확인: owner/identity불변·unlink경로부재·reload중복토스트없음·auth_action소비를검사한다 error-cases/CASE-051-account-link-return-identity-preservation/regression.spec.mjs:37 |
| 8. 필수 단언 완결성 | P | 정적 코드 확인: 이 CASE의 핵심 검증과 prove/completeJourney를 await하며, 공통 fixture가 선언 외 오류와 완료 신호 누락을 거절한다. callback 집계만으로 단언 의미·결함 탐지력이 입증되는 것은 아니다. error-cases/CASE-051-account-link-return-identity-preservation/regression.spec.mjs:4 · error-cases/support/fixture.mjs:203 · error-cases/support/fixture.mjs:343 |
| 9. 결함 탐지·공통 도구 | U | 감사한 spec/manifest와 제공된 정상 실행 결과만으로 목표 결함의 음성 대조(정상 통과·목표 단언 실패) 및 공통 도구의 관련 취소/새로고침/중도실패 경로 검증을 입증할 수 없다. 이번 감사에서 결함 주입 실행은 하지 않았다. error-cases/CASE-051-account-link-return-identity-preservation/regression.spec.mjs:4 · error-cases/CASE-051-account-link-return-identity-preservation/case.json:1 |
| 10. 자원 정리 | U | 정적 코드 확인: 계정정리는 있으나 callback/오류감시관련자원의실패정리증거는없다 error-cases/CASE-051-account-link-return-identity-preservation/regression.spec.mjs:61 |
| 11. CASE 60초 | F | 정적 설정 위반: CASE override가 없어 일반 runner의 120,000ms 상한을 상속하므로 60초 기준을 충족하지 않는다. playwright.config.mjs:34 |
| 12. 동작 대기 10초 | F | 정적 설정 위반: 일반 runner의 expect15초를 상속하고 action/navigation의10초 상한도 설정되어 있지 않다. playwright.config.mjs:35 · playwright.config.mjs:45 |
| 13. 자동 재시도 0 | F | 정적 설정 위반: 개별 retries override 없이 CI에서 CASE 전체 자동 재시도1회를 상속한다. 한 시도 안 assertion polling과는 별개이며 집계의 재시도 합격 거절이 재실행 자체를 막지는 않는다. playwright.config.mjs:36 |
| 14. 우회·약화 금지 | P | 정적 코드 확인: 이 spec에는 skip/only·개별 timeout 상향·시간초과 무시 또는 필수 단언을 성공 처리하는 분기가 없다. 공통 runner의 시간/재시도 위반은11~13에 별도 기록했다. error-cases/CASE-051-account-link-return-identity-preservation/regression.spec.mjs:4 |
| 15. 실패 진단 증거 | U | 정적 설정상 첫 실패 trace/스크린샷과 CASE 단계는 남길 수 있다. 모든 실패에서 요청·탭·문서세대·보류작업 식별, 최초/정리 오류 구분, 진단자료 비밀정보 배제까지 보장하는 CASE별 증거는 확인하지 못했다. playwright.config.mjs:50 · error-cases/CASE-051-account-link-return-identity-preservation/regression.spec.mjs:4 · error-cases/support/fixture.mjs:544 |
CASE-052
CASE-052 failed likes roll back and failed comments retain their draft before successful UI retry
기존 CI 최초 결과: passed, 6.070초. 품질 판정: 부적합. 확인 위반: 11, 12, 13번. 미검증: 9, 10, 15.
| 기준 | 판정 | 근거 |
|---|---|---|
| 1. 목적·범위 | P | 정적 코드 확인: 반응/댓글/언팔실패는경계주입, 성공재시도·관계변경은실제UI/DB로확인한다 error-cases/CASE-052-feed-reaction-failure-recovery/regression.spec.mjs:22 |
| 2. 시작 조건·재현성 | P | 정적 코드 확인: 별도Friend/handle/실제fixture세션/팔로우를준비한다;session날짜는FEATURE_DATE로고정한다 error-cases/CASE-052-feed-reaction-failure-recovery/regression.spec.mjs:6 |
| 3. 독립성 | P | 정적 코드 확인: CASE별 임시 owner와 runToken을 사용하고 다른 CASE의 선행 실행을 호출하지 않는다. 허용된 단일-worker local 경로 기준이며 새 독립 실행은 하지 않았다. error-cases/CASE-052-feed-reaction-failure-recovery/regression.spec.mjs:4 · error-cases/support/fixture.mjs:102 |
| 4. 상태 기반 동기화 | P | 정적 코드 확인: 세요청도착과pending/오류/재시도단계를각각기다린다 error-cases/CASE-052-feed-reaction-failure-recovery/regression.spec.mjs:27 |
| 5. 독립 기대값 | P | 정적 코드 확인: like/comment/follow각1행·입력댓글본문·거절시0/관계불변을독립기대한다 error-cases/CASE-052-feed-reaction-failure-recovery/regression.spec.mjs:71 |
| 6. 상황 실제 발생 | P | 정적 코드 확인: 세fault.started와지정에러토스트·pending상태를실제로확인한다 error-cases/CASE-052-feed-reaction-failure-recovery/regression.spec.mjs:27 |
| 7. 경계·금지 부작용 | P | 정적 코드 확인: 낙관like롤백·댓글초안보존·언팔실패관계불변·중복댓글금지·reload보존을검사한다 error-cases/CASE-052-feed-reaction-failure-recovery/regression.spec.mjs:28 |
| 8. 필수 단언 완결성 | P | 정적 코드 확인: 이 CASE의 핵심 검증과 prove/completeJourney를 await하며, 공통 fixture가 선언 외 오류와 완료 신호 누락을 거절한다. callback 집계만으로 단언 의미·결함 탐지력이 입증되는 것은 아니다. error-cases/CASE-052-feed-reaction-failure-recovery/regression.spec.mjs:4 · error-cases/support/fixture.mjs:203 · error-cases/support/fixture.mjs:343 |
| 9. 결함 탐지·공통 도구 | U | 감사한 spec/manifest와 제공된 정상 실행 결과만으로 목표 결함의 음성 대조(정상 통과·목표 단언 실패) 및 공통 도구의 관련 취소/새로고침/중도실패 경로 검증을 입증할 수 없다. 이번 감사에서 결함 주입 실행은 하지 않았다. error-cases/CASE-052-feed-reaction-failure-recovery/regression.spec.mjs:4 · error-cases/CASE-052-feed-reaction-failure-recovery/case.json:1 |
| 10. 자원 정리 | U | 정적 코드 확인: 세fault.dispose는성공경로에만있다. 중간실패시모든gate해제/route취소 및 두actor관계정리 증거는없다 error-cases/CASE-052-feed-reaction-failure-recovery/regression.spec.mjs:91 |
| 11. CASE 60초 | F | 정적 설정 위반: CASE override가 없어 일반 runner의 120,000ms 상한을 상속하므로 60초 기준을 충족하지 않는다. playwright.config.mjs:34 |
| 12. 동작 대기 10초 | F | 정적 설정 위반: 일반 runner의 expect15초를 상속하고 action/navigation의10초 상한도 설정되어 있지 않다. playwright.config.mjs:35 · playwright.config.mjs:45 |
| 13. 자동 재시도 0 | F | 정적 설정 위반: 개별 retries override 없이 CI에서 CASE 전체 자동 재시도1회를 상속한다. 한 시도 안 assertion polling과는 별개이며 집계의 재시도 합격 거절이 재실행 자체를 막지는 않는다. playwright.config.mjs:36 |
| 14. 우회·약화 금지 | P | 정적 코드 확인: 이 spec에는 skip/only·개별 timeout 상향·시간초과 무시 또는 필수 단언을 성공 처리하는 분기가 없다. 공통 runner의 시간/재시도 위반은11~13에 별도 기록했다. error-cases/CASE-052-feed-reaction-failure-recovery/regression.spec.mjs:4 |
| 15. 실패 진단 증거 | U | 정적 설정상 첫 실패 trace/스크린샷과 CASE 단계는 남길 수 있다. 모든 실패에서 요청·탭·문서세대·보류작업 식별, 최초/정리 오류 구분, 진단자료 비밀정보 배제까지 보장하는 CASE별 증거는 확인하지 못했다. playwright.config.mjs:50 · error-cases/CASE-052-feed-reaction-failure-recovery/regression.spec.mjs:4 · error-cases/support/fixture.mjs:544 |
CASE-053
CASE-053 UI group creation and invitation acceptance survive reload and revoked membership leaves the open group
기존 CI 최초 결과: passed, 7.021초. 품질 판정: 부적합. 확인 위반: 11, 12, 13번. 미검증: 9, 10, 15.
| 기준 | 판정 | 근거 |
|---|---|---|
| 1. 목적·범위 | P | 정적 코드 확인: 그룹생성/초대수락은두실제UI, 권한회수는실제owner disband RPC로주입한다 error-cases/CASE-053-group-invite-ui-membership-revocation/regression.spec.mjs:20 |
| 2. 시작 조건·재현성 | P | 정적 코드 확인: 서로다른owner/member와고유handle/group명 및독립mobilecontext를준비한다 error-cases/CASE-053-group-invite-ui-membership-revocation/regression.spec.mjs:8 |
| 3. 독립성 | P | 정적 코드 확인: CASE별 임시 owner와 runToken을 사용하고 다른 CASE의 선행 실행을 호출하지 않는다. 허용된 단일-worker local 경로 기준이며 새 독립 실행은 하지 않았다. error-cases/CASE-053-group-invite-ui-membership-revocation/regression.spec.mjs:6 · error-cases/support/fixture.mjs:102 |
| 4. 상태 기반 동기화 | P | 정적 코드 확인: invite출현/수락소멸·멤버십DB·회수응답·화면제거를사건으로기다린다 error-cases/CASE-053-group-invite-ui-membership-revocation/regression.spec.mjs:26 |
| 5. 독립 기대값 | P | 정적 코드 확인: 회원집합정확히owner+member·group_id·회수뒤42501/0행을독립기대한다 error-cases/CASE-053-group-invite-ui-membership-revocation/regression.spec.mjs:44 |
| 6. 상황 실제 발생 | P | 정적 코드 확인: 실제disband성공·재조회거부42501·membership0을확인한다 error-cases/CASE-053-group-invite-ui-membership-revocation/regression.spec.mjs:62 |
| 7. 경계·금지 부작용 | P | 정적 코드 확인: 중복membership없음·목록재검증시그룹제거·reload재진입거부를검사한다 error-cases/CASE-053-group-invite-ui-membership-revocation/regression.spec.mjs:44 |
| 8. 필수 단언 완결성 | P | 정적 코드 확인: 이 CASE의 핵심 검증과 prove/completeJourney를 await하며, 공통 fixture가 선언 외 오류와 완료 신호 누락을 거절한다. callback 집계만으로 단언 의미·결함 탐지력이 입증되는 것은 아니다. error-cases/CASE-053-group-invite-ui-membership-revocation/regression.spec.mjs:6 · error-cases/support/fixture.mjs:203 · error-cases/support/fixture.mjs:343 |
| 9. 결함 탐지·공통 도구 | U | 감사한 spec/manifest와 제공된 정상 실행 결과만으로 목표 결함의 음성 대조(정상 통과·목표 단언 실패) 및 공통 도구의 관련 취소/새로고침/중도실패 경로 검증을 입증할 수 없다. 이번 감사에서 결함 주입 실행은 하지 않았다. error-cases/CASE-053-group-invite-ui-membership-revocation/regression.spec.mjs:6 · error-cases/CASE-053-group-invite-ui-membership-revocation/case.json:1 |
| 10. 자원 정리 | U | 정적 코드 확인: ownerContext는finally로닫지만 실패시모든observer/계정관계정리검증증거는없다 error-cases/CASE-053-group-invite-ui-membership-revocation/regression.spec.mjs:80 |
| 11. CASE 60초 | F | 정적 설정 위반: CASE override가 없어 일반 runner의 120,000ms 상한을 상속하므로 60초 기준을 충족하지 않는다. playwright.config.mjs:34 |
| 12. 동작 대기 10초 | F | 정적 설정 위반: 일반 runner의 expect15초를 상속하고 action/navigation의10초 상한도 설정되어 있지 않다. playwright.config.mjs:35 · playwright.config.mjs:45 |
| 13. 자동 재시도 0 | F | 정적 설정 위반: 개별 retries override 없이 CI에서 CASE 전체 자동 재시도1회를 상속한다. 한 시도 안 assertion polling과는 별개이며 집계의 재시도 합격 거절이 재실행 자체를 막지는 않는다. playwright.config.mjs:36 |
| 14. 우회·약화 금지 | P | 정적 코드 확인: 이 spec에는 skip/only·개별 timeout 상향·시간초과 무시 또는 필수 단언을 성공 처리하는 분기가 없다. 공통 runner의 시간/재시도 위반은11~13에 별도 기록했다. error-cases/CASE-053-group-invite-ui-membership-revocation/regression.spec.mjs:6 |
| 15. 실패 진단 증거 | U | 정적 설정상 첫 실패 trace/스크린샷과 CASE 단계는 남길 수 있다. 모든 실패에서 요청·탭·문서세대·보류작업 식별, 최초/정리 오류 구분, 진단자료 비밀정보 배제까지 보장하는 CASE별 증거는 확인하지 못했다. playwright.config.mjs:50 · error-cases/CASE-053-group-invite-ui-membership-revocation/regression.spec.mjs:6 · error-cases/support/fixture.mjs:544 |
CASE-054
CASE-054 composed catalog search and failed archive retry preserve historical facts and restore the exercise
기존 CI 최초 결과: passed, 9.810초. 품질 판정: 부적합. 확인 위반: 11, 12, 13번. 미검증: 4, 9, 10, 15.
| 기준 | 판정 | 근거 |
|---|---|---|
| 1. 목적·범위 | P | 정적 코드 확인: IME 조합이벤트는직접 dispatch하고실제검색UI/보관RPC/원본DB보존을검사한다 error-cases/CASE-054-catalog-search-archive-recovery/regression.spec.mjs:24 |
| 2. 시작 조건·재현성 | P | 정적 코드 확인: 고유커스텀종목·고정일자기록과rawDB전상태를준비한다 error-cases/CASE-054-catalog-search-archive-recovery/regression.spec.mjs:7 |
| 3. 독립성 | P | 정적 코드 확인: CASE별 임시 owner와 runToken을 사용하고 다른 CASE의 선행 실행을 호출하지 않는다. 허용된 단일-worker local 경로 기준이며 새 독립 실행은 하지 않았다. error-cases/CASE-054-catalog-search-archive-recovery/regression.spec.mjs:5 · error-cases/support/fixture.mjs:102 |
| 4. 상태 기반 동기화 | U | 정적 코드 확인: reload전 전체request drain을사용한다; 세대별필요요청/예약작업의종료경계증거는없다 error-cases/CASE-054-catalog-search-archive-recovery/regression.spec.mjs:52 |
| 5. 독립 기대값 | P | 정적 코드 확인: 변경전rawDB session/part/set스냅샷을독립경로로읽어보관후그대로비교한다 error-cases/CASE-054-catalog-search-archive-recovery/regression.spec.mjs:10 |
| 6. 상황 실제 발생 | P | 정적 코드 확인: 보관요청fault.started와지정503토스트·다음실제보관/복원을확인한다 error-cases/CASE-054-catalog-search-archive-recovery/regression.spec.mjs:31 |
| 7. 경계·금지 부작용 | P | 정적 코드 확인: IME/없음검색/복원·기존종목ID와운동ID/값불변을확인한다 error-cases/CASE-054-catalog-search-archive-recovery/regression.spec.mjs:25 |
| 8. 필수 단언 완결성 | P | 정적 코드 확인: 이 CASE의 핵심 검증과 prove/completeJourney를 await하며, 공통 fixture가 선언 외 오류와 완료 신호 누락을 거절한다. callback 집계만으로 단언 의미·결함 탐지력이 입증되는 것은 아니다. error-cases/CASE-054-catalog-search-archive-recovery/regression.spec.mjs:5 · error-cases/support/fixture.mjs:203 · error-cases/support/fixture.mjs:343 |
| 9. 결함 탐지·공통 도구 | U | 감사한 spec/manifest와 제공된 정상 실행 결과만으로 목표 결함의 음성 대조(정상 통과·목표 단언 실패) 및 공통 도구의 관련 취소/새로고침/중도실패 경로 검증을 입증할 수 없다. 이번 감사에서 결함 주입 실행은 하지 않았다. error-cases/CASE-054-catalog-search-archive-recovery/regression.spec.mjs:5 · error-cases/CASE-054-catalog-search-archive-recovery/case.json:1 |
| 10. 자원 정리 | U | 정적 코드 확인: fault.dispose는성공경로이며중도실패시보류gate/route 및 요청관측종료증거는없다 error-cases/CASE-054-catalog-search-archive-recovery/regression.spec.mjs:63 |
| 11. CASE 60초 | F | 정적 설정 위반: CASE override가 없어 일반 runner의 120,000ms 상한을 상속하므로 60초 기준을 충족하지 않는다. playwright.config.mjs:34 |
| 12. 동작 대기 10초 | F | 정적 설정 위반: 일반 runner의 expect15초를 상속하고 action/navigation의10초 상한도 설정되어 있지 않다. playwright.config.mjs:35 · playwright.config.mjs:45 |
| 13. 자동 재시도 0 | F | 정적 설정 위반: 개별 retries override 없이 CI에서 CASE 전체 자동 재시도1회를 상속한다. 한 시도 안 assertion polling과는 별개이며 집계의 재시도 합격 거절이 재실행 자체를 막지는 않는다. playwright.config.mjs:36 |
| 14. 우회·약화 금지 | P | 정적 코드 확인: 이 spec에는 skip/only·개별 timeout 상향·시간초과 무시 또는 필수 단언을 성공 처리하는 분기가 없다. 공통 runner의 시간/재시도 위반은11~13에 별도 기록했다. error-cases/CASE-054-catalog-search-archive-recovery/regression.spec.mjs:5 |
| 15. 실패 진단 증거 | U | 정적 설정상 첫 실패 trace/스크린샷과 CASE 단계는 남길 수 있다. 모든 실패에서 요청·탭·문서세대·보류작업 식별, 최초/정리 오류 구분, 진단자료 비밀정보 배제까지 보장하는 CASE별 증거는 확인하지 못했다. playwright.config.mjs:50 · error-cases/CASE-054-catalog-search-archive-recovery/regression.spec.mjs:5 · error-cases/support/fixture.mjs:544 |
CASE-055
CASE-055 desktop Wodup upload runs the real job and a mixed duplicate batch cannot partially overwrite facts
기존 CI 최초 결과: passed, 9.545초. 품질 판정: 부적합. 확인 위반: 3, 10, 11, 12, 13, 14번. 미검증: 9, 15.
| 기준 | 판정 | 근거 |
|---|---|---|
| 1. 목적·범위 | P | 정적 코드 확인: 실제파일선택→Storage→비동기batch→DB·내보내기를검사한다 error-cases/CASE-055-wodup-ui-import-job-round-trip/regression.spec.mjs:23 |
| 2. 시작 조건·재현성 | P | 정적 코드 확인: 고유provider movementId/제목,고정FEATURE_DATE와고정62.5×7 파일을준비한다 error-cases/CASE-055-wodup-ui-import-job-round-trip/regression.spec.mjs:17 |
| 3. 독립성 | F | 정적 코드 확인: 테스트가게시한계정독립provider catalog행의복원/제거가성공경로에만있어실패후공용자원정리가충족되지않는다 error-cases/CASE-055-wodup-ui-import-job-round-trip/regression.spec.mjs:94 |
| 4. 상태 기반 동기화 | P | 정적 코드 확인: 정해진batch의terminal상태를poll하여다음업로드로진행한다 error-cases/CASE-055-wodup-ui-import-job-round-trip/regression.spec.mjs:30 |
| 5. 독립 기대값 | P | 정적 코드 확인: 제목2개·batch3개·중복오류·62.5×7·첫rawDB불변을독립단언한다 error-cases/CASE-055-wodup-ui-import-job-round-trip/regression.spec.mjs:59 |
| 6. 상황 실제 발생 | P | 정적 코드 확인: 혼합중복batch의실제failed와already imported 오류,수정파일성공을확인한다 error-cases/CASE-055-wodup-ui-import-job-round-trip/regression.spec.mjs:50 |
| 7. 경계·금지 부작용 | P | 정적 코드 확인: 혼합중복의전량거부·기존전체facts불변·부분추가금지·최종2세션/정확값을검사한다 error-cases/CASE-055-wodup-ui-import-job-round-trip/regression.spec.mjs:53 |
| 8. 필수 단언 완결성 | P | 정적 코드 확인: 이 CASE의 핵심 검증과 prove/completeJourney를 await하며, 공통 fixture가 선언 외 오류와 완료 신호 누락을 거절한다. callback 집계만으로 단언 의미·결함 탐지력이 입증되는 것은 아니다. error-cases/CASE-055-wodup-ui-import-job-round-trip/regression.spec.mjs:11 · error-cases/support/fixture.mjs:203 · error-cases/support/fixture.mjs:343 |
| 9. 결함 탐지·공통 도구 | U | 감사한 spec/manifest와 제공된 정상 실행 결과만으로 목표 결함의 음성 대조(정상 통과·목표 단언 실패) 및 공통 도구의 관련 취소/새로고침/중도실패 경로 검증을 입증할 수 없다. 이번 감사에서 결함 주입 실행은 하지 않았다. error-cases/CASE-055-wodup-ui-import-job-round-trip/regression.spec.mjs:11 · error-cases/CASE-055-wodup-ui-import-job-round-trip/case.json:1 |
| 10. 자원 정리 | F | 정적 코드 확인: 계정과독립적인provider catalog/mapping 삭제는성공전용beforeCleanup에만있고공통fixture실패정리는이삭제를호출하지않는다. 중도실패의해당전역자원정리경로가빠져있다 error-cases/CASE-055-wodup-ui-import-job-round-trip/regression.spec.mjs:90 · error-cases/support/fixture.mjs:544 |
| 11. CASE 60초 | F | 정적 설정 위반: test.setTimeout(240,000ms)로 개별 준비+본문에 60초 초과를 허용한다. error-cases/CASE-055-wodup-ui-import-job-round-trip/regression.spec.mjs:12 |
| 12. 동작 대기 10초 | F | 정적 설정 위반: batch60초·성공토스트120초를허용한다 error-cases/CASE-055-wodup-ui-import-job-round-trip/regression.spec.mjs:37 · playwright.config.mjs:45 |
| 13. 자동 재시도 0 | F | 정적 설정 위반: 개별 retries override 없이 CI에서 CASE 전체 자동 재시도1회를 상속한다. 한 시도 안 assertion polling과는 별개이며 집계의 재시도 합격 거절이 재실행 자체를 막지는 않는다. playwright.config.mjs:36 |
| 14. 우회·약화 금지 | F | 정적 코드 위반: CASE별 timeout을 240초로 다시 상향하여 60초 상한을 우회한다. 실패를 통과로 바꾼 실행이 관측됐다는 뜻은 아니다. error-cases/CASE-055-wodup-ui-import-job-round-trip/regression.spec.mjs:12 |
| 15. 실패 진단 증거 | U | 정적 설정상 첫 실패 trace/스크린샷과 CASE 단계는 남길 수 있다. 모든 실패에서 요청·탭·문서세대·보류작업 식별, 최초/정리 오류 구분, 진단자료 비밀정보 배제까지 보장하는 CASE별 증거는 확인하지 못했다. playwright.config.mjs:50 · error-cases/CASE-055-wodup-ui-import-job-round-trip/regression.spec.mjs:11 · error-cases/support/fixture.mjs:544 |
CASE-056
CASE-056 actual Motra import UI rejects an overlapping batch atomically and accepts a corrected file
기존 CI 최초 결과: passed, 9.256초. 품질 판정: 부적합. 확인 위반: 11, 12, 13, 14번. 미검증: 4, 9, 10, 15.
| 기준 | 판정 | 근거 |
|---|---|---|
| 1. 목적·범위 | P | 정적 코드 확인: 실제/admin Motra파일선택→인입RPC→원본DB를검사한다 error-cases/CASE-056-motra-ui-import-atomic-recovery/regression.spec.mjs:23 |
| 2. 시작 조건·재현성 | P | 정적 코드 확인: 임시계정을admin으로등록하고고정FEATURE_DATE·세트2개의파일을준비한다 error-cases/CASE-056-motra-ui-import-atomic-recovery/regression.spec.mjs:15 |
| 3. 독립성 | P | 정적 코드 확인: CASE별 임시 owner와 runToken을 사용하고 다른 CASE의 선행 실행을 호출하지 않는다. 허용된 단일-worker local 경로 기준이며 새 독립 실행은 하지 않았다. error-cases/CASE-056-motra-ui-import-atomic-recovery/regression.spec.mjs:12 · error-cases/support/fixture.mjs:102 |
| 4. 상태 기반 동기화 | U | 정적 코드 확인: 다음업로드/문서교체전 전체요청drain에의존하며해당job/문서세대의추가작업종료증거는없다 error-cases/CASE-056-motra-ui-import-atomic-recovery/regression.spec.mjs:47 |
| 5. 독립 기대값 | P | 정적 코드 확인: 제목2개·62.5×5/77.5×3·파트1·첫rawDB불변을독립비교한다 error-cases/CASE-056-motra-ui-import-atomic-recovery/regression.spec.mjs:61 |
| 6. 상황 실제 발생 | P | 정적 코드 확인: 실제혼합중복파일이인입실패/선언400을내고수정파일이성공함을확인한다 error-cases/CASE-056-motra-ui-import-atomic-recovery/regression.spec.mjs:51 |
| 7. 경계·금지 부작용 | P | 정적 코드 확인: 실패후session집합/원본ID값불변·부분추가금지·재인입정확2기록을검사한다 error-cases/CASE-056-motra-ui-import-atomic-recovery/regression.spec.mjs:54 |
| 8. 필수 단언 완결성 | P | 정적 코드 확인: 이 CASE의 핵심 검증과 prove/completeJourney를 await하며, 공통 fixture가 선언 외 오류와 완료 신호 누락을 거절한다. callback 집계만으로 단언 의미·결함 탐지력이 입증되는 것은 아니다. error-cases/CASE-056-motra-ui-import-atomic-recovery/regression.spec.mjs:12 · error-cases/support/fixture.mjs:203 · error-cases/support/fixture.mjs:343 |
| 9. 결함 탐지·공통 도구 | U | 감사한 spec/manifest와 제공된 정상 실행 결과만으로 목표 결함의 음성 대조(정상 통과·목표 단언 실패) 및 공통 도구의 관련 취소/새로고침/중도실패 경로 검증을 입증할 수 없다. 이번 감사에서 결함 주입 실행은 하지 않았다. error-cases/CASE-056-motra-ui-import-atomic-recovery/regression.spec.mjs:12 · error-cases/CASE-056-motra-ui-import-atomic-recovery/case.json:1 |
| 10. 자원 정리 | U | 정적 코드 확인: admin행삭제가성공전용이며공통계정삭제의관련CASCADE/실패cleanup검증과observer종료증거는별도확인이필요하다 error-cases/CASE-056-motra-ui-import-atomic-recovery/regression.spec.mjs:82 |
| 11. CASE 60초 | F | 정적 설정 위반: test.setTimeout(180,000ms)로 개별 준비+본문에 60초 초과를 허용한다. error-cases/CASE-056-motra-ui-import-atomic-recovery/regression.spec.mjs:13 |
| 12. 동작 대기 10초 | F | 정적 설정 위반: 일반 runner의 expect15초를 상속하고 action/navigation의10초 상한도 설정되어 있지 않다. playwright.config.mjs:35 · playwright.config.mjs:45 |
| 13. 자동 재시도 0 | F | 정적 설정 위반: 개별 retries override 없이 CI에서 CASE 전체 자동 재시도1회를 상속한다. 한 시도 안 assertion polling과는 별개이며 집계의 재시도 합격 거절이 재실행 자체를 막지는 않는다. playwright.config.mjs:36 |
| 14. 우회·약화 금지 | F | 정적 코드 위반: CASE별 timeout을 180초로 다시 상향하여 60초 상한을 우회한다. 실패를 통과로 바꾼 실행이 관측됐다는 뜻은 아니다. error-cases/CASE-056-motra-ui-import-atomic-recovery/regression.spec.mjs:13 |
| 15. 실패 진단 증거 | U | 정적 설정상 첫 실패 trace/스크린샷과 CASE 단계는 남길 수 있다. 모든 실패에서 요청·탭·문서세대·보류작업 식별, 최초/정리 오류 구분, 진단자료 비밀정보 배제까지 보장하는 CASE별 증거는 확인하지 못했다. playwright.config.mjs:50 · error-cases/CASE-056-motra-ui-import-atomic-recovery/regression.spec.mjs:12 · error-cases/support/fixture.mjs:544 |
CASE-057
CASE-057 export failure creates no download and UI retry downloads exact owner facts and identities
기존 CI 최초 결과: passed, 9.710초. 품질 판정: 부적합. 확인 위반: 11, 12, 13번. 미검증: 4, 9, 10, 15.
| 기준 | 판정 | 근거 |
|---|---|---|
| 1. 목적·범위 | P | 정적 코드 확인: export의첫조회실패를주입하고실제download JSON과owner별서버사실을검사한다 error-cases/CASE-057-export-download-facts-retry/regression.spec.mjs:25 |
| 2. 시작 조건·재현성 | P | 정적 코드 확인: 임시두owner의고정날짜실제세션과rawDB전상태를준비한다 error-cases/CASE-057-export-download-facts-retry/regression.spec.mjs:7 |
| 3. 독립성 | P | 정적 코드 확인: CASE별 임시 owner와 runToken을 사용하고 다른 CASE의 선행 실행을 호출하지 않는다. 허용된 단일-worker local 경로 기준이며 새 독립 실행은 하지 않았다. error-cases/CASE-057-export-download-facts-retry/regression.spec.mjs:5 · error-cases/support/fixture.mjs:102 |
| 4. 상태 기반 동기화 | U | 정적 코드 확인: download/dialog는사건으로대기하나reload/다음export준비는전체drain을사용한다 error-cases/CASE-057-export-download-facts-retry/regression.spec.mjs:63 |
| 5. 독립 기대값 | P | 정적 코드 확인: 독립rawDB스냅샷의session/child IDs와값을내보내기JSON과비교한다 error-cases/CASE-057-export-download-facts-retry/regression.spec.mjs:40 |
| 6. 상황 실제 발생 | P | 정적 코드 확인: 실제export요청도착·정확한dialog·실패download0·재시도download1을관측한다 error-cases/CASE-057-export-download-facts-retry/regression.spec.mjs:27 |
| 7. 경계·금지 부작용 | P | 정적 코드 확인: owner혼입금지·child ID/값보존·원본불변·실패부분파일없음·reload export동일을검사한다 error-cases/CASE-057-export-download-facts-retry/regression.spec.mjs:40 |
| 8. 필수 단언 완결성 | P | 정적 코드 확인: 이 CASE의 핵심 검증과 prove/completeJourney를 await하며, 공통 fixture가 선언 외 오류와 완료 신호 누락을 거절한다. callback 집계만으로 단언 의미·결함 탐지력이 입증되는 것은 아니다. error-cases/CASE-057-export-download-facts-retry/regression.spec.mjs:5 · error-cases/support/fixture.mjs:203 · error-cases/support/fixture.mjs:343 |
| 9. 결함 탐지·공통 도구 | U | 감사한 spec/manifest와 제공된 정상 실행 결과만으로 목표 결함의 음성 대조(정상 통과·목표 단언 실패) 및 공통 도구의 관련 취소/새로고침/중도실패 경로 검증을 입증할 수 없다. 이번 감사에서 결함 주입 실행은 하지 않았다. error-cases/CASE-057-export-download-facts-retry/regression.spec.mjs:5 · error-cases/CASE-057-export-download-facts-retry/case.json:1 |
| 10. 자원 정리 | U | 정적 코드 확인: fault.dispose가성공전용이고download/dialog waiters·gate·리스너의실패종료검증이없다 error-cases/CASE-057-export-download-facts-retry/regression.spec.mjs:74 |
| 11. CASE 60초 | F | 정적 설정 위반: CASE override가 없어 일반 runner의 120,000ms 상한을 상속하므로 60초 기준을 충족하지 않는다. playwright.config.mjs:34 |
| 12. 동작 대기 10초 | F | 정적 설정 위반: 일반 runner의 expect15초를 상속하고 action/navigation의10초 상한도 설정되어 있지 않다. playwright.config.mjs:35 · playwright.config.mjs:45 |
| 13. 자동 재시도 0 | F | 정적 설정 위반: 개별 retries override 없이 CI에서 CASE 전체 자동 재시도1회를 상속한다. 한 시도 안 assertion polling과는 별개이며 집계의 재시도 합격 거절이 재실행 자체를 막지는 않는다. playwright.config.mjs:36 |
| 14. 우회·약화 금지 | P | 정적 코드 확인: 이 spec에는 skip/only·개별 timeout 상향·시간초과 무시 또는 필수 단언을 성공 처리하는 분기가 없다. 공통 runner의 시간/재시도 위반은11~13에 별도 기록했다. error-cases/CASE-057-export-download-facts-retry/regression.spec.mjs:5 |
| 15. 실패 진단 증거 | U | 정적 설정상 첫 실패 trace/스크린샷과 CASE 단계는 남길 수 있다. 모든 실패에서 요청·탭·문서세대·보류작업 식별, 최초/정리 오류 구분, 진단자료 비밀정보 배제까지 보장하는 CASE별 증거는 확인하지 못했다. playwright.config.mjs:50 · error-cases/CASE-057-export-download-facts-retry/regression.spec.mjs:5 · error-cases/support/fixture.mjs:544 |
CASE-058
CASE-058 aborted IndexedDB enqueue preserves the input and a user retry saves once after recovery
기존 CI 최초 결과: passed, 10.363초. 품질 판정: 부적합. 확인 위반: 11, 12, 13, 14번. 미검증: 9, 10, 15.
| 기준 | 판정 | 근거 |
|---|---|---|
| 1. 목적·범위 | P | 정적 코드 확인: 실제IndexedDB트랜잭션abort와앱오류/초안보존·실제버튼재시도를검사한다 error-cases/CASE-058-indexeddb-enqueue-failure/regression.spec.mjs:29 |
| 2. 시작 조건·재현성 | P | 정적 코드 확인: 실제UI초안 title/done/operationId를확인후pendingSaves.add를한번abort하도록주입한다 error-cases/CASE-058-indexeddb-enqueue-failure/regression.spec.mjs:24 |
| 3. 독립성 | P | 정적 코드 확인: CASE별 임시 owner와 runToken을 사용하고 다른 CASE의 선행 실행을 호출하지 않는다. 허용된 단일-worker local 경로 기준이며 새 독립 실행은 하지 않았다. error-cases/CASE-058-indexeddb-enqueue-failure/regression.spec.mjs:9 · error-cases/support/fixture.mjs:102 |
| 4. 상태 기반 동기화 | P | 정적 코드 확인: 초안영속화→실제abort관측→저장소복원→재시도→DB상태로진행한다 error-cases/CASE-058-indexeddb-enqueue-failure/regression.spec.mjs:25 |
| 5. 독립 기대값 | P | 정적 코드 확인: abort1·pending/server0·원래초안불변·회복write/session1·60×5를독립기대한다 error-cases/CASE-058-indexeddb-enqueue-failure/regression.spec.mjs:49 |
| 6. 상황 실제 발생 | P | 정적 코드 확인: 실제transaction.abort가1회발생했는지와실제저장실패안내를확인한다 error-cases/CASE-058-indexeddb-enqueue-failure/regression.spec.mjs:49 |
| 7. 경계·금지 부작용 | P | 정적 코드 확인: 잘못된성공표시금지·원본operationId/값보존·서버선행쓰기0·회복중복없음·재진입draft0을검사한다 error-cases/CASE-058-indexeddb-enqueue-failure/regression.spec.mjs:50 |
| 8. 필수 단언 완결성 | P | 정적 코드 확인: 이 CASE의 핵심 검증과 prove/completeJourney를 await하며, 공통 fixture가 선언 외 오류와 완료 신호 누락을 거절한다. callback 집계만으로 단언 의미·결함 탐지력이 입증되는 것은 아니다. error-cases/CASE-058-indexeddb-enqueue-failure/regression.spec.mjs:9 · error-cases/support/fixture.mjs:203 · error-cases/support/fixture.mjs:343 |
| 9. 결함 탐지·공통 도구 | U | 감사한 spec/manifest와 제공된 정상 실행 결과만으로 목표 결함의 음성 대조(정상 통과·목표 단언 실패) 및 공통 도구의 관련 취소/새로고침/중도실패 경로 검증을 입증할 수 없다. 이번 감사에서 결함 주입 실행은 하지 않았다. error-cases/CASE-058-indexeddb-enqueue-failure/regression.spec.mjs:9 · error-cases/CASE-058-indexeddb-enqueue-failure/case.json:1 |
| 10. 자원 정리 | U | 정적 코드 확인: IDB.prototype복원은다음성공단계에만있다. 중간실패의global패치/리스너/route종료증거는없다 error-cases/CASE-058-indexeddb-enqueue-failure/regression.spec.mjs:62 |
| 11. CASE 60초 | F | 정적 설정 위반: test.setTimeout(150,000ms)로 개별 준비+본문에 60초 초과를 허용한다. error-cases/CASE-058-indexeddb-enqueue-failure/regression.spec.mjs:10 |
| 12. 동작 대기 10초 | F | 정적 설정 위반: 일반 runner의 expect15초를 상속하고 action/navigation의10초 상한도 설정되어 있지 않다. playwright.config.mjs:35 · playwright.config.mjs:45 |
| 13. 자동 재시도 0 | F | 정적 설정 위반: 개별 retries override 없이 CI에서 CASE 전체 자동 재시도1회를 상속한다. 한 시도 안 assertion polling과는 별개이며 집계의 재시도 합격 거절이 재실행 자체를 막지는 않는다. playwright.config.mjs:36 |
| 14. 우회·약화 금지 | F | 정적 코드 위반: CASE별 timeout을 150초로 다시 상향하여 60초 상한을 우회한다. 실패를 통과로 바꾼 실행이 관측됐다는 뜻은 아니다. error-cases/CASE-058-indexeddb-enqueue-failure/regression.spec.mjs:10 |
| 15. 실패 진단 증거 | U | 정적 설정상 첫 실패 trace/스크린샷과 CASE 단계는 남길 수 있다. 모든 실패에서 요청·탭·문서세대·보류작업 식별, 최초/정리 오류 구분, 진단자료 비밀정보 배제까지 보장하는 CASE별 증거는 확인하지 못했다. playwright.config.mjs:50 · error-cases/CASE-058-indexeddb-enqueue-failure/regression.spec.mjs:9 · error-cases/support/fixture.mjs:544 |
화면-01
16 surfaces: content never ends under the bottom chrome (safe 0/34)
기존 CI 최초 결과: passed, 27.246초. 품질 판정: 부적합. 확인 위반: 8, 11, 12, 13, 14번. 미검증: 6, 9, 10, 15.
| 기준 | 판정 | 근거 |
|---|---|---|
| 1. 목적·범위 | P | 정적 확인: 제목·행동·기대 결과와 spec의 실제 앱/화면 검사 범위가 연결된다. 이 판정은 실행 통과 증거를 대체하지 않는다. e2e/bottom-clearance.spec.mjs:238 · e2e/bottom-clearance.spec.mjs:1 |
| 2. 시작 조건·재현성 | P | 정적 확인: 전용 계정·명시적 입력 fixture를 준비하고 브라우저 업무 날짜·ko-KR·Asia/Seoul을 고정한다. 임의 UUID는 계정 식별용이다. e2e/bottom-clearance.spec.mjs:88 · e2e/support/businessDate.mjs:19 · playwright.viewport.config.mjs:30 |
| 3. 독립성 | P | 정적 확인: 이 spec의 전용 일회용 계정과 CASE별 새 브라우저 context/page를 사용한다. 허용 실행은 workers=1이며 공유 DB 시계 scope는 격리 sandbox를 확인하고 복원한다. 다른 CASE의 선행 결과를 요구하지 않는다. e2e/bottom-clearance.spec.mjs:88 · e2e/bottom-clearance.spec.mjs:238 · playwright.viewport.config.mjs:15 · e2e/support/prOverviewFixtureClock.mjs:19 · e2e/support/prOverviewFixtureClock.mjs:61 |
| 4. 상태 기반 동기화 | P | 정적 확인: 화면 상태·응답과 유한 애니메이션/폰트/기하 안정 조건으로 다음 행동을 제어한다. 고정 sleep 또는 networkidle만으로 준비를 판정하지 않는다. 대기 시간 상한 위반은 12번에 따로 기록했다. e2e/bottom-clearance.spec.mjs:238 · e2e/support/viewportReadiness.mjs:3 · e2e/support/viewportReadiness.mjs:27 |
| 5. 독립 기대값 | P | 정적 확인: 컨테이너 내용 아랫변/마지막 상호작용 요소가 실제 가시 크롬 윗변을 넘지 않는 독립 기하 불변식을 측정하고 hit-test를 확인한다. e2e/bottom-clearance.spec.mjs:159 · e2e/bottom-clearance.spec.mjs:225 |
| 6. 상황 실제 발생 | U | 실제 화면 진입·일지 overflow fixture는 단언한다. 그러나 필수 친구 일지 화면은 칩이 없으면 진입과 검사를 생략할 수 있어 전체 선언 상황의 발생 증거가 부족하다. 코드상 우회는 8·14번에 기록했다. e2e/bottom-clearance.spec.mjs:319 · e2e/bottom-clearance.spec.mjs:367 |
| 7. 경계·금지 부작용 | P | 정적 확인: safe 0/34, 넘침/비넘침, 가림과 클릭 가능 여부를 검사하며 원래 결함 표면인 일지 하루 상세의 overflow와 마지막 추가 버튼을 명시적으로 요구한다. 필수 표면 누락은 8·14번 별도 부적합이다. e2e/bottom-clearance.spec.mjs:225 · e2e/bottom-clearance.spec.mjs:252 · e2e/bottom-clearance.spec.mjs:319 |
| 8. 필수 단언 완결성 | F | 정적 위반: 필수 친구 일지 검증은 friendJournalChip.count()가 0이면 단언을 통째로 건너뛴다. friend-journal을 제외한 다른 surface 호출 16개가 있어 마지막 개수>=16 단언도 통과 가능하다. 정본 계약의 필수 16표면에는 친구 일지가 포함된다. e2e/bottom-clearance.spec.mjs:367 · e2e/bottom-clearance.spec.mjs:423 · docs/contracts/bottom-chrome-clearance.md:94 |
| 9. 결함 탐지·공통 도구 | U | 이 CASE의 대표 결함을 넣어 목표 단언에서 실패한 실행 증거와 공유 helper의 관련 취소·새로고침·중도 실패 경로 검증 증거를 이번 감사에서 확인하지 못했다. 정상 실행 통과나 단언 존재로 대체하지 않았다. e2e/bottom-clearance.spec.mjs:238 · e2e/support/viewportReadiness.mjs:3 |
| 10. 자원 정리 | U | 계정 삭제·재조회와 공유 시계 복원은 hook에 있다. 직접 만든 context는 정상 꼬리에서만 닫으며 중도 실패 시 CASE 정리 단계에서 보류 요청·탭·리스너를 실제 종료하고 확인한다는 증거는 없다. 브라우저 worker 종료를 CASE별 정리 검증으로 간주하지 않았다. e2e/bottom-clearance.spec.mjs:120 · e2e/support/cleanupVerification.mjs:18 · e2e/support/prOverviewFixtureClock.mjs:61 |
| 11. CASE 60초 | F | 정적 위반: 개별 test.setTimeout(240_000)으로 CASE 상한을 240초로 지정한다. e2e/bottom-clearance.spec.mjs:239 · playwright.viewport.config.mjs:17 |
| 12. 동작 대기 10초 | F | 정적 위반: 부팅 root wait 60초·표면 wait와 레이아웃 wait 30초로 10초를 초과한다. settle(500) 등 인자는 무시되는 값이며 고정 sleep으로 오인하지 않았다. e2e/bottom-clearance.spec.mjs:145 · e2e/bottom-clearance.spec.mjs:246 · e2e/bottom-clearance.spec.mjs:276 · e2e/support/viewportReadiness.mjs:3 |
| 13. 자동 재시도 0 | F | 정적 위반: CI에서 CASE 자동 재시도가 1회다. failOnFlakyTests가 재시도 통과를 실패 처리해도 자동 CASE 재실행 0회 조건을 충족하지 않는다. playwright.viewport.config.mjs:19 · playwright.viewport.config.mjs:20 |
| 14. 우회·약화 금지 | F | 정적 위반: 240초 timeout override 및 필수 친구 일지 검사를 선택적으로 건너뛰어도 >=16 개수 집계를 만족하는 우회가 있다. expect.soft 진단 옵션은 실패를 유지하므로 별도 은폐 결함으로 세지 않았다. e2e/bottom-clearance.spec.mjs:239 · e2e/bottom-clearance.spec.mjs:367 · e2e/bottom-clearance.spec.mjs:423 |
| 15. 실패 진단 증거 | U | 실패 trace와 JSON reporter 설정은 있다. 해당 CASE 첫 실패의 실행 식별·환경·관련 비동기 상태, 정리 오류와 원인 분리, 민감 정보 비노출을 충족하는 실제 진단 산출물은 이번 감사에서 확인하지 못했다. playwright.viewport.config.mjs:21 · playwright.viewport.config.mjs:32 · e2e/support/requiredEvidenceReporter.mjs:24 |
화면-02
workout dock states + tabbar + brand row geometry
기존 CI 최초 결과: passed, 14.759초. 품질 판정: 부적합. 확인 위반: 11, 12, 13번. 미검증: 8, 9, 10, 14, 15.
| 기준 | 판정 | 근거 |
|---|---|---|
| 1. 목적·범위 | P | 정적 확인: 제목·행동·기대 결과와 spec의 실제 앱/화면 검사 범위가 연결된다. 이 판정은 실행 통과 증거를 대체하지 않는다. e2e/dock-geometry.spec.mjs:198 · e2e/dock-geometry.spec.mjs:1 |
| 2. 시작 조건·재현성 | P | 정적 확인: 전용 계정·명시적 입력 fixture를 준비하고 브라우저 업무 날짜·ko-KR·Asia/Seoul을 고정한다. 임의 UUID는 계정 식별용이다. e2e/dock-geometry.spec.mjs:50 · e2e/support/businessDate.mjs:19 · playwright.viewport.config.mjs:30 |
| 3. 독립성 | P | 정적 확인: 이 spec의 전용 일회용 계정과 CASE별 새 브라우저 context/page를 사용한다. 허용 실행은 workers=1이며 공유 DB 시계 scope는 격리 sandbox를 확인하고 복원한다. 다른 CASE의 선행 결과를 요구하지 않는다. e2e/dock-geometry.spec.mjs:50 · e2e/dock-geometry.spec.mjs:198 · playwright.viewport.config.mjs:15 · e2e/support/prOverviewFixtureClock.mjs:19 · e2e/support/prOverviewFixtureClock.mjs:61 |
| 4. 상태 기반 동기화 | P | 정적 확인: 화면 상태·응답과 유한 애니메이션/폰트/기하 안정 조건으로 다음 행동을 제어한다. 고정 sleep 또는 networkidle만으로 준비를 판정하지 않는다. 대기 시간 상한 위반은 12번에 따로 기록했다. e2e/dock-geometry.spec.mjs:198 · e2e/support/viewportReadiness.mjs:3 · e2e/support/viewportReadiness.mjs:27 |
| 5. 독립 기대값 | P | 정적 확인: safe 34/47px 증가량, 고정 clearance 값 및 탭 간/도크 상태 간 기하 일치라는 요구 불변식을 실제 rect와 비교한다. CSS 토큰 readback은 명목 높이 소유권을 검사하는 범위다. e2e/dock-geometry.spec.mjs:181 · e2e/dock-geometry.spec.mjs:239 · e2e/dock-geometry.spec.mjs:260 · e2e/dock-geometry.spec.mjs:338 |
| 6. 상황 실제 발생 | P | 정적 확인: 운동 시작·진행·휴식·완료 대기·검토를 실제 UI로 진입하며 selector 표시를 기다린다. safe 주입 전후 실제 높이 차이 34px와 top 차이 47px를 단언한다. e2e/dock-geometry.spec.mjs:173 · e2e/dock-geometry.spec.mjs:186 · e2e/dock-geometry.spec.mjs:263 · e2e/dock-geometry.spec.mjs:309 |
| 7. 경계·금지 부작용 | P | 정적 확인: 도크 바닥 밀착·높이 일치·해당 stage 넘침·탭바 숨김·화면 하단 여백·레이어 왕복 복원·워드마크 정렬을 검사한다. e2e/dock-geometry.spec.mjs:181 · e2e/dock-geometry.spec.mjs:233 · e2e/dock-geometry.spec.mjs:272 · e2e/dock-geometry.spec.mjs:336 |
| 8. 필수 단언 완결성 | U | 본문의 주요 비동기 단언은 await되지만 viewport 경로는 CASE별 필수 단언 완료 증거 및 예상 밖 브라우저 오류를 빠짐없이 실패로 만드는 증거를 제공하지 않는다. 완료 attachment 검사는 browser lane에만 적용된다. e2e/dock-geometry.spec.mjs:198 · e2e/support/requiredEvidenceReporter.mjs:10 |
| 9. 결함 탐지·공통 도구 | U | 이 CASE의 대표 결함을 넣어 목표 단언에서 실패한 실행 증거와 공유 helper의 관련 취소·새로고침·중도 실패 경로 검증 증거를 이번 감사에서 확인하지 못했다. 정상 실행 통과나 단언 존재로 대체하지 않았다. e2e/dock-geometry.spec.mjs:198 · e2e/support/viewportReadiness.mjs:3 |
| 10. 자원 정리 | U | 계정 삭제·재조회와 공유 시계 복원은 hook에 있다. 직접 만든 context는 정상 꼬리에서만 닫으며 중도 실패 시 CASE 정리 단계에서 보류 요청·탭·리스너를 실제 종료하고 확인한다는 증거는 없다. 브라우저 worker 종료를 CASE별 정리 검증으로 간주하지 않았다. e2e/dock-geometry.spec.mjs:72 · e2e/support/cleanupVerification.mjs:18 · e2e/support/prOverviewFixtureClock.mjs:61 |
| 11. CASE 60초 | F | 정적 위반: CASE 설정 상한이 180초로 60초를 초과한다. 실제 실행이 60초 안에 끝났는지와 별개의 상한 위반이다. playwright.viewport.config.mjs:17 |
| 12. 동작 대기 10초 | F | 정적 위반: 부팅 wait 60초·상태별 selector wait 30초이며 document.fonts.ready는 자체 10초 상한이 없다. e2e/dock-geometry.spec.mjs:97 · e2e/dock-geometry.spec.mjs:99 · e2e/dock-geometry.spec.mjs:173 |
| 13. 자동 재시도 0 | F | 정적 위반: CI에서 CASE 자동 재시도가 1회다. failOnFlakyTests가 재시도 통과를 실패 처리해도 자동 CASE 재실행 0회 조건을 충족하지 않는다. playwright.viewport.config.mjs:19 · playwright.viewport.config.mjs:20 |
| 14. 우회·약화 금지 | U | 정적 확인: 필수 환경 부족 시 spec가 skip되며 local 필수 reporter는 skip을 거절한다. 모든 필수 실행 경로에서 선택·skip·override 우회가 끝까지 거절되는지는 공통 실행 경로 감사의 증거가 필요하다. 실제 skip 통과를 관측한 것으로 판정하지 않았다. e2e/dock-geometry.spec.mjs:48 · playwright.viewport.config.mjs:23 · e2e/support/requiredEvidenceReporter.mjs:8 |
| 15. 실패 진단 증거 | U | 실패 trace와 JSON reporter 설정은 있다. 해당 CASE 첫 실패의 실행 식별·환경·관련 비동기 상태, 정리 오류와 원인 분리, 민감 정보 비노출을 충족하는 실제 진단 산출물은 이번 감사에서 확인하지 못했다. playwright.viewport.config.mjs:21 · playwright.viewport.config.mjs:32 · e2e/support/requiredEvidenceReporter.mjs:24 |
화면-03
그룹장 이름 저장·공지 두 개 작성은 새로고침 뒤 라운지와 지난 공지에 유지된다
기존 CI 최초 결과: passed, 6.325초. 품질 판정: 부적합. 확인 위반: 11, 12, 13번. 미검증: 8, 9, 10, 14, 15.
| 기준 | 판정 | 근거 |
|---|---|---|
| 1. 목적·범위 | P | 정적 확인: 제목·행동·기대 결과와 spec의 실제 앱/화면 검사 범위가 연결된다. 이 판정은 실행 통과 증거를 대체하지 않는다. e2e/group-design-notifications.spec.mjs:87 · e2e/group-design-notifications.spec.mjs:1 |
| 2. 시작 조건·재현성 | P | 정적 확인: 전용 계정·명시적 입력 fixture를 준비하고 브라우저 업무 날짜·ko-KR·Asia/Seoul을 고정한다. 임의 UUID는 계정 식별용이다. e2e/group-design-notifications.spec.mjs:73 · e2e/support/businessDate.mjs:19 · playwright.viewport.config.mjs:30 |
| 3. 독립성 | P | 정적 확인: 이 spec의 전용 일회용 계정과 CASE별 새 브라우저 context/page를 사용한다. 허용 실행은 workers=1이며 공유 DB 시계 scope는 격리 sandbox를 확인하고 복원한다. 다른 CASE의 선행 결과를 요구하지 않는다. e2e/group-design-notifications.spec.mjs:73 · e2e/group-design-notifications.spec.mjs:87 · playwright.viewport.config.mjs:15 · e2e/support/prOverviewFixtureClock.mjs:19 · e2e/support/prOverviewFixtureClock.mjs:61 |
| 4. 상태 기반 동기화 | P | 정적 확인: 화면 상태·응답과 유한 애니메이션/폰트/기하 안정 조건으로 다음 행동을 제어한다. 고정 sleep 또는 networkidle만으로 준비를 판정하지 않는다. 대기 시간 상한 위반은 12번에 따로 기록했다. e2e/group-design-notifications.spec.mjs:87 · e2e/support/viewportReadiness.mjs:3 · e2e/support/viewportReadiness.mjs:27 |
| 5. 독립 기대값 | P | 정적 확인: 테스트가 입력한 그룹명·공지·초대 대상·세션 제목/댓글과 실제 UI·서버 readback을 비교한다. 앱 표시 함수를 기대값으로 재사용하지 않는다. e2e/group-design-notifications.spec.mjs:87 |
| 6. 상황 실제 발생 | P | 정적 확인: 그룹장으로 그룹 이름을 저장하고 서로 다른 공지 두 개를 실제 등록한 후 서버 목록과 새로고침 UI에서 관측한다. e2e/group-design-notifications.spec.mjs:87 · e2e/group-design-notifications.spec.mjs:105 |
| 7. 경계·금지 부작용 | P | 정적 확인: 두 공지 순서와 이전 공지 보존, 새로고침 후 변경 그룹명과 공지 유지라는 해당 저장 시나리오의 금지 결과를 검사한다. e2e/group-design-notifications.spec.mjs:105 · e2e/group-design-notifications.spec.mjs:108 |
| 8. 필수 단언 완결성 | U | 본문의 주요 비동기 단언은 await되지만 viewport 경로는 CASE별 필수 단언 완료 증거 및 예상 밖 브라우저 오류를 빠짐없이 실패로 만드는 증거를 제공하지 않는다. 완료 attachment 검사는 browser lane에만 적용된다. e2e/group-design-notifications.spec.mjs:87 · e2e/support/requiredEvidenceReporter.mjs:10 |
| 9. 결함 탐지·공통 도구 | U | 이 CASE의 대표 결함을 넣어 목표 단언에서 실패한 실행 증거와 공유 helper의 관련 취소·새로고침·중도 실패 경로 검증 증거를 이번 감사에서 확인하지 못했다. 정상 실행 통과나 단언 존재로 대체하지 않았다. e2e/group-design-notifications.spec.mjs:87 · e2e/support/viewportReadiness.mjs:3 |
| 10. 자원 정리 | U | 계정 삭제·재조회와 공유 시계 복원 hook, Playwright page fixture 정리는 있다. 성공·중도 실패 모두 테스트가 소유한 비동기 작업 종료와 정리 완료를 확인한 실행 증거는 없다. e2e/group-design-notifications.spec.mjs:82 · e2e/support/cleanupVerification.mjs:18 · e2e/support/prOverviewFixtureClock.mjs:61 |
| 11. CASE 60초 | F | 정적 위반: CASE 설정 상한이 180초로 60초를 초과한다. 실제 실행이 60초 안에 끝났는지와 별개의 상한 위반이다. playwright.viewport.config.mjs:17 |
| 12. 동작 대기 10초 | F | 정적 위반: expect 기본값 15초, 화면/레이아웃 helper 대기 30초로 1회 10초 상한을 초과한다. playwright.viewport.config.mjs:18 · e2e/support/viewportReadiness.mjs:3 · e2e/support/viewportReadiness.mjs:29 |
| 13. 자동 재시도 0 | F | 정적 위반: CI에서 CASE 자동 재시도가 1회다. failOnFlakyTests가 재시도 통과를 실패 처리해도 자동 CASE 재실행 0회 조건을 충족하지 않는다. playwright.viewport.config.mjs:19 · playwright.viewport.config.mjs:20 |
| 14. 우회·약화 금지 | U | 정적 확인: 필수 환경 부족 시 spec가 skip되며 local 필수 reporter는 skip을 거절한다. 모든 필수 실행 경로에서 선택·skip·override 우회가 끝까지 거절되는지는 공통 실행 경로 감사의 증거가 필요하다. 실제 skip 통과를 관측한 것으로 판정하지 않았다. e2e/group-design-notifications.spec.mjs:72 · playwright.viewport.config.mjs:23 · e2e/support/requiredEvidenceReporter.mjs:8 |
| 15. 실패 진단 증거 | U | 실패 trace와 JSON reporter 설정은 있다. 해당 CASE 첫 실패의 실행 식별·환경·관련 비동기 상태, 정리 오류와 원인 분리, 민감 정보 비노출을 충족하는 실제 진단 산출물은 이번 감사에서 확인하지 못했다. playwright.viewport.config.mjs:21 · playwright.viewport.config.mjs:32 · e2e/support/requiredEvidenceReporter.mjs:24 |
화면-04
워드마크에서 초대를 수락하고 실제 팔로우 알림 읽음은 새로고침 뒤 유지된다
기존 CI 최초 결과: passed, 4.496초. 품질 판정: 부적합. 확인 위반: 11, 12, 13번. 미검증: 8, 9, 10, 14, 15.
| 기준 | 판정 | 근거 |
|---|---|---|
| 1. 목적·범위 | P | 정적 확인: 제목·행동·기대 결과와 spec의 실제 앱/화면 검사 범위가 연결된다. 이 판정은 실행 통과 증거를 대체하지 않는다. e2e/group-design-notifications.spec.mjs:118 · e2e/group-design-notifications.spec.mjs:1 |
| 2. 시작 조건·재현성 | P | 정적 확인: 전용 계정·명시적 입력 fixture를 준비하고 브라우저 업무 날짜·ko-KR·Asia/Seoul을 고정한다. 임의 UUID는 계정 식별용이다. e2e/group-design-notifications.spec.mjs:73 · e2e/support/businessDate.mjs:19 · playwright.viewport.config.mjs:30 |
| 3. 독립성 | P | 정적 확인: 이 spec의 전용 일회용 계정과 CASE별 새 브라우저 context/page를 사용한다. 허용 실행은 workers=1이며 공유 DB 시계 scope는 격리 sandbox를 확인하고 복원한다. 다른 CASE의 선행 결과를 요구하지 않는다. e2e/group-design-notifications.spec.mjs:73 · e2e/group-design-notifications.spec.mjs:118 · playwright.viewport.config.mjs:15 · e2e/support/prOverviewFixtureClock.mjs:19 · e2e/support/prOverviewFixtureClock.mjs:61 |
| 4. 상태 기반 동기화 | P | 정적 확인: 화면 상태·응답과 유한 애니메이션/폰트/기하 안정 조건으로 다음 행동을 제어한다. 고정 sleep 또는 networkidle만으로 준비를 판정하지 않는다. 대기 시간 상한 위반은 12번에 따로 기록했다. e2e/group-design-notifications.spec.mjs:118 · e2e/support/viewportReadiness.mjs:3 · e2e/support/viewportReadiness.mjs:27 |
| 5. 독립 기대값 | P | 정적 확인: 테스트가 입력한 그룹명·공지·초대 대상·세션 제목/댓글과 실제 UI·서버 readback을 비교한다. 앱 표시 함수를 기대값으로 재사용하지 않는다. e2e/group-design-notifications.spec.mjs:118 |
| 6. 상황 실제 발생 | P | 정적 확인: 초대와 팔로우 알림 생성 결과를 확인하고 실제 초대 수락·모두 읽음을 UI로 실행한 후 서버와 새로고침 상태를 관측한다. e2e/group-design-notifications.spec.mjs:119 · e2e/group-design-notifications.spec.mjs:123 · e2e/group-design-notifications.spec.mjs:132 |
| 7. 경계·금지 부작용 | P | 정적 확인: 초대 수락 뒤 초대 제거·실제 그룹 가입·읽음 저장·새로고침 후 미읽음/초대 재등장 금지를 검사한다. e2e/group-design-notifications.spec.mjs:126 · e2e/group-design-notifications.spec.mjs:132 · e2e/group-design-notifications.spec.mjs:134 |
| 8. 필수 단언 완결성 | U | 본문의 주요 비동기 단언은 await되지만 viewport 경로는 CASE별 필수 단언 완료 증거 및 예상 밖 브라우저 오류를 빠짐없이 실패로 만드는 증거를 제공하지 않는다. 완료 attachment 검사는 browser lane에만 적용된다. e2e/group-design-notifications.spec.mjs:118 · e2e/support/requiredEvidenceReporter.mjs:10 |
| 9. 결함 탐지·공통 도구 | U | 이 CASE의 대표 결함을 넣어 목표 단언에서 실패한 실행 증거와 공유 helper의 관련 취소·새로고침·중도 실패 경로 검증 증거를 이번 감사에서 확인하지 못했다. 정상 실행 통과나 단언 존재로 대체하지 않았다. e2e/group-design-notifications.spec.mjs:118 · e2e/support/viewportReadiness.mjs:3 |
| 10. 자원 정리 | U | 계정 삭제·재조회와 공유 시계 복원 hook, Playwright page fixture 정리는 있다. 성공·중도 실패 모두 테스트가 소유한 비동기 작업 종료와 정리 완료를 확인한 실행 증거는 없다. e2e/group-design-notifications.spec.mjs:82 · e2e/support/cleanupVerification.mjs:18 · e2e/support/prOverviewFixtureClock.mjs:61 |
| 11. CASE 60초 | F | 정적 위반: CASE 설정 상한이 180초로 60초를 초과한다. 실제 실행이 60초 안에 끝났는지와 별개의 상한 위반이다. playwright.viewport.config.mjs:17 |
| 12. 동작 대기 10초 | F | 정적 위반: expect 기본값 15초, 화면/레이아웃 helper 대기 30초로 1회 10초 상한을 초과한다. playwright.viewport.config.mjs:18 · e2e/support/viewportReadiness.mjs:3 · e2e/support/viewportReadiness.mjs:29 |
| 13. 자동 재시도 0 | F | 정적 위반: CI에서 CASE 자동 재시도가 1회다. failOnFlakyTests가 재시도 통과를 실패 처리해도 자동 CASE 재실행 0회 조건을 충족하지 않는다. playwright.viewport.config.mjs:19 · playwright.viewport.config.mjs:20 |
| 14. 우회·약화 금지 | U | 정적 확인: 필수 환경 부족 시 spec가 skip되며 local 필수 reporter는 skip을 거절한다. 모든 필수 실행 경로에서 선택·skip·override 우회가 끝까지 거절되는지는 공통 실행 경로 감사의 증거가 필요하다. 실제 skip 통과를 관측한 것으로 판정하지 않았다. e2e/group-design-notifications.spec.mjs:72 · playwright.viewport.config.mjs:23 · e2e/support/requiredEvidenceReporter.mjs:8 |
| 15. 실패 진단 증거 | U | 실패 trace와 JSON reporter 설정은 있다. 해당 CASE 첫 실패의 실행 식별·환경·관련 비동기 상태, 정리 오류와 원인 분리, 민감 정보 비노출을 충족하는 실제 진단 산출물은 이번 감사에서 확인하지 못했다. playwright.viewport.config.mjs:21 · playwright.viewport.config.mjs:32 · e2e/support/requiredEvidenceReporter.mjs:24 |
화면-05
댓글 알림은 첫 피드 페이지 밖 내 운동 한 개를 실제 조회하고 올바른 댓글 시트를 연다
기존 CI 최초 결과: passed, 4.742초. 품질 판정: 부적합. 확인 위반: 11, 12, 13번. 미검증: 8, 9, 10, 14, 15.
| 기준 | 판정 | 근거 |
|---|---|---|
| 1. 목적·범위 | P | 정적 확인: 제목·행동·기대 결과와 spec의 실제 앱/화면 검사 범위가 연결된다. 이 판정은 실행 통과 증거를 대체하지 않는다. e2e/group-design-notifications.spec.mjs:142 · e2e/group-design-notifications.spec.mjs:1 |
| 2. 시작 조건·재현성 | P | 정적 확인: 전용 계정·명시적 입력 fixture를 준비하고 브라우저 업무 날짜·ko-KR·Asia/Seoul을 고정한다. 임의 UUID는 계정 식별용이다. e2e/group-design-notifications.spec.mjs:73 · e2e/support/businessDate.mjs:19 · playwright.viewport.config.mjs:30 |
| 3. 독립성 | P | 정적 확인: 이 spec의 전용 일회용 계정과 CASE별 새 브라우저 context/page를 사용한다. 허용 실행은 workers=1이며 공유 DB 시계 scope는 격리 sandbox를 확인하고 복원한다. 다른 CASE의 선행 결과를 요구하지 않는다. e2e/group-design-notifications.spec.mjs:73 · e2e/group-design-notifications.spec.mjs:142 · playwright.viewport.config.mjs:15 · e2e/support/prOverviewFixtureClock.mjs:19 · e2e/support/prOverviewFixtureClock.mjs:61 |
| 4. 상태 기반 동기화 | P | 정적 확인: 화면 상태·응답과 유한 애니메이션/폰트/기하 안정 조건으로 다음 행동을 제어한다. 고정 sleep 또는 networkidle만으로 준비를 판정하지 않는다. 대기 시간 상한 위반은 12번에 따로 기록했다. e2e/group-design-notifications.spec.mjs:142 · e2e/support/viewportReadiness.mjs:3 · e2e/support/viewportReadiness.mjs:27 |
| 5. 독립 기대값 | P | 정적 확인: 테스트가 입력한 그룹명·공지·초대 대상·세션 제목/댓글과 실제 UI·서버 readback을 비교한다. 앱 표시 함수를 기대값으로 재사용하지 않는다. e2e/group-design-notifications.spec.mjs:142 |
| 6. 상황 실제 발생 | P | 정적 확인: 실제 26개 세션을 만든 뒤 대상 세션이 첫 피드 페이지에 없음을 단언하고, 해당 sessionId를 담은 상세 RPC 성공과 올바른 댓글 시트를 관측한다. e2e/group-design-notifications.spec.mjs:150 · e2e/group-design-notifications.spec.mjs:159 · e2e/group-design-notifications.spec.mjs:162 |
| 7. 경계·금지 부작용 | P | 정적 확인: 페이지 경계 밖 기록의 정확한 sessionId·제목·본문·댓글, 알림 읽음 저장을 검사한다. 2024년 날짜는 브라우저 기준일2026-09-08과 함께 고정되어 상대 관계가 재현 가능하다. e2e/group-design-notifications.spec.mjs:15 · e2e/group-design-notifications.spec.mjs:150 · e2e/group-design-notifications.spec.mjs:165 |
| 8. 필수 단언 완결성 | U | 본문의 주요 비동기 단언은 await되지만 viewport 경로는 CASE별 필수 단언 완료 증거 및 예상 밖 브라우저 오류를 빠짐없이 실패로 만드는 증거를 제공하지 않는다. 완료 attachment 검사는 browser lane에만 적용된다. e2e/group-design-notifications.spec.mjs:142 · e2e/support/requiredEvidenceReporter.mjs:10 |
| 9. 결함 탐지·공통 도구 | U | 이 CASE의 대표 결함을 넣어 목표 단언에서 실패한 실행 증거와 공유 helper의 관련 취소·새로고침·중도 실패 경로 검증 증거를 이번 감사에서 확인하지 못했다. 정상 실행 통과나 단언 존재로 대체하지 않았다. e2e/group-design-notifications.spec.mjs:142 · e2e/support/viewportReadiness.mjs:3 |
| 10. 자원 정리 | U | 계정 삭제·재조회와 공유 시계 복원 hook, Playwright page fixture 정리는 있다. 성공·중도 실패 모두 테스트가 소유한 비동기 작업 종료와 정리 완료를 확인한 실행 증거는 없다. e2e/group-design-notifications.spec.mjs:82 · e2e/support/cleanupVerification.mjs:18 · e2e/support/prOverviewFixtureClock.mjs:61 |
| 11. CASE 60초 | F | 정적 위반: CASE 설정 상한이 180초로 60초를 초과한다. 실제 실행이 60초 안에 끝났는지와 별개의 상한 위반이다. playwright.viewport.config.mjs:17 |
| 12. 동작 대기 10초 | F | 정적 위반: expect 기본값 15초, 화면/레이아웃 helper 대기 30초로 1회 10초 상한을 초과한다. playwright.viewport.config.mjs:18 · e2e/support/viewportReadiness.mjs:3 · e2e/support/viewportReadiness.mjs:29 |
| 13. 자동 재시도 0 | F | 정적 위반: CI에서 CASE 자동 재시도가 1회다. failOnFlakyTests가 재시도 통과를 실패 처리해도 자동 CASE 재실행 0회 조건을 충족하지 않는다. playwright.viewport.config.mjs:19 · playwright.viewport.config.mjs:20 |
| 14. 우회·약화 금지 | U | 정적 확인: 필수 환경 부족 시 spec가 skip되며 local 필수 reporter는 skip을 거절한다. 모든 필수 실행 경로에서 선택·skip·override 우회가 끝까지 거절되는지는 공통 실행 경로 감사의 증거가 필요하다. 실제 skip 통과를 관측한 것으로 판정하지 않았다. e2e/group-design-notifications.spec.mjs:72 · playwright.viewport.config.mjs:23 · e2e/support/requiredEvidenceReporter.mjs:8 |
| 15. 실패 진단 증거 | U | 실패 trace와 JSON reporter 설정은 있다. 해당 CASE 첫 실패의 실행 식별·환경·관련 비동기 상태, 정리 오류와 원인 분리, 민감 정보 비노출을 충족하는 실제 진단 산출물은 이번 감사에서 확인하지 못했다. playwright.viewport.config.mjs:21 · playwright.viewport.config.mjs:32 · e2e/support/requiredEvidenceReporter.mjs:24 |
화면-06
아이언맨·기능성 트레이너 선택을 저장하고 새로고침 뒤 현재 카드·홈 직업명이 유지된다
기존 CI 최초 결과: passed, 12.053초. 품질 판정: 부적합. 확인 위반: 11, 12, 13번. 미검증: 7, 8, 9, 10, 14, 15.
| 기준 | 판정 | 근거 |
|---|---|---|
| 1. 목적·범위 | P | 정적 확인: 제목·행동·기대 결과와 spec의 실제 앱/화면 검사 범위가 연결된다. 이 판정은 실행 통과 증거를 대체하지 않는다. e2e/profile-design-settings.spec.mjs:97 · e2e/profile-design-settings.spec.mjs:1 |
| 2. 시작 조건·재현성 | P | 정적 확인: 전용 계정·명시적 입력 fixture를 준비하고 브라우저 업무 날짜·ko-KR·Asia/Seoul을 고정한다. 임의 UUID는 계정 식별용이다. e2e/profile-design-settings.spec.mjs:30 · e2e/support/businessDate.mjs:19 · playwright.viewport.config.mjs:30 |
| 3. 독립성 | P | 정적 확인: 이 spec의 전용 일회용 계정과 CASE별 새 브라우저 context/page를 사용한다. 허용 실행은 workers=1이며 공유 DB 시계 scope는 격리 sandbox를 확인하고 복원한다. 다른 CASE의 선행 결과를 요구하지 않는다. e2e/profile-design-settings.spec.mjs:30 · e2e/profile-design-settings.spec.mjs:97 · playwright.viewport.config.mjs:15 · e2e/support/prOverviewFixtureClock.mjs:19 · e2e/support/prOverviewFixtureClock.mjs:61 |
| 4. 상태 기반 동기화 | P | 정적 확인: 화면 상태·응답과 유한 애니메이션/폰트/기하 안정 조건으로 다음 행동을 제어한다. 고정 sleep 또는 networkidle만으로 준비를 판정하지 않는다. 대기 시간 상한 위반은 12번에 따로 기록했다. e2e/profile-design-settings.spec.mjs:97 · e2e/support/viewportReadiness.mjs:3 · e2e/support/viewportReadiness.mjs:27 |
| 5. 독립 기대값 | P | 정적 확인: 두 직업 ID/표시명과 RPC payload는 테스트 고정 표이며 profiles readback·홈 카드·선택 상태와 비교한다. e2e/profile-design-settings.spec.mjs:102 · e2e/profile-design-settings.spec.mjs:115 · e2e/profile-design-settings.spec.mjs:128 |
| 6. 상황 실제 발생 | P | 정적 확인: 카드 선택→확인→실제 POST 성공→DB 직업값 저장→새로고침 후 홈/선택 상태를 관측한다. e2e/profile-design-settings.spec.mjs:106 · e2e/profile-design-settings.spec.mjs:110 · e2e/profile-design-settings.spec.mjs:118 |
| 7. 경계·금지 부작용 | U | 두 직업 변경과 재진입, 의도한 필드만 보내는 요청은 검사한다. 같은 확인창에 명시된 레벨·기록 등급 유지 문구는 확인하지만 실제 보존 값이나 이를 맡는 연결 CASE 근거는 이 spec에서 확인하지 못했다. 범위 밖 서버 전체 검증을 요구하는 판정은 아니다. e2e/profile-design-settings.spec.mjs:109 · e2e/profile-design-settings.spec.mjs:84 · e2e/profile-design-settings.spec.mjs:128 |
| 8. 필수 단언 완결성 | U | 본문의 주요 비동기 단언은 await되지만 viewport 경로는 CASE별 필수 단언 완료 증거 및 예상 밖 브라우저 오류를 빠짐없이 실패로 만드는 증거를 제공하지 않는다. 완료 attachment 검사는 browser lane에만 적용된다. e2e/profile-design-settings.spec.mjs:97 · e2e/support/requiredEvidenceReporter.mjs:10 |
| 9. 결함 탐지·공통 도구 | U | 이 CASE의 대표 결함을 넣어 목표 단언에서 실패한 실행 증거와 공유 helper의 관련 취소·새로고침·중도 실패 경로 검증 증거를 이번 감사에서 확인하지 못했다. 정상 실행 통과나 단언 존재로 대체하지 않았다. e2e/profile-design-settings.spec.mjs:97 · e2e/support/viewportReadiness.mjs:3 |
| 10. 자원 정리 | U | 계정 삭제·재조회와 공유 시계 복원 hook, Playwright page fixture 정리는 있다. 성공·중도 실패 모두 테스트가 소유한 비동기 작업 종료와 정리 완료를 확인한 실행 증거는 없다. e2e/profile-design-settings.spec.mjs:61 · e2e/support/cleanupVerification.mjs:18 · e2e/support/prOverviewFixtureClock.mjs:61 |
| 11. CASE 60초 | F | 정적 위반: CASE 설정 상한이 180초로 60초를 초과한다. 실제 실행이 60초 안에 끝났는지와 별개의 상한 위반이다. playwright.viewport.config.mjs:17 |
| 12. 동작 대기 10초 | F | 정적 위반: expect 기본값 15초, 화면/레이아웃 helper 대기 30초로 1회 10초 상한을 초과한다. playwright.viewport.config.mjs:18 · e2e/support/viewportReadiness.mjs:3 · e2e/support/viewportReadiness.mjs:29 |
| 13. 자동 재시도 0 | F | 정적 위반: CI에서 CASE 자동 재시도가 1회다. failOnFlakyTests가 재시도 통과를 실패 처리해도 자동 CASE 재실행 0회 조건을 충족하지 않는다. playwright.viewport.config.mjs:19 · playwright.viewport.config.mjs:20 |
| 14. 우회·약화 금지 | U | 정적 확인: 필수 환경 부족 시 spec가 skip되며 local 필수 reporter는 skip을 거절한다. 모든 필수 실행 경로에서 선택·skip·override 우회가 끝까지 거절되는지는 공통 실행 경로 감사의 증거가 필요하다. 실제 skip 통과를 관측한 것으로 판정하지 않았다. e2e/profile-design-settings.spec.mjs:28 · playwright.viewport.config.mjs:23 · e2e/support/requiredEvidenceReporter.mjs:8 |
| 15. 실패 진단 증거 | U | 실패 trace와 JSON reporter 설정은 있다. 해당 CASE 첫 실패의 실행 식별·환경·관련 비동기 상태, 정리 오류와 원인 분리, 민감 정보 비노출을 충족하는 실제 진단 산출물은 이번 감사에서 확인하지 못했다. playwright.viewport.config.mjs:21 · playwright.viewport.config.mjs:32 · e2e/support/requiredEvidenceReporter.mjs:24 |
화면-07
성별 해제·키·체중을 한 요청으로 저장하며 pending 중에는 서버 값과 입력을 보존한다
기존 CI 최초 결과: passed, 6.523초. 품질 판정: 부적합. 확인 위반: 11, 12, 13번. 미검증: 8, 9, 10, 14, 15.
| 기준 | 판정 | 근거 |
|---|---|---|
| 1. 목적·범위 | P | 정적 확인: 제목·행동·기대 결과와 spec의 실제 앱/화면 검사 범위가 연결된다. 이 판정은 실행 통과 증거를 대체하지 않는다. e2e/profile-design-settings.spec.mjs:131 · e2e/profile-design-settings.spec.mjs:1 |
| 2. 시작 조건·재현성 | P | 정적 확인: 전용 계정·명시적 입력 fixture를 준비하고 브라우저 업무 날짜·ko-KR·Asia/Seoul을 고정한다. 임의 UUID는 계정 식별용이다. e2e/profile-design-settings.spec.mjs:30 · e2e/support/businessDate.mjs:19 · playwright.viewport.config.mjs:30 |
| 3. 독립성 | P | 정적 확인: 이 spec의 전용 일회용 계정과 CASE별 새 브라우저 context/page를 사용한다. 허용 실행은 workers=1이며 공유 DB 시계 scope는 격리 sandbox를 확인하고 복원한다. 다른 CASE의 선행 결과를 요구하지 않는다. e2e/profile-design-settings.spec.mjs:30 · e2e/profile-design-settings.spec.mjs:131 · playwright.viewport.config.mjs:15 · e2e/support/prOverviewFixtureClock.mjs:19 · e2e/support/prOverviewFixtureClock.mjs:61 |
| 4. 상태 기반 동기화 | P | 정적 확인: 화면 상태·응답과 유한 애니메이션/폰트/기하 안정 조건으로 다음 행동을 제어한다. 고정 sleep 또는 networkidle만으로 준비를 판정하지 않는다. 대기 시간 상한 위반은 12번에 따로 기록했다. e2e/profile-design-settings.spec.mjs:131 · e2e/support/viewportReadiness.mjs:3 · e2e/support/viewportReadiness.mjs:27 |
| 5. 독립 기대값 | P | 정적 확인: 성별null·키179.5·체중81.2와 기존 신체지표 값은 fixture에서 독립 지정하며 실제 profiles/body_metrics readback으로 판정한다. e2e/profile-design-settings.spec.mjs:38 · e2e/profile-design-settings.spec.mjs:136 · e2e/profile-design-settings.spec.mjs:177 |
| 6. 상황 실제 발생 | P | 정적 확인: 해당 POST가 route에 도착한 started를 기다린 뒤 pending을 검사하고 실제 release 후 응답 성공을 관측한다. 단순 route 등록을 발생 증거로 쓰지 않는다. e2e/profile-design-settings.spec.mjs:145 · e2e/profile-design-settings.spec.mjs:161 · e2e/profile-design-settings.spec.mjs:170 |
| 7. 경계·금지 부작용 | P | 정적 확인: pending의 입력/취소 비활성, 전송 전 DB 불변, 구형 성별 RPC0회, 단일 원자 payload/POST1회, 다른 신체지표 보존과 재진입 상태를 검사한다. e2e/profile-design-settings.spec.mjs:162 · e2e/profile-design-settings.spec.mjs:177 · e2e/profile-design-settings.spec.mjs:181 |
| 8. 필수 단언 완결성 | U | 본문의 주요 비동기 단언은 await되지만 viewport 경로는 CASE별 필수 단언 완료 증거 및 예상 밖 브라우저 오류를 빠짐없이 실패로 만드는 증거를 제공하지 않는다. 완료 attachment 검사는 browser lane에만 적용된다. e2e/profile-design-settings.spec.mjs:131 · e2e/support/requiredEvidenceReporter.mjs:10 |
| 9. 결함 탐지·공통 도구 | U | 이 CASE의 대표 결함을 넣어 목표 단언에서 실패한 실행 증거와 공유 helper의 관련 취소·새로고침·중도 실패 경로 검증 증거를 이번 감사에서 확인하지 못했다. 정상 실행 통과나 단언 존재로 대체하지 않았다. e2e/profile-design-settings.spec.mjs:131 · e2e/support/viewportReadiness.mjs:3 |
| 10. 자원 정리 | U | finally에서 held를 해제하고 unroute한다. 그러나 실패 경로에서 이미 실행 중인 route handler의 continue와 response 대기를 반드시 끝내거나 취소한 뒤 정리 완료를 확인하는 증거는 없다. 계정 삭제/readback과 page fixture 정리는 별도로 존재한다. e2e/profile-design-settings.spec.mjs:143 · e2e/profile-design-settings.spec.mjs:159 · e2e/profile-design-settings.spec.mjs:173 · e2e/profile-design-settings.spec.mjs:61 |
| 11. CASE 60초 | F | 정적 위반: CASE 설정 상한이 180초로 60초를 초과한다. 실제 실행이 60초 안에 끝났는지와 별개의 상한 위반이다. playwright.viewport.config.mjs:17 |
| 12. 동작 대기 10초 | F | 정적 위반: 공통 화면/레이아웃30초·expect15초 외에 await started에 자체10초 상한이 없어 CASE상한까지 대기할 수 있다. e2e/profile-design-settings.spec.mjs:161 · e2e/support/viewportReadiness.mjs:29 · playwright.viewport.config.mjs:18 |
| 13. 자동 재시도 0 | F | 정적 위반: CI에서 CASE 자동 재시도가 1회다. failOnFlakyTests가 재시도 통과를 실패 처리해도 자동 CASE 재실행 0회 조건을 충족하지 않는다. playwright.viewport.config.mjs:19 · playwright.viewport.config.mjs:20 |
| 14. 우회·약화 금지 | U | 정적 확인: 필수 환경 부족 시 spec가 skip되며 local 필수 reporter는 skip을 거절한다. 모든 필수 실행 경로에서 선택·skip·override 우회가 끝까지 거절되는지는 공통 실행 경로 감사의 증거가 필요하다. 실제 skip 통과를 관측한 것으로 판정하지 않았다. e2e/profile-design-settings.spec.mjs:28 · playwright.viewport.config.mjs:23 · e2e/support/requiredEvidenceReporter.mjs:8 |
| 15. 실패 진단 증거 | U | 실패 trace와 JSON reporter 설정은 있다. 해당 CASE 첫 실패의 실행 식별·환경·관련 비동기 상태, 정리 오류와 원인 분리, 민감 정보 비노출을 충족하는 실제 진단 산출물은 이번 감사에서 확인하지 못했다. playwright.viewport.config.mjs:21 · playwright.viewport.config.mjs:32 · e2e/support/requiredEvidenceReporter.mjs:24 |
화면-08
연간·월간 이동은 선택한 기간만 읽고 실제 10칸 분포 네 종류를 표시한다
기존 CI 최초 결과: passed, 6.407초. 품질 판정: 부적합. 확인 위반: 11, 12, 13번. 미검증: 8, 9, 10, 14, 15.
| 기준 | 판정 | 근거 |
|---|---|---|
| 1. 목적·범위 | P | 정적 확인: 제목·행동·기대 결과와 spec의 실제 앱/화면 검사 범위가 연결된다. 이 판정은 실행 통과 증거를 대체하지 않는다. e2e/report-design-detail.spec.mjs:173 · e2e/report-design-detail.spec.mjs:1 |
| 2. 시작 조건·재현성 | P | 정적 확인: 전용 계정·명시적 입력 fixture를 준비하고 브라우저 업무 날짜·ko-KR·Asia/Seoul을 고정한다. 임의 UUID는 계정 식별용이다. e2e/report-design-detail.spec.mjs:50 · e2e/support/businessDate.mjs:19 · playwright.viewport.config.mjs:30 |
| 3. 독립성 | P | 정적 확인: 이 spec의 전용 일회용 계정과 CASE별 새 브라우저 context/page를 사용한다. 허용 실행은 workers=1이며 공유 DB 시계 scope는 격리 sandbox를 확인하고 복원한다. 다른 CASE의 선행 결과를 요구하지 않는다. e2e/report-design-detail.spec.mjs:50 · e2e/report-design-detail.spec.mjs:173 · playwright.viewport.config.mjs:15 · e2e/support/prOverviewFixtureClock.mjs:19 · e2e/support/prOverviewFixtureClock.mjs:61 |
| 4. 상태 기반 동기화 | P | 정적 확인: 화면 상태·응답과 유한 애니메이션/폰트/기하 안정 조건으로 다음 행동을 제어한다. 고정 sleep 또는 networkidle만으로 준비를 판정하지 않는다. 대기 시간 상한 위반은 12번에 따로 기록했다. e2e/report-design-detail.spec.mjs:173 · e2e/support/viewportReadiness.mjs:3 · e2e/support/viewportReadiness.mjs:27 |
| 5. 독립 기대값 | P | 정적 확인: 검증 목적은 선택 기간의 서버 반환값이 UI에 올바르게 연결되고 최신 선택이 유지되는 것이다. 서버 payload를 UI 변환과 독립된 기대 입력으로 쓰며 기간 요청값·분포10칸 라벨은 별도 고정 표로 검사한다. 서버 통계 계산 전체의 정답 검증으로 확대하지 않았다. e2e/report-design-detail.spec.mjs:27 · e2e/report-design-detail.spec.mjs:34 · e2e/report-design-detail.spec.mjs:96 · e2e/report-design-detail.spec.mjs:146 |
| 6. 상황 실제 발생 | P | 정적 확인: 기간별 fixture 통계가 서로 다름을 확인하고 연간/9월/8월을 실제 이동하여 요청 목록과 표시 데이터를 관측한다. e2e/report-design-detail.spec.mjs:106 · e2e/report-design-detail.spec.mjs:173 · e2e/report-design-detail.spec.mjs:197 |
| 7. 경계·금지 부작용 | P | 정적 확인: 비활성 리포트의 선조회 금지, 상세스택 왕복 중 기간/요청 불변, 선택한 기간만 요청, 분포 경계10칸과 레이블을 검사한다. e2e/report-design-detail.spec.mjs:133 · e2e/report-design-detail.spec.mjs:146 · e2e/report-design-detail.spec.mjs:195 · e2e/report-design-detail.spec.mjs:202 |
| 8. 필수 단언 완결성 | U | 본문의 주요 비동기 단언은 await되지만 viewport 경로는 CASE별 필수 단언 완료 증거 및 예상 밖 브라우저 오류를 빠짐없이 실패로 만드는 증거를 제공하지 않는다. 완료 attachment 검사는 browser lane에만 적용된다. e2e/report-design-detail.spec.mjs:173 · e2e/support/requiredEvidenceReporter.mjs:10 |
| 9. 결함 탐지·공통 도구 | U | 이 CASE의 대표 결함을 넣어 목표 단언에서 실패한 실행 증거와 공유 helper의 관련 취소·새로고침·중도 실패 경로 검증 증거를 이번 감사에서 확인하지 못했다. 정상 실행 통과나 단언 존재로 대체하지 않았다. e2e/report-design-detail.spec.mjs:173 · e2e/support/viewportReadiness.mjs:3 |
| 10. 자원 정리 | U | 계정 삭제·재조회와 공유 시계 복원 hook, Playwright page fixture 정리는 있다. 성공·중도 실패 모두 테스트가 소유한 비동기 작업 종료와 정리 완료를 확인한 실행 증거는 없다. e2e/report-design-detail.spec.mjs:112 · e2e/support/cleanupVerification.mjs:18 · e2e/support/prOverviewFixtureClock.mjs:61 |
| 11. CASE 60초 | F | 정적 위반: CASE 설정 상한이 180초로 60초를 초과한다. 실제 실행이 60초 안에 끝났는지와 별개의 상한 위반이다. playwright.viewport.config.mjs:17 |
| 12. 동작 대기 10초 | F | 정적 위반: expect 기본값 15초, 화면/레이아웃 helper 대기 30초로 1회 10초 상한을 초과한다. playwright.viewport.config.mjs:18 · e2e/support/viewportReadiness.mjs:3 · e2e/support/viewportReadiness.mjs:29 |
| 13. 자동 재시도 0 | F | 정적 위반: CI에서 CASE 자동 재시도가 1회다. failOnFlakyTests가 재시도 통과를 실패 처리해도 자동 CASE 재실행 0회 조건을 충족하지 않는다. playwright.viewport.config.mjs:19 · playwright.viewport.config.mjs:20 |
| 14. 우회·약화 금지 | U | 정적 확인: 필수 환경 부족 시 spec가 skip되며 local 필수 reporter는 skip을 거절한다. 모든 필수 실행 경로에서 선택·skip·override 우회가 끝까지 거절되는지는 공통 실행 경로 감사의 증거가 필요하다. 실제 skip 통과를 관측한 것으로 판정하지 않았다. e2e/report-design-detail.spec.mjs:48 · playwright.viewport.config.mjs:23 · e2e/support/requiredEvidenceReporter.mjs:8 |
| 15. 실패 진단 증거 | U | 실패 trace와 JSON reporter 설정은 있다. 해당 CASE 첫 실패의 실행 식별·환경·관련 비동기 상태, 정리 오류와 원인 분리, 민감 정보 비노출을 충족하는 실제 진단 산출물은 이번 감사에서 확인하지 못했다. playwright.viewport.config.mjs:21 · playwright.viewport.config.mjs:32 · e2e/support/requiredEvidenceReporter.mjs:24 |
화면-09
먼저 요청한 8월 응답이 늦게 도착해도 새로 선택한 연간 리포트를 덮어쓰지 않는다
기존 CI 최초 결과: passed, 5.080초. 품질 판정: 부적합. 확인 위반: 11, 12, 13번. 미검증: 8, 9, 10, 14, 15.
| 기준 | 판정 | 근거 |
|---|---|---|
| 1. 목적·범위 | P | 정적 확인: 제목·행동·기대 결과와 spec의 실제 앱/화면 검사 범위가 연결된다. 이 판정은 실행 통과 증거를 대체하지 않는다. e2e/report-design-detail.spec.mjs:206 · e2e/report-design-detail.spec.mjs:1 |
| 2. 시작 조건·재현성 | P | 정적 확인: 전용 계정·명시적 입력 fixture를 준비하고 브라우저 업무 날짜·ko-KR·Asia/Seoul을 고정한다. 임의 UUID는 계정 식별용이다. e2e/report-design-detail.spec.mjs:50 · e2e/support/businessDate.mjs:19 · playwright.viewport.config.mjs:30 |
| 3. 독립성 | P | 정적 확인: 이 spec의 전용 일회용 계정과 CASE별 새 브라우저 context/page를 사용한다. 허용 실행은 workers=1이며 공유 DB 시계 scope는 격리 sandbox를 확인하고 복원한다. 다른 CASE의 선행 결과를 요구하지 않는다. e2e/report-design-detail.spec.mjs:50 · e2e/report-design-detail.spec.mjs:206 · playwright.viewport.config.mjs:15 · e2e/support/prOverviewFixtureClock.mjs:19 · e2e/support/prOverviewFixtureClock.mjs:61 |
| 4. 상태 기반 동기화 | P | 정적 확인: 화면 상태·응답과 유한 애니메이션/폰트/기하 안정 조건으로 다음 행동을 제어한다. 고정 sleep 또는 networkidle만으로 준비를 판정하지 않는다. 대기 시간 상한 위반은 12번에 따로 기록했다. e2e/report-design-detail.spec.mjs:206 · e2e/support/viewportReadiness.mjs:3 · e2e/support/viewportReadiness.mjs:27 |
| 5. 독립 기대값 | P | 정적 확인: 검증 목적은 선택 기간의 서버 반환값이 UI에 올바르게 연결되고 최신 선택이 유지되는 것이다. 서버 payload를 UI 변환과 독립된 기대 입력으로 쓰며 기간 요청값·분포10칸 라벨은 별도 고정 표로 검사한다. 서버 통계 계산 전체의 정답 검증으로 확대하지 않았다. e2e/report-design-detail.spec.mjs:27 · e2e/report-design-detail.spec.mjs:34 · e2e/report-design-detail.spec.mjs:96 · e2e/report-design-detail.spec.mjs:146 |
| 6. 상황 실제 발생 | P | 정적 확인: 8월 실제 서버 응답을 받아 heldPayload와 loading을 확인하고, 연간 선택 후 응답 해제/처리가 끝난 뒤 연간 화면이 유지되는지 관측한다. 요청 취소도 정상 stale 차단 경로로 선언되어 있다. e2e/report-design-detail.spec.mjs:215 · e2e/report-design-detail.spec.mjs:233 · e2e/report-design-detail.spec.mjs:239 |
| 7. 경계·금지 부작용 | P | 정적 확인: 이전 월 데이터와 연간 데이터가 다름을 준비에서 확인하고, 늦은8월 응답이 선택된 연간 리포트를 덮지 않는 것과 요청순서/개수를 검사한다. e2e/report-design-detail.spec.mjs:106 · e2e/report-design-detail.spec.mjs:234 · e2e/report-design-detail.spec.mjs:244 |
| 8. 필수 단언 완결성 | U | 본문의 주요 비동기 단언은 await되지만 viewport 경로는 CASE별 필수 단언 완료 증거 및 예상 밖 브라우저 오류를 빠짐없이 실패로 만드는 증거를 제공하지 않는다. 완료 attachment 검사는 browser lane에만 적용된다. e2e/report-design-detail.spec.mjs:206 · e2e/support/requiredEvidenceReporter.mjs:10 |
| 9. 결함 탐지·공통 도구 | U | 이 CASE의 대표 결함을 넣어 목표 단언에서 실패한 실행 증거와 공유 helper의 관련 취소·새로고침·중도 실패 경로 검증 증거를 이번 감사에서 확인하지 못했다. 정상 실행 통과나 단언 존재로 대체하지 않았다. e2e/report-design-detail.spec.mjs:206 · e2e/support/viewportReadiness.mjs:3 |
| 10. 자원 정리 | U | 정상 경로는 handled까지 기다린다. finally는 release+unroute만 수행하므로 중간 단언 실패 시 실행 중 handler/응답 종료 확인이 보장된다는 증거는 없다. e2e/report-design-detail.spec.mjs:209 · e2e/report-design-detail.spec.mjs:242 · e2e/report-design-detail.spec.mjs:247 |
| 11. CASE 60초 | F | 정적 위반: CASE 설정 상한이 180초로 60초를 초과한다. 실제 실행이 60초 안에 끝났는지와 별개의 상한 위반이다. playwright.viewport.config.mjs:17 |
| 12. 동작 대기 10초 | F | 정적 위반: 공통30초/expect15초 외에 started·handled latch 및 route.fetch가 자체10초 상한을 선언하지 않는다. e2e/report-design-detail.spec.mjs:219 · e2e/report-design-detail.spec.mjs:233 · e2e/report-design-detail.spec.mjs:242 · e2e/support/viewportReadiness.mjs:29 |
| 13. 자동 재시도 0 | F | 정적 위반: CI에서 CASE 자동 재시도가 1회다. failOnFlakyTests가 재시도 통과를 실패 처리해도 자동 CASE 재실행 0회 조건을 충족하지 않는다. playwright.viewport.config.mjs:19 · playwright.viewport.config.mjs:20 |
| 14. 우회·약화 금지 | U | 정적 확인: 필수 환경 부족 시 spec가 skip되며 local 필수 reporter는 skip을 거절한다. 모든 필수 실행 경로에서 선택·skip·override 우회가 끝까지 거절되는지는 공통 실행 경로 감사의 증거가 필요하다. 실제 skip 통과를 관측한 것으로 판정하지 않았다. e2e/report-design-detail.spec.mjs:48 · playwright.viewport.config.mjs:23 · e2e/support/requiredEvidenceReporter.mjs:8 |
| 15. 실패 진단 증거 | U | 실패 trace와 JSON reporter 설정은 있다. 해당 CASE 첫 실패의 실행 식별·환경·관련 비동기 상태, 정리 오류와 원인 분리, 민감 정보 비노출을 충족하는 실제 진단 산출물은 이번 감사에서 확인하지 못했다. playwright.viewport.config.mjs:21 · playwright.viewport.config.mjs:32 · e2e/support/requiredEvidenceReporter.mjs:24 |
화면-10
상세 RPC 일시 실패는 로그인 상태를 유지하며 재시도로 실서버 데이터를 복구한다
기존 CI 최초 결과: passed, 3.773초. 품질 판정: 부적합. 확인 위반: 11, 12, 13번. 미검증: 8, 9, 10, 14, 15.
| 기준 | 판정 | 근거 |
|---|---|---|
| 1. 목적·범위 | P | 정적 확인: 제목·행동·기대 결과와 spec의 실제 앱/화면 검사 범위가 연결된다. 이 판정은 실행 통과 증거를 대체하지 않는다. e2e/report-design-detail.spec.mjs:253 · e2e/report-design-detail.spec.mjs:1 |
| 2. 시작 조건·재현성 | P | 정적 확인: 전용 계정·명시적 입력 fixture를 준비하고 브라우저 업무 날짜·ko-KR·Asia/Seoul을 고정한다. 임의 UUID는 계정 식별용이다. e2e/report-design-detail.spec.mjs:50 · e2e/support/businessDate.mjs:19 · playwright.viewport.config.mjs:30 |
| 3. 독립성 | P | 정적 확인: 이 spec의 전용 일회용 계정과 CASE별 새 브라우저 context/page를 사용한다. 허용 실행은 workers=1이며 공유 DB 시계 scope는 격리 sandbox를 확인하고 복원한다. 다른 CASE의 선행 결과를 요구하지 않는다. e2e/report-design-detail.spec.mjs:50 · e2e/report-design-detail.spec.mjs:253 · playwright.viewport.config.mjs:15 · e2e/support/prOverviewFixtureClock.mjs:19 · e2e/support/prOverviewFixtureClock.mjs:61 |
| 4. 상태 기반 동기화 | P | 정적 확인: 화면 상태·응답과 유한 애니메이션/폰트/기하 안정 조건으로 다음 행동을 제어한다. 고정 sleep 또는 networkidle만으로 준비를 판정하지 않는다. 대기 시간 상한 위반은 12번에 따로 기록했다. e2e/report-design-detail.spec.mjs:253 · e2e/support/viewportReadiness.mjs:3 · e2e/support/viewportReadiness.mjs:27 |
| 5. 독립 기대값 | P | 정적 확인: 검증 목적은 선택 기간의 서버 반환값이 UI에 올바르게 연결되고 최신 선택이 유지되는 것이다. 서버 payload를 UI 변환과 독립된 기대 입력으로 쓰며 기간 요청값·분포10칸 라벨은 별도 고정 표로 검사한다. 서버 통계 계산 전체의 정답 검증으로 확대하지 않았다. e2e/report-design-detail.spec.mjs:27 · e2e/report-design-detail.spec.mjs:34 · e2e/report-design-detail.spec.mjs:96 · e2e/report-design-detail.spec.mjs:146 |
| 6. 상황 실제 발생 | P | 정적 확인: 첫503 주입의 started를 기다리고 loading→error를 관측한 뒤 사용자 재조회로 실제 서버 데이터를 복구하며 시도2회/요청목록을 검사한다. 사용자 동작인 다시 불러오기는 CASE 자동 재시도와 구분했다. e2e/report-design-detail.spec.mjs:254 · e2e/report-design-detail.spec.mjs:257 · e2e/report-design-detail.spec.mjs:266 · e2e/support/featureJourney.mjs:68 |
| 7. 경계·금지 부작용 | P | 정적 확인: 데이터 오류 중 로그인 화면 전환 금지, 정확한 단발 오류 뒤 사용자 재조회 복구, 해당 기간 요청2회를 검사한다. e2e/report-design-detail.spec.mjs:260 · e2e/report-design-detail.spec.mjs:266 |
| 8. 필수 단언 완결성 | U | 본문의 주요 비동기 단언은 await되지만 viewport 경로는 CASE별 필수 단언 완료 증거 및 예상 밖 브라우저 오류를 빠짐없이 실패로 만드는 증거를 제공하지 않는다. 완료 attachment 검사는 browser lane에만 적용된다. e2e/report-design-detail.spec.mjs:253 · e2e/support/requiredEvidenceReporter.mjs:10 |
| 9. 결함 탐지·공통 도구 | U | 이 CASE의 대표 결함을 넣어 목표 단언에서 실패한 실행 증거와 공유 helper의 관련 취소·새로고침·중도 실패 경로 검증 증거를 이번 감사에서 확인하지 못했다. 정상 실행 통과나 단언 존재로 대체하지 않았다. e2e/report-design-detail.spec.mjs:253 · e2e/support/viewportReadiness.mjs:3 |
| 10. 자원 정리 | U | finally에서 fault를 해제하고 dispose하지만 helper.dispose는 unroute만 수행한다. 중도 실패 시 이미 실행 중인 fulfill을 기다리거나 취소하고 종료 확인한 증거는 없다. e2e/report-design-detail.spec.mjs:269 · e2e/support/featureJourney.mjs:75 · e2e/support/featureJourney.mjs:84 |
| 11. CASE 60초 | F | 정적 위반: CASE 설정 상한이 180초로 60초를 초과한다. 실제 실행이 60초 안에 끝났는지와 별개의 상한 위반이다. playwright.viewport.config.mjs:17 |
| 12. 동작 대기 10초 | F | 정적 위반: 공통30초/expect15초 외에 fault.started latch에 자체10초 상한이 없다. e2e/report-design-detail.spec.mjs:257 · e2e/support/viewportReadiness.mjs:29 · playwright.viewport.config.mjs:18 |
| 13. 자동 재시도 0 | F | 정적 위반: CI에서 CASE 자동 재시도가 1회다. failOnFlakyTests가 재시도 통과를 실패 처리해도 자동 CASE 재실행 0회 조건을 충족하지 않는다. playwright.viewport.config.mjs:19 · playwright.viewport.config.mjs:20 |
| 14. 우회·약화 금지 | U | 정적 확인: 필수 환경 부족 시 spec가 skip되며 local 필수 reporter는 skip을 거절한다. 모든 필수 실행 경로에서 선택·skip·override 우회가 끝까지 거절되는지는 공통 실행 경로 감사의 증거가 필요하다. 실제 skip 통과를 관측한 것으로 판정하지 않았다. e2e/report-design-detail.spec.mjs:48 · playwright.viewport.config.mjs:23 · e2e/support/requiredEvidenceReporter.mjs:8 |
| 15. 실패 진단 증거 | U | 실패 trace와 JSON reporter 설정은 있다. 해당 CASE 첫 실패의 실행 식별·환경·관련 비동기 상태, 정리 오류와 원인 분리, 민감 정보 비노출을 충족하는 실제 진단 산출물은 이번 감사에서 확인하지 못했다. playwright.viewport.config.mjs:21 · playwright.viewport.config.mjs:32 · e2e/support/requiredEvidenceReporter.mjs:24 |
화면-11
V0 compact 320x568
기존 CI 최초 결과: passed, 5.416초. 품질 판정: 부적합. 확인 위반: 11, 12, 13번. 미검증: 8, 9, 10, 14, 15.
| 기준 | 판정 | 근거 |
|---|---|---|
| 1. 목적·범위 | P | 정적 확인: 제목·행동·기대 결과와 spec의 실제 앱/화면 검사 범위가 연결된다. 이 판정은 실행 통과 증거를 대체하지 않는다. e2e/viewport-matrix.spec.mjs:125 · e2e/viewport-matrix.spec.mjs:1 |
| 2. 시작 조건·재현성 | P | 정적 확인: 전용 계정·명시적 입력 fixture를 준비하고 브라우저 업무 날짜·ko-KR·Asia/Seoul을 고정한다. 임의 UUID는 계정 식별용이다. e2e/viewport-matrix.spec.mjs:55 · e2e/support/businessDate.mjs:19 · playwright.viewport.config.mjs:30 |
| 3. 독립성 | P | 정적 확인: 이 spec의 전용 일회용 계정과 CASE별 새 브라우저 context/page를 사용한다. 허용 실행은 workers=1이며 공유 DB 시계 scope는 격리 sandbox를 확인하고 복원한다. 다른 CASE의 선행 결과를 요구하지 않는다. e2e/viewport-matrix.spec.mjs:55 · e2e/viewport-matrix.spec.mjs:125 · playwright.viewport.config.mjs:15 · e2e/support/prOverviewFixtureClock.mjs:19 · e2e/support/prOverviewFixtureClock.mjs:61 |
| 4. 상태 기반 동기화 | P | 정적 확인: 화면 상태·응답과 유한 애니메이션/폰트/기하 안정 조건으로 다음 행동을 제어한다. 고정 sleep 또는 networkidle만으로 준비를 판정하지 않는다. 대기 시간 상한 위반은 12번에 따로 기록했다. e2e/viewport-matrix.spec.mjs:125 · e2e/support/viewportReadiness.mjs:3 · e2e/support/viewportReadiness.mjs:27 |
| 5. 독립 기대값 | P | 정적 확인: 기기별 기대 컬럼 폭은 테스트의 고정 표로 정하고 가로 넘침 0·불투명 배경을 실제 DOM 기하와 비교한다. 앱의 폭 계산 함수를 기대값으로 재사용하지 않는다. e2e/viewport-matrix.spec.mjs:30 · e2e/viewport-matrix.spec.mjs:141 · e2e/viewport-matrix.spec.mjs:154 |
| 6. 상황 실제 발생 | P | 정적 확인: 지정 viewport·DPR·touch context에서 홈/일지/리포트/피드/프로필을 실제 열고 해당 화면이 보이는지 확인한 뒤 기하를 잰다. 별도 실패 주입을 주장하는 CASE가 아니다. e2e/viewport-matrix.spec.mjs:126 · e2e/viewport-matrix.spec.mjs:131 · e2e/viewport-matrix.spec.mjs:140 |
| 7. 경계·금지 부작용 | P | 정적 확인: 이 기기 조건에서 5개 탭의 문서/화면 가로 넘침·잘못된 컬럼 폭·투명 호스트를 금지한다. 관련 viewport 경계는 같은 spec의 명시적 기기 목록으로 분리한다. e2e/viewport-matrix.spec.mjs:30 · e2e/viewport-matrix.spec.mjs:46 · e2e/viewport-matrix.spec.mjs:154 |
| 8. 필수 단언 완결성 | U | 본문의 주요 비동기 단언은 await되지만 viewport 경로는 CASE별 필수 단언 완료 증거 및 예상 밖 브라우저 오류를 빠짐없이 실패로 만드는 증거를 제공하지 않는다. 완료 attachment 검사는 browser lane에만 적용된다. e2e/viewport-matrix.spec.mjs:125 · e2e/support/requiredEvidenceReporter.mjs:10 |
| 9. 결함 탐지·공통 도구 | U | 이 CASE의 대표 결함을 넣어 목표 단언에서 실패한 실행 증거와 공유 helper의 관련 취소·새로고침·중도 실패 경로 검증 증거를 이번 감사에서 확인하지 못했다. 정상 실행 통과나 단언 존재로 대체하지 않았다. e2e/viewport-matrix.spec.mjs:125 · e2e/support/viewportReadiness.mjs:3 |
| 10. 자원 정리 | U | 계정 삭제·재조회와 공유 시계 복원은 hook에 있다. 직접 만든 context는 정상 꼬리에서만 닫으며 중도 실패 시 CASE 정리 단계에서 보류 요청·탭·리스너를 실제 종료하고 확인한다는 증거는 없다. 브라우저 worker 종료를 CASE별 정리 검증으로 간주하지 않았다. e2e/viewport-matrix.spec.mjs:94 · e2e/support/cleanupVerification.mjs:18 · e2e/support/prOverviewFixtureClock.mjs:61 |
| 11. CASE 60초 | F | 정적 위반: CASE 설정 상한이 180초로 60초를 초과한다. 실제 실행이 60초 안에 끝났는지와 별개의 상한 위반이다. playwright.viewport.config.mjs:17 |
| 12. 동작 대기 10초 | F | 정적 위반: 부팅 종료/앱 root 대기 각각 60초, 레이아웃 helper 30초, expect 15초로 10초를 초과한다. e2e/viewport-matrix.spec.mjs:119 · e2e/viewport-matrix.spec.mjs:120 · e2e/support/viewportReadiness.mjs:3 · playwright.viewport.config.mjs:18 |
| 13. 자동 재시도 0 | F | 정적 위반: CI에서 CASE 자동 재시도가 1회다. failOnFlakyTests가 재시도 통과를 실패 처리해도 자동 CASE 재실행 0회 조건을 충족하지 않는다. playwright.viewport.config.mjs:19 · playwright.viewport.config.mjs:20 |
| 14. 우회·약화 금지 | U | 정적 확인: 필수 환경 부족 시 spec가 skip되며 local 필수 reporter는 skip을 거절한다. 모든 필수 실행 경로에서 선택·skip·override 우회가 끝까지 거절되는지는 공통 실행 경로 감사의 증거가 필요하다. 실제 skip 통과를 관측한 것으로 판정하지 않았다. e2e/viewport-matrix.spec.mjs:53 · playwright.viewport.config.mjs:23 · e2e/support/requiredEvidenceReporter.mjs:8 |
| 15. 실패 진단 증거 | U | 실패 trace와 JSON reporter 설정은 있다. 해당 CASE 첫 실패의 실행 식별·환경·관련 비동기 상태, 정리 오류와 원인 분리, 민감 정보 비노출을 충족하는 실제 진단 산출물은 이번 감사에서 확인하지 못했다. playwright.viewport.config.mjs:21 · playwright.viewport.config.mjs:32 · e2e/support/requiredEvidenceReporter.mjs:24 |
화면-12
V1 phone 360x780
기존 CI 최초 결과: passed, 5.780초. 품질 판정: 부적합. 확인 위반: 11, 12, 13번. 미검증: 8, 9, 10, 14, 15.
| 기준 | 판정 | 근거 |
|---|---|---|
| 1. 목적·범위 | P | 정적 확인: 제목·행동·기대 결과와 spec의 실제 앱/화면 검사 범위가 연결된다. 이 판정은 실행 통과 증거를 대체하지 않는다. e2e/viewport-matrix.spec.mjs:125 · e2e/viewport-matrix.spec.mjs:1 |
| 2. 시작 조건·재현성 | P | 정적 확인: 전용 계정·명시적 입력 fixture를 준비하고 브라우저 업무 날짜·ko-KR·Asia/Seoul을 고정한다. 임의 UUID는 계정 식별용이다. e2e/viewport-matrix.spec.mjs:55 · e2e/support/businessDate.mjs:19 · playwright.viewport.config.mjs:30 |
| 3. 독립성 | P | 정적 확인: 이 spec의 전용 일회용 계정과 CASE별 새 브라우저 context/page를 사용한다. 허용 실행은 workers=1이며 공유 DB 시계 scope는 격리 sandbox를 확인하고 복원한다. 다른 CASE의 선행 결과를 요구하지 않는다. e2e/viewport-matrix.spec.mjs:55 · e2e/viewport-matrix.spec.mjs:125 · playwright.viewport.config.mjs:15 · e2e/support/prOverviewFixtureClock.mjs:19 · e2e/support/prOverviewFixtureClock.mjs:61 |
| 4. 상태 기반 동기화 | P | 정적 확인: 화면 상태·응답과 유한 애니메이션/폰트/기하 안정 조건으로 다음 행동을 제어한다. 고정 sleep 또는 networkidle만으로 준비를 판정하지 않는다. 대기 시간 상한 위반은 12번에 따로 기록했다. e2e/viewport-matrix.spec.mjs:125 · e2e/support/viewportReadiness.mjs:3 · e2e/support/viewportReadiness.mjs:27 |
| 5. 독립 기대값 | P | 정적 확인: 기기별 기대 컬럼 폭은 테스트의 고정 표로 정하고 가로 넘침 0·불투명 배경을 실제 DOM 기하와 비교한다. 앱의 폭 계산 함수를 기대값으로 재사용하지 않는다. e2e/viewport-matrix.spec.mjs:30 · e2e/viewport-matrix.spec.mjs:141 · e2e/viewport-matrix.spec.mjs:154 |
| 6. 상황 실제 발생 | P | 정적 확인: 지정 viewport·DPR·touch context에서 홈/일지/리포트/피드/프로필을 실제 열고 해당 화면이 보이는지 확인한 뒤 기하를 잰다. 별도 실패 주입을 주장하는 CASE가 아니다. e2e/viewport-matrix.spec.mjs:126 · e2e/viewport-matrix.spec.mjs:131 · e2e/viewport-matrix.spec.mjs:140 |
| 7. 경계·금지 부작용 | P | 정적 확인: 이 기기 조건에서 5개 탭의 문서/화면 가로 넘침·잘못된 컬럼 폭·투명 호스트를 금지한다. 관련 viewport 경계는 같은 spec의 명시적 기기 목록으로 분리한다. e2e/viewport-matrix.spec.mjs:30 · e2e/viewport-matrix.spec.mjs:46 · e2e/viewport-matrix.spec.mjs:154 |
| 8. 필수 단언 완결성 | U | 본문의 주요 비동기 단언은 await되지만 viewport 경로는 CASE별 필수 단언 완료 증거 및 예상 밖 브라우저 오류를 빠짐없이 실패로 만드는 증거를 제공하지 않는다. 완료 attachment 검사는 browser lane에만 적용된다. e2e/viewport-matrix.spec.mjs:125 · e2e/support/requiredEvidenceReporter.mjs:10 |
| 9. 결함 탐지·공통 도구 | U | 이 CASE의 대표 결함을 넣어 목표 단언에서 실패한 실행 증거와 공유 helper의 관련 취소·새로고침·중도 실패 경로 검증 증거를 이번 감사에서 확인하지 못했다. 정상 실행 통과나 단언 존재로 대체하지 않았다. e2e/viewport-matrix.spec.mjs:125 · e2e/support/viewportReadiness.mjs:3 |
| 10. 자원 정리 | U | 계정 삭제·재조회와 공유 시계 복원은 hook에 있다. 직접 만든 context는 정상 꼬리에서만 닫으며 중도 실패 시 CASE 정리 단계에서 보류 요청·탭·리스너를 실제 종료하고 확인한다는 증거는 없다. 브라우저 worker 종료를 CASE별 정리 검증으로 간주하지 않았다. e2e/viewport-matrix.spec.mjs:94 · e2e/support/cleanupVerification.mjs:18 · e2e/support/prOverviewFixtureClock.mjs:61 |
| 11. CASE 60초 | F | 정적 위반: CASE 설정 상한이 180초로 60초를 초과한다. 실제 실행이 60초 안에 끝났는지와 별개의 상한 위반이다. playwright.viewport.config.mjs:17 |
| 12. 동작 대기 10초 | F | 정적 위반: 부팅 종료/앱 root 대기 각각 60초, 레이아웃 helper 30초, expect 15초로 10초를 초과한다. e2e/viewport-matrix.spec.mjs:119 · e2e/viewport-matrix.spec.mjs:120 · e2e/support/viewportReadiness.mjs:3 · playwright.viewport.config.mjs:18 |
| 13. 자동 재시도 0 | F | 정적 위반: CI에서 CASE 자동 재시도가 1회다. failOnFlakyTests가 재시도 통과를 실패 처리해도 자동 CASE 재실행 0회 조건을 충족하지 않는다. playwright.viewport.config.mjs:19 · playwright.viewport.config.mjs:20 |
| 14. 우회·약화 금지 | U | 정적 확인: 필수 환경 부족 시 spec가 skip되며 local 필수 reporter는 skip을 거절한다. 모든 필수 실행 경로에서 선택·skip·override 우회가 끝까지 거절되는지는 공통 실행 경로 감사의 증거가 필요하다. 실제 skip 통과를 관측한 것으로 판정하지 않았다. e2e/viewport-matrix.spec.mjs:53 · playwright.viewport.config.mjs:23 · e2e/support/requiredEvidenceReporter.mjs:8 |
| 15. 실패 진단 증거 | U | 실패 trace와 JSON reporter 설정은 있다. 해당 CASE 첫 실패의 실행 식별·환경·관련 비동기 상태, 정리 오류와 원인 분리, 민감 정보 비노출을 충족하는 실제 진단 산출물은 이번 감사에서 확인하지 못했다. playwright.viewport.config.mjs:21 · playwright.viewport.config.mjs:32 · e2e/support/requiredEvidenceReporter.mjs:24 |
화면-13
V2 phone 375x667
기존 CI 최초 결과: passed, 5.263초. 품질 판정: 부적합. 확인 위반: 11, 12, 13번. 미검증: 8, 9, 10, 14, 15.
| 기준 | 판정 | 근거 |
|---|---|---|
| 1. 목적·범위 | P | 정적 확인: 제목·행동·기대 결과와 spec의 실제 앱/화면 검사 범위가 연결된다. 이 판정은 실행 통과 증거를 대체하지 않는다. e2e/viewport-matrix.spec.mjs:125 · e2e/viewport-matrix.spec.mjs:1 |
| 2. 시작 조건·재현성 | P | 정적 확인: 전용 계정·명시적 입력 fixture를 준비하고 브라우저 업무 날짜·ko-KR·Asia/Seoul을 고정한다. 임의 UUID는 계정 식별용이다. e2e/viewport-matrix.spec.mjs:55 · e2e/support/businessDate.mjs:19 · playwright.viewport.config.mjs:30 |
| 3. 독립성 | P | 정적 확인: 이 spec의 전용 일회용 계정과 CASE별 새 브라우저 context/page를 사용한다. 허용 실행은 workers=1이며 공유 DB 시계 scope는 격리 sandbox를 확인하고 복원한다. 다른 CASE의 선행 결과를 요구하지 않는다. e2e/viewport-matrix.spec.mjs:55 · e2e/viewport-matrix.spec.mjs:125 · playwright.viewport.config.mjs:15 · e2e/support/prOverviewFixtureClock.mjs:19 · e2e/support/prOverviewFixtureClock.mjs:61 |
| 4. 상태 기반 동기화 | P | 정적 확인: 화면 상태·응답과 유한 애니메이션/폰트/기하 안정 조건으로 다음 행동을 제어한다. 고정 sleep 또는 networkidle만으로 준비를 판정하지 않는다. 대기 시간 상한 위반은 12번에 따로 기록했다. e2e/viewport-matrix.spec.mjs:125 · e2e/support/viewportReadiness.mjs:3 · e2e/support/viewportReadiness.mjs:27 |
| 5. 독립 기대값 | P | 정적 확인: 기기별 기대 컬럼 폭은 테스트의 고정 표로 정하고 가로 넘침 0·불투명 배경을 실제 DOM 기하와 비교한다. 앱의 폭 계산 함수를 기대값으로 재사용하지 않는다. e2e/viewport-matrix.spec.mjs:30 · e2e/viewport-matrix.spec.mjs:141 · e2e/viewport-matrix.spec.mjs:154 |
| 6. 상황 실제 발생 | P | 정적 확인: 지정 viewport·DPR·touch context에서 홈/일지/리포트/피드/프로필을 실제 열고 해당 화면이 보이는지 확인한 뒤 기하를 잰다. 별도 실패 주입을 주장하는 CASE가 아니다. e2e/viewport-matrix.spec.mjs:126 · e2e/viewport-matrix.spec.mjs:131 · e2e/viewport-matrix.spec.mjs:140 |
| 7. 경계·금지 부작용 | P | 정적 확인: 이 기기 조건에서 5개 탭의 문서/화면 가로 넘침·잘못된 컬럼 폭·투명 호스트를 금지한다. 관련 viewport 경계는 같은 spec의 명시적 기기 목록으로 분리한다. e2e/viewport-matrix.spec.mjs:30 · e2e/viewport-matrix.spec.mjs:46 · e2e/viewport-matrix.spec.mjs:154 |
| 8. 필수 단언 완결성 | U | 본문의 주요 비동기 단언은 await되지만 viewport 경로는 CASE별 필수 단언 완료 증거 및 예상 밖 브라우저 오류를 빠짐없이 실패로 만드는 증거를 제공하지 않는다. 완료 attachment 검사는 browser lane에만 적용된다. e2e/viewport-matrix.spec.mjs:125 · e2e/support/requiredEvidenceReporter.mjs:10 |
| 9. 결함 탐지·공통 도구 | U | 이 CASE의 대표 결함을 넣어 목표 단언에서 실패한 실행 증거와 공유 helper의 관련 취소·새로고침·중도 실패 경로 검증 증거를 이번 감사에서 확인하지 못했다. 정상 실행 통과나 단언 존재로 대체하지 않았다. e2e/viewport-matrix.spec.mjs:125 · e2e/support/viewportReadiness.mjs:3 |
| 10. 자원 정리 | U | 계정 삭제·재조회와 공유 시계 복원은 hook에 있다. 직접 만든 context는 정상 꼬리에서만 닫으며 중도 실패 시 CASE 정리 단계에서 보류 요청·탭·리스너를 실제 종료하고 확인한다는 증거는 없다. 브라우저 worker 종료를 CASE별 정리 검증으로 간주하지 않았다. e2e/viewport-matrix.spec.mjs:94 · e2e/support/cleanupVerification.mjs:18 · e2e/support/prOverviewFixtureClock.mjs:61 |
| 11. CASE 60초 | F | 정적 위반: CASE 설정 상한이 180초로 60초를 초과한다. 실제 실행이 60초 안에 끝났는지와 별개의 상한 위반이다. playwright.viewport.config.mjs:17 |
| 12. 동작 대기 10초 | F | 정적 위반: 부팅 종료/앱 root 대기 각각 60초, 레이아웃 helper 30초, expect 15초로 10초를 초과한다. e2e/viewport-matrix.spec.mjs:119 · e2e/viewport-matrix.spec.mjs:120 · e2e/support/viewportReadiness.mjs:3 · playwright.viewport.config.mjs:18 |
| 13. 자동 재시도 0 | F | 정적 위반: CI에서 CASE 자동 재시도가 1회다. failOnFlakyTests가 재시도 통과를 실패 처리해도 자동 CASE 재실행 0회 조건을 충족하지 않는다. playwright.viewport.config.mjs:19 · playwright.viewport.config.mjs:20 |
| 14. 우회·약화 금지 | U | 정적 확인: 필수 환경 부족 시 spec가 skip되며 local 필수 reporter는 skip을 거절한다. 모든 필수 실행 경로에서 선택·skip·override 우회가 끝까지 거절되는지는 공통 실행 경로 감사의 증거가 필요하다. 실제 skip 통과를 관측한 것으로 판정하지 않았다. e2e/viewport-matrix.spec.mjs:53 · playwright.viewport.config.mjs:23 · e2e/support/requiredEvidenceReporter.mjs:8 |
| 15. 실패 진단 증거 | U | 실패 trace와 JSON reporter 설정은 있다. 해당 CASE 첫 실패의 실행 식별·환경·관련 비동기 상태, 정리 오류와 원인 분리, 민감 정보 비노출을 충족하는 실제 진단 산출물은 이번 감사에서 확인하지 못했다. playwright.viewport.config.mjs:21 · playwright.viewport.config.mjs:32 · e2e/support/requiredEvidenceReporter.mjs:24 |
화면-14
V3 phone 390x844
기존 CI 최초 결과: passed, 5.997초. 품질 판정: 부적합. 확인 위반: 11, 12, 13번. 미검증: 8, 9, 10, 14, 15.
| 기준 | 판정 | 근거 |
|---|---|---|
| 1. 목적·범위 | P | 정적 확인: 제목·행동·기대 결과와 spec의 실제 앱/화면 검사 범위가 연결된다. 이 판정은 실행 통과 증거를 대체하지 않는다. e2e/viewport-matrix.spec.mjs:125 · e2e/viewport-matrix.spec.mjs:1 |
| 2. 시작 조건·재현성 | P | 정적 확인: 전용 계정·명시적 입력 fixture를 준비하고 브라우저 업무 날짜·ko-KR·Asia/Seoul을 고정한다. 임의 UUID는 계정 식별용이다. e2e/viewport-matrix.spec.mjs:55 · e2e/support/businessDate.mjs:19 · playwright.viewport.config.mjs:30 |
| 3. 독립성 | P | 정적 확인: 이 spec의 전용 일회용 계정과 CASE별 새 브라우저 context/page를 사용한다. 허용 실행은 workers=1이며 공유 DB 시계 scope는 격리 sandbox를 확인하고 복원한다. 다른 CASE의 선행 결과를 요구하지 않는다. e2e/viewport-matrix.spec.mjs:55 · e2e/viewport-matrix.spec.mjs:125 · playwright.viewport.config.mjs:15 · e2e/support/prOverviewFixtureClock.mjs:19 · e2e/support/prOverviewFixtureClock.mjs:61 |
| 4. 상태 기반 동기화 | P | 정적 확인: 화면 상태·응답과 유한 애니메이션/폰트/기하 안정 조건으로 다음 행동을 제어한다. 고정 sleep 또는 networkidle만으로 준비를 판정하지 않는다. 대기 시간 상한 위반은 12번에 따로 기록했다. e2e/viewport-matrix.spec.mjs:125 · e2e/support/viewportReadiness.mjs:3 · e2e/support/viewportReadiness.mjs:27 |
| 5. 독립 기대값 | P | 정적 확인: 기기별 기대 컬럼 폭은 테스트의 고정 표로 정하고 가로 넘침 0·불투명 배경을 실제 DOM 기하와 비교한다. 앱의 폭 계산 함수를 기대값으로 재사용하지 않는다. e2e/viewport-matrix.spec.mjs:30 · e2e/viewport-matrix.spec.mjs:141 · e2e/viewport-matrix.spec.mjs:154 |
| 6. 상황 실제 발생 | P | 정적 확인: 지정 viewport·DPR·touch context에서 홈/일지/리포트/피드/프로필을 실제 열고 해당 화면이 보이는지 확인한 뒤 기하를 잰다. 별도 실패 주입을 주장하는 CASE가 아니다. e2e/viewport-matrix.spec.mjs:126 · e2e/viewport-matrix.spec.mjs:131 · e2e/viewport-matrix.spec.mjs:140 |
| 7. 경계·금지 부작용 | P | 정적 확인: 이 기기 조건에서 5개 탭의 문서/화면 가로 넘침·잘못된 컬럼 폭·투명 호스트를 금지한다. 관련 viewport 경계는 같은 spec의 명시적 기기 목록으로 분리한다. e2e/viewport-matrix.spec.mjs:30 · e2e/viewport-matrix.spec.mjs:46 · e2e/viewport-matrix.spec.mjs:154 |
| 8. 필수 단언 완결성 | U | 본문의 주요 비동기 단언은 await되지만 viewport 경로는 CASE별 필수 단언 완료 증거 및 예상 밖 브라우저 오류를 빠짐없이 실패로 만드는 증거를 제공하지 않는다. 완료 attachment 검사는 browser lane에만 적용된다. e2e/viewport-matrix.spec.mjs:125 · e2e/support/requiredEvidenceReporter.mjs:10 |
| 9. 결함 탐지·공통 도구 | U | 이 CASE의 대표 결함을 넣어 목표 단언에서 실패한 실행 증거와 공유 helper의 관련 취소·새로고침·중도 실패 경로 검증 증거를 이번 감사에서 확인하지 못했다. 정상 실행 통과나 단언 존재로 대체하지 않았다. e2e/viewport-matrix.spec.mjs:125 · e2e/support/viewportReadiness.mjs:3 |
| 10. 자원 정리 | U | 계정 삭제·재조회와 공유 시계 복원은 hook에 있다. 직접 만든 context는 정상 꼬리에서만 닫으며 중도 실패 시 CASE 정리 단계에서 보류 요청·탭·리스너를 실제 종료하고 확인한다는 증거는 없다. 브라우저 worker 종료를 CASE별 정리 검증으로 간주하지 않았다. e2e/viewport-matrix.spec.mjs:94 · e2e/support/cleanupVerification.mjs:18 · e2e/support/prOverviewFixtureClock.mjs:61 |
| 11. CASE 60초 | F | 정적 위반: CASE 설정 상한이 180초로 60초를 초과한다. 실제 실행이 60초 안에 끝났는지와 별개의 상한 위반이다. playwright.viewport.config.mjs:17 |
| 12. 동작 대기 10초 | F | 정적 위반: 부팅 종료/앱 root 대기 각각 60초, 레이아웃 helper 30초, expect 15초로 10초를 초과한다. e2e/viewport-matrix.spec.mjs:119 · e2e/viewport-matrix.spec.mjs:120 · e2e/support/viewportReadiness.mjs:3 · playwright.viewport.config.mjs:18 |
| 13. 자동 재시도 0 | F | 정적 위반: CI에서 CASE 자동 재시도가 1회다. failOnFlakyTests가 재시도 통과를 실패 처리해도 자동 CASE 재실행 0회 조건을 충족하지 않는다. playwright.viewport.config.mjs:19 · playwright.viewport.config.mjs:20 |
| 14. 우회·약화 금지 | U | 정적 확인: 필수 환경 부족 시 spec가 skip되며 local 필수 reporter는 skip을 거절한다. 모든 필수 실행 경로에서 선택·skip·override 우회가 끝까지 거절되는지는 공통 실행 경로 감사의 증거가 필요하다. 실제 skip 통과를 관측한 것으로 판정하지 않았다. e2e/viewport-matrix.spec.mjs:53 · playwright.viewport.config.mjs:23 · e2e/support/requiredEvidenceReporter.mjs:8 |
| 15. 실패 진단 증거 | U | 실패 trace와 JSON reporter 설정은 있다. 해당 CASE 첫 실패의 실행 식별·환경·관련 비동기 상태, 정리 오류와 원인 분리, 민감 정보 비노출을 충족하는 실제 진단 산출물은 이번 감사에서 확인하지 못했다. playwright.viewport.config.mjs:21 · playwright.viewport.config.mjs:32 · e2e/support/requiredEvidenceReporter.mjs:24 |
화면-15
V5 phone 440x956
기존 CI 최초 결과: passed, 6.079초. 품질 판정: 부적합. 확인 위반: 11, 12, 13번. 미검증: 8, 9, 10, 14, 15.
| 기준 | 판정 | 근거 |
|---|---|---|
| 1. 목적·범위 | P | 정적 확인: 제목·행동·기대 결과와 spec의 실제 앱/화면 검사 범위가 연결된다. 이 판정은 실행 통과 증거를 대체하지 않는다. e2e/viewport-matrix.spec.mjs:125 · e2e/viewport-matrix.spec.mjs:1 |
| 2. 시작 조건·재현성 | P | 정적 확인: 전용 계정·명시적 입력 fixture를 준비하고 브라우저 업무 날짜·ko-KR·Asia/Seoul을 고정한다. 임의 UUID는 계정 식별용이다. e2e/viewport-matrix.spec.mjs:55 · e2e/support/businessDate.mjs:19 · playwright.viewport.config.mjs:30 |
| 3. 독립성 | P | 정적 확인: 이 spec의 전용 일회용 계정과 CASE별 새 브라우저 context/page를 사용한다. 허용 실행은 workers=1이며 공유 DB 시계 scope는 격리 sandbox를 확인하고 복원한다. 다른 CASE의 선행 결과를 요구하지 않는다. e2e/viewport-matrix.spec.mjs:55 · e2e/viewport-matrix.spec.mjs:125 · playwright.viewport.config.mjs:15 · e2e/support/prOverviewFixtureClock.mjs:19 · e2e/support/prOverviewFixtureClock.mjs:61 |
| 4. 상태 기반 동기화 | P | 정적 확인: 화면 상태·응답과 유한 애니메이션/폰트/기하 안정 조건으로 다음 행동을 제어한다. 고정 sleep 또는 networkidle만으로 준비를 판정하지 않는다. 대기 시간 상한 위반은 12번에 따로 기록했다. e2e/viewport-matrix.spec.mjs:125 · e2e/support/viewportReadiness.mjs:3 · e2e/support/viewportReadiness.mjs:27 |
| 5. 독립 기대값 | P | 정적 확인: 기기별 기대 컬럼 폭은 테스트의 고정 표로 정하고 가로 넘침 0·불투명 배경을 실제 DOM 기하와 비교한다. 앱의 폭 계산 함수를 기대값으로 재사용하지 않는다. e2e/viewport-matrix.spec.mjs:30 · e2e/viewport-matrix.spec.mjs:141 · e2e/viewport-matrix.spec.mjs:154 |
| 6. 상황 실제 발생 | P | 정적 확인: 지정 viewport·DPR·touch context에서 홈/일지/리포트/피드/프로필을 실제 열고 해당 화면이 보이는지 확인한 뒤 기하를 잰다. 별도 실패 주입을 주장하는 CASE가 아니다. e2e/viewport-matrix.spec.mjs:126 · e2e/viewport-matrix.spec.mjs:131 · e2e/viewport-matrix.spec.mjs:140 |
| 7. 경계·금지 부작용 | P | 정적 확인: 이 기기 조건에서 5개 탭의 문서/화면 가로 넘침·잘못된 컬럼 폭·투명 호스트를 금지한다. 관련 viewport 경계는 같은 spec의 명시적 기기 목록으로 분리한다. e2e/viewport-matrix.spec.mjs:30 · e2e/viewport-matrix.spec.mjs:46 · e2e/viewport-matrix.spec.mjs:154 |
| 8. 필수 단언 완결성 | U | 본문의 주요 비동기 단언은 await되지만 viewport 경로는 CASE별 필수 단언 완료 증거 및 예상 밖 브라우저 오류를 빠짐없이 실패로 만드는 증거를 제공하지 않는다. 완료 attachment 검사는 browser lane에만 적용된다. e2e/viewport-matrix.spec.mjs:125 · e2e/support/requiredEvidenceReporter.mjs:10 |
| 9. 결함 탐지·공통 도구 | U | 이 CASE의 대표 결함을 넣어 목표 단언에서 실패한 실행 증거와 공유 helper의 관련 취소·새로고침·중도 실패 경로 검증 증거를 이번 감사에서 확인하지 못했다. 정상 실행 통과나 단언 존재로 대체하지 않았다. e2e/viewport-matrix.spec.mjs:125 · e2e/support/viewportReadiness.mjs:3 |
| 10. 자원 정리 | U | 계정 삭제·재조회와 공유 시계 복원은 hook에 있다. 직접 만든 context는 정상 꼬리에서만 닫으며 중도 실패 시 CASE 정리 단계에서 보류 요청·탭·리스너를 실제 종료하고 확인한다는 증거는 없다. 브라우저 worker 종료를 CASE별 정리 검증으로 간주하지 않았다. e2e/viewport-matrix.spec.mjs:94 · e2e/support/cleanupVerification.mjs:18 · e2e/support/prOverviewFixtureClock.mjs:61 |
| 11. CASE 60초 | F | 정적 위반: CASE 설정 상한이 180초로 60초를 초과한다. 실제 실행이 60초 안에 끝났는지와 별개의 상한 위반이다. playwright.viewport.config.mjs:17 |
| 12. 동작 대기 10초 | F | 정적 위반: 부팅 종료/앱 root 대기 각각 60초, 레이아웃 helper 30초, expect 15초로 10초를 초과한다. e2e/viewport-matrix.spec.mjs:119 · e2e/viewport-matrix.spec.mjs:120 · e2e/support/viewportReadiness.mjs:3 · playwright.viewport.config.mjs:18 |
| 13. 자동 재시도 0 | F | 정적 위반: CI에서 CASE 자동 재시도가 1회다. failOnFlakyTests가 재시도 통과를 실패 처리해도 자동 CASE 재실행 0회 조건을 충족하지 않는다. playwright.viewport.config.mjs:19 · playwright.viewport.config.mjs:20 |
| 14. 우회·약화 금지 | U | 정적 확인: 필수 환경 부족 시 spec가 skip되며 local 필수 reporter는 skip을 거절한다. 모든 필수 실행 경로에서 선택·skip·override 우회가 끝까지 거절되는지는 공통 실행 경로 감사의 증거가 필요하다. 실제 skip 통과를 관측한 것으로 판정하지 않았다. e2e/viewport-matrix.spec.mjs:53 · playwright.viewport.config.mjs:23 · e2e/support/requiredEvidenceReporter.mjs:8 |
| 15. 실패 진단 증거 | U | 실패 trace와 JSON reporter 설정은 있다. 해당 CASE 첫 실패의 실행 식별·환경·관련 비동기 상태, 정리 오류와 원인 분리, 민감 정보 비노출을 충족하는 실제 진단 산출물은 이번 감사에서 확인하지 못했다. playwright.viewport.config.mjs:21 · playwright.viewport.config.mjs:32 · e2e/support/requiredEvidenceReporter.mjs:24 |
화면-16
V6 wide-touch 820x1180
기존 CI 최초 결과: passed, 5.899초. 품질 판정: 부적합. 확인 위반: 11, 12, 13번. 미검증: 8, 9, 10, 14, 15.
| 기준 | 판정 | 근거 |
|---|---|---|
| 1. 목적·범위 | P | 정적 확인: 제목·행동·기대 결과와 spec의 실제 앱/화면 검사 범위가 연결된다. 이 판정은 실행 통과 증거를 대체하지 않는다. e2e/viewport-matrix.spec.mjs:125 · e2e/viewport-matrix.spec.mjs:1 |
| 2. 시작 조건·재현성 | P | 정적 확인: 전용 계정·명시적 입력 fixture를 준비하고 브라우저 업무 날짜·ko-KR·Asia/Seoul을 고정한다. 임의 UUID는 계정 식별용이다. e2e/viewport-matrix.spec.mjs:55 · e2e/support/businessDate.mjs:19 · playwright.viewport.config.mjs:30 |
| 3. 독립성 | P | 정적 확인: 이 spec의 전용 일회용 계정과 CASE별 새 브라우저 context/page를 사용한다. 허용 실행은 workers=1이며 공유 DB 시계 scope는 격리 sandbox를 확인하고 복원한다. 다른 CASE의 선행 결과를 요구하지 않는다. e2e/viewport-matrix.spec.mjs:55 · e2e/viewport-matrix.spec.mjs:125 · playwright.viewport.config.mjs:15 · e2e/support/prOverviewFixtureClock.mjs:19 · e2e/support/prOverviewFixtureClock.mjs:61 |
| 4. 상태 기반 동기화 | P | 정적 확인: 화면 상태·응답과 유한 애니메이션/폰트/기하 안정 조건으로 다음 행동을 제어한다. 고정 sleep 또는 networkidle만으로 준비를 판정하지 않는다. 대기 시간 상한 위반은 12번에 따로 기록했다. e2e/viewport-matrix.spec.mjs:125 · e2e/support/viewportReadiness.mjs:3 · e2e/support/viewportReadiness.mjs:27 |
| 5. 독립 기대값 | P | 정적 확인: 기기별 기대 컬럼 폭은 테스트의 고정 표로 정하고 가로 넘침 0·불투명 배경을 실제 DOM 기하와 비교한다. 앱의 폭 계산 함수를 기대값으로 재사용하지 않는다. e2e/viewport-matrix.spec.mjs:30 · e2e/viewport-matrix.spec.mjs:141 · e2e/viewport-matrix.spec.mjs:154 |
| 6. 상황 실제 발생 | P | 정적 확인: 지정 viewport·DPR·touch context에서 홈/일지/리포트/피드/프로필을 실제 열고 해당 화면이 보이는지 확인한 뒤 기하를 잰다. 별도 실패 주입을 주장하는 CASE가 아니다. e2e/viewport-matrix.spec.mjs:126 · e2e/viewport-matrix.spec.mjs:131 · e2e/viewport-matrix.spec.mjs:140 |
| 7. 경계·금지 부작용 | P | 정적 확인: 이 기기 조건에서 5개 탭의 문서/화면 가로 넘침·잘못된 컬럼 폭·투명 호스트를 금지한다. 관련 viewport 경계는 같은 spec의 명시적 기기 목록으로 분리한다. e2e/viewport-matrix.spec.mjs:30 · e2e/viewport-matrix.spec.mjs:46 · e2e/viewport-matrix.spec.mjs:154 |
| 8. 필수 단언 완결성 | U | 본문의 주요 비동기 단언은 await되지만 viewport 경로는 CASE별 필수 단언 완료 증거 및 예상 밖 브라우저 오류를 빠짐없이 실패로 만드는 증거를 제공하지 않는다. 완료 attachment 검사는 browser lane에만 적용된다. e2e/viewport-matrix.spec.mjs:125 · e2e/support/requiredEvidenceReporter.mjs:10 |
| 9. 결함 탐지·공통 도구 | U | 이 CASE의 대표 결함을 넣어 목표 단언에서 실패한 실행 증거와 공유 helper의 관련 취소·새로고침·중도 실패 경로 검증 증거를 이번 감사에서 확인하지 못했다. 정상 실행 통과나 단언 존재로 대체하지 않았다. e2e/viewport-matrix.spec.mjs:125 · e2e/support/viewportReadiness.mjs:3 |
| 10. 자원 정리 | U | 계정 삭제·재조회와 공유 시계 복원은 hook에 있다. 직접 만든 context는 정상 꼬리에서만 닫으며 중도 실패 시 CASE 정리 단계에서 보류 요청·탭·리스너를 실제 종료하고 확인한다는 증거는 없다. 브라우저 worker 종료를 CASE별 정리 검증으로 간주하지 않았다. e2e/viewport-matrix.spec.mjs:94 · e2e/support/cleanupVerification.mjs:18 · e2e/support/prOverviewFixtureClock.mjs:61 |
| 11. CASE 60초 | F | 정적 위반: CASE 설정 상한이 180초로 60초를 초과한다. 실제 실행이 60초 안에 끝났는지와 별개의 상한 위반이다. playwright.viewport.config.mjs:17 |
| 12. 동작 대기 10초 | F | 정적 위반: 부팅 종료/앱 root 대기 각각 60초, 레이아웃 helper 30초, expect 15초로 10초를 초과한다. e2e/viewport-matrix.spec.mjs:119 · e2e/viewport-matrix.spec.mjs:120 · e2e/support/viewportReadiness.mjs:3 · playwright.viewport.config.mjs:18 |
| 13. 자동 재시도 0 | F | 정적 위반: CI에서 CASE 자동 재시도가 1회다. failOnFlakyTests가 재시도 통과를 실패 처리해도 자동 CASE 재실행 0회 조건을 충족하지 않는다. playwright.viewport.config.mjs:19 · playwright.viewport.config.mjs:20 |
| 14. 우회·약화 금지 | U | 정적 확인: 필수 환경 부족 시 spec가 skip되며 local 필수 reporter는 skip을 거절한다. 모든 필수 실행 경로에서 선택·skip·override 우회가 끝까지 거절되는지는 공통 실행 경로 감사의 증거가 필요하다. 실제 skip 통과를 관측한 것으로 판정하지 않았다. e2e/viewport-matrix.spec.mjs:53 · playwright.viewport.config.mjs:23 · e2e/support/requiredEvidenceReporter.mjs:8 |
| 15. 실패 진단 증거 | U | 실패 trace와 JSON reporter 설정은 있다. 해당 CASE 첫 실패의 실행 식별·환경·관련 비동기 상태, 정리 오류와 원인 분리, 민감 정보 비노출을 충족하는 실제 진단 산출물은 이번 감사에서 확인하지 못했다. playwright.viewport.config.mjs:21 · playwright.viewport.config.mjs:32 · e2e/support/requiredEvidenceReporter.mjs:24 |
화면-17
V7 wide-touch 984x1092
기존 CI 최초 결과: passed, 5.945초. 품질 판정: 부적합. 확인 위반: 11, 12, 13번. 미검증: 8, 9, 10, 14, 15.
| 기준 | 판정 | 근거 |
|---|---|---|
| 1. 목적·범위 | P | 정적 확인: 제목·행동·기대 결과와 spec의 실제 앱/화면 검사 범위가 연결된다. 이 판정은 실행 통과 증거를 대체하지 않는다. e2e/viewport-matrix.spec.mjs:125 · e2e/viewport-matrix.spec.mjs:1 |
| 2. 시작 조건·재현성 | P | 정적 확인: 전용 계정·명시적 입력 fixture를 준비하고 브라우저 업무 날짜·ko-KR·Asia/Seoul을 고정한다. 임의 UUID는 계정 식별용이다. e2e/viewport-matrix.spec.mjs:55 · e2e/support/businessDate.mjs:19 · playwright.viewport.config.mjs:30 |
| 3. 독립성 | P | 정적 확인: 이 spec의 전용 일회용 계정과 CASE별 새 브라우저 context/page를 사용한다. 허용 실행은 workers=1이며 공유 DB 시계 scope는 격리 sandbox를 확인하고 복원한다. 다른 CASE의 선행 결과를 요구하지 않는다. e2e/viewport-matrix.spec.mjs:55 · e2e/viewport-matrix.spec.mjs:125 · playwright.viewport.config.mjs:15 · e2e/support/prOverviewFixtureClock.mjs:19 · e2e/support/prOverviewFixtureClock.mjs:61 |
| 4. 상태 기반 동기화 | P | 정적 확인: 화면 상태·응답과 유한 애니메이션/폰트/기하 안정 조건으로 다음 행동을 제어한다. 고정 sleep 또는 networkidle만으로 준비를 판정하지 않는다. 대기 시간 상한 위반은 12번에 따로 기록했다. e2e/viewport-matrix.spec.mjs:125 · e2e/support/viewportReadiness.mjs:3 · e2e/support/viewportReadiness.mjs:27 |
| 5. 독립 기대값 | P | 정적 확인: 기기별 기대 컬럼 폭은 테스트의 고정 표로 정하고 가로 넘침 0·불투명 배경을 실제 DOM 기하와 비교한다. 앱의 폭 계산 함수를 기대값으로 재사용하지 않는다. e2e/viewport-matrix.spec.mjs:30 · e2e/viewport-matrix.spec.mjs:141 · e2e/viewport-matrix.spec.mjs:154 |
| 6. 상황 실제 발생 | P | 정적 확인: 지정 viewport·DPR·touch context에서 홈/일지/리포트/피드/프로필을 실제 열고 해당 화면이 보이는지 확인한 뒤 기하를 잰다. 별도 실패 주입을 주장하는 CASE가 아니다. e2e/viewport-matrix.spec.mjs:126 · e2e/viewport-matrix.spec.mjs:131 · e2e/viewport-matrix.spec.mjs:140 |
| 7. 경계·금지 부작용 | P | 정적 확인: 이 기기 조건에서 5개 탭의 문서/화면 가로 넘침·잘못된 컬럼 폭·투명 호스트를 금지한다. 관련 viewport 경계는 같은 spec의 명시적 기기 목록으로 분리한다. e2e/viewport-matrix.spec.mjs:30 · e2e/viewport-matrix.spec.mjs:46 · e2e/viewport-matrix.spec.mjs:154 |
| 8. 필수 단언 완결성 | U | 본문의 주요 비동기 단언은 await되지만 viewport 경로는 CASE별 필수 단언 완료 증거 및 예상 밖 브라우저 오류를 빠짐없이 실패로 만드는 증거를 제공하지 않는다. 완료 attachment 검사는 browser lane에만 적용된다. e2e/viewport-matrix.spec.mjs:125 · e2e/support/requiredEvidenceReporter.mjs:10 |
| 9. 결함 탐지·공통 도구 | U | 이 CASE의 대표 결함을 넣어 목표 단언에서 실패한 실행 증거와 공유 helper의 관련 취소·새로고침·중도 실패 경로 검증 증거를 이번 감사에서 확인하지 못했다. 정상 실행 통과나 단언 존재로 대체하지 않았다. e2e/viewport-matrix.spec.mjs:125 · e2e/support/viewportReadiness.mjs:3 |
| 10. 자원 정리 | U | 계정 삭제·재조회와 공유 시계 복원은 hook에 있다. 직접 만든 context는 정상 꼬리에서만 닫으며 중도 실패 시 CASE 정리 단계에서 보류 요청·탭·리스너를 실제 종료하고 확인한다는 증거는 없다. 브라우저 worker 종료를 CASE별 정리 검증으로 간주하지 않았다. e2e/viewport-matrix.spec.mjs:94 · e2e/support/cleanupVerification.mjs:18 · e2e/support/prOverviewFixtureClock.mjs:61 |
| 11. CASE 60초 | F | 정적 위반: CASE 설정 상한이 180초로 60초를 초과한다. 실제 실행이 60초 안에 끝났는지와 별개의 상한 위반이다. playwright.viewport.config.mjs:17 |
| 12. 동작 대기 10초 | F | 정적 위반: 부팅 종료/앱 root 대기 각각 60초, 레이아웃 helper 30초, expect 15초로 10초를 초과한다. e2e/viewport-matrix.spec.mjs:119 · e2e/viewport-matrix.spec.mjs:120 · e2e/support/viewportReadiness.mjs:3 · playwright.viewport.config.mjs:18 |
| 13. 자동 재시도 0 | F | 정적 위반: CI에서 CASE 자동 재시도가 1회다. failOnFlakyTests가 재시도 통과를 실패 처리해도 자동 CASE 재실행 0회 조건을 충족하지 않는다. playwright.viewport.config.mjs:19 · playwright.viewport.config.mjs:20 |
| 14. 우회·약화 금지 | U | 정적 확인: 필수 환경 부족 시 spec가 skip되며 local 필수 reporter는 skip을 거절한다. 모든 필수 실행 경로에서 선택·skip·override 우회가 끝까지 거절되는지는 공통 실행 경로 감사의 증거가 필요하다. 실제 skip 통과를 관측한 것으로 판정하지 않았다. e2e/viewport-matrix.spec.mjs:53 · playwright.viewport.config.mjs:23 · e2e/support/requiredEvidenceReporter.mjs:8 |
| 15. 실패 진단 증거 | U | 실패 trace와 JSON reporter 설정은 있다. 해당 CASE 첫 실패의 실행 식별·환경·관련 비동기 상태, 정리 오류와 원인 분리, 민감 정보 비노출을 충족하는 실제 진단 산출물은 이번 감사에서 확인하지 못했다. playwright.viewport.config.mjs:21 · playwright.viewport.config.mjs:32 · e2e/support/requiredEvidenceReporter.mjs:24 |
화면-18
V8 wide-touch 932x440
기존 CI 최초 결과: passed, 6.101초. 품질 판정: 부적합. 확인 위반: 11, 12, 13번. 미검증: 8, 9, 10, 14, 15.
| 기준 | 판정 | 근거 |
|---|---|---|
| 1. 목적·범위 | P | 정적 확인: 제목·행동·기대 결과와 spec의 실제 앱/화면 검사 범위가 연결된다. 이 판정은 실행 통과 증거를 대체하지 않는다. e2e/viewport-matrix.spec.mjs:125 · e2e/viewport-matrix.spec.mjs:1 |
| 2. 시작 조건·재현성 | P | 정적 확인: 전용 계정·명시적 입력 fixture를 준비하고 브라우저 업무 날짜·ko-KR·Asia/Seoul을 고정한다. 임의 UUID는 계정 식별용이다. e2e/viewport-matrix.spec.mjs:55 · e2e/support/businessDate.mjs:19 · playwright.viewport.config.mjs:30 |
| 3. 독립성 | P | 정적 확인: 이 spec의 전용 일회용 계정과 CASE별 새 브라우저 context/page를 사용한다. 허용 실행은 workers=1이며 공유 DB 시계 scope는 격리 sandbox를 확인하고 복원한다. 다른 CASE의 선행 결과를 요구하지 않는다. e2e/viewport-matrix.spec.mjs:55 · e2e/viewport-matrix.spec.mjs:125 · playwright.viewport.config.mjs:15 · e2e/support/prOverviewFixtureClock.mjs:19 · e2e/support/prOverviewFixtureClock.mjs:61 |
| 4. 상태 기반 동기화 | P | 정적 확인: 화면 상태·응답과 유한 애니메이션/폰트/기하 안정 조건으로 다음 행동을 제어한다. 고정 sleep 또는 networkidle만으로 준비를 판정하지 않는다. 대기 시간 상한 위반은 12번에 따로 기록했다. e2e/viewport-matrix.spec.mjs:125 · e2e/support/viewportReadiness.mjs:3 · e2e/support/viewportReadiness.mjs:27 |
| 5. 독립 기대값 | P | 정적 확인: 기기별 기대 컬럼 폭은 테스트의 고정 표로 정하고 가로 넘침 0·불투명 배경을 실제 DOM 기하와 비교한다. 앱의 폭 계산 함수를 기대값으로 재사용하지 않는다. e2e/viewport-matrix.spec.mjs:30 · e2e/viewport-matrix.spec.mjs:141 · e2e/viewport-matrix.spec.mjs:154 |
| 6. 상황 실제 발생 | P | 정적 확인: 지정 viewport·DPR·touch context에서 홈/일지/리포트/피드/프로필을 실제 열고 해당 화면이 보이는지 확인한 뒤 기하를 잰다. 별도 실패 주입을 주장하는 CASE가 아니다. e2e/viewport-matrix.spec.mjs:126 · e2e/viewport-matrix.spec.mjs:131 · e2e/viewport-matrix.spec.mjs:140 |
| 7. 경계·금지 부작용 | P | 정적 확인: 이 기기 조건에서 5개 탭의 문서/화면 가로 넘침·잘못된 컬럼 폭·투명 호스트를 금지한다. 관련 viewport 경계는 같은 spec의 명시적 기기 목록으로 분리한다. e2e/viewport-matrix.spec.mjs:30 · e2e/viewport-matrix.spec.mjs:46 · e2e/viewport-matrix.spec.mjs:154 |
| 8. 필수 단언 완결성 | U | 본문의 주요 비동기 단언은 await되지만 viewport 경로는 CASE별 필수 단언 완료 증거 및 예상 밖 브라우저 오류를 빠짐없이 실패로 만드는 증거를 제공하지 않는다. 완료 attachment 검사는 browser lane에만 적용된다. e2e/viewport-matrix.spec.mjs:125 · e2e/support/requiredEvidenceReporter.mjs:10 |
| 9. 결함 탐지·공통 도구 | U | 이 CASE의 대표 결함을 넣어 목표 단언에서 실패한 실행 증거와 공유 helper의 관련 취소·새로고침·중도 실패 경로 검증 증거를 이번 감사에서 확인하지 못했다. 정상 실행 통과나 단언 존재로 대체하지 않았다. e2e/viewport-matrix.spec.mjs:125 · e2e/support/viewportReadiness.mjs:3 |
| 10. 자원 정리 | U | 계정 삭제·재조회와 공유 시계 복원은 hook에 있다. 직접 만든 context는 정상 꼬리에서만 닫으며 중도 실패 시 CASE 정리 단계에서 보류 요청·탭·리스너를 실제 종료하고 확인한다는 증거는 없다. 브라우저 worker 종료를 CASE별 정리 검증으로 간주하지 않았다. e2e/viewport-matrix.spec.mjs:94 · e2e/support/cleanupVerification.mjs:18 · e2e/support/prOverviewFixtureClock.mjs:61 |
| 11. CASE 60초 | F | 정적 위반: CASE 설정 상한이 180초로 60초를 초과한다. 실제 실행이 60초 안에 끝났는지와 별개의 상한 위반이다. playwright.viewport.config.mjs:17 |
| 12. 동작 대기 10초 | F | 정적 위반: 부팅 종료/앱 root 대기 각각 60초, 레이아웃 helper 30초, expect 15초로 10초를 초과한다. e2e/viewport-matrix.spec.mjs:119 · e2e/viewport-matrix.spec.mjs:120 · e2e/support/viewportReadiness.mjs:3 · playwright.viewport.config.mjs:18 |
| 13. 자동 재시도 0 | F | 정적 위반: CI에서 CASE 자동 재시도가 1회다. failOnFlakyTests가 재시도 통과를 실패 처리해도 자동 CASE 재실행 0회 조건을 충족하지 않는다. playwright.viewport.config.mjs:19 · playwright.viewport.config.mjs:20 |
| 14. 우회·약화 금지 | U | 정적 확인: 필수 환경 부족 시 spec가 skip되며 local 필수 reporter는 skip을 거절한다. 모든 필수 실행 경로에서 선택·skip·override 우회가 끝까지 거절되는지는 공통 실행 경로 감사의 증거가 필요하다. 실제 skip 통과를 관측한 것으로 판정하지 않았다. e2e/viewport-matrix.spec.mjs:53 · playwright.viewport.config.mjs:23 · e2e/support/requiredEvidenceReporter.mjs:8 |
| 15. 실패 진단 증거 | U | 실패 trace와 JSON reporter 설정은 있다. 해당 CASE 첫 실패의 실행 식별·환경·관련 비동기 상태, 정리 오류와 원인 분리, 민감 정보 비노출을 충족하는 실제 진단 산출물은 이번 감사에서 확인하지 못했다. playwright.viewport.config.mjs:21 · playwright.viewport.config.mjs:32 · e2e/support/requiredEvidenceReporter.mjs:24 |
화면-19
P1 pointer-mockup 800x900
기존 CI 최초 결과: passed, 5.547초. 품질 판정: 부적합. 확인 위반: 11, 12, 13번. 미검증: 8, 9, 10, 14, 15.
| 기준 | 판정 | 근거 |
|---|---|---|
| 1. 목적·범위 | P | 정적 확인: 제목·행동·기대 결과와 spec의 실제 앱/화면 검사 범위가 연결된다. 이 판정은 실행 통과 증거를 대체하지 않는다. e2e/viewport-matrix.spec.mjs:125 · e2e/viewport-matrix.spec.mjs:1 |
| 2. 시작 조건·재현성 | P | 정적 확인: 전용 계정·명시적 입력 fixture를 준비하고 브라우저 업무 날짜·ko-KR·Asia/Seoul을 고정한다. 임의 UUID는 계정 식별용이다. e2e/viewport-matrix.spec.mjs:55 · e2e/support/businessDate.mjs:19 · playwright.viewport.config.mjs:30 |
| 3. 독립성 | P | 정적 확인: 이 spec의 전용 일회용 계정과 CASE별 새 브라우저 context/page를 사용한다. 허용 실행은 workers=1이며 공유 DB 시계 scope는 격리 sandbox를 확인하고 복원한다. 다른 CASE의 선행 결과를 요구하지 않는다. e2e/viewport-matrix.spec.mjs:55 · e2e/viewport-matrix.spec.mjs:125 · playwright.viewport.config.mjs:15 · e2e/support/prOverviewFixtureClock.mjs:19 · e2e/support/prOverviewFixtureClock.mjs:61 |
| 4. 상태 기반 동기화 | P | 정적 확인: 화면 상태·응답과 유한 애니메이션/폰트/기하 안정 조건으로 다음 행동을 제어한다. 고정 sleep 또는 networkidle만으로 준비를 판정하지 않는다. 대기 시간 상한 위반은 12번에 따로 기록했다. e2e/viewport-matrix.spec.mjs:125 · e2e/support/viewportReadiness.mjs:3 · e2e/support/viewportReadiness.mjs:27 |
| 5. 독립 기대값 | P | 정적 확인: 기기별 기대 컬럼 폭은 테스트의 고정 표로 정하고 가로 넘침 0·불투명 배경을 실제 DOM 기하와 비교한다. 앱의 폭 계산 함수를 기대값으로 재사용하지 않는다. e2e/viewport-matrix.spec.mjs:30 · e2e/viewport-matrix.spec.mjs:141 · e2e/viewport-matrix.spec.mjs:154 |
| 6. 상황 실제 발생 | P | 정적 확인: 지정 viewport·DPR·touch context에서 홈/일지/리포트/피드/프로필을 실제 열고 해당 화면이 보이는지 확인한 뒤 기하를 잰다. 별도 실패 주입을 주장하는 CASE가 아니다. e2e/viewport-matrix.spec.mjs:126 · e2e/viewport-matrix.spec.mjs:131 · e2e/viewport-matrix.spec.mjs:140 |
| 7. 경계·금지 부작용 | P | 정적 확인: 이 기기 조건에서 5개 탭의 문서/화면 가로 넘침·잘못된 컬럼 폭·투명 호스트를 금지한다. 관련 viewport 경계는 같은 spec의 명시적 기기 목록으로 분리한다. e2e/viewport-matrix.spec.mjs:30 · e2e/viewport-matrix.spec.mjs:46 · e2e/viewport-matrix.spec.mjs:154 |
| 8. 필수 단언 완결성 | U | 본문의 주요 비동기 단언은 await되지만 viewport 경로는 CASE별 필수 단언 완료 증거 및 예상 밖 브라우저 오류를 빠짐없이 실패로 만드는 증거를 제공하지 않는다. 완료 attachment 검사는 browser lane에만 적용된다. e2e/viewport-matrix.spec.mjs:125 · e2e/support/requiredEvidenceReporter.mjs:10 |
| 9. 결함 탐지·공통 도구 | U | 이 CASE의 대표 결함을 넣어 목표 단언에서 실패한 실행 증거와 공유 helper의 관련 취소·새로고침·중도 실패 경로 검증 증거를 이번 감사에서 확인하지 못했다. 정상 실행 통과나 단언 존재로 대체하지 않았다. e2e/viewport-matrix.spec.mjs:125 · e2e/support/viewportReadiness.mjs:3 |
| 10. 자원 정리 | U | 계정 삭제·재조회와 공유 시계 복원은 hook에 있다. 직접 만든 context는 정상 꼬리에서만 닫으며 중도 실패 시 CASE 정리 단계에서 보류 요청·탭·리스너를 실제 종료하고 확인한다는 증거는 없다. 브라우저 worker 종료를 CASE별 정리 검증으로 간주하지 않았다. e2e/viewport-matrix.spec.mjs:94 · e2e/support/cleanupVerification.mjs:18 · e2e/support/prOverviewFixtureClock.mjs:61 |
| 11. CASE 60초 | F | 정적 위반: CASE 설정 상한이 180초로 60초를 초과한다. 실제 실행이 60초 안에 끝났는지와 별개의 상한 위반이다. playwright.viewport.config.mjs:17 |
| 12. 동작 대기 10초 | F | 정적 위반: 부팅 종료/앱 root 대기 각각 60초, 레이아웃 helper 30초, expect 15초로 10초를 초과한다. e2e/viewport-matrix.spec.mjs:119 · e2e/viewport-matrix.spec.mjs:120 · e2e/support/viewportReadiness.mjs:3 · playwright.viewport.config.mjs:18 |
| 13. 자동 재시도 0 | F | 정적 위반: CI에서 CASE 자동 재시도가 1회다. failOnFlakyTests가 재시도 통과를 실패 처리해도 자동 CASE 재실행 0회 조건을 충족하지 않는다. playwright.viewport.config.mjs:19 · playwright.viewport.config.mjs:20 |
| 14. 우회·약화 금지 | U | 정적 확인: 필수 환경 부족 시 spec가 skip되며 local 필수 reporter는 skip을 거절한다. 모든 필수 실행 경로에서 선택·skip·override 우회가 끝까지 거절되는지는 공통 실행 경로 감사의 증거가 필요하다. 실제 skip 통과를 관측한 것으로 판정하지 않았다. e2e/viewport-matrix.spec.mjs:53 · playwright.viewport.config.mjs:23 · e2e/support/requiredEvidenceReporter.mjs:8 |
| 15. 실패 진단 증거 | U | 실패 trace와 JSON reporter 설정은 있다. 해당 CASE 첫 실패의 실행 식별·환경·관련 비동기 상태, 정리 오류와 원인 분리, 민감 정보 비노출을 충족하는 실제 진단 산출물은 이번 감사에서 확인하지 못했다. playwright.viewport.config.mjs:21 · playwright.viewport.config.mjs:32 · e2e/support/requiredEvidenceReporter.mjs:24 |
화면-20
comment sheet: input row never overlaps the tabbar band
기존 CI 최초 결과: passed, 3.137초. 품질 판정: 부적합. 확인 위반: 11, 12, 13번. 미검증: 8, 9, 10, 14, 15.
| 기준 | 판정 | 근거 |
|---|---|---|
| 1. 목적·범위 | P | 정적 확인: 제목·행동·기대 결과와 spec의 실제 앱/화면 검사 범위가 연결된다. 이 판정은 실행 통과 증거를 대체하지 않는다. e2e/viewport-matrix.spec.mjs:167 · e2e/viewport-matrix.spec.mjs:1 |
| 2. 시작 조건·재현성 | P | 정적 확인: 전용 계정·명시적 입력 fixture를 준비하고 브라우저 업무 날짜·ko-KR·Asia/Seoul을 고정한다. 임의 UUID는 계정 식별용이다. e2e/viewport-matrix.spec.mjs:55 · e2e/support/businessDate.mjs:19 · playwright.viewport.config.mjs:30 |
| 3. 독립성 | P | 정적 확인: 이 spec의 전용 일회용 계정과 CASE별 새 브라우저 context/page를 사용한다. 허용 실행은 workers=1이며 공유 DB 시계 scope는 격리 sandbox를 확인하고 복원한다. 다른 CASE의 선행 결과를 요구하지 않는다. e2e/viewport-matrix.spec.mjs:55 · e2e/viewport-matrix.spec.mjs:167 · playwright.viewport.config.mjs:15 · e2e/support/prOverviewFixtureClock.mjs:19 · e2e/support/prOverviewFixtureClock.mjs:61 |
| 4. 상태 기반 동기화 | P | 정적 확인: 화면 상태·응답과 유한 애니메이션/폰트/기하 안정 조건으로 다음 행동을 제어한다. 고정 sleep 또는 networkidle만으로 준비를 판정하지 않는다. 대기 시간 상한 위반은 12번에 따로 기록했다. e2e/viewport-matrix.spec.mjs:167 · e2e/support/viewportReadiness.mjs:3 · e2e/support/viewportReadiness.mjs:27 |
| 5. 독립 기대값 | P | 정적 확인: 요구되는 겹침 면적 0·화면 안 배치·입력 hit-test 가능·탭바 숨김/복원을 실제 rect/elementFromPoint와 비교한다. e2e/viewport-matrix.spec.mjs:178 · e2e/viewport-matrix.spec.mjs:197 |
| 6. 상황 실제 발생 | P | 정적 확인: 실제 피드 댓글 버튼으로 시트를 열어 표시 상태와 배치 안정화를 기다린 후 검사한다. e2e/viewport-matrix.spec.mjs:174 · e2e/viewport-matrix.spec.mjs:176 |
| 7. 경계·금지 부작용 | P | 정적 확인: 입력이 보이지만 눌리지 않는 부작용과 시트 닫힌 뒤 탭바 미복원을 별도로 단언한다. e2e/viewport-matrix.spec.mjs:197 · e2e/viewport-matrix.spec.mjs:201 |
| 8. 필수 단언 완결성 | U | 본문의 주요 비동기 단언은 await되지만 viewport 경로는 CASE별 필수 단언 완료 증거 및 예상 밖 브라우저 오류를 빠짐없이 실패로 만드는 증거를 제공하지 않는다. 완료 attachment 검사는 browser lane에만 적용된다. e2e/viewport-matrix.spec.mjs:167 · e2e/support/requiredEvidenceReporter.mjs:10 |
| 9. 결함 탐지·공통 도구 | U | 이 CASE의 대표 결함을 넣어 목표 단언에서 실패한 실행 증거와 공유 helper의 관련 취소·새로고침·중도 실패 경로 검증 증거를 이번 감사에서 확인하지 못했다. 정상 실행 통과나 단언 존재로 대체하지 않았다. e2e/viewport-matrix.spec.mjs:167 · e2e/support/viewportReadiness.mjs:3 |
| 10. 자원 정리 | U | 계정 삭제·재조회와 공유 시계 복원은 hook에 있다. 직접 만든 context는 정상 꼬리에서만 닫으며 중도 실패 시 CASE 정리 단계에서 보류 요청·탭·리스너를 실제 종료하고 확인한다는 증거는 없다. 브라우저 worker 종료를 CASE별 정리 검증으로 간주하지 않았다. e2e/viewport-matrix.spec.mjs:94 · e2e/support/cleanupVerification.mjs:18 · e2e/support/prOverviewFixtureClock.mjs:61 |
| 11. CASE 60초 | F | 정적 위반: CASE 설정 상한이 180초로 60초를 초과한다. 실제 실행이 60초 안에 끝났는지와 별개의 상한 위반이다. playwright.viewport.config.mjs:17 |
| 12. 동작 대기 10초 | F | 정적 위반: 부팅 root 대기 60초·댓글 시트 대기 30초·레이아웃 대기 30초로 10초를 초과한다. e2e/viewport-matrix.spec.mjs:119 · e2e/viewport-matrix.spec.mjs:176 · e2e/support/viewportReadiness.mjs:3 |
| 13. 자동 재시도 0 | F | 정적 위반: CI에서 CASE 자동 재시도가 1회다. failOnFlakyTests가 재시도 통과를 실패 처리해도 자동 CASE 재실행 0회 조건을 충족하지 않는다. playwright.viewport.config.mjs:19 · playwright.viewport.config.mjs:20 |
| 14. 우회·약화 금지 | U | 정적 확인: 필수 환경 부족 시 spec가 skip되며 local 필수 reporter는 skip을 거절한다. 모든 필수 실행 경로에서 선택·skip·override 우회가 끝까지 거절되는지는 공통 실행 경로 감사의 증거가 필요하다. 실제 skip 통과를 관측한 것으로 판정하지 않았다. e2e/viewport-matrix.spec.mjs:53 · playwright.viewport.config.mjs:23 · e2e/support/requiredEvidenceReporter.mjs:8 |
| 15. 실패 진단 증거 | U | 실패 trace와 JSON reporter 설정은 있다. 해당 CASE 첫 실패의 실행 식별·환경·관련 비동기 상태, 정리 오류와 원인 분리, 민감 정보 비노출을 충족하는 실제 진단 산출물은 이번 감사에서 확인하지 못했다. playwright.viewport.config.mjs:21 · playwright.viewport.config.mjs:32 · e2e/support/requiredEvidenceReporter.mjs:24 |
화면-21
D1 desktop 1440x900
기존 CI 최초 결과: passed, 1.570초. 품질 판정: 부적합. 확인 위반: 11, 12, 13번. 미검증: 8, 9, 10, 14, 15.
| 기준 | 판정 | 근거 |
|---|---|---|
| 1. 목적·범위 | P | 정적 확인: 제목·행동·기대 결과와 spec의 실제 앱/화면 검사 범위가 연결된다. 이 판정은 실행 통과 증거를 대체하지 않는다. e2e/viewport-matrix.spec.mjs:208 · e2e/viewport-matrix.spec.mjs:1 |
| 2. 시작 조건·재현성 | P | 정적 확인: 전용 계정·명시적 입력 fixture를 준비하고 브라우저 업무 날짜·ko-KR·Asia/Seoul을 고정한다. 임의 UUID는 계정 식별용이다. e2e/viewport-matrix.spec.mjs:55 · e2e/support/businessDate.mjs:19 · playwright.viewport.config.mjs:30 |
| 3. 독립성 | P | 정적 확인: 이 spec의 전용 일회용 계정과 CASE별 새 브라우저 context/page를 사용한다. 허용 실행은 workers=1이며 공유 DB 시계 scope는 격리 sandbox를 확인하고 복원한다. 다른 CASE의 선행 결과를 요구하지 않는다. e2e/viewport-matrix.spec.mjs:55 · e2e/viewport-matrix.spec.mjs:208 · playwright.viewport.config.mjs:15 · e2e/support/prOverviewFixtureClock.mjs:19 · e2e/support/prOverviewFixtureClock.mjs:61 |
| 4. 상태 기반 동기화 | P | 정적 확인: 화면 상태·응답과 유한 애니메이션/폰트/기하 안정 조건으로 다음 행동을 제어한다. 고정 sleep 또는 networkidle만으로 준비를 판정하지 않는다. 대기 시간 상한 위반은 12번에 따로 기록했다. e2e/viewport-matrix.spec.mjs:208 · e2e/support/viewportReadiness.mjs:3 · e2e/support/viewportReadiness.mjs:27 |
| 5. 독립 기대값 | P | 정적 확인: 기대 zoom과 하한 적용 여부는 테스트 고정 표에서 정하고 실제 CSS zoom·overflow·배경과 비교한다. e2e/viewport-matrix.spec.mjs:42 · e2e/viewport-matrix.spec.mjs:212 · e2e/viewport-matrix.spec.mjs:218 |
| 6. 상황 실제 발생 | P | 정적 확인: 지정 desktop viewport로 앱 desktop root를 실제 기다린 다음 계산된 스타일을 측정한다. e2e/viewport-matrix.spec.mjs:209 · e2e/viewport-matrix.spec.mjs:211 · e2e/viewport-matrix.spec.mjs:212 |
| 7. 경계·금지 부작용 | P | 정적 확인: 두 desktop CASE가 zoom 하한 적용/미적용을 나눠 overflow auto/hidden 및 호스트 배경 불변식을 검사한다. e2e/viewport-matrix.spec.mjs:42 · e2e/viewport-matrix.spec.mjs:218 |
| 8. 필수 단언 완결성 | U | 본문의 주요 비동기 단언은 await되지만 viewport 경로는 CASE별 필수 단언 완료 증거 및 예상 밖 브라우저 오류를 빠짐없이 실패로 만드는 증거를 제공하지 않는다. 완료 attachment 검사는 browser lane에만 적용된다. e2e/viewport-matrix.spec.mjs:208 · e2e/support/requiredEvidenceReporter.mjs:10 |
| 9. 결함 탐지·공통 도구 | U | 이 CASE의 대표 결함을 넣어 목표 단언에서 실패한 실행 증거와 공유 helper의 관련 취소·새로고침·중도 실패 경로 검증 증거를 이번 감사에서 확인하지 못했다. 정상 실행 통과나 단언 존재로 대체하지 않았다. e2e/viewport-matrix.spec.mjs:208 · e2e/support/viewportReadiness.mjs:3 |
| 10. 자원 정리 | U | 계정 삭제·재조회와 공유 시계 복원은 hook에 있다. 직접 만든 context는 정상 꼬리에서만 닫으며 중도 실패 시 CASE 정리 단계에서 보류 요청·탭·리스너를 실제 종료하고 확인한다는 증거는 없다. 브라우저 worker 종료를 CASE별 정리 검증으로 간주하지 않았다. e2e/viewport-matrix.spec.mjs:94 · e2e/support/cleanupVerification.mjs:18 · e2e/support/prOverviewFixtureClock.mjs:61 |
| 11. CASE 60초 | F | 정적 위반: CASE 설정 상한이 180초로 60초를 초과한다. 실제 실행이 60초 안에 끝났는지와 별개의 상한 위반이다. playwright.viewport.config.mjs:17 |
| 12. 동작 대기 10초 | F | 정적 위반: 부팅 종료/앱 root 대기 각각 60초, 레이아웃 helper 30초로 10초를 초과한다. e2e/viewport-matrix.spec.mjs:119 · e2e/viewport-matrix.spec.mjs:120 · e2e/support/viewportReadiness.mjs:3 |
| 13. 자동 재시도 0 | F | 정적 위반: CI에서 CASE 자동 재시도가 1회다. failOnFlakyTests가 재시도 통과를 실패 처리해도 자동 CASE 재실행 0회 조건을 충족하지 않는다. playwright.viewport.config.mjs:19 · playwright.viewport.config.mjs:20 |
| 14. 우회·약화 금지 | U | 정적 확인: 필수 환경 부족 시 spec가 skip되며 local 필수 reporter는 skip을 거절한다. 모든 필수 실행 경로에서 선택·skip·override 우회가 끝까지 거절되는지는 공통 실행 경로 감사의 증거가 필요하다. 실제 skip 통과를 관측한 것으로 판정하지 않았다. e2e/viewport-matrix.spec.mjs:53 · playwright.viewport.config.mjs:23 · e2e/support/requiredEvidenceReporter.mjs:8 |
| 15. 실패 진단 증거 | U | 실패 trace와 JSON reporter 설정은 있다. 해당 CASE 첫 실패의 실행 식별·환경·관련 비동기 상태, 정리 오류와 원인 분리, 민감 정보 비노출을 충족하는 실제 진단 산출물은 이번 감사에서 확인하지 못했다. playwright.viewport.config.mjs:21 · playwright.viewport.config.mjs:32 · e2e/support/requiredEvidenceReporter.mjs:24 |
화면-22
D3 desktop 1280x720
기존 CI 최초 결과: passed, 1.961초. 품질 판정: 부적합. 확인 위반: 11, 12, 13번. 미검증: 8, 9, 10, 14, 15.
| 기준 | 판정 | 근거 |
|---|---|---|
| 1. 목적·범위 | P | 정적 확인: 제목·행동·기대 결과와 spec의 실제 앱/화면 검사 범위가 연결된다. 이 판정은 실행 통과 증거를 대체하지 않는다. e2e/viewport-matrix.spec.mjs:208 · e2e/viewport-matrix.spec.mjs:1 |
| 2. 시작 조건·재현성 | P | 정적 확인: 전용 계정·명시적 입력 fixture를 준비하고 브라우저 업무 날짜·ko-KR·Asia/Seoul을 고정한다. 임의 UUID는 계정 식별용이다. e2e/viewport-matrix.spec.mjs:55 · e2e/support/businessDate.mjs:19 · playwright.viewport.config.mjs:30 |
| 3. 독립성 | P | 정적 확인: 이 spec의 전용 일회용 계정과 CASE별 새 브라우저 context/page를 사용한다. 허용 실행은 workers=1이며 공유 DB 시계 scope는 격리 sandbox를 확인하고 복원한다. 다른 CASE의 선행 결과를 요구하지 않는다. e2e/viewport-matrix.spec.mjs:55 · e2e/viewport-matrix.spec.mjs:208 · playwright.viewport.config.mjs:15 · e2e/support/prOverviewFixtureClock.mjs:19 · e2e/support/prOverviewFixtureClock.mjs:61 |
| 4. 상태 기반 동기화 | P | 정적 확인: 화면 상태·응답과 유한 애니메이션/폰트/기하 안정 조건으로 다음 행동을 제어한다. 고정 sleep 또는 networkidle만으로 준비를 판정하지 않는다. 대기 시간 상한 위반은 12번에 따로 기록했다. e2e/viewport-matrix.spec.mjs:208 · e2e/support/viewportReadiness.mjs:3 · e2e/support/viewportReadiness.mjs:27 |
| 5. 독립 기대값 | P | 정적 확인: 기대 zoom과 하한 적용 여부는 테스트 고정 표에서 정하고 실제 CSS zoom·overflow·배경과 비교한다. e2e/viewport-matrix.spec.mjs:42 · e2e/viewport-matrix.spec.mjs:212 · e2e/viewport-matrix.spec.mjs:218 |
| 6. 상황 실제 발생 | P | 정적 확인: 지정 desktop viewport로 앱 desktop root를 실제 기다린 다음 계산된 스타일을 측정한다. e2e/viewport-matrix.spec.mjs:209 · e2e/viewport-matrix.spec.mjs:211 · e2e/viewport-matrix.spec.mjs:212 |
| 7. 경계·금지 부작용 | P | 정적 확인: 두 desktop CASE가 zoom 하한 적용/미적용을 나눠 overflow auto/hidden 및 호스트 배경 불변식을 검사한다. e2e/viewport-matrix.spec.mjs:42 · e2e/viewport-matrix.spec.mjs:218 |
| 8. 필수 단언 완결성 | U | 본문의 주요 비동기 단언은 await되지만 viewport 경로는 CASE별 필수 단언 완료 증거 및 예상 밖 브라우저 오류를 빠짐없이 실패로 만드는 증거를 제공하지 않는다. 완료 attachment 검사는 browser lane에만 적용된다. e2e/viewport-matrix.spec.mjs:208 · e2e/support/requiredEvidenceReporter.mjs:10 |
| 9. 결함 탐지·공통 도구 | U | 이 CASE의 대표 결함을 넣어 목표 단언에서 실패한 실행 증거와 공유 helper의 관련 취소·새로고침·중도 실패 경로 검증 증거를 이번 감사에서 확인하지 못했다. 정상 실행 통과나 단언 존재로 대체하지 않았다. e2e/viewport-matrix.spec.mjs:208 · e2e/support/viewportReadiness.mjs:3 |
| 10. 자원 정리 | U | 계정 삭제·재조회와 공유 시계 복원은 hook에 있다. 직접 만든 context는 정상 꼬리에서만 닫으며 중도 실패 시 CASE 정리 단계에서 보류 요청·탭·리스너를 실제 종료하고 확인한다는 증거는 없다. 브라우저 worker 종료를 CASE별 정리 검증으로 간주하지 않았다. e2e/viewport-matrix.spec.mjs:94 · e2e/support/cleanupVerification.mjs:18 · e2e/support/prOverviewFixtureClock.mjs:61 |
| 11. CASE 60초 | F | 정적 위반: CASE 설정 상한이 180초로 60초를 초과한다. 실제 실행이 60초 안에 끝났는지와 별개의 상한 위반이다. playwright.viewport.config.mjs:17 |
| 12. 동작 대기 10초 | F | 정적 위반: 부팅 종료/앱 root 대기 각각 60초, 레이아웃 helper 30초로 10초를 초과한다. e2e/viewport-matrix.spec.mjs:119 · e2e/viewport-matrix.spec.mjs:120 · e2e/support/viewportReadiness.mjs:3 |
| 13. 자동 재시도 0 | F | 정적 위반: CI에서 CASE 자동 재시도가 1회다. failOnFlakyTests가 재시도 통과를 실패 처리해도 자동 CASE 재실행 0회 조건을 충족하지 않는다. playwright.viewport.config.mjs:19 · playwright.viewport.config.mjs:20 |
| 14. 우회·약화 금지 | U | 정적 확인: 필수 환경 부족 시 spec가 skip되며 local 필수 reporter는 skip을 거절한다. 모든 필수 실행 경로에서 선택·skip·override 우회가 끝까지 거절되는지는 공통 실행 경로 감사의 증거가 필요하다. 실제 skip 통과를 관측한 것으로 판정하지 않았다. e2e/viewport-matrix.spec.mjs:53 · playwright.viewport.config.mjs:23 · e2e/support/requiredEvidenceReporter.mjs:8 |
| 15. 실패 진단 증거 | U | 실패 trace와 JSON reporter 설정은 있다. 해당 CASE 첫 실패의 실행 식별·환경·관련 비동기 상태, 정리 오류와 원인 분리, 민감 정보 비노출을 충족하는 실제 진단 산출물은 이번 감사에서 확인하지 못했다. playwright.viewport.config.mjs:21 · playwright.viewport.config.mjs:32 · e2e/support/requiredEvidenceReporter.mjs:24 |
적용 상태와 조사 한계
정책 문서와 이번 조사 결과를 문서 저장소에 기록했다. 앱 검사기 구현·테스트 수리·전체 CASE의 수정 후 검증은 수행하지 않았다. 현재 확인된 기준 위반과 증거 부족을 해결하기 전에는 79건의 품질 적합을 승인할 수 없다. 이슈의 조사 완료와 전체 CASE의 기준 충족 완료를 구분한다.