Commit graph

254 commits

Author SHA1 Message Date
Yun Chan
6e3123091a 리노컷 캐스트 확장 결정문과 기준 상태판 동기화 2026-10-01 22:39:08 +09:00
Yun Chan
ded312acdc P2~P7 리노컷 캐스트 원화·리그와 세션 활성화
- 추천 원화(P2 b·P3 v2b·P4 v2b·P5 v2a·P6 v2b·P7 v2b)로 얼굴 없는 기본형·몸 원본 codex 편집, 정렬·정규화 후 공통 파이프라인 실행
- 게시 자산 apps/web/public/avatar/v3/p2~p7, 리그 rigs/p2Rig~p7Rig
- 세션 레지스트리 P1~P7 전원 활성, Lab은 생성된 리그 자동 수집
- P3·P6 기본 눈 감김을 줄여 중립 렌더를 원화 눈매에 맞춤
- 표정 E2E를 v3 렌더러 기대로 갱신(검사 의도 유지)
2026-10-01 22:38:45 +09:00
Yun Chan
98577cf4ae 리노컷 공통 파이프라인 캐스트 확장 — 정렬·정규화·얼굴 해칭·원화 눈썹·눈 실측
- register_edit(편집본 ECC 정렬·챔퍼 지표), normalize_base(P1 머리 크기 정규화, 위쪽 종이색 채움)
- faceDetail region=face(얼굴 해칭을 원화 픽셀로 보존)·matchFacelessColor
- brow_sprite 단계: 원화 눈썹 잉크 스프라이트(hairFront 아래 제외), 윗눈꺼풀 두께·홍채 실측
- 리그 계약 RigBrow.halfWidth/sprite·RigEye.lineScale, 렌더러 눈썹 16띠·바깥쪽 눈꺼풀 굵기
- 실행기 UTF-8 하위 실행, brow_centerline 패딩본 자체 생성, QA 시트 촬영 도구(깜빡임 회피·고해상도 대조)
- P1은 새 필드를 모두 끄고 게시 자산·리그 바이트 동일
2026-10-01 22:38:27 +09:00
Yun Chan
9a22d1647b 아바타 v3 공개 웹 반영 기록 2026-10-01 17:04:42 +09:00
Yun Chan
97c6d5d8ab 아바타 v3 세션 연결 수용 기록과 기준 상태판 동기화 2026-10-01 16:16:12 +09:00
Yun Chan
613bcb603e 아바타 v3 세션 연결 — P1 서연 리노컷 아바타와 음성 립싱크
Some checks are pending
API contract / OpenAPI type drift (push) Waiting to run
- ClientAvatar가 리그 레지스트리(v3/rigs)로 P1을 판정해 그림 영역을 ClientAvatarV3로 그린다(로드 중·실패 시 기존 SVG, VITE_AVATAR_V3=0이면 끔)
- 발화 구동 공용 모듈 speechDriver: Lab과 세션이 함께 쓰고, TTS AudioBuffer를 오디오 시계로 표본해 립싱크·발화 동반층·지문 cue를 돌린다
- Session: TTS 재생 시작 시 발화(원문·버퍼·시작 시각) 전달, 음성 실패 시 텍스트 타이밍 발화, 정지 경로에서 해제, 개방도·겉표정 강도 전달
- 정지 화면(시작 전·썸네일)도 한 프레임을 그리고, 박스 실측 폭으로 상반신/얼굴 크롭을 고른다
- 세션 발화 E2E(오디오·실패 경로), P1 레이아웃 게이트, P1 표정 시험을 v3 기대로 갱신
2026-10-01 16:12:24 +09:00
Yun Chan
ecb36d123f 리노컷 자산 파이프라인 공통화와 캐스트 외형 설계
- P1 전용 스크립트를 docs/avatar-art/linocut-pipeline 으로 옮겨 persona.json 설정으로 일반화(P1 재실행 리그 바이트 동일)
- 7명 외형·상징 설계(linocut-cast.md)와 P2~P7 정면 원화 생성 프롬프트, 얼굴 없는 화풍 참조
- P1 원화 생성 프롬프트 보존
2026-10-01 16:11:28 +09:00
Yun Chan
f11e76ff18 아바타 v3 결정문과 SSOT 동기화
- 결정문: 채널·표정·클립·지문 계약, 발화층 립싱크(§5.4)·발화 동반층(§5.5), 리노컷 혼합 리그·렌더러 명세(§8), 단계별 판정 기록(§11)
- 대시보드·TODO의 AVATAR-V3 상태와 Playwright 수집 수(1315 tests / 73 files)를 맞췄다
2026-10-01 09:58:32 +09:00
Yun Chan
00169533d8 P1 서연 리노컷 아트 원본과 자산 파이프라인
- 아트 디렉션 v3 스타일 프레임·프롬프트(소유자 선택: 리노컷)
- P1 정면 원화·얼굴 없는 기본형, 분할 레이어, 원화 픽셀 입술·턱 조각, 모티프 스프라이트, 소유자 기준 이미지
- 파이프라인 스크립트(분할·얼굴 음영·눈썹 중심선·입술 결·턱 조각·게시)와 manifest 검사 수치
- MediaPipe 모델과 재생성 가능한 진단 PNG는 무시하고 README에 받는 곳을 적었다
2026-10-01 09:58:15 +09:00
Yun Chan
85bd079d18 아바타 v3 표현 엔진·리노컷 렌더러·립싱크와 Lab
- 표현 엔진: 채널 34개(mouthRound 추가), 표정 28종·강도 곡선·반응 클립 26종·지문 cue, 미세표정 누설
- 발화층: 한글 자모 비짐 9종, TTS 오디오 선분석 정렬, 60ms 앞당김·모음 간 비닫힘
- 발화 동반층: 억양·강세에 맞춘 고개 표류·끄덕임·질문 갸웃·들숨·눈썹 박·시선 회피·쉼 깜빡임
- P1 서연 리노컷 렌더러: 원화 픽셀 입술 띠 변형, 하관 띠 변형(턱·코 들썩), 볼 불룩, 작은 크기 선 보정, 모티프·배경 색면
- /dev/avatar-lab, check:avatar-presets·check:avatar-lipsync, avatar-lab E2E 19개
2026-10-01 09:58:00 +09:00
Yun Chan
b7bd24f016 Jev v2 결정문과 SSOT 동기화
Some checks failed
API contract / OpenAPI type drift (push) Has been cancelled
v2 프로토콜 정본·워커 판정 기록, JEV-002 대시보드·TODO·백로그, 테스트 수집 인벤토리와 아키텍처 가이드를 갱신한다.
2026-09-30 13:23:18 +09:00
Yun Chan
293ff7f0ab dev-up의 DB 컨테이너 부재 시 docker 탐지 종료 오류 수정
PowerShell 5.1 Stop 정책에서 docker inspect 2>$null의 stderr가 종료 오류가 되어 새 DB 생성 전에 중단되던 문제를 탐지 전용 헬퍼로 막는다.
2026-09-30 13:23:18 +09:00
Yun Chan
29c406d89f Jev 내담자 평가·표현 v2와 속마음 공개
상담자 발화 판정(A)·감정(B)·표현(C) 20문항 질문 세트, 감쇠 없는 이번 턴 반응과 비대칭 기분 전이, 개방도 게이트로 생성 지시를 만들고 ccd.coping_strategy 전달 누락을 고친다.

