# Agent 미팅: Absorption 중복 기능 4건 분석

**날짜**: 2026-04-11
**소집 이유**: Absorption Registry(task-1637.1)에서 발견된 4건 cross-source 중복에 대한 최적 방안 결정
**참여 페르소나**: 오딘(아키텍처), 헤르메스(풀스택/실행), 야누스(DevOps), 로키(레드팀)
**미팅 모드**: hybrid
**토론 깊이**: thorough
**총 사이클 수**: 2

---

## Cycle 1 (Independent Round)

### 페룬 분석
Absorption Registry에서 cross-source 중복 4건 발견. 각 건에 대해 A(병합 모듈화)/B(한쪽 아카이브)/C(공존 유지) 중 결정 필요. 리서치 완료 상태(superpowers-deep-analysis.md, gstack-deep-analysis.md, fireauto-analysis.md, taste-skill-analysis.md, moai-adk-analysis.md 참조).

### 페르소나 의견

**오딘**: 4건 중 3건 A(병합), 1건 B(아카이브). Worktree는 CLI와 안전 게이트가 레이어가 다르므로 병합. 회고는 gstack이 데이터 파이프라인 자산이므로 pm-a6 아카이브. Progressive Disclosure는 feature flag + 3레벨 구현 결합. 에러 감지는 자동수정(fireauto)+에스컬레이션(gstack) 직렬 결합. 비관습적: Worktree→컨테이너 격리, 회고→이벤트소싱, PD→스펙큘레이티브 프리로딩, 에러→에러예산 모델.

**헤르메스**: Item 1만 C(공존), 나머지 동일. Worktree는 이미 동작하는 하이브리드를 건드리면 비용만 발생. 455줄→700줄 비대 우려. 안전게이트 수정 시 CLI까지 영향받는 커플링 리스크.

**야누스**: 4건 중 3건 A, 1건 B. Worktree는 hook+CLI 레이어 분리, 단일 진입점 필요. 회고는 병합할 실체 없음. PD는 flag+트리거 분리 시 영원히 미완성. 에러는 카운터 이중관리=상태불일치. 비관습적: Worktree→Makefile target, PD→lazy-unload, 에러→별도 데몬.

**로키**: 4건 중 3건 A, 1건 B. C는 가장 위험—이중 시스템의 틈이 우회 경로. Worktree의 C에서 공격자가 safety 우회 후 CLI 직접 실행. 에러 카운터 메모리 리셋으로 circuit breaker 무력화 위험. 필수 보안 요구: gitignore 검증 pre-hook 강제, 에러 카운터 영속 저장.

### 합의/결론
- Item 2(회고): 전원 **B** — 합의 완료
- Item 3(PD): 전원 **A** — 합의 완료
- Item 4(에러): 전원 **A** — 합의 완료
- Item 1(Worktree): 3:1 (A vs C) — 미합의, Cycle 2로 이월

### 미해결 항목
- Item 1: 헤르메스의 C 입장 vs 나머지 A 입장 해소 필요

---

## Cycle 2 (Sequential — Item 1 집중)

### 페룬 분석
Item 1 불일치 해소. 핵심 쟁점: "이미 하이브리드로 동작 중인데, 추가 모듈화가 필요한가?" 보안(로키), 운영(야누스), 아키텍처(오딘) 논거 대 실용성(헤르메스) 논거.

### 페르소나 의견

**헤르메스 (입장 변경)**: A로 수렴. 조건: (1) SKILL.md를 commands/guards/config 분리, (2) safety gate를 manager 내부 의존성으로 격리, (3) 리팩터링 후 회귀 테스트. "단일 파일 병합이면 C 유지. 모듈 분리 보장되면 A 동의."

### Devil's Advocate
**지정**: 로키 (Cycle 2)
1. **실패 시나리오**: CLI 밖에서 worktree_manager.py 직접 호출 시 안전검증 우회
2. **후회 이유**: 병합 후 검증/CLI 양쪽 동시 이해 필요, 온보딩 비용 증가
3. **더 단순한 대안**: worktree_manager.py 진입점에 데코레이터 한 줄로 안전 검증 강제 주입 — 구조 변경 없이 우회 차단

