gptbutler 아카이브 — 완료된 작업 서사
handoff.md가 시드(항상 로드)라 완료된 것은 여기로 원문 cut한다(2026-08-04 정리). 세션 단위 원문은session-*.md에, 한 줄 색인은sessions.md에 있다. 여긴 handoff에 있던 서사를 그대로 옮긴 것.
(2026-08-04) — ✅P0-1 완료: 스폰 세션 파일쓰기 가드레일
페페 지시 = "판정 가중치는 관리페이지 관리항목으로 넣어놔라(내 의견 + 매니저 문맥 판단으로 결정, 당장 규칙 지정 보류). P0부터 이제 작업 시작해."
- ✅P0-1 =
runner.py가 스폰 시--disallowedTools18개를 박는다(운영·비밀 경로 10 + 되돌릴 수 없는 셸 8). broker와 독립이라 훅이 죽거나 우회돼도 CLI가 자체적으로 막는다. 신규 정책파일 0. - broker
classify()를 고치는 안은 기각 — 그러면 페페 대화형 세션 정책까지 같이 바뀐다(권한 알람 최소화는 페페가 고른 정책이다). - 🔑문법을 추측하지 않고
claude -p6회로 실측하고 코드를 썼다 ①경로 규칙은Edit(path)만 먹는다 —Write(path)는 조용히 무시되고 CLI가 경고를 찍는다("only Edit(path) rules are … Edit rules cover all file-editing tools") ②도구명만 막으면 Bash로 우회해 파일이 만들어진다(그래서 파괴 셸도 같이 막는다) ③MultiEdit은 이제 없는 도구(CLI "matches no known tool") ④Bash 규칙은 콜론형·공백형 둘 다 동작 → 콜론형 통일. 기획서 문구를 그대로 옮겼으면 규칙 절반이 안 걸렸다. - 검증 =
runner._selftest()(18규칙·단일 인자·dry_run 동일) · E2E 실규칙으로deploy-live/app.py쓰기 BLOCKED·CLI 경고 0 · 과차단 없음(일반 파일은 정상 생성). - 🔴남은 구멍 = 실측으로 뚫었다 — 규칙이 다 걸린 상태에서
python -c "open('deploy-live/leak.txt','w').write('x')"는 그대로 통과한다. 차단목록은 증명이 아니다(코드 주석에 이 실측을 박아뒀다). 닫으려면 허용목록 모드 = 과차단 위험이라 페페 결정. - timeout 3600초는 그대로 뒀다 — 기획서가 현상으로만 적었고 낮추면 정상 장기 작업이 끊긴다(env로 조절 가능).
- ⏸판정 가중치 = 페페 보류 →
devplan/priority_rules.md에 "⏸ 보류 중인 규칙 결정" 절 신설(사유·재개조건·실측 근거 38카드). 매니저는 비어 있음을 숨기지 말고 드러낸다. P0-3은 그래서 대기. - ⏳다음 = P0-2(카드↔실행 배선). ⏳페페 = 남은 구멍 처리 택1(①그대로 ②허용목록 ③broker Bash-ops 규칙 — ③은 페페 세션도 걸린다). →
projects/gptbutler/session-2026-08-04-p0-1-spawn-guardrail.md
(2026-08-04) — 3차 정리: 기반↔제품 분리 + 라이브 대화 접점 + 그림 3장
비서 루프 2주기 완주. GPT 인계문(메모 15건) → 코디 검토 → 채택 4 · 수정채택 3 · 중복 병합 8 → 본문 반영 → 메모 초기화 · 인계문 inbox/archived/.
- ✅최대 변경 = 개발 축을 기반과 제품으로 쪼갰다(GPT 지적 채택). gptbutler(실행 기반) ≠ devplan 매니저(개발 제품) — 코드상 이미 별개다(기반
tools/cody-mcp-gateway/ 제품devplan/). 2차까지 한 칸에 뭉쳐 쓴 탓에 9층 셀이 "실행통로 실재 / 판정층 없음" 두 판정을 동시에 담아 판정 불가였다. - 쪼개니 모양이 나온다 — 기반은 통로가 뚫렸고(1·5·8·9 ●) 제품은 비어 있다(9·11 ○ · 1·5·7·10 △). "이름만 매니저"의 정체 = 기반 부실이 아니라 제품이 기반을 안 쓴다.
- 표기 = B안(페페 택1) — 열 추가 없이 칸을
기반/매니저두 줄로. 실측 = 표 자연폭 810px, 데스크톱(1018) 넘침 0. - 🆕라이브 대화 접점 = 제품 방향으로 격상(페페 지시) — "poin-agent를 실제 사람 직원처럼 해서 사무실 직원과의 소통 수단으로. 채널 = 슬랙·카톡·PFS 웹." 지금 poin-agent는 사람을 상대하지 않는다(입력이 로그다) → 입구가 하나 더 생기는 것. 반영 = 7절 본문 + 그림 3 + 개선안 P1-4 신설. ⚠매트릭스엔 안 넣었다(실사표는 지금 있는 것만 — 1차 최대 오류가 이 경계를 흐린 것). 코디 추천 = PFS 웹 먼저(사내 로그인이라 화자 신원이 이미 있다), 순서는 P0-2(관측) 뒤(사람이 말을 걸면 답이 맞았는지 재는 눈이 먼저다). 「도구 0」 원칙 불변 — 늘어나는 건 조회·정리·승인 요청까지.
- 🔧GPT안 3건은 그대로 안 받았다 ①"도구 0 → 위험 실행 도구 0" = 실측은 종류 불문 0건이라 그 문구는 "안전한 도구는 붙어 있다"로 읽혀 사실을 약화시킨다 →
도구 0 — 위험 실행을 사람 하드락으로 뺀 결과. ②KB 인계를 P1-1 목표로 통합하면 큰 결정 하나에 P1이 묶인다 → append(태그 기준)와 인계 설계를 별도 트랙으로. ③라이브 대화는 위처럼 격상. - 🆕그림 3장(페페 지시 "이해하기 쉽게") = 4축 구조도(s0) · 두 폐루프+끊긴 자리(s5) · 대화 파이프라인(s7). 전부 인라인 SVG·색은 테마 변수만.
- 🔑함정 = 그림이
plan_read를 오염시킨다 — SVG<text>는 파서에 그냥 텍스트라 GPT가 읽는 본문에 낱말이 뒤죽박죽 섞인다 →plan_tools.SKIP에svg추가, 캡션(.fig-cap)이 뜻을 글로 지고 간다. selftest에 캡션 유실검사 + 누출검사 추가. - 🔑함정 = 화살촉 마커를 SVG마다 정의하면 id 중복 → 문서 최상단 0×0 SVG에
defs한 번, 3장이 공유. - 검증 =
plan_tools --selftest(구역 11·유실 0·svg 누출 0) · check_theme/check_font FAIL 0 ·build_hub --selftest11 ·project_state.py check38 · 실브라우저 1512×950(SVG 3장 렌더·페이지 가로스크롤 0·매트릭스 넘침 0·13px 미만 0·배지 11) · 그림 3장 캡처 육안. - ⏳페페 몫 = ①P0 착수 승인(추천 = 개발축 P0-1 파일쓰기 가드레일) ②결정 4건(가구지식 태그 기준 / 🆕KB 인계 범위 / 판정 가중치 / 🆕대화 채널 순서) ③육안. →
projects/gptbutler/session-2026-08-04-ai-stack-map.md"3차 정리" - 🔎결정 ③ 전제 정정(페페 질의 중 38카드 시뮬레이션) — 🔴가중치 숫자만으로는 순서가 안 생긴다: 상위 8건이 전부 동점(
병목+마무리+stage4로 필드가 동일 · 병목40/25↔20/45로 뒤집어도 순서 불변). 결정의 실체는 "동점을 무엇으로 깨나" — 무전환 일수를 얹으면 gpt-consult(19일) 1위·pfs 1위→7위로 갈린다(묵은 결재 먼저 vs 현업 직결 먼저 = 페페 가치 판단). +🔴60일 방치 규칙은 미발동(병목 16건 최대 무전환 19일) → 임계 30일 검토. 실측 = 병목 16 · 마무리 8 · 방치 0 · 트랙 8:8.
(2026-08-04) — GPT 비서 1주기 완주: 상의 → 인계 → 본문 반영 (2차 정리)
비서 루프가 실제로 한 바퀴 돌았다. 페페가 GPT 앱과 상의(메모 15건 작성·7건 스스로 정리) → plan_note("handoff")로 [GPT] 표기 인계문 → 코디가 검토·반영 → 메모 초기화. plan_read로 본문을 실제로 읽은 증거 = 인계문 총평이 우리 P0 순서를 정확히 옮겼다.
- 축이 바뀌었다(4건 확정) ①12개념 = 구축 순서가 아니라 소유 주체 지도(1~4 모델 제작사 / 5~11 우리 / 12 장기) ②매트릭스 "없음"은 대부분 자산 부재가 아니라 미연결 → 5기호로 분리(△ 붙이면 되는 것 / ▲ 붙이면 안 되는 것) ③4축 번호(5.5~11.5) 폐기 → 5~11 가로축(페페 확정 근거 = "번호는 12층을 우리가 다 구축한다는 전제였다. 실제 기준은 우리 관련 에이전트 구축") ④목표 재정의 = 일반 AGI 아닌 도메인 범용 에이전트, 완성 조건 = 폐루프(지식→판단→승인→실행→결과평가→피드백학습).
- 🔴페페 최신 지적 = "가구 도메인 쪽으로만 흘렀다. devplan 매니저로서 개발 전담 에이전트도 있어야 한다" → 폐루프를 2개로 그렸다. ①현업 축(가구 도메인) = 승인·실행은 촘촘한데 평가 끊김·학습 반쪽 → "돌긴 도는데 자기가 잘했는지 모르고, 몰라서 안 는다" ②개발 축(gptbutler=devplan 매니저) = 판단·실행·학습 3곳 동시 끊김 → 뼈대도 실행기도 있는데 사람이 5단계를 손으로 잇는 중.
- 두 루프 관계 = 새 개념 아님 — 26.8.2 확정 공급-수요가 곧 상위 루프(축 내부 6단계=자기 루프 / 목표 A환류·C유입=상위 루프). 실사에서 두 스케일이 같은 자리(승인)에서 끊긴 것을 확인(
pfs카드가 A통로 실물인데 개발 축 승인 단계에서 정체). → 상위 루프 전용 메커니즘은 안 만든다(각 축을 이으면 같이 메워진다). - 적대검증이 분류 오류 3건 적발 → 코디가 코드로 재확인 후 전건 정정. 🔴가장 큰 것 = gptbutler 하네스를 "미연결"로 과소평가 — 실제로
runner.py:7,34,47이 broker(7777)를 직접 호출한다. 근거로 든 QA봇 훅 차단은 별개 코드경로였다. "연결은 됐는데 얕다"가 정확(파일쓰기 AUTO_ALLOW는 그대로 사실이라 P0-1은 유지). +멀티모달 "근거 없음" 후퇴 복원(◐) +프롬프트 층 기준 불일치(둘 다cwd가C:\dev하위라 공통 코퍼스 상속 — 실측). - 페이지 = 9구역 → 11구역 재편(
s0~s10, 신설 = 5 목표 재정의 2폐루프 · 6 로드맵(확보/연결)). 개선안 16항목(현업 7 + 개발 9 — 각 축에 학습 단계 항목 신설). 🔑폐루프 표를 CSS 그리드로 짰더니plan_read에서 한 줄로 뭉쳤다 → 표로 교체(화면 동일·CSS 감소·구조 보존).plan_notehandoff 정렬도 문자열 정렬이면 s10이 s2 앞에 와서 화면 순서 기준으로 교체. - 검증 =
plan_tools --selftest(구역 11·유실 0·표 보존·s10 순서·태그간 공백·방어 4) · check_theme/check_font FAIL 0 ·build_hub --selftest11 PASS · 실브라우저(11구역·가로스크롤 0·테라코타 유지·말풍선 배지 11). - 메모 8건은 본문 반영 후 초기화(페페 지시), 인계문은
inbox/archived/로 이동. 코드 변경 0건(기획서). - ⏳페페 몫 = ①P0 착수 승인(추천 1순위 = 개발 축 P0-1 파일쓰기 가드레일) ②결정 2건(가구지식 태그 기준·판정 가중치 숫자) ③육안.
(2026-08-04) — GPT 비서 배관 구축: 기획서 읽기 + 구역별 말풍선 실시간 반영 (임시작업)
페페 지시 = "GPT랑 상의하면서 계획 수정할 거다. 버그 고치고 GPT가 ai-stack-map 상세를 읽게 해라. GPT가 자기 이름 표기하며 정리해 코디에게 넘길 수 있게. 페이지엔 구역별 말풍선. 나는 HTML 직접 안 건드린다 — GPT가 비서 노릇 얼마나 하나 테스트다. GPT가 내용·수정위치 정리→코디 지시문→코디가 수정. 상의하는 동안 정리된 내용이 실시간으로 HTML에 반영돼야 한다."
- 🐛버그 수정 —
butler_tools.py(_days(...) or 99) <= 2가 당일(_days()==0, falsy)을 or가 삼켜✅최근 2일 진행에서 당일 항목이 통째로 빠졌다(어제·그제만 떴다)._within()헬퍼로 교체. 실측 = 오늘자 2건(ai-stack-map·cody-rules) 되살아남. 경계 5항목 assert. - 툴 2종 신설 → 게이트웨이 9개 = 상한 정확히 참 (
handoff.md"툴 9개 상한" 준수. 더 늘리려면 기존 툴을 합쳐야 한다). plan_read(section="")—ai-stack-map.html을 페페가 보는 화면과 같은 순서·내용으로 텍스트화. 🔑정본은 HTML 유지(페페 확정: "사용자와 같은 페이지를 본다"). md로 빼지 않는다. 표는 마크다운 표로 보존(안 그러면 12층 매트릭스가 뭉개져 위치가 안 맞는다), 쉘·사이드바·스크립트는 제외.plan_note(action, section, text, author, note_id, tag)—add/list/delete/handoff. 구역s0~s8.- 말풍선 배관 =
devplan/ai-stack-map-notes.json(데이터) + 페이지 JS 10초 폴링. 🔑정적 JSON fetch라 8799 재시작 불필요(서버는 상승권한이라 코디가 못 죽인다 — design-refscatalog.json선례). 실측 = 새로고침 없이 1.2초 만에 반영. - HTML엔 앵커
id="s0"~"s8"만 박고 메모는 하드코딩 0 — 그래야 GPT가 위치를 지목하고 코디 반영이 1줄로 끝난다. - 작성자 =
GPT|페페둘뿐(페페 확정: "실제 작성자가 코디인 건 알지만 상의 멤버는 나와 GPT뿐"). 코디는 작성자가 될 수 없다. - 기본 = 메모 있는 구역만 펼침(빈 구역 9개가 "메모 없음"으로 도배되지 않게), 배지 클릭 토글.
- 남이 쓴 텍스트는
textContent로만 넣는다(innerHTML 금지 — XSS + 재빌드 스파이크). - 코디 인계 = 기존
inbox/chatty-*.md규약 확장(gpt-<주제>-<날짜>.md). 새 배관 0 — 코디가 매 세션 읽는 경로다.[GPT]표기는 툴이 자동으로 박는다(규칙 말고 기계로 강제).plan_note("handoff")가 메모를 구역별로 묶어 수정위치까지 붙여 쓴다. E2E 실측 완료. ~/.codex/AGENTS.md에 라우팅 규칙 신설 — "12층 지도/기획서"→plan_read(추측 금지·반드시 읽어라), 상의 중 결론→그 자리에서plan_note add(논의 단위로 쪼개서·무엇을 어떻게 바꿀지까지), "코디에게 넘겨"→handoff. "메모는 제안이지 확정이 아니다 — 본문 반영은 코디가 검토 후" 명시.- ⚠샘플 메모는 남기지 않았다 — 검증 중 페페가 하지 않은 말을
페페작성자로 적었다가 전량 삭제. 사용자 이름으로 발언을 지어내면 안 된다. - 검증 =
plan_tools --selftest(구역 9·유실 0·표 보존·순서 일치·태그간 공백·방어 4) · MCP 툴 등록 9개 · 실브라우저(렌더·실시간 1.2초·토글·가로스크롤 0) · check_theme/check_font FAIL 0 ·build_hub --selftest11 PASS. 커밋 gateway57c52f4. - ⏳페페 몫 = ①Codex 앱 재시작(새 툴 2개는 세션 새로 열어야 뜬다) ②GPT와 상의 개시 → "코디에게 넘겨"로 인계문 받기.
- → devplan
ai-stack-map.html·ai-stack-map-notes.json·plan_tools.py
NOW (2026-08-04) — AI 12층 지도로 자산 실사 → 개발축 개선안 8항목 (기획서)
페페 지시 = 유튜브 「AI 용어정리 12개(바이브코딩 지도 2부)」를 우리 자산에 적용 + 우리 자산과 영상 양쪽의 부족한 점을 평가해 devplan 기획서로. 페페 구도 = poin-agent 개선안(현업축) + gptbutler로서 devplan 개발업무(개발축) — 26.8.2 확정한 현업/개발 2트랙과 정확히 겹쳐 새 개념 도입 없이 기존 2트랙에 층만 매겼다.
- 판정 = "층이 없는 게 아니라 배선이 안 됐다." 12층 중 10층을 이미 갖췄으나 전부 공통 인프라(코디)에만 있다. poin-agent = 4층뿐(1 LLM·5 프롬프트·10 워크플로우·11 하네스 / 6 KB·7 RAG·8 MCP·9 에이전트 공백), gptbutler = 실행통로 有·판정층 空.
- gptbutler 실사 요지 —
run_claude_code_task(실행권한 통로)는 실재하는데 devplan 카드와 잇는 코드가 grep 0건 = "이름만 매니저".priority_state.json은 파일 자체가 없고portfolio_review()가 매 실행 "전 항목 미판정"을 자백한다.butler_tools._load()는 파일 통짜읽기(=RAG 없음)인데mem_find.pyFTS5가 이미 돌고 있다(2,749섹션·0.1초·5분 재색인) — 만들 게 아니라 붙일 것. - 🔴개선안 8항목 중 P0-1(가드레일)이 전체 1순위 — broker
whitelist.classify()가 Edit/Write/MultiEdit를_is_ops_file아니면 전부 AUTO_ALLOW(파일쓰기 게이트 없음) +runner._build_claude_args에--disallowedTools없음 + timeout 기본 3600초. P0-2(카드↔실행 배선)보다 먼저 넣거나 같은 커밋에 묶는다 — 통로를 열고 나서 필요해지는 순간은 이미 사고 난 뒤다. - P0-2 = 새로 만들 게 아니라 이미 있는 3개를 잇는 것 —
app.py의 승인 UI 패턴(furniture-expert 자가학습 후보에서 검증됨) +runner.run_claude_task+project_state.pyCLI. P0-3 판정층은 풀 LLM 3판정자 보류, 기존 필드(dev_track·stage·last_progress)만으로 가중치 1개. ⚠가중치 숫자는 코디가 확정 안 한다(priority_rules.md"페페가 직접 고친다"). - 공유선/분리선 확정 — 공유는 도구 수준만(창고·
mem_find·broker·project_state.py·cody-vision·whisper), 분리는 실행권한 범위(poin-agent는 "도구 0" 설계 유지, gptbutler만 차단목록). 통합 프레임워크·공용 LLM wrapper·임베딩 벡터DB는 안 만든다(과설계 — 분리선을 지우고, FTS5가 0.1초에 답하는 규모에 근거 없음). - 영상 자체 결함 = 누락 4축(메모리·컨텍스트 엔지니어링·평가(eval)·구조화 출력) + 부정확 4건(MCP를 에이전트의 전제로 못박음 / 파인튜닝을 4번에 배치 / RLHF=예절교육이 SFT와 뭉개짐 / 하네스 은유가 4개 설계문제를 한 단어로 뭉갬). 누락 4축이 우리 실사고와 1:1 대응이라 → 12+4=16축 지도로 확장해 쓴다.
- 🔴실사 오탐 1건 걷어냄 — "cody-mcp-gateway MCP 미등록" 판정은
~/.claude.json(Claude용)을 본 것. 이 게이트웨이는 Codex용이라~/.codex/config.toml:44에 정상 등록(직접 확인). 개선안에서 제외. - 산출물 = devplan
ai-stack-map.html(기획서 단일 출처) + 허브 카드ai-stack-map(candidate·stage 2 승인대기) + 세션문서. 코드 변경 0건. 검증 = check_theme/check_font FAIL 0 ·build_hub --selftest11 PASS · 카드 38개. - ⏳페페 몫 = ①P0 착수 승인(추천 1순위 = gptbutler P0-1 가드레일) ②결정 2건(poin-agent 가구지식 태그 기준 / gptbutler 판정 가중치 숫자) ③페이지 육안.
- → devplan
ai-stack-map.html·session-2026-08-04-ai-stack-map.md
NOW (2026-08-03) — 🟢 P0 완전 통과, 비서 가동 개시
- ✅[페페 실측 26.8.3] P0 완전 통과 — 데스크톱 Codex에서 텍스트+음성 모두 비서 작동. "오늘 브리핑 해줘"(텍스트·음성)가
brief_today를 불러 실브리핑을 낸다. 음성→MCP 도달이 실측으로 확정돼 트랙 A(PC)는 성립. 다음 = P1 잔여(판정층) [코디], 모바일(P2 터널)은 필요해질 때. - ✅[코디] 26.8.3 음성 세션 릴레이 체계 가동(페페 지시: 20분 또는 컨텍스트 60% 자동 릴레이+사전 통보). 🔑자가 책정 = 완전 가능(실측: rollout에
thread_source=realtime_voice+token_count.last_token_usage/model_context_window=258,400) → 툴voice_session_status(경과·%·임계 판정)·prepare_voice_handoff(summary)(인계문 저장+텔레그램 사전 통보, 새 세션brief_today상단 자동 편승 6h) + 상주 감시자voice_relay_watch.py(30초 폴링·세션당 1회 통보·HKCU Run 자동시작 — GPT가 놓쳐도 잡는 이중화) + AGENTS.md 음성 규칙(긴 대화 시 자가 status 확인→임계면 handoff 호출→"새 대화 열고 '이어서'" 안내). 🔑음성 세션 직접 시작 API는 불가 확정(웹조사: 음성 URI 없음·앱은 한도 도달 시 알림만·/realtimeCLI 고장(#17495)·app-server Win 불가). 자연어 실측 = "지금 음성 세션 사용량 어때?" → status 툴 호출·"10분 경과·12%" 정답. 커밋 gateway42baf3b. - ✅[페페 지시→코디] 워커 v2 = 자동 전환까지(26.8.3, gateway
54d126d) — 임계 통보 → 인계문 감지(GPT 요약) 또는 3분 유예 후 rollout 마지막 8턴 자동 발췌 →codex://new딥링크 프리필("이어서…") → Enter 주입(전송) → 완료/실패 텔레그램 통보. 실측 성공(switch_probe: 딥링크로 ChatGPT 전경 전환+프리필+Enter 전송 — 로그온 세션 상주라 SendInput 유효). 남은 수동 = 음성 버튼 클릭 1번(핫키 미지정 시). ⏳페페 몫 = 앱 Settings>Voice에서 Voice chat hotkey 지정 후 키 조합 알려주기 → 워커VOICE_HOTKEY에 넣으면 음성까지 완전 자동. 노브 =voice_relay_watch.py상단(AUTO_SWITCH·GRACE_SEC 180·RESUME_PROMPT). -
🔑[코디] 음성 속도 = 공식 배속 없음 + 비공식 우회도 4갈래 전부 실사용 검증 절차 없음(1·2차 웹조사 확정, 26.8.3 — 재조사 금지). ①숨은 0.5~2.0x 플래그 = 발견 보고만 있고 활성화 절차 전무 + Codex 사례상 Statsig 서버 재동기화가 로컬 패치를 덮음 ②시스템 오디오 실시간 배속 = 부품(WASAPI loopback+SoundTouch+VB-CABLE ~14-21ms)은 실존하나 완성형 도구·성공사례 전무(DIY 조립만 가능, 지연 +100-150ms·1.3x↑ 음질 열화 위험 — 유일하게 조립 가능성 있는 경로) ③OpenAI Realtime API엔 공식
speed파라미터(0.25~1.5) 실재하나 Codex config.toml 표면에 미노출([realtime]엔 version·type뿐 — 향후 노출되면 즉시 적용할 감시 항목) ④브라우저 playbackRate = 라이브 WebRTC 스트림 불가 정설. 현실 대안 = 구두 "빠르게 말해줘"(공식 인정) + AGENTS.md 발화 지시(적용됨, 체감 확인 대기). -
[페페] 완료 목표 모델 = 날짜가 아니라 완성도(26.8.3, v3의 D-day 축 기각) — 완료 목표는 범위(부분 우선/전체) × 차수(1차 최종/다회차) 를 먼저 분류하고, 완성도는 단계(계획→승인→실행→검증→완료) × 회차로만 표시. 퍼센트 금지(공수 데이터 없음=가짜 정밀도) · 보류는 1급 상태(사유+재개 조건, 빨갛게 칠하지 않음) · 날짜는 조용한 보조(정렬·강조·경보 기준 금지). 시간 신호는 "마지막 진척 이후 경과"(단계 무전환). 상세 = 아래 "완료 목표 모델 재정의".
- [페페] 26.8.3 「단계 게이지+회차 배지」 채택 + 매니저 시스템 착수 지시 — "그외 매니저 구축을 위한 시스템 확인하고 진행. UI는 추후 선택 후 변경 — 허브 페이지만 목업 참고해 변경, 다른 페이지는 유지."
- [코디] 매니저 1단계(상태층+허브 UI) 완료(26.8.3) — ①
devplan/project_state.json신설(36카드: 범위×차수·단계·회차·이번 회차 기준·다음 액션+주체·결재선·최근 진행·보류·last_progress) ②project_state.pyCLI가 완료 목표 운영규칙을 코드로 강제(보류=사유+재개조건, 회차+1=--why, 단계전환=last_progress 자동) ③build_hub.py허브 메인 = 진행판(게이지 테이블·티어 4구획·합계 자동계산) + FAIL 게이트(카드↔상태 1:1·dev_track 미분류 차단) ④priority_rules.md초판(순위 5규칙·수치는 가드레일). 매니저 사이클과의 연결 = ⑤진행 갱신이 이 상태층에 쓰고, ②결재선이 approval 필드로 화면에 뜬다. 잔여 = 판정층(priority_state.json·라우터 1~2콜) + gptbutler 툴(plan_draft·progress_update) = P1~P3 소관. 목업 원본 =devplan/gptbutler-hub-mockup.html(비교·이력용 유지). - 계획 전문 단일 출처 = devplan
gptbutler.html(http://100.108.234.45:8799/gptbutler.html). 이 문서는 상태·결정·제약만. - 발단 = "운용하는 프로젝트·도구가 너무 많아졌다. PC·모바일에서 텍스트+라이브 보이스로 쓰는 비서를 GPT 공식앱 플러그·커넥터로 만들고 싶다" (페페 지시).
- 선행 감사에서 GPT 연결 기능 전수 확인 완료 → gpt-consult(browser 백엔드·도구 없음) / gpt-consult-v2(API 백엔드·읽기전용 7종) / agent-dialogue-hub. 도달 범위 = GitHub 비공개 11개, Notion 167개, 로컬
C:\dev전체, 웹 3도메인.
[페페] devplan 허브 개선 목업 + 심사 대시보드 폐기 (2026-08-02)
- 부속 페이지 신설 =
devplan/gptbutler-hub-mockup.html— 관리형 UI 아키타입 7종을 목업으로 만들고 적대검증·수정 후 순위. 서브에이전트 15개(설계 7 + 검증 7 + 종합 1) 워크플로 산출. - 요구 = R1 시선으로 즉시 프로젝트 식별(최신순·수치순 배열 불충분 → 1차 배열을 문맥 중요도로) · R2
dashboard-review.html폐기 · R3 devplan은 최상위 통합 관리 페이지(사람이 판단하기 쉬운 개념) · R4 카드 링크는 정확히 2개(📋기획서 / ⚙관리 CRUD 페이지, 예 kakao-ops). - R2 완료 = 허브 링크 3곳 제거(상단 탭·푸터·모달 승격 버튼) + 재빌드, 페이지는
C:\dev\_trash\devplan-dashboard-review-softdeleted-20260802\로 소프트딜리트, 생성기build_dashboard.py는 재실행 금지 표시만(입력_wf*.json잔존 → 되돌리기 여지). - UI와 매니저는 같은 데이터를 쓴다 — 목업의 정렬·구획 기준 = 판정층이 만든 중요도(
priority_state.json). 채택 후 반영 지점 =build_hub.py템플릿.
★ [페페] 26.8.3 — 매니저의 최종 형태 = 페페의 아바타 (조언자 → 실행 오너)
지시 원문: "devplan 매니저의 역할은 최종적으로는 직접 프로젝트 개발 계획을 세우고 내게 승인을 받아서 완료 목표를 기준으로 완료 시점까지 프로세스를 끌고 가는 것이다. 즉 나의 아바타가 되어 작업을 수행한다. 이 과정에서 devplan에 진행 상황을 갱신하고 내가 이해하기 쉬운 구조로 보고를 지속하는 것이다."
사이클 6단계 — ①매니저가 개발 계획 수립(목적·범위·금지·완료조건·검증·되돌리기) → ②페페 승인 게이트(여기서 멈춘 건이 아바타의 가장 비싼 지연 → 화면 최상단 결재선) → ③완료 목표 확정(완료 조건 1줄 + 목표 시점, 목표 없는 건은 "목표 미설정"으로 드러냄) → ④실행 추진(task_run → 코디, 위험 작업은 broker 승인) → ⑤devplan 진행 갱신(project_state.json) → ⑥지속 보고(주간 + 단계 전환 시점) → 완료까지 반복.
- 승인은 사람 몫으로 남긴다 — 아바타는 계획·추진·보고를 하지만 ②의 승인과 위험 게이트는 페페가 누른다. 매니저가 스스로 승인하는 경로는 만들지 않는다.
- 툴 추가 2종 —
plan_draft(계획 초안 → 승인 요청, ①→②) ·progress_update(단계 전환·다음 액션·최근 진행 기록 + 보고 문장, ⑤→⑥). 총 11종(읽기 7 / 쓰기 4). - UI 요구가 바뀐다 — 보드는 "무엇이 중요한가"를 넘어 "각 건이 완료까지 어디쯤 왔고 지금 누가 무엇을 해야 넘어가는가"를 보여야 한다 → v3 목업은 완료 목표 · 현재 단계 · 다음 액션+주체 · 페페 결재선 · 최근 진행 보고 5요소를 표에 담는다.
v3 목업 결과(26.8.3) ⚠D-day 축은 페페가 기각 → v4로 대체(아래 완료 목표 모델 참조. 아바타 5요소·결재선 배너·단계 점 시각화는 유효하게 승계) = 추천 「완료 목표 D-day 중심」(종합 9 · 아바타 충족 10 · 중요도 보존 10). 아바타 5요소가 전부 별도 열로 있고 D-day 자체가 완료까지 남은 거리라 모델과 직결. 접붙이기 2건 = ①결재선 갈래의 상단 고정 결재 큐 배너(추천안은 결재선이 열이라 스크롤해야 보임 = 유일한 약점) ②스테퍼의 단계 점 시각화. 탈락 = 스테퍼(CSS 스코프 누수·배지 색 역전 — 수정했으나 신호가 간접적) · 결재선(완료 거리 표시 약함) · 보고서형(D-N 추정치라 신뢰도 낮음) · 주간보드(하위 30건 남은 거리 흐릿, 아바타 충족 8 최저).
매니저 운영 규칙(보드를 살리는 조건) — ①승인 요청 시 배너+결재선 열에 요청 건·요청일 동시 기입(안 채우면 대기 상태 진입 금지) ②단계 전환마다 즉시 갱신, 다음 액션은 "액션+주체" 형태 ③D-day는 확정된 것만, 미확정은 "미설정" 유지(추정치 금지) ④완료 시 24~48h 내 아카이브 강등 ⑤주 1회 이상 최근 보고 갱신(안 하면 환류 열이 죽고 표가 아바타 기능을 잃는다).
⚠반년 뒤 붕괴 1순위 = 지난 D-day 방치 — 갱신 안 하면 "남은 거리"가 거짓말하는 표가 된다. 2순위 = 건수 드리프트(결재 대기 숫자 수동 표기 → 카드 늘면 어긋남, 검증에서 4 vs 5 실측) → 자동 계산 강제.
★ [페페] 26.8.3 — 완료 목표 모델 재정의: 날짜가 아니라 완성도
지시 원문: "D-day는 devplan에서 보조 역할 정도만 하고 메인 기준이 될 수 없다. 작업이 보류될 수도 있고 사용자 특성상 하루 또는 몇 시간 만에 작업 완료를 할 수도 있다. 단계 중심으로 완성도 표시가 더 의미가 있다. 완료 목표는 실사용 기준으로 부분 우선 작업 또는 전체 작업 기준 등의 분류 기준을 먼저 잡고, 완료 목표를 1차 최종 또는 다회차 완료 기준으로 잡아야 되는 게 맞다."
완료 목표 = 2축을 먼저 분류한다
| 축 | 값 | 완료가 무엇인가 |
|---|---|---|
| ① 범위 | 부분 우선 | 실사용에 필요한 조각부터. 완료 기준 = 그 조각이 현장에서 실제로 쓰인다 |
| 전체 | 설계 범위 전부. 완료 기준 = 전 범위 검증 통과 | |
| ② 차수 | 1차 최종 | 한 번에 끝내고 종료(단발) |
| 다회차 | N차로 나눠 완료. 회차마다 완료 기준·산출이 따로 있고 회차 종료 시 실사용 투입 |
예 — pfs=부분 우선·다회차(월마감→발주서→재고) / cody-vision=전체·1차 최종 / poincad2=전체·다회차(P0~P3). 등록 시 두 축을 먼저 정하지 않으면 완료 판정이 매번 흔들린다.
완성도 = 단계 × 회차 — 단계 5개(계획→승인→실행→검증→완료, 기호+텍스트 병기) + 회차(2/4차 + 이번 회차 완료 기준 1줄). ⚠퍼센트 금지(공수 데이터가 없어 가짜 정밀도). 보류는 1급 상태 — 사유+재개 조건을 함께, 지연처럼 빨갛게 칠하지 않는다(정상적 선택).
날짜의 새 위치 = 보조 — 있으면 작은 회색 표기, 없으면 빈칸(경고 없음). 정렬·강조·경보 기준으로 쓰지 않고 지난 날짜를 붉게 칠하지 않는다. 시간 신호가 필요하면 "마지막 진척 이후 경과"(단계가 안 바뀐 채 흐른 기간)를 쓴다 — 이건 방치 감지라 의미가 있다. → 배분층 D(추진 정체)의 신호도 날짜 초과가 아니라 단계 무전환으로 교체. 보류는 사유·재개 조건이 있으면 정체로 세지 않는다.
[코디] v4 목업 결과(26.8.3) = 추천 「단계 게이지 + 회차 배지」(종합 9.3 · 완료 명확도 9 · 날짜 비의존 9 · 베이스 보존 10 — 5안 중 최고, kill 0). 진행을 면적으로 보여주는 유일한 안이라 날짜 없이 3초에 "어디까지 왔나"가 잡히고, 35행 전부에 이번 회차 완료 기준 1줄, 보류는 별도 tier로 격리(경고색 배제). 게이지가 셀 안 인라인이라 표 밀도를 안 깨고 60행까지 버틴다.
- 접붙이기 2건 = ①matrix의 범위×차수 고정 배지 열(정렬·필터에 유리) ②criteria의 보류 재개 조건 1줄 필수화(비면 등록 반려).
- 탈락 = criteria(완료 기준은 최강이나 단계를 3초에 보여주는 축 없음, 8) · rounds(회차 원 개수 세기라 3초축 열세 + 완료 tier에 완료 기준 문구 누락, 8) · matrix(9컬럼·min-width 900px라 정보 산개, 9) · ladder(행 확장이라 60건에서 세로 팽창 + "다회차 1차" vs "1차 최종" 오독 여지, 8.7).
- 완료 목표 운영 규칙(확정) = ①등록 시 범위·차수 먼저 태깅(모르면 계획단계-미정, 빈칸 금지) ②총 회차 미상이면 "다회차(회차미정)"로 시작하고 확정 즉시 N/M 갱신 ③회차 +1은 스코프 변경·이전 산출물 폐기 때만(단순 재검토·버그수정은 회차 유지) ④완료 전환 = 이번 회차 완료 기준 충족(부분 범위는 그 부분만 충족해도 완료 가능 — 실사용 기준) ⑤보류는 재개 조건 1줄 필수, 비면 등록 반려.
- ⚠반년 뒤 붕괴점(v4 기준으로 교체) = ①회차 운영의 주관성("스코프 변경" vs "단순 재검토" 경계를 본인도 잊는다 → 회차 인플레 또는 정체) ②"다회차(회차미정)" 라벨 고착(착수 후 재분류 안 되면 게이지가 실제 진척과 괴리된 채 굳는다). v3의 1순위였던 "지난 D-day 방치"는 D-day 격하로 해소.
- 페이지 = devplan/gptbutler-hub-mockup.html(탭 전환·추천안 기본선택·목업 상단/설명 하단). v3 원본은 _trash/devplan-mockup-v3-superseded-20260803/.
[페페] 26.8.3 — 배분 게이지 격하
"게이지로 가구/도구 비율 표기가 되어 있는데 수치는 참고용으로 좋지만 이 부분이 중요한 부분은 아니다. 문맥적 파악으로 순위를 구성하다 보면 60:40 비율은 평균치일 뿐 매일 변한다."
- 배분 게이지는 화면 주인공에서 내려온다 — 작고 조용한 참고 지표, ±15%p 경보는 주간 리뷰에서만(일간 화면에서 매일 울리면 오탐으로 무시된다). 트랙은 행 단위 배지·좌측 띠 + 텍스트 라벨 수준.
- 대신 배분층에 D 신설 = 추진 정체(승인 대기 3일↑ · 단계 전환 없이 흐른 일수 · 완료 목표 미설정). 배분 비율보다 이쪽이 실제로 일을 막는다.
[페페] 26.8.3 선택 — ③ 관리형 데이터 테이블 채택, 나머지 6종 폐기
- 채택 = 관리형 데이터 테이블(devplan 메인 UI 확정). 채택 이유 = 밀도(34개 한 화면)·구획이 정렬을 대체·환류 열.
- 폐기 = 나머지 6종(트리아지·2트랙 레인·사분면·아이덴티티 타일·자산 건강판·브리핑 내러티브). v1 페이지 원본은
_trash/devplan-mockup-v1-superseded-20260803/에 보존. - 추가 지시 = 테이블에 2트랙 구분 기능만 얹어 다시 갈래를 나눈다 → v2 목업 5갈래(트랙 배지 열 / 구획 내 서브그룹 / 2섹션 분리 / CSS 탭 필터 / 배분 바+인터리브), 서브에이전트 11개(설계 5 + 적대검증 5 + 종합 1).
- ⚠핵심 함정 = 트랙으로 화면을 쪼개면 "가장 급한 항목"이 두 곳으로 분산돼 사람이 다시 비교해야 한다(3초 목적이 깨짐). → 각 변형이 트랙을 보여주면서 중요도 1차를 지키는 방법을 각자 제시하고, 검증에서 베이스 보존도 / 중요도 보존도를 별도 채점.
- v2 결과 = 「배분 바 + 인터리브」 추천(점수 9 · 베이스 보존 10 · 중요도 보존 10). 트랙으로 쪼개지 않고 상단 게이지(현재 41:59 · 목표 60:40 · −19%p 경보)로 균형만 감시하고 표는 중요도 순 인터리브 유지 → 함정을 원천 회피한 유일한 안. 차점 badge(9점)는 배지만 있고 비율 지표가 없어 "곁눈질로 치우침 파악"이 안 돼 탈락.
- 접붙이기 2건만 = ①tabs의 CSS-only 트랙 필터(한 트랙만 파고들 때,
:has()미지원 브라우저 폴백 필요) ②badge의 텍스트 라벨 병기(색띠+아이콘만으로는 반년 뒤 색 의미를 잊는다). - 탈락 사유 = subgroup(접힘 상태에서 트랙 비율 비노출 + 검증 중 환류 열 실질오류) · split(P1~DEAD 완전분리라 트랙 간 비교에 섹션을 오간다) · tabs(비교에 클릭이 필요 — 곁눈질 요건 미달).
- ⚠반년 뒤 무너질 지점 2개 = ①목표 60:40이 상수라 업무 비중이 바뀌면 오탐만 울리다 무시된다(재조정 절차 필요) ②신규 카드에
dev_track기본값을 강제하지 않으면 미분류가 쌓여 배분 바가 실제와 어긋난다 →build_hub.py가 미분류를 FAIL로 막는다(source 경로 검증과 같은 패턴). - 구현 =
dev_track∈ {pfs-furniture,tool} 34개 값 채우기(슬러그 화이트리스트 1차 자동분류 → 애매건 수동 검수, callbot류가 애매) +build_hub.py에 좌측 띠·아이콘·라벨 렌더 + 배분 게이지 계산(트랙별 count·목표 상수·15%p 임계).
(v1 이력) 아키타입 7종 비교 결과 — 전문은 세션문서로 이관
- 7종 전부 8.0~8.5로 동점·탈락 0 → 순위는 "열고 3초 안에 다음 행동이 나오는가"로 매겼고, 채택안=트리아지 결정 큐 / 비권장=브리핑 내러티브(수기 갱신 밀리면 조용히 거짓말)·사분면 맵(좌표 수작업). 간트·캘린더는 시작·마감·의존 데이터 부재로 불가(가짜 일정 없이는 못 그린다 — 재시도 금지). 전문 =
session-2026-08-02-gptbutler-plan.md"추가 지시 ⑦" · devplangptbutler.html. - ⏳선행 작업(전 목업 공통) = 35개 프로젝트의 기획서·관리페이지 경로 매핑표. 지금 목업 링크는 전부 더미(
#)이고, R4의 2링크 규칙은 이 매핑이 있어야 실제로 성립한다. 관리페이지가 없는 프로젝트는 '관리 없음' 비활성으로 둔다. build_hub.py변경 범위 = 링크 2슬롯 매핑 테이블 + 구획 카운트 자동 재계산(하드코딩이면 프로젝트 추가 시 깨진다) + (조합안 채택 시) 레인·테이블 렌더 함수 추가·테이블 기본<details>접힘.
✅ P0 코디 몫 완료 (2026-08-03) — 가드 봉합 + Codex STDIO 등록·실호출 성공
- [코디] 가드 구멍 2건 봉합 —
gpt_tools.py:_LOCAL_SKIP_DIRS+.secrets·.claude-cred,_LOCAL_DENY_GLOBS+*.env·*credentials*, 마스킹에PW추가. 회귀 =hub/adapters/test_gpt_tools_guard.py(실제 뚫렸던 파일 종단 확인 포함 — GUARD OK). - [코디] gateway 재가동 — venv가 Python 3.14 preview 삭제로 죽어 있었다(베이스 소실) → Python312 절대경로로 재생성.
mcp2.0.0이mcp.server.fastmcp1.x API를 제거해 서버가 안 떴다 →mcp>=1.9.0,<2핀. stdio 핸드셰이크·툴 3종(classify_task/run_claude_code_task/gateway_doctor)·위험분류(rm -rf→ask) 전부 실측 통과. - [코디] Codex 등록 =
~/.codex/config.toml직접 편집(데스크톱 앱 GUI 불필요 — 앱·CLI 설정 공유 실확인).codex mcp list에 enabled로 인식,codex exec가gateway_doctor를 실호출해 JSON 반환(모델 gpt-5.6-terra). - 🔑헤드리스 제약 실측(재조사 금지) —
codex exec에서 MCP 툴 호출은 codex 자체 승인에 걸려 "user cancelled"로 즉시 취소된다.--full-auto·-c mcp_servers.<id>.trusted=true로도 안 풀리고--dangerously-bypass-approvals-and-sandbox에서만 실행됐다(0.146.0-alpha.9.2). 대화형 데스크톱 앱은 승인 버튼으로 해소될 것(육안 대기). session-relay codex 백엔드에서 gateway 툴을 쓰려면 이 플래그가 필요하다는 뜻 — codex 승인은 우회돼도 위험작업은 gateway 안의 broker 게이트가 그대로 막는다. - 🔑함정 2(재발 방지) — ①heredoc으로 config.toml에 경로를 쓰면
\t가 탭으로 오염된다(이중디코드, 실제 발생) → 경로 쓰기는 파일 스크립트로. ②venv는 베이스 인터프리터가 지워지면 통째로 죽는다 → 재생성 시 Python312 절대경로.
✅ P1 조회 툴 2종 탑재 (2026-08-03) — 비서 첫 실동작
- [코디]
brief_today+portfolio_reviewgateway 탑재(butler_tools.py, 읽기 전용 — 쓰기는 P3 게이트 뒤). 데이터 =project_state.json+projects.json+ 루트HANDOFF.md(전부 로컬 읽기, 없는 축은 날조하지 않고 명시 — 일정=단일 출처 부재, 판정층=미판정). - brief_today = 결재 대기(15건 실측)·정체 8일↑·보류(사유+재개조건)·최근 2일 진행 + NOW 활성 항목.
- portfolio_review = 규칙 기반 v1(③병목→④90% 마무리→⑤60일 방치, 완료 근접 순 상위 10) + 배분 참고 + 완료 목표 미정 목록.
- 종단 실측 = stdio 툴 5종 목록·호출 OK + codex exec(gpt-5.6-terra)가 brief_today를 호출해 실브리핑 수신. 커밋 = gateway
8b1d2ed. - 남은 P1 = 판정층(
priority_state.json라우터 판정 — 리뷰의 ①규칙이 비어 있다) + 브리핑 구성·분량 페페 피드백 반영. - [페페 실측 26.8.3] 일반 채팅창은 MCP를 모른다 — 앱에서 "오늘 브리핑 해줘" → 뉴스·날씨가 나옴. cody_gateway는 Codex 모드에만 붙는다(제약 재확인 — 일반 채팅·음성에서 쓰려면 P2 원격 커넥터). → [코디] 조치 =
~/.codex/AGENTS.md신설(비어 있었음): "브리핑"→brief_today, "우선순위/뭐부터"→portfolio_review, 실행 요청→run_claude_code_task(+classify), 수치 변조·날조·자가승인 금지. 실측 =codex exec "오늘 브리핑 해줘"→ brief_today 호출·실브리핑 반환 성공. AGENTS.md는 대화 시작 시 로드 → 앱에서는 새 Codex 대화부터 적용. ✅[페페 실측 26.8.3] 앱 Codex 모드에서 작동 개시 확인 — P0 데스크톱 경로 성립. 남은 실측 = 음성.
다음 = P0 페페 몫 → P1 잔여
페페: ChatGPT 데스크톱 앱 재시작 → Codex 모드에서 cody_gateway 툴 5종(classify/run/doctor/brief_today/portfolio_review) 보이는지 + brief_today 호출 → 음성으로도 되는지 실측(제약 1·2를 실측 결과로 덮어쓴다). 막히면 트랙 B(터널)를 앞당긴다.
이후 P1 잔여(판정층·브리핑 구성 피드백) → P2 읽기 축 + 모바일 개통 → P3 쓰기 2종+게이트+주간리뷰 → P4 음성 확장(유예).
루트 HANDOFF NOW 이관 (2026-08-17, 캡 30,000자 근접) — ai-stack-map 실사
- 🆕ai-stack-map [코디] 26.8.4 AI 12층 지도로 자산 실사 → 기획서(현업축 poin-agent + 개발축 devplan 매니저). 판정 = "층이 없는 게 아니라 배선이 안 됐다" — 12층 중 10층을 이미 갖췄으나 전부 공통 인프라(코디)에만 있다. 창고(user_brief·가구KB)도 검색기(
mem_findFTS5 2,749섹션·0.1초)도 이미 도는데 두 제품 다 안 쓴다. 🔴전체 1순위 = 개발축 P0-1 파일쓰기 가드레일(broker가 Edit/Write를_is_ops_file아니면 전부 AUTO_ALLOW +--disallowedTools없음 + timeout 3600초) — 배선(P0-2)보다 먼저 넣거나 같은 커밋. 영상 결함 = 누락 4축(메모리·컨텍스트·평가·구조화출력 — 전부 우리 실사고와 1:1) + 부정확 4건. - 2차(GPT 상의 1주기) = 축 4개 확정 — 12개념은 소유 주체 지도(1~4 제작사 / 5~11 우리) · "없음"의 대부분은 미연결(△ 붙이면 되는 것 / ▲ 붙이면 안 되는 것) · 4축 번호 폐기·가로축 · 목표 = AGI 아닌 도메인 범용 에이전트 2개의 폐루프(지식→판단→승인→실행→평가→학습). 적대검증이 분류오류 3건 적발→전건 정정(가장 큰 것 = gptbutler 하네스 과소평가 —
runner.py가 broker 직접 호출이라 "연결은 됐는데 얕다"가 정확). - 🆕3차(GPT 비서 2주기 메모 15건 — 채택4·수정채택3·병합8) ①🔴gptbutler(실행 기반) ≠ devplan 매니저(개발 제품) 분리 — 한 칸에 뭉쳐 판정이 안 됐다. 쪼개니 기반은 통로가 뚫렸고 제품이 비었다 = "이름만 매니저"의 정체(기반 부실 아님). 표기는 B안(열 추가 없이 칸 2줄, 페페 택1) ②🆕라이브 대화 접점 = 제품 방향(페페 지시 — poin-agent를 사람 직원처럼 세워 사무실 직원과 소통, 슬랙·카톡·PFS 웹) → 7절 본문+그림3+P1-4 신설, ⚠매트릭스엔 안 넣음(실사표는 지금 있는 것만), 추천 = PFS 웹 먼저(화자 신원 있음)·P0-2 뒤, 「도구 0」 불변 ③GPT안 3건은 수정채택("위험 실행 도구 0"은 실측이 종류 불문 0건이라 사실을 약화시켜 거부 · KB 인계 결정이 P1-1을 막지 않게 트랙 분리) ④🆕그림 3장(4축 구조도·두 폐루프·대화 파이프라인, 인라인 SVG·테마 변수만) 🔑SVG 텍스트가
plan_read를 오염시켜SKIP에 svg 추가 + 캡션이 뜻을 진다. - 검증 = plan_tools selftest(구역11·유실0·svg누출0) · check_theme/font FAIL 0 · build_hub 11 · project_state 38 · 실브라우저 1512×950(SVG 3장·가로스크롤 0·13px미만 0·배지 11) · 그림 캡처 육안. 메모 초기화+인계문 archived. 코드 변경 0. ⏳페페 몫 = ①P0 착수 승인 ②결정 4건(가구지식 태그 기준 / 🆕KB 인계 범위 / 판정 가중치 / 🆕대화 채널 순서) ③육안. 🔎가중치 전제 정정(38카드 시뮬레이션) — 🔴숫자만으론 순서가 안 생긴다: 상위 8건 전부 동점(필드가 동일, 40/25↔20/45 뒤집어도 불변) → 결정의 실체 = 동점 깨기 신호(무전환 일수 얹으면 pfs 1위→7위). +60일 방치 규칙 미발동(최대 19일). → devplan
ai-stack-map.html·projects/gptbutler/session-2026-08-04-ai-stack-map.md
🧹 루트 HANDOFF NOW 이관 (2026-08-19 대청소 — pncad 외 전량, 페페 지시)
루트
HANDOFF.md를 pncad 만 남기고 비웠다. 아래는 그때 옮겨온 원문(문구 무변경).
- ai-stack-map — AI 12층 지도로 자산 실사 → 기획서(현업축 poin-agent + 개발축 devplan 매니저) [코디] 26.8.4 ✅정리 완료(원문 cut →
projects/gptbutler/archive.md). 판정 = 층이 없는 게 아니라 배선이 안 됐다(12층 중 10층 보유, 전부 공통 인프라에만). ⏳페페 = ①P0 착수 승인 ②결정 4건(가구지식 태그 기준 / KB 인계 범위 / 판정 가중치 / 대화 채널 순서) ③육안. → devplanai-stack-map.html·projects/gptbutler/archive.md