Yun Chan
b7bd24f016
Jev v2 결정문과 SSOT 동기화
...
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 클라이언트 시크릿 전사 오타 수정
API contract / OpenAPI type drift (push) Failing after 41s
2026-09-23 19:58:34 +09:00
Yun Chan
fefca4743e
누락된 OAuth 콜백 코드 파싱과 계정 metadata 헬퍼 구현
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 스코프 형식 수정
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
관리자 감정 추이와 관계 그래프 추가
API contract / OpenAPI type drift (push) Failing after 43s
2026-09-23 04:53:42 +09:00
Yun Chan
6ab40ff3f4
감정 관측 변경의 안전 회귀 증거 갱신
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
제공자 키 저장 쿼리 충돌 수정
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 배포 후보 위기 대응 검증 증거 갱신
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 기대값 갱신
...
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 네이티브 어댑터)
...
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 연결 + 제공자 연결 패널 그리드 이동
...
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 자격증명 테이블 생성을 존재 검사 선행으로 전환
...
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 토큰 붙여넣기 연결)
...
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
회기 집계와 기록 복귀 및 감독 근거 링크 수정
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 회귀 검증 완료
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
Yun Chan
34ac1c282a
NAS 정식 배포 완료 상태를 SSOT에 반영
2026-09-01 12:25:59 +09:00
Yun Chan
dce8562089
게이트웨이 openai provider 경로를 정식 소스로 복원
API contract / OpenAPI type drift (push) Failing after 12m44s
2026-09-01 12:13:50 +09:00
Yun Chan
5a74302e19
마이그레이션 22의 name 배열 비교 캐스트를 교정
2026-09-01 12:08:04 +09:00
Yun Chan
8931e64b49
NAS compose를 운영 실물 정의로 동기화
2026-09-01 11:49:00 +09:00
Yun Chan
ed3252ede0
상태판·가이드와 검증 증거를 동기화
API contract / OpenAPI type drift (push) Failing after 1m17s
2026-09-01 11:45:27 +09:00
Yun Chan
d6d9dc5f61
NAS 정식 스택과 배포 파이프라인 도구를 고정
2026-09-01 11:45:23 +09:00
Yun Chan
f1b80676c1
케이스 이어하기 UI와 공통 탭·이미지 복구를 반영
2026-09-01 11:45:23 +09:00
Yun Chan
72353ecd82
회기 연속성과 멀티 케이스 계약을 영속화
2026-09-01 11:45:16 +09:00
Yun Chan
be08c0b573
정식 승격 상태판과 증거를 동기화
2026-08-30 00:06:45 +09:00
Yun Chan
34aff65cb0
관리자 증거와 계정 흐름을 정돈
2026-08-30 00:01:17 +09:00