**반박**: 데코레이터 방식은 A의 경량 버전. 함수 레벨 강제이므로 호출 경로 무관하게 검증 실행. 구조 변경 최소, 보안/운영/실용성 모두 충족.
**판정**: DA 포인트 3번(데코레이터)을 최적안으로 채택. 전면 리팩터링은 향후 확장 시 수행.

### 비관습적 대안 평가 (Cycle 2)
**제안자**: 오딘 — 컨테이너 기반 격리(devcontainer/nix)
1. **최강 지지 논거**: OS 레벨 격리가 파일시스템 격리보다 근본적
2. **최강 반론**: 현재 인프라에서 devcontainer 도입 비용이 과도
3. **이상적 시나리오**: 팀이 10+개로 확장되어 의존성 충돌이 빈번할 때
4. **노력 수준**: 매우 높음
5. **리스크 등급**: 중간
**판정**: 기각 — 현재 규모에서 비용 대비 효과 부족. 향후 검토 대상으로 기록.

### 합의/결론
**Item 1: 전원 A (경량 병합)** — 데코레이터 기반 안전 검증 통합 + 향후 모듈 분리 로드맵

---

## 최종 합의 사항

1. **Git Worktree 격리 → A (경량 병합)**: worktree_manager.py에 데코레이터 기반 안전 검증 주입. Registry에 super-worktree, gstack-worktree 모두 "absorbed" 태깅. 향후 확장 시 commands/guards/config 모듈 분리.
2. **주간 회고 → B (pm-a6 아카이브)**: gstack-retro가 완전 대체. pm-a6는 "archived, superseded_by: gstack-retro"로 태깅. 핵심 방법론(정성 입력)은 retro SKILL.md에 인라인 참조.
3. **Progressive Disclosure → A (병합)**: moai 3레벨 아키텍처 + taste feature flag를 on/off 스위치로 통합. 초기 구현은 키워드 트리거만, 나머지 점진 추가. 보안 스킬은 always-loaded 필수.
4. **에러 감지/수정 → A (병합)**: fireauto circuit breaker(1차 자동수정) + gstack escalation(2차 보고) 계층화. 범용 모듈로 추출, pyright_check를 첫 마이그레이션 대상. 에러 카운터 영속 저장 필수.

## 미해결 항목
- Item 3 구현 벤치마크: 81% 절감 수치의 cold start 검증 필요
- Item 4 롤백 메커니즘: 자동수정 시도의 부작용 누적 방지 설계

## Temporal Interrogation

### [HOUR 1] 작업 시작
- [RESOLVED] Registry YAML 업데이트 형식: 기존 status 필드에 absorbed/archived 값 추가
- [RESOLVED] pm-a6 아카이브 경로: absorption-registry.yaml에서 status: archived 태깅
- [OPEN] Item 1 데코레이터 구현 시점 — 이번 태스크 범위인가, 후속 태스크인가?

### [HOUR 2-3] 핵심 구현
- [RESOLVED] 4건의 결정 방안: 위 최종 합의 사항 참조
- [OPEN] Item 3 skill_loader.py 존재 여부 — 신규 생성 vs 기존 파일 수정
- [OPEN] Item 4 범용 circuit_breaker 인터페이스 설계

### [HOUR 4-5] 통합/테스트
- [RESOLVED] Registry 업데이트는 YAML 수정만이므로 테스트 불필요
- [OPEN] Item 3/4 구현 시 기존 테스트 영향 범위 파악

### [HOUR 6+] 마무리
- [RESOLVED] 3문서 + 보고서 경로: memory/tasks/task-1640.1-*.md, memory/reports/task-1640.1.md
- [RESOLVED] absorption-registry.yaml 업데이트 방안은 후속 태스크로 분리 (분석만 이번 범위)

## 다음 단계
- 합의 결과를 3문서(계획서/맥락노트/체크리스트)에 반영
- absorption-registry.yaml 업데이트는 후속 구현 태스크에서 수행
