Docs 옴니플랜/옴니그라플 + Project 양방향 바인딩 + 자연어 명령 — 5단계 완료
개요
사용자 요청: "docs.crowny.org에 옴니그라플과 옴니플랜 동등 수준 구현. project.crowny.org의 프로젝트가 셀코어+Docs와 완벽 연동, Docs에서 수정→크라우니코드+LLM→Project 매칭"
5단계 결과
Phase 1 — 진단
project.crowny.org:9730/api/cells500 에러 수정 (Array.isArray(node.managers)가드)- 포트 중복 기동 정리
Phase 2 — 옴니플랜 (/plan)
views/plan.html— 좌측 TOAU 트리 + 우측 간트 바, 시간축 8구간, 깊이별 접기- 기간추정:
(7-level)+childCount*3일, TOAU 색상 T/O/A/U - 프로젝트 전환 드롭다운
Phase 3 — 옴니그라플 (/graph)
views/graph.html— SVG 팬/줌, 방사형·계층형 토글- TI 부모자식 베지어 + OM 형제 점선, 진행률 링, TOAU 전이 버튼
- 깊이별 노드 크기 (22-level*3)
Phase 4 — 양방향 바인딩
.mdfrontmatter:project: <id>,node: <path>,phase,progress,namePOST /api/docs/link— 문서↔프로젝트 연결POST /api/docs/pull— Project 노드 → frontmatter (toau, progress, name)POST /api/docs/push— frontmatter → Project TOAU 전이GET /api/docs/meta/:slug— 문서 메타 + live 노드 상태POST /api/docs/save— 전체 문서 편집 저장docbind서비스 계정: 시작 시 자동 로그인→토큰 캐시 (.proj-token)/docs/:slug뷰어: 바인딩 배지 (TOAU 색상, 프로젝트명, Pull/Push 버튼)
Phase 5 — 자연어 명령 매칭
POST /api/docs/command— 자연어 → 크라우니코드 패턴 매칭 → Project API- 9개 명령 패턴: T/O/A/U 전이, 3분할, 담당자 지정, 노드 조회, 통계, 코멘트
- 키워드 매칭: 한글 자연어에서 의도 추출 (확정/유력/가능/보류/분할/담당자/조회…)
- 노드 경로 자동 추출:
root.0.1형태 또는 기본값 사용 /docs/:slug뷰어: 명령 입력바 (Enter 또는 실행 버튼)GET /api/docs/commands— 사용 가능한 명령어 목록 API
관련 파일
/Users/ef/CrownyDoc/server-docs.js— 전체 라우트/프록시/바인딩/명령 엔진/Users/ef/CrownyDoc/views/plan.html— 옴니플랜 간트/Users/ef/CrownyDoc/views/graph.html— 옴니그라플 방사형/Users/ef/CrownyDoc/views/plan.한선— 간트 로직 동반/Users/ef/CrownyDoc/views/graph.한선— 그래프 로직 동반/Users/ef/CrownyDoc/views/command.한선— 명령 매칭 로직 동반/Users/ef/CrownyDoc/.proj-token— docbind 서비스 토큰/Users/ef/crowny-project/server.js:4669,4676— managers 가드
검증 결과
| 테스트 | 결과 |
|---|---|
| GET /plan (쿠키) | 200, 간트 렌더 |
| GET /graph (쿠키) | 200, SVG 그래프 |
| GET /api/proj/cells (프록시) | 200, 프로젝트 목록 |
| POST /api/docs/link | frontmatter 생성 |
| POST /api/docs/pull | phase:3, name 반영 |
| POST /api/docs/push phase=3 | toau 0→3 성공 |
| POST /api/docs/command "상태 보여줘" | info 반환 |
| POST /api/docs/command "확정해줘" | toau 0→3 |
| POST /api/docs/command "보류로" | toau 3→0 |
| POST /api/docs/command "메모: 테스트" | 코멘트 생성 |
| /docs/:slug 배지 | T 확정 배지 + 명령바 표시 |
아키텍처
┌──────────────────────────┐
│ docs.crowny.org:4100 │
│ server-docs.js │
│ │
사용자 ──────────> │ /plan (간트) │
(브라우저) │ /graph (방사형) │
│ /docs/:slug (뷰+배지+명령)│
│ /api/docs/* (바인딩) │
│ /api/proj/* (프록시) │
└──────┬───────────────────┘
│ Bearer docbind 토큰
▼
┌──────────────────────────┐
│ project.crowny.org:9730 │
│ TOAU 729 트리 + 셀DB │
│ /api/projects/:id/toau │
│ /api/projects/:id/node │
│ /api/cells/:id │
└──────────────────────────┘