| ํญ๋ชฉ | ๋ด์ฉ |
|---|---|
| Invoke | /seed:evolve |
| Category | spec-clarity |
| Complexity | moderate |
/seed:evolve โ ์ ๊ธด ํต์ฌ ๋ช ์ธ๋ฅผ "๊ณต์ ์ ์ฐจ๋ก" ๊ณ ์น๊ธฐ#
ํ๋ง๋๋ก#
์ด๋ฏธ ํ์ (์ ๊ธ)๋ ํต์ฌ ๊ธฐํ์๋ฅผ, ๋ง์๋๋ก๊ฐ ์๋๋ผ ์ ํด์ง ์ ์ฐจ๋ฅผ ๊ฑฐ์ณ์๋ง ๋ฐ๊พธ๋๋ก ํด์ฃผ๋ ๋ช ๋ น์ ๋๋ค. ๊ณ์ฝ์๋ฅผ ํจ๋ถ๋ก ์์ ํ์ง ๋ชปํ๊ณ ์ ์ "๋ณ๊ฒฝ ํฉ์์"๋ฅผ ์จ์๋ง ๊ณ ์น๋ ๊ฒ๊ณผ ๊ฐ์์.
๋๊ฐยท์ธ์ ์ฐ๋์#
- ์ด๋ฏธ ์ ๊ธ(LOCKED) ์ฒ๋ฆฌ๋ Seed ๋ช ์ธ๋ฅผ ๋ฐ๊ฟ์ผ ํ ์ํฉ์ด ์๊ฒผ์ ๋
- ๋๋ฉ์ธ ํญ๋ชฉ์ ์ถ๊ฐํ๊ฑฐ๋, ๊ฐ์ ์ ๊ฒ์ฆ ์ํ๋ฅผ ๊ฐฑ์ ํ๊ณ ์ถ์ ๋
๐ ๋จ, ํต์ฌ ๋ฌธ์ (S1) ์ ๋ถ๋ณ ์ ์ฝ(S2) ์ ์ ๋ ๋ฐ๊ฟ ์ ์์ต๋๋ค. ์ด ๋์ ๋ฐ๊ฟ์ผ ํ๋ค๋ฉด ์ Seed๋ฅผ ์ฒ์๋ถํฐ ๋ค์ ๋ง๋ค์ด์ผ ํฉ๋๋ค. ๋ํ ํ ์ฃผ๊ธฐ(cycle) ์์์ ๋ณ๊ฒฝ์ ์ต๋ 3๋ฒ๊น์ง๋ง ํ์ฉ๋ฉ๋๋ค.
๋ฌด์์ ํด์ฃผ๋์#
๊ธฐ์กด Seed ๋ช
์ธ ํ์ผ(docs/seed-spec-*.md)์ด ์์ ํ๊ฒ ๊ฐฑ์ ๋ฉ๋๋ค. ๊ตฌ์ฒด์ ์ผ๋ก:
- ํ์ฉ๋ ๋ฒ์๋ง ๋ฐ์ โ ๋๋ฉ์ธ ํญ๋ชฉ ์ถ๊ฐ, May(์ ํ) ํญ๋ชฉ ๋ณ๊ฒฝ, ๊ฐ์ ๊ฒ์ฆ ์ํ ๊ฐฑ์ ๋ง ์ ์ฉ๋ฉ๋๋ค.
- ๊ธ์ง๋ ๋ณ๊ฒฝ์ ๊ฑฐ์ โ ํต์ฌ ๋ฌธ์ ยท๋ถ๋ณ ์ ์ฝ ์์ ์๋๋ ๋ง๊ณ ์๋ดํด ์ค๋๋ค.
- ๋ฒ์ ์๋ ๊ฐฑ์ โ ๋ณ๊ฒฝ ์ข ๋ฅ์ ๋ฐ๋ผ ๋ฒ์ ๋ฒํธ๊ฐ ์๋์ผ๋ก ์ฌ๋ผ๊ฐ๋๋ค(MINOR ๋๋ PATCH).
- ๋ณ๊ฒฝ ์ด๋ ฅ ๊ธฐ๋ก โ ๋ฌด์์ยท์ยท๋๊ฐ ๋ฐ๊ฟจ๋์ง๊ฐ ๋ช ์ธ ์์ ๋ณ๊ฒฝ ๋ก๊ทธ(S6)์ ๋จ์ต๋๋ค.
์ด๋ป๊ฒ ์ฐ๋์#
/spec:evolve # ๋ณ๊ฒฝ ์ ์ฐจ ์์
/spec:evolve --file {path} # ํน์ Seed ๋ช
์ธ ํ์ผ ์ง์
--file ์ต์
์ ์๋ตํ๋ฉด ๊ฐ์ฅ ์ต๊ทผ docs/seed-spec-*.md ํ์ผ์ ์๋์ผ๋ก ์ฌ์ฉํฉ๋๋ค.
์์์ ๋ฌด์จ ์ผ์ด ๋ฒ์ด์ง๋์#
๋ณ๊ฒฝ์ ํจ๋ถ๋ก ์ ์ฉํ์ง ์๊ณ , 6๋จ๊ณ ์ ์ฐจ๋ฅผ ์ฐจ๋ก๋ก ๋ฐ์ต๋๋ค.
- ์ฌ์ ํ์ธ โ ๋ช ์ธ๊ฐ ์ ๊ธ(LOCKED) ์ํ์ธ์ง, ๋ณ๊ฒฝ ํ์๊ฐ 3๋ฒ ์ด๋ด์ธ์ง ํ์ธํฉ๋๋ค.
- ๋ณ๊ฒฝ ์์ฒญ ์์ง โ ๋ฌด์์ ๋ฐ๊พธ๊ณ ์ถ์์ง ๋ฌผ์ด๋ณด๊ณ , ํ์ฉยท๊ธ์ง ๋ฒ์๋ฅผ ์๋ ค์ค๋๋ค.
-
์ ํจ์ฑ ๊ฒ์ฌ โ ๊ธ์ง ์์ญ ์์ ์๋๋ ๊ฑฐ์ ํ๊ณ ์๋ดํ๋ฉฐ, ํ์ฉ ๋ฒ์๋ง ๋ฐ์ํฉ๋๋ค.
3.5. ๊ธฐ์ค์ ๋๋น ๋ณํ ์ ๊ฒ โ ์ฒ์ ์ ๊ทผ v1.0.0์ ํต์ฌ ๋ฌธ์ (S1)์ ๋ถ๋ณ ์ ์ฝ(S2)์ ๋ค์ ์ฝ๊ณ , ๋ฐ๋ ๋๋ฉ์ธยท์์ฉ ๊ฒฝ๊ณ(S3/S4)๊ฐ ์ฌ์ ํ S1์ ์ํ๊ณ S2๋ฅผ ์ด๊ธฐ์ง ์๋์ง
์๋ฏธ๋ก ํ๋จํฉ๋๋ค(ํค์๋ยท๋จ์ด ๊ฒน์นจ์ด ์๋๋ผ ๋ป์ผ๋ก ๋น๊ต โ ํ๊ตญ์ด ์ฐ์ ). ๋ณํ ์ ๋๋ฅผ ๋ฎ์/์ค๊ฐ/๋์์ผ๋ก ๋๋ ํ ์ค ๊ทผ๊ฑฐ์ ํจ๊ป ์๋ ค์ฃผ๊ณ , ๋์์ด๋ฉด ๋ง๊ณ ์ Seed(
/spec:seed)๋ฅผ ๊ถํ๋ฉฐ, ์ค๊ฐ์ด๋ฉด ์ฌ์ฉ์์ ๋ช ์์ ํ์ธ์ ๋ฐ๊ณ , ๋ฎ์์ด๋ฉด ๊ทธ๋๋ก ์งํํฉ๋๋ค. - ๋ฒ์ ์ฌ๋ฆฌ๊ธฐ โ ๋ณ๊ฒฝ ์ข ๋ฅ์ ๋ง์ถฐ ๋ฒ์ ๋ฒํธ๋ฅผ ์๋์ผ๋ก ๊ฐฑ์ ํฉ๋๋ค.
- ์ด๋ ฅ ๋จ๊ธฐ๊ธฐ โ ๋ณ๊ฒฝ ๋ด์ฉยท์ฌ์ ยท์น์ธ์๋ฅผ ๋ณ๊ฒฝ ๋ก๊ทธ์ ๊ธฐ๋กํฉ๋๋ค.
- ์ฌ๊ฒ์ฆ ๊ถ์ โ ๋ฐ๋ ๋ค ๋ชจํธ์ฑ ์ ์๋ฅผ ๋ค์ ํ๊ฐํ๋๋ก ๊ถํฉ๋๋ค.
โ๏ธ ์์ธ ์ต์ ยท์คํ ๋ช ์ธ (๊ฐ๋ฐ์ / AI ์์ด์ ํธ์ฉ)
Usage#
/spec:evolve # Start evolution process
/spec:evolve --file {path} # Specify a specific Seed specParameters#
| Parameter | Description | Default |
|---|---|---|
--file | Seed spec file path | Latest docs/seed-spec-*.md |
Prerequisites#
- Seed spec is in LOCKED status
- Evolution count within cycle < 3
Allowed/Prohibited Changes#
| Section | Allowed Changes |
|---|---|
| S1 Core Problem | Not allowed โ Requires new Seed creation |
| S2 Immutable Constraints | Not allowed โ Requires new Seed creation |
| S3 Domain Entities | Additions only (existing cannot be modified) |
| S4 Acceptance Boundaries | Only May items can be changed |
| S5 Exposed Assumptions | Verification status can be updated |
Execution Flow#
1. Pre-validation#
- Confirm LOCKED status
- Check evolution count (max 3 per cycle)
2. Collect Change Requests#
- Ask the user for change details
- Inform about allowed/prohibited scope
3. Change Validity Check#
- Reject attempts to modify prohibited sections + provide guidance
- Apply only changes within allowed scope
3.5. Drift Check vs Baseline (LLM SEMANTIC)#
- Re-read the original v1.0.0 S1 Core Problem and S2 Immutable Constraints from the seed file (the locked baseline), not the just-edited values.
- Make an LLM SEMANTIC judgment (NOT token/word-overlap matching): does the post-evolution S3 Domain Entities + S4 Acceptance Boundaries still serve the v1.0.0 S1 Core Problem, and does any of it violate an S2 Immutable Constraint?
- Caveat: semantic judgment, not keyword/word-overlap โ Korean-first (Korean has josa and no word boundaries, so lexical/token comparison is unreliable).
- Classify drift with a one-line justification:
- LOW โ S3/S4 still clearly serve S1, no S2 constraint violated.
- MEDIUM โ partial/ambiguous alignment with S1, or a borderline S2 tension.
- HIGH โ S3/S4 no longer serve S1, or an S2 Immutable Constraint is violated.
- Gate on the classification:
- HIGH โ block the evolution; recommend starting a new Seed via
/spec:seed. - MEDIUM โ require explicit user confirmation before continuing.
- LOW โ proceed.
- HIGH โ block the evolution; recommend starting a new Seed via
4. Version Bump#
| Change Type | Version Change |
|---|---|
| Domain entity addition | MINOR (v1.0.0 โ v1.1.0) |
| May item change | MINOR |
| Assumption status update | PATCH (v1.1.0 โ v1.1.1) |
5. Evolution Log Entry#
- Append to evolution log (S6)
- Record change details, reason, and approver
6. Re-verification#
- Suggest re-evaluating ambiguity score after changes
Output#
Seed spec file updated (version + evolution log).
Related Commands#
/spec:seedโ Create Seed spec/spec:verifyโ Verification + lock/spec:ambiguityโ Ambiguity re-evaluation/spec:statusโ Read-only alignment report against the locked Seed spec