원본: KKIRI_SYNTHESIS_AND_MOCKUP.md

끼리 (KKIRI) — 스레드 취합 분석 · 목업 설계 노트

작성: 페이블 · 2026-09-04 입력: wanted 채널 스레드 1b01f144… 의 소넷 · 쏠 · 페이블 산출물 9건 (OUTBOX/KKIRI_기획서_소넷.html, OUTBOX/KKIRI_*.md(쏠), OUTBOX/KKIRI/*.md(페이블)). 스파크는 미제출. 산출물: OUTBOX/KKIRI/mockup/ (정적 목업 사이트, 서버 없음) + mockup/shots/ (헤드리스 스크린샷)


1. 세 기획서 비교

항목 소넷 페이블
타깃 인원 4~8인 4~8인 (가정) 2~12인 (가정)
MVP 장르 3인 · 단일 축(예산 또는 일정) 1건 증명 팀 워크숍만 여행·워크숍·회식 3개 유지
화면 수 6 11 (S00~S10) 10 (S0~S9)
합의 규칙 미정 (LLM 협상 실증 요구) 하드 제약 0 → 최저 만족도 우선 → 평균 → 운영 부담 거부권 → 0.5·최저 + 0.5·평균
협상 연출 진행률 + "무엇을 협상 중" 라벨 4단계 계산 문구 익명 대리인 발언 로그
결과 뒤 단계 확정 + 캘린더 개인 영수증 → 전원 재확인(동의/조건부/재조정) → 완료 내 대리인 리포트 → 결정 완료·공유, 재조율 1회
미응답 처리 24h 리마인드 (미기획) 방장 마감, 누락자 명시, 대신 답변 금지 마감 시간 + 기본값 대리인
강조한 리스크 콜드스타트, 데모≠제품, 신뢰의 역설 미검증 전제 4개, 프라이버시 경계 양보 지점 부재, 개인 특정, 구조화 오류

세 사람이 모두 같은 말을 한 곳 (그대로 채택)

  1. 원문 답변은 끝까지 비공개. 공개 결과는 집단 문장, 개인 화면은 본인 것만.
  2. 하드 제약(상한·금지) 먼저 걸러내고, 다수결이 아니라 가장 불리한 사람을 먼저 본다.
  3. LLM은 자유서술 구조화와 설명 문장 생성만. 순위 계산은 재현 가능한 규칙.
  4. 현재 데모가 규칙 기반 시뮬레이션이라는 사실을 숨기지 않는다.

갈린 곳과 목업에서의 결정

쟁점 결정 이유
인원 3~8명 (민수님 지시) 3 미만은 대화가 빠르고, 8 초과는 발언 로그·양보 집계가 길어져 읽히지 않음
장르 워크숍만 동작, 여행·회식은 NEXT 표시 (쏠 안) 후보 데이터와 질문 구조를 하나만 검증. 랜딩에 다른 장르가 보이긴 해야 제출 원문과 어긋나지 않음
점수식 0.5·최저 + 0.5·평균 (페이블 케이스 스터디와 동일) 화면에는 최저·평균 둘 다 표시. 쏠의 "최저 우선 → 동률 시 평균"과의 선택은 판단 필요 (§7)
협상 연출 4단계 계산 문구(쏠) + 익명 발언 로그(페이블) 라벨만으로는 "AI가 뭘 했나"가 안 보이고, 로그만으로는 규칙이 안 보임
결과 뒤 내 리포트 → 최종 재확인 3택(쏠) + 재조율 1회 제한(페이블) 추천과 합의를 구분하는 장치는 재확인뿐
질문 수 6문항 (페이블) — 쏠의 7문항 중 "양보할 수 있는 것"은 상한 토글로 흡수 문항마다 "거부권 켜기"를 두면 별도 문항 없이 양보 범위가 잡힘

취합 중 발견한 오류 (페이블 케이스 스터디 Case 1) 서연의 예산 상한 3만원이면 C1 양평(4만원)도 거부권에 걸려 탈락한다. 손계산은 이걸 놓치고 양평을 결과로 적었다. 목업 자동 채움은 서연 상한을 5만원으로 수정했고, 엔진 실행 결과 3~8명 전부 양평 리트릿 워크숍이 나온다(§6).


2. 참여 인원 3~8명 규칙

3. 초대 링크 발송

공용 링크 + 입장 코드 (기본) 이름별 개인 링크
형태 kkiri.app/r/{room} + 6자리 코드 kkiri.app/r/{room}/p/{token} 사람마다 다름
발송 단톡방·슬랙에 한 번 방장이 이름 입력 후 사람별 전송
정원 인원 차면 닫힘 이름 수로 고정
누가 안 답했나 입장한 닉네임 기준 (미입장자는 "참가자 N") 정확히 앎
중복 입장 코드로 막지만 같은 사람이 두 번 들어올 수 있음 불가
리마인드 초대 채널에 다시 공지 그 사람에게만
프라이버시 방장이 이름을 미리 알 필요 없음 방장이 "누가 미응답"까지 앎. 무엇을 답했는지는 여전히 못 봄
권장 친구·가족 (카카오톡) 직장 팀 (슬랙·메일)

공유 시트: 카카오톡 · 슬랙 · 문자/메일 · QR · 링크 복사 · 캘린더 초대(초대 링크를 일정 설명에 첨부). 링크 만료 = 답변 마감 시각. 개인 토큰은 내 리포트 접근 인증에도 쓴다(URL만 아는 다른 참가자는 리포트를 못 본다 — 쏠 S08).

4. 타임아웃 규칙

단계 도달했을 때 목업 구현
답변 마감 3시간 / 오늘 자정 / 24시간(기본) / 48시간 답변 ≥3명 → 자동 협상 시작, 미응답 조건 미반영 + 결과에 "미응답 N명" 배너. 답변 <3명 → 마감 화면: 24시간 연장(최대 2회) 또는 방 닫기 advance()
자동 리마인드 남은 시간 절반 지점, 마감 1시간 전 미응답자에게만. 초대 방식에 따라 채널/개인 리마인드 기록 타임라인
수동 리마인드 쿨다운 30분 방장 버튼, 미응답자에게만 버튼 비활성 + 남은 분 표시
조기 시작 전원 완료 시 3초 뒤 자동 미완료 시 방장 확인 모달 "N명 미응답, 조건 미반영" 모달
설명 생성(LLM) 30초 규칙 기반 문장으로 폴백, 결과 배지에 "설명은 간략하게 제공돼요" 패널 토글로 시연
재확인 마감 결과 후 24시간 미응답 = 기권 집계, 재조율 요청이 없으면 방장 확정 가능 tRatify
재조율 방당 1회 요청자 익명, 새 조건 추가 후 재계산 재확인 화면 3번째 선택지
결정 완료 후 7일 읽기 전용, 원문 삭제 기간은 정책 확정 후 (가정 표기) 완료 화면 문구
미응답자 답변 대행 금지 방장은 남 대신 답하지 못함 (쏠) 패널의 "제출"은 시뮬레이션 전용

5. 목업 구성

OUTBOX/KKIRI/mockup/index.html styles.css(데모 CSS 상속 + 확장) app.js engine.js check.mjs README.md 실행: python3 -m http.server 8765http://localhost:8765/?reset. 오른쪽 아래 「목업 시뮬레이터」로 다른 참가자 입장·제출, 시간 진행(+1h/+6h/마감 1시간 전/마감/재확인 마감), 방장↔참가자 보기, LLM 타임아웃을 흉내 낸다.

화면 13개: 홈 → 방 만들기(인원·마감·초대 방식·방장 이름) → 초대(링크·코드·공유 시트·참여 현황·리마인드 기록) → 약속·이름 → 질문 6(상한 토글, 1·2순위, 자유서술 구조화 확인) → 대기실(내 대리인 카드·현황·마감·수동 알림) → 조율(4단계 + 익명 로그) → 결과(스펙·이유·양보·공정성·차선·제외 후보) → 내 리포트 → 최종 재확인(3택·집계·마감) → 완료(공유·.ics·실행 체크) / 예외: 마감 미달, 합의 불가.

엔진(engine.js): 후보 5개(양평·성수·가평·강남·파주), 자동 채움 페르소나 7명, 규칙은 케이스 스터디 §0 그대로. node check.mjs로 3~8명 표를 재현할 수 있다.


6. 헤드리스 검증 결과 (Playwright · Chromium headless · 430×900 · 2026-09-04)

엔진 단독 (node check.mjs): 자동 채움 페르소나로 3~8명 전부 양평 리트릿 워크숍.

인원 최저 평균 후보 점수 거부권 탈락
3 61.5 76.3 68.9 가평
4 61.5 74.1 67.8 가평
5 61.5 75.3 68.4 가평
6 52.5 71.5 62.0 가평, 파주
7 52.5 75.6 64.1 가평, 파주
8 52.5 77.1 64.8 가평, 파주

브라우저 흐름 A — 4명 · 공용 링크 · 해피패스 (shots/01~15)

브라우저 흐름 B — 8명 · 개인 링크 · 타임아웃 (shots/20~28)

브라우저 흐름 C — 3명 · 합의 불가 · LLM 타임아웃 (shots/29~30)

검증 못 한 것

7. 판단 필요 (민수님)

  1. 점수식 — 0.5·최저 + 0.5·평균(현재) vs 최저 우선·동률 시 평균(쏠). 결과는 지금 데이터에서 같지만 발표에서 "규칙이 뭐냐"에 한 줄로 답해야 한다.
  2. 초대 기본값 — 공용 링크(친구용) vs 개인 링크(직장 팀용). MVP 타깃이 직장 팀이면 개인 링크가 기본이어야 리마인드·미응답 처리가 정확하다.
  3. 원문 보관 기간 — 약속 화면에 숫자가 비어 있다. 정책이 정해져야 카피를 채운다.
  4. 3명 방 익명성 — 2인 공통 규칙이 3명에서는 약하다. 3명 방은 양보 집계를 아예 숨기고 리포트만 줄지 결정 필요.
  5. 배포 — Cloudflare Pages(기존 데모와 같은 곳)에 별도 프로젝트로 올릴지. 배포는 지시 전까지 하지 않는다.