trace v2와 고정 문구 속마음 요약(migration 24, AI 경로 차단 RLS)을 같은 트랜잭션에 저장하고 피드백 정책이 켜진 경우에만 done·TurnResponse·음성 reply·리뷰로 노출한다. 회기 화면 속마음 보기 토글, 리뷰 접힘 블록, 관리자 감정 관측 v2 표시를 추가한다.
2026-09-30 13:23:09 +09:00
Yun Chan
36cb847e38 가상 내담자 출력 가드레일의 수단어 부분문자열 오탐 수정
"독"·"방법은"이 "고독"·"독립"·"다른 방법은" 같은 정서 표현을 차단해 재시도 없는 스트림 턴이 실패하던 문제를 구체 조합 13개로 좁혀 해결한다.
2026-09-30 13:22:55 +09:00
Yun Chan
bda7ebb908 Agy OAuth 클라이언트 시크릿 전사 오타 수정
Some checks failed
API contract / OpenAPI type drift (push) Failing after 41s
2026-09-23 19:58:34 +09:00
Yun Chan
fefca4743e 누락된 OAuth 콜백 코드 파싱과 계정 metadata 헬퍼 구현
Some checks failed
API contract / OpenAPI type drift (push) Failing after 48s
2026-09-23 18:42:19 +09:00
Yun Chan
7dce818788 NAS API 전용 배포 스크립트 추가 2026-09-23 17:54:27 +09:00
Yun Chan
72b386cbd4 NAS API 전용 배포 스크립트 추가 2026-09-23 17:53:43 +09:00
Yun Chan
83a6c8820c 관리자 AI 제공자 Google OAuth 스코프 형식 수정
Some checks failed
API contract / OpenAPI type drift (push) Failing after 50s
2026-09-23 16:56:47 +09:00
Yun Chan
2e4a6139f0 감정 관측 운영 검증과 문서 동기화 2026-09-23 05:03:35 +09:00
Yun Chan
29d5b6c50b 관리자 감정 추이와 관계 그래프 추가
Some checks failed
API contract / OpenAPI type drift (push) Failing after 43s
2026-09-23 04:53:42 +09:00
Yun Chan
6ab40ff3f4 감정 관측 변경의 안전 회귀 증거 갱신
Some checks failed
API contract / OpenAPI type drift (push) Failing after 52s
2026-09-23 04:47:07 +09:00
Yun Chan
acb0d26338 관리자 감정 관측 기록과 조회 API 추가 2026-09-23 04:45:50 +09:00
Yun Chan
d22cd9883d Jev 운영 호출 재검증 기록 2026-09-23 03:35:30 +09:00
Yun Chan
1f8f8ce0a8 관리자 연결 복구 배포 검증 기록 2026-09-22 23:16:56 +09:00
Yun Chan
fb640a75ac 관리자 설정 로딩과 부트 진단 복구 2026-09-22 23:06:54 +09:00
Yun Chan
d58eb67764 제공자 키 저장 쿼리 충돌 수정
Some checks failed
API contract / OpenAPI type drift (push) Failing after 54s
2026-09-22 22:53:18 +09:00
Yun Chan
84e33024a7 운영 인증 회기 검증과 응답 지연 기록 2026-09-22 21:59:08 +09:00
Yun Chan
20dc30c8aa Jev 운영 배포 검증과 남은 확인 항목 기록 2026-09-22 21:49:10 +09:00
Yun Chan
969d9e2c3c Jev 배포 후보 위기 대응 검증 증거 갱신
Some checks failed
API contract / OpenAPI type drift (push) Failing after 50s
2026-09-22 21:33:27 +09:00
Yun Chan
8344bc2ad2 Jev 기반 내담자 감정 상태와 응답 일관성 개선 2026-09-22 21:32:26 +09:00
Yun Chan
77f8421818 UX 웹 배포 결과와 운영 검증 경계 기록 2026-09-12 18:08:39 +09:00
Yun Chan
e8b770e4d9 모바일 메뉴와 주요 화면 UX 개선 및 시각 검수 2026-09-12 17:57:59 +09:00
Yun Chan
89b5093ec7 NAS r5 배포 스크립트 추가 2026-09-12 06:46:56 +09:00
Yun Chan
d80c710f3a 민감 응답 no-store 강화 + 배포 E2E stale 기대값 갱신
Some checks failed
API contract / OpenAPI type drift (push) Failing after 1m4s
/personas·/admin 응답에 Cache-Control: no-store를 강제한다. E2E에서
미인증 /personas 요청이 일시적으로 인증 응답 본문을 받은 재현 이력이
있어 중간 캐시 재사용을 원천 차단한다.

