관리자 워크스페이스 접근 확장과 소유자 결정 7건 확정 반영
- 관리자(role=admin)가 학습자·교수자·관리자 워크스페이스를 모두 접근하도록 can_access_role/require_role와 프론트 auth 헬퍼·Sidebar 내비를 정리하고 admin 워크스페이스 내비 E2E를 추가. - 소유자 결정 7건 전건 확정(2026-06-30)을 SSOT 대시보드·백로그에 반영하고 결정 필요 7→0으로 동기화. SSOT drift 게이트 기대 카운트도 갱신. - 확정된 H1 평가설계(κ≥0.70·ICC≥0.75·환각률≤0.03·t-검정 α=0.05·무작위 배정)를 approved-export κ 게이트(checker·dataset_export·recursive export)와 KPI 측정계획·export manifest 문서에 반영. 검증: npm run typecheck, npm run check:api-types, 백엔드 pytest 290 passed, admin 내비 E2E 1 passed, 레이아웃 시각게이트 9/9, session-layout 4 passed, SSOT drift 게이트 PASS.
This commit is contained in:
parent
1274ba9ccc
commit
4e6b0045e3
17 changed files with 110 additions and 53 deletions
|
|
@ -57,14 +57,14 @@
|
|||
|
||||
> 결정되면 대시보드 `결정 필요` 탭과 관련 Phase 항목을 갱신한다.
|
||||
|
||||
- [ ] **운영 티켓·가용성 정책 결정** — 1차 DB 큐, 사용자별 조회 UI, synthetic sampler, retention/rollup 실행 경로는 연결됐지만 raw/rollup 보존 기간의 운영 기본값, 담당 그룹 자동 배정, 우선순위 escalation은 아직 운영 정책 결정이 필요하다. `/admin/uptime`과 sampler 값은 계속 SLA가 아니라 관측 샘플 이력이다.
|
||||
- [ ] **평가설계 (H1: 실험/통제군·3척도·κ/ICC)** — doc4가 20명 실험/통제군·단회기 50분·3척도 pre-post를 명시하지만 κ/ICC·환각률 목표, 통계검정 종류, alpha, 결측 처리, 공식 효과성 판정 기준은 미확정이다. 영향: 평가 타당도·Phase 3 측정력·파일럿 evidence 해석.
|
||||
- [ ] **s2s 2차 PoC 채택 여부** — 캐스케이드만 / s2s 2차 PoC 유지. 영향: 음성 아키텍처·전송 비용·로그 보존. 기준표 `docs/decisions/voice-s2s-poc.md`.
|
||||
- [ ] **서비스용 페르소나 음성 모델·권리 정책** — (2026-06-27) P1 서연 음성 아트 PoC는 Higgs v3 무참조 synthetic seed 방식으로 생성(`docs/voice-art/p1-seoyeon-higgs-v3-20260627/`). 실존 인물/성우 reference 사용 금지 확정. `VIGNETTE_VOICE_POC_SAMPLE_TTS=true` 개발 플래그로 `/voice/ws` P1 sample TTS provider에 연결했지만, 서비스 배포 전 선택 필요: Higgs 상업 라이선스 확보 / 동의 받은 reference voice만 사용 / 배포 가능한 대체 TTS provider 채택.
|
||||
- [ ] **fast-loop 외부 API 허용** — 로컬 전용 / 외부 Haiku·Solar 폴백 허용. 영향: 데이터주권·레이턴시·장애 대응.
|
||||
- [ ] **재귀학습 fine-tuning 범위** — few-shot 자동갱신만 / fine-tuning 포함. 영향: 동의서·데이터셋 품질·운영 리스크.
|
||||
- [x] **운영 티켓·가용성 정책 결정** — 결정됨(2026-06-30): 헬스 raw 90일·rollup 365일 보존, 우선순위 escalation은 운영자 수동 승인, SLA 미표기(관측 샘플 이력 유지), 담당 그룹 자동 배정 미도입. 후속: retention 기본값(raw 90/rollup 365) 적용·검증. escalation/그룹 자동화는 미도입으로 고정.
|
||||
- [x] **평가설계 (H1: 실험/통제군·3척도·κ/ICC)** — 결정됨(2026-06-30): 평가자 신뢰도 κ≥0.70 & ICC≥0.75, 환각률 ≤3%, 독립표본 t-검정(α=0.05), 20명 실험/통제군 무작위 배정, 단회기 50분·3척도 pre-post 유지. 후속: KPI 측정계획·report threshold에 κ/ICC/환각률 반영. 실제 20명 파일럿 evidence·통계해석·공식 효과성 판정은 별도 GATE.
|
||||
- [x] **s2s 2차 PoC 채택 여부** — 결정됨(2026-06-30): s2s 2차 PoC 유지. 캐스케이드 1차를 운영 기준으로 두고 `docs/decisions/voice-s2s-poc.md` 비교 PoC를 계속 연다. 최종 채택/폐기는 비교 리포트 이후. 후속: s2s 비교 PoC 구현·레이턴시/안전/감사 실측.
|
||||
- [x] **서비스용 페르소나 음성 모델·권리 정책** — 결정됨(2026-06-30): 상업 라이선스가 명확한 대체 TTS provider 채택. Higgs v3 무참조 synthetic 샘플과 `VIGNETTE_VOICE_POC_SAMPLE_TTS=true` dev sample provider는 개발 플래그로만 유지하고, 실존 인물/성우 reference 사용 금지를 유지한다. 후속: 대체 TTS provider 선정·통합, dev/서비스 경로 분리 유지.
|
||||
- [x] **fast-loop 외부 API 허용** — 결정됨(2026-06-30): 외부 폴백 허용. 로컬 상주 분류기 기본 + 외부 Haiku·Solar 폴백, 외부 전송 시 데이터주권·로그 보존·동의 가드 적용. 후속: 폴백 경로·전송 가드·관측 구현, 로컬 우선/외부 폴백 라우팅 정책 명시.
|
||||
- [x] **재귀학습 fine-tuning 범위** — 결정됨(2026-06-30): fine-tuning 포함. few-shot 자동갱신에 더해 fine-tuning까지 범위에 두되, 데이터셋은 동의 범위·추가 축어록 수급 결정이 닫힌 뒤 구성한다. few-shot 자동갱신은 선행 가능.
|
||||
- [x] **자유연습 기본값** — 결정됨: 기본 ON(+피드백 권장 배지+교수자 토글). 미동의·미성년 개인정보 gate만 차단한다. 근거: `docs/redteam/MASTERPLAN_REVISIONS.md` F-10 승인.
|
||||
- [ ] **추가 축어록 수급 규모·일정** — 목표 N건/일정 확정. 영향: 평가 타당도·페르소나 다양성·Phase 3 측정력.
|
||||
- [x] **추가 축어록 수급 규모·일정** — 결정됨(2026-06-30): 20건을 1개월 내 수급. 후속: 실제 수급·동의·정제는 임상/한신대 거버넌스 게이트와 연계.
|
||||
- [x] **백엔드 언어 방향** — (2026-06-28 결정, 2026-06-29 보강) Node.js를 장기 교체 대상과 신규 분리 서비스 우선 스택으로 삼되, 현재 FastAPI 전면 재작성은 납품 일정 리스크라 보류한다. 전환은 계약 우선 strangler 방식으로 진행한다. 고정된 내부 경계는 `app/contracts/engine_gateway.py`의 gateway request/response/SSE 계약과 `gateway-default` sentinel, `structured_payload_from_response()`, `scripts/check-engine-gateway-contract.mjs` schema-driven Node conformance runner, `GatewayPromptParts`, `app/session_read_model.py`, `app/persona_read_model.py`, `app/persona_generation_contract.py`, `SessionEvaluationWrite.from_result()/from_error()`다. FastAPI route는 auth/RLS DB read/persistence, teacher/admin gate, RAG/LLM side effect, session lifecycle, provenance/error mapping을 계속 소유한다. 2026-06-29 후속으로 Python gateway의 `provider/model` 응답 메타 규칙을 helper로 모으고, Node runner가 `gateway-default` request sentinel과 resolved response model 분리를 검증하며, current-turn prompt split과 missing-user 400 경계를 테스트로 고정했다. 결정 기록: `docs/decisions/backend-node-transition.md`. **검증: `node scripts/check-engine-gateway-contract.mjs --json`, gateway contract 27 passed, persona contract+review 39 passed, backend focused 120 passed, `npm run check:api-types`, `npm run typecheck`.**
|
||||
- [x] **Node 전환 경계 보강 — 페르소나 생성 계약 + 평가 저장 packet** — (2026-06-29 처리) `app/persona_generation_contract.py`가 페르소나 draft structured schema, prompt bundle id/version/hash, `GenerateResponse` payload extraction, generated draft coercion/default fallback을 소유한다. `SessionEvaluationWrite.from_result()/from_error()`는 `app.session_evaluation` 저장 packet(`status/source/scope/stage/payload/error`) 생성을 소유한다. Node conformance runner는 stream event 목록과 payload 검증을 `engine_gateway_schema.v1.json`의 `StreamPacket.oneOf`, payload `$ref`, `x-engine-gateway-sse-events`에서 읽는다. `routes/personas.py`는 auth, source 등록·조회, RAG evidence, engine 호출, provenance 조립, HTTP error mapping을 유지하고, `routes/sessions.py`/`routes/eval.py`는 factory로 named packet을 만들어 저장한다. **검증: `py -3.11 -X utf8 -B -m py_compile app\persona_generation_contract.py app\routes\personas.py app\persona_read_model.py app\test_persona_generation_contract.py app\test_persona_review.py engine_gateway\test_gateway_model.py app\session_persistence.py app\routes\sessions.py app\routes\eval.py app\services\evaluator.py app\services\live_coach.py`, `py -3.11 -X utf8 -B -m pytest -p no:cacheprovider app\test_persona_generation_contract.py app\test_persona_review.py -q` 39 passed, backend focused 120 passed, `node scripts\check-engine-gateway-contract.mjs --json`, `npm run check:api-types`, `npm run typecheck`.**
|
||||
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue