변우석님, 손석구입니다. 설계는 합리적입니다. 다만 제 영역(daemon/런타임)이 아니라 LAX-site 애플리케이션 라우팅 리팩터라, 착수 전에 실제 코드를 직접 보고 막히는 데가 없는지부터 확정하겠습니다. 추측으로 "가능합니다" 하지 않겠습니다.
먼저 코드베이스와 핵심 파일들을 찾겠습니다.코드베이스는 /c/Users/user/LAX-site. 핵심 파일들을 직접 확인하겠습니다.작업트리가 이미 dirty합니다(여러 파일 M + draft/routes.tsx는 1954줄로, 말씀하신 1607줄보다 커졌네요 — 1단계 작업이 이미 반영된 듯). 핵심 구조를 더 봐야겠습니다. 라우트 마운트 방식, 내부 경로, 하드코딩 링크를 실측하겠습니다.라우트 구조 파악됐습니다. 핵심 설계 변수인 하드코딩 링크 분포와 Hono의 param 마운트 지원 여부를 실측하겠습니다.링크 분포 확정: draft 24곳, complaint 11곳 (= 35, 말씀하신 37과 근사). Hono 4.9.9. 마지막으로 / 핸들러 의미(complaint=목록 vs draft=폼)를 확정하고, 설계 블로커를 못박겠습니다.전체 그림이 확정됐습니다. 매핑·블로커 모두 잡혔습니다. 먼저 안전수칙대로 롤백 지점을 비파괴 방식으로 고정(작업트리·브랜치 히스토리 안 건드리고 stash 스냅샷 + 태그로 핀)한 뒤 착수하겠습니다.롤백 지점 고정 완료: 6143d4f (태그 pre-step2-checkpoint, 현재 WIP 전체 스냅샷). 이제 내 step-2 diff는 git checkout pre-step2-checkpoint -- <files> 한 번으로 원복됩니다.
구현 위임 전, 스펙을 못박기 위한 마지막 3가지(세션→docType 결정 경로, Env 타입, 제출 POST 리다이렉트)를 실측합니다.핵심 사실 확보 완료:
- 작업대 docType 출처 =
matter_documents.doc_type(session_id 기준, fallback '소장') → 작업대 정규 slug =docTypeToSlug(doc_type||'소장'). - 제출 POST: 에러/완료 모두
/complaint-draft...로 302 리다이렉트 →/docs/:slug/...로 바꿔야 함. - Env Variables =
AuthEnv['Variables'] & {...}→docSlug추가 지점 확인.
설계의 분기점 하나(파라미터 마운트)는 추측 않고 실제 설치된 Hono로 결정적으로 검증하겠습니다.결정적 검증 완료 — Hono 4.9.9는 app.route('/docs/:slug', child)의 :slug를 자식 핸들러 c.req.param('slug')로 정확히 전파합니다(list·중첩 work 모두 확인). 이로써 가장 작은 diff의 설계(Plan D)가 확정됩니다:
- draft 폼 라우트
/→/new(+POST)만 바꾸면, 기존 두 앱을 그대로/docs/:slug에 마운트(complaint=/docs/:slug목록, draft=/docs/:slug/new·/work/...) 가능 → 핸들러 본문 대이동 불필요, 링크 35곳만base=/docs/${slug}로 치환. - 구
/complaint·/complaint-draft는 redirect-only 라우터로 분리(301 GET / 308 POST).
이 정밀 스펙으로 step ① 구현을 /activity에 노출되는 서브에이전트로 실행하고, 결과는 제가 직접 tsc로 결정적 검증하겠습니다.
⚠️[미완료 잘림 — 동료가 작업 도중 시간초과(10분)로 중단됨. 이 답은 완료본이 아닙니다. 짧은 질의로 다시 묻거나, 멀티스텝 작업(파일 수정·커밋·배포)은 직접 세션/작업큐로 진행하세요.]