public-admin-visual 카탈로그 테스트는 운영 데이터에 따라 바뀌는 원장
모델명(claude-opus-4-8 → gpt-5.6-terra)과 엔진 옵션 수(6→9), 모델 수
문구를 고정값으로 기대했어 데이터 종속 실패였다. 계량 행·개수 정규식으로
갱신한다.
2026-09-12 06:23:47 +09:00
Yun Chan
45b84faa0d codex·agy OAuth 계정 연결 지원 (ChatGPT/Antigravity 네이티브 어댑터)
Some checks failed
API contract / OpenAPI type drift (push) Failing after 1m0s
omniroute와 동일하게 공개 클라이언트 자격증명으로 서버사이드 OAuth 교환을
제공한다. 관리자가 제공자 로그인 후 브라우저에 남는 code를 붙여넣으면
토큰·refresh token·메타데이터(account-id, Code Assist project)를 저장하고
게이트웨이에 push한다.

- codex_api 어댑터: chatgpt.com/backend-api/codex/responses (Responses SSE,
  401 시 refresh token으로 자가 갱신)
- antigravity_api 어댑터: cloudcode-pa v1internal:streamGenerateContent
  (Gemini 형식 SSE, loadCodeAssist로 프로젝트 발급, 401 자가 갱신)
- 자격증명 저장소에 refresh_token_encrypted·extra 컬럼 추가(부트스트랩
  SQL 포함), 게이트웨이 push가 구조화 자격증명을 전달
