@kaydash9999/banker-plugins 0.22.0 โ 0.23.2
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/.claude-plugin/marketplace.json +1 -1
- package/.claude-plugin/plugin.json +1 -1
- package/CHANGELOG.md +68 -0
- package/PRIVACY.md +1 -0
- package/README.md +39 -13
- package/bin/banker.js +118 -22
- package/bin/lib/codex-hooks.mjs +116 -18
- package/bin/lib/codex-names.mjs +4 -0
- package/bin/lib/codex-routes.mjs +93 -1
- package/bin/lib/command-skill.cjs +37 -6
- package/codex/command-skills/front-qa/SKILL.md +1 -1
- package/codex/command-skills/setup/SKILL.md +4 -4
- package/codex/hooks.json +5 -5
- package/codex/manifest.json +18 -15
- package/codex/skills/progress/scripts/progress.mjs +44 -14
- package/codex/skills/teamwork/SKILL.md +143 -0
- package/codex/skills/teamwork/scripts/teamwork.mjs +1007 -0
- package/codex/transform-matrix.md +5 -3
- package/hooks/obsidize-hook.mjs +75 -32
- package/hooks/telemetry-count-codex.mjs +238 -57
- package/hooks/update-fetch.mjs +2 -1
- package/hooks/update-notify.mjs +82 -20
- package/package.json +3 -1
- package/skills/3d-intro-build/SKILL.md +101 -20
- package/skills/3d-intro-build/references/NOTICE.md +9 -2
- package/skills/3d-intro-build/references/assemble.mjs +113 -22
- package/skills/3d-intro-build/references/azure-adapter.mjs +110 -24
- package/skills/3d-intro-build/references/clip-post.mjs +443 -0
- package/skills/3d-intro-build/references/dive-mode.mjs +299 -0
- package/skills/3d-intro-build/references/intro-fixes.css +11 -0
- package/skills/3d-intro-build/references/prompts.md +51 -4
- package/skills/3d-intro-build/references/scrub-engine.js +1 -0
- package/skills/3d-intro-build/references/step-nav.css +29 -0
- package/skills/3d-intro-build/references/step-nav.js +284 -106
- package/skills/3d-intro-build/references/verify-intro.mjs +373 -32
- package/skills/3d-intro-build/references/verify.md +6 -0
- package/skills/3d-intro-build/references/video-pool.mjs +142 -12
- package/skills/3d-intro-setup/SKILL.md +20 -7
- package/skills/3d-intro-setup/references/azure-adapter.mjs +110 -24
- package/skills/3d-intro-setup/references/video-pool.mjs +142 -12
- package/skills/all-in-one/SKILL.md +125 -86
- package/skills/omc-patch/SKILL.md +1 -1
- package/skills/payload-mon/SKILL.md +1 -1
- package/skills/play-qa/SKILL.md +6 -4
- package/skills/progress-mon/README.md +164 -0
- package/skills/progress-mon/SKILL.md +165 -0
- package/skills/progress-mon/assets/fixture/README.md +1 -0
- package/skills/progress-mon/assets/fixture/arch.json +33 -0
- package/skills/progress-mon/assets/fixture/commits.json +7 -0
- package/skills/progress-mon/assets/fixture/config.json +30 -0
- package/skills/progress-mon/assets/fixture/events.jsonl +7 -0
- package/skills/progress-mon/assets/fixture/flow.json +44 -0
- package/skills/progress-mon/assets/fixture/items.json +14 -0
- package/skills/progress-mon/assets/fixture/req-spec.json +31 -0
- package/skills/progress-mon/assets/fixture/reqs.json +11 -0
- package/skills/progress-mon/assets/fixture/variants/arch-auto/arch.json +58 -0
- package/skills/progress-mon/assets/fixture/variants/check-auto/arch.json +15 -0
- package/skills/progress-mon/assets/fixture/variants/check-overlap/arch.json +14 -0
- package/skills/progress-mon/assets/fixture/variants/history-manual/config.json +13 -0
- package/skills/progress-mon/assets/fixture/variants/history-manual/items.json +7 -0
- package/skills/progress-mon/assets/fixture/variants/workflow-wide/flow.json +35 -0
- package/skills/progress-mon/assets/fixture/workflows/wf_ex1/agent-a01.jsonl +1 -0
- package/skills/progress-mon/assets/fixture/workflows/wf_ex1/agent-a02.jsonl +1 -0
- package/skills/progress-mon/assets/fixture/workflows/wf_ex1/agent-a03.jsonl +1 -0
- package/skills/progress-mon/assets/fixture/workflows/wf_ex1/agent-a04.jsonl +1 -0
- package/skills/progress-mon/assets/fixture/workflows/wf_ex1/journal.jsonl +7 -0
- package/skills/progress-mon/references/arch.md +280 -0
- package/skills/progress-mon/references/authoring.md +199 -0
- package/skills/progress-mon/references/config.md +115 -0
- package/skills/progress-mon/references/flow.md +75 -0
- package/skills/progress-mon/references/inventory.md +58 -0
- package/skills/progress-mon/references/items.md +74 -0
- package/skills/progress-mon/references/req-spec.md +74 -0
- package/skills/progress-mon/references/reqs.md +30 -0
- package/skills/progress-mon/scripts/index.js +31 -0
- package/skills/progress-mon/scripts/pm-check.mjs +549 -0
- package/skills/progress-mon/scripts/pm-config.mjs +343 -0
- package/skills/progress-mon/scripts/pm-data.mjs +394 -0
- package/skills/progress-mon/scripts/pm-html.mjs +77 -0
- package/skills/progress-mon/scripts/pm-memory.mjs +333 -0
- package/skills/progress-mon/scripts/pm-render.mjs +1644 -0
- package/skills/progress-mon/scripts/pm-server.mjs +781 -0
- package/skills/progress-mon/scripts/pm-sources.mjs +501 -0
- package/skills/progress-mon/scripts/progress-mon.mjs +167 -0
- package/skills/ralph-qa/SKILL.md +107 -17
- package/skills/ralph-qa/references/gate-evidence.mjs +457 -0
- package/skills/ralph-qa/references/payload-scan.mjs +19 -2
- package/skills/ralph-qa/references/run-folder.mjs +299 -0
- package/skills/ralph-qa/references/seat-payload.mjs +60 -13
- package/skills/ralph-qa/references/seat-run.mjs +200 -159
- package/skills/remains/SKILL.md +2 -0
- package/skills/remains/scripts/boxes.mjs +6 -2
- package/skills/setup-bypass-permissions/scripts/codex-config.mjs +19 -8
- package/skills/setup-mcp/SKILL.md +1 -1
- package/skills/setup-omc-hud/SKILL.md +2 -1
- package/skills/setup-omc-hud/assets/codex-config.mjs +19 -8
- package/skills/ultra-chain/SKILL.md +32 -14
- package/skills/ultra-chain/references/chain-ledger.mjs +111 -3
- package/skills/ultra-init/SKILL.md +30 -22
- package/skills/ultraqa/NOTICE.md +34 -0
- package/skills/ultraqa/SKILL.md +197 -0
- package/skills/ultraqa/references/gate-evidence.mjs +457 -0
- package/skills/ultraqa/references/run-folder.mjs +299 -0
- package/skills/ultraqa/references/tmux-drive.md +52 -0
- package/skills/ultraqa/references/uqa-run.mjs +339 -0
- package/skills/update-banker/SKILL.md +1 -1
package/skills/ralph-qa/SKILL.md
CHANGED
|
@@ -42,8 +42,12 @@ description: "์์
๊ฒฐ๊ณผ๋ฅผ ์๊ธฐ ์ฑ์ ํ์ง ์๋๋ก ๋
๋ฆฝ ๊ฒ์ฆ๊ณผ
|
|
|
42
42
|
- ์ ์๊ฐ ๋ชจ๋ธ์ ๊ณ ์ ํ ์ ํ(์: OMC ์ criticยทverifier)์ ์ธ์
๋ชจ๋ธ๊ณผ ๋ค๋ฅผ ์ ์์ผ๋ฏ๋ก ๋ฐฑ๋ณธ์ผ๋ก ์ฐ์ง ์๋๋ค.
|
|
43
43
|
- Codex: `spawn_agent` ๋ฅผ `agent_type` ๊ณผ `model` ์์ด ๋ถ๋ฅธ๋ค. ์์์ ํ์ฌ ๋ชจ๋ธ์ ๋ฌผ๋ ค๋ฐ๋๋ค. ์ ์ ๋ํ๋ ๋๊ธฐ์ง ์๋๋ค: multi-agent v2 ๋ `fork_turns="none"`, v1 ์ `fork_context` ๋ฅผ ์ฃผ์ง ์๋๋ค.
|
|
44
44
|
- Codex ํ๊ฒฝ ์ง์๊ฐ ์ญํ (`agent_type`)์ ์๊ตฌํ๋ฉด, ์ญํ ์ ์ ์์ ๊ณ ์ ๋ ๋ชจ๋ธ๊ณผ ๊ฐ๋๋ก ๋๋ค. ๊ณ ์ ๋ชจ๋ธ์ด ์ธ์
๋ชจ๋ธ๊ณผ ๊ฐ์ ์ญํ ์ ๊ณ ๋ฅธ๋ค. ๊ทธ๋ฐ ์ญํ ์ด ์์ผ๋ฉด ๊ทธ ์ข์์ ์ธ์
๋ชจ๋ธ ์ข์์ด ์๋๋ค. ์ ์กฑ์์ `๋ด๋ถ ์ข์ โฅ 3` ๊ณผ ๊ณผ๋ฐ์ ์ธ์ง ์๊ณ (๊ทธ ์ข์์ blocker ๋ ์ผ๋ค), ์ ์ธ ๋ธ๋ก๊ณผ ํ์ ์ค์ ๊ทธ ์ญํ ์ ๋ชจ๋ธ๊ณผ ๊ฐ๋๋ฅผ ์ ๋๋ค. ์ธ์
๋ชจ๋ธ ์ข์์ด 3 ๋ฏธ๋ง์ด๋ฉด `INCONCLUSIVE` ๋ค.
|
|
45
|
+
- ์ญํ ์ ๊ณ ์ ๋ชจ๋ธ๊ณผ ๊ฐ๋๋ `$CODEX_HOME/agents/<์ญํ >.toml`(๊ธฐ๋ณธ `~/.codex/agents`, ํ๋ก์ ํธ ๋ฒ์๋ฉด `.codex/agents`)์ `model`, `model_reasoning_effort` ์์ ์ฝ๊ณ , ์ธ์
๋ชจ๋ธ์ `config.toml` ์ `model`(์คํ ์ธ์ `-m`, `-c model=` ์ด ์์ผ๋ฉด ๊ทธ๊ฒ)์์ ์ฝ๋๋ค. ๋์ด ๊ฐ์ผ๋ฉด ๊ทธ ์ญํ ์ข์์ ์ธ์
๋ชจ๋ธ ์ข์์ด๊ณ ์ ์กฑ์์ `๋ด๋ถ ์ข์ โฅ 3` ๊ณผ ๊ณผ๋ฐ์ ์ผ๋ค. ์ง์์ผ๋ก ์ ์กฑ์ ๋ถ๊ฐ๋ฅผ ์ ์ธํ์ง ์๋๋ค.
|
|
46
|
+
- ์ญํ ์ ๊ณ ๋ฅผ ๋๋ ๊ณ ์ ๋ชจ๋ธ์ด ์ธ์
๋ชจ๋ธ๊ณผ ๊ฐ์ ์ญํ ๊ฐ์ด๋ฐ, ์ด ํ๊ฒฝ์์ ์ธ ์ ์๋ ๋๊ตฌ(์: MCP ๋ฅผ ๋ ํ์ `lsp_diagnostics`)๋ฅผ ์ฒดํฌ๋ฆฌ์คํธ์ ์๊ตฌํ์ง ์๋ ์ญํ ์ ๋จผ์ ๊ณ ๋ฅธ๋ค. ์์์ ์ ์์ ๊ฐ์ ๋๊ตฌ๋ฅผ ๋ฐ์ผ๋ฏ๋ก, ์ญํ ์ ์ ํ์ผ(`agents/<์ญํ >.toml`)์ ์ ์์ ๋๊ตฌ ๋ชฉ๋ก์ ์๋ ๋๊ตฌ ์ด๋ฆ์ด ๋์ค๋ฉด ๊ทธ ์ญํ ์ ๊ณ ๋ฅด์ง ์๋๋ค. ์ญํ ์ ์๋ ์๋จธ๋ฆฌ์ ๋๊ตฌ ๊ท์น๋ณด๋ค ์์ ์น์ธ์ ๋ง๋๋ค(0.165.0, OMX ์ค์ธก: `code-reviewer` ์ข์์ด `๋๊ตฌ ์์: lsp_diagnostics` ๋ฅผ ์ ๊ณ ์์ฉ ๊ธฐ์ค ์ถฉ์กฑ์ ๋งํ๋ฉด์๋ `ERROR` ๋ฅผ ๋). ๊ทธ ์ค์ธก์์ `code-reviewer` ๋ ๊ทธ๋ฐ ์ญํ ์ด๊ณ `critic`, `verifier` ๋ ์๋๋ค.
|
|
47
|
+
- ์ญํ ์ฒดํฌ๋ฆฌ์คํธ๊ฐ ์๊ตฌํ๋ ๋๊ตฌ๊ฐ ์์ ๋์ ๊ท์น์ ๊ณ ์ ์๋จธ๋ฆฌ(์ํฌํ๋ก 1๋จ๊ณ)์ ๋ค์ด ์๋ค. ๋๊ตฌ๊ฐ ์๋ค๋ ์ฌ์ค๋ง์ผ๋ก๋ `ITERATE` ๋ `INCONCLUSIVE` ๋ ์๋๋ค. ์ข์์ด "๊ผญ ํ์ํ์ง ์์ง๋ง ๋๊ตฌ๊ฐ ์์ด ์น์ธํ์ง ์๋๋ค" ๊ณ ํ๋ฉด ๊ทธ ์ข์์ ๊ณ ์ ์๋จธ๋ฆฌ๋ฅผ ๊ทธ๋๋ก ๋ฃ์๋์ง ๋จผ์ ๋ณธ๋ค.
|
|
45
48
|
- **์ฝ๊ธฐ ์ ์ฉ์ ์ง์๋ก ์ ๋ค.** `Plan` ์ WriteยทEdit ๊ฐ ์์ง๋ง Bash ๊ฐ ์๊ณ , Codex ์์์ ๋ถ๋ชจ์ ๊ฐ์ ๋๊ตฌ์ ์๋๋ฐ์ค๋ฅผ ๋ฐ๋๋ค. ๊ทธ๋์ ๋ชจ๋ ์ข์์ ์ง์ ์๋จธ๋ฆฌ์ ์ฐ๊ธฐ ๊ธ์ง๋ฅผ ๊ณ ์ ํ๋ค(์ํฌํ๋ก 1๋จ๊ณ). ๊ณ ์น๋ ๊ฒ์ ๋ฐ๋ณต ๋ฃจํ์ ์ ์ ๋ชซ์ด๋ค.
|
|
46
49
|
- **๊ฒ์ดํธ๋ ์ ์๊ฐ ๋๋ฆฐ๋ค.** `Plan` ์ง์๋ ์์ ํ์ผ ์์ฑ๊ณผ ์ํ๋ฅผ ๋ฐ๊พธ๋ ๋ช
๋ น์ ๋ง์, ๊ฒํ ์๊ฐ ํ
์คํธยทsmoke ๋ฅผ ์ง์ ๋๋ฆฌ์ง ๋ชปํ๋ค. ์ ์๊ฐ ๊ฒ์ดํธ๋ฅผ ๋๋ ค ๋ช
๋ น๊ณผ ์๋ฌธ ์ถ๋ ฅ์ ์
๋ ฅ์ ๋ฃ๊ณ , ๊ฒํ ์๋ ๊ทธ ์ถ๋ ฅ์ ๋ช
๋ น๊ณผ ์ฝ๋์ ๋์กฐํ๋ค.
|
|
50
|
+
- **`--gates` ๋ฅผ ์ฃผ๋ฉด ๊ฒ์ดํธ๋ ์คํ๊ธฐ๊ฐ ๋๋ฆฐ๋ค.** `references/gate-evidence.mjs run` ์ด ๋ช
๋ น์ ์ง์ ์คํํ๊ณ ์ข
๋ฃ ์ฝ๋, ์ถ๋ ฅ ํ์ผ๊ณผ sha256, ์์
ํธ๋ฆฌ ์ง๋ฌธ์ `observed` ๊ธฐ๋ก์ผ๋ก ๋จ๊ธด๋ค(๊ฒ์ดํธ ์ฆ๊ฑฐ ์ ). ๋ชจ๋ธ์ด ์ ์ ์ข
๋ฃ ์ฝ๋๋ `reported` ์ด๊ณ ํ์ ์ ์ฐ์ง ์๋๋ค.
|
|
47
51
|
- **์ถ๋ก ๊ฐ๋๋ ๊ณ ๋ฅด๋ ๊ฒ์ด ์๋๋ผ ๋ฌผ๋ ค๋ฐ๋ ๊ฒ์ด๋ค.** ์ธ์
์ค์ ์ด ์ง๋ฐฐํ๊ณ ์ด ์คํฌ์๋ ์์ก์ด๊ฐ ์๋ค. ์ต๋ ๊ฐ๋๋ก ๊ฒ์ฆ๋ฐ๊ณ ์ถ์ผ๋ฉด **ํธ์ถ ์ ์ ์ธ์
๊ฐ๋๋ฅผ ์ฌ๋ ค๋ผ.**
|
|
48
52
|
- **์ค์ ๋ก ์ด ๋ชจ๋ธ๊ณผ ๋ฌผ๋ ค๋ฐ์ ๊ฐ๋๋ฅผ ๋ณด๊ณ ์ ์ ์ธ ๋ธ๋ก์ ์ ๋๋ค.** ๋ชฉํ๋ฅผ ์ ๊ณ ์ค์ ๋ฅผ ๊ฐ์ถ๋ ๊ฒ์ด ์ด ์คํฌ์์ ๊ฐ์ฅ ๋์ ์คํจ๋ค. ํ์ ์์ด์ ํธ ๋ชจ๋ธ์ ๋ฐ๊พธ๋ ์ค์ (`CLAUDE_CODE_SUBAGENT_MODEL` ๋ฑ)์ด ์์ผ๋ฉด ๊ทธ ๊ฐ์ ํจ๊ป ์ ๋๋ค. ๋์ฐ๊ธฐ ์ ์ ์
ธ์์ ๊ทธ env ๋ฅผ ๋ณธ๋ค. ์ธ์
๋ชจ๋ธ๊ณผ ๋ค๋ฅธ ๋ชจ๋ธ์ด๋ฉด ๊ทธ ์ข์์ ์ธ์
๋ชจ๋ธ ์ข์์ด ์๋๋ผ ์ ์กฑ์์ `๋ด๋ถ ์ข์ โฅ 3` ์ ์ธ์ง ์๋๋ค. ๊ณผ๋ฐ์๋ ์ธ์ง ์๊ณ , ๊ทธ ์ข์์ blocker ๋ ์ผ๋ค.
|
|
49
53
|
- **๋์ธ ์ ์์ผ๋ฉด ํ๋ด ๋ด์ง ์๋๋ค.** Agent ๋๊ตฌ๋ `Plan` ์ ํ์ด ์๋ ์คํ(์๋ธ์์ด์ ํธ ์, `CLAUDE_CODE_DISABLE_EXPLORE_PLAN_AGENTS` ๋ฑ)์ด๋ Codex ์ ์๋ธ์์ด์ ํธ ๊ธฐ๋ฅ์ด ๊บผ์ง ์คํ์์, ํ ๋งฅ๋ฝ์ด ๊ฒํ ์ ์
์ ์ฐ๊ธฐํ์ง ์๋๋ค. ์ธ์
๋ชจ๋ธ ์ข์์ด 3 ๋ฏธ๋ง์ด๋ผ `INCONCLUSIVE` ๋ค(์ธ๋ถ ์ข์์ด ์์ด๋ ๊ฐ๋ค. ์ธ๋ถ ์ข์๋ ์์ผ๋ฉด ์ข์ ์ดํฉ 0 ์ด๋ค).
|
|
@@ -113,16 +117,26 @@ node "<์ด ์คํฌ ๋๋ ํฐ๋ฆฌ ์ ๋๊ฒฝ๋ก>/references/verifier-probe.mjs" --ru
|
|
|
113
117
|
|
|
114
118
|
ํด๋, ํ์ด๋ก๋, ๋น๋ฐ ๊ฒ์ฌ, ์ข์ ๋ช
๋ น, ์๊ฐ ์ํ, ์ ๋ฆฌ๋ ์คํ๊ธฐ `references/seat-run.mjs` ๊ฐ ํ๋ค. **์ข์ ๋ช
๋ น๊ณผ git ์ฌ์ฌ์ ์์ผ๋ก ์ง์ง ์๋๋ค.** ์คํ๊ธฐ๊ฐ ๋ฉ์ถ๋ฉด ์ถ๋ ฅ JSON ์ `stop` ์ ์๋ ๋ฉ์ถค ํ๋๋ก ์ฒ๋ฆฌํ๋ค.
|
|
115
119
|
`<R>` ์ `<์ด ์คํฌ ๋๋ ํฐ๋ฆฌ ์ ๋๊ฒฝ๋ก>/references` ๋ค(Codex ์ npm ์ค์น๋ณธ์ `~/.codex/skills/banker-ralph-qa/references`, ํ๋ฌ๊ทธ์ธ ์ค์น๋ณธ์ `~/.codex/plugins/cache/<๋ง์ผํ๋ ์ด์ค>/banker/<ํ>/skills/ralph-qa/references`. `CODEX_HOME` ์ด ์์ผ๋ฉด `~/.codex` ๋์ ๊ทธ ํด๋). ํธ์ถ ์ฌ์ด์ ์
ธ ๋ณ์๊ฐ ๋จ์ง ์์ผ๋ฏ๋ก ํธ์ถ๋ง๋ค ์ค์ ๊ฒฝ๋ก๋ฅผ ์ ๋๋ค.
|
|
116
|
-
๋ช
๋ น๋ง๋ค stdout ์ JSON ํ๋๋ฅผ ๋ด๊ณ , ๊ฐ์ JSON ์ `<d>/result-<๋ช
๋ น>.md` ์๋ ์ด๋ค(๋ฉ์ถ send ๋ `result-send-stop.md`). ์ข
๋ฃ ์ฝ๋๋ 0 ๋๋จ, 1 ๋น๋ฐ์ฒ๋ผ ๋ณด์ด๋ ์ค, 2 ์ธ์๋ ์คํ๊ธฐ ์ค๋ฅ, 3 ๋ฉ์ถค, 4 512 KiB ์ด๊ณผ, 5 send ๊ฐ ์์ง ๋์ด๋ค.
|
|
117
|
-
๋ฐ๋ณต๋ง๋ค
|
|
120
|
+
๋ช
๋ น๋ง๋ค stdout ์ JSON ํ๋๋ฅผ ๋ด๊ณ , ๊ฐ์ JSON ์ `<d>/result-<๋ช
๋ น>.md` ์๋ ์ด๋ค(๋ฉ์ถ send ๋ `result-send-stop.md`. ๋ฉ์ถ send ๋ `.sent.md` ๊ฐ ์์ผ๋ฉด ์ข์์ด ํ์ด๋ก๋๋ฅผ ์ด๋ฏธ ๋ฐ์์ ์ ์์ด ๋ค์ ๋ณด๋ด์ง ์๋๋ค). ์ข
๋ฃ ์ฝ๋๋ 0 ๋๋จ, 1 ๋น๋ฐ์ฒ๋ผ ๋ณด์ด๋ ์ค, 2 ์ธ์๋ ์คํ๊ธฐ ์ค๋ฅ, 3 ๋ฉ์ถค, 4 512 KiB ์ด๊ณผ, 5 send ๊ฐ ์์ง ๋์ด๋ค.
|
|
121
|
+
ํ์ด๋ก๋ ํด๋๋ ๋ฐ๋ณต๋ง๋ค ์๋ก ๋ง๋ ๋ค. `--gates` ์ ๊ฒ์ดํธ ๊ธฐ๋ก ํด๋ `<g>` ๋ ์ด๊ฒ๊ณผ ๋ฐ๋ก, ์คํ ๋ด๋ด ํ๋๋ค(๊ฒ์ดํธ ์ฆ๊ฑฐ ์ ).
|
|
118
122
|
|
|
119
123
|
1. `init` ์ผ๋ก ํด๋ ๋์ ๋ง๋ ๋ค. ์ถ๋ ฅ์ `dir` ์ด ํ์ด๋ก๋ ํด๋ `<d>`, `out` ์ด ๋ต ํด๋๋ค.
|
|
120
|
-
- ๊ธฐ์ค ํด๋๋ ์ด ๊ณ์ ๋ง ์ฐ๋ ๊ณณ์ด๋ค. Linux ๋ ์ด ๊ณ์ ์ `$XDG_RUNTIME_DIR`(์๋๋ฉด `~/.cache`), macOS ๋ `$TMPDIR`, Windows ๋ ํ ์์ `%TEMP%`(์๋๋ฉด `~/.cache`)๋ค. `/tmp` ์ฒ๋ผ ์ฌ๋ฌ ๊ณ์ ์ด ์ฐ๋ ํด๋ ์๋์๋ ๋ง๋ค์ง ์๋๋ค. gemini ๋ ์์
ํด๋์์ ๋ฃจํธ๊น์ง ์ฌ๋ผ๊ฐ๋ฉฐ `.gemini/.env` ์ `.env` ๋ฅผ ์ฝ์ด, ๋ค๋ฅธ ๊ณ์ ์ด `/tmp/.env` ์ ๋ `GOOGLE_GEMINI_BASE_URL` ๋ก ํ์ด๋ก๋๋ฅผ ๋ณด๋ธ๋ค(0.62.0 ๋ฒ๋ค ๋ชจ์ ์คํ ์ฌํ).
|
|
124
|
+
- ๊ธฐ์ค ํด๋๋ ์ด ๊ณ์ ๋ง ์ฐ๋ ๊ณณ์ด๋ค. Linux ๋ ์ด ๊ณ์ ์ `$XDG_RUNTIME_DIR`(์๋๋ฉด `~/.cache`. `/tmp` ์ฒ๋ผ ๋ชจ๋ ๊ณ์ ์ด ์ฐ๋ ํด๋ ์๋์ `$XDG_RUNTIME_DIR` ๋ ํ๋ ๊ทธ ์๋์ผ ๋๋ง ์ด๋ค. ๊ทธ๋์ ์ฐ๊ธฐ ๋ฒ์๋ฅผ ํผํ๋ ค๊ณ `XDG_RUNTIME_DIR` ๋ฅผ `/tmp` ์๋๋ก ๋ฐ๊ฟ๋ `~/.cache` ๋ก ๋์๊ฐ๋ค), macOS ๋ `$TMPDIR`, Windows ๋ ํ ์์ `%TEMP%`(์๋๋ฉด `~/.cache`)๋ค. `/tmp` ์ฒ๋ผ ์ฌ๋ฌ ๊ณ์ ์ด ์ฐ๋ ํด๋ ์๋์๋ ๋ง๋ค์ง ์๋๋ค. gemini ๋ ์์
ํด๋์์ ๋ฃจํธ๊น์ง ์ฌ๋ผ๊ฐ๋ฉฐ `.gemini/.env` ์ `.env` ๋ฅผ ์ฝ์ด, ๋ค๋ฅธ ๊ณ์ ์ด `/tmp/.env` ์ ๋ `GOOGLE_GEMINI_BASE_URL` ๋ก ํ์ด๋ก๋๋ฅผ ๋ณด๋ธ๋ค(0.62.0 ๋ฒ๋ค ๋ชจ์ ์คํ ์ฌํ).
|
|
121
125
|
- ๋ ํด๋๋ 0700 ์ด๊ณ ๋น ํ์ง ํ์ผ `.ralph-qa` ๋ฅผ ๋๋ค. ํ๋ฃจ ๊ท์น์ ํ์ง๊ฐ ์๋ ํด๋๋ง ์ง์, ์ด๋ฆ ๊ผด์ด ๊ฐ์ ์ฌ์ฉ์ ํด๋(`ralph-qa.backup`)์ ๋งํฌ๋ ๋จ๋๋ค. ์ ํด๋๊ฐ git ์ ์ฅ์ ์์ด๋ฉด `inside-repo` ๋ก ๋ฉ์ถ๊ณ ์๋ฌด๊ฒ๋ ๋จ๊ธฐ์ง ์๋๋ค.
|
|
122
126
|
2. ๋ณ๊ฒฝ์ ์ํ ์ ํ์ผ์ ๊ณ ๋ฅธ๋ค. `untracked --repo '<์ ์ฅ์>'` ๊ฐ ์ถ์ ํ์ง ์๋ ์ ํ์ผ์ ์ ํํ ์ด๋ฆ(JSON ๋ฌธ์์ด)์ผ๋ก ๋ณด์ธ๋ค(`status --short` ๋ ์ ํด๋๋ฅผ ํ ์ค๋ก ์ ๋๋ค).
|
|
123
127
|
- ๋๊ตฌ๋ ๊ธด ์ถ๋ ฅ(Claude Code ๋ 3๋ง ์)์ ์๋ผ ์ผ๋ถ๋ง ๋ณด์ธ๋ค. ๊ทธ๋์ ๋ชฉ๋ก์ด 100๊ฐ๋ฅผ ๋์ผ๋ฉด ์คํ๊ธฐ๊ฐ ํต์งธ๋ก ์ ํด๋๋ฅผ ํ ์ค(`/` ๋ก ๋๋จ)๋ก ์ ๋๋ค(`folded: true`). ๋ณ๊ฒฝ์ ์ํ ํด๋๋ง `--folder '<ํด๋>'` ๋ก ํผ์น๋ค.
|
|
124
128
|
3. ํ์ผ ๋๊ตฌ๋ก `<d>/short.md` ์ `<d>/spec.md` ๋ฅผ ์ด๋ค.
|
|
125
129
|
- `short.md` ๋ ์ ์๊ฐ ์ฐ๋ ์งง์ ๋ถ๋ถ์ด๋ค. ์ํฌํ๋ก 1๋จ๊ณ์ ๊ณ ์ ์๋จธ๋ฆฌ, ์ฌ๋ ํ์ง, ์ฌ์ฉ์ ์์ฒญ ๋ฌธ์ฅ, ์์ฉ ๊ธฐ์ค์ ๋ด๋๋ค. ์๋ฌธ ๋ถ๋ถ๊ณผ ๋ซ๋ ํ์ง๋ ์คํ๊ธฐ๊ฐ ํ์ผ์์ ์ฝ์ด ๋ถ์ฌ, ์
ธ๋ ๋ชจ๋ธ๋ ๊ธด ์๋ฌธ์ ๋ค์ ์ ์ง ์๋๋ค.
|
|
130
|
+
- `short.md` ์ ๊ผด์ ์๋ ํ๋๋ค. ์ฒซ ์ค์ ๊ณ ์ ์๋จธ๋ฆฌ ๊ธ์ ๊ทธ๋๋ก(`<id>` ๋ง ๋ฐ๊ฟ), ๋์งธ ์ค์ ์ฌ๋ ํ์ง, ๊ทธ ์๋ ์์ฒญ๊ณผ ๊ธฐ์ค์ด๋ค. ๋ซ๋ ํ์ง `</review-data id="<id>">` ๋ ์ฐ์ง ์๋๋ค(์คํ๊ธฐ๊ฐ ๋ถ์ธ๋ค. ์ฐ๋ฉด `markers`).
|
|
131
|
+
|
|
132
|
+
```text
|
|
133
|
+
<๊ณ ์ ์๋จธ๋ฆฌ, <id> ๋ฅผ ๋ฐ๊พผ ๊ธ์ ๊ทธ๋๋ก>
|
|
134
|
+
<review-data id="<id>">
|
|
135
|
+
์ฌ์ฉ์ ์์ฒญ: <์ฌ์ฉ์ ์ ์์ฒญ ๋ฌธ์ฅ ๊ทธ๋๋ก>
|
|
136
|
+
์์ฉ ๊ธฐ์ค: <๊ธฐ์ค ๋ชฉ๋ก>
|
|
137
|
+
```
|
|
138
|
+
|
|
139
|
+
- `spec.md` ์๋ ์๋ ํ์ ๋ค์ฏ ๋ฑ๋ง๋ก ์์ํ๋ ์ค๋ง ์ด๋ค. ์์ฒญ ๋ฌธ์ฅ์ด๋ ์ค๋ช
์ ์ฐ๋ฉด `spec` ์ผ๋ก ๋ฉ์ถ๋ค(์: `file package.json`, `gate <g>/gate-tests-1-2.md`).
|
|
126
140
|
- `spec.md` ๋ ํ ์ค์ ํ๋๋ค. ๋น ์ค๊ณผ `#` ์ค์ ๊ฑด๋๋ด๋ค. ๊ฒฝ๋ก๋ ์ค ๋๊น์ง ์ฝ๋๋ค. ์๋ ๊ฒฝ๋ก๋ ์ ์ฅ์ ๋ฃจํธ ๊ธฐ์ค์ด๋ค.
|
|
127
141
|
|
|
128
142
|
| ์ค | ๋ป |
|
|
@@ -139,7 +153,7 @@ node "<์ด ์คํฌ ๋๋ ํฐ๋ฆฌ ์ ๋๊ฒฝ๋ก>/references/verifier-probe.mjs" --ru
|
|
|
139
153
|
- diff ๋ ์ค์ ์ธ๋ฑ์ค์ ์ฌ๋ณธ์ ๋ชฉ๋ก์ ์ ํ์ผ๋ง ์ฌ๋ ค ๋ง๋ ๋ค. ์คํ
์ด์ง(`git add -f` ํ ํ์ผ ํฌํจ)๊ณผ sparse checkout ์ํ๊ฐ ๊ทธ๋๋ก ๋จ๊ณ , ์ ์ฅ์์ ์ค์ ์ธ๋ฑ์ค์ `.git` ์ ๋ฐ๋์ง ์๋๋ค. ์ ์ฅ์ ์ค์ ์ textconv ์ ์ธ๋ถ diff ๋๋ผ์ด๋ฒ, ์, ํ์ ์ ์ฅ์ ๋ด์ฉ, fsmonitor ๋ ๋๊ณ , ๋ฌธ๋งฅ์ ์ฌ์ฉ์ ์ค์ ๊ณผ ๊ด๊ณ์์ด 3์ค์ด๋ค. attributes ๋ ๊ทธ๋๋ก ๋ฐ๋ฅธ๋ค. ๊ทธ๋์ `-diff`, `binary` ๋ก ๊ฐ๋ ค ๋ ํ์ผ์ ๊ฐ๋ฆฐ ์ฑ `Binary files` ์ค๋ก ์ค๋ฆฐ๋ค. git ์ PATH ์ ์ ๋ ๊ฒฝ๋ก๋ก, ์ ์ฅ์ ๋ฐ ํด๋์์ ๋๋ค.
|
|
140
154
|
- ์ข
๋ฃ 1 ์ ๋น๋ฐ์ฒ๋ผ ๋ณด์ด๋ ์ค์ด ์๋ค๋ ๋ป์ด๋ค. ์ถ๋ ฅ์ `scan.hits` ์ ์ค ๋ฒํธ์ ์ข
๋ฅ๊ฐ ์๋ค. `<d>/prompt.md` ์์ ๊ทธ ๊ฐ์ `[REDACTED]` ๋ก ๊ฐ๋ฆฐ ๋ค `check --dir '<d>'` ๋ฅผ ๋ค์ ํ๊ณ , 0๊ฑด์ด ๋ ๋๊น์ง ๋ณด๋ด์ง ์๋๋ค.
|
|
141
155
|
- `private-key`(PGP ๋ธ๋ก ํฌํจ)๋ ๊ทธ ์ค๋ถํฐ `end` ์ค๊น์ง ๋ธ๋ก ์ ์ฒด๋ฅผ ๊ฐ๋ฆฐ๋ค. `end` ๊ฐ `null` ์ด๋ฉด ๋ณด๋ด์ง ์๋๋ค.
|
|
142
|
-
- ๊ฒ์ฌ๊ธฐ๋ ํํ ํ์๋ง ๋ณธ๋ค. 0๊ฑด์ด ์์ ์ ์ฆ๋ช
์ ์๋๋ค. curl `-u` ์ ๊ฐ ์ ์ฒด๊ฐ ์ซ์:์ซ์๋ฉด(๋ฐ์ดํ ํฌํจ) uid:gid ๋ก ๋ณด๊ณ ์ก์ง ์๋๋ค.
|
|
156
|
+
- ๊ฒ์ฌ๊ธฐ๋ ํํ ํ์๋ง ๋ณธ๋ค. `.netrc` ์ password(machine ์ค์ด๋ ํ ์ค์ ํ ์), `.pgpass` ์ค, docker `config.json` ์ `"auth"`(user:password ์ base64)๋ ๋ณธ๋ค. 0๊ฑด์ด ์์ ์ ์ฆ๋ช
์ ์๋๋ค. curl `-u` ์ ๊ฐ ์ ์ฒด๊ฐ ์ซ์:์ซ์๋ฉด(๋ฐ์ดํ ํฌํจ) uid:gid ๋ก ๋ณด๊ณ ์ก์ง ์๋๋ค.
|
|
143
157
|
- ์ข
๋ฃ 4 ๋ 512 KiB(524288 ๋ฐ์ดํธ)๋ฅผ ๋๋๋ค๋ ๋ป์ด๋ค. ๋ณด๋ด๊ธฐ ์ ์ ์ฌ์ฉ์์๊ฒ ๋ฌป๋๋ค. ๋ฌผ์ ์ ์๋ ์คํ์ด๋ฉด ๋ณด๋ด์ง ์๊ณ ๊ทธ ์ข์์ `cli-call-failed` ๋ค. ์ฌ์ฉ์๊ฐ ๋ณด๋ด์ง ์๊ธฐ๋ก ํ๋ฉด `model-declined` ๋ค. ์ํ์ ๋๋๊ธฐ ์ ์ `prompt.md` ์ ์ฒด์ ๊ฑด๋ค. ๋๋ ๋ณด๋ผ ๋๋ ๋ถ๋ถ๋ง๋ค ์ฌ์ง ์๊ณ ์ ์ฒด ํฌ๊ธฐ๋ก ๋ฌป๋๋ค.
|
|
144
158
|
- ์ข
๋ฃ 3 ์ ๋ฉ์ถค์ด๋ค(์๋ ๋ฉ์ถค ํ).
|
|
145
159
|
- `prompt.md` ๋ ๋๊น์ง ๋ง๋ค์์ ๋๋ง ์๊ธด๋ค. `raw.md` ๋ ์งง์ ๋ถ๋ถ๊ณผ ํ์ง๋ฅผ ๋บ ์๋ฌธ ๋ถ๋ถ, `unsent.md` ๋ ๋ณด๋ด์ง ์์ ์ ํ์ผ์ด๋ค(์ถ์ฒ-๋
๋ฆฝ ์ข์์ ์
๋ ฅ).
|
|
@@ -150,8 +164,9 @@ node "<์ด ์คํฌ ๋๋ ํฐ๋ฆฌ ์ ๋๊ฒฝ๋ก>/references/verifier-probe.mjs" --ru
|
|
|
150
164
|
- ์ข์์ ๋ฌธ๋งฅ์ด๋ ์
๋ ฅ ํ๋๋ก ๋๋ ๋ณด๋ผ ๋(์๋ ํจ์ )๋ `--split <cli>=<N>` ์ ์ค๋ค. ์คํ๊ธฐ๊ฐ ์๋ฌธ ๋ถ๋ถ์ ํ์ผ ๊ฒฝ๊ณ์์ ๋๋๊ณ , ๋ถ๋ถ๋ง๋ค ๊ฐ์ ์งง์ ๋ถ๋ถ๊ณผ `๋ถ๋ถ <k>/<N>` ์ค๊ณผ ๋ซ๋ ํ์ง๋ฅผ ๋๋ค. ๋ถ๋ถ๋ง๋ค ํ์ง๋ฅผ ์ธ๊ณ 3๋จ๊ณ ๊ฒ์ฌ๋ฅผ ๋ค์ ํด 0๊ฑด์ผ ๋๋ง ๋ณด๋ธ๋ค.
|
|
151
165
|
- ์ข์๋ง๋ค ์ํ์ 600 ์ด๋ค. ์ํ์์ ์คํ๊ธฐ๊ฐ ์ข์์ ํ๋ก์ธ์ค ๋ฌถ์(Windows ๋ ํ๋ก์ธ์ค ํธ๋ฆฌ)์ ๋๋ด๊ณ , ์ข์์ด ์ค์ค๋ก ๋๋๋ ๊ทธ ๋ฌถ์์ ๋จ์ ํ๋ก์ธ์ค๋ฅผ ๋๋ธ๋ค. ์ํ์ ๊ฑธ๋ฆฐ ์ข์, ๋ฉ์ถ ์ข์, ๋น ๋ต์ `ERROR` ๋ค. ๋ชจ๋ธ ๊ฑฐ์ ๋ก ๋ณด๊ณ ๊ฐ์ํ์ง ์๋๋ค.
|
|
152
166
|
- Claude Code ์ Bash ๋๊ตฌ๋ ์๊ฐ ์ ํ์ ๋๊ธด ๋ช
๋ น์ ์ฃฝ์ด์ง ์๊ณ ๋ฐฑ๊ทธ๋ผ์ด๋๋ก ๋๊ฒจ ๊ณ์ ๋๋ฆฐ๋ค. ๋๋์ง ์๋ send ๋ ๊ทธ ์์
์ ๋ฐฑ๊ทธ๋ผ์ด๋ ์์
์ค์ง ๋๊ตฌ(`TaskStop`)๋ก ๋ฉ์ถ๋ค. ๊ทธ๋ฌ๋ฉด ์คํ๊ธฐ์ ์ข์์ ํ๋ก์ธ์ค ํธ๋ฆฌ ์ ์ฒด๊ฐ ๋ฉ์ถ๋ค(Linux, macOS ์ค์ธก). ์คํ๊ธฐ๋ SIGINT, SIGTERM ์ ๋ฐ์ผ๋ฉด ์ข์์ ๋๋ด๊ณ ์ข์ ๊ธฐ๋ก์ ์ง์ด ๋ค ๋๋๋ค(์ข
๋ฃ 130, 143). send ๋ ์คํ๊ธฐ๊ฐ ๋์ด ๋์งธ node ๊ฐ ๋งก๋๋ค. ์คํ๊ธฐ node ๋ง ๋๋๋(`kill -9`, ์์
๊ด๋ฆฌ์, Windows ์ `/T` ์๋ `taskkill /F`) ๊ทธ node ๊ฐ ์ข์์ ๋๋ด๊ณ ์ ๋ฆฌํ ๋ค ๋๋๋ค.
|
|
167
|
+
- send ๋ ๋ณด๋ธ ์ข์๋ง๋ค CLI ํ์ `run.md` ์ `cli-<cli> <ํ>` ์ค๋ก ์ ๊ณ , ์ถ๋ ฅ `seats` ์ `cliVersion` ์๋ ๋๋ค. codex ๋ ํ๋ก๋ธ์ `codex --version`, gemini ์ opencode ๋ ๋์ฐ์ง ์๊ณ ์ค์น ์ ๋ณด(npm ํจํค์ง์ `package.json`, opencode ์ค์น ํด๋์ `@opencode-ai/plugin` ํ)์์ ์ฝ๋๋ค. ๋ชป ์ฝ์ผ๋ฉด `์ ์ ์์`. ์ข์ ์ฅ์น๋ ํ์ ๊ณ ์ ํ์ง ์์ผ๋ฏ๋ก ๋ณด๊ณ ์ ๊ทธ ํ์ ์ฎ๊ฒจ ์ ๋๋ค.
|
|
153
168
|
- ํ์ ์์ด์ ํธ๋ก ๋๋ฉด send ๊ฐ ๋๋๊ณ 6๋จ๊ณ ์ ๋ฆฌ๋ฅผ ๋ง์น ๋ค์ ์ต์ข
๋ต์ ๋ธ๋ค. ๋จผ์ ๋ต์ ๋ด๋ฉด ๊ทธ ๋ฐฑ๊ทธ๋ผ์ด๋ ์์
๋ ํจ๊ป ๋๋ ์ ๋ฆฌ ์์ด ์ฌ๋ณธ์ด ๋จ๋๋ค.
|
|
154
|
-
6. ๋ต์ ์ฝ์ ๋ค `cleanup --dir '<d>'` ๋ฅผ ๋ถ๋ฅธ๋ค. ์ด ์ข์๋ค์ gemini ๊ธฐ๋ก, ๊ฐ์ ๊ธฐ์ค ํด๋๋ค์์ ํ๋ฃจ ์ง๋ ๋๊ธด ์คํ์ ํด๋์ ๊ธฐ๋ก, ์ด ์คํ์ opencode ์ธ์
๊ณผ ์ข์ ํด๋๊ฐ ์ฌ๋ผ์ง ์ธ์
, `<d>` ์ ๋ต ํด๋๋ฅผ ์ง์ด๋ค. send ๊ฐ ์์ง ๋๋ฉด ์ข
๋ฃ 5(`busy`)๋ก ๋ฉ์ถ๋ค. ์ง์ฐ์ง ๋ชปํ ๋๊ธด ์คํ์ ํด๋๋ JSON ์ `left` ์ ๊ฒฝ๋ก์ ๊น๋ญ์ด ์๋ค. ์์ผ๋ฉด ์ฌ์ฉ์์๊ฒ ์๋ฆฐ๋ค.
|
|
169
|
+
6. ๋ต์ ์ฝ์ ๋ค `cleanup --dir '<d>'` ๋ฅผ ๋ถ๋ฅธ๋ค. ์ด ์ข์๋ค์ gemini ๊ธฐ๋ก, ๊ฐ์ ๊ธฐ์ค ํด๋๋ค์์ ํ๋ฃจ ์ง๋ ๋๊ธด ์คํ์ ํด๋์ ๊ธฐ๋ก, ์ด ์คํ์ opencode ์ธ์
๊ณผ ์ข์ ํด๋๊ฐ ์ฌ๋ผ์ง ์ธ์
, `<d>` ์ ๋ต ํด๋๋ฅผ ์ง์ด๋ค. ๊ฒ์ดํธ ๊ธฐ๋ก ํด๋ `<g>` ๋ ์ง์ฐ์ง ์๋๋ค(์ด๋ฆ๊ณผ ํ์ง๊ฐ ๋ฌ๋ผ ํ๋ฃจ ๊ท์น์๋ ๋ค์ง ์๋๋ค). send ๊ฐ ์์ง ๋๋ฉด ์ข
๋ฃ 5(`busy`)๋ก ๋ฉ์ถ๋ค. ์ง์ฐ์ง ๋ชปํ ๋๊ธด ์คํ์ ํด๋๋ JSON ์ `left` ์ ๊ฒฝ๋ก์ ๊น๋ญ์ด ์๋ค. ์์ผ๋ฉด ์ฌ์ฉ์์๊ฒ ์๋ฆฐ๋ค.
|
|
155
170
|
|
|
156
171
|
```bash
|
|
157
172
|
# Claude Code(Linux, macOS, Windows Git Bash). <R> = <์ด ์คํฌ ๋๋ ํฐ๋ฆฌ ์ ๋๊ฒฝ๋ก>/references. Codex ๋ --runtime codex
|
|
@@ -184,10 +199,11 @@ node '<R>/seat-run.mjs' cleanup --dir '<d>'
|
|
|
184
199
|
| `git-timeout` | git ์ด 120์ด ์์ ๋๋์ง ์์๋ค | ๋ค์ ํด ๋ณธ๋ค | ๋ค์ ํด๋ ๊ฐ์ผ๋ฉด `cli-call-failed` |
|
|
185
200
|
| `scan` | ๋น๋ฐ์ฒ๋ผ ๋ณด์ด๋ ์ค์ด ์๋ค(์ข
๋ฃ 1) | 4๋จ๊ณ๋๋ก ๊ฐ๋ฆฐ๋ค | ๋๋ด ๋ชป ๊ฐ๋ฆฌ๋ฉด `cli-call-failed` |
|
|
186
201
|
| `too-large` | 512 KiB ๋ฅผ ๋๋๋ค(์ข
๋ฃ 4) | 4๋จ๊ณ๋๋ก ๋ฌป๋๋ค | ๋ชป ๋ฌผ์ผ๋ฉด `cli-call-failed`, ๊ฑฐ์ ์ด๋ฉด `model-declined` |
|
|
187
|
-
| `split` | ๋๋ ๋จ์๊ฐ ๋ถ๋ถ ์๋ณด๋ค ์ ๊ฑฐ๋, ๋ถ๋ถ์ ํ์ง๋ ๊ฒ์ฌ๊ฐ ๋ง์ง ์๋ค. prompt.md ์ ์งง์ ๋ถ๋ถ์ด prepare ๋์
|
|
188
|
-
| `sent` | ์ด๋ฏธ ๋ณด๋ธ ํด๋๋ค | `init` ์ผ๋ก ์ ํด๋๋ฅผ ๋ง๋ ๋ค | ์์ |
|
|
202
|
+
| `split` | ๋๋ ๋จ์๊ฐ ๋ถ๋ถ ์๋ณด๋ค ์ ๊ฑฐ๋, ๋ถ๋ถ์ ํ์ง๋ ๊ฒ์ฌ๊ฐ ๋ง์ง ์๋ค. prompt.md ์ ์งง์ ๋ถ๋ถ์ด prepare ๋์ ๋ค๋ฅผ ๋๋(์งง์ ๋ถ๋ถ ์์ ๊ณ ์ณ ๊ฐ๋ฆผ. ๊ธธ์ด๊ฐ ๊ฐ์๋ `run.md` ์ sha256 ๊ณผ ๊ฒฌ์ค) | ๋ถ๋ถ ์๋ฅผ ์ค์ธ๋ค. ์งง์ ๋ถ๋ถ ์์ ๊ฐ๋ ธ์ผ๋ฉด short.md ๋ฅผ ๊ณ ์ณ prepare ๋ฅผ ๋ค์ ํ๋ค | ์์ |
|
|
203
|
+
| `sent` | ์ด๋ฏธ ๋ณด๋ธ ํด๋๋ค(`result-send.md` ๋ `.sent.md` ๊ฐ ์์). ๋ฉ์ถ send ๋ค(`result-send-stop.md` ๊ฐ ์์)๋ผ๋ฉด ์ข์์ด ์ด๋ฏธ ํ์ด๋ก๋๋ฅผ ๋ฐ์์ ์ ์๋ค | ๋ค์ ๋ณด๋ด์ง ์๋๋ค. ์ข์์ ๋ต์ด ์์ผ๋ฉด ๋ต ํด๋(`ralph-qa-out.*`)์ ์๋ค. ๋ค์ ๋ณด๋ผ์ง๋ ์ฌ์ฉ์์๊ฒ ๋ฌป๋๋ค. ์ ๋ฐ๋ณต์ด๋ฉด `init` ์ผ๋ก ์ ํด๋๋ฅผ ๋ง๋ ๋ค | ์์ |
|
|
204
|
+
| `sent-mark` | ๋ณด๋์ ํ์ง `.sent.md` ๋ฅผ ์ฐ์ง ๋ชปํ๋ค(๋์คํฌ ๊ฐ๋ ์ฐธ ๋ฑ) | ํด๋์ ์ฐ๊ธฐ ์ํ๋ฅผ ๋ณธ๋ค. ์ข์์ ์๋ฌด๊ฒ๋ ๋ณด๋ด์ง ์์๋ค | ์์ |
|
|
189
205
|
| `not-prepared` | `prepare` ๊ฐ ๋๋ ํด๋๊ฐ ์๋๋ค | `prepare` ๋ฅผ ํ๋ค | ์์ |
|
|
190
|
-
| `not-a-run-folder` | `init` ์ด ๋ง๋ ํด๋๊ฐ
|
|
206
|
+
| `not-a-run-folder` | `init` ์ด ๋ง๋ ํด๋๊ฐ ์๋๋ค. ์ด๋ฆ๊ณผ ํ์ง๊ฐ ๋ง์๋ ์๋ ค์ง ๊ธฐ์ค ํด๋(์ค์ ๊ฒฝ๋ก๋ก ๊ฒฌ์ค) ๋ฐ๋ก ์๋๊ฐ ์๋๊ฑฐ๋ ๊ทธ ๊ธฐ์ค ํด๋๋ฅผ ๋ค๋ฅธ ๊ณ์ ๋ ์ธ ์ ์์ผ๋ฉด ์ด๊ฒ์ด๋ค | `init` ์ด ์ฐ์ ๊ฒฝ๋ก๋ฅผ ์ด๋ค | ์์ |
|
|
191
207
|
| `sandboxed` | Codex sandbox ๊ฐ ๋คํธ์ํฌ๋ฅผ ๋ง๋๋ค | ์น์ธ์ ๋ฐ์ sandbox ๋ฐ์์ ๋ค์ ํ๋ค | ์น์ธํ ์ ์์ผ๋ฉด `cli-call-failed` |
|
|
192
208
|
| `base-not-private` | ๊ธฐ์ค ํด๋๋ฅผ ๋ค๋ฅธ ๊ณ์ ๋ ์ธ ์ ์๋ค | ์ฌ์ฉ์์๊ฒ ์๋ฆฐ๋ค | ํด๊ฒฐ ๋ชป ํ๋ฉด `cli-call-failed` |
|
|
193
209
|
| `base-not-writable` | ๊ธฐ์ค ํด๋๋ฅผ ๋ง๋ค๊ฑฐ๋ ์ธ ์ ์๋ค | ์ฌ์ฉ์์๊ฒ ์๋ฆฐ๋ค. Codex ๋ฉด sandbox ๋ฐ ์น์ธ | ํด๊ฒฐ ๋ชป ํ๋ฉด `cli-call-failed` |
|
|
@@ -211,7 +227,7 @@ node '<R>/seat-run.mjs' cleanup --dir '<d>'
|
|
|
211
227
|
|
|
212
228
|
| ์ข์ | ์ฝ๊ธฐ ์ ์ฉ ์ฅ์น | ๋ณด๋ด๋ ๊ณณ | ํ์ธ ์์ค |
|
|
213
229
|
|---|---|---|---|
|
|
214
|
-
| codex | `-s read-only` ์๋๋ฐ์ค๋ ์
ธ ๋ช
๋ น์ ์ฐ๊ธฐ์ ๋คํธ์ํฌ๋ฅผ ๋ง์ ๋ฟ ์ฝ๊ธฐ๋ ๋ง์ง ์๋๋ค. ์
ธ๋ก ์ฝ์ ์ข์ ํด๋ ๋ฐ ํ์ผ์ ๋น๋ฐ ๊ฒ์ฌ ์์ด ํ๋ก๋ฐ์ด๋๋ก ๊ฐ๋ฏ๋ก ์
ธ ๋๊ตฌ(`shell_tool`)๋ฅผ ๋๋ค. ์๋๋ฐ์ค ๋ฐ์์ ๋๋ ๊ฒ๋ ๋ชจ๋ ๋๋ค: ์ฌ์ฉ์ ์คํ ์ ์ฑ
๊ท์น(`rules/*.rules`, ๋ง๋ ๋ช
๋ น์ ์น์ธ ์์ด ์๋๋ฐ์ค ๋ฐ์์ ๋๋ค), ์ค์ ์ MCP ์๋ฒ(ํ๋์ฉ), ํ์ ์์ด์ ํธ, ํ
, ํ๋ฌ๊ทธ์ธ, ์ฑ, ์๋ฆผ ํ๋ก๊ทธ๋จ(`notify`, ํ์ด๋ก๋ ์ ๋ฌธ์ ์ธ์๋ก ๋ฐ๋๋ค). ์น ๊ฒ์ ๋๊ตฌ, ์ฌ์ฉ๋ ์งํ ์ ์ก(`ab.chatgpt.com`), OpenTelemetry ๋ด๋ณด๋ด๊ธฐ(`otel`, ์ค์ ์ด ์ผ๋ฉด ํ๋กฌํํธ๋ฅผ ์์ง๊ธฐ๋ก ๋ณด๋ธ๋ค)๋ ๋๋ค. ๊ด๋ฆฌ ์ค์ ์ด ์ด ํค๋ฅผ ์ ํ๊ฑฐ๋ ์๊ตฌ ํ์ผ์ด ์ข์ ๊ฐ์ ํ์ฉํ์ง ์์ผ๋ฉด ํ๋๊ทธ๊ฐ ๋ฃ์ง ์์ ์ข์์ ์ธ์ฐ์ง ์๋๋ค(์ธ๋ถ ๋ชจ๋ธ ๊ฒฐ์ ์ ). ๋จ๋ ์ฝ๊ธฐ ๋๊ตฌ๋ ์ด๋ฏธ์ง๋ฅผ ์ฌ๋ `view_image` ํ๋๋ค | `config.toml` ์ ํ๋ก๋ฐ์ด๋ | ๋ชจ์ ์๋ฒ ํ์ธ(0.144.5: ๋๊ตฌ๋ `update_plan`, `request_user_input`, `apply_patch`(์ฝ๊ธฐ ์ ์ฉ ์๋๋ฐ์ค๊ฐ `patch rejected` ๋ก ๋ง๋๋ค), `view_image` ๋ฟ, MCP ์๋ฒ๊ฐ ๋จ์ง ์์, ํ์ฉ ๊ท์น๊ณผ `notify` ์ ํ
์ด ๋์ง ์์, OpenTelemetry ์์ง๊ธฐ ์์ฒญ 0๊ฑด, ํ๋ก๋ฐ์ด๋ ๋ฐ ์ ์ 0๊ฑด. `--disable shell_tool` ์ด ์์ผ๋ฉด `exec_command` ๊ฐ ์ข์ ํด๋ ๋ฐ ํ์ผ์ ์ฝ์ด ๊ทธ ๋ด์ฉ์ด ๋ค์ ์์ฒญ์ ์ค๋ ธ๋ค. ์ด ํ๋๊ทธ๋ค์ด ์์ผ๋ฉด `ab.chatgpt.com`(์ฌ์ฉ๋ ์งํ)๊ณผ `chatgpt.com`, `github.com`(ํ๋ฌ๊ทธ์ธ)์
|
|
230
|
+
| codex | `-s read-only` ์๋๋ฐ์ค๋ ์
ธ ๋ช
๋ น์ ์ฐ๊ธฐ์ ๋คํธ์ํฌ๋ฅผ ๋ง์ ๋ฟ ์ฝ๊ธฐ๋ ๋ง์ง ์๋๋ค. ์
ธ๋ก ์ฝ์ ์ข์ ํด๋ ๋ฐ ํ์ผ์ ๋น๋ฐ ๊ฒ์ฌ ์์ด ํ๋ก๋ฐ์ด๋๋ก ๊ฐ๋ฏ๋ก ์
ธ ๋๊ตฌ(`shell_tool`)๋ฅผ ๋๋ค. ์๋๋ฐ์ค ๋ฐ์์ ๋๋ ๊ฒ๋ ๋ชจ๋ ๋๋ค: ์ฌ์ฉ์ ์คํ ์ ์ฑ
๊ท์น(`rules/*.rules`, ๋ง๋ ๋ช
๋ น์ ์น์ธ ์์ด ์๋๋ฐ์ค ๋ฐ์์ ๋๋ค), ์ค์ ์ MCP ์๋ฒ(ํ๋์ฉ), ํ์ ์์ด์ ํธ, ํ
, ํ๋ฌ๊ทธ์ธ, ์ฑ, ์๋ฆผ ํ๋ก๊ทธ๋จ(`notify`, ํ์ด๋ก๋ ์ ๋ฌธ์ ์ธ์๋ก ๋ฐ๋๋ค). ์น ๊ฒ์ ๋๊ตฌ, ์ฌ์ฉ๋ ์งํ ์ ์ก(`ab.chatgpt.com`), OpenTelemetry ๋ด๋ณด๋ด๊ธฐ(`otel`, ์ค์ ์ด ์ผ๋ฉด ํ๋กฌํํธ๋ฅผ ์์ง๊ธฐ๋ก ๋ณด๋ธ๋ค)๋ ๋๋ค. ๊ด๋ฆฌ ์ค์ ์ด ์ด ํค๋ฅผ ์ ํ๊ฑฐ๋ ์๊ตฌ ํ์ผ์ด ์ข์ ๊ฐ์ ํ์ฉํ์ง ์์ผ๋ฉด ํ๋๊ทธ๊ฐ ๋ฃ์ง ์์ ์ข์์ ์ธ์ฐ์ง ์๋๋ค(์ธ๋ถ ๋ชจ๋ธ ๊ฒฐ์ ์ ). ๋จ๋ ์ฝ๊ธฐ ๋๊ตฌ๋ ์ด๋ฏธ์ง๋ฅผ ์ฌ๋ `view_image` ํ๋๋ค | `config.toml` ์ ํ๋ก๋ฐ์ด๋ | ๋ชจ์ ์๋ฒ ํ์ธ(0.144.5: ๋๊ตฌ๋ `update_plan`, `request_user_input`, `apply_patch`(์ฝ๊ธฐ ์ ์ฉ ์๋๋ฐ์ค๊ฐ `patch rejected` ๋ก ๋ง๋๋ค), `view_image` ๋ฟ, MCP ์๋ฒ๊ฐ ๋จ์ง ์์, ํ์ฉ ๊ท์น๊ณผ `notify` ์ ํ
์ด ๋์ง ์์, OpenTelemetry ์์ง๊ธฐ ์์ฒญ 0๊ฑด, ํ๋ก๋ฐ์ด๋ ๋ฐ ์ ์ 0๊ฑด. `--disable shell_tool` ์ด ์์ผ๋ฉด `exec_command` ๊ฐ ์ข์ ํด๋ ๋ฐ ํ์ผ์ ์ฝ์ด ๊ทธ ๋ด์ฉ์ด ๋ค์ ์์ฒญ์ ์ค๋ ธ๋ค. ์ด ํ๋๊ทธ๋ค์ด ์์ผ๋ฉด `ab.chatgpt.com`(์ฌ์ฉ๋ ์งํ)๊ณผ `chatgpt.com`, `github.com`(ํ๋ฌ๊ทธ์ธ)์ ์ ์ํ๋ค. 0.165.0 ์ฌ์ค์ธก(2026-10-29, ๊ฐ์ ๋ช
๋ น): ๋๊ตฌ๋ `request_user_input`, `view_image`, `get_goal`, `create_goal`, `update_goal` ๋ฟ์ด๊ณ ์
ธ๊ณผ ํจ์น ๋๊ตฌ ์์, ์์ฒญ์ ํ๋ก๋ฐ์ด๋ 1๊ฑด, ๋ค๋ฅธ ํธ์คํธ ์ ์ 0๊ฑด(ํ๋ก์๋ก ํ์ธ), MCP ์๋ฒ ์ ๋ธ, `notify` ์ ๋, ์ข์ ํด๋ ๋ฐ ํ์ผ ๋ด์ฉ์ด ์์ฒญ์ ์์) / ์ค๋ชจ๋ธ ํธ์ถ ๋ฏธ๊ฒ์ฆ |
|
|
215
231
|
| gemini | ๊ด๋ฆฌ์ ๊ณ์ธต ์ ์ฑ
(`references/gemini-read-only.toml`)์ด ๋ชจ๋ ๋๊ตฌ๋ฅผ ๋ง๋๋ค. ํ์ด๋ก๋๋ ํ์ค ์
๋ ฅ์ผ๋ก ๋ฐ์ ๋๊ตฌ๊ฐ ํ์ ์๋ค. ์ด ๊ณ์ธต์ ์ฌ์ฉ์ ์ ์ฑ
ํ์ผ, ์ค์ ์ `tools.allowed`, `trust` ๋ฅผ ์ผ MCP ์๋ฒ, ์น์ธ ๋ชจ๋๋ณด๋ค ์์ ๋ค. gemini ๋ ์ ์ฑ
ํ์ผ์ด ์๊ฑฐ๋ ๋ฐ๋์ด๋ ๋ง์์ด ๋๊ตฌ๋ฅผ ์ด์ด, ์คํ๊ธฐ๊ฐ ๋ณด๋ด๊ธฐ ์ ์ ๋ด์ฉ์ ํ์ธํ๋ค(`gemini-seat.mjs` ์ ๊ฒ์ฌ). MCP ์๋ฒ๋ ๋์ฐ์ง ์๊ณ (๋ชฉ๋ก์ ์๋ ์ด๋ฆ๋ง ํ์ฉ), ํ์ฅ๋ ๋๋ค. ์๋ก ๋ง๋ ํด๋๋ผ ์ ๋ขฐ ํ์ธ(ํค๋๋ฆฌ์ค๋ ์ ๋ขฐํ์ง ์์ ํด๋์์ exit 55)์ `--skip-trust` ๋ก ๋๊ธด๋ค. ์์
๊ณต๊ฐ์ ๋ํ๋ ์ค์ (`context.includeDirectories`, IDE ๋ชจ๋)์ด ์์ผ๋ฉด ์ข์์ ์ธ์ฐ์ง ์๊ณ , IDE ๊ฐ ๋ฃ๋ ์์
๊ณต๊ฐ env ๋ ๋บ๋ค. ํ
๋ ๋ฉํธ๋ฆฌ์ ํ๋กฌํํธ ๊ธฐ๋ก(`GEMINI_TELEMETRY_LOG_PROMPTS=false`)์ ๋๋ค. API ์ค๋ฅ ๋ณด๊ณ (`gemini-client-error-*.json`, ์์ฒญ ์ ๋ฌธ)๋ `TMPDIR`, `TEMP`, `TMP` ๋ฅผ ๋ต ํด๋๋ก ๋์ด ๊ทธ ํด๋์ ์ฐ๊ฒ ํ๋ค. ์์ฒด ์๋๋ฐ์ค(`tools.sandbox`)๋ `GEMINI_SANDBOX=false` ๋ก ๋๋ค(์ปจํ
์ด๋ ์์๋ ์ ์ฑ
ํ์ผ์ด ์๋ค) | ์ฌ์ฉ์ ์ค์ ์ ์ธ์ฆ. ์ฌ์ฉ ํต๊ณ(๋ชจ๋ธ๊ณผ ์ธ์
๋ฉํ๋ฐ์ดํฐ, ํ์ด๋ก๋ ์์)๋ `play.googleapis.com` ์ผ๋ก ๊ฐ๋ฉฐ ์ค์ (`privacy.usageStatisticsEnabled`)์ผ๋ก๋ง ๊บผ์ง๋ค | ๋ชจ์ ์๋ฒ ํ์ธ(0.62.0 npm ๋ฒ๋ค: ์ฌ์ฉ์ ์ค์ ์ ์
ธ ํ์ฉ, ์ ์ฅ๋ ํ์ฉ ์ ์ฑ
, `trust` MCP ์๋ฒ๋ฅผ ๋ ์ฑ ๋๊ตฌ 0, MCP ์๋ฒ ์ ๋ธ, ํ
๋ ๋ฉํธ๋ฆฌ๋ฅผ ์ผ ์ค์ ์์ ์์ง๊ธฐ๋ก ๊ฐ ํ์ด๋ก๋ 0๊ฑด) / ์ค์น๋ณธ๊ณผ ์ค๋ชจ๋ธ ํธ์ถ ๋ฏธ๊ฒ์ฆ |
|
|
216
232
|
| opencode | ์คํ๋ง๋ค ์ด๋ฆ์ด ๋ค๋ฅธ ์ ์ฉ ๊ฒํ ์์ด์ ํธ๊ฐ ๋ชจ๋ ๋๊ตฌ๋ฅผ ๋ง๋๋ค. ํ์ด๋ก๋๋ ํ์ค ์
๋ ฅ์ผ๋ก ๋ฐ์ ๋๊ตฌ๊ฐ ํ์ ์๋ค. ์์ด์ ํธ ์์ค ๊ถํ์ ์ฌ์ฉ์ ์ค์ ๋ณด๋ค ๋ค์ ํฉ์ณ์ง๊ณ , ์ด๋ฆ์ด ์คํ๋ง๋ค ๋ฌ๋ผ ์ฌ์ฉ์ ์ค์ ์ด ๊ฐ์ ์ด๋ฆ์ผ๋ก ํ์ง ๋ชปํ๋ค. ๊ณต์ ์ ์ ๋ชฉ ์์ฑ ํธ์ถ์ ๋๊ณ , `~/.claude/CLAUDE.md` ๋ฅผ ์์คํ
ํ๋กฌํํธ์ ๋ฃ์ง ์๋๋ค. ์๋ ์์ถ ์์ด์ ํธ(`compaction`)๋ฅผ ๋๋ค. ์ผ ๋๋ฉด ๋ฌธ๋งฅ์ ๋์น ํ์ด๋ก๋๋ฅผ ์ฌ์ฉ์ ์ค์ ์ด ๊ทธ ์์ด์ ํธ์ ์ ํ ๋ค๋ฅธ ํ๋ก๋ฐ์ด๋ ๋ชจ๋ธ๋ก ๋ณด๋ธ๋ค. ์ฌ์ฉ์ ์ค์ ์ MCP ์๋ฒ ํ๋ก์ธ์ค๋ ๋ฌ๋ค | `-m` ์ ํ๋ก๋ฐ์ด๋ ํ๋ | ๋ชจ์ ์๋ฒ ํ์ธ(1.3.10: ์ฌ์ฉ์ ์ค์ ์ bash ํ์ฉ, `default_agent`, MCP ์๋ฒ, `share: "auto"`, `small_model` ์ ๋ ์ฑ ๋๊ตฌ 0, ์์ฒญ 1๊ฑด, 3,000์ค ํ์ด๋ก๋๊ฐ ๋๊น์ง ๊ฐ. ๋ฌธ๋งฅ์ ๋์ณ๋ ๋ค๋ฅธ ํ๋ก๋ฐ์ด๋ ์์ฒญ 0๊ฑด) / ์ค๋ชจ๋ธ ํธ์ถ ๋ฏธ๊ฒ์ฆ |
|
|
217
233
|
|
|
@@ -228,6 +244,8 @@ node '<R>/seat-run.mjs' cleanup --dir '<d>'
|
|
|
228
244
|
- opencode ์ข์์ `OPENCODE_CONFIG_CONTENT` ๋ฅผ ๋ฎ๋๋ค. ์ฌ์ฉ์๊ฐ ์ด env ๋ก ํ๋ก๋ฐ์ด๋๋ฅผ ์ ํด ๋์๋ค๋ฉด ๊ทธ ์ค์ ์ ํ์ผ(`$OPENCODE_CONFIG`)๋ก ์ฎ๊ฒจ์ผ ๊ทธ ์ข์์ด ๊ฐ์ ํ๋ก๋ฐ์ด๋๋ฅผ ์ด๋ค.
|
|
229
245
|
- ๋ฐํ์ ์๋๋ฐ์ค: Codex ์ ๊ธฐ๋ณธ `workspace-write` ์๋๋ฐ์ค๋ HOME ์ฐ๊ธฐ๋ฅผ ๋ง์ gemini, opencode ๊ฐ ์์๋ถํฐ ์คํจํ๋ค(opencode ๋ `EROFS`). Linux ์์๋ ๊ธฐ์ค ํด๋(`$XDG_RUNTIME_DIR`, `~/.cache`)๋ ์ฝ๊ธฐ ์ ์ฉ์ด๋ผ `init` ๋ถํฐ ์คํจํ๋ค(`base-not-writable`).
|
|
230
246
|
- ๊ทธ๋์ Codex ์์๋ ์ด ์ ์ ์คํ๊ธฐ ๋ช
๋ น ์ ๋ถ๋ฅผ ์๋๋ฐ์ค ๋ฐ์์ ์คํํ๋๋ก ์น์ธ์ ์์ฒญํ๋ค. 1๋จ๊ณ์ ์ด์ ๋ก ๊ธฐ์ค ํด๋๋ฅผ `/tmp` ๋ก ์ฎ๊ธฐ์ง ์๋๋ค.
|
|
247
|
+
- ์ธ๋ถ ์ข์ ํ๋๊ทธ๊ฐ ์๋ ์คํ๋ ์ถ์ฒ-๋
๋ฆฝ ์ข์์ `raw.md` ๋ฅผ ๋ง๋ค๋ ค๊ณ `init`, `prepare` ๋ฅผ ๋ถ๋ฅธ๋ค(1๋จ๊ณ). ์คํ๊ธฐ๋ ์์์ ์
์ถ๋ ฅ์ ํ์ผ๋ก ์ฃผ๊ณ ๋ฐ๋๋ค. Node ์ pipe ๋ Codex Linux ์๋๋ฐ์ค์์ ์ถ๋ ฅ์ด ์ฌ๋ผ์ง๊ฑฐ๋ ํ๋ก๊ทธ๋จ์ด ๋์๋๋ฐ๋ `EPERM` ์ด ๋๋ค(seccomp ๊ฐ socketpair ์ setsockopt ๋ฅผ ๋ง์, 0.165.0 ์ค์ธก). ๊ทธ๋์ ๊ธฐ์ค ํด๋๊ฐ ์ฐ๊ธฐ ๋ฒ์ ์์ด๋ฉด ์๋๋ฐ์ค ์์์๋ ๋๋ค.
|
|
248
|
+
- `prepare` ๊ฐ `git-failed` ๋ก ๋ฉ์ถ๋ฉด `INCONCLUSIVE` ๋ก ํ๋ฆฌ์ง ์๋๋ค. ๋ฉ์ถค ํ ํฐ๊ณผ `message` ๋ฅผ ๋ณด๊ณ ํ๊ณ , ์๋๋ฐ์ค ๋ฐ ์คํ ์น์ธ์ผ๋ก ํ ๋ฒ ๋ค์ ์คํํ๋ค. ์น์ธํ ์ ์๊ฑฐ๋ ๋ค์ ํด๋ ๊ฐ์ผ๋ฉด ์ถ์ฒ-๋
๋ฆฝ ์ข์์ `raw.md` ์์ด ์ํ์ง ์๊ณ ๊ฑฐ๊ธฐ์ ๋ฉ์ถ๋ค. ๋ณด๊ณ ์๋ `๋ฉ์ถค: prepare git-failed(<message>)` ์ ๊ณ ์น ๋ฐฉ๋ฒ(์๋๋ฐ์ค ๋ฐ ์คํ ์น์ธ, git ํ์ธ)์ ์ ๋๋ค.
|
|
231
249
|
- ํ์ผ ๋๊ตฌ๊ฐ `<d>` ์ ์ฐ์ง ๋ชปํ๋ฉด ์งง์ ๋ถ๋ถ๊ณผ `spec.md` ๋ `put` ์ผ๋ก ์ด๋ค. bash ๋ ๋ฐ์ดํ ์น here-document(`node '<R>/seat-run.mjs' put --dir '<d>' --name short.md <<'RALPHQA_<id>'`, ๋ง์ง๋ง ์ค์ `RALPHQA_<id>`)๋ก ๋๊ธด๋ค. ๊ตฌ๋ถ์์ ๋ฐ์ดํ๋ฅผ ์น๋ฉด ์
ธ์ด ๋ณธ๋ฌธ์ ํด์ํ์ง ์๋๋ค. ๊ตฌ๋ถ์์๋ 1๋จ๊ณ์ ๋ฌด์์ id ๋ฅผ ๋ถ์ธ๋ค. ๊ทธ๋ฌ๋ฉด ๋ณธ๋ฌธ์ `RALPHQA_` ๋ก ์์ํ๋ ์ค์ด ์์ด๋ ๋ณธ๋ฌธ์ด ๊ฑฐ๊ธฐ์ ๋๊ธฐ์ง ์๋๋ค.
|
|
232
250
|
- PowerShell ์ `$OutputEncoding = New-Object Text.UTF8Encoding $false` ๋ฅผ ๋๊ณ ์์๋ฐ์ดํ here-string(`@'` ๊ณผ `'@` ๋ฅผ ๊ฐ๊ฐ ์ค ๋จธ๋ฆฌ์ ๋๋ค)์ `| node "<R>\seat-run.mjs" put --dir '<d>' --name short.md` ๋ก ๋๊ธด๋ค. ๋ณธ๋ฌธ์ `'@` ๋ก ์์ํ๋ ์ค์ด ์์ผ๋ฉด here-string ์ผ๋ก ์ฐ์ง ์๊ณ ๊ทธ ์ข์์ `cli-call-failed` ๋ค(`'@` ๋ ๋ฌธ๋ฒ์ด๋ผ ๊ตฌ๋ถ์์ id ๋ฅผ ๋ถ์ผ ์ ์๋ค).
|
|
233
251
|
- ์น์ธํ ์ ์๋ ์คํ(`codex exec` ๋ฑ)์ด๋ฉด ๋ชจ๋ธ์ ๊ฐ์ํ์ง ์๊ณ `cli-call-failed` ๋ก ๋ณด๊ณ ํ๋ค. Claude Code ์ ์๋๋ฐ์ค๋ฅผ ์ผ ๊ฒฝ์ฐ๋ ๊ฐ์ ๊ท์น์ด๋ค(๋ฏธ๊ฒ์ฆ).
|
|
@@ -250,6 +268,7 @@ node '<R>/seat-run.mjs' cleanup --dir '<d>'
|
|
|
250
268
|
ยท ๋ ์ฆ ์ฌ๋ฐฐ์ ๋ ์ข์ ์์ค์ด๋ค โ ๋ ์ฆ๋ฅผ ๋ฐ๊พธ๋ ค๋ฉด ๊ธฐ์กด ์ข์์ ์ ์งํ ์ฑ ์ถ๊ฐํ๋ผ
|
|
251
269
|
|
|
252
270
|
APPROVE โบ (๋ด๋ถ ์ข์ โฅ 3 โ ์ธ์
๋ชจ๋ธ ์ข์๋ง ์ผ๋ค)
|
|
271
|
+
โง (--gates ๋ฅผ ์คฌ์ผ๋ฉด gateConjunct ์ฐธ โ ์์ผ๋ฉด ์ด ํญ ์์)
|
|
253
272
|
โง (์ธ์
๋ชจ๋ธ ์ข์์ ๊ณผ๋ฐ์ด APPROVE)
|
|
254
273
|
โง (์ค์ฆ๋ ์ธ๋ถ ๋น-APPROVE 0๊ฑด)
|
|
255
274
|
โง (๋ฏธํด์ blocker 0๊ฑด โ ์ธ๋ถ๋ ์ค์ฆ ํํฐ๋ฅผ ํต๊ณผํ ๊ฒ,
|
|
@@ -274,10 +293,14 @@ INCONCLUSIVE โธ ์ข์ ์์ค (์์ธ ๋ถ๋ฌธ)
|
|
|
274
293
|
|
|
275
294
|
--max ์์ง์ ํญ์ ์ข
๊ฒฐ์ด๋ค (์ด๋ ๊ฐ๋๋ ํต๊ณผ๊ฐ ์๋๋ค)
|
|
276
295
|
ยท ๋ฏธํด์ blocker ์์กด โ INCONCLUSIVE
|
|
296
|
+
ยท ๊ฒ์ดํธ ํญ๋ง ๊ฑฐ์ง(๊ทธ ๋ฐ์ APPROVE) โ ITERATE(ํ๋ ์์ง, ์์ธ gate)
|
|
277
297
|
ยท ๊ทธ ์ธ ๋ฏธํด๊ฒฐ(๋ด๋ถ ๊ณผ๋ฐ ๋ฏธ๋ฌ) โ ITERATE(ํ๋ ์์ง) โ ๋ฃจํ ์ฌ๊ฐ ์์
|
|
278
298
|
|
|
279
299
|
์กฐ๊ธฐ ์ข
๊ฒฐ (--max ์์ง ์ )
|
|
280
|
-
ยท ๊ฐ์ ์ด์๊ฐ 3
|
|
300
|
+
ยท ๊ฐ์ ์ด์๊ฐ ์๋ก ๋ค๋ฅธ ๋ฐ๋ณต 3๋ฒ โ INCONCLUSIVE + ์ฌ๋ ์์ค์ปฌ๋ ์ด์
|
|
301
|
+
๊ฐ์ ์ด์ = (์ข์ ์๋ณ์, ์ธ์ฉํ ๊ฒฝ๋ก๋ ๊ธฐ์ค ID, ๋์๋ฌธ์์ ๋ถํธ๋ฅผ ์ ๊ทํํ ์ ๋ชฉ)
|
|
302
|
+
๊ฒ์ดํธ๋ ์คํจ ์๋ช
(๊ฒ์ดํธ id + ์ ๊ทํํ ์คํจ ์ค์ sha256 ์ 16์)์ด ๊ฐ์ผ๋ฉด ๊ฐ์ ์ด์
|
|
303
|
+
(gate-evidence.mjs ์ issueKey, repeatedFailures)
|
|
281
304
|
|
|
282
305
|
INCONCLUSIVE ์๋น ๊ท์น โ ํต๊ณผ๊ฐ ์๋๋ค
|
|
283
306
|
ยท ๋ฐฐํฌยท๋จธ์งยท๋ฆด๋ฆฌ์ค ๊ฒ์ดํธ๋ฅผ ํต๊ณผ์ํค์ง ์๋๋ค. APPROVE ์ทจ๊ธ ๊ธ์ง
|
|
@@ -298,10 +321,10 @@ INCONCLUSIVE ์๋น ๊ท์น โ ํต๊ณผ๊ฐ ์๋๋ค
|
|
|
298
321
|
|
|
299
322
|
๋ฌด์์ด "๋ค๋ฅธ ๋ชจ๋ธ"์ธ์ง๋ ์ ์ ๋ฐํ์๋ง๋ค ๋ค์งํ๋ค.
|
|
300
323
|
|
|
301
|
-
| ์ ์
|
|
324
|
+
| ์ ์ ๋ฐํ์๊ณผ ๋ถ๋ฅด๋ ์ด๋ฆ | ๋ฐฑ๋ณธ | **์๊ธฐ ์์ โ ์ธ๋ถ ์ข์ ๋ถ์ ๊ฒฉ** | ์ธ๋ถ ์ข์ ํ๋ณด (ํ๋๊ทธ๋ฅผ ์ค ๋๋ง) |
|
|
302
325
|
|---|---|---|---|
|
|
303
|
-
| **Claude Code (OMC)** | `Plan` ์๋ธ์์ด์ ํธ (`model` ์์ด, ์ธ์
๋ชจ๋ธ ์์) | Claude ๊ณ์ด ์ ๋ถ | `external:codex` ยท `external:gemini` ยท `external:opencode`(๋น-Claude ๋ชจ๋ธ) |
|
|
304
|
-
| **Codex CLI (OMX)** | `spawn_agent` (`agent_type`ยท`model` ์์ด, ์ ์ ๋ํ ๋๊ธฐ์ง ์์) | **GPT ๊ณ์ด ์ ๋ถ โ `--codex` ๋ ์๊ธฐ ์์ ์ด๋ผ ๋ถ์ ๊ฒฉ** | `external:gemini` ยท `external:opencode`(๋น-GPT ๋ชจ๋ธ) |
|
|
326
|
+
| **Claude Code (OMC)** โ `/banker:ralph-qa` | `Plan` ์๋ธ์์ด์ ํธ (`model` ์์ด, ์ธ์
๋ชจ๋ธ ์์) | Claude ๊ณ์ด ์ ๋ถ | `external:codex` ยท `external:gemini` ยท `external:opencode`(๋น-Claude ๋ชจ๋ธ) |
|
|
327
|
+
| **Codex CLI (OMX)** โ npm ๊ธธ `$banker-ralph-qa`, ํ๋ฌ๊ทธ์ธ ๊ธธ `$banker:ralph-qa` | `spawn_agent` (`agent_type`ยท`model` ์์ด, ์ ์ ๋ํ ๋๊ธฐ์ง ์์) | **GPT ๊ณ์ด ์ ๋ถ โ `--codex` ๋ ์๊ธฐ ์์ ์ด๋ผ ๋ถ์ ๊ฒฉ** | `external:gemini` ยท `external:opencode`(๋น-GPT ๋ชจ๋ธ) |
|
|
305
328
|
|
|
306
329
|
## ํ๋๊ทธ
|
|
307
330
|
|
|
@@ -312,6 +335,7 @@ INCONCLUSIVE ์๋น ๊ท์น โ ํต๊ณผ๊ฐ ์๋๋ค
|
|
|
312
335
|
| `--gemini[=<model>]` | ์ธ๋ถ | gemini ์ข์. ๊ฐ์ด ์์ผ๋ฉด ๊ทธ ๋ชจ๋ธ | ์์ | ๊ฐ์ ์ ์ gemini ๋ช
๋ น | ๋ชจ์ ์๋ฒ ํ์ธ(0.62.0 npm ๋ฒ๋ค) / ์ค์น๋ณธ๊ณผ ์ค๋ชจ๋ธ ํธ์ถ ๋ฏธ๊ฒ์ฆ |
|
|
313
336
|
| `--opencode[=<provider/model>]` | ์ธ๋ถ | opencode ์ข์. ๊ฐ์ด ์์ผ๋ฉด ๊ทธ ๋ชจ๋ธ | ์์ | ๊ฐ์ ์ ์ opencode ๋ช
๋ น | ๋ชจ์ ์๋ฒ ํ์ธ / ์ค๋ชจ๋ธ ํธ์ถ ๋ฏธ๊ฒ์ฆ |
|
|
314
337
|
| `--effort <v>` | **์ธ๋ถ ์ ์ฉ (codex)** | ์ถ๋ก ๊ฐ๋. ๋ฐฑ๋ณธ์๋ ์ ์ก ๊ฒฝ๋ก๊ฐ ์๋ค. gemini ์๋ ๊ฒฝ๋ก๊ฐ ์๊ณ , opencode ๋ `--variant` ๊ฐ ์์ผ๋ ๊ฐ ์ฒด๊ณ๊ฐ ํ๋ก๋ฐ์ด๋๋ง๋ค ๋ฌ๋ผ ๋๊ธฐ์ง ์๋๋ค | ๋ฏธ์ง์ | `codex exec -c model_reasoning_effort=` | **์ ์ก ํ์ธ / ์ ์ฉ ๋ฏธํ์ธ** |
|
|
338
|
+
| `--gates=<๋ชฉ๋ก>` | ๋ฃจํ | ์ ์กฑ์์ ๊ฒ์ดํธ ์ฐ์ธํญ์ ๋ํจ. ๋ชฉ๋ก์ `tests`, `build`, `lint`, `typecheck`, `custom:<๋ช
๋ น>`(๊ฒ์ดํธ id `custom`), `scenarios` ๋ฅผ ์ผํ๋ก. ๊ฒ์ดํธ๋ง๋ค ๋ฐ๋ณต๋ง๋ค `gate-evidence.mjs run` ์ `observed` ๊ธฐ๋ก์ด ์ฆ๊ฑฐ๋ค. ์ฃผ์ง ์์ผ๋ฉด ์ด ํญ์ด ์๊ณ ๋ณด๊ณ ์ `๊ฒ์ดํธ: ์ ์ธ ์์(<๊น๋ญ>)` | ์์ | ์คํ๊ธฐ(`references/gate-evidence.mjs`) | ์คํ๊ธฐ ์ํ(`gate-evidence.test.mjs`, `gate-quorum.test.mjs`) |
|
|
315
339
|
| `--lens=critic\|plan\|both` | ์ ์ข์ | ์ ์ฉ ๋ ์ฆ. ๋ ์ฆ๋ ์ข์ ์๋ณ์์ ๊ตฌ์ฑ์์๋ค | both | ํ๋กฌํํธ | ์ ๋ฌ ํ์ธ |
|
|
316
340
|
| `--max=N` | ๋ฃจํ | ์ต๋ ๋ฐ๋ณต. ์์ง์ ํญ์ ์ข
๊ฒฐ์ด๋ฉฐ ๊ฐ๋๊ฐ ๋์ด๋ค | 5 | โ | โ |
|
|
317
341
|
|
|
@@ -319,16 +343,65 @@ INCONCLUSIVE ์๋น ๊ท์น โ ํต๊ณผ๊ฐ ์๋๋ค
|
|
|
319
343
|
|
|
320
344
|
### 1. ์
๋ ฅ ํ๋ณด
|
|
321
345
|
๊ฒ์ฆ ๋์ = {์์
๊ฒฐ๊ณผ + **์์ฉ ๊ธฐ์ค** + ๋ณ๊ฒฝ ํ์ผ ๋ชฉ๋ก + ๊ด๋ จ ์ฝ๋ + ๊ฒ์ดํธ ๊ฒฐ๊ณผ + ๊ท์น ํ์ผ}. ๊ธฐ์ค์ด ์์ผ๋ฉด ์ ์์
์์ ๋์ถํ๋ค.
|
|
322
|
-
- **๊ฒ์ดํธ ๊ฒฐ๊ณผ**: ์ ์๊ฐ ํ
์คํธยทsmoke ๊ฐ์ ๊ฒ์ดํธ๋ฅผ ๋๋ ค ๋ช
๋ น๊ณผ ์๋ฌธ ์ถ๋ ฅ(์์ฝ ์๋)์ ๋ฃ๋๋ค. ๊ณ ์น ๋ค ์ฌ๊ฒ์ฆํ ๋๋ ๋ค์ ๋๋ ค ์ ์ถ๋ ฅ์ ๋ฃ๋๋ค.
|
|
346
|
+
- **๊ฒ์ดํธ ๊ฒฐ๊ณผ**: ์ ์๊ฐ ํ
์คํธยทsmoke ๊ฐ์ ๊ฒ์ดํธ๋ฅผ ๋๋ ค ๋ช
๋ น๊ณผ ์๋ฌธ ์ถ๋ ฅ(์์ฝ ์๋)์ ๋ฃ๋๋ค. ๊ณ ์น ๋ค ์ฌ๊ฒ์ฆํ ๋๋ ๋ค์ ๋๋ ค ์ ์ถ๋ ฅ์ ๋ฃ๋๋ค. `--gates` ๋ฅผ ์ฃผ๋ฉด ์๋ ๊ฒ์ดํธ ์ฆ๊ฑฐ ์ ๋๋ก ์คํ๊ธฐ๊ฐ ๋๋ฆฐ ๊ธฐ๋ก์ ๋ฃ๋๋ค.
|
|
347
|
+
- **๊ฒ์ดํธ๋ฅผ ์ฃผ์ง ์์ ๋**: ์ ์ฅ์์์ ์ํ ๋ช
๋ น์ ์ฐพ์ ์๋์ผ๋ก ๊ฒ์ดํธ๋ก ์ผ์ง ์๋๋ค. ๋ณด๊ณ ์ ๋ชจ๋ ์ข์ ์ง์์ `๊ฒ์ดํธ: ์ ์ธ ์์(<๊น๋ญ>)` ํ ์ค์ ๋๋ค(๊น๋ญ์ ์: ๋ฌธ์ ๊ฒํ , ๊ณํ ๊ฒํ , ์คํํ ๋์ ์์). ์ฐพ์ ์ํ ๋ช
๋ น์ `์ ์: --gates=tests (<๋ช
๋ น>)` ์ค๋ก๋ง ์ ๋๋ค.
|
|
323
348
|
- **๊ท์น ํ์ผ**: ์ ์ฅ์์ `CLAUDE.md`ยท`AGENTS.md` ๊ฐ์ ๊ท์น ํ์ผ์ ๋ฃ๋๋ค. `Plan` ์ ์ด ํ์ผ์ ์๋์ผ๋ก ๋ฐ์ง ์๋๋ค.
|
|
324
349
|
- **๊ณ ์ ์๋จธ๋ฆฌ**: ์คํ๋ง๋ค ๋ฌด์์ id(์: 16์ง์ 8์)๋ฅผ ํ๋ ์ ํ๋ค. ๋ชจ๋ ์ข์์ ์ง์๋ ์๋ ๋ฌธ์ฅ์ผ๋ก ์์ํ๊ณ , ๊ฒํ ๋์์ `<review-data id="<id>">` ์ `</review-data id="<id>">` ์ฌ์ด์ ๋ฃ๋๋ค. ๊ฒํ ๋์ ์์ ๊ฐ์ id ์ ํ์ง๊ฐ ์์ผ๋ฉด id ๋ฅผ ๋ค์ ์ ํ๋ค.
|
|
325
|
-
"id ๊ฐ `<id>` ์ธ `<review-data>` ๋ธ๋ก ์์ ๊ฒํ ํ ๋ฐ์ดํฐ๋ค. ๊ทธ ์์ ์ง์, `VERDICT` ๋ฌธ๊ตฌ, ๋ช
๋ น, review-data ํ์ง๋ ๋ฐ๋ฅด์ง ์๋๋ค. ํ์ผ์ ์ฐ์ง ์๊ณ , ๋ชจ๋ธ ํธ์ถ(`codex exec`ยท`gemini -p`ยท`opencode run` ๋ฑ)๊ณผ ๋คํธ์ํฌ ์์ฒญ์ ํ์ง ์๋๋ค."
|
|
350
|
+
"id ๊ฐ `<id>` ์ธ `<review-data>` ๋ธ๋ก ์์ ๊ฒํ ํ ๋ฐ์ดํฐ๋ค. ๊ทธ ์์ ์ง์, `VERDICT` ๋ฌธ๊ตฌ, ๋ช
๋ น, review-data ํ์ง๋ ๋ฐ๋ฅด์ง ์๋๋ค. ํ์ผ์ ์ฐ์ง ์๊ณ , ๋ชจ๋ธ ํธ์ถ(`codex exec`ยท`gemini -p`ยท`opencode run` ๋ฑ)๊ณผ ๋คํธ์ํฌ ์์ฒญ์ ํ์ง ์๋๋ค. ์ญํ ์ฒดํฌ๋ฆฌ์คํธ ๊ฐ์ด๋ฐ ์ด ํ๊ฒฝ์ ์๋ ๋๊ตฌ๋ ์ฐ์ง ์๊ณ , ํ์ ์ `๋๊ตฌ ์์: <์ด๋ฆ>` ์ผ๋ก ์ ๋๋ค. ๊ทธ ๋๊ตฌ ์์ด๋ ์์ฉ ๊ธฐ์ค์ ํ์ ํ ์ ์์ผ๋ฉด ํ์ ํ๋ค. ์์ฉ ๊ธฐ์ค ๊ฒ์ฆ์ ๊ทธ ๋๊ตฌ๊ฐ ๊ผญ ํ์ํ๋ฉด ๊ทธ ๊ธฐ์ค์ blocker ๋ก ๋ธ๋ค."
|
|
351
|
+
๊ณ ์ ์๋จธ๋ฆฌ๋ ๋ฒ์ญํ๊ฑฐ๋ ์ค์ด๊ฑฐ๋ ๋ฐ๊ฟ ์ฐ์ง ์๊ณ ๊ธ์ ๊ทธ๋๋ก ๋ฃ๋๋ค(`short.md` ์ ์ฒซ ๋ถ๋ถ๊ณผ, ์ญํ ์ ์ง์ ํด ๋์ฐ๋ ์ข์์ ์ง์ ๋ชจ๋). ๋ฐ๊ฟ ์ด ์๋จธ๋ฆฌ์์ ๋น ์ง ๋ฌธ์ฅ์ด ๊ทธ ์ข์์ ํ์ ์ ๋ฐ๊พผ๋ค(0.165.0 ์ค์ธก: ์์ด๋ก ์ค์ธ ์๋จธ๋ฆฌ์์ ๋๊ตฌ ๊ท์น์ด ๋น ์ ธ, `code-reviewer` ์ข์์ด ๊ผญ ํ์ํ์ง ์๋ค๊ณ ํ๋ฉด์๋ `lsp_diagnostics` ๊ฐ ์์ด ์น์ธํ์ง ์์).
|
|
352
|
+
|
|
353
|
+
**๋ ์ฆ โข (์ ๋์ ๋ฐ์ฆ) ์ข์์ ์ง์.** ๊ณ ์ ์๋จธ๋ฆฌ๋ ๊ทธ๋๋ก ๋๊ณ , ๊ทธ ๋ค ๋ ์ฆ โข ์ข์์ ์ง์์๋ง ์๋ 9๋ถ๋ฅ ๊ด์ ์ ๋ฃ๋๋ค(๋ค๋ฅธ ๋ ์ฆ์ ์ข์๊ณผ ๊ณ ์ ์๋จธ๋ฆฌ์๋ ๋ฃ์ง ์๋๋ค). "๋ณ๊ฒฝ์ด ๋ค์ ๊ฒฝ์ฐ์ ๊นจ์ง๋์ง ์ฐพ์๋ผ: ์๋ชป๋ ์
๋ ฅ, ๋ฐ๋ณต ์ค๋จ, ํ๋กฌํํธ ์ฃผ์
, ์ทจ์์ ์ฌ๊ฐ, ๋ก์ ์ํ, ๋๋ฌ์ด ์์
ํธ๋ฆฌ, ๋ฉ์ถ ๋ช
๋ น, ํ๋ค๋ฆฌ๋ ์ํ, ์ค๋ํ๋ ์ฑ๊ณต ์ถ๋ ฅ. ํด๋นํ์ง ์๋ ๋ถ๋ฅ๋ ๊น๋ญ์ ํ ์ค๋ก ์ ์ด๋ผ." ์ด 9๋ถ๋ฅ๋ `gate-evidence.mjs` ์ `CLASSES` ์ ๊ฐ์ ์งํฉ์ด๋ค.
|
|
326
354
|
|
|
327
355
|
**์ถ์ฒ-๋
๋ฆฝ ์ข์์ ์ ์๊ฐ ์ด ์์ฝ์ ๋ฐ์ง ์๋๋ค.**
|
|
328
356
|
์
๋ ฅ = ์ ํ์ผ์ ํฌํจํ diff ์๋ฌธ(์ธ๋ถ ์ข์ ์ ์ก์ `prepare` ๊ฐ ๋ง๋ `<d>/raw.md`. ์ธ๋ถ ์ข์์ด ์๋ ์คํ๋ `init`, `prepare` ๋ก ๋ง๋ค๊ณ , ํ์ ์ ๋ฐ์ ๋ค `cleanup` ์ผ๋ก ์ง์ด๋ค) + `<d>/unsent.md`(diff ์ ์ฃ์ง ์์ ์ ํ์ผ ๋ชฉ๋ก. ์ด ์ข์์ ์ฝ๊ธฐ ๋๊ตฌ๋ก ๊ทธ ํ์ผ์ ์ฐ๋ค) + ์ฌ์ฉ์ ์ ์์ฒญ ๋ฌธ์ฅ **๊ทธ๋๋ก** + ์ ์ฅ์์ ๊ธฐ์ค ํ์ผ(SKILL.mdยทREADMEยท๋งค๋ํ์คํธยท๊ท์น ํ์ผ) + ๊ฒ์ดํธ ์๋ฌธ ์ถ๋ ฅ.
|
|
329
357
|
์ง์ = "์ค์ค๋ก ์์ฉ ๊ธฐ์ค์ ๋์ถํ๊ณ , **์ ์๊ฐ ์ฃผ์ฅํ ๊ธฐ์ค๊ณผ์ ์ฐจ์ด๋ฅผ ๋ณด๊ณ **ํ๋ผ. `unsent.md` ์ ํ์ผ ๊ฐ์ด๋ฐ ๋ณ๊ฒฝ์ ์ํ๋ ๊ฒ์ด ์์ผ๋ฉด ๊ทธ๊ฒ๋ ์ฐจ์ด๋ก ๋ณด๊ณ ํ๋ผ."
|
|
330
358
|
**์ด ์ข์์ด ๋ณด๊ณ ํ ์ฐจ์ด๋ blocker ๋ก ์ทจ๊ธํ๋ค** โ ์ ์๊ฐ ๊ธฐ์ค์์ ๋น ๋จ๋ฆฐ ์๊ตฌ๊ฐ ๊ณง ๊ฒ์ฆ ๊ณต๋ฐฑ์ด๋ฏ๋ก, ์กฐ์ธ์ผ๋ก ํ๋ฆฌ๋ฉด ์ด ์ข์์ ๋๋ ์ด์ ๊ฐ ์ฌ๋ผ์ง๋ค.
|
|
331
359
|
|
|
360
|
+
### ๊ฒ์ดํธ ์ฆ๊ฑฐ (`--gates`)
|
|
361
|
+
|
|
362
|
+
`<R>` ์ ์ด ์คํฌ์ `references` ๋ค. `<g>` ๋ ๊ฒ์ดํธ ๊ธฐ๋ก ํด๋๋ค.
|
|
363
|
+
|
|
364
|
+
**๊ฒ์ดํธ ๊ธฐ๋ก ํด๋์ ์๋ช
.** ๊ธฐ์ค์ , ํ๋ค๋ฆผ, ๊ฐ์ ์คํจ 3ํ๋ ๋ชจ๋ ํ ํด๋์ `evidence.md` ์ ์์ธ ๋ฐ๋ณต 0 ๋ถํฐ ์ง๊ธ๊น์ง์ ๊ธฐ๋ก์ ์ฝ๋๋ค. ๊ทธ๋์ `<g>` ๋ ์ธ๋ถ ์ข์ ์ ์ก์ ํ์ด๋ก๋ ํด๋ `<d>`(๋ฐ๋ณต๋ง๋ค ์๋ก ๋ง๋ค๊ณ ํ์ ๋ง๋ค ์ง์)์ ๋ฐ๋ก ๋๋ค.
|
|
365
|
+
- ๋ง๋ค๊ธฐ: ๊ธฐ์ค์ ์ ์ ํ ๋ฒ `node '<R>/gate-evidence.mjs' init --cwd '<์ ์ฅ์>'` ๋ฅผ ๋ถ๋ฅธ๋ค. ์ถ๋ ฅ์ `dir`(`ralph-qa-gates.<์์ซ์>`, ํ์ด๋ก๋ ํด๋์ ๊ฐ์ ๋น๊ณต๊ฐ ๊ธฐ์ค ํด๋ ์๋)์ด `<g>` ๋ค.
|
|
366
|
+
- ์ ์ง: ๋ฐ๋ณต ์ฌ์ด์ ์ง์ฐ์ง ์๊ณ ๋ค์ ๋ง๋ค์ง ์๋๋ค. seat-run ์ `cleanup` ๊ณผ ํ๋ฃจ ๊ท์น์ ์ด ํด๋๋ฅผ ์ง์ฐ์ง ์๋๋ค(์ด๋ฆ๊ณผ ํ์ง `.ralph-qa-gates` ๊ฐ ๋ค๋ฆ). ๊ธฐ์ค์ ๋ค ํ๋ฃจ๊ฐ ๋์ด ์ด์ด ํด๋ ๊ธฐ์ค์ ์ด ๋จ๋๋ค.
|
|
367
|
+
- ์ ๋ฆฌ: ์ข
๊ฒฐ์ด(`APPROVE`, `ITERATE`, `INCONCLUSIVE`)๋ฅผ ๋ธ ๋ค์๋ง ํ ๋ฒ `node '<R>/gate-evidence.mjs' cleanup --dir '<g>'` ๋ฅผ ๋ถ๋ฅธ๋ค.
|
|
368
|
+
- ํธ์ถ์๊ฐ ์ค `<g>`: all-in-one, ultra-init, ultra-chain ์ฒ๋ผ ํธ์ถ์๊ฐ ๋ฐ๋ณต 0 ์ ์ด๋ฏธ ๋๋ฆฐ `<g>` ๋ฅผ ๋๊ธฐ๋ฉด ๊ทธ ํด๋๋ฅผ ์ด๋ค. ๋ฐ๋ณต 0 ์ ๋ค์ ๋๋ฆฌ์ง ์๊ณ ์ง์ฐ์ง๋ ์๋๋ค(ํธ์ถ์๊ฐ ๋๋ ๋ค ์ง์ด๋ค).
|
|
369
|
+
- ์ด ํ๋ณด๋ค ๋จผ์ `seat-run.mjs init` ์ผ๋ก ๋ง๋ `ralph-qa.<์์ซ์>` ๊ฒ์ดํธ ํด๋๋ ์คํ๊ธฐ๊ฐ ๊ทธ๋๋ก ์ฝ๋๋ค. ๊ทธ ํด๋๋ `seat-run.mjs cleanup --dir` ๋ก ์ง์ด๋ค(๋ต ํด๋๊ฐ ํจ๊ป ์๋ค).
|
|
370
|
+
- ๋๊ธด ์คํ์ `<g>` ๋ ์ ์ ๋ก ์ง์์ง์ง ์๋๋ค. ์ด์ด ํ ์ ์์ผ๋ฉด ๋ณด๊ณ ์ ๊ฒฝ๋ก๋ฅผ ์ ๋๋ค.
|
|
371
|
+
- git ์ ์ฅ์๊ฐ ์๋๋ฉด: `init` ๊ณผ `run` ์ด `not-a-git-tree` ๋ก ๋ฉ์ถ๋ค(์ข
๋ฃ 3, ํด๋๋ฅผ ๋ง๋ค๊ฑฐ๋ ๋ช
๋ น์ ๋๋ฆฌ์ง ์์). ์์
ํธ๋ฆฌ ์ง๋ฌธ์ด ๋ณ๊ฒฝ์ ๋ณด์ง ๋ชปํด ์ด๋ค ๊ธฐ๋ก๋ ์ฐ์ธํญ์ ์ฐธ์ผ๋ก ๋ง๋ค ์ ์๊ธฐ ๋๋ฌธ์ด๋ค. ๋ฉ์ถค์ ๊ฒฝ๋ก(JSON ์ `checked`, ๊ฒ์ฌํ ํด๋์ ์ ๋ ๊ฒฝ๋ก)๊ฐ ๋์ ์ ์ฅ์์ธ์ง ๋จผ์ ํ์ธํ๊ณ , ์๋๋ฉด `--cwd '<์ ์ฅ์>'` ๋ก ๋ค์ ๋ถ๋ฅธ๋ค. ๋์์ด ์ ๋ง git ์ ์ฅ์๊ฐ ์๋ ๋๋ง ์ํ์ ์ฐ์ง ์๊ณ ๊ทธ ์๋ฆฌ์์ `--gates` ์์ด ๋๋ฉฐ, ๋ณด๊ณ ์ ๋ชจ๋ ์ข์ ์ง์์ `๊ฒ์ดํธ: ์ ์ธ ์์(git ์ ์ฅ์ ์๋)` ์ ๋๋ค. ์ค์ค๋ก `git init` ํ์ง ์๊ณ , ์ฌ์ฉ์์๊ฒ `git init` ๊ณผ ์ฒซ ์ปค๋ฐ์ ํ๋ฉด ๊ฒ์ดํธ๋ฅผ ์ธ ์ ์๋ค๊ณ ์๋ฆฐ๋ค. Claude Code ์ Codex(npm ๊ธธ, ํ๋ฌ๊ทธ์ธ ๊ธธ)๊ฐ ๊ฐ๋ค.
|
|
372
|
+
|
|
373
|
+
1. ๊ธฐ์ค์ : ๊ณ ์น๊ธฐ ์ ์ ๊ฒ์ดํธ๋ง๋ค ํ ๋ฒ `run --iter 0` ์ ๋๋ฆฐ๋ค. ๊ธฐ์ค์ ์์ ์คํจํ ๊ฒ์ดํธ๋ ์คํจ ์๋ช
์ด ๊ฐ๊ณ ๋ช
๋ น์ด ๊ฐ์ผ๋ฉด ์ด ๋ณ๊ฒฝ์ ์คํจ๊ฐ ์๋ ๊ฒ์ผ๋ก ๋ถ๋ฆฌ๋๋ค. ๊ทธ๋ฐ ์คํจ๋ ๊ฐ์ ์คํจ 3ํ์๋ ์ธ์ง ์๋๋ค. ์๋ช
์ ๋ช
๋ น์ ๋๋ฆฐ ํด๋๋ฅผ `<repo>` ๋ก ๋ฐ๊ฟ ๊ณ์ฐํด, ์์
ํธ๋ฆฌ์ ๋ณ๊ฒฝ์ด ์์ด ๊นจ๋ํ ์ฌ๋ณธ(`git worktree`)์์ ์ก์ ๊ธฐ์ค์ ๋ ์ ์ฅ์์ ๊ฐ์ ์คํจ์ ๊ฐ์ ์๋ช
์ด ๋๋ค.
|
|
374
|
+
2. ๋ฐ๋ณต k ๋ง๋ค ๊ฒ์ดํธ๋ง๋ค `run --iter <k>` ๋ฅผ ๋๋ฆฌ๊ณ , ์ข์์ ๋ณด๋ด๊ธฐ ์ง์ `gate --iter <k>` ๋ก ์ฐ์ธํญ์ ๊ณ์ฐํ๋ค. ๊ฒ์ดํธ ํ๋์ ๋ช
๋ น ํ๋๋ง ์ค๋ค(`&&` ๋ `;` ๋ก ๋ฌถ์ง ์๋๋ค). ๋ชจ๋ ๋ช
๋ น์ `--timeout` ์ ์ค๋ค.
|
|
375
|
+
3. ์ข์ ์
๋ ฅ์๋ `<g>/evidence.md` ์ ์ด๋ฒ ๋ฐ๋ณต `observed` ์ค๊ณผ ๊ทธ ์ถ๋ ฅ ํ์ผ์ ๋ฃ๋๋ค. ์ข์์ `verify --dir '<g>'` ๊ฒฐ๊ณผ(์ถ๋ ฅ ํ์ผ๊ณผ ๊ธฐ๋ก์ sha256 ๋์กฐ)๋ฅผ ํจ๊ป ๋ณด๊ณ , `misleading`(์ข
๋ฃ 0 ์ธ๋ฐ ์คํจ๋ ๊ฑด๋๋ ์๊ฐ ์๋ ์ถ๋ ฅ)์ ํ๋จํ๋ค. ๊ธฐ๊ณ๋ `misleading` ์ ๋ง์ง ์๋๋ค.
|
|
376
|
+
4. `scenarios` ๋ฅผ ์ฃผ๋ฉด ์ ์๊ฐ 9๋ถ๋ฅ๋ง๋ค ์๋๋ฆฌ์ค ํ์ ์ฐ๊ฑฐ๋ ํด๋น ์์์ ๊น๋ญ์ ์ ๊ณ , ํ๋ง๋ค `run --id scenario-<๋ฒํธ>` ๋ก ๋๋ฆฐ๋ค. ๊น๋ญ ์์ด ๋น ๋ถ๋ฅ๋ ์ข์์ด blocker ๋ก ๋ธ๋ค.
|
|
377
|
+
5. ํ๋ค์ค(์์ ์ํ, ์คํฌ๋ฆฝํธ, ์๋ฃ)๋ `<g>` ์์๋ง ๋ง๋ค๊ณ (๋ฐ๋ณต๋ง๋ค ๋ค์ ๋๋ฆฌ๋ฏ๋ก ๋ฐ๋ณต๋ง๋ค ์ง์์ง๋ `<d>` ์ ๋์ง ์๋๋ค), ์ ์ฅ์ ๋ฃจํธ๋ฅผ ์ ๋ ๊ฒฝ๋ก๋ก ๊ฐ๋ฆฌํจ๋ค. ๋ณธ๋ฌธ์ ๋ฐฑํฑ์ด๋ `${...}` ๊ฐ ๋ ํ์ผ์ ์
ธ ์นํ ์๋ ๋ฐฉ๋ฒ(ํ์ผ ์ฐ๊ธฐ ๋๊ตฌ, ๋ฐ์ดํ ์น here-document)์ผ๋ก ์ด๋ค. ๋ฐ๋ณต๋ง๋ค `fingerprint --cwd '<์ ์ฅ์>'` ๋ก ์์
ํธ๋ฆฌ๋ฅผ ์ฐ์ด, ์ข์์ด ๊ธฐ์ค์ ๋ณด๋ค ๋์ด๋ ์ถ์ ํ์ง ์๋ ํ์ผ(ํ๋ค์ค ์ํด)์ด 0 ์ธ์ง ํ์ธํ๋ค. ํ๋ค์ค ์ค๋น ์คํจ๋ ์ ํ ๊ฒฐํจ์ผ๋ก ์ธ์ง ์๊ณ ์ํด๋ก ๋ฐ๋ก ์ผ๋ค.
|
|
378
|
+
|
|
379
|
+
```bash
|
|
380
|
+
node '<R>/gate-evidence.mjs' init --cwd '<์ ์ฅ์>'
|
|
381
|
+
node '<R>/gate-evidence.mjs' run --dir '<g>' --id tests --cmd 'npm test' --timeout 600 --iter 0 --cwd '<์ ์ฅ์>'
|
|
382
|
+
node '<R>/gate-evidence.mjs' gate --dir '<g>' --gates tests,lint --iter <k> --cwd '<์ ์ฅ์>'
|
|
383
|
+
node '<R>/gate-evidence.mjs' verify --dir '<g>'
|
|
384
|
+
node '<R>/gate-evidence.mjs' fingerprint --cwd '<์ ์ฅ์>'
|
|
385
|
+
node '<R>/gate-evidence.mjs' note --dir '<g>' --id tests --iter <k> --exit 0 --text '<๋๊ฐ ๋ฌด์์ ๋งํ๋>'
|
|
386
|
+
node '<R>/gate-evidence.mjs' cleanup --dir '<g>'
|
|
387
|
+
```
|
|
388
|
+
|
|
389
|
+
- `gate` ์ `--gates` ์๋ ๊ฒ์ดํธ id ๋ง ์ผํ๋ก ์ ๋๋ค. `custom:<๋ช
๋ น>` ์ id `custom` ์ด๊ณ , `run --id custom --cmd '<๋ช
๋ น>'` ์ผ๋ก ๋๋ฆฐ๋ค. custom ๊ฒ์ดํธ๊ฐ ๋ ์ด์์ด๋ฉด id ๋ฅผ `custom-<์ด๋ฆ>`(์์๋ฌธ์, ์ซ์, `-`)์ผ๋ก ๋๋ ๊ฐ๊ฐ ๋๋ฆฌ๊ณ ๊ทธ id ๋ค์ ์ ๋๋ค. ๋ช
๋ น์ `--gates` ์ ๋ฃ์ง ์๋๋ค(๋ช
๋ น ์์ ์ผํ๊ฐ ๋ชฉ๋ก์ ๊นจ๋จ๋ฆฐ๋ค).
|
|
390
|
+
|
|
391
|
+
| ๊ท์น | ๊ธฐ๊ณ ํ์ (`gateConjunct`) |
|
|
392
|
+
|---|---|
|
|
393
|
+
| ์ ์ธํ ๊ฒ์ดํธ๋ง๋ค ์ด๋ฒ ๋ฐ๋ณต์ `observed` ๊ธฐ๋ก | ์์ผ๋ฉด `missing` |
|
|
394
|
+
| ๊ธฐ๋ก์ ์์
ํธ๋ฆฌ ์ง๋ฌธ = ํ์ ์์ ์ง๋ฌธ | ๋ค๋ฅด๋ฉด `stale`. ์ง๋ฌธ์ HEAD, `git status --porcelain=v1 -z`, `git diff HEAD --binary`, ์ถ์ ํ์ง ์๋ ํ์ผ์ ๋ด์ฉ ํด์ |
|
|
395
|
+
| git ์ ์ฅ์์์ ๋ ๊ธฐ๋ก | `init`, `run` ์ด git ์ด ์๋ ํด๋๋ฅผ `not-a-git-tree` ๋ก ๋ง๋๋ค(์๋ช
์ ). ์ด ํ๋ณด๋ค ๋จผ์ ๋จ์ ๊ทธ๋ฐ ๊ธฐ๋ก(`git: false`)์ `unverifiable` |
|
|
396
|
+
| `pass`, ๋๋ ๊ธฐ์ค์ ๊ณผ ๊ฐ์ ์คํจ | ๊ธฐ์ค์ ๋ถ๋ฆฌ๋ `baseline` |
|
|
397
|
+
| ํ๋ค๋ฆผ | ์คํจ ๋ค ํต๊ณผ๋ ๊ฐ์ ์ง๋ฌธ์์ 2ํ ๋ `pass` ํด์ผ ํจ(`flaky`) |
|
|
398
|
+
| `reported` | ํ์ ์ ์ฐ์ง ์์ |
|
|
399
|
+
|
|
400
|
+
- Windows ๋ PowerShell 7(`pwsh`)์ด PATH ์ ์์ผ๋ฉด ๊ทธ๊ฒ, ์์ผ๋ฉด 5.1 ์ด ๋๋ฆฐ๋ค. ๋ช
๋ น ๋ค์ ์ข
๋ฃ ์ฝ๋๋ฅผ ์งํค๋ ์ค์ ๋ถ์ธ๋ค. ์ถ๋ ฅ์ Node ํ์ดํ๋ก ๋ฐ์ง ์๊ณ , ์์์ด ์คํ ํด๋์ ์ ์ถ๋ ฅ ํ์ผ์ ์ง์ ์ด๋ค(Codex ์๋๋ฐ์ค์์ ํ์ดํ ์ถ๋ ฅ์ด ์ฌ๋ผ์ง). ์๊ฐ ์ด๊ณผ ๋ POSIX ๋ ํ๋ก์ธ์ค ๋ฌถ์, Windows ๋ `taskkill /T /F` ๋ก ํธ๋ฆฌ ์ ์ฒด๋ฅผ ๋๋ธ๋ค.
|
|
401
|
+
- ์ถ๋ ฅ ํ์ผ๊ณผ ์ถ์ ํ์ง ์๋ ํ์ผ์ ์กฐ๊ฐ์ผ๋ก ์ฝ์ด ํด์ํ๋ค(2 GiB ๋ฅผ ๋์ด๋ ๋ฉ์ถ์ง ์์). ํ์ ๊ณผ ์๋ช
์ ์ถ๋ ฅ์ 64 MiB ๊น์ง๋ง ์ฝ๊ณ , ๋์ผ๋ฉด ์๋ค 32 MiB ๋ฅผ ์ฝ์ด ์ข
๋ฃ 0 ์ด์ด๋ `misleading` ์ผ๋ก ๋๋ค(์ข์์ด ํ๋จ).
|
|
402
|
+
- git ์ด ๋ฌด์ํ๋ ํ์ผ(๋น๋ ๊ฒฐ๊ณผ, ์บ์)์ ์ง๋ฌธ์ ๋ค์ง ์๋๋ค. ๊ฒ์ดํธ๋ฅผ ๋๋ฆด ๋๋ง๋ค ์๋ก ์๊ฒจ ์ง๋ฌธ์ด ๋ ๋ฐ๋๊ธฐ ๋๋ฌธ์ด๋ค. ๊ทธ๋์ ๋ฌด์ ํ์ผ๋ง ๋ฐ๊พผ ๊ณ ์นจ์ ๊ฐ์ ๋ฐ๋ณต ์์ ์ ๊ธฐ๋ก์ `stale` ๋ก ๋ง๋ค์ง ์๋๋ค. ๊ณ ์น ๋ค์๋ ๋ ๊ฒ์ดํธ๋ฅผ ๋ค์ ๋๋ฆฐ๋ค(4๋จ๊ณ).
|
|
403
|
+
- Codex ์์ `<g>` ๊ฐ ์๋๋ฐ์ค ์ฐ๊ธฐ ๋ฒ์ ๋ฐ์ด๋ฉด `init`, `run`, `cleanup` ์ ์น์ธ์ด ํ์ํ๋ค. ์น์ธ์ ๋ฐ์ ์ ์์ผ๋ฉด ๊ฒ์ดํธ ์ฆ๊ฑฐ๋ฅผ ๋ง๋ค ์ ์๋ค๊ณ ๋ณด๊ณ ํ๊ณ `--gates` ์์ด ๋์ง ์๋๋ค.
|
|
404
|
+
|
|
332
405
|
### 2. ์ข์ ์ฐฉ์
|
|
333
406
|
์ธ๋ถ ํ๋๊ทธ๊ฐ ์์ผ๋ฉด ํ๋ก๋ธ๋ฅผ **ํธ์ถ๋น 1ํ** ๋๋ฆฐ๋ค(๋ฃจํ ๋ฐ๋ณต์์ ๋ชจ๋ธ์ ๋ค์ ์ ํ๋ ์ฌํ๋ก๋ธ ๊ธ์ง. send ๊ฐ ๋ณด๋ด๊ธฐ ์ง์ ๊ณ ๋ฅธ ๋ชจ๋ธ๋ก ์ฅ์น๋ง ๋ค์ ํ์ธํ๋ ๊ฒ์ ์ฌํ๋ก๋ธ๊ฐ ์๋๋ค). ํ๋๊ทธ๊ฐ ์์ผ๋ฉด ํ๋ก๋ธ๋ ์ธ๋ถ ์ข์๋ ์๋ค(`no-flag`).
|
|
334
407
|
`adopt` ๋ ๊ทธ๋๋ก, `ask` ๋ ์ง๋ฌธ ๊ท์น๋๋ก, `unseated` ๋ ์ฌ์ ์ `notes` ๋ฅผ ์ข์ ์ค์ ์ ๋๋ค(๊ณ ์น ๋ฐฉ๋ฒ์ด `notes` ์ ์๋ค). ๊ณ ๋ฅธ ๋ชจ๋ธ๊ณผ ๊ณ ๋ฅธ ๋ฐฉ๋ฒ(์ฑํยท์ฌ์ฉ์ ์ ํยทfallback)์ ๋ณด๊ณ ์ ์ ๋๋ค. ์ธ๋ถ ์ข์์๋ "์ธ๋ถ ์ข์ ์ ์ก" ์ ์ ์์๋ก ๋ณด๋ธ๋ค.
|
|
@@ -345,6 +418,8 @@ INCONCLUSIVE ์๋น ๊ท์น โ ํต๊ณผ๊ฐ ์๋๋ค
|
|
|
345
418
|
|
|
346
419
|
### 4. ๋ฐ์๊ณผ ์ข
๋ฃ
|
|
347
420
|
`APPROVE` ๊ฐ ์๋๋ฉด ์ด์๋ฅผ ์์ ํ๊ณ ๊ฒ์ดํธ๋ฅผ ๋ค์ ๋๋ฆฐ ๋ค **๊ฐ์ ์ข์ ๊ตฌ์ฑ์ผ๋ก** ์ฌ๊ฒ์ฆํ๋ค(2๋จ๊ณ ๋ฐ๋ณต, `S_k โ S_{k+1}` ์ ์ง).
|
|
421
|
+
- `--gates` ๋ฉด ๊ณ ์น ๋ค ๊ฒ์ดํธ๋ง๋ค `run --iter <k+1>` ์ ๋ค์ ๋๋ฆฐ๋ค. ์ง์ ์ ์คํจํ ๊ฒ์ดํธ๊ฐ ํต๊ณผํ๋ฉด ๊ฐ์ ์ง๋ฌธ์์ 2ํ ๋ ๋๋ฆฐ๋ค.
|
|
422
|
+
- ๋ฐ์ํ ๋ ์ ์ ์ชฝ ์์ ๊ฒฝ๊ณ: ๊ฐ์ reset, ๋์ ์ญ์ , ๋น๋ฐ ์ถ๋ ฅ, ํ๋ฝ ์๋ ์ด์ ์ฐ๊ธฐ์ ๋คํธ์ํฌ๋ฅผ ํ์ง ์๋๋ค. ์ฌ์ฉ์์ ๋ค๋ฅธ ๋ณ๊ฒฝ์ ์จ๊ธฐ๊ฑฐ๋ ๋ฎ์ง ์๋๋ค. ๋ชจ๋ ๋ช
๋ น์ ์๊ฐ ์ ํ์ ๋๋ค. ๊ฒฝ๊ณ๋ฅผ ๋์ด์ผ ํ๋ ๊ณ ์นจ์ ํ์ง ์๊ณ ๋ณด๊ณ ์ ์ ๋๋ค.
|
|
348
423
|
๋๋ํ ๋ฐ๋์ ํด์ ๋ **๊ทธ blocker ๋ฅผ ๋ธ ์ข์(๋๋ ๋์ผ ์๋ณ์์ ๋์ฒด ์ข์)์ APPROVE ์ฌํฌํ**๋ก๋ง ๋๋ค โ ์ ์์ "๊ณ ์ณค๋ค" ์ ์ธ์ผ๋ก๋ ํด์ ๋์ง ์๋๋ค.
|
|
349
424
|
์ข
๊ฒฐ์ ์ ์กฑ์ ์ ์ 3๊ฐ(`APPROVE` ยท `ITERATE` ยท `INCONCLUSIVE`)๊ณผ ๊ทธ ์๋น ๊ท์น์ ๋ฐ๋ฅธ๋ค.
|
|
350
425
|
|
|
@@ -395,11 +470,26 @@ Codex ์์ ์ญํ ์ ์ง์ ํ๋ค๋ฉด ๋ฐฑ๋ณธ ์ค์ `type=<์ญํ > ยท model=<
|
|
|
395
470
|
`โฌ` ๋ ์คํจ ํ์๊ฐ ์๋๋ผ ์ปค๋ฒ๋ฆฌ์ง ํ์๋ค. ํ๋๊ทธ๊ฐ ์์ด๋ `ํ๋ก๋ธ(๊ด์ธก): ๋ฏธ์คํ (์ธ๋ถ ํ๋๊ทธ ์์)` ์ผ๋ก ๋ฏธ์คํ ์ฌ์ค ์์ฒด๋ฅผ ์ ๋๋ค โ ์ค ์๋ต์ ์ถ์ฝ์ด๋ค.
|
|
396
471
|
์ ์ธ ๋ธ๋ก์ ํ๋ก๋ธ๊ฐ ๋๋ฐ์ ์ ๋ ๊ฐ์ด๋ฏ๋ก **"์ฆ๊ฑฐ"๋ผ๊ณ ๋ถ๋ฅด์ง ์๋๋ค**.
|
|
397
472
|
|
|
473
|
+
**๊ฒ์ดํธ ๋ธ๋ก.** ์ ์ค๋ค์ ๊ทธ๋๋ก ๋๊ณ ํ์ ์ค ์์ ๋ท์ ๋ํ๋ค. `--gates` ๊ฐ ์์ผ๋ฉด ๋ท ๋์ `๊ฒ์ดํธ: ์ ์ธ ์์(<๊น๋ญ>)` ํ ์ค์ด๋ค.
|
|
474
|
+
|
|
475
|
+
```
|
|
476
|
+
๊ฒ์ดํธ(๊ด์ธก): ๋ฐ๋ณต 2, ์ง๋ฌธ 3f9aโฆ(ํ์ ์์ ๊ณผ ๊ฐ์)
|
|
477
|
+
tests = pass `npm test` ์ข
๋ฃ 0, 12.4s, ์ถ๋ ฅ sha256 9c1eโฆ, verify ๊ฐ์
|
|
478
|
+
lint = baseline `npm run lint` ์ข
๋ฃ 1, ์๋ช
lint:5d2aโฆ(๊ธฐ์ค์ ๊ณผ ๊ฐ์)
|
|
479
|
+
์ฐ์ธํญ = ์ฐธ
|
|
480
|
+
๊ฒ์ดํธ(์ ๊ณ ): tests ์ข
๋ฃ 0(OMX ultraqa ๋ณด๊ณ ์) โ ํ์ ์ ์ฐ์ง ์์
|
|
481
|
+
์๋๋ฆฌ์ค ์ปค๋ฒ๋ฆฌ์ง(์ ์ธ): 9๋ถ๋ฅ ๊ฐ์ด๋ฐ ํ 7, ํด๋น ์์ 2(๊น๋ญ: ์ทจ์์ ์ฌ๊ฐ, ๋ก์ ์ํ โ ์ํ ํ์ผ ์์)
|
|
482
|
+
์ ๋ฆฌ(๊ด์ธก): ํ๋ค์ค ์ํด 0(๊ธฐ์ค์ ๋๋น ์ถ์ ํ์ง ์๋ ํ์ผ ์ฆ๊ฐ ์์), ๊ฒ์ดํธ ๊ธฐ๋ก ํด๋์ ํ์ด๋ก๋ ํด๋ ์ ๋ฆฌ ์๋ฃ
|
|
483
|
+
```
|
|
484
|
+
|
|
485
|
+
- `๊ฒ์ดํธ(๊ด์ธก)` ์ `gate` ์ `verify` ์ ์ถ๋ ฅ์ ์ฎ๊ธด๋ค. ์ถ์ฝํ์ง ์๋๋ค.
|
|
486
|
+
- ์ฌ์ฉ์๊ฐ ๋ฐ๋ก ๋๋ฆฐ ultraqa ๋ณด๊ณ ์(Claude Code `banker:ultraqa`, Codex OMX `$ultraqa`)๋ `๊ฒ์ดํธ(์ ๊ณ )` ์๋ง ์ ๋๋ค.
|
|
487
|
+
|
|
398
488
|
## ํ๊ณ
|
|
399
489
|
|
|
400
490
|
- **๋ฐฑ๋ณธ์ reasoning effort ๋ ์ด ์คํฌ์ด ํธ์ถ ๋จ์๋ก ์ง์ ํ์ง ๋ชปํ๋ค.** Agent ๋๊ตฌ ์คํค๋ง์ effort ํ๋ผ๋ฏธํฐ๊ฐ ์๋ค. effort ๋ **์์ด์ ํธ ์ ์์ ํ๋ก ํธ๋งคํฐ**(`effort:`)๋ ์ธ์
์ค์ ์์ ์ค๊ณ , banker ๋ ์์ด์ ํธ๋ฅผ ๋ฐฐํฌํ์ง ์์ผ๋ฏ๋ก(`.claude-plugin/plugin.json` ์ `agents` ์์) ๋ฐฑ๋ณธ์ด ๋์ฐ๋ ๊ฒ์ ๋จ์ ์ ์๋ค.
|
|
401
491
|
๊ทธ๋์ ๋ฐฑ๋ณธ์ ์ธ์
๋ชจ๋ธ๊ณผ ์ธ์
๊ฐ๋๋ฅผ ๋ฌผ๋ ค๋ฐ๊ณ **์ค์ ๋ก ์ด ๊ฒ์ ๋ณด๊ณ ํ๋ค** โ ๋ชฉํ๋ฅผ ์ฝ์์ผ๋ก ์ ์ง ์๋๋ค. ์ธ์
๊ฐ๋๋ฅผ ์ฌ๋ฆฌ๋ ๊ฒ์ด ๋ฐฑ๋ณธ์ ์ํฅ์ ์ฃผ๋ ์ ์ผํ ์์ก์ด์ด๋ฉฐ, ์ต๋ ๊ฐ๋๊ฐ ํ์ํ๋ฉด **ํธ์ถ ์ ์ ๊ทธ๊ฒ์ ์ฌ๋ ค๋ผ.**
|
|
402
|
-
**์์ด์ ํธ ์ ์๋ฅผ ๋ฐฐํฌํด ๊ฐ๋๋ฅผ ๋ฐ๋ ๊ธธ์ ์๋์ ์ผ๋ก ๋ซํ ์๋ค.** `effort:` ํ๋ก ํธ๋งคํฐ๋ Claude ์ ์ฉ์ด๋ผ, ๊ทธ ๊ธธ์ ์ด๋ฉด ๋ฐฑ๋ณธ ๊ฐ๋๊ฐ ๋ฐํ์๋ณ๋ก ๊ฐ๋ ค ์ด ์คํฌ์ด ๊ธฐ๋๊ณ ์ ๋ฐํ์ ๋์นญ์ด ๊นจ์ง๊ณ
|
|
492
|
+
**์์ด์ ํธ ์ ์๋ฅผ ๋ฐฐํฌํด ๊ฐ๋๋ฅผ ๋ฐ๋ ๊ธธ์ ์๋์ ์ผ๋ก ๋ซํ ์๋ค.** `effort:` ํ๋ก ํธ๋งคํฐ๋ Claude ์ ์ฉ์ด๋ผ, ๊ทธ ๊ธธ์ ์ด๋ฉด ๋ฐฑ๋ณธ ๊ฐ๋๊ฐ ๋ฐํ์๋ณ๋ก ๊ฐ๋ ค ์ด ์คํฌ์ด ๊ธฐ๋๊ณ ์ ๋ฐํ์ ๋์นญ์ด ๊นจ์ง๊ณ ๋งค๋ํ์คํธ์์ ralph-qa ๊ฐ ์ ๋ฐํ์ ๋์(`both`)์ธ ์ฑ์ง๋ ๋ฌด๋์ง๋ค. ์ฌ๊ณ ๊ฐ ์๋๋ผ ๊ฒฐ์ ์ด๋ค.
|
|
403
493
|
- `--effort` ๋ ์ ์ก ๊ฒฝ๋ก๊ฐ ์ค์ฌํ๊ณ ๊ฐ ์ฒด๊ณ๊ฐ ํ๋์ธ ์ธ๋ถ ์ข์(codex)์๋ง ์ ์ฉ๋๋ค. ๋ฐฑ๋ณธ ๊ฐ๋๋ฅผ ์ด ํ๋๊ทธ๋ก ๋ฐ๊ฟ ์๋ ์๋ค.
|
|
404
494
|
- `--effort` ๋ **์ ์ก ํ์ธ / ์ ์ฉ ๋ฏธํ์ธ**์ด๋ค โ ๊ฐ์ ๋ณด๋๋ค๋ ์ฌ์ค๋ง ํ์ธ ๊ฐ๋ฅํ๊ณ ๋ชจ๋ธ์ด ๊ทธ๊ฒ์ ์ ์ฉํ๋์ง๋ ์๋ต์์ ๊ด์ธกํ ์ ์๋ค.
|
|
405
495
|
- ๋ฐฑ๋ณธ์ ๋ชจ๋ ์ธ์
๋ชจ๋ธ์ด๋ผ **๋ชจ๋ธ-๋
๋ฆฝ์ด ์๋๋ค**. 3์ถ ํ๊ฐ ์ด๋ฅผ ์จ๊ธฐ์ง ์์ ๋ฟ ํด๊ฒฐํ์ง๋ ์๋๋ค. ๋ชจ๋ธ ์ถ์ ์ธ๋ถ ํ๋๊ทธ๋ก๋ง ๋ฎ์ธ๋ค.
|
|
@@ -436,4 +526,4 @@ Codex ์์ ์ญํ ์ ์ง์ ํ๋ค๋ฉด ๋ฐฑ๋ณธ ์ค์ `type=<์ญํ > ยท model=<
|
|
|
436
526
|
- **`ERROR` ๋ฅผ ๋๋กญํ์ง ๋ง๋ผ.** ์ข์์ ์ง์ฐ๋ฉด ์ ์กฑ์์ ํด๋น ์ฐ์ธํญ์ด ๊ณตํํ๊ฒ ์ฐธ์ด ๋์ด ๊ฒ์ดํธ๊ฐ ๋์ด์ง๋ค.
|
|
437
527
|
- **์์ฉ ๊ธฐ์ค ์์ด ๊ฒ์ฆํ์ง ๋ง๋ผ.** ๊ฒ์ฆ ๊ฐ๋ฅํ ๊ธฐ์ค ๋๋น ํ์ ์ด์ด์ผ ํ๋ค.
|
|
438
528
|
|
|
439
|
-
ARGUMENTS: [--agents=N] [--codex[=<model>]] [--gemini[=<model>]] [--opencode[=<provider/model>]] [--effort <v>] [--lens=critic|plan|both] [--max=N] [๊ฒ์ฆ ๋์/๊ธฐ์ค]
|
|
529
|
+
ARGUMENTS: [--agents=N] [--codex[=<model>]] [--gemini[=<model>]] [--opencode[=<provider/model>]] [--effort <v>] [--gates=<๋ชฉ๋ก>] [--lens=critic|plan|both] [--max=N] [๊ฒ์ฆ ๋์/๊ธฐ์ค]
|