회기 집계와 기록 복귀 및 감독 근거 링크 수정
Some checks failed
API contract / OpenAPI type drift (push) Failing after 4m46s
Some checks failed
API contract / OpenAPI type drift (push) Failing after 4m46s
This commit is contained in:
parent
aa951c6c4a
commit
1306c524c1
20 changed files with 4631 additions and 60 deletions
|
|
@ -6,16 +6,13 @@
|
|||
|
||||
## 현재 기준
|
||||
|
||||
2026-09-08 Forgejo master `a0311c59` (배포 문서 포함 `d9bb5b36`)를 NAS `vignette-prod` 및 Cloudflare Pages에 정식 실배포했다. 사전 DB 덤프(`/volume1/docker/vignette-prod/backups/pre-deploy-a0311c59-.dump`, 12MB) 및 `env.nas` 백업을 생성한 뒤 NAS 컨테이너(API `sha256:8b1ed23d1d24...`, Web `sha256:5c34139d8b56...`)를 교체·기동했다. Cloudflare Pages는 174개 자산을 보존하며 `https://vignette.chanpaca.net`(미리보기: `2df910db.vignette-b1q.pages.dev`)으로 배포 완료했다. 공개 health(`https://api-vignette.chanpaca.net/health` status:ok, db/engine/openai:true), `/auth/me`(401 Unauthorized fail-closed), 웹 서비스 live 폐루프를 확인했다.
|
||||
2026-09-09 최신 [개선관리 워크북](https://docs.google.com/spreadsheets/d/1MNRDfXoIQJbLzIcSRdHnQHREWELbKqV4/edit?pli=1&gid=1294900115#gid=1294900115)을 읽기 전용으로 재점검했다. 다운로드 원본 SHA-256 `f64bbc859354e8bfdd62bb3393cffd841ca3a0d865983967a149aea7cf569773`의 14개 항목은 완료 13·검토 1(C-001)이며 REQ-008~011도 원본 완료다. [항목별 구현 매핑](./ops/spreadsheet-implementation-audit-2026-09-09.md)은 원본 완료 표기, 현재 로컬 검증, 배포 상태를 분리한다. 원본 워크북은 수정하지 않았다.
|
||||
|
||||
TDD 기반 회귀 방지 및 핵심 불변식을 확정했다:
|
||||
- REQ-010: 회기 무발화 0턴 분리 (`LearnerGrowthMetrics.ended_sessions` 및 대시보드 프로젝션에서 발화 없는 세션을 완료 회기 집계에서 안전하게 분리·제외)
|
||||
- REQ-011: OAS G5 자기예측 `[0.0, 1.0]` 범위 도메인 검증 및 DB 트리거 수준 락 보장/예외 전환 (`CalibrationTransferStateError`)
|
||||
- REQ-009: 웹 클라이언트 스트림 에러 시 입력문 복원(`setComposeText(text)`) 및 로딩 상태(`clientReplyPending`) 복원 보장
|
||||
REQ-010의 추가 결함은 0턴/client-only 회기가 대시보드의 첫 완료·반복·경험 배지 집계에 포함되는 것이었다. 기존 완료 집계와 같은 counselor/learner 발화 조건으로 정렬했고, 계약 RED 4건 뒤 GREEN 4건, 지정 API 20건과 API 전체 1108 passed / 1 skipped / 1 warning을 통과했다. `uc-session-conversation`과 `calibration-transfer` route fixture browser 재검증도 44 passed / 0 failed / 0 skipped로 수용했다. 이 browser 증거는 local fixture 기반이며 이번 변경은 build 미실행·새 public live 검증 미실행·미배포다.
|
||||
|
||||
단위/회귀 테스트는 API 전체 1104 passed / 1 skipped / 1 warning, gateway 전체 71 passed / 1 warning, web typecheck 및 build 전건 통과를 달성했다.
|
||||
2026-09-08 Forgejo master `a0311c59`(배포 문서 포함 `d9bb5b36`)의 NAS/Cloudflare Pages 배포, 사전 DB 덤프·컨테이너 교체·당시 public health/auth/web 폐루프와 API 1104 passed 기록은 [배포 파이프라인](./ops/deployment-pipeline.md)과 [1차 배포 증거](./ops/evidence/nas-prod-deploy-2026-09-01.json)에 보존한다. 이는 오늘의 새 live 검증이나 현재 작업트리 배포 상태가 아니다.
|
||||
|
||||
증거: [NAS 배포 파이프라인](./ops/deployment-pipeline.md), [1차 배포 증거](./ops/evidence/nas-prod-deploy-2026-09-01.json).
|
||||
실배포 CUA 128 시나리오는 카탈로그 생성만 끝났고 전체 검증은 끝나지 않았다. H09 기록 검색·필터 복귀와 T18 감독·연구 drilldown은 배포에서 RED다. H09는 local 16 passed, T18은 API 12 passed·local 교수자 15 passed로 수정 검증했지만 배포 재검증이 필요하다. 관리자와 일반 학습자 로그인에서 학습자의 `/admin`·`/teach`→`/learn` 차단과 P4 추천 일치를 확인했다. 순수 teacher, 독립 관찰자 공개 검증, OFF 계정, 교수자 쓰기와 모바일 실행은 남아 있다. 상세는 [실배포 CUA 보고](./qa/production-computer-use-report-2026-09-09.md)를 따른다.
|
||||
|
||||
## 남은 실행 항목
|
||||
|
||||
|
|
@ -24,7 +21,8 @@ TDD 기반 회귀 방지 및 핵심 불변식을 확정했다:
|
|||
3. 백업 운영화: 실패 알림, off-host 암호화 복제, 정기 restore drill을 운영 증거로 남긴다.
|
||||
4. 아바타 fail-closed 후보: 원본과 DB 참조를 보존한 채 public fallback·digest receipt·브라우저 검증을 마친 뒤에만 승격 판단한다.
|
||||
5. G7/G8 외부 게이트: G7은 동의 기반 물리 마이크와 독립 voice-gain 증거, G8은 실DB append-only 사람 게이트와 public proof가 남아 있다.
|
||||
6. 신규 제품 이슈: REQ-009, REQ-010, REQ-011은 TDD 불변식 추가 및 헤드풀 브라우저 E2E 검증, 실서버 배포를 완료했다. 외부 원본 워크북과의 최종 동기화만 남아 있다.
|
||||
6. REQ-009~011: 원본은 모두 완료다. API와 route fixture browser 로컬 재검증은 수용했지만 build·새 public live 검증·배포는 수행하지 않았다.
|
||||
7. CUA-128: 허용된 관리자 P16 회기 1개와 학습자 P4 회기 1개를 사용해 총 2/2를 종료했다. P4 회기는 2분 19초·6턴·실제 AI 3왕복으로 종료했고, 기존 승인 범위의 대화·리뷰·워크시트 권한은 유지한다. 순수 teacher·OFF 계정, 교수자 쓰기와 모바일 실행이 남아 있다.
|
||||
|
||||
세부 ID·차단 이유·완료 조건은 [`TODO.md`](./TODO.md)와 [열린 백로그](./ops/backlog-2026-06-26.md)에 있다.
|
||||
|
||||
|
|
@ -35,11 +33,11 @@ TDD 기반 회귀 방지 및 핵심 불변식을 확정했다:
|
|||
3. 외부 게이트는 증거 수집만 진행하며, 외부 입력·소유자 승인·비밀값을 추정하거나 생성하지 않는다.
|
||||
4. 코드 또는 문서 변경 뒤에는 범위에 맞는 테스트와 SSOT checker를 실행한다.
|
||||
|
||||
2026-09-09 현재 baseline은 Python 3.11 API 전체 1104 passed/1 skipped/1 warning, gateway 전체 71 passed/1 warning이며 API 타입 체크와 web build도 통과했다. API의 1 skipped는 `VIGNETTE_USAGE_TEST_DATABASE_URL` 미설정 때만 건너뛰는 기존 선택형 격리 DB `test_admin_usage_postgres.py`이고 새 skip은 없다.
|
||||
2026-09-09 REQ-010 API 재검증은 Python 3.11 API 전체 1108 passed/1 skipped/1 warning이다. API의 1 skipped는 `VIGNETTE_USAGE_TEST_DATABASE_URL` 미설정 때만 건너뛰는 기존 선택형 격리 DB `test_admin_usage_postgres.py`이고 새 skip은 없다. `uc-session-conversation`과 `calibration-transfer`의 route fixture browser 재검증은 44 passed/0 failed/0 skipped다. 이 수치는 local fixture 증거이며 build·새 public live 검증·배포를 뜻하지 않는다.
|
||||
|
||||
최종 UI 회귀는 `session-mvp`+`uc-session-coach-voice` 58 passed/0 skipped(exit 0, 2.6분), alliance+admin 39 passed/1 skipped(exit 0, 1.7분)로 합계 97 passed/1 skipped다. skip은 `uc-review-alliance-pulse` 320px 테스트의 desktop 중복 실행 제외이며 mobile은 실행·통과했다. `session-review`의 disabled AI feedback privacy 제어 focused 1 passed(exit 0, 4.4초)도 유지한다. dashboard 10은 별도 검증이다.
|
||||
|
||||
같은 날 source-only로 `test_session_turn_persistence.py`, `test_calibration_transfer_store.py`, `test_session_continuity_guard.py`는 78 passed와 `PendingDeprecationWarning` 1건, web typecheck는 통과했다. 이는 REQ-009~011의 재현·원인 해결·운영 증거가 아니다. 신규 제품 이슈의 현재 열린 상태와 다음 행동은 위 목록 및 [`TODO.md`](./TODO.md)를 따른다.
|
||||
같은 날 source-only로 `test_session_turn_persistence.py`, `test_calibration_transfer_store.py`, `test_session_continuity_guard.py`는 78 passed와 `PendingDeprecationWarning` 1건이었다. 이는 당시 증거이며 REQ-009~011의 현 browser 재검증이나 운영 증거가 아니다. 신규 제품 이슈의 현재 열린 상태와 다음 행동은 위 목록 및 [`TODO.md`](./TODO.md)를 따른다.
|
||||
|
||||
## 승인과 금지 경계
|
||||
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue