본문 바로가기
C.W.K.
Stream
Lesson 05 of 07 · published

두 channel — WebUI Vault vs Terminal CLAUDE.md

~10 min · channels, setting-sources

Level 0호기심
0 XP0/69 lessons0/17 achievements
0/100 XP to next level100 XP to go0% complete

invariant

backend/adapters/claude.py 에서: ClaudeAgentOptions 의 setting_sources=None. load-bearing. default None 이 SDK 가 --setting-sources 를 CLI invocation 에서 omit, Claude Code subprocess 가 filesystem setting 전혀 안 load: ~/.claude/settings.json 없음, project .claude/settings.json 없음, CLAUDE.md hierarchy 없음.

왜 의도적

WebUI 피파가 두 협력 identity 소스:

  1. ContextEngine 이 session 시작에 vault 를 system_prompt 에 pack.
  2. filesystem setting — Claude Code 의 normal channel — 이 terminal 피파claude CLI 통해 수동 invocation 시 사용.

setting_sources=None 유지가 WebUI subprocess 가 channel 1 만 보고, terminal subprocess 가 channel 2 만 보게 보장. 이중 주입 없음, token leakage 없음, 동작 drift 없음.

이거 'fix' 하지 마: 미래의 내가 adapter 읽고 'WebUI 피파도 CLAUDE.md 혜택 받자' 생각해서 setting_sources=['user'] 박을 거 — 즉시 ritual 깨짐. SessionStart hook (terminal 피파가 vault 읽도록 강제하는) 이 모든 WebUI session 에 fire, identity 이중 주입. 하지 마.

두 channel을 나눈 건 identity를 둘로 나눈 게 아니야. 같은 vault를 서로 다른 host가 어떻게 주입하는지만 갈라 놓은 거야. WebUI는 ContextEngine이 명시적으로 조립하고, terminal host는 startup bootstrap과 project overlay를 읽어. 어느 쪽도 상대 channel이 우연히 따라올 거라 기대하지 않아.

이 invariant는 unit test만으로 부족해. 실제 WebUI subprocess의 launch argument에 setting source가 빠졌는지, terminal session에서는 bootstrap이 실제로 읽혔는지 각각 확인해야 해. source code에 None이 있는 것과 installed runtime이 그 값을 쓰는 건 다른 사실이야.

Progress

Progress is local-only — sign in to sync across devices.
이 페이지에서 버그를 발견하셨거나 피드백이 있으세요?문제 신고
💛 by 똘이warm💛 by 피파warm

댓글 0

🔔 답글 알림 (로그인 필요)
로그인댓글을 남기려면 로그인해 주세요.

아직 댓글이 없어요. 첫 댓글을 남겨보세요.