vignette/docs/TODO.md

14 KiB

Vignette 할 일

상태·결정·검증 증거의 SSOT는 dev_dashboard.html이다. 이 문서는 실행할 다음 행동의 인덱스다. 2026-09-07 이전 완료 로그와 세부 이력은 정리 전 TODO 원문에 보존했다. 2026-09-01 배포 당시의 근거는 NAS 배포 증거이며, 현재 live 상태를 주장하지 않는다.

우선 접수 제품 이슈

최신 원본: 개선관리 워크북 개발·기능 이슈임상·교육 이슈를 2026-09-09에 읽기 전용으로 재점검했다. 다운로드 원본 SHA-256은 f64bbc859354e8bfdd62bb3393cffd841ca3a0d865983967a149aea7cf569773이며, 14개 항목은 완료 13·검토 1(C-001)이다. REQ-008~011도 원본에서는 완료다. 14개 항목 매핑은 원본 상태와 로컬 재검증을 구분한다. 원본을 수정하지 않는다.

ID 로컬 상태 우선 행동 및 조치 결과 원본 상태 완료 조건 및 검증 증거
REQ-009 원본 완료 · 기존 구현 재검증 수용 스트림 오류의 입력 복원·부분 턴 미저장·재시도/닫기·음성 상태 복원 구현을 route fixture 기반 browser 재검증으로 수용했다. 완료 uc-session-conversationcalibration-transfer browser 44 passed/0 failed/0 skipped. fixture 기반 local proof이며 이번 재검증은 build·새 public live 검증·새 배포를 수행하지 않았다.
REQ-010 원본 완료 · 추가 수정 로컬 검증 수용 · 추가 수정 미배포 0턴/client-only 회기가 첫 완료·반복·경험 배지 집계에 섞이는 결함을 찾아 기존 완료 집계와 같은 counselor/learner 발화 조건으로 정렬했다. 완료 계약 RED 4건 뒤 GREEN 4건, 지정 API 20건, API 전체 1108 passed/1 skipped/1 warning, browser 44 passed/0 failed/0 skipped. 이번 추가 수정은 build·새 public live 검증·배포를 수행하지 않았다.
REQ-011 원본 완료 · 기존 구현 재검증 수용 OAS G5 자기예측 저장·잠금의 기존 해결 증거를 route fixture 기반 browser 재검증으로 수용했다. 완료 uc-session-conversationcalibration-transfer browser 44 passed/0 failed/0 skipped. fixture 기반 local proof이며 이번 재검증은 build·새 public live 검증·새 배포를 수행하지 않았다.
SRC-001 역사 replica 수식 보정 완료 · 과거 수식 오류 미재현 과거 replica의 #REF! 및 15행 집계 범위 보정은 보존한다. 최신 원본 재점검에서는 이를 현재 원본 결함으로 주장하지 않는다. 해당 없음 과거 수정본은 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 결과와 분리한다.
CUA-128 실제 배포 Computer Use 128 시나리오를 역할·승인 경계 안에서 재개한다. 카탈로그 생성은 완료했으나 실배포 전체 검증은 미완료다. SHA 1306c524에서 H09와 일반 학습자 로그인·교차 역할 차단·P4 추천·R09 잠금·R14 워크시트 보존을 재확인했지만, T18은 learner 브라우저만 있어 기존 RED를 종결하지 않았다. 순수 teacher·OFF 계정, 교수자 쓰기, 모바일과 독립 관찰자 공개 검증이 남아 있다. 실행 보고를 따른다.

임상 콘텐츠 후속

ID 다음 행동 완료 조건
CONTENT-001 태깅 축어록 4종 활용 gate 임상팀 확정본과 source별 활용 범위
CONTENT-002 C1 사례개념화 루브릭 확정 콘텐츠와 AI 추출/채점 calibration
CONTENT-003 CBT 체인·이론부합 루브릭 임상팀 확정본과 검증 기준
CONTENT-004 평가 골든셋 승인된 콘텐츠와 calibration evidence
C-001 위기개입 프로토콜 임상 승인 C-001 외부 검수와 같은 서면 승인 gate

완료 요약

범위 상태 근거
원본 14개 항목 원본 완료 13 · 검토 1 2026-09-09 최신 원본에서 REQ-001~011과 C-002·C-003은 완료, C-001은 검토다. 과거 완료 9·검토 2는 당시 11개 항목 수집본의 역사 기록이다.
NAS A 경로 2026-09-01 당시 완료 NAS vignette-prod 배포, migration 20/21/22, OAuth 실계정 새 사례→턴→리뷰 E2E, 첫 일일 backup sidecar 실행.
NAS 2차 실배포 & Cloudflare Pages 2026-09-08 당시 배포 기록 Forgejo/GitHub master a0311c59/d9bb5b36의 당시 NAS API·Web 컨테이너 교체, 사전 DB 덤프(12MB), Cloudflare Pages 174개 에셋과 당시 health/auth/web 폐루프·TDD 1104 passed 기록을 보존한다. 이는 2026-09-09의 새 live 검증이나 현재 작업트리 배포 상태 주장이 아니다. 배포 파이프라인 참조.
NAS 3차 실배포 2026-09-09 운영 배포 기록 Forgejo 1306c524의 NAS API·engine·web과 Pages preview를 배포했다. 동시 API·engine 기동의 공백 관찰 뒤 같은 버전에서 healthy, public health db/engine true, auth 401, web 200, P4 6턴과 DB 전체 집계 동일을 확인했다. 무중단 증거가 아니며 GitHub 미러 push는 실행하지 않았다.
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