# /s/stay 시연본 — 무엇이 잘못됐고 무엇을 고쳤나 작성 2026-09-11 · 대상 `https://web4ai.o2osolution.ai/s/stay` **컨펌 요청**: 아래 3장을 보고, 틀린 판단이 있으면 짚어 주세요. 컨펌 후 킹서버에 올립니다. --- ## 1장. 사장님이 찾은 것 — 스케줄이 왜 말이 안 됐나 ### 잘못된 것 | # | 증상 | 몇 건 | |---|---|---| | A | **`아침 · 스테이 머뭄` 다음 칸이 `체크아웃 · 스테이 머뭄`** — 같은 자리에 두 칸이 연달아 섰다. 그 사이에 손님은 아무 데도 가지 않는다 | 1건 | | B | **마지막 날 머뭄이 3번**(아침 · 체크아웃 · 마무리) — 하루의 절반이 숙소 칸 | 21건 | | C | 마지막 날 섬 코스가 **저녁도 없이 19:14 에 돌아와 짐만 찾고 끝** | 1건 | | D | 아침 칸이 **2시간 14분** — 끼니 시각을 맞추려고 앞 칸을 늘리다 생긴 값 | 1건 | ### 왜 이렇게 됐나 **A·B 의 원인은 하나입니다.** 사장님이 "1번은 스테이 머뭄이어야 한다"고 하셔서 하루의 첫 칸에 `아침 · 머뭄` 을 넣었습니다. 그런데 마지막 날 뼈대에는 **이미** `체크아웃 · 머뭄` 과 `마무리 · 머뭄` 이 있었습니다. 첫 칸만 보고 넣었고, **그 하루 전체를 다시 읽지 않았습니다.** 그래서 머뭄이 3번이 됐고, 그중 둘이 붙어 있는 날이 생겼습니다. **C·D 는 검사에 그 항목이 없어서** 통과했습니다. 저는 그때까지 "끼니 시각 · 이동시간 · 21시 초과" 만 봤고, "하루에 저녁이 있는가", "한 칸이 지나치게 길지 않은가" 는 세지 않았습니다. ### 고친 것 - **마지막 날 아침과 퇴실을 한 칸으로 합쳤습니다.** `아침 · 스테이 머뭄 (75분)` — "아침을 차려 먹고 11시 전에 퇴실합니다. 짐은 맡겨 두고 나섰다가 저녁에 찾아 가세요." → 하루가 **머뭄 → 바깥 3~4곳 → 머뭄** 으로 정리됩니다. - **섬 가는 마지막 날**은 바깥 정거장을 둘로 줄였습니다(퇴실 → 선유도 → 늦은 점심 → 마무리). 왕복 두 시간이라 그 이상은 못 넣습니다. - **아침 상한을 110분**으로 내렸습니다. ### 지금 상태 (예: 걸어서만 도는 1박 2일) ``` 첫째 날 15:00 15:00–15:49 체크인 · 스테이 머뭄 15:52–16:37 오후 · 히로쓰 가옥 (3분 이동) 16:41–17:26 오후 · 초원사진관 (4분 이동) 17:30–18:22 저녁 · 일흥옥 (4분 이동) 18:35–19:17 밤 산책 · 군산 내항 (13분 이동) 19:33–20:05 머뭄으로 · 스테이 머뭄 (16분 이동) 둘째 날 09:20 09:20–10:39 아침 · 스테이 머뭄 ← 퇴실까지 이 칸에서 끝냅니다 10:49–11:36 오전 · 군산근대건축관 (10분 이동) 11:40–12:32 점심 · 한일옥 (4분 이동) 12:36–13:02 오후 · 우체통거리 (4분 이동) 13:10–13:52 마무리 · 스테이 머뭄 (8분 이동) ``` ### 하루에 머뭄이 3번인 날이 아직 있습니다 — 의도한 것입니다 `아침 → … → **쉼**(머뭄) → 저녁 → 머뭄으로` 형태입니다. 점심은 늦어도 13:30, 저녁은 일러도 17:30 입니다. 그 사이 **네 시간**을 바깥 두 곳으로는 못 채웁니다. 억지로 채우면 골목 하나에 두 시간 세우게 되고(전에 실제로 그랬습니다), 독채 펜션에 묵는 손님은 그 시간에 실제로 들어와 쉽니다. **다만 머뭄 칸이 연달아 서는 일은 이제 없습니다.** 이게 아니라고 보시면 오후 정거장을 하나 더 넣는 쪽으로 바꾸겠습니다. --- ## 2장. 같은 실수가 다시 안 나오게 한 것 **원인은 "검사를 안 했다" 가 아니라 "검사가 빌드 밖에 있었다" 입니다.** 지금까지 규칙 검사를 매번 그때그때 쓴 일회용 스크립트로 돌렸습니다. 그래서 뼈대를 고칠 때마다 **이번에 안 본 규칙**이 생겼고, 그걸 사장님이 화면에서 먼저 찾으셨습니다. 이제 검사를 **일정 생성 스크립트 안**에 넣었습니다 (`solution/site/scripts/mockup/build_itinerary.py`). 규칙을 하나라도 어기면 **payload 파일을 아예 쓰지 않고 빌드가 멈춥니다.** 검사하는 규칙 14종: | | 규칙 | |---|---| | 1 | 하루의 첫 칸과 마지막 칸은 스테이 머뭄 | | 2 | **같은 자리가 연달아 서지 않는다** ← 이번에 걸린 것 | | 3 | 가운데 머뭄 칸은 '쉼'·'쉬는 날' 뿐 | | 4 | 이동시간 = 좌표에서 계산한 값 (도보 4km/h, 1.5km 초과는 차 25km/h + 주차 5분) | | 5 | 입실 15:00 이후 · 점심 11:30–13:30 · 늦은 점심 13:00–15:00 · 저녁 17:30–20:00 · 밤 산책 18:30–20:00 | | 6 | 퇴실은 11:00 전 | | 7 | 21:00 초과 금지 (넘는 칸은 렌더러가 조용히 버립니다) | | 8 | 끼니 자리에는 먹는 곳만 | | 9 | 같은 날 같은 식당 두 번 금지 | | 10 | 한 테마 안에서 같은 곳 반복 금지 | | 11 | "비가 와도 되는" 테마는 실내만 | | 12 | "걸어서만/차 없이" 테마에 차가 필요한 곳 금지 | | 13 | 1박 2일 = 2일, 2박 3일 = 3일 | | 14 | 아이 동반 테마에 술집 금지 | 현재 **21개 테마 · 위반 0건**. --- ## 3장. 앞으로 저에게 어떻게 지시하시면 되는지 제가 이번에 반복한 실수는 두 종류였습니다. 각각에 대응하는 지시 방법을 적습니다. ### ① "고쳐" 라고만 하면 저는 **그 한 줄만** 고칩니다 이번 예: "1번은 머뭄이어야지" → 첫 칸만 넣고 그 하루 전체를 다시 안 읽었습니다. **이렇게 말씀해 주시면 됩니다** > "X 고치고, **그 화면 전체를 다시 훑어서** 같은 종류로 이상한 데 있으면 같이 잡아." '같은 종류'라는 말이 있으면 저는 한 건이 아니라 그 규칙을 어긴 **전수**를 찾습니다. ### ② 제가 "확인했다"고 할 때 **무엇으로** 확인했는지 물어 주세요 이번에 빨간 줄 건에서, 저는 **코드에서 빠진 것만 보고** "고쳤다"고 말씀드렸습니다. 화면으로 확인하지 않았습니다. 그건 제 잘못입니다. **이렇게 말씀해 주시면 됩니다** > "브라우저로 열어서 확인하고 말해." > "검증 결과를 숫자로 보여줘." 지금은 playwright 로 실제 화면을 열어 확인합니다 (`scripts/mockup/verify.mjs` · `player.mjs`). 앞으로 "확인했다"는 말에는 **무엇을 몇 건 셌는지** 같이 적겠습니다. ### ③ 규칙을 주실 때는 "예외"까지 같이 주시면 한 번에 끝납니다 이번 예: "1번은 머뭄" → 마지막 날 퇴실은 어떻게 되는지가 안 정해져 있었습니다. 그래서 제가 임의로 칸을 하나 더 만들었고, 그게 연속 칸이 됐습니다. **이렇게 말씀해 주시면 됩니다** > "1번은 항상 머뭄. **단 마지막 날은 퇴실이 있으니 그건 네가 판단해서 제안하고 물어봐.**" ### ④ 판단이 갈리는 자리는 제가 먼저 여쭙겠습니다 지금 갈릴 수 있는 자리는 이것입니다 — **오후에 숙소로 돌아와 쉬는 칸(위 1장 마지막)**. 넣는 게 맞는지 빼는 게 맞는지 사장님 판단을 듣고 정하겠습니다. --- ## 참고 — 이번 작업에서 바뀐 것 전체 (메일용) **여행 일정 (추천 일정)** - 테마 21개 전부 다시 짬. 모든 일정이 **스테이 머뭄에서 출발해 스테이 머뭄으로 복귀** - 하루가 오전만 있고 끝나던 것 → **오전·점심·오후·저녁이 다 있는 하루**로 - 이동시간을 좌표에서 계산 (전에는 담 하나 건넌 곳이 8분, 45분 걸리는 섬이 10분이었음) - 체류시간을 장소별로 (전에는 '오후' 칸이면 무엇이든 90~115분이라 골목에 2시간 서 있었음) - 입실 15:00 · 퇴실 11:00 · 끼니 시각을 규칙으로 못박음 - 정거장 설명을 "그곳이 무엇인지" → **"거기서 무엇을 하는지"** 로 전부 교체 - 정거장 사진 제거(카드가 너무 길어짐), 정거장마다 **네이버 지도 링크** (191개) - "숙소에서 조용히 쉬는 날" 테마 추가 **가요 다방** - 군산을 노래한 **25곡**으로 교체 (곡명·가수·작사·작곡·연도·유튜브 링크·출처) - 숙소가 만든 곡은 이 섹션에서 뺌 — 도시의 노래를 모으는 자리라서 **인물 열전** - **57명** (위키백과 '군산시 출신' 분류 · 각자 문서 링크) - 사진 **17장** — 자유 라이선스가 확인된 것만. 저작자 표시를 화면에 남김(라이선스 조건) **음악 플레이어 (신규)** - 헤더 안 카세트 아이콘 + 재생/멈춤 + 목록. 재생 중에는 카세트 릴이 돎 - 머뭄이 만든 곡 5곡, **랜덤 재생** - 목록: 곡별 판 · 제목 · 가수 · 재생 중 막대 애니메이션, **모바일 전용 레이아웃** **캐치프레이즈 (신규)** - 100개 (일반 40 · 계절 24 · 월 24 · 날씨 12), 7초마다 단어 단위 애니메이션으로 교체 - 계절/월/실시간 날씨에 맞는 문구가 섞여 나옴 **객실 안내** - 야놀자 등록본 사진으로 전면 교체 — **A동 12장 · B동 10장** (등록본이 객실에 붙여 둔 순서 그대로) - 침대 구성(A동 퀸 / B동 킹) · 면적(A동 52m²) · 객실 시설 추가 **기타** - 오늘의 엽서에 지도 링크 추가 - 이용 정보 맨 아래 가로선 제거