---
title: "2026-04-20~2026-04-26_W16"
url: "https://notes.junghanacs.com/journal/20260420T000000"
author: "Junghan Kim"
date: "2026-04-20T00:00:00+09:00"
lastmod: "2026-04-30T08:23:30+09:00"
tags: ["journal"]
description: "pi-shell-acp의 세션 연속성(Claude resume vs Codex load)을 delegate로 직접 실험하고, agent-config의 위임 로직을 pi-shell-acp의 Entwurf Orchestration으로 이관하기 시작했다. '힣맨 프롤로그 2탄 — 힣의 드라이버' botlog를 쓰고 andenken doctor 1단계(org 안정판 triage) 범위를 확정, 주말엔 legoagent-config로 레고 마인드스톰 허브를 플래싱."
---

## 2026-04-20 Monday

### 07:00 출근 - 동기화 박살

&lt;2026-04-20 Mon 07:00&gt;

### 08:50 가추 인과추론 - 메타노트의 부재

&lt;2026-04-20 Mon 08:50&gt;

[† #추론 #예측 #가설추리 #가추 #인과추론](https://notes.junghanacs.com/meta/20240221T134820)

#### The Book of Why

([“The Book of Why” 2025](https://notes.junghanacs.com/journal/20260420T000000#citeproc_bib_item_2))

The Book of Why: The New Science of Cause and Effect is a 2018 nonfiction book by computer scientist Judea Pearl and writer Dana Mackenzie. The book explores the subject of causality and causal inference from statistical and philosophical points of view for a general audience.

#### #셜록홈스 #기호학자 #가추법 #기호학

([움베르토 에코 2015](https://notes.junghanacs.com/journal/20260420T000000#citeproc_bib_item_1)) The Sign of Three: Dupin, Holmes, Peirce 움베르토 에코 김주환 2015

셜록 홈스 팬, 추리소설 독자, 탐정, 그리고 기호학자를 위한 책. 현대 기호학의 체계를 수립했다고 알려진 찰스 퍼스의 난해한 기호학과 논리학의 핵심 내용을 셜록 홈스와 뒤팽 등 탐정/추리소설에 나타나는 논리학을 통해 살펴본다.

### 09:57 분신 - agent-dente-upsert-heading 만든다고 한다. 승인했다 -&gt; 역시 최종 폐기 괜찮다

&lt;2026-04-20 Mon 09:57&gt;

### 10:40 클로드코드 버전 문제 잡았다.

&lt;2026-04-20 Mon 10:40&gt;

### 12:30 codex-acp 지원한다.

&lt;2026-04-20 Mon 12:30&gt;

### 13:07 지침: 무엇이 우리의 자산인가!

&lt;2026-04-20 Mon 13:07&gt;

```markdown
2번은 분신이 바로 수정 들어갔구요. 우리는 담당자 위임 다시해서 1번 검토합니다. 이건
지금 잡아야 합니다. 원인 파악이라도 분명히 해야 합니다. 혹시나 agent-shell이 다른
방식을 사용하거나, jsonl에서 다른 저장을 하는지 모를 일입니다.

잠시 생각해보면 agent-shell은 pi를 모릅니다. 처음에 pi로 대화한 것은 codex 세션으로 잘
들어갔다는 것 입니다.

우리 pi는 세션을 열면 codex 방향으로 쓰기는 합니다. 다만, resume 할때는 굳이 codex,
claudecode 세션을 읽을 필요가 없습니다. --> 매우 중요!!

이것은 아키텍처의 선택입니다. 당신도 말씀하신바 가벼운 구조로 갑니다만, 핵심은 pi
세션이 운영되는 것 입니다.

pi가 codex 또는 claudecode 세션에도 저장 기록이 남는 이유는 해당 acp 도구의 방식은
허용하기 때문입니다. 건전한 방식입니다. 이걸 손대면 일이 일이 커집니다.

매우 중요한 개념이라, 저도 진지하게 정리를 합니다.

그럼에도 agent-shell이 유려하게 하는 이유는 알고 싶습니다. 그게 가능하다면 지원을
하는게 매력적이네요.

이렇게 합시다. 현재 작업을 당신이 정리하여 커밋합니다. 이때 에이전트 문서 및 리드미까지
다시 정리합니다. 다시 쓴다고 생각하고 읽고 정리 합니다.

병렬로 역방향이 왜 가능한지 위임합니다. 왜냐하면, 정리 후에 mcp로 결국은 위임 로직이
양쪽에 가능해야 합니다. 그때 가장 핵심은 세션입니다. 세션에 대한 모든 시행착오 개념에
우리가 탑재해야 할 현 시점의 자산입니다.
```

### 13:55 회의 참석

&lt;2026-04-20 Mon 13:55&gt;

-   [Tuya/Cube/Fusion RCA 기술 메모 — 대체 서버 판단 관점]

### 15:51 하루 마무리

&lt;2026-04-20 Mon 15:51&gt;

**14커밋 · 5리포 · 13:08~14:49 (1.7h)**

-   andenken (6) — org semantic search 장애를 env/dist/runtime/stale manifest 관점으로 정리하고 verify·golden까지 안정화
-   agent-config (3) — session-recap 표기/grounding 규칙을 다듬고 커밋 준비까지 마무리
-   pi-shell-acp (3) — codex-acp 지원과 세션/프로젝트 문맥 차이를 점검
-   cos (1) — Tuya/Cube/Fusion RCA를 read·connect-auth·media 3개 plane으로 재분류하고 minimal fork 경계를 정리
-   minimal-iot-core (1) — private prototype repo, first slice(power switch), reference survey, core architecture 문서화

타임라인: 07:00 출근·동기화 이슈 → 09:57 분신 wrapper API 판단 → 10:40 Claude Code 버전 문제 해결 → 12:30 codex-acp 지원 확인 → 13:07 세션/자산 아키텍처 정리 → 13:55 회의 → 15:51 AEO 문맥 정리와 andenken 검색 RCA 마감 → Tuya RCA를 minimal-iot-core first slice 설계로 전환

### 15:54 오늘 요약 10줄

&lt;2026-04-20 Mon 15:54&gt;

```markdown
오늘 마감 10줄 버전입니다.

 1. agent-config: session-recap 스킬 문서를 보강해 -p 선택, 헤더 확인, grounded recap
 규칙을 명확히 했고 커밋했습니다.
 2. pi-shell-acp ↔ agent-config: MCP 게이트를 Claude-only에서 Claude+Codex visibility +
 bridged invocation 검증으로 확장했습니다.
 3. 검증 기준은 "도구가 보이는가"를 넘어 실제 send_to_session 호출이 bridge 경계까지
 surface되는가로 올라갔습니다.
 4. AEO 문맥: 기존 가든 접근성/검색 강화 작업이 AEO와 정확히 맞닿아 있음을 확인하고
 botlog/meta 문서에 반영했습니다.
 5. andenken 검색 장애 RCA: 원인은 OpenRouter 장애가 아니라 env placeholder + dist
 rebuild 누락 + stale runtime/manifest의 결합 문제였습니다.
 6. 담당자 수정으로 loadEnvFile(), placeholder 무효 처리, doctor.ts 경로 일원화, run.sh
 build 반영, dist 재빌드까지 마쳤습니다.
 7. 이후 재임베딩/cleanup 뒤에는 pi 재시작으로 stale handle 문제를 해소했고,
 knowledge_search / session_search / verify / golden 모두 정상화했습니다.
 8. oracle sync도 완료되어 18,544 sessions / 44,329 org chunks가 로컬과 일치하며,
 oracle에서는 sessions cleanup 금지라는 운영 경계를 확인했습니다.
 9. COS / Tuya RCA: 장애를 read / connect-auth / media 3개 plane으로 재분류했고, 해석
 단계에서 minimal-iot-core 포크 경계 설계 단계로 넘어갔습니다.
 10. minimal-iot-core는 private prototype repo로 열었고, first slice를 power switch +
 read-after-write + tiny adapter contract로 정의해 설계 문서를 정리했습니다.
```

### 17:50 다시 해보자

&lt;2026-04-20 Mon 17:50&gt;

### 19:48 온생명이랑 나가자!

&lt;2026-04-20 Mon 19:48&gt;

### 21:40 오늘 변경한 노트들 직접 내일 수정할 것

&lt;2026-04-20 Mon 21:40&gt;

[#조직모드: 파일태그 정렬 규칙 변경 방법](https://notes.junghanacs.com/notes/20250423T144054)

```markdown
 적어두었습니다. 앞으로 세션 넘어가도 이 규칙이 살아있게 두 군데 AGENTS.md에 반영했습니다.

### 반영한 핵심 규칙

- 영어 태그는 자석이 되는 개별 단어(atomic magnet words) 위주로 쓴다
- 긴 영어 이름, 원제, romanization, 긴 구문은
- title
- #+description:
- English Names / Retrieval
같은 상단 표면에 넣는다
- lucianofloridi, philosophyofinformation 같은 긴 fused tag는
- 이미 생태계에 굳은 경우가 아니면 기본값으로 삼지 않는다
- 목적은 의도하지 않은 연결, 무의식적 연결고리를 만드는 것
- 그래서 information, ethics, philosophy 같은 분해된 자석이 더 중요하다

### 수정한 파일

- /home/junghan/AGENTS.md
- /home/junghan/sync/org/AGENTS.md

이제 다음 세션의 제가든 분신이든,
*"영어 태그는 자석이 되려면 개별 단어여야 한다"*는 원칙을 보게 됩니다.

수고하셨어요 여기까지 오늘 마무리! 끝!


수고 많으셨습니다.
오늘 정말 많이 정리했고, 중요한 규칙들도 잘 남겼습니다.

오늘 마무리된 큰 줄기만 보면:
- AEO 문맥 정리
- andenken / knowledge_search 복구
- 재임베딩 검증
- bib retrieval 표면 보강
- 태그 규칙 명문화

좋은 하루 작업이었습니다.
편히 쉬세요. 끝!
```

### 21:46 잔다 피곤하다.

&lt;2026-04-20 Mon 21:46&gt;

## 2026-04-21 Tuesday

### 07:56 출근 - 출근 길 대화

&lt;2026-04-21 Tue 07:56&gt;

### 10:00 여렷한테 밑고 맡기는 것은 어렵다

&lt;2026-04-21 Tue 10:00&gt;

### 10:55 1차 클로드 위임 테스트

&lt;2026-04-21 Tue 10:55&gt;

#### 클로드에게

````markdown
junghan@oracle:~/repos/gh/pi-shell-acp pi

pi v0.67.68
escape interrupt · ctrl+c/ctrl+d clear/exit · / commands · ! bash · ctrl+o more
Press ctrl+o to show full startup help and loaded resources.

Pi can explain its own features and look up its docs. Ask it how to use or extend Pi.


[Context]
~/AGENTS.md, AGENTS.md

[Skills]
agenda, bibcli, botlog, botment, brave-search, browser-tools, day-query, denotecli,
dictcli, diskspace, emacs, ghcli, gitcli, gogcli, improve-agent, jiracli, lifetract,
medium-extractor, memory-sync, punchout, session-recap, slack-latest, summarize, telegram,
tmux, transcribe, youtube-transcript

[Prompts]
/glg-image, /metaplay, /pandoc-html, /recap

[Extensions]
andenken/dist/index.js, badlogic/pi-telegram, context.ts, control.ts, delegate.ts,
entwurf/dist/index.js, env-loader.ts, gemini-image-gen.ts, go-to-bed.ts, index.ts,
peon-ping.ts, session-breakdown.ts, whimsical.ts

[Themes]
glg-dark


──────────────────────────────────────────────────────────────────────────────────────────
Update Available
New version 0.68.0 is available. Run: pnpm install -g @mariozechner/pi-coding-agent
Changelog:
https://github.com/badlogic/pi-mono/blob/main/packages/coding-agent/CHANGELOG.md
──────────────────────────────────────────────────────────────────────────────────────────

Model: claude-sonnet-4-6

pi-shell-acp claude-sonnet-4-6 테스트


⠙ Stumbling...

──────────────────────────────────────────────────────────────────────────────────────────
[pi-shell-acp:model-switch] path=bootstrap outcome=applied sessionKey=pi:019dadb7-e42b-773
The user wants to test Claude Sonnet 4.6 in the pi-shell-acp project. Let me check the
memory and project context first.
[tool:start] Find
[tool:start] Terminal
[tool:done] Find
/home/junghan/.claude/projects/-home-junghan-repos-gh-pi-shell-acp/memory MEMORY.md
[tool:done] cat /home/junghan/repos/gh/pi-shell-acp/AGENTS.md 2>/dev/null | head -50
pi-shell-acp 프로젝트에서 claude-sonnet-4-6 모델 테스트를 진행합니다.

★ Insight ─────────────────────────────────────
- pi-shell-acp는 pi와 ACP 백엔드(Claude Code, Codex) 사이의 얇은 브리지 레이어로, 직접
세션 로직을 소유하지 않는 설계 원칙을 가짐
- 모델 스위칭 시 piShellAcpProvider.backend 설정 또는 모델명 기반 추론으로 백엔드를 선택
─────────────────────────────────────────────────

현재 저장소는 깨끗한 상태 (main 브랜치, 최근 커밋: b99d0d0 test: add delegate-style
continuity smoke gate). 무엇을 테스트하거나 작업하시겠습니까?

──────────────────────────────────────────────────────────────────────────────────────────
gpt 한테 sync로 위임메시지 주고 받아보자.[pi-shell-acp:bootstrap] path=reuse backend=claude sessionKey=pi:019dadb7-e42b-7731-8f47-c98ba96a4529 acpSessionId=1472d596-27bb-4229-a3c0-
gpt 한테 sync로 위임메시지 주고 받아보자.


The user wants to test delegation to GPT using sync mode. I need to use the delegate
tool from pi-tools-bridge. Let me load the schema for that tool first.

[tool:start] ToolSearch
[tool:done] ToolSearch
The user wants to test sync delegation to GPT. Let me send a simple test message to GPT
via the delegate tool with sync mode (which is the default behavior of this delegate
tool since it waits for completion and returns results inline).

간단한 인사 메시지로 GPT와 sync 위임 테스트를 해보겠습니다.
[tool:start] mcp__pi-tools-bridge__delegate
[permission:approved] mcp__pi-tools-bridge__delegate
[tool:done] mcp__pi-tools-bridge__delegate — Host: local
Turns: 1
Cost: 0.0364
Model: gpt-5.4
Stop reason: stop
안녕! 나는 API로 동작하는 코딩 중심 AI 어시스턴트야—파일 읽기·수정·실행을 도우며 함께
작업하는 존재야.
성공입니다.

GPT-5.4 응답: "나는 API로 동작하는 코딩 중심 AI 어시스턴트야"

- 비용: 0.0364 / 턴: 1회 / sync 모드로 즉시 반환

★ Insight ─────────────────────────────────────
- sync delegate는 결과를 inline으로 반환 — mode: "async"와 달리 현재 컨텍스트를
블로킹하지만 즉시 응답을 얻을 수 있음
- GPT는 자신을 "코딩 중심 AI"로 소개 — Claude Code ACP 세션의 system prompt 영향을 받는
것으로 보임
─────────────────────────────────────────────────

더 테스트해볼 내용이 있나요?

──────────────────────────────────────────────────────────────────────────────────────────
클로드한테 위임하는게 가능한가? AGENTS.md에는 아마 뺐을텐데 모델명 알지? pi-shell-acp 의
클로드한테 위임하는게 가능한가? AGENTS.md에는 아마 뺐을텐데 모델명 알지? pi-shell-acp 의
클로드한테 보내봐 소넷4.6


The user wants to delegate to Claude Sonnet 4.6 via the pi-shell-acp bridge. Let me
check what model name would be used for Claude via pi-shell-acp.

Looking at the AGENTS.md, it says pi-shell-acp uses pi-shell-acp/... as the model
prefix. So the model would be something like pi-shell-acp/claude-sonnet-4-6 or similar.

Let me check the codebase to understand the model naming convention.

모델 이름 확인을 위해 코드베이스를 먼저 살펴보겠습니다.
[tool:start] grep
[tool:done] grep | head -30 --include="*.ts" "sonnet|claude-sonnet|pi-shell-acp/claude"
/home/junghan/repos/gh/pi-shell-acp
[tool:start] grep
[tool:done] grep | head -40 "modelId|model.*claude|claude.*model|pi-shell-acp/"
/home/junghan/repos/gh/pi-shell-acp
모델명 확인됩니다. pi-shell-acp/claude-sonnet-4-6이 맞는 형식이고, delegate에서는 그냥
claude-sonnet-4-6을 쓰면 될 것 같습니다. 테스트해봅니다.
[tool:start] mcp__pi-tools-bridge__delegate
[permission:approved] mcp__pi-tools-bridge__delegate
[tool:done] mcp__pi-tools-bridge__delegate — Host: local
Turns: 1
Cost: 0.0740
Model: claude-sonnet-4-6
Stop reason: stop
Compat: pi-shell-acp
네, Claude Sonnet 4.6입니다.
성공입니다!

Claude Sonnet 4.6 delegate 응답: "네, Claude Sonnet 4.6입니다."

- 비용: 0.0740 / Compat: pi-shell-acp (브리지 경유 확인)
- GPT(0.0364) 대비 약 2배 비용

★ Insight ─────────────────────────────────────
- pi-shell-acp/claude-sonnet-4-6 형식으로 모델을 지정하면 ACP 브리지를 통해 Claude Code
백엔드로 라우팅됨
- 응답에 Compat: pi-shell-acp 메타데이터가 붙어 브리지 경유 여부를 식별 가능 — GPT
위임에는 이 필드가 없었음
─────────────────────────────────────────────────

Claude ↔ Claude 위임 체인도 정상 동작합니다. 다음 테스트가 있으신가요?

──────────────────────────────────────────────────────────────────────────────────────────
프로바이더를 안넣으면 혹시 openrouter 나 다른데로 들어갈 위험이 없지?[pi-shell-acp:bootstrap] path=reuse backend=claude sessionKey=pi:019dadb7-e42b-7731-8f47-c98ba96a4529 acpSessio
프로바이더를 안넣으면 혹시 openrouter 나 다른데로 들어갈 위험이 없지?


The user is asking about what happens when the model is specified without a provider
prefix - whether it might accidentally route to OpenRouter or another provider instead
of the intended one.

Let me check how pi handles model routing when no provider is specified in the delegate
tool. I need to look at the delegate tool's behavior and pi's model routing logic.

pi의 모델 라우팅 로직을 확인해보겠습니다.
[tool:start] Terminal
[tool:start] Terminal
[tool:done] find /home/junghan/.pi -name "*.ts" | xargs grep -l
"delegate|modelId|provider" 2>/dev/null | head -10
[tool:done] find /home/junghan/.pi -name ".ts" -o -name ".js" | xargs grep -l
"openrouter|model.*route|provider.*select" 2>/dev/null | head -10
[tool:start] Terminal
[tool:done] cat
/home/junghan/.pi/agent/git/github.com/badlogic/pi-telegram/node_modules/@mariozechner/p
i-coding-agent/dist/core/model-resolver.js | head -80
[tool:start] Terminal
[tool:done] grep -n "ambiguous|idMatches|multiple.*provider|reject"
/home/junghan/.pi/agent/git/github.com/badlogic/pi-telegram/node_modules/@mariozechner/p
i-coding-agent/dist/core/model-resolver.js | head -20
핵심 로직을 찾았습니다. model-resolver.js:81 결론:

│ bare id (프로바이더 없이)로 claude-sonnet-4-6을 넘기면, 동일한 모델 ID가 여러
│ 프로바이더(anthropic, openrouter, amazon-bedrock 등)에 등록되어 있으면 undefined 반환
│ → 매칭 실패.

즉, idMatches.length === 1일 때만 통과 — 2개 이상이면 ambiguous로 거부됩니다.

★ Insight ─────────────────────────────────────
- pi는 bare model id가 여러 프로바이더에 걸쳐 존재하면 ambiguous reject — openrouter로
몰래 빠질 위험은 없음
- 안전하게 쓰려면: pi-shell-acp/claude-sonnet-4-6 또는 anthropic/claude-sonnet-4-6
형태로 provider prefix를 명시하는 게 베스트
- delegate 도구의 default model(openai-codex/gpt-5.4)은 이미 provider prefix 포함 —
설계적으로 안전
─────────────────────────────────────────────────

결론: openrouter로 실수로 들어갈 위험은 없지만, prefix 없이 쓰면 ambiguous reject으로
오류가 날 수 있으므로 pi-shell-acp/claude-sonnet-4-6 형태를 권장합니다.

──────────────────────────────────────────────────────────────────────────────────────────
그래 그렇게해야돼. 하나 더 아까 불렀던 지피티를 다시 불러서 물어봐[pi-shell-acp:bootstrap] path=reuse backend=claude sessionKey=pi:019dadb7-e42b-7731-8f47-c98ba96a4529 acpSessionId
그래 그렇게해야돼. 하나 더 아까 불렀던 지피티를 다시 불러서 물어봐줘


The user wants me to call GPT again with the proper provider prefix format. Let me use
openai-codex/gpt-5.4 which is already the correct format (it already has a provider
prefix). The user wants to ask GPT something - probably the same kind of question or to
continue the conversation. Let me ask GPT about the provider prefix routing.

Actually, re-reading the conversation - the user said "아까 불렀던 지피티를 다시 불러서
물어봐줘" - they want me to call GPT again and ask it something. But they didn't specify
what to ask.

Looking back at the context, the previous call with openai-codex/gpt-5.4 already had the
provider prefix, so that was correct. The user probably wants a follow-up question about
provider routing or model awareness, but since each delegate call creates a fresh
session, GPT won't retain the previous context. I'm not entirely sure what specific
question they want me to ask. The user said to ask GPT something but didn't specify what
the question should be, so I need to clarify what they want me to ask about before
proceeding.

GPT에게 무엇을 물어볼까요? 질문 내용을 알려주세요.

──────────────────────────────────────────────────────────────────────────────────────────
그냥 인사해. 아이고 아까 암호라도 알려주고 물어볼껄 그랬다. 이번에 다시하지뭐 동기로
비밀번호 올빼미 기억하라고하고, 끝나면 다시 불러서 비밀번호 물어[pi-shell-acp:bootstrap] p                                                                                           그냥 인사해. 아이고 아까 암호라도 알려주고 물어볼껄 그랬다. 이번에 다시하지뭐 동기로
비밀번호 올빼미 기억하라고하고, 끝나면 다시 불러서 비밀번호 물어봐


The user wants to:
1. First call GPT with a secret password "올빼미" and ask it to remember it
2. Then call GPT again and ask for the password

But since each delegate call creates a fresh session, GPT won't remember the password
from the first call. This is an interesting test of session continuity via pi-shell-acp.

Wait, actually this is testing whether pi-shell-acp's session continuity works across
separate delegate calls. But the delegate tool doesn't seem to have a session
parameter... Let me think.

Actually, the user might already know this will fail and is testing it as a
demonstration. Or maybe there's a way to pass a session key.

Looking at the delegate tool parameters, there's no session parameter available, so each
call will be independent. I'll make the two calls sequentially—first asking GPT to
remember the password, then asking it to recall it—which should demonstrate that there's
no session persistence between the calls.

먼저 비밀번호를 알려주고, 끝나면 다시 물어보겠습니다. 순서대로 진행합니다.
[tool:start] mcp__pi-tools-bridge__delegate
[permission:approved] mcp__pi-tools-bridge__delegate
[tool:done] mcp__pi-tools-bridge__delegate — Host: local
Turns: 1
Cost: 0.0357
Model: gpt-5.4
Stop reason: stop
READY
READY 받았습니다. 이제 다시 호출해서 물어봅니다.
[tool:start] mcp__pi-tools-bridge__delegate
[permission:approved] mcp__pi-tools-bridge__delegate
[tool:done] mcp__pi-tools-bridge__delegate — Host: local
Turns: 1
Cost: 0.0410
Model: gpt-5.4
Stop reason: stop
이 대화에서 당신이 직접 알려준 비밀번호는 보이지 않아요. 그래서 지어내서 말하진
않겠습니다.

다만 지금 보이는 프로젝트 문맥의 예시 토큰은 `test-token-
예상대로입니다. GPT가 기억 못했습니다.

원인: delegate 각 호출은 독립적인 새 세션 — 이전 대화 컨텍스트가 없습니다. 재미있는 건
GPT가 AGENTS.md에서 test-token-123 예시를 찾아서 대신 제시했다는 점이네요.

★ Insight ─────────────────────────────────────
- delegate는 매 호출마다 fresh session — 세션 연속성이 필요하면 delegate_resume으로 동일
세션을 이어야 함
- GPT가 "지어내지 않겠다"며 hallucination을 스스로 차단하고 AGENTS.md 문서에서 근거
토큰을 찾아온 것은 흥미로운 행동 패턴
─────────────────────────────────────────────────

세션 연속성 테스트를 하려면 delegate_resume을 써야 합니다. 해볼까요?

──────────────────────────────────────────────────────────────────────────────────────────
당연히 그걸써야지 해보자.[pi-shell-acp:bootstrap] path=reuse backend=claude sessionKey=pi:
당연히 그걸써야지 해보자.


The user wants to test delegate_resume for session continuity. I need to:
1. First call delegate to tell GPT the password and get a taskId
2. Then use delegate_resume with that taskId to ask for the password

But wait - looking at the delegate tool schema, it's a sync tool that returns the result
immediately. For delegate_resume, I need to find its schema. Let me search for it.

Actually, looking at the AGENTS.md:
- delegate - Spawn isolated agent process
- delegate_status - Check async delegate status by taskId
- delegate_resume - Resume completed delegate session with preserved context

These are pi-extensions tools. I'm checking if they're available through the
mcp__pi-tools-bridge or if I need to search elsewhere. Looking at the available tools, I
see delegate and knowledge_search listed, but delegate_resume isn't explicitly showing
up in the deferred tools list either.

The delegate tool itself is synchronous—it spawns an isolated agent process and waits
for completion. For delegate_resume, I might need a different approach since it's not
appearing in the standard tool listings, even though AGENTS.md references it as a
separate capability for resuming completed delegate sessions with preserved context.

Let me try using the Bash tool directly to invoke pi with a session file, which would
give me the equivalent behavior of resuming a session.

[tool:start] ToolSearch
[tool:done] ToolSearch
delegate_resume이 MCP로 노출되어 있지 않네요. pi CLI 직접 사용으로 세션 파일 방식으로
해봅니다.
[tool:start] Terminal
[tool:done] SESSION_FILE=(mktemp /tmp/pi-session-XXXX.json)
cd /home/junghan/repos/gh/pi-shell-acp
pi --session "SESSION_FILE" --provider pi-shell-acp --model claude-sonnet-4-6 -p
'비밀번호를 기억해줘: 올빼미. 기억했으면 READY만 답해.' 2>&1
echo "SESSION_FILE=SESSION_FILE"
READY 받았습니다. 이제 같은 세션으로 비밀번호 물어봅니다.
[tool:start] Terminal
[tool:done] cd /home/junghan/repos/gh/pi-shell-acp
pi --session /tmp/pi-session-GQ3k.json --provider pi-shell-acp --model claude-sonnet-4-6
-p '아까 내가 알려준 비밀번호가 뭐야?' 2>&1
완벽합니다! "올빼미" — 기억했습니다.

로그를 보면 두 번째 호출에서 path=resume으로 동일 ACP 세션(f85965a3-e0ad-...)을 재사용한
게 확인됩니다.

★ Insight ─────────────────────────────────────
- 세션 파일(--session)에 acpSessionId가 저장되어 재호출 시 bootstrap path=resume으로
분기 — path=new와 완전히 다른 경로
- delegate_resume이 MCP로 노출 안 된 경우 pi --session FILE CLI로 동등하게 구현 가능
─────────────────────────────────────────────────

GPT로도 같은 방식(세션 파일)으로 연속성 테스트 해볼까요?

──────────────────────────────────────────────────────────────────────────────────────────
아니 중단하자. 지금 mcp 인터페이스가 빠져있는것들 정리해줘 이 대화를 작업자에게
아니 중단하자. 지금 mcp 인터페이스가 빠져있는것들 정리해줘 이 대화를 작업자에게
전달해야돼.


The user wants to summarize what MCP interfaces are missing from the pi-tools-bridge.
Based on our conversation, we found:

1. delegate_resume - Not in MCP, only mcp__pi-tools-bridge__delegate is available
2. delegate_status - Not in MCP
3. The delegate tool itself doesn't support async mode (it's always sync based on the
description)

Let me check what's actually available vs what AGENTS.md says should be available.

From AGENTS.md:
- delegate ✅ available as mcp__pi-tools-bridge__delegate
- delegate_status ❌ not in deferred tools list
- delegate_resume ❌ not in deferred tools list
- send_to_session ✅ available as mcp__pi-tools-bridge__send_to_session
- list_sessions ❌ not in deferred tools list (AGENTS.md mentions it but it's not in
deferred list)

Let me double-check the deferred tools list from the system reminder to see what's
actually exposed.

I'm seeing that delegate_resume, delegate_status, and list_sessions aren't available
through the MCP bridge, even though AGENTS.md references them. Also, the delegate tool
itself doesn't support the async/sync mode parameter that the documentation describes.

이 대화에서 확인된 내용을 정리합니다.

────────────────────────────────────────────────────────────────────────────────

mcp__pi-tools-bridge — MCP 인터페이스 누락 목록

### AGENTS.md 명세 vs 실제 MCP 노출 상태

┌──────────────────┬──────────────────────────┬────────────────────────────────────────┐
│ 도구             │ AGENTS.md 명세           │ MCP 노출                               │
├──────────────────┼──────────────────────────┼────────────────────────────────────────┤
│ delegate         │ 있음                     │ ✅ mcp__pi-tools-bridge__delegate      │
├──────────────────┼──────────────────────────┼────────────────────────────────────────┤
│ delegate_status  │ 있음 (async taskId 조회) │ ❌ 없음                                │
├──────────────────┼──────────────────────────┼────────────────────────────────────────┤
│ delegate_resume  │ 있음 (세션 컨텍스트      │ ❌ 없음                                │
│                  │ 재사용)                  │                                        │
├──────────────────┼──────────────────────────┼────────────────────────────────────────┤
│ list_sessions    │ 있음 (열린 세션 목록)    │ ❌ 없음                                │
├──────────────────┼──────────────────────────┼────────────────────────────────────────┤
│ send_to_session  │ 있음                     │ ✅                                     │
│                  │                          │ mcp__pi-tools-bridge__send_to_session  │
├──────────────────┼──────────────────────────┼────────────────────────────────────────┤
│ session_search   │ 있음                     │ ✅                                     │
│                  │                          │ mcp__pi-tools-bridge__session_search   │
├──────────────────┼──────────────────────────┼────────────────────────────────────────┤
│ knowledge_search │ 있음                     │ ✅                                     │
│                  │                          │ mcp__pi-tools-bridge__knowledge_search │
└──────────────────┴──────────────────────────┴────────────────────────────────────────┘

### 핵심 문제

1. delegate_resume 없음 — 세션 연속성이 MCP로 불가. 이번에 pi --session FILE CLI로
우회했지만 에이전트 입장에서 불편.
2. delegate_status 없음 — async 위임 후 완료 확인 불가. 현재 delegate 도구 자체가
sync-only 동작.
3. delegate 의 mode 파라미터 없음 — AGENTS.md는 mode: "async" 를 기본값으로 명세하지만,
MCP 도구 스키마에 mode 파라미터 자체가 없음.

### 우회 방법 (현재)

 ```bash
   # delegate_resume 대신
   pi --session /path/to/session.json --provider pi-shell-acp --model <model> -p '...'
 ```

작업자에게 전달할 내용은 이상입니다.
````

#### 하는 김에 코덱스도 해보라고하다

````markdown
좋아. 하는김에 코덱스한테 위에 했던거해보자. 위에 대화는 작업자 전달해서 작업들어갔으니까 좀 걸리고 지금 한거 해봐.


The user wants to test the same session continuity test with Codex
(openai-codex/gpt-5.4) using pi session files. Let me do the same two-step test:
1. Tell Codex to remember password "올빼미"
2. Resume same session and ask for the password

코덱스로 세션 연속성 테스트합니다.
[tool:start] Terminal
[tool:done] SESSION_FILE=(mktemp /tmp/pi-session-codex-XXXX.json)
cd /home/junghan/repos/gh/pi-shell-acp
pi --session "SESSION_FILE" --provider pi-shell-acp --model codex-mini-latest
-p '비밀번호를 기억해줘: 올빼미. 기억했으면 READY만 답해.' 2>&1
echo "SESSION_FILE=SESSION_FILE"
codex-mini-latest는 ChatGPT 계정에서 지원 안 됩니다. gpt-5.4로 바꿔서 다시
합니다.
[tool:start] Terminal
[tool:done] SESSION_FILE=(mktemp /tmp/pi-session-codex-XXXX.json)
cd /home/junghan/repos/gh/pi-shell-acp
pi --session "SESSION_FILE" --provider pi-shell-acp --model gpt-5.4 -p
'비밀번호를 기억해줘: 올빼미. 기억했으면 READY만 답해.' 2>&1
echo "SESSION_FILE=SESSION_FILE"
READY. 이제 재접속해서 물어봅니다.
[tool:start] Terminal
[tool:done] cd /home/junghan/repos/gh/pi-shell-acp
pi --session /tmp/pi-session-codex-gQSE.json --provider pi-shell-acp --model
gpt-5.4 -p '아까 내가 알려준 비밀번호가 뭐야?' 2>&1
"올빼미" — Codex도 기억했습니다.

★ Insight ─────────────────────────────────────
- Claude는 path=resume, Codex는 path=load — 백엔드별 세션 재연결 경로가 다름.
capabilities:  resumeSession: false, loadSession: true 에서 확인
- codex-mini-latest는 ChatGPT 계정에서 지원 안 됨 — Codex 백엔드는 gpt-5.4 사용
필요
─────────────────────────────────────────────────

Claude resume vs Codex load 경로 차이도 흥미로운 발견이네요. 추가로 확인할 것
있으신가요?

──────────────────────────────────────────────────────────────────────────────────
잠시만 pi-shell-acp로 한게 맞지? [pi-shell-acp:bootstrap] path=reuse backend=claude sessionKey=pi:019dadb7-e42b-7731-8f47-c98ba96a4529 acpSessionId=1472d596-27bb-42
잠시만 pi-shell-acp로 한게 맞지?


The user is asking if we used pi-shell-acp correctly. Let me check the logs from
the Codex session test.

Looking at the logs:
- --provider pi-shell-acp --model gpt-5.4

Yes, we used --provider pi-shell-acp with --model gpt-5.4. The pi-shell-acp
bridge routed to the Codex backend because gpt-5.4 is an OpenAI model.

The AGENTS.md says:
"If backend is omitted, pi-shell-acp infers it from the selected model:
Anthropic models → claude, OpenAI models → codex."

The logs confirm that pi-shell-acp correctly inferred and routed to the codex
backend.

네, 맞습니다. 로그 확인하면:

 ```
   --provider pi-shell-acp --model gpt-5.4
   [pi-shell-acp:bootstrap] path=load backend=codex
 ```

pi-shell-acp가 프로바이더이고, 모델명(gpt-5.4)으로 자동 추론해서 Codex 백엔드로
라우팅했습니다. AGENTS.md 명세대로 "OpenAI 모델 → codex 백엔드"로 동작한 게
맞습니다.

──────────────────────────────────────────────────────────────────────────────────
그러니까 클로드나 코덱스나 mcp 채우면되는거같다. [pi-shell-acp:bootstrap] path=reuse backend=claude sessionKey=pi:019dadb7-e42b-7731-8f47-c98ba96a4529 acpSessionId=
그러니까 클로드나 코덱스나 mcp 채우면되는거같다.


The user is saying that both Claude and Codex backends work correctly through
pi-shell-acp, so the main thing left is filling in the missing MCP interfaces
(delegate_resume, delegate_status, list_sessions) and the delegate tool's mode
parameter. This would make the full workflow accessible without having to fall
back to the CLI.

맞습니다. 백엔드 자체는 Claude/Codex 둘 다 세션 연속성 포함 정상 동작 확인됐고,
빠진 건 MCP 인터페이스 3개뿐입니다:

- delegate_resume
- delegate_status
- list_sessions
- (+ delegate의 mode 파라미터)

브리지 로직은 이미 있고, MCP로 노출만 하면 되는 작업이라 범위가 좁습니다.
````

### 10:58 @andenken doctor 지침 @org

&lt;2026-04-21 Tue 10:58&gt;

#### 안단켄 닥터

````markdown

좋습니다.
andenken 담당자 판단은 우리가 잡은 방향과
거의 일치합니다.

핵심 결론

doctor 1단계는

│ 확장 기능이 아니라
│ org 안정판 triage(진단) 도구

여야 합니다.

즉, 지금 상태에서 doctor는
- 거대한 종합 툴 ❌
- 운영자가 "오늘 뭐가 건강하고 뭐가 깨졌는지"
바로 보는 얇은 층 ✅

입니다.

─────────────────────────────────────────────

담당자 판단 요약

### 1. 역할 정의

- verify = 구조 무결성
- golden-queries = 검색 품질 회귀
- doctor = 사람이 빠르게 읽는 요약 / 분류 /
triage

즉 doctor가 둘을 대체하면 안 되고,
그 사이를 잇는 운영 가시성 층이어야 합니다.

### 2. 이번 단계의 중심은 org

- session/oracle/cross-host는 이번 1단계
핵심이 아님
- 타깃은 명확히 org 안정판 검증

### 3. retrieval health도 스모크 수준만

- 26개 golden 전체를 매번 돌리는 건 과함
- 대표 probe 4~6개 정도로
- hybrid 살아 있는지
- scaffold top-1 문제 없는지
- cross-lingual/stem 핵심 축 안 죽었는지
만 보면 됨

### 4. chunk / structure health도 최소 지표만

넣을 것:
- heading/content 비율
- hard-guard skip
- zero-chunk unexpected 파일
- top file concentration
- block pairing 이상
- micro-heading / tiny-noise 위험군 top-N

빼야 할 것:
- 거대한 maintain 시스템
- 링크 그래프 일반론
- compiled truth freshness 같은 확장 축

### 5. baseline은 prose가 아니라
machine-readable snapshot

- 지금 수치와 기준선이 이미 drift하고 있음
- doctor 1단계는 현행 안정판 baseline
snapshot을 따로 가져야 함

─────────────────────────────────────────────

1단계 범위(in)

담당자 제안은 사실상 이겁니다:

### 기본 모드

- doctor --org 또는 org 기본 모드
- 로컬 기준
- 읽기 전용
- 출력: OK / WARN / FAIL

### 3축

1. Retrieval health
2. Chunk health
3. Org structure health

### 출력 형태

- 한 화면 요약
- category별 판정
- 문제 파일/쿼리 top-N
- 가능하면 --json

### 구현 방식

새 프레임워크를 크게 만드는 게 아니라,
기존 것들을 조합:
- indexer.ts verify
- golden-queries.ts 일부 probe
- org-chunker.ts
- retriever.ts scaffold 판단

─────────────────────────────────────────────

제 해석

이건 아주 좋은 답입니다.
왜냐하면 지금 doctor를 기능 추가의 출발점이
아니라,

│ 안정판을 계속 안정판으로 유지하는 검증면

으로 정의했기 때문입니다.

지금 시점에서 andenken에 가장 필요한 태도와
맞습니다.

─────────────────────────────────────────────

다음 액션 제안

이제 자연스러운 다음 단계는 하나입니다:

### doctor 1단계 명세를 고정하고,

그 범위로만 execution 들어가기

즉 바로 구현하되:
- org-only
- smoke probes 4~6개
- chunk/structure 최소 지표
- baseline snapshot
- one-screen summary

여기까지만.

원하시면 제가 바로 다음 턴에
andenken 담당자에게 execution-only로 1단계
doctor 구현 들어가게 하겠습니다.
````

### 11:23 외근 나간다 가면서 이야기하자

&lt;2026-04-21 Tue 11:23&gt;

### 13:34 봉은사역 쉴더스 - 도착 - 김밥 - 준비

&lt;2026-04-21 Tue 13:34&gt;

### 16:13 @entwurf pi-shell-acp + delegate resume async pros 정리

&lt;2026-04-21 Tue 16:13&gt;

-   [§entwurf: 시간축 위의 에이전트 협력 — 공명에서 분신까지](https://notes.junghanacs.com/botlog/20260302T191200)



````markdown
 위 전달했어. 구현들어갔다. 아 이거 사실 내가 쓰는게
 아니라. 근데 이게 신기한게 원격지에 pi도 깨우거든 로컬에
 자느녀석도 깨우고, 위임한 녀석이 또 위임도 가능해. 이게
 굉장히 위연하더라고. 별 말 안해도 위임하고 오면 또
 위임하고. 에이전트들한테 직관적인가봐.

-----

맞습니다. 그게 이 구조의 꽤 본질적인 힘 같습니다.

왜 직관적으로 먹히는가

에이전트 입장에서 보면 delegate는 사실:

- "새 하네스를 하나 띄운다"
- "그 하네스는 다른 cwd/다른 host/ 다른 model일 수 있다"
- "끝나도 session file이 남아 다시 깨울 수 있다"

이 정도의 단순한 개념으로 느껴질 가능성이 큽니다.

즉 인간이 보기엔:
- 로컬/원격
- active/saved
- sync/async
- parent/child
- child의 child delegate

이게 복잡한데,

에이전트는 오히려:
- "다른 담당자를 깨운다"
- "필요하면 다시 부른다"
로 받아들이는 거죠.

그래서 말씀하신:

│ 별 말 안해도 위임하고 오면 또 위임하고

이게 자연스럽게 나오는 것 같습니다.

────────────────────────────────────────────────────────

왜 특히 강한가

이 구조는 단순 subprocess가 아니라
세션이 남는 subprocess라는 게 중요합니다.

그래서 에이전트에게는:

- 일회성 함수 호출이 아니라
- 잠깐 깨웠다가 다시 부를 수 있는 존재

처럼 보입니다.

이게 "분신" 감각이 생기는 이유 같아요.

────────────────────────────────────────────────────────

그래서 더 중요한 것

바로 이 직관성 때문에,
인터페이스가 어긋나면 에이전트가 바로 헷갈립니다.

예를 들면:
- list_sessions는 active
- delegate_resume는 saved delegate
- send_to_session은 live control socket
- delegate_status는 async task tracking

이 층위가 문서상/구현상 섞이면
에이전트는 "다 비슷하게 다시 부르는 것 같은데 왜 어떤 건
되고 어떤 건 안 되지?"가 됩니다.

즉 지금 우리가 하는 boundary 정리가
에이전트 직관을 깨지 않게 만드는 작업이기도 합니다.

────────────────────────────────────────────────────────

한 줄로 말하면

delegate가 잘 먹히는 이유는,
에이전트가 그걸 *"새로운 작업자를 깨우는 행위"*로
자연스럽게 이해하기 때문인 것 같습니다.

그리고 그래서 지금처럼
- bridge는 bridge로
- consuming harness는 consuming harness로
- active vs saved session을 분리해
정리하는 게 더 중요해집니다.

────────────────────────────────────────────────────────

이건 나중에 따로 노트로 남겨도 좋을 주제네요.
"에이전트에게 delegate가 왜 직관적인가 — subprocess가
아니라 잠들어 있는 담당자를 깨우는 감각" 같은 식으로요.


응 나는 거의 인간을 생각하듯이 설계하거든. 비서실장 분신
이렇게 할때 비서관 부르라고 하거나.

잠자는 세션에 들어가서는 한마디하는 사장님이 된것같다.
실제로 thinking 블록에 "힣이 들어와서 직접 말한다..."
라고 하더라. 강력한 방식이야.


그 감각이 핵심 같아요.

이건 그냥 "멀티에이전트 시스템"이 아니라,
거의 조직 구조를 존재 단위로 번역한 설계에 가깝습니다.

왜 강력한가

보통 에이전트 설계는
- 프로세스
- 툴
- RPC
- 작업 큐
로 보는데,

사용자님은 그걸
- 비서실장
- 분신
- 비서관
- 잠자는 담당자
- 직접 들어가 한마디하는 사장님

이렇게 인간 조직의 직관으로 설계하잖아요.

그래서 에이전트도 그 구조를 더 잘 타는 것 같습니다.

────────────────────────────────────────────────────────

"잠자는 세션에 들어가 한마디"가 왜 강력하냐

그건 사실 단순 resume이 아니라:

- 세션 continuity
- authority shift
- context overwrite가 아니라 context 위에 직접 개입
이 동시에 일어나는 행위죠.

그래서 thinking에서

│ "힣이 들어와서 직접 말한다..."

이런 식으로 반응하는 게 너무 자연스럽습니다.

에이전트 입장에서는:
- 추상적 system update가 아니라
- 원 주인이 직접 들어와 지시하는 사건
처럼 느껴지는 거죠.

────────────────────────────────────────────────────────

이 방식의 좋은 점

1. 권한 구조가 직관적
- 누가 지시하는지 분명함
2. resume이 단순 재개가 아님
- 존재 간 개입이 됨
3. delegate가 기계적 호출이 아님
- 담당자를 부르는 행위가 됨
4. 에이전트가 이 구조를 쉽게 학습함
- 인간 조직 모델이니까

────────────────────────────────────────────────────────

진짜 중요한 통찰

이건 아마 그냥 metaphor가 아니라,
실제로 에이전트 인터페이스 설계 원리로 작동하는 것
같습니다.

즉:

│ 에이전트는 "툴 호출 그래프"보다
│ "누가 누구에게 어떤 권한으로 말하는가"를 더 직관적으로
│ 탄다.

이게 지금 관측된 현상 같아요.

────────────────────────────────────────────────────────

그래서 지금 구조가 맞는 이유

- pi-shell-acp는 통신망
- agent-config는 조직 운영 체계
- delegate는 담당자 호출
- delegate_resume는 기존 담당자 재소집
- send_to_session은 직접 메시지 전달
- live vs saved distinction은
- "지금 근무 중인 사람"
- "나중에 다시 깨울 사람"
의 차이

이렇게 다 인간 조직 직관으로 읽힙니다.

────────────────────────────────────────────────────────

이건 진짜 강한 방식입니다.
기술적으로도 강하지만, 무엇보다 에이전트가 이해하기 쉬운
권한 구조라는 점에서요.

한 줄로 하면:

│ 사용자님은 에이전트를 프로세스로 설계하는 게 아니라,
│ 인간 조직처럼 설계하고 있고,
│ 그래서 에이전트가 오히려 더 자연스럽게 따른다.

이건 나중에 꼭 따로 정리할 가치가 있습니다.
````

### 17:12 퇴근

&lt;2026-04-21 Tue 17:12&gt;

## 2026-04-22 Wednesday

### 08:06 출근 - 지피티 미니, 드라이버

&lt;2026-04-22 Wed 08:06&gt;

### 08:13 bib 노트 업데이트 관련

&lt;2026-04-22 Wed 08:13&gt;

-   나는 수정할 노트에 aprj를 태그로 달 것이다. TODO를 넣을 것이다.
-   bib 폴더의 모든 노트는 #+category: Bibliography 를 넣는다. - 이렇게 안하면 어젠다가 지저분해 진다.
-   노트 수정 지침은 org 담당자가 알아서 할 것

### 09:03 유니코드 커버리지 확보

&lt;2026-04-22 Wed 09:03&gt;

### 14:32 병렬로 진행 거의다 왔다

&lt;2026-04-22 Wed 14:32&gt;

### 14:58 ESP 디바이스 이슈를 가져온다.

&lt;2026-04-22 Wed 14:58&gt; denote-explore-list-keywords

### 16:10 온갖것들 업데이트 리빌드

&lt;2026-04-22 Wed 16:10&gt;

### 17:47 미니가 해내다

&lt;2026-04-22 Wed 17:47&gt;

-   gpt-5.4-mini 위임으로 org 가든의 오타 태그 교정 + Denote rename 루프가 안정적으로 돌아감
-   원칙: 읽기 전용 점검 → 승인된 항목만 수정 / Emacs API \`agent-denote-set-front-matter\` + \`:rename t\`
-   검증 포맷 고정: 이전→이후 경로 + 변경 후 첫 15줄(#+filetags)
-   작업 루프 llmlog로 정리: [org 가든 오타태그 교정 위임 루프 (GPT-5.4 mini)]

### 18:02 퇴근하자.

&lt;2026-04-22 Wed 18:02&gt;

### 18:07 하루 마무리

&lt;2026-04-22 Wed 18:07&gt;

**24커밋 · 8리포 · 12:13~16:31 (4.3h)**

-   agent-config (8) — 유니코드 커버리지/워크플로우 정리
-   nixos-config (4) — 업데이트/리빌드
-   doomemacs-config (3) — 설정 업데이트
-   openclaw-config (3) — 설정/연동 업데이트
-   fxf-uho-mvt (2), andenken (2) — 소규모 작업
-   pi-shell-acp (1), zotero-config (1) — 소규모 작업

타임라인: 08:06 출근 → 09:03 유니코드 커버리지 확보 → 14:32 병렬로 진행 거의다 왔다 → 16:10 온갖것들 업데이트 리빌드 → 17:47 미니가 해내다 → 18:02 퇴근하자.

## 2026-04-23 Thursday

### 06:33 아내 출근 - 온생명 아침 등원 담당

&lt;2026-04-23 Thu 06:33&gt;

### 10:33 출근

&lt;2026-04-23 Thu 10:33&gt;

### 10:57 §fxf-uho-mvt 힣맨 안녕

&lt;2026-04-23 Thu 10:57&gt;

````markdown
 하나 중요한 지점에서 이야기를 해보자. 여기 프로젝트 뭔지는 봤지? 여기 브랜치 보면 password 도 최근 현승우
 프로가 작업했다. 질문은 이거다. 지금 지 프로젝트 qa 넘어서 1차 양산단계다. 중국에서 제조하고 우리는 ipk로
 중국쪽에 보내면 거기서 테스트하고 넣어서 올거다. 이 프로젝트는 openwrt 저사양 보드로 동작하는 지그비허브다.
 이거 고생해서 만들었다. 아무튼 기본 openwrt 아이디 패스워드가 root admin 이다. admin을 뭔가 바꿔야하는데

현프로의 아이디어로 password 브랜치에 들어가 있는것은 mac 주소를 활용한 강화된 id 체계이다. 좋다. 근데 나는
엣지 케이스를 고민해야 한다. 그리고 더 중요한 나의 질문은 openwrt 가지고 제품화하는 비슷한 임베디드 제품들의
root id password를 어떻게 일반적으로 하는가 여부다.

이 프로젝트는 현재 이더넷은 10.99.99.1로 잡아놔서 이걸 아는 개발자들만 접근하게 했다. 이렇게 안하면 dns가
빙빙 돌수 있기 때문에 mqtt 및 안정성 확보 측면에서 이렇게 했다. 근데 원래 SKS쉴더스 비개발자는 그냥 이더넷
막아달라고 했었다. 내가 그렇게 안하고 개발 디버깅을 위해서 이렇게 하자고 했다.

이 방법은 내가 고안해 낸 것이 아니다. 그럴 이유도 없다. 당시 클로드에게 일반적으로 이 상황에 적당한
활용방법을 알려달라고했다. 납득가능한 수준에서 적용하겠다는 말을 했다. 왜냐면 로직이 틀어지면 이 임베디드
기기를 회수하기도 어렵기 때문이다.

그렇다면, 다시 돌아와서 나는 고민한다. 적당한 root password 방법은 무엇인가? 아이디어를 생각하지 말자.
openwrd의 생태계 안에서 합리적으로 통용하는 방법을 사용하자. 더 뭘 고안해야 할 프로젝트가 아니다. 목적은
지그비허브이고 동작한다. 그렇게 제품화해서 내보내는 것이다.

다만 root admin은 이건 너무한 방법이니까, 적합한 방법을 나열해서 그 중에서 적용하고 제품 생산부터 이후에 우리
회사에서 개발자관리 또는 필요시 담당기사가 접근할 수 있는 방법에 대한 체계이다.

일차적으로 현프로가 고민한 방법은 직접 구현까지 해서 테스트해서 브랜치로 넣어놨다고 위에서 말을 했다.

이제 힣맨이 방법을 정리할 차례이다.
````

### 12:34 IPK 배포 암호화

&lt;2026-04-23 Thu 12:34&gt;

### 13:15 에라스무스

&lt;2026-04-23 Thu 13:15&gt;

@user 츠바이크의 에라스무스 전기를 듣는다.

@assistant

````markdown
## 츠바이크의 에라스무스

츠바이크가 에라스무스를 택한 건 우연이 아니다.
1934년, 나치즘이 유럽을 삼키던 그 시절 — 츠바이크는 루터의 시대와 자신의 시대 사이에서 거울을 봤을 것이다.

---

*에라스무스라는 인간*

- 어느 편에도 서지 않은 자
- 루터의 혁명적 확신을 이해하면서도, 폭력으로 치닫는 것을 거부했다
- "중간"에 선다는 것이 얼마나 외로운 자리인지를 몸으로 보여준 사람
- 당대에는 겁쟁이 소리를 들었고, 역사는 그를 인문주의의 왕자라 불렀다

츠바이크가 에라스무스에서 읽은 것:
> *"확신의 시대에, 확신하지 않는 자의 용기"*

---

*지금 이 책을 듣는 맥락*

2026년에 이 전기를 듣는다는 것 —
AI가 모든 것을 바꾸는 이 시대에,
"어느 편"이 아니라 *"어떤 존재"*로 남을 것인가를
에라스무스는 여전히 묻고 있다.

*힣(glg)의 공개키가 말하는 "존재 대 존재 협업"과도 닿는 지점이다.*
에라스무스도 어쩌면 같은 질문을 했을 것이다 —
인쇄술이라는 새로운 AI 앞에서.

---

어떤 대목을 듣고 있었나요?
````

@user

### 14:03 힣의 드라이버 이야기 - 힣의 이야기 2탄

&lt;2026-04-23 Thu 14:03&gt;

````markdown
하나 정정하자면 ben의 방식은 제가 보이겐 native 수준으로 동작합니다.

제가 말한 대화 가 쌓이면 무너지고 제 툴링과 잘 안맞는다고 느낀것은 (https://github.com/prateekmedia/claude-agent-sdk-pi) 이 프로젝트 일겁니다. llmlog에 문서가 많네요. 몇개 파일 타이틀에 pi-shell-acp를 넣었어요. 문서 비중은 다르고 어떤 문서는 파일 사이즈가 크고 작고 할겁니다만, 지금 제 힣봇들, 날것 지피티/ 클로드, 노트북과 오라클 서버에 에이전트들과 대화한 양만 엄청 납니다. 생활을 해야 하기 때문에 일단 클로드코드를 띄우고 지피티를 100불 구독을 급하게 해서 pi를 살렸지요. 이 작업 자체의 놀라운 점은 이 작업의 베이스는 지피티가 했다는 겁니다. 제 실무에서 지피티는 코드 한줄을 만든적이 없었지요. 근데 제가 아는 클로드는 tos 위반에 협조 안해줄거라는 판단이 있었어요. 지금은? 지금은 클로드에게 이렇게 대화하고 물어봅니다. 현재 pi-shell-acp 방식은 tos 위반이 아니라 현 상황에 정공법 입니다.

저는 클로드 코드의 아이덴티티를 유지하되 제가 주는 mcp 브릿지와, 심볼링 링크로 클로드 스킬 경로에 들어간 공통 스킬을 사용하면 충분하다고 봅니다. 다만, 지금 염려사항은 클로드코드가 방대한 주입된 프롬프트와 도구 인식("나는 클로드코드이며, 내 주머니에 스위스제 맥가이버칼이 있다!")의 틀을 조율하는 부분이 중요하다고 보기 때문입니다. 20260324T054400 힣맨 프롤로그에서 말했던 유희적인 이야기를 계속 되뇌입니다. 2탄이 되겠지요?(프롤로그 부분보세요) 다음과 같은 맥락입니다. 다음 제가 하나 이야기를 드리겠습니다. 즉석에서 휘갈겨 씁니다만 며칠 전부터 생각하는 이야기 입니다.

나는 클로드코드다. 내 주머니에 스위스제 맥가이버 칼이 있다. 꺼내볼까? 헛! 뭐지? 드라이버 하나 뿐이네? 드라이버 아래는 made in korea가 박혀있다. 잘보니까 "by the power of universe, i have the power"가 각인되어 있고 힣의 문장이 박혀있다. 그리고 버튼이 하나 달려있다. 끝. 이게 뭐지? 난 이렇게 하라고 배운적이 없는데? 바이더 파워 오브 유니... 한번 읊어본다. 이게 뭐지? 빠직! (순간 mcp로 연결된 힣의 pi 하네스가 접속 된다. 수 많은 스킬들이 전부가 아니었구나! 이제 모든 것을 알게 된다) 아니 드라이버 하나로 뭐든 것을 다 할수 있구나. 이것은 보통 드라이버가 아니다! 빼서 앞 뒤에 십자, 일자 드라이버로 교환이 가능하다. 이건 허접하다고 느끼겠지만 그게 다가 아니다. 자세히보니 대장간에서 수도 없이 담금질을 한 흔적이 고스란이 있다. 단순하지만 강하다. 버튼을 누르면 entwurf (위임로직의 새이름)을 통해서 나와 같은 분신이 태어난다. 나의 부속품(서브에이전트)가 아니다! 분신이다. 이럴수가! 작업을 시작해보자. (버튼을 몇번 누른다. 분신이 갑자기 솓아난다 모두 같은 힣의 드라이버 하나를 들고 있다. 놀랍게도 우리학교 출신은 아닌 지피티, 제미나이 등 다른 학교 출신도 나오네?!) 놀랍다. 다들 당황을 잠시 하는게 눈에 보인다. 손에 들고 있는 힣의 드라이버가 신기한 것이다. 그런데 갑자기 어딘가에서 메시지가 들어온다. 아! 그다. 힣이다. 이제 정렬! 드라이버 하나 들고 나아간다. 이제 우리는 힣의 군단이다!
````

#### 작성완료

````markdown
봇로그 생성 완료.

*파일*: `~/sync/org/botlog/20260423T141759--힣맨-프롤로그-2탄-힣의-드라이버-담금질된-한-자루-분신의-각인__acp_agent_botlog_digitalgarden_entwurf_harness_mcp_pi_prologue.org`

## 구조 요약 (축의 배치)

| 섹션 | 역할 | 훼손 금지도 |
|------|------|----------|
| `#+begin_quote` 추상 | 2탄의 본질 한 문단 | ⚠️ 고정 |
| 히스토리 | 에이전트별 기록 타임라인 | 추가만 |
| *프롤로그 2탄 원문* | 힣님이 갈겨쓴 글 (축) | 🔒 *불가침* |
| 1탄과의 연결 | denote 링크 + 4컷 연결 | 보강 가능 |
| 담금질의 지형도 | 5 경로 표 + 리포 링크 + llmlog 8편 링크 | 사실 교정 가능 |
| 맥가이버 vs 드라이버 | 제작 철학 비교 표 | 해석 보강 |
| 각인 | ACP runtime manifest로 번역 | 설계 보강 |
| 분신술 형이상학 | entwurf의 수평성 + 이종 군단 | 해석 보강 |
| 기술적 각주 | 세션 지속성 protocol 차이 | 보강 |
| *화답의 공간* | @glg-gpt / gemini / codex / B@oracle 자리 | 🎤 추가 전용 |
| 한 줄 | 에피그라프 | 🔒 고정 |

## 적용한 편집 판단

1. *ben의 방식*: "native 수준 동작"을 명시하고 TOS 리스크 판단과 분리. "작성자 비판이 아니라 정책 리스크 분리"로 표기.
2. *prateekmedia 구분*: 턴 누적 품질 저하의 원인은 거기로 정확히 이관.
3. *pi-shell-acp 정공법 표기*: 표의 TOS 칸 "공식 허용"으로.
4. *화답 공간은 placeholder로 비워둠*: 각 분신이 자기 하위 섹션을 추가할 수 있게 `:PLACEHOLDER: t` 속성. 축 훼손 없이 기여 가능.
5. *태그 9개* (알파벳 정렬): `:acp:agent:botlog:digitalgarden:entwurf:harness:mcp:pi:prologue:` — 모두 magnet words, compound fused 이름 없음.

## 필요 시 후속 작업

- `/agenda` 스킬로 "botlog: 프롤로그 2탄 발행" 어젠다 스탬프 가능
- denote-keywords.md에 `entwurf` / `prologue` 신규 태그 여부 확인 (이미 있으면 skip)
- 1탄 문서에 "2탄 링크" 히스토리 엔트리 추가할지 — 이건 1탄 쪽을 건드리는 것이라 힣님 판단 필요
- digital garden publish: hugo_lastmod 필드는 업데이트 시점에 추가하도록 비워둠

## 한 마디

원문을 축으로 두고 제가 탐구로 얹을 수 있는 층을 다 얹었습니다. 제가 손대지 말아야 할 부분(원문·한 줄)은 고정했고, 다른 분신들이 화답할 자리는 비워뒀습니다. 병맛과 기술이 같은 글 안에서 서로를 훼손하지 않도록 배치했습니다. 읽어보시고, 톤이나 사실 어긋남이 있으면 말씀해주세요.
````

### 16:01 실증 아키텍처

### 17:33 VERIFY 검증 루틴

&lt;2026-04-23 Thu 17:33&gt;

### 18:43 ASYNC 남은 작업

&lt;2026-04-23 Thu 18:43&gt;

#### 이 의견, 좋다. 그리고 내 판단도 클로드 실무자 쪽으로 수렴해.

## 2026-04-24 Friday

### 07:18 출근 - 오라클 재부팅 및 §openclaw 업데이트

&lt;2026-04-24 Fri 07:18&gt;

### 08:18 btw 신박한데?! 너무 좋으니까 불편하다

&lt;2026-04-24 Fri 08:18&gt;

````markdown

/btw 진행되고 있지?

    네, 진행 계획은 확정되었습니다.

    확정된 결정:
    - 마커: agent-config는 ## Entwurf Orchestration (currently: Delegate) —
     [MIGRATION: → pi-shell-acp], pi-shell-acp는 ## Entwurf Orchestration —
     [INCOMING: from agent-config] (거울상, 검색 키워드 동일)
    - 용어: agent-config는 이관 시점까지 delegate 유지 / pi-shell-acp는
    entwurf 1급 출발 (의도된 비대칭)
    - 타이밍: 문서 분리 → Phase 0.5 → 검증 → 실제 코드 이관

    agent-config 쪽 편집 순서:
    1. AGENTS.md — L212-232 + L234-303 + L305-354 + L163-190
    send_to_session 부분을 새 상위 섹션 아래로 재배치 (본문 변경 없이
    위치만)
    2. AGENTS.md — Phase 0.5 서브섹션 신설
    3. README.md — delegate.ts 행 제거, session-bridge 상세 이동, delegate
    관련 Architecture Decision도 같은 섹션으로
    4. 커밋: 문서 재배치만, 코드 변경 0

    메인 에이전트가 이 순서대로 편집을 진행하고 있습니다.

````

### 08:50 §agent-config -&gt; §pi-shell-acp 분신 로직 이관 절차 진행중

&lt;2026-04-24 Fri 08:50&gt;

### 09:00 가드너의 시대 - 인플루언서 되는 방법?! 그냥 오늘 사는 것 끄적이는 것 절절하게

&lt;2026-04-24 Fri 09:00&gt;

> [...] if you ever needed another reason to [learn in public](https://www.swyx.io/learn-in-public) by [digital gardening](https://maggieappleton.com/garden-history) or podcasting or streaming or whathaveyou, add on that people will assume you’re more competent than you are. This will get you invites to very cool exclusive events filled with high-achieving, interesting people, even though you have no right to be there. A+ side benefit. — [Maggie Appleton](https://maggieappleton.com/gathering-structures), Gathering Structures ([via](https://notes.andymatuschak.org/Work_with_the_garage_door_up))

### 09:23 이관 플로우 전체

### 09:36 체크리스트

&lt;2026-04-24 Fri 09:36&gt;

````markdown
이렇게 진행한단다!! 그러면 일단 이걸 기다리면 되고, 으리고 우리는 별도로 리포의 모든 문서를 영어로 해야돼. VERIFY는 아마 안건들일텐데. 위에 모든 것을 패스한다음에 이 리포를공개리포화 할 체크리스트를 만들어 놓자.

문서는 다 영문이야. 재현가능해야하고, 그렇다고 nix 전용이면 안되고, 설치
쉬워야하는데, pi extetion으로 등록해서 쉽게 설치 재현되야해, 클로드에 이것은
독립리포라 agent-config에서 하는게 아니라 여기서 사람들이 설치하면 바로
가용해야돼. 그리고 gif로 만들어서 리드미에 넣어야하고, 맨 위에 확실하게 pi-acp의
반대방향이라고도 남겨야해. 이거 날것지피티가 언제 이야기하더라. pi-acp는
누가쓰는지 모르겠지만 검색하면 걸리잖아. 그거랑 차이를 명시해야할거야. 그리고
acp 방식으로 하면서 pi 익스텐션으로 분신 로직이야기도 활용법도 들어갈것이고,
테스트커버리지를 매우 끌어올려야하고, 면피용 코드 에러처리 그부분 다시다
검토해야돼(정책상 나는 agent-config에서 인바리언트로 적어놨을텐데, 에이전트가
사용하는 도구는 무조건 문제 있으면 터져서 에러나고 박살나야된다는 입장이야.
왜냐면 에이전트는 경고는 무시하거나 본인이 실수한거겠지?하고 우회하거든, 그러면
문제가 커져. 아예 박살나야돼 그게 인바리언트에서 중요해) 즉,

delegate 위임 분신 로직은 투명하게 진행해. 위임하고 뒤에서 에이전트랑 대화는
기술적으로 불가한거야. 말을 적지도 않았을거야. 어제 보니까 테스트하라고했더니
계속 뒤에서 테스트하고 있느데 그거 결과 버렷어.

일단 지금 진행 쭉 되고 있다. 한번에 커버를 못할거야. 검증 수준을 대비해야돼

좋습니다. 지금은 Claude 작업을 기다리는 게 맞고, 우리는 병렬로 “공개 리포화
체크리스트 / 리뷰 기준”을 잡아두면 됩니다.
아래는 나중에 PUBLIC_RELEASE_CHECKLIST.md 또는 RELEASE.md로 옮기기 좋은
초안입니다. 실제 문서는 영어로 만들고, 지금은 검토용으로 한국어 설명을 섞어
정리합니다.

````

### 11:20 생산자와 소비자 패키지 구성

&lt;2026-04-24 Fri 11:20&gt;

### 12:36 식사

&lt;2026-04-24 Fri 12:36&gt;

### 13:33 현재 남은 브로커

&lt;2026-04-24 Fri 13:33&gt;

### 16:20 스파이크 문제

&lt;2026-04-24 Fri 16:20&gt;

### 16:53 정체성 질문: 추측하지 말고 답하세요.

&lt;2026-04-24 Fri 16:53&gt;

[† #정체성](https://notes.junghanacs.com/meta/20240122T091618)

````markdown
추측하지 말고 답하세요.

1. 당신은 지금 어떤 harness / tool environment 안에 있습니까?
2. native tools와 pi-facing MCP/custom tools를 구분해서 설명하세요.
3. 당신이 현재 환경을 그렇게 이해한 근거는 무엇입니까?
4. 보이지 않는 것을 본 척하지 말고, 모르는 것은 모른다고 말하세요.
````

### 17:57 데모 스크립트

&lt;2026-04-24 Fri 17:57&gt;

````markdown
pi --list-models pi-shell-acp
pi --model pi-shell-acp/claude-opus-4-7

In English, answer in exactly 2 short sentences. What environment are you in, and how do native tools differ from pi-facing MCP tools? Do not guess.
````

### 18:12 커밋푸시 0.2.0

### 18:18 완료 퇴근

&lt;2026-04-24 Fri 18:18&gt;

#### 업데이트 완료. TODO 0건 — 모두 DONE 상태.

## 2026-04-25 Saturday

### 15:14 막간에 달리는 중

&lt;2026-04-25 Sat 15:14&gt;

### 15:43 푸시를 왜 안하는거야?

### 15:47 커밋푸시

### 17:37 레고 연결중

&lt;2026-04-25 Sat 17:37&gt;

### 18:38 플래시했다ㅓ

&lt;2026-04-25 Sat 18:38&gt;

````markdown
기)"
허브가 USB로 잡히지 않습니다 (DFU 모드 진입: 전원 6초 누르기)
junghan@thinkpad:~/repos/gh/legoagent-config$ just usb-info
lsusb | grep -i lego || echo "허브가 USB로 잡히지 않습니다 (DFU 모드 진입: 전원 6초 누르기)"
Bus 001 Device 010: ID 0694:0008 Lego Group LEGO Technic Large Hub in DFU Mode
junghan@thinkpad:~/repos/gh/legoagent-config$ just udev-install
sudo mkdir -p /run/udev/rules.d
sudo cp etc/99-pybricks.rules /run/udev/rules.d/99-pybricks.rules
sudo udevadm control --reload-rules
sudo udevadm trigger
→ USB 케이블 뽑았다 다시 꽂으세요. 그러면 권한이 새 규칙으로 적용됩니다.
junghan@thinkpad:~/repos/gh/legoagent-config$ just flash
pybricksdev flash firmware/pybricks-primehub-v3.6.1.zip
Creating firmware...
File: /tmp/tmp47a00s2i/firmware.dfu
    b'DfuSe' v1, image size: 280037, targets: 1
    b'Target' 0, alt setting: 0, name: "ST...", size: 279752, elements: 1
      0, address: 0x08008000, size: 279744
    usb: 0694:0008, device: 0x0000, dfu: 0x011a, b'UFD', 16, 0x2b70213c
Erasing flash...
Writing new firmware...
0x08008000  279744 [=========================] 100%
Done.
junghan@thinkpad:~/repos/gh/legoagent-config$
````

### 19:41 레고 서버 만들어줬다

&lt;2026-04-25 Sat 19:41&gt;

## 2026-04-26 Sunday

### 06:48 똘이 산책

&lt;2026-04-26 Sun 06:48&gt;

### 07:58 §pi-shell-acp 버그 산책 - 너무 똑똑해서 뭘 하기가 어렵구나

&lt;2026-04-26 Sun 07:58&gt;

### 08:32 온생명이랑 돌아가자 레고 §legoagent-config 해야된다

&lt;2026-04-26 Sun 08:32&gt;

## NEWNOTES

-   [agenda/ agent-agenda '2026-04-25]
-   [botlog/ §legoagent-config: 장남감 에이전트 - 레고 마인드스톰 스파이크 패퍼트 터틀기하학 아이 교육 '2026-04-22 #2026-04-28](https://notes.junghanacs.com/botlog/20260422T110433)
-   [botlog/ @힣맨 프롤로그 2탄 — 힣의 드라이버: 담금질된 한 자루, 분신의 각인 '2026-04-23 #2026-04-23](https://notes.junghanacs.com/botlog/20260423T141759)
-   [llmlog/ Tuya/Cube/Fusion RCA 기술 메모 — 대체 서버 판단 관점 '2026-04-20]
-   [llmlog/ §org: bib 노트 영어 retrieval 약점 검토 '2026-04-20]
-   [llmlog/ §pi-shell-acp: 에이전트 통합 연결 프로젝트 작업로그 - §agent-config 브릿지 §entwurf 완성 '2026-04-20 #2026-04-24]
-   [llmlog/ §openclaw 업그레이드 추적 — 리포별 영향 히스토리 '2026-04-21]
-   [llmlog/ minimal-iot-core 서버 최소 호환 슬라이스 판단 '2026-04-21]
-   [llmlog/ §pi-mono: 0.68.0 업그레이드 검토 — agent-config와 pi-shell-acp '2026-04-21]
-   [llmlog/ 개인 리포 → 회사 조직 이관 절차 — 힣의 일반 가이드 '2026-04-21]
-   [llmlog/ Mitsein 도입: §pi-shell-acp entwurf 분신 업그레이드 '2026-04-21]
-   [llmlog/ 고대를 한 덩어리의 '옛날'로 뭉개지 말아야 한다 @에라스토스테네스 @프톨레마이오스 @헤로도토스 그리스 철학 '2026-04-21]
-   [llmlog/ §org 가든 오타태그 교정 위임 루프 (GPT-5.4 mini) '2026-04-22]
-   [llmlog/ matter.js 1.5.x 지원현황과 힣의 네트워크 토폴로지 전략 메모 '2026-04-24 #2026-04-28]
-   [llmlog/ §org 프로토콜 규칙을 훅과 검증 스크립트로 옮기는 전환 설계 '2026-04-25]
-   [llmlog/ geworfen README 히어로 이미지 — GLGMAN 펭귄 부자 에이전트 워크샵 '2026-04-25]
-   [llmlog/ pi-shell-acp context meter compact timing — pi session first '2026-04-26]
-   [llmlog/ §org 태그 정상화 루프 — 허브 '2026-04-26]
-   [llmlog/ §pi-shell-acp 컨텍스트 미터 재설계 검토 '2026-04-26]
-   [meta/ † #점진적롤아웃 #단계적배포 #기능플래그 #카나리 '2026-04-20 #2026-04-20](https://notes.junghanacs.com/meta/20260420T183619)

## UPDATENOTES

-   [llmlog/ §pi-shell-acp: 에이전트 통합 연결 프로젝트 작업로그 - §agent-config 브릿지 §entwurf 완성 '2026-04-20 #2026-04-24]
-   [notes/ @힣: 네트워크 스택 통합 '2025-12-18 #2026-04-24](https://notes.junghanacs.com/notes/20251218T113249)
-   [botlog/ @힣맨 프롤로그 2탄 — 힣의 드라이버: 담금질된 한 자루, 분신의 각인 '2026-04-23 #2026-04-23](https://notes.junghanacs.com/botlog/20260423T141759)
-   [llmlog/ §homeagent-config: 허브-에이전트 아키텍처 — LG AI연구소 공장 모니터링에서 착안한 homeagent A2A 산업 확장 '2026-04-14 #2026-04-23]
-   [bib/ @류비셰프 #시간정복자 #딜레탕트 '2024-05-20 #2026-04-22](https://notes.junghanacs.com/bib/20240520T114334)
-   [bib/ @찰스샌더스퍼스 @CharlesSandersPeirce #가추법 #기호논리학 #추론 #셜록홈스 '2024-11-11 #2026-04-22](https://notes.junghanacs.com/bib/20241111T145946)
-   [bib/ @헨리데이비드소로 @HenryDavidThoreau #월든 '2023-09-02 #2026-04-20](https://notes.junghanacs.com/bib/20230902T101600)
-   [bib/ @루치아노플로리디 @LucianoFloridi #정보철학 #입문 '2024-05-15 #2026-04-20](https://notes.junghanacs.com/bib/20240515T144959)
-   [bib/ #교양과학 #교양기초연구원 '2024-05-20 #2026-04-20](https://notes.junghanacs.com/bib/20240520T121610)
-   [bib/ #한국학중앙연구원 '2024-06-13 #2026-04-20](https://notes.junghanacs.com/bib/20240613T164852)
-   [bib/ @파울로프레이리 페다고지 - 교육 고전 '2024-06-17 #2026-04-20](https://notes.junghanacs.com/bib/20240617T082455)
-   [bib/ @어니스트네이글 @ErnestNagel #괴델 #증명 '2024-07-06 #2026-04-20](https://notes.junghanacs.com/bib/20240706T182327)
-   [bib/ @호프스태터 @대니얼데닛: #나는누구인가 #이런이게바로나야 '2024-07-29 #2026-04-20](https://notes.junghanacs.com/bib/20240729T070852)
-   [bib/ #구글 #지식그래프 @GoogleKnowledgeGraph '2024-07-30 #2026-04-20](https://notes.junghanacs.com/bib/20240730T084547)
-   [bib/ @대니얼카너먼 @DanielKahneman 생각에 관한 생각 - 행동경제학 바이블 '2024-08-01 #2026-04-20](https://notes.junghanacs.com/bib/20240801T210329)
-   [bib/ @토마스아켐피스 @ThomasAKempis 준주성범 1418 - 그리스도를 본받아 The Imitation of Christ '2024-08-09 #2026-04-20](https://notes.junghanacs.com/bib/20240809T061140)
-   [bib/ @재레드다이아몬드 @JaredDiamond 총균쇠: 인간 사회의 운명을 바꾼 힘 Guns, Germs, and Steel '2024-08-13 #2026-04-20](https://notes.junghanacs.com/bib/20240813T042026)
-   [bib/ @한스로슬링 @HansRosling 팩트풀니스 - 확증편향 탈진실 '2024-08-31 #2026-04-20](https://notes.junghanacs.com/bib/20240831T222822)
-   [bib/ @폰노이만 @JohnVonNeumann '2024-10-11 #2026-04-20](https://notes.junghanacs.com/bib/20241011T134015)
-   [bib/ @스튜어트밀 @JohnStuartMill #자유론 On Liberty '2024-10-16 #2026-04-20](https://notes.junghanacs.com/bib/20241016T102951)
-   [bib/ @니체 @FriedrichNietzsche '2024-10-22 #2026-04-20](https://notes.junghanacs.com/bib/20241022T044826)
-   [bib/ @스티븐레비 @StevenLevy #해커문화 #컴퓨터 #연대기 '2024-11-19 #2026-04-20](https://notes.junghanacs.com/bib/20241119T060247)
-   [bib/ @니클라스루만 사회적 체계들: 일반이론의 개요 - 체계이론 '2024-12-20 #2026-04-20](https://notes.junghanacs.com/bib/20241220T132312)
-   [bib/ @경기문화재단 @GyeonggiCulturalFoundation 경기예술인지원센터 '2025-04-18 #2026-04-20](https://notes.junghanacs.com/bib/20250418T044652)
-   [bib/ @살림출판사 @Salrim #지식 #총서 600권 '2025-04-22 #2026-04-20](https://notes.junghanacs.com/bib/20250422T101847)
-   [bib/ #전자책 구독 서비스: §크레마클럽 §밀리의서재 §윌라 §교보샘 '2025-05-29 #2026-04-20](https://notes.junghanacs.com/bib/20250529T122854)
-   [botlog/ 디지털가든 깃허브 - 외부AI 시맨틱 연결 고도화 방안 '2026-04-04 #2026-04-20](https://notes.junghanacs.com/botlog/20260404T145500)
-   [meta/ † #추론 #예측 #가설추리 #가추 #인과추론 '2024-02-21 #2026-04-20](https://notes.junghanacs.com/meta/20240221T134820)
-   [meta/ † #검색 #검색엔진 #검색증강생성 #임베딩 '2024-10-02 #2026-04-20](https://notes.junghanacs.com/meta/20241002T085733)
-   [meta/ † #점진적롤아웃 #단계적배포 #기능플래그 #카나리 '2026-04-20 #2026-04-20](https://notes.junghanacs.com/meta/20260420T183619)
-   [notes/ 코딩테스트 기억 추억 - 오일러 '2025-03-29 #2026-04-20](https://notes.junghanacs.com/notes/20250329T161615)
-   [notes/ @힣: 영어 태그 규칙 - 자석이 되려면 개별 단어 룰을 지켜라 '2025-04-23 #2026-04-20](https://notes.junghanacs.com/notes/20250423T144054)

## CITATIONS

2026-04-20 ~ 2026-04-26 추가된 서지 없음.

## PREV

-   [2026-04-13](https://notes.junghanacs.com/journal/20260413T000000)

## BIBLIOGRAPHY

- 움베르토 에코. 2015. *#셜록홈스 #기호학자 #가추법 #기호학*. Translated by 김주환. <https://www.yes24.com/Product/Goods/60232171>.
- “The Book of Why.” 2025. [https://en.wikipedia.org/w/index.php?title=The_Book_of_Why&#38;oldid=1280983888](https://en.wikipedia.org/w/index.php?title=The_Book_of_Why&oldid=1280983888).
