From 8ba960351ff8b448c9b7db441420ea7c9e0542bd Mon Sep 17 00:00:00 2001 From: umsangdon Date: Fri, 11 Sep 2026 16:18:04 +0900 Subject: [PATCH] =?UTF-8?q?docs(verification):=20=EC=B0=BD=20=ED=99=98?= =?UTF-8?q?=EA=B2=BD=20=EB=A7=81=ED=81=AC=20=EA=B5=AC=EC=84=B1=C2=B7?= =?UTF-8?q?=EA=B9=83=20=EC=9A=B4=EC=98=81=20=EC=B6=A9=EB=8F=8C=20=EC=A1=B0?= =?UTF-8?q?=EC=82=AC=20=EA=B8=B0=EB=A1=9D?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit - 워크트리 넷의 링크 구성 실측(정션·하드링크·복사본·없음) - 오르카는 무시 파일만 하드링크, 폴더는 안 만듦 — 그 워크트리에서 세션 훅 안 돎 - 오르카에 커밋·푸시 명령 없음 — 역할 나눔이 방향 - 토큰 실측(커밋 1회 191~338 · 따라오기 52~88) Co-Authored-By: Claude Opus 5 (1M context) Claude-Session: https://claude.ai/code/session_011N7TKFmaPogzq9HUi6jKo7 --- .../2026-09-11_창환경_링크와_깃운영_조사.md | 135 ++++++++++++++++++ 1 file changed, 135 insertions(+) create mode 100644 docs/raw/verification/2026-09-11_창환경_링크와_깃운영_조사.md diff --git a/docs/raw/verification/2026-09-11_창환경_링크와_깃운영_조사.md b/docs/raw/verification/2026-09-11_창환경_링크와_깃운영_조사.md new file mode 100644 index 00000000..3a3b7a92 --- /dev/null +++ b/docs/raw/verification/2026-09-11_창환경_링크와_깃운영_조사.md @@ -0,0 +1,135 @@ +# 창 환경 조사 — 워크트리 링크 구성과 깃 운영 방식 (2026-09-11, 랩탑 보조) + +> 계획서(`PLAN.md` 10절)에는 **요약과 판단 자리만** 두고, 실측 원문은 이 파일에 둠. +> 조사 자리 — 랩탑 보조 워크트리 `C:\Aislo_wt\aislo-b0506`, 브랜치 `sub_laptop_1`. + +--- + +## 1. 워크트리·링크 실측 + +### 1-1. 지금 붙어 있는 워크트리 넷 + +| 폴더 | 브랜치 | 만든 주체 | +| ----------------------------------------------------------------------------- | ---------------- | --------- | +| `C:\Program_coding\임도설계 및 견적자동화 프로그램 개발` | `main_laptop_1` | 사용자 | +| `C:\Aislo_wt\aislo-b0506` | `sub_laptop_1` | 사용자 | +| `C:\Users\umsan\orca\workspaces\임도설계 및 견적자동화 프로그램 개발\main_laptop_1-2` | `CODEX` | 오르카 | +| `C:\Users\umsan\orca\workspaces\임도설계 및 견적자동화 프로그램 개발\안티그래비티` | `안티그래비티` | 오르카 | + +근거 — `.git/worktrees/*/HEAD` · `gitdir` 읽음, `git branch -vv --all`. + +### 1-2. 폴더마다 링크 구성이 다름 + +| 대상 | 메인 폴더 | 랩탑 보조(`aislo-b0506`) | 오르카 워크트리 | +| --------------- | --------- | ------------------------ | --------------- | +| `.claude/` | 실물 | **정션**(메인 가리킴) | **없음** | +| `venv/` | 실물 | **정션** | **없음** | +| `.codex/` | 실물(안에 `config.toml` 하나) | 없음 | 없음 | +| `PLAN.md` | 실물 | **없음** | **하드링크** | +| `OWNERS.md` | 실물 | **없음** | **하드링크** | +| `CLAUDE.md` | 실물 | 별도 복사본(내용 동일) | **하드링크** | +| `AGENTS.md` | 실물 | 별도 복사본(내용 동일) | **하드링크** | + +근거 — `Get-Item -Force` 의 `LinkType`·`Target`, `fsutil hardlink list`, +`stat -c "%h %i"`(링크 수·아이노드). 네 파일은 `.gitignore` 의 `/PLAN.md` `/OWNERS.md` +`/AGENTS.md` `/CLAUDE.md` 로 **git 밖**이라 워크트리에 저절로 생기지 않음. + +### 1-3. 오르카의 새 워크트리 처리 — 파일만 따라가고 폴더는 안 따라감 + +- 오르카가 만든 워크트리에는 git 무시 대상 **파일 네 개가 하드링크로 자동** 들어감. +- 반면 `.claude`·`.codex`·`venv` 같은 **폴더는 만들지 않음** — 그 워크트리 둘 다 셋이 없음. +- ⚠ 그 결과 **세션 훅이 아예 안 돎** — 훅은 `.claude/settings.json` 에 실려 있음. + 즉 오르카로 만든 워크트리에서 Claude 를 돌리면 따라오기·자동 push 가 없음. +- 오르카 저장소 설정 — `hookSettings.scripts.setup = "npm install"`, + `setupRunPolicy = run-by-default`(새 워크트리마다 자동 실행). `archive` 는 빈 값. + 근거 — `orca repo list --json`. + +### 1-4. 링크 방식마다 무엇이 다른가 + +| | 하드링크(파일) | 정션(폴더) | 심볼릭 링크(파일·폴더) | +| --- | --- | --- | --- | +| 관리자 권한 | 불필요 | 불필요 | **필요**(또는 개발자 모드) | +| 실물 | 하나, 이름 둘 | 하나, 표지판 | 하나, 표지판 | +| 「갈아치우기」 저장에 견딤 | ❌ **끊어짐** | ✅ | ✅ | +| 지울 때 위험 | 이름 하나 지워도 실물 남음 | 안을 지우면 **원본이 지워짐** | 링크만 지워짐 | + +⚠ 저장소 폴더가 통째로 시놀로지 동기화됨(2026-09-07 기록). 동기화·일부 편집기는 +**새 파일을 쓴 뒤 이름을 바꿔 끼우는** 식으로 저장하므로 **하드링크가 조용히 끊어짐** — +끊기면 같은 파일처럼 보이면서 값이 갈라짐. 지금은 네 파일 모두 링크 수 2 로 **살아 있음**. + +### 1-5. 개발자 모드 — 랩탑에서는 막힘 + +- 심볼릭 링크 시험 결과 `Administrator privilege required for this operation.` +- 계정 `ESD_LAPTOP\umsan` 은 **관리자 아님**(`IsInRole(Administrator) = False`). + 개발자 모드는 `HKLM\...\AppModelUnlock` 에 쓰는 것이라 관리자 자격이 필요함. +- 2026-09-11 사용자 — **데스크탑은 개발자 모드 켰음**, 랩탑은 나중. + +### 1-6. 링크가 없어 지금 실제로 잃고 있는 것 + +- `git-sync.ps1` 5단계가 장부를 `<저장소>\OWNERS.md` · `<저장소>\docs\raw\OWNERS.md` + 두 자리에서만 찾음 → 보조 워크트리엔 없어 **`[owners]` 점유표 줄이 안 찍힘** + (이번 세션 시작 출력에 그 줄 없음). +- `wiki_autosync.ps1` 은 `OWNERS.md` 가 없으면 「건너뜀」으로 빠짐 — 이건 의도대로임 + (위키는 메인 폴더·코덱스 몫). +- `PLAN.md` 는 링크가 없어도 **메인 폴더 절대경로로 읽고 쓰면 같은 파일 한 벌**임. + ⚠ 진짜 위험은 링크 없음이 아니라 **보조 폴더에 새 `PLAN.md` 를 만드는 것** — + git 무시 대상이라 갈라져도 git 이 못 잡음. + +--- + +## 2. 깃 운영 — 스크립트와 오르카가 겹치는 자리 + +### 2-1. 오르카가 깃에서 하는 일은 좁음 + +`orca --help` 전수 — **커밋·푸시·PR 명령이 없음.** 있는 것은 +`worktree create/rm`(워크트리·브랜치 만들기·지우기) · `repo set-base-ref`(기준 브랜치) · +`repo search-refs` · `file diff`·`file open-changed`(변경 파일 열기) 뿐. +⇒ 스크립트가 하는 **따라오기·되받기·모으기·자동 push 를 오르카가 대신할 수 없음.** + +### 2-2. 충돌 셋 + +1. **오르카 워크트리엔 `.claude` 가 없어 깃 자동화가 통째로 안 돎** (1-3). +2. **브랜치 이름이 규칙 밖이면 창끼리 영영 안 보임** — 되받기 대상이 + `^(main|wiki|CODEX|안티그래비티|(main|sub)_(laptop|desktop)_\d+)$` 로 못박혀 있음 + (`git-sync.ps1` 2.5단계). 오르카는 워크트리 이름으로 브랜치를 만들므로 + `fix-login` 류 이름이 생기면 다른 창이 그 커밋을 못 봄. + 지금 오르카 워크트리 둘은 **우연히** 규칙 안(`CODEX`·`안티그래비티`)임. +3. **그 두 브랜치는 「`docs/` 만 받기」 문이 걸려 있음** — 위키·리뷰 창용 안전장치. + 오르카 창에서 **코드**를 커밋하면 다른 창이 그 코드를 안 받고 조용히 격리됨. + +곁딸린 것 — `git-autopush.ps1` 1단계가 `git add -A -- . ':(exclude)docs/wiki'` 로 +**남은 변경을 전부 담음**. 오르카 UI 에서 골라 담는 방식과 부딪힘. +멈추는 스위치는 `tmp/parallel.flag` 파일 하나뿐. + +### 2-3. 고를 길 셋 + +| 길 | 내용 | 판정 | +| --- | --- | --- | +| (가) 지금대로 | 오르카는 창·터미널·브라우저만 | 손질 둘 필요(링크 자동·브랜치 이름) | +| (나) 오르카로 넘기기 | 깃 처리를 오르카에 맡김 | **불가** — 커밋·푸시 명령이 없음 | +| (다) 역할 나눔 | **워크트리·브랜치 만들기·지우기 = 오르카**, **따라오기·되받기·모으기·자동 push = 스크립트** | 겹침 없음 — 권함 | + +--- + +## 3. 토큰 실측 (참고) + +토크나이저 라이브러리가 이 환경에 없어 **글자수 × 비율**(한글 1.0~1.6 토큰/글자 · +ASCII 0.25~0.45 토큰/글자)로 범위를 냄. + +| 조각 | 글자 | 토큰 | +| --- | --- | --- | +| 커밋 명령(파일경로 + 첨부 2줄) | 233 | 66~118 | +| 커밋 출력 | 100 | 33~58 | +| autopush 명령 | 82 | 20~37 | +| autopush 출력 한 줄 | 56 | 21~36 | +| 도구호출 뼈대 2회 | — | 50~90 | +| **한 번 커밋+푸시 합계** | | **191~338** | +| 지시마다 도는 `git-sync -Brief` | 118 | 52~88 | + +- 거친 하루치 — 커밋 15회 2,900~5,000 토큰 · 지시 60회 따라오기 3,100~5,300 토큰. +- **누적은 중첩임** — 30지시면 새로 들어가는 양은 2,100 토큰인데, 매 차례 대화 전체가 + 다시 실려 가므로 청구 기준 입력은 70 × (1+2+…+30) ≈ 3.2만. 대부분 프롬프트 캐시에 + 맞아 값은 1/10 쯤. **맥락 창을 먹는 것은 2,100 뿐.** +- 세션 종료 시 도는 autopush 는 **대화 토큰 0**(세션이 닫혀 문맥에 안 실림). +- 줄일 자리 둘 — 커밋 첨부 2줄(28~50 토큰/회) · 따라오기가 「바뀐 것 없음」일 때 아무 줄도 + 안 찍게 하기(지금은 「원격과 동일」 + 참고 한 줄을 늘 찍고, 그 참고 줄이 절반).