2026-09-11 19:01:35 +09:00
Yun Chan
1a925b33e0 docs: 배포 기록 갱신 (r2·r3 순차 교체 및 OAuth 버튼 반영) 2026-09-11 17:55:13 +09:00
Yun Chan
b2fbdba6e1 임시 DDL 전송 파일 제거 2026-09-11 17:34:01 +09:00
Yun Chan
cb4d45579d OAuth 로그인 버튼으로 provider 연결 + 제공자 연결 패널 그리드 이동
Some checks failed
API contract / OpenAPI type drift (push) Failing after 59s
claude(setup-token과 동일한 PKCE, code#state 수동 흐름)와
openrouter(헤드리스 코드 표시 모드)는 OAuth 로그인 버튼으로 연결한다.
관리자가 제공자 로그인 뒤 표시되는 인증 코드를 붙여넣으면 서버가
토큰/키로 교환해 저장·게이트웨이 push한다. state는 서버 발급·15분
단일 사용으로 CSRF를 막는다. codex·agy는 붙여넣기 방식을 유지한다.

제공자 연결 패널은 우측 사이드에서 메인 컬럼의 Provider·모델별 사용
원장 아래로 옮기고 반응형 그리드(너비에 따라 1~n열)로 배치한다.
2026-09-11 17:33:51 +09:00
Yun Chan
e3a9fc717c provider 자격증명 테이블 생성을 존재 검사 선행으로 전환
Some checks failed
API contract / OpenAPI type drift (push) Failing after 1m6s
앱 DB 계정에는 스키마 CREATE 권한이 없어 런타임 CREATE TABLE IF NOT
EXISTS가 테이블이 이미 있어도 권한 거부로 실패한다(운영 실측). to_regclass
존재 검사를 먼저 하고, 부트스트랩 SQL(05_runtime_auth.sql)에 DDL을 추가해
신규 볼륨에서도 소유자가 테이블을 만들도록 한다.
2026-09-11 16:56:02 +09:00
Yun Chan
e82fbb58e9 docs: 3차 정식 배포 기록 추가 (4b45d331, engine 선행 교체 적용) 2026-09-11 15:22:28 +09:00
Yun Chan
4b45d33142 관리자 AI 제공자 연결 기능 추가 (claude·codex·agy·openrouter 토큰 붙여넣기 연결)
Some checks failed
API contract / OpenAPI type drift (push) Failing after 12m57s
관리자 /admin/ai 화면에서 provider 토큰(OAuth 액세스 토큰 또는 API 키)을
발급받아 붙여넣으면 DB에 암호화 저장되고, shared-secret으로 보호되는
게이트웨이 내부 엔드포인트로 push되어 실행 중인 엔진 컨테이너에 즉시
적용된다. NAS처럼 게이트웨이가 컨테이너로 도는 환경에서 CLI·로컬 PC
의존 없이 claude_api·openai·openrouter를 연결할 수 있다.

- 게이트웨이: openrouter 어댑터 신설(chat/completions), OAuth 토큰이면
  Anthropic Bearer 헤더, /internal/provider-credentials GET/POST와
  boot_id 기반 재동기화
- API: app.admin_provider_credential 테이블(idempotent DDL), stdlib
  HMAC-CTR+MAC 암호화 서비스(PROVIDER_CREDENTIAL_SECRET, 폴백
  SESSION_SECRET), /admin/providers CRUD·검증 라우트
- 웹: 제공자 연결 패널(저장·검증·해제, 토큰 힌트만 표시), 엔진 선택에
  OpenRouter 추가, api.gen.ts 재생성
- compose: api 서비스에 PROVIDER_CREDENTIAL_SECRET 전달(로컬·NAS)
2026-09-11 14:06:15 +09:00
Yun Chan
6831a79ffb 운영 배포 결과와 기동 확인 절차 보완 2026-09-09 15:00:00 +09:00
Yun Chan
1306c524c1 회기 집계와 기록 복귀 및 감독 근거 링크 수정
Some checks failed
API contract / OpenAPI type drift (push) Failing after 4m46s
2026-09-09 14:41:54 +09:00
Yun Chan
aa951c6c4a docs: 2026-09-08 실배포 및 TDD 불변식 검증 결과 문서 현행화 2026-09-09 05:42:05 +09:00
Yun Chan
d9bb5b3697 배포 파이프라인 현행화 (2026-09-08 실배포 a0311c59 완료) 2026-09-08 23:50:22 +09:00
Yun Chan
a0311c5957 회기 무발화 0턴 분리, 자기예측 락 불변식 및 TDD 회귀 검증 완료
Some checks failed
API contract / OpenAPI type drift (push) Failing after 3m27s
2026-09-08 23:28:06 +09:00
Yun Chan
a479db7a5a 실계정 headful 폐루프와 백업 자동화 증거를 확정 2026-09-01 12:44:16 +09:00
Yun Chan
b98eecbb36 일일 검증형 DB 백업 사이드카를 정식 스택에 추가 2026-09-01 12:34:14 +09:00
Yun Chan
c75fda2385 TODO에 정식 배포 완료 요약을 연결 2026-09-01 12:27:01 +09:00