← 목록
기타 2026-04-16 5KB 읽기 5분
T 확정 Docs바인드테스트 d7e15850e47db59b / root 0% 간트 그래프

Docs 옴니플랜/옴니그라플 + Project 양방향 바인딩 + 자연어 명령 — 5단계 완료

개요

사용자 요청: "docs.crowny.org에 옴니그라플과 옴니플랜 동등 수준 구현. project.crowny.org의 프로젝트가 셀코어+Docs와 완벽 연동, Docs에서 수정→크라우니코드+LLM→Project 매칭"

5단계 결과

Phase 1 — 진단

  • project.crowny.org:9730 /api/cells 500 에러 수정 (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 — 양방향 바인딩

  • .md frontmatter: project: <id>, node: <path>, phase, progress, name
  • POST /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/linkfrontmatter 생성
POST /api/docs/pullphase:3, name 반영
POST /api/docs/push phase=3toau 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           │
                     └──────────────────────────┘