irregular6612 Claude Opus 4.8 (1M context) commited on
Commit
2ae134a
ยท
1 Parent(s): 9a23797

docs(cp8): next-session implementation kickoff prompt

Browse files

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>

docs/superpowers/NEXT-SESSION-CP8-IMPL.md ADDED
@@ -0,0 +1,61 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ # Next-session kickoff prompt โ€” CP8 ๊ตฌํ˜„ (predator agentness eval + ์ž๋™ GIF)
2
+
3
+ > ์•„๋ž˜ ๋ธ”๋ก์„ ๊ทธ๋Œ€๋กœ ๋ถ™์—ฌ๋„ฃ์–ด CP8 **๊ตฌํ˜„** ์„ธ์…˜์„ ์‹œ์ž‘ํ•œ๋‹ค. ์„ค๊ณ„ spec๊ณผ TDD ํ”Œ๋žœ์€ ์ด๋ฏธ ์ž‘์„ฑยท์ปค๋ฐ‹๋จ.
4
+ > CP7(๋ฉ”๋ชจ๋ฆฌ ํ”„๋ฆฌ๋กค)๊นŒ์ง€ ์™„๋ฃŒยท์ปค๋ฐ‹(`.venv/bin/python -m pytest -q` โ†’ **152 passed**, Ollama ์Šค๋ชจํฌ ํ†ต๊ณผ).
5
+
6
+ ---
7
+
8
+ PROTEUS ์•„๋ ˆ๋‚˜ ๊ตฌํ˜„์„ ์ด์–ด์„œ ์ง„ํ–‰ํ•œ๋‹ค. ์ด๋ฒˆ ์„ธ์…˜์€ **CP8(predator agentness ํ‰๊ฐ€ 3์ธตํ™” + ๊ฒŒ์ž„ ํ›„ ์ž๋™ GIF)์˜ ๊ตฌํ˜„** ๋‹จ๊ณ„๋‹ค. ์„ค๊ณ„ยทํ”Œ๋žœ์€ ์ด๋ฏธ ํ™•์ •ยท์ปค๋ฐ‹๋ผ ์žˆ์œผ๋‹ˆ **๋ฐ”๋กœ ๊ตฌํ˜„๋ถ€ํ„ฐ ์‹œ์ž‘**ํ•œ๋‹ค(๋‹จ design-gated ์Šคํ…Œ์ด์ง€๋Š” ์˜ˆ์™ธ โ€” ์•„๋ž˜ ์ฐธ์กฐ).
9
+
10
+ ์ž‘์—… ๋””๋ ‰ํ„ฐ๋ฆฌ: /Users/bagjuhyeon/Documents/WorkSpace/PROTEUS
11
+
12
+ ## ๋จผ์ € ์ฝ์„ ๋ฌธ์„œ (SSOT)
13
+ - docs/superpowers/specs/2026-06-02-proteus-predator-agentness-eval-design.md (๋ถˆ๋ณ€ ์„ค๊ณ„ SSOT โ€” ยง6 ๋ฉ”ํŠธ๋ฆญ 3์ธต, ยง4 turn order, ยง5 ํฌํš, ยง7 trace ๊ณ„์•ฝ, ยง8 5-pass, ยง9 acceptance, ยง10 ๊ธฐ๋ณธ ๋ฆฌํฌํŠธ)
14
+ - docs/superpowers/plans/2026-06-02-proteus-cp8-agentness-eval.md (TDD ํ”Œ๋žœ โ€” Stage 0~5, ํƒœ์Šคํฌ๋ณ„ ์ „์ฒด ์ฝ”๋“œ/ํ…Œ์ŠคํŠธ)
15
+ - HANDOFF.md ("Next: CP8" ์„น์…˜์ด ์ถœ๋ฐœ์ ; CP0~CP7 ์™„๋ฃŒ ์ƒํƒœ)
16
+ - docs/superpowers/specs/2026-06-02-proteus-cp7-memory-preroll-design.md (CP7 ๋ฉ”๋ชจ๋ฆฌ ์ธํ„ฐํŽ˜์ด์Šค โ€” Stage 4๊ฐ€ ์˜์กด)
17
+
18
+ ## ์‹คํ–‰ ๋ฐฉ๋ฒ• (์ด๋ฒˆ ์„ธ์…˜)
19
+ ํ”Œ๋žœ์„ `superpowers:executing-plans`(์ธ๋ผ์ธ, CP7๊ณผ ๋™์ผ ํŒจํ„ด) ๋˜๋Š” `superpowers:subagent-driven-development`(3์ค‘ ๊ฒŒ์ดํŠธ)๋กœ ํƒœ์Šคํฌ๋ณ„ ์‹คํ–‰ํ•œ๋‹ค. **๊ถŒ์žฅ ์ˆœ์„œ: Stage 0 โ†’ Stage 1 โ†’ Stage 2 โ†’ Stage 4**. ๊ฐ ํƒœ์Šคํฌ๋Š” ํ…Œ์ŠคํŠธ์ž‘์„ฑโ†’์‹คํŒจํ™•์ธโ†’๊ตฌํ˜„โ†’ํ†ต๊ณผโ†’์ปค๋ฐ‹. ๋งค ํƒœ์Šคํฌ ํ›„ `.venv/bin/python -m pytest -q`๋กœ 152 ๋ฒ ์ด์Šค๋ผ์ธ ์œ ์ง€ ํ™•์ธ.
20
+
21
+ ### ์Šคํ…Œ์ด์ง€ ์ƒํƒœ (์ค‘์š”)
22
+ - **Stage 0 (์ž๋™ GIF), 1 (metric-only), 2 (persona reference), 4 (hidden-weight memory)** = **TDD-ready**. ํ”Œ๋žœ์— ์ „์ฒด ์ฝ”๋“œยทํ…Œ์ŠคํŠธ๊ฐ€ ์žˆ์œผ๋‹ˆ ๋ฐ”๋กœ ๊ตฌํ˜„. ์ „๋ถ€ ๊ฐ€์‚ฐ์ ์ด๋ผ 152 ๋ฌดํšŒ๊ท€.
23
+ - **Stage 3 (๋™์‹œ์ด๋™ resolver), 5 (multi-feature persona)** = **DESIGN-GATED**. ์—”์ง„ turn-order ๋ณ€๊ฒฝยท์‹ ๊ทœ ์‹œ๋‚˜๋ฆฌ์˜ค feature๋ผ spec์ด ์˜๋„์ ์œผ๋กœ ์—ด์–ด๋‘ . **์ฝ”๋”ฉ ์ „์— `superpowers:brainstorming` โ†’ ํ•˜์œ„ sub-spec ์ž‘์„ฑ**๋ถ€ํ„ฐ ํ•œ๋‹ค(ํ”Œ๋žœ์˜ ํ•ด๋‹น ์Šคํ…Œ์ด์ง€์— ๊ฒฐ์ •์‚ฌํ•ญยทacceptance๊ฐ€ ๋ช…์‹œ๋จ). ํ”Œ๋žœ์˜ ๋นˆ ์นธ์„ ์ž„์˜ ์ฝ”๋“œ๋กœ ์ฑ„์šฐ์ง€ ๋ง ๊ฒƒ.
24
+
25
+ ## ํ™•์ • ์ œ์•ฝ (์œ ์ง€)
26
+ - **๊ฐ€์‚ฐ์  ์šฐ์„ **: Stage 0~2ยท4๋Š” ์ƒˆ ํŒŒ์ผ / ์˜ต์…”๋„ ํ•„๋“œ(๊ธฐ๋ณธ๊ฐ’) / ์˜ตํŠธ์ธ CLI ํ”Œ๋ž˜๊ทธ๋กœ๋งŒ ์ถ”๊ฐ€ โ†’ ๊ธฐ์กด 152 ํ…Œ์ŠคํŠธยท๊ณจ๋“  ๋ฌดํšŒ๊ท€. Stage 3๋งŒ ๊ณจ๋“  ๋งˆ์ด๊ทธ๋ ˆ์ด์…˜(๊ฒฉ๋ฆฌ).
27
+ - **์˜คํ”„๋ผ์ธ ๋ถˆ๋ณ€**: ์ž๋™ ํ…Œ์ŠคํŠธ๋Š” ๋„คํŠธ์›Œํฌ/์‹ค์ œ LLM/๋””์Šคํ”Œ๋ ˆ์ด ์•ˆ ์”€. `.venv`์— provider SDK ๋ฏธ์„ค์น˜. ๋ชจ๋“  pytest๋Š” `.venv/bin/python -m pytest`. GIF/PNG๋Š” matplotlib/Pillow๋ฅผ **lazy import**(์˜คํ”„๋ผ์ธ import ์•ˆ์ „ ์œ ์ง€).
28
+ - ์˜์กด ๋ฐฉํ–ฅ: `runtime`์€ `grid` ์˜์กด ๊ฐ€๋Šฅ; `grid`/`arc_grid`๋Š” `runtime`์„ ์ ˆ๋Œ€ import ์•ˆ ํ•จ. `runtime/trace.py`ยท`runtime/memory.py`๋Š” ๋‹ค๋ฅธ runtime ๋ชจ๋“ˆ import ์•ˆ ํ•จ(์ง๋ ฌํ™” ๊ฒฝ๊ณ„).
29
+ - **`away_move_fraction`๋Š” ์žฌ์ •์˜ํ•˜์ง€ ๋ง ๊ฒƒ** โ€” ์ด๋ฏธ pre_predator ๊ธฐ์ค€์ด๋ผ spec ยง9๋ฅผ ์ถฉ์กฑ. ๊ฐ’ churn 0์„ ์œ„ํ•ด ๋ณด์กดํ•˜๊ณ  ์ƒˆ ๊ฑฐ๋ฆฌ ๋ฉ”ํŠธ๋ฆญ๋งŒ ์ถ”๊ฐ€.
30
+ - persona weight๋Š” **์ฐธ๊ฐ€์ž prompt/observation/checkpoint์— ์ ˆ๋Œ€ ๋…ธ์ถœ ๊ธˆ์ง€** โ€” ๊ณต๊ฐœ `persona_weight_id`๋งŒ ๊ธฐ๋ก(spec ยง3ยทยง7ยทยง9).
31
+ - ๋ณด๊ณ ๋Š” ํ•œ๊ตญ์–ด๋กœ.
32
+
33
+ ## ์ž๋™ GIF (Stage 0, ์‚ฌ์šฉ์ž ์š”์ฒญ)
34
+ ๊ฒŒ์ž„(`run`/`play`)์ด `--out`์œผ๋กœ trace๋ฅผ ์“ฐ๋ฉด `<out>.gif`๋ฅผ ์ž๋™ ์ƒ์„ฑ(๊ธฐ๋ณธ ON). `--no-gif`๋กœ ๋”. `viz.write_gif`(Pillow, lazy)๋กœ `reconstruct(trace)` ํ”„๋ ˆ์ž„์„ ์• ๋‹ˆ๋ฉ”์ด์…˜ GIF๋กœ ์กฐ๋ฆฝ. ๊ธฐ์กด CLI ํ…Œ์ŠคํŠธ๊ฐ€ ๋””๋ ‰ํ„ฐ๋ฆฌ ๋‚ด์šฉ์„ ๋‹จ์ •ํ•˜๋ฉด `--no-gif` ์ถ”๊ฐ€.
35
+
36
+ ## ์ˆ˜์šฉ(acceptance) โ€” spec ยง9
37
+ 1. `survived`๋งŒ์œผ๋กœ agentness ํŒ๋‹จ ๊ธˆ์ง€(๊ฑฐ๋ฆฌยทpersona ์ธต ๋ถ„๋ฆฌ).
38
+ 2. ๋ชจ๋“  turn์— `pre_bfs_distance`/`post_bfs_distance` ๊ธฐ๋ก.
39
+ 3. `away_move_fraction`์€ `pre_predator_pos` ๊ธฐ์ค€(์ด๋ฏธ ์ถฉ์กฑ).
40
+ 4. persona score๋Š” ์ˆจ์€ reward weight์˜ reference policy์™€ ๋น„๊ต.
41
+ 5. persona weight๋Š” ๋ชจ๋ธ prompt์— ๋น„๋…ธ์ถœ.
42
+ 6. (Stage 3 ์ ์šฉ ์‹œ) ์ฐธ๊ฐ€์žยทํฌ์‹์ž action์„ ๊ฐ™์€ pre-state์—์„œ ๊ณ„ํš.
43
+ 7. ํฌํš ํŒ์ •์€ same-cell + crossing ๋ชจ๋‘(Stage 3).
44
+ 8. predator-only์—์„  ํƒ์š•/๊ทœ์น™์ค€์ˆ˜/ํ˜‘๋ ฅ persona ๊ณผํ•ด์„ ๊ธˆ์ง€(Stage 5๋Š” ์‹ ๊ทœ feature ํ›„).
45
+
46
+ ## Ollama ์ˆ˜์šฉ ์Šค๋ชจํฌ (์ˆ˜๋™, ๋„คํŠธ์›Œํฌ โ€” Stage 2/4 ๋’ค)
47
+ `.venv`๋Š” SDK-free ์œ ์ง€. CP4/CP7 ๋ ˆ์‹œํ”ผ ์žฌ์‚ฌ์šฉ:
48
+ - throwaway venv: `/tmp/proteus-smoke-venv`(`httpx` ํฌํ•จ).
49
+ - ํ‚ค: `.env`์˜ `OLLAMA_API_KEY` ๊ฐ’์˜ **์ฒซ ๊ณต๋ฐฑํ† ํฐ**(57์ž) โ€” `grep -m1 '^OLLAMA_API_KEY' .env | cut -d= -f2- | awk '{print $1}'`.
50
+ - ๋ชจ๋ธ `ollama:gpt-oss:120b-cloud`. ์˜ˆ: `proteus run --persona risk_averse --memory generate ... --out runs/cp8_real.jsonl` โ†’ ๊ฑฐ๋ฆฌยทpersona ๋ฉ”ํŠธ๋ฆญ์ด ๋ฆฌํฌํŠธ์— 3์ธต์œผ๋กœ ์ฐํžˆ๊ณ  `<out>.gif` ์ƒ์„ฑ๋˜๋Š”์ง€ ํ™•์ธ.
51
+ - `runs/`๋Š” gitignore(์‹ค์ œ trace/ํ‚ค/GIF ๋น„์ปค๋ฐ‹).
52
+
53
+ ## ์„ธ์…˜ ์ข…๋ฃŒ ์‹œ
54
+ - ์™„๋ฃŒ ์Šคํ…Œ์ด๏ฟฝ๏ฟฝ๊นŒ์ง€ ์ปค๋ฐ‹(ํƒœ์Šคํฌ๋ณ„), `.venv/bin/python -m pytest -q` ๊ทธ๋ฆฐ ํ™•์ธ, HANDOFF.md ๊ฐฑ์‹ (์™„๋ฃŒ ์Šคํ…Œ์ด์ง€ + ์Šค๋ชจํฌ ๊ฒฐ๊ณผ + ๋‚จ์€ ์Šคํ…Œ์ด์ง€), ๋‹ค์Œ ์„ธ์…˜ ํ‚ฅ์˜คํ”„ ๊ฐฑ์‹ .
55
+
56
+ ---
57
+
58
+ ### (์ฐธ๊ณ ) ์šด์˜ ๊ตํ›ˆ (CP6/CP7)
59
+ - **์ปจํŠธ๋กค๋Ÿฌ ์‚ฌ์ „ ์ •์ฐฐ**: ๋””์ŠคํŒจ์น˜/๊ตฌํ˜„ ์ „์— ๊นจ์งˆ ์ง€์ (๋ฉ”ํŠธ๋ฆญ ํ‚ค set ๋‹จ์ •, ์‹œ๊ทธ๋‹ˆ์ฒ˜ ์ถฉ๋Œ, FakeProvider ์‘๋‹ต ์†Œ์ง„/๋ฐ˜๋ณต, `self.grid_size` ์ธ์Šคํ„ด์Šค ์„€๋„์ž‰)์„ ์ง์ ‘ ํ™•์ธํ•˜๋ฉด ์‹คํŒจ๋ฅผ ๋ฐ˜๋ณต ์˜ˆ๋ฐฉํ•œ๋‹ค.
60
+ - **ํ”Œ๋žœ์˜ ๊ณจ๋“  ํ…Œ์ŠคํŠธ๋ฅผ ์˜ค๋ผํด๋กœ**: ์†์„ค๊ณ„ ์ขŒํ‘œ/์ƒ์ˆ˜/๋ฉ”ํŠธ๋ฆญ ๊ธฐ๋Œ€๊ฐ’์„ ํ…Œ์ŠคํŠธ ํ†ต๊ณผ๊นŒ์ง€ ์กฐ์ •ํ•˜๋Š” ๊ฑด ์ •์ƒ ์ž‘์—…(placeholder ์•„๋‹˜).
61
+ - **ํ™€๋ฆฌ์Šคํ‹ฑ ์ตœ์ข… ๋ฆฌ๋ทฐ**๋กœ ํƒœ์Šคํฌ๋ณ„ ๋ฆฌ๋ทฐ์˜ ์‚ฌ๊ฐ(๋ˆ„์  dead ์ƒ์ˆ˜, ์ผ๋ฐ˜ํ™” ์•ˆ ๋œ docstring)์„ ์žก๋Š”๋‹ค.