LogoSkills

seed:evolve

Seed Spec Evolution โ€” Explicit change protocol for locked Seed specs

ํ•ญ๋ชฉ๋‚ด์šฉ
Invoke/seed:evolve
Categoryspec-clarity
Complexitymoderate

/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๋‹จ๊ณ„ ์ ˆ์ฐจ๋ฅผ ์ฐจ๋ก€๋กœ ๋ฐŸ์Šต๋‹ˆ๋‹ค.

  1. ์‚ฌ์ „ ํ™•์ธ โ€” ๋ช…์„ธ๊ฐ€ ์ž ๊ธˆ(LOCKED) ์ƒํƒœ์ธ์ง€, ๋ณ€๊ฒฝ ํšŸ์ˆ˜๊ฐ€ 3๋ฒˆ ์ด๋‚ด์ธ์ง€ ํ™•์ธํ•ฉ๋‹ˆ๋‹ค.
  2. ๋ณ€๊ฒฝ ์š”์ฒญ ์ˆ˜์ง‘ โ€” ๋ฌด์—‡์„ ๋ฐ”๊พธ๊ณ  ์‹ถ์€์ง€ ๋ฌผ์–ด๋ณด๊ณ , ํ—ˆ์šฉยท๊ธˆ์ง€ ๋ฒ”์œ„๋ฅผ ์•Œ๋ ค์ค๋‹ˆ๋‹ค.
  3. ์œ ํšจ์„ฑ ๊ฒ€์‚ฌ โ€” ๊ธˆ์ง€ ์˜์—ญ ์ˆ˜์ • ์‹œ๋„๋Š” ๊ฑฐ์ ˆํ•˜๊ณ  ์•ˆ๋‚ดํ•˜๋ฉฐ, ํ—ˆ์šฉ ๋ฒ”์œ„๋งŒ ๋ฐ˜์˜ํ•ฉ๋‹ˆ๋‹ค. 3.5. ๊ธฐ์ค€์„  ๋Œ€๋น„ ๋ณ€ํ˜• ์ ๊ฒ€ โ€” ์ฒ˜์Œ ์ž ๊ทผ v1.0.0์˜ ํ•ต์‹ฌ ๋ฌธ์ œ(S1)์™€ ๋ถˆ๋ณ€ ์ œ์•ฝ(S2)์„ ๋‹ค์‹œ ์ฝ๊ณ , ๋ฐ”๋€ ๋„๋ฉ”์ธยท์ˆ˜์šฉ ๊ฒฝ๊ณ„(S3/S4)๊ฐ€ ์—ฌ์ „ํžˆ S1์„ ์œ„ํ•˜๊ณ  S2๋ฅผ ์–ด๊ธฐ์ง€ ์•Š๋Š”์ง€ ์˜๋ฏธ๋กœ ํŒ๋‹จํ•ฉ๋‹ˆ๋‹ค(ํ‚ค์›Œ๋“œยท๋‹จ์–ด ๊ฒน์นจ์ด ์•„๋‹ˆ๋ผ ๋œป์œผ๋กœ ๋น„๊ต โ€” ํ•œ๊ตญ์–ด ์šฐ์„ ). ๋ณ€ํ˜• ์ •๋„๋ฅผ ๋‚ฎ์Œ/์ค‘๊ฐ„/๋†’์Œ์œผ๋กœ ๋‚˜๋ˆ  ํ•œ ์ค„ ๊ทผ๊ฑฐ์™€ ํ•จ๊ป˜ ์•Œ๋ ค์ฃผ๊ณ , ๋†’์Œ์ด๋ฉด ๋ง‰๊ณ  ์ƒˆ Seed(/spec:seed)๋ฅผ ๊ถŒํ•˜๋ฉฐ, ์ค‘๊ฐ„์ด๋ฉด ์‚ฌ์šฉ์ž์˜ ๋ช…์‹œ์  ํ™•์ธ์„ ๋ฐ›๊ณ , ๋‚ฎ์Œ์ด๋ฉด ๊ทธ๋Œ€๋กœ ์ง„ํ–‰ํ•ฉ๋‹ˆ๋‹ค.
  4. ๋ฒ„์ „ ์˜ฌ๋ฆฌ๊ธฐ โ€” ๋ณ€๊ฒฝ ์ข…๋ฅ˜์— ๋งž์ถฐ ๋ฒ„์ „ ๋ฒˆํ˜ธ๋ฅผ ์ž๋™์œผ๋กœ ๊ฐฑ์‹ ํ•ฉ๋‹ˆ๋‹ค.
  5. ์ด๋ ฅ ๋‚จ๊ธฐ๊ธฐ โ€” ๋ณ€๊ฒฝ ๋‚ด์šฉยท์‚ฌ์œ ยท์Šน์ธ์ž๋ฅผ ๋ณ€๊ฒฝ ๋กœ๊ทธ์— ๊ธฐ๋กํ•ฉ๋‹ˆ๋‹ค.
  6. ์žฌ๊ฒ€์ฆ ๊ถŒ์œ  โ€” ๋ฐ”๋€ ๋’ค ๋ชจํ˜ธ์„ฑ ์ ์ˆ˜๋ฅผ ๋‹ค์‹œ ํ‰๊ฐ€ํ•˜๋„๋ก ๊ถŒํ•ฉ๋‹ˆ๋‹ค.

โš™๏ธ ์ƒ์„ธ ์˜ต์…˜ยท์‹คํ–‰ ๋ช…์„ธ (๊ฐœ๋ฐœ์ž / AI ์—์ด์ „ํŠธ์šฉ)

Usage#

/spec:evolve                         # Start evolution process
/spec:evolve --file {path}           # Specify a specific Seed spec

Parameters#

ParameterDescriptionDefault
--fileSeed spec file pathLatest docs/seed-spec-*.md

Prerequisites#

  • Seed spec is in LOCKED status
  • Evolution count within cycle < 3

Allowed/Prohibited Changes#

SectionAllowed Changes
S1 Core ProblemNot allowed โ€” Requires new Seed creation
S2 Immutable ConstraintsNot allowed โ€” Requires new Seed creation
S3 Domain EntitiesAdditions only (existing cannot be modified)
S4 Acceptance BoundariesOnly May items can be changed
S5 Exposed AssumptionsVerification 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.

4. Version Bump#

Change TypeVersion Change
Domain entity additionMINOR (v1.0.0 โ†’ v1.1.0)
May item changeMINOR
Assumption status updatePATCH (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).

  • /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