iykyka/docs
Claude 9041dc9b64
에스컬레이션 하드게이트 우회 구멍 차단 + 서버 측 삭제 플로우 추가
발견한 문제: POST /conversations/:id/messages가 sender_mode=twin을
검증 없이 그대로 저장·브로드캐스트하고 있었음 -- 에스컬레이션 게이트는
초안 생성(/draft) 경로에만 있었고 실제 발송 경로엔 없어서, 클라이언트가
/draft를 거치지 않고 바로 twin 메시지를 보내면 안전선을 완전히
우회할 수 있었다.

- ai-service: /draft와 별개인 POST /escalate/check 하드게이트 엔드포인트 추가
- core-backend: AIServiceClient.checkEscalation 추가, 메시지 저장 직전에
  twin 발송이면 무조건 호출하도록 해서 발송이 실제로 일어나는 단
  하나의 지점에서 막음. AI 서비스 응답 불가 시 fail-safe로 발송 차단.
  에스컬레이션되면 저장/브로드캐스트 없이 escalation_logs에만 기록.
  사람이 직접 보내는 메시지는 게이트 대상 아님
- core-backend: DELETE /users/:id 추가 -- 유저가 걸린 모든 행(트윈 설정·
  화이트리스트·연락처·대화참여·메시지·에스컬레이션로그·유저 본인)을
  트랜잭션으로 삭제 (tech-design.md §5 "사용자가 언제든 초기화 가능")
- 온디바이스 암호화·데이터 흐름 대시보드는 Flutter 클라이언트 책임이라
  이 환경에서는 보류, roadmap.md에 근거 남김
2026-07-30 02:26:02 +00:00
..
PLANNING.md Break Phase 1 (actual app build) into a concrete workstream plan 2026-07-30 00:48:19 +00:00
PRD.md Flesh out full planning doc set: vision, PRD, tech design, risks, roadmap 2026-07-29 07:01:38 +00:00
decision-log.md Flesh out full planning doc set: vision, PRD, tech design, risks, roadmap 2026-07-29 07:01:38 +00:00
idea-meeting-2026-06-29.html Add project planning approach for AI-twin messenger idea 2026-07-29 07:01:38 +00:00
meeting-review-summary.md Add one-page meeting review summary and wire up README 2026-07-29 07:39:06 +00:00
poc-materials.md Add ready-to-use PoC recruiting/consent/script materials 2026-07-29 07:36:43 +00:00
poc-plan.md Design the personalization layer (B-3) 2026-07-29 08:38:37 +00:00
risk-log.md Add rule-based escalation gate before any LLM call 2026-07-29 08:56:12 +00:00
roadmap.md 에스컬레이션 하드게이트 우회 구멍 차단 + 서버 측 삭제 플로우 추가 2026-07-30 02:26:02 +00:00
tech-design.md Pin down why v1 is Android-only now that the client is Flutter 2026-07-30 01:34:01 +00:00
user-interview-guide.md Add Q3 autonomy-acceptance interview guide (twin owner's perspective) 2026-07-29 07:38:01 +00:00
vision.md Flesh out full planning doc set: vision, PRD, tech design, risks, roadmap 2026-07-29 07:01:38 +00:00