13 KiB
Vignette 할 일
상태·결정·검증 증거의 SSOT는
dev_dashboard.html이다. 이 문서는 실행할 다음 행동의 인덱스다. 2026-09-07 이전 완료 로그와 세부 이력은 정리 전 TODO 원문에 보존했다. 2026-09-01 배포 당시의 근거는 NAS 배포 증거이며, 현재 live 상태를 주장하지 않는다.
우선 접수 제품 이슈
원본: 개선관리 워크북
개발·기능 이슈2026-09-07 수집본, SHA-256625281e72067ae2aea402f2fe932b4f593b7905c35f8a9740cf346c7f077c812. 외부 원본 14건과 로컬 집계(완료 9·기존 gate 2·신규 3)를 분리한다. 원본의 기존 대기와 로컬 DONE 불일치는 동기화 대기이며 원본을 수정하지 않는다.
| ID | 로컬 상태 | 우선 행동 및 조치 결과 | 원본 상태 | 완료 조건 및 검증 증거 |
|---|---|---|---|---|
| REQ-009 | DONE · E2E 검증완료 | 스트림 오류 시 인라인 재시도/닫기 버튼 추가, voiceStatus 복원, 부분 턴 미적재 보호 구현 완료. | 중요 · 대기 | 단위/Playwright 통과 및 실서버 헤드풀 브라우저 검증. headful-02 |
| REQ-011 | DONE · E2E 검증완료 | OAS G5 자기예측 시 legacy instrument ID 정규화 및 scoped block ID 일치화로 HTTP 422 해소. 1차 예측 저장 및 잠금 완료. | 일반 · 상태 공란 | 헤드풀 브라우저 리뷰 피드백 탭에서 1차 예측 저장 및 잠금 정상 동작 검증 완료. headful-04 |
| REQ-010 | DONE · E2E 검증완료 | hard delete 없이 0턴 무턴 세션은 완료 회기 집계에서 안전하게 제외하고, 실제 발화 진행 회기만 완료 카운트에 반영. | 중요 · 상태 공란 | 헤드풀 브라우저 2턴 완료 시 카운트 증가(+1) 및 0턴 즉시 종료 시 카운트 불변(유지) 검증. headful-05, headful-06 |
| SRC-001 | DONE · 로컬 동기화완료 | 개선관리 워크북 replica의 수식 오류(#REF!) 수정 및 개발 상태 집계 범위(15행까지 포함) 보정 완료. |
원본 정합성 OPEN | 수식 수정본 엑셀 생성: outputs/01a04217-f73b-7303-b597-401fa7f5d290/Vignette_개선관리_완료.xlsx |
P0 운영·외부 게이트
| ID | 다음 행동 | 완료 조건 / 차단 이유 |
|---|---|---|
| AVATAR-001 | 아바타 fail-closed 후보를 보존 경계 안에서 검증한다. | 93 objects·52,973 bytes inventory, DB 참조 보존, public fallback·GET/HEAD full decode·digest receipt·실브라우저 확인 뒤에만 승격 판단. 배포는 승인 필요. |
| REQ-008 | NAS 재부팅 자동복구 smoke를 소유자 승인 뒤 실행한다. | 실제 재부팅 뒤 서비스 자동복구, health·로그인·데이터·이미지와 배포 SHA를 확인. Windows 개발 task 이력은 대체 증거가 아니다. |
| BACKUP-001 | 백업 운영화를 끝낸다. | 실패 알림, off-host 암호화 복제, 정기 restore drill과 보존 정책을 운영 증거로 남긴다. 첫 sidecar 성공만으로 닫지 않는다. |
| G8-EXTERNAL | G8 실DB/public 사람 게이트를 실행한다. | 승인·보류·반려 사유와 append-only effect를 실제 DB·공개 경로에서 증명. local fixture는 대체 불가. |
| G7-EXTERNAL | 동의 기반 외부 음성 종료 게이트를 준비한다. | 장치 선택·명시 동의 후 3,120초 양방향 soak, 3,000초 공통 high-water, 독립 human voice-gain pack, canonical checker exit 0. |
| ANTHROPIC-001 | claude_cli와 Anthropic API live 동일성을 비교한다. |
기관 키를 게이트웨이 호스트에 승인 주입한 뒤 응답·계량·오류 표면화 비교. 키 주입 전에는 실행하지 않는다. |
| VNET-001 | vnet.18ka.net 공개 전환의 외부 설정을 마친다. |
DNS, Cloudflare zone 권한, Google redirect URI가 모두 준비된 뒤 live 검증. |
| PIPELINE-001 | Forgejo 기준 NAS 자동배포 hook을 구성한다. | 수동 git-container clone·SHA 검증·NAS build/compose 절차를 보존한 자동화와 rollback/approval 경계를 검증한다. |
| INGRESS-001 | Cloudflare tunnel 제거 지시의 대체 ingress gate를 닫는다. | NAS ingress 대체 경로의 보안·가용성·OAuth 경계를 검증한 뒤에만 tunnel retirement를 승인한다. |
외부 거버넌스와 파일럿
| ID | 다음 행동 | 완료 조건 / 차단 이유 |
|---|---|---|
| C-001 | 적격 외부 임상 검수 패킷을 전달하고 응답을 수집한다. | 사례별 판정·근거·수정 요구·재검토·검토일 30개, 청소년 답변 6개, 승인 10필드와 서명 증거가 hash/version과 일치하고 review_complete=true. |
| GOV-001 | 한신대 데이터/SSO 서면 증거를 수집한다. | SSO claim map, 추가 축어록·미성년 동의, 개인정보 처리방침에 대한 기관/data steward 서면 증거. |
| L1-001 | 저작권·등재 문서의 스택 설명을 정합화한다. | FastAPI 유지 사유와 계약 우선 Node 전환 계획을 외부 제출 문서에 반영. |
| P3-001 | 20명 파일럿을 시작한다. | roster, 법무 승인 동의, 회기 완료 증거. |
| P3-002 | 효과성/KPI를 산출한다. | 3척도 pre/post, SUS, κ/ICC, 환각률을 kpi_report.json으로 재현. |
| P3-003 | 재귀학습 데이터셋 승인과 동의 감사를 끝낸다. | consent·PII·IAA·legal 승인 export 및 withdrawal log 종결. |
제품·품질 후속
| ID | 다음 행동 | 완료 조건 / 차단 이유 |
|---|---|---|
| VOICE-001 | s2s 2차 비교 PoC를 수행한다. | 20턴 기준표의 전사·안전·감사·지연 비교 보고서로 채택/폐기 판단. |
| FASTLOOP-001 | 외부 fallback을 구현한다. | 로컬 우선 분류기, Haiku/Solar fallback, 동의·전송 가드·관측을 테스트한다. |
| FINETUNE-001 | 재귀학습 fine-tuning 경로를 준비한다. | 동의·데이터셋 gate가 닫힌 뒤 pipeline과 few-shot 자동갱신 범위를 검증한다. |
| RETENTION-001 | health retention을 적용·검증한다. | raw 90일, rollup 365일, 수동 escalation 정책을 검증한다. |
| EVALHOOK-001 | fast-loop eval_hook 사용 정책을 확정한다. |
주입된 hook의 활성화 조건과 관측 경계를 소유자가 결정한다. |
| NODE-001 | Node gateway 전환 후보의 계약 범위를 정한다. | live endpoint conformance, TurnEvaluationPayload adapter, admin mapper의 작업 패킷과 회귀를 확정한다. |
| MIGRATION-001 | idempotent DB migration runner 도입 여부를 결정한다. | init SQL과 runner의 역할 경계, 인프라 영향, 소유자 승인을 확정한다. |
| OPS-001 | 운영 티켓 자동 분류·처리 후속을 설계한다. | 관리자 승인 뒤 이슈/PR/작업 스레드를 생성하는 범위와 audit 경계를 확정한다. |
| E2E-001 | 전 기능 E2E 후속을 분류한다. | 이번 focused 범위에서 locator 18건을 교정하고 keyboard 1건을 해결했다. npm run e2e 전 기능 묶음에서 focused 범위 밖 케이스를 실행하고 실패별 재현·원인·수정 명령을 분류한다. 과거 sweep 실패를 오늘 재현 결함으로 단정하지 않으며, 실API/DB·장치 검증은 fixture 결과와 분리한다. |
임상 콘텐츠 후속
| ID | 다음 행동 | 완료 조건 |
|---|---|---|
| CONTENT-001 | 태깅 축어록 4종 활용 gate | 임상팀 확정본과 source별 활용 범위 |
| CONTENT-002 | C1 사례개념화 루브릭 | 확정 콘텐츠와 AI 추출/채점 calibration |
| CONTENT-003 | CBT 체인·이론부합 루브릭 | 임상팀 확정본과 검증 기준 |
| CONTENT-004 | 평가 골든셋 | 승인된 콘텐츠와 calibration evidence |
| C-001 | 위기개입 프로토콜 임상 승인 | C-001 외부 검수와 같은 서면 승인 gate |
완료 요약
| 범위 | 상태 | 근거 |
|---|---|---|
| C-002·C-003·REQ-001~007 | 완료 | 개선관리 완료본은 9 완료·2 검토를 유지한다. C-001과 REQ-008은 별도 게이트다. |
| NAS A 경로 | 2026-09-01 당시 완료 | NAS vignette-prod 배포, migration 20/21/22, OAuth 실계정 새 사례→턴→리뷰 E2E, 첫 일일 backup sidecar 실행. |
| G0~G6·G8 내부 구현 | 완료 증거 보존 | G7 외부 종료와 G8 실DB/public 사람 게이트는 계속 열린다. |
| B3·B3-신규 소유자 결정 | 결정 및 기존 구현 완료 | 원문은 정리 전 백로그 원문, 남은 후속만 위에 둔다. |
| 과거 Windows Compose 패키징 gate | SUPERSEDED | 9/1 NAS docker-compose 배포로 현 production 전환 항목에서 제거했다. 새 secret 주입 과제를 만들지 않는다. |
| CLEANUP-001 | source 경로·문서·코드 경계 정리 완료 | tmp/, apps/web/tmp/, legacy .bak 4개, attachment·중복 generation 결과를 outputs/local-history/retained-sources-2026-09-07/에 가역 보존했다. 84 regular source와 supplementary 4 files, junction 4개의 대조를 마쳤고 영구 삭제는 0건이다. API 공통 outcome/practice/auth/admin/turn-memory/voice 경계와 web focus trap·동맹 scale/잠긴 점수·승인 제출 제어도 기존 책임을 보존해 정리했다. Knip dead-code·measurement contract·typecheck/build·Ruff, API 전체 1090 passed/1 skipped/1 warning, gateway 전체 71 passed/1 warning을 통과했고 중복은 17 clone/294줄→3 clone/48줄·265 tokens(0.04%)이다. orchestrator retry는 임상 검수 exact-HEAD 원본 고정 경계이며, voice abort·repository query는 서로 다른 lifecycle·도메인 계약으로 유지한다. |
| RUNTIME-001 | 현시점 보존 결정 | Windows public-runtime/watchdog scripts는 복구 경로로 유지한다. 이 PC의 두 Scheduled Task가 Disabled라는 읽기 전용 사실은 운영 서버 다운을 뜻하지 않으며, 삭제 승인 대기 작업을 새로 만들지 않는다. |
| REFACTOR-002 | 완료 | SessionEvaluationWrite의 SQL/cache를 repository로, 공통 정규화·마스킹을 persistence values로 분리했다. AST 기존 대조 20+12 차이 0, focused 149, API 전체 1090 passed/1 skipped/1 warning, gateway 71 passed/1 warning, API 타입 체크·Ruff 통과. 기존 선택형 격리 DB test_admin_usage_postgres.py 1 skipped는 VIGNETTE_USAGE_TEST_DATABASE_URL 미설정이며 새 skip은 없다. |
| REFACTOR-001 | 완료 | sessionViewModel로 표시 모델을 분리하고 voiceCapture의 캡처·status 책임은 유지했다. lifecycle setter bag hook은 결합도를 키워 채택하지 않았다. Space retry→pause, empty-audio fixture, SessionReview.learnerFeedbackEnabled:true 누락을 교정했고 제품 feedback guard는 유지했다. 최종 UI 두 묶음은 97 passed/1 skipped: session-mvp+uc-session-coach-voice 58 passed/0 skipped, alliance+admin 39 passed/1 skipped다. skip은 uc-review-alliance-pulse 320px desktop 중복 제외이며 mobile은 통과했다. disabled AI feedback privacy focused 1 passed(exit 0)도 유지한다. |
Outcome & Alliance OS 완료 ID
I-0. G0 Measurement Truth Foundation
완료 증거는 대시보드에 보존한다.
I-1. G1 Alliance Core
완료 증거는 대시보드에 보존한다.
I-2. G2 Longitudinal Outcome Trajectory
완료 증거는 대시보드에 보존한다.
I-3. G3 Rupture & Repair Lab
완료 증거는 대시보드에 보존한다.
I-4. G4 Deliberate Practice Engine
완료 증거는 대시보드에 보존한다.
I-5. G5 Calibration Mirror & Transfer
완료 증거는 대시보드에 보존한다.
I-6. G6 Supervision & Research OS
완료 증거는 대시보드에 보존한다.
I-7. G7 Multimodal Alliance
내부 완료 증거를 보존한다. 외부 종료는 G7-EXTERNAL에서 추적한다.
I-8. G8 Autonomous Content & Continuous Improvement
내부 완료 증거를 보존한다. 실DB/public 사람 게이트는 G8-EXTERNAL에서 추적한다.
AOS-001 provenance inventory · AOS-002 measurement schema · AOS-003 benchmark case schema · AOS-004 legacy adapter · AOS-005 structured schema · AOS-006 session measurement API · AOS-007 self-assessment lock · AOS-008 Alliance Pulse UI · AOS-009 measurement drilldown · AOS-010 drift/calibration job · AOS-011 deploy proof manifest · AOS-012 SSOT/TODO 동기화.
문서 검증
python -X utf8 scripts/check-dev-dashboard-ssot.py --json
git diff --check