인수인계서 - 세션 15 (00-UI-program 도상 훈련 프로그램 전면 재구성)
작성일: 2026-02-17 이전 세션: session14
작업 요약
00-UI-program을 Dev Rules System 콘텐츠 브라우저에서 5대 시스템 도상 훈련(Tabletop Exercise) 종합 검증 프로그램으로 전면 재구성. 신규 20개 + 수정 7개 + 삭제 6개 = 총 33개 파일 변경. 텍스트 드래그 선택+복사 기능도 추가.
수정 파일 (33개)
신규 생성 (20개)
| # | 파일 | 설명 |
|---|---|---|
| 1 | data/tabletop_models.py | 도메인 모델 (5 Enum, 12 Dataclass) |
| 2 | data/tabletop_loader.py | SystemScanner - 5대 시스템 스캐너/파서 |
| 3 | services/graph_service.py | 인접 리스트 방향 그래프 (BFS, topological sort) |
| 4 | services/verification.py | 4종 검증 엔진 (파일, 체인, 일관성, 최신성) |
| 5 | services/gap_analysis.py | 8종 갭 탐지 |
| 6 | services/coverage.py | 커버리지 매트릭스 계산 |
| 7 | services/scenario_engine.py | 7개 시나리오 정의 (Path A 5, Path B 2) |
| 8 | ui/components/status_card.py | 건강 상태 카드 위젯 |
| 9 | ui/components/graph_canvas.py | Canvas 기반 그래프 (줌/팬/호버/클릭) |
| 10 | ui/components/timeline_strip.py | 수평 단계 인디케이터 |
| 11 | ui/components/matrix_table.py | O/X 그리드 테이블 |
| 12 | ui/components/selectable_text.py | 드래그 선택+복사 읽기 전용 텍스트 위젯 |
| 13 | ui/views/tabletop/__init__.py | 7개 뷰 import |
| 14 | ui/views/tabletop/dashboard_view.py | 건강 대시보드 |
| 15 | ui/views/tabletop/system_map_view.py | 의존성 그래프 시각화 |
| 16 | ui/views/tabletop/scenario_view.py | 시나리오 시뮬레이션 |
| 17 | ui/views/tabletop/verification_view.py | 연결 검증 |
| 18 | ui/views/tabletop/gap_analysis_view.py | 갭 분석 |
| 19 | ui/views/tabletop/coverage_view.py | 커버리지 매트릭스 |
| 20 | ui/views/tabletop/rule_validation_view.py | 규칙 검증 |
수정 (7개)
| # | 파일 | 변경 내용 |
|---|---|---|
| 1 | app/config.py | 전면 재작성 - 1400x900, 5대 시스템 경로, SYSTEM_COLORS/RELATION_COLORS, TABLETOP_NAV_ITEMS |
| 2 | app/app.py | 전면 재작성 - SystemScanner 기반 데이터 로딩 |
| 3 | data/loader.py | MarkdownParser + LoadResult만 유지, 기존 로더 전부 제거 |
| 4 | ui/main_window.py | 7개 tabletop 뷰 라우팅으로 교체 |
| 5 | ui/components/navigation.py | 도상 훈련 7개 항목 네비게이션으로 교체 |
| 6 | main.py | docstring 갱신 |
| 7 | CLAUDE.md | 도상 훈련 프로그램으로 프로젝트 특성 갱신 |
삭제 (6개)
| # | 파일 | 이유 |
|---|---|---|
| 1 | ui/views/commands_view.py | 기존 명령어 뷰 - 도상 훈련으로 교체 |
| 2 | ui/views/stages_view.py | 기존 파이프라인 뷰 - 도상 훈련으로 교체 |
| 3 | ui/views/rules_view.py | 기존 규칙 뷰 - 도상 훈련으로 교체 |
| 4 | ui/views/tech_docs_view.py | 기존 기술 문서 뷰 - 도상 훈련으로 교체 |
| 5 | ui/views/workflow_view.py | 기존 워크플로우 뷰 - 도상 훈련으로 교체 |
| 6 | ui/views/phases_view.py | 기존 단계 뷰 - 도상 훈련으로 교체 |
상세 변경 사항
1. 도메인 모델 (data/tabletop_models.py)
- 5개 Enum: SystemType(5종), RelationType(6종), ChainType(3종), HealthStatus(4종), ScenarioType(7종)
- 12개 Dataclass: SystemComponent, SkillDefinition, AgentDefinition, Connection, GapReport, VerificationResult, ScenarioStep, Scenario, CoverageEntry, SystemHealth, ReusableCodeItem, DevRuleModule
2. 5대 시스템 스캐너 (data/tabletop_loader.py)
scan_skills():03-skills/*/SKILL.mdYAML frontmatter 파싱, inception_depth 계산(1-5)scan_agents():04-agents/*.mdYAML frontmatter 파싱scan_reusable_code(): TS/PY 재사용 코드 디렉토리 스캔scan_dev_rules():01-dev-rules-system/모듈 스캔extract_connections():_COMPONENT_MAP.md파싱 - 5종 화살표 regex, 3종 테이블 파싱- 테이블 구분선(
---) 오탐 필터 추가
3. 서비스 레이어 (5개)
- DependencyGraph: 인접 리스트 + BFS(find_unreachable) + Kahn's(topological_sort)
- VerificationEngine: 4종 (FileExistence, ChainValidator, ConsistencyChecker, StalenessDetector 14일)
- GapAnalyzer: 8종 갭 탐지
- CoverageCalculator: 컴포넌트 x 검증도구(5종) 매트릭스
- ScenarioEngine: Path A 수동 5 + Path B kdygenesis 2 = 7 시나리오
4. UI 위젯 (5개)
- GraphCanvas: tkinter.Canvas 기반, 5계층 레이아웃, 노드 호버/클릭, 마우스휠 줌, 드래그 팬, RelationType/SystemType 필터
- StatusCard: 시스템명, 수치(n/n), 상태 색상
- TimelineStrip: 원형 마커 + 라벨, 현재 단계 하이라이트
- MatrixTable: CTkScrollableFrame 그리드, O/X 색상 코딩
- SelectableText/SelectableLabel: CTkTextbox 기반 드래그 선택 + Ctrl+C 복사
5. 7개 뷰
- Dashboard: 5대 시스템 건강 카드 + 연결 통계 바 + 검증 결과 리스트
- SystemMap: 그래프(3/4) + 상세패널(1/4), 필터 바(RelationType 6 + SystemType 5)
- Scenario: 드롭다운 + Path A/B 라디오 + TimelineStrip + 단계 상세 + 이전/다음
- Verification: [전체 검증 실행] + ALL/PASS/WARN/FAIL 필터 + 카테고리별 결과
- GapAnalysis: 요약 카드 + 심각도 필터 + 갭 카드(severity 색상 테두리)
- Coverage: MatrixTable + 행 클릭 상세
- RuleValidation: 5계층 규칙 시각화 + 충돌 탐지
6. 텍스트 선택/복사 기능
SelectableText: CTkTextbox disabled 상태에서 드래그 선택 + Ctrl+C 복사 가능SelectableLabel: 라벨(CTkLabel) + 값(SelectableText) 조합- 전체 7개 뷰에 적용 (제목/헤더 + 내용 모두 선택 가능)
검증 결과
python main.py실행 — 1400x900 윈도우 정상 표시- 7개 뷰 전환 정상 동작
- 스캔 결과: 16 스킬, 6 에이전트, 50 연결, 51 컴포넌트
- 그래프: 35 노드, 50 엣지
- 검증: 4 체크 (2 HEALTHY, 2 WARNING)
- 갭: 12개 (모두 INFO)
- 텍스트 드래그 선택 + Ctrl+C 복사 정상
터치하지 않은 영역
00-UI-program/docs/하위 문서 (rules, status, handover)00-UI-program/ui/components/search_bar.py(기존 파일, 미사용 상태)- 00 general-pro 루트의 01~04 시스템 파일들 (읽기 전용 데이터 소스)
알려진 이슈
- 없음 (프로그램 정상 실행 확인)
다음 작업 제안
- UI 세부 개선 — 그래프 노드 위치 미세 조정, 시나리오 단계 상세 내용 보강, 커버리지 정확도 향상
/inception실행 — 도상 훈련 프로그램에서 보여주는 연결 데이터와 _COMPONENT_MAP.md 동기화 확인- 실 프로젝트에서 도상 훈련 실행 — 실제 00 general-pro 업데이트 후 프로그램 재실행하여 변경 반영 확인