# 하네스: Ubisam 산출물 ## 목표 프로젝트 산출물을 Ubisam 협업관리(칸반) 6단계 양식으로 구성·생성·재생산·검증한다. 산출물 트리는 `docs/[Ubisam산출물]/` 하위에 미러링한다(로컬 전용 — `.gitignore` 제외 대상). ## 트리거 — 어느 스킬을 쓰는가 입력이 무엇이냐로 갈린다. | 입력 | 요청 예시 | 스킬 | |---|---|---| | **없음** (트리부터) | "산출물 구조 만들어줘", "트리 스캐폴딩" | `ubisam-deliverables` | | **PTOP 소스코드** | "소스 기준으로 설계 산출물 최신화", "PLC 신호정의서 갱신" | `ptop-deliverables` | | **기존 타사 문서** | "이 xlsx를 Ubisam 양식으로 바꿔줘", "타사 산출물 재생산" | `ubisam-deliverable-rebuild` | | **조회만** | "상태 enum이 뭐였지", "6단계 슬롯 알려줘" | `ubisam-format-map` | 렌더링 전용 스킬: `.pptx` → `ubisam-ppt-make`, `.docx` → `ubisam-docx`(**사용자 전역 스킬 — 이 저장소에는 없음**), 화면 도식 이미지 → `ui_layout_image`. ## 재생산 하네스 팀 구성 (`ubisam-deliverable-rebuild`) | 에이전트 | 담당 | 산출 (`docs/[Ubisam산출물]/_workspace/`) | |---|---|---| | `ubisam-analyst` | 원본 구조 해부·타설비 잔재 식별·6단계 슬롯 매핑 | `01_analyst_{문서}.md` | | `ubisam-producer` | 매핑표대로 xlsx·pptx·md 재생산·출처 기입 | `02_producer_{문서}.md` + 산출물 파일 | | `ubisam-qa` | 원본↔매핑표↔산출물 교차 대조·enum·잔재·출처 검증 | `03_qa_{문서}.md` | **실행 모드:** 서브 에이전트 + **점진적 생성-검증 루프**. producer가 문서 1건을 끝낼 때마다 qa가 즉시 검증한다 — 구조적 결함이 늦게 발견되면 이후 산출물 전부를 되돌려야 하기 때문이다. 기동은 `Agent`(`model: "opus"`), 소통은 `SendMessage`, 진행 공유는 `_progress.md` 파일. 이 환경에 `TeamCreate`/`TeamDelete`는 없다. ## 불변 규칙 - **enum 고정** — 상태 4종·유형 9종은 `ubisam-format-map`이 단일 기준. 임의 변형 시 칸반 조건부서식이 깨진다. - **출처 명시** — 채운 값마다 `— 출처: 파일:심볼`. qa가 이걸로 검증한다. - **추측 금지** — 진실원이 없으면 `(제안)` 또는 `미정 — 확인 필요`. - **추론 표기** — 확인 전 서술은 문장 앞에 `[추론]` (`rules.md` #15·#16). 아래 축으로 구분하며 `[추론]`은 나머지를 **대체하지 않는다**(필요하면 병기): | 상황 | 표기 | |---|---| | 원본·소스로 확인함 | `— 출처: 파일:심볼` (표기어 없음) | | 확인했으나 값이 없음·측정 못 함 | `미측정` · `불명확 — 확인 필요` · `미검증` · `미확인` | | 확인 전 서술 · 검증 불가 | 문장 앞 `[추론]` (구 `(추정)` 을 대체) | | 진실원 자체가 없음 | `(제안)` · `미정 — 확인 필요` | - **비침습** — `docs/[Ubisam산출물]/` 밖은 읽기만. 소스·`CLAUDE.md`·루트 규칙 파일 수정 금지. - **MD 200줄 상한** (`rules.md` #4) — 초과 시 분할 + 상대경로 링크. - **UTF-8** — 스크립트 실행은 `PYTHONUTF8=1 py