Testing and Reuse - kimjooyoon/meta-ontology-go GitHub Wiki

ํ…Œ์ŠคํŠธ์™€ ์ฆ๊ฑฐ ์žฌ์‚ฌ์šฉ

ํ˜„์žฌ ๋ฐ˜๋ณต ๋ฐ”๋”” ์‹คํ–‰์˜ ๋„๊ตฌยท์‹คํ–‰ํŒŒ์ผ ์žฌ์‚ฌ์šฉ์€ ๋ฐ˜๋ณต ์กฐ๋ฆฝ์˜ ๊ฒ€์‚ฌยท์‹คํ–‰ ๋น„์šฉ์— ์ •๋ฆฌํ–ˆ์Šต๋‹ˆ๋‹ค. ๋งค๋ฒˆ ํ˜„์žฌ ์†Œ์Šค์™€ ์‹คํ–‰ํŒŒ์ผ์„ ํ™•์ธํ•˜๊ณ  ํ˜„์žฌ ์ž…๋ ฅ์„ ๋‘ ๋ฒˆ ์‹คํ–‰ํ•˜๋ฉฐ, ๋ณด๊ด€ํ•œ ๋ฒ„์ „ยท๋นŒ๋“œ ๊ด€์ธก๊ณผ ํ˜„์žฌ ํ”„๋กœ์„ธ์Šค ๋น„์šฉ์„ runtime v3์—์„œ ๊ตฌ๋ถ„ํ•ฉ๋‹ˆ๋‹ค.

2026-10-03 ์•ˆ๋‚ด: ์•„๋ž˜ ์˜ˆ์ œ์™€ ๊ด€์ธก์€ ๊ฐ ์ ˆ์— ๊ณ ์ •๋œ ์†Œ์Šคยท๋„๊ตฌ์ฒด์ธ์„ ๊ธฐ์ค€์œผ๋กœ ์ฝ์Šต๋‹ˆ๋‹ค. ์ตœ์‹  ๋ฐ”๋”” ์ƒ์„ฑ๊ณผ ์ž์ฒด ์†Œํ˜• ๋ชจ๋ธ์˜ ํ๋ฆ„์€ ๋ชจ๋ธ๊ณผ ๋ฉ”ํƒ€ํ”„๋กœ๊ทธ๋ž˜๋ฐ, ์ง€๊ธˆ ์‚ฌ์šฉํ•  ๋ฒ„์ „์€ ํ˜„์žฌ ์ƒํƒœ์™€ ์‹œ์ž‘ํ•˜๊ธฐ์— ์ •๋ฆฌํ–ˆ์Šต๋‹ˆ๋‹ค.

Gooo๊ฐ€ ํ…Œ์ŠคํŠธ๋ฅผ ์ƒ๋žตํ•˜๋ ค๋ฉด, ๋จผ์ € ๋ฌด์—‡์„ ์‹ค์ œ๋กœ ํ…Œ์ŠคํŠธํ–ˆ๋Š”์ง€ ์„ค๋ช…ํ•  ์ˆ˜ ์žˆ์–ด์•ผ ํ•ฉ๋‹ˆ๋‹ค.

์žฌ์‚ฌ์šฉ์€ ๋‹จ์ˆœํžˆ ์บ์‹œ์— ํŒŒ์ผ์ด ์žˆ๋‹ค๋Š” ๋œป์ด ์•„๋‹™๋‹ˆ๋‹ค. ํŠน์ • ์ž…๋ ฅ์—์„œ ์‹คํ–‰ํ•œ ํŠน์ • ํ…Œ์ŠคํŠธ์˜ ๊ฒฐ๊ณผ๋ฅผ ๋ณด์กดํ•˜๊ณ , ๋‹ค์Œ ์‹คํ–‰์— ๊ทธ ๊ฒฐ๊ณผ๋ฅผ ์ ์šฉํ•  ์กฐ๊ฑด์„ ํ™•์ธํ•˜๋Š” ์ผ์ž…๋‹ˆ๋‹ค. ์ž๊ธฐ๊ฐœ์„ ๋„ ๊ฐ™์€ ์›๋ฆฌ๋ฅผ ๋”ฐ๋ฆ…๋‹ˆ๋‹ค. ์ˆ˜์ • ํ›„๋ณด๋ฅผ ๋งŒ๋“ค์—ˆ๋‹ค๋Š” ์‚ฌ์‹ค๊ณผ, ์ˆ˜์ •ํ•œ ๊ฒฐ๊ณผ๋ฅผ ๋‹ค์Œ ์‹คํ–‰์ด ์•ˆ์ „ํ•˜๊ฒŒ ์‚ฌ์šฉํ–ˆ๋‹ค๋Š” ์‚ฌ์‹ค์€ ๋‹ค๋ฆ…๋‹ˆ๋‹ค.

์ด ํŽ˜์ด์ง€๋Š” ์ฃผ๋ฌธยท์žฌ๊ณ ์˜ ์ž‘์€ ๋‘ ํŒŒํ‹ฐ์…˜ ์˜ˆ์ œ์™€, ์ฝ”๋“œ ๋ณ€ํ™˜์„ ๊ฒ€์ฆํ•˜๋Š” ์‹ค์ œ Go ์‹คํ–‰ ๊ฒฝ๋กœ๋ฅผ ์„ค๋ช…ํ•ฉ๋‹ˆ๋‹ค. ๋ชจ๋“  Gooo ํ”„๋กœ๊ทธ๋žจ์— ๋Œ€ํ•œ ์ž๋™ ํ…Œ์ŠคํŠธ ์„ ํƒ์ด๋‚˜ ์ผ๋ฐ˜์ ์ธ ์˜์กด์„ฑ ๋ถ„์„์ด ์™„์„ฑ๋๋‹ค๋Š” ์„ค๋ช…์€ ์•„๋‹™๋‹ˆ๋‹ค.

๋จผ์ € ๊ตฌ๋ถ„ํ•  ์„ธ ๊ฐ€์ง€

๊ด€์ธก ์•Œ ์ˆ˜ ์žˆ๋Š” ๊ฒƒ ์ด๊ฒƒ๋งŒ์œผ๋กœ ์•Œ ์ˆ˜ ์—†๋Š” ๊ฒƒ
ํ”„๋กœ์„ธ์Šค ์ข…๋ฃŒ ์ฝ”๋“œ๊ฐ€ 0์ด๋‹ค ๋ช…๋ น์ด ์„ฑ๊ณต์œผ๋กœ ์ข…๋ฃŒํ–ˆ๋‹ค ์›ํ•˜๋Š” ํ…Œ์ŠคํŠธ๊ฐ€ ์‹ค์ œ๋กœ ์„ ํƒ๋๋Š”๊ฐ€
ํ…Œ์ŠคํŠธ ์ด๋ฆ„์˜ run๊ณผ pass๊ฐ€ ์žˆ๋‹ค ๊ทธ ์ด๋ฆ„์˜ ํ…Œ์ŠคํŠธ๊ฐ€ ์‹คํ–‰๋˜๊ณ  ํ†ต๊ณผํ–ˆ๋‹ค ํ˜„์žฌ ์ž…๋ ฅ์—์„œ๋„ ์˜ˆ์ „ ๊ฒฐ๊ณผ๋ฅผ ์žฌ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ๋Š”๊ฐ€
์žฌ์‚ฌ์šฉ ์ฆ๊ฑฐ์™€ ํ˜„์žฌ ์ž…๋ ฅ์˜ ์—ฐ๊ฒฐ์ด ๋งž๋Š”๋‹ค ํ•ด๋‹น ๊ฒ€์ฆ ๋ฒ”์œ„์—์„œ ๊ฒฐ๊ณผ๋ฅผ ์žฌ์‚ฌ์šฉํ•  ์กฐ๊ฑด์ด ๋งž๋Š”๋‹ค ์–ธ์–ด ์ „์ฒด๊ฐ€ ์™„์„ฑ๋๊ฑฐ๋‚˜ ์ œํ’ˆ ํšจ์šฉ์ด ์ž…์ฆ๋๋Š”๊ฐ€

์˜ˆ๋ฅผ ๋“ค์–ด ํ…Œ์ŠคํŠธ ์„ ํƒ์‹์ด ์ž˜๋ชป๋˜๋ฉด, ํ…Œ์ŠคํŠธ ํ•˜๋‚˜๋ฅผ ๋น ๋œจ๋ฆฌ๊ณ ๋„ ๋ช…๋ น์€ ์„ฑ๊ณตํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ๋”ฐ๋ผ์„œ ์š”์ฒญํ•œ ํ…Œ์ŠคํŠธ ๊ฐœ์ˆ˜๋ฅผ ์‹ค์ œ ์‹คํ–‰ ๊ฐœ์ˆ˜๋กœ ๊ธฐ๋กํ•ด์„œ๋Š” ์•ˆ ๋ฉ๋‹ˆ๋‹ค.

์˜ˆ์ œ: ์ฃผ๋ฌธ๊ณผ ์žฌ๊ณ 

๊ธฐ์กด ์˜ˆ์ œ์˜ .gooo ์„ ์–ธ์—๋Š” ์ฃผ๋ฌธ๊ณผ ์žฌ๊ณ ์˜ ์—ญํ• , ํ…Œ์ŠคํŠธ ์ด๋ฆ„, ์˜์กด ๊ด€๊ณ„๊ฐ€ ๋“ค์–ด ์žˆ์Šต๋‹ˆ๋‹ค. ์ƒ์„ฑ๋œ Go ํ”„๋กœ์ ํŠธ๋Š” TestOrdersPartition๊ณผ TestInventoryPartition์œผ๋กœ ๊ด€์ธกํ•ฉ๋‹ˆ๋‹ค.

  1. .gooo ์„ ์–ธ์—์„œ ํ…Œ์ŠคํŠธํ•  ์—ญํ• ๊ณผ ์ด๋ฆ„์„ ์ฝ์Šต๋‹ˆ๋‹ค.
  2. ์„ ์–ธ์„ ์˜๋ฏธ IR๋กœ ๋‚ฎ์ถ”๊ณ  Go ์ฝ”๋“œ๋ฅผ ์ƒ์„ฑํ•ฉ๋‹ˆ๋‹ค.
  3. ๊ฐ ์—ญํ• ์— ์—ฐ๊ฒฐ๋œ ์ •ํ™•ํ•œ ํ…Œ์ŠคํŠธ ๋ช…๋ น์„ ์‹คํ–‰ํ•ฉ๋‹ˆ๋‹ค.
  4. ์‹ค์ œ ํ…Œ์ŠคํŠธ ์ถœ๋ ฅ์—์„œ ์ด๋ฆ„๋ณ„ ์‹คํ–‰๊ณผ ์„ฑ๊ณต, ํŒจํ‚ค์ง€ ์„ฑ๊ณต์„ ํ™•์ธํ•ฉ๋‹ˆ๋‹ค.
  5. ์‹คํ–‰ ๋ช…๋ น๊ณผ ๊ฒฐ๊ณผ๋ฅผ ํ•ด๋‹น ํŒŒํ‹ฐ์…˜์˜ ์ฆ๊ฑฐ์— ์—ฐ๊ฒฐํ•ฉ๋‹ˆ๋‹ค.
  6. ์„ ํƒ ์‹คํ–‰์—์„œ๋Š” ์˜ํ–ฅ๋ฐ›์€ ํŒŒํ‹ฐ์…˜์„ ์‹คํ–‰ํ•˜๊ณ , ์กฐ๊ฑด์ด ๋งž๋Š” ๋‚˜๋จธ์ง€ ์ฆ๊ฑฐ๋งŒ ์žฌ์‚ฌ์šฉํ•ฉ๋‹ˆ๋‹ค.

ํ˜„์žฌ ์˜ˆ์ œ์—์„œ ํ™•์ธํ•˜๋Š” ๊ฒฝ๋กœ๋Š” ๋‹ค์Œ๊ณผ ๊ฐ™์Šต๋‹ˆ๋‹ค.

๊ฒฝ๋กœ ์‹คํ–‰ํ•œ ํ…Œ์ŠคํŠธ ์žฌ์‚ฌ์šฉํ•œ ํ…Œ์ŠคํŠธ
์ „์ฒด ๊ธฐ์ค€ ์‹คํ–‰ 2 0
๋ณ€๊ฒฝ ์—†๋Š” ์„ ํƒ ์‹คํ–‰ 0 2
์ฃผ๋ฌธ ํŒŒํ‹ฐ์…˜์„ ๋ณ€๊ฒฝํ•œ ์„ ํƒ ์‹คํ–‰ 1 1

์ด ํ‘œ๋Š” ํ•ด๋‹น ์˜ˆ์ œ์˜ ๊ธฐ์ค€ ์‹คํ–‰๊ณผ ์„ ํƒ ์‹คํ–‰์„ ์„ค๋ช…ํ•ฉ๋‹ˆ๋‹ค. ์„œ๋กœ ๋‹ค๋ฅธ ๋ฆด๋ฆฌ์Šค ์‚ฌ์ด์˜ ์žฌ์‚ฌ์šฉ์„ ๋ชจ๋‘ ๊ฒ€์ฆํ–ˆ๋‹ค๋Š” ๋œป๋„, ์‹คํ–‰ ์‹œ๊ฐ„์ด ๊ทธ ๋น„์œจ๋งŒํผ ์ค„์—ˆ๋‹ค๋Š” ๋œป๋„ ์•„๋‹™๋‹ˆ๋‹ค.

์ฆ๊ฑฐ์—๋Š” ๋ฌด์—‡์ด ์—ฐ๊ฒฐ๋˜๋Š”๊ฐ€

์žฌ์‚ฌ์šฉ ์ฆ๊ฑฐ์—๋Š” ์„ ์–ธ๊ณผ ์˜๋ฏธ, ์ƒ์„ฑ๋ฌผ, ํ…Œ์ŠคํŠธ ๊ณ„์•ฝ, ๋ช…๋ น, ์˜์กด ๊ด€๊ณ„, ๋„๊ตฌ ์‹๋ณ„์ž, ์›๋ž˜ ์‹คํ–‰ ๊ฒฐ๊ณผ์˜ ์‹๋ณ„์ž๊ฐ€ ์—ฐ๊ฒฐ๋ฉ๋‹ˆ๋‹ค. ์ƒˆ ์‹คํ–‰์€ ์ด ์—ฐ๊ฒฐ์„ ๋น„๊ตํ•ด์•ผ ํ•ฉ๋‹ˆ๋‹ค.

๋ณ‘ํ•ฉ๋œ ํŒŒํ‹ฐ์…˜ ์‹คํ–‰ ๊ฒฝ๋กœ๋Š” CI ๋กœ๊ทธ์—๋„ ์‹ค์ œ ๋ช…๋ น, ์›๋ณธ ํ…Œ์ŠคํŠธ JSON, ํ‘œ์ค€ ์˜ค๋ฅ˜, ๊ฒฐ๊ณผ digest๋ฅผ ๋‚จ๊น๋‹ˆ๋‹ค. ์‚ฌ๋žŒ์€ ํ…Œ์ŠคํŠธ ์ด๋ฆ„์„ ์ฝ์„ ์ˆ˜ ์žˆ๊ณ , ๋„๊ตฌ๋Š” ๋ฐœ๊ธ‰๋œ ์ฆ๊ฑฐ์™€ ์‹ค์ œ ํ”„๋กœ์„ธ์Šค ๊ฒฐ๊ณผ๋ฅผ ๋Œ€์กฐํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

digest๋Š” ๊ฐ™์€ ๋ฐ”์ดํŠธ์ธ์ง€ ํ™•์ธํ•˜๋Š” ์ˆ˜๋‹จ์ž…๋‹ˆ๋‹ค. ๊ทธ ์ž์ฒด๊ฐ€ ์„œ๋ช…์ด๋‚˜ ์‹คํ–‰ ์ด๋ ฅ์˜ ๋…๋ฆฝ์ ์ธ ์ธ์ฆ์€ ์•„๋‹™๋‹ˆ๋‹ค. ์„ ์–ธ๋œ ๋„๊ตฌ ์‹๋ณ„์ž๋งŒ์œผ๋กœ ์‹ค์ œ ๋ฐ”์ด๋„ˆ๋ฆฌ์™€ ๋ชจ๋“  ์ „์ด ์˜์กด์„ฑ๊นŒ์ง€ ๊ฒ€์ฆํ–ˆ๋‹ค๊ณ  ํ•ด์„ํ•ด์„œ๋„ ์•ˆ ๋ฉ๋‹ˆ๋‹ค.

์ฝ”๋“œ ๋ณ€ํ™˜ ๋’ค์—๋Š” ์‹ค์ œ๋กœ ๋ฌด์—‡์ด ์‹คํ–‰๋˜๋Š”๊ฐ€

Gooo์˜ ํ…Œ์ŠคํŠธ ์„ ํƒ๊ณผ, ๊ทธ ์•ˆ์—์„œ ํ˜ธ์ถœํ•˜๋Š” Go ๋„๊ตฌ์˜ ์บ์‹œ๋Š” ์„œ๋กœ ๋‹ค๋ฅธ ์ธต์ž…๋‹ˆ๋‹ค.

์ธต ํŒ๋‹จํ•˜๋Š” ๋Œ€์ƒ ๊ด€์ธก๊ณผ ๊ถŒํ•œ์˜ ๊ฒฝ๊ณ„
Gooo ํŒŒํ‹ฐ์…˜ ์ฆ๊ฑฐ ์žฌ์‚ฌ์šฉ ์„ ์–ธ๋œ ์—ญํ• ยทํ…Œ์ŠคํŠธยท์ž…๋ ฅ์— ์ด์ „ ์ฆ๊ฑฐ๋ฅผ ์ ์šฉํ•  ์ˆ˜ ์žˆ๋Š”๊ฐ€ ์œ„์˜ ์ฃผ๋ฌธยท์žฌ๊ณ  ์˜ˆ์ œ์ฒ˜๋Ÿผ ๋ช…์‹œ๋œ ๊ณ„์•ฝ๊ณผ ์‹ค์ œ ํ…Œ์ŠคํŠธ ์ด๋ฒคํŠธ๋กœ ํŒ๋‹จํ•ฉ๋‹ˆ๋‹ค.
Go ๊ฒ€์ฆ ํ”„๋กœ์„ธ์Šค์˜ ์บ์‹œ Go ๋„๊ตฌ๊ฐ€ ์ด๋ฒˆ go test ./... ํ˜ธ์ถœ์˜ ๊ฒฐ๊ณผ๋ฅผ ์žฌ์‚ฌ์šฉํ–ˆ๋Š”๊ฐ€ ๋„ค์ดํ‹ฐ๋ธŒ ์ถœ๋ ฅ์˜ (cached) ํ‘œ์‹œ๋Š” ๊ด€์ธก์ž…๋‹ˆ๋‹ค. Gooo์— ๊ฒ€์‚ฌ ์ƒ๋žต์ด๋‚˜ ๋ณ€๊ฒฝ ์ฑ„ํƒ ๊ถŒํ•œ์„ ์ฃผ์ง€ ์•Š์Šต๋‹ˆ๋‹ค.

ํ˜„์žฌ ์ฝ”๋“œ ๋ณ€ํ™˜ ๊ฒฝ๋กœ์˜ SplitGoDeclarations์™€ CollapseAssignReturn์€ ๋ณ€ํ™˜๋œ Go ํ”„๋กœ์ ํŠธ์— ๊ฒ€์ฆ ํ”„๋กœ์„ธ์Šค๋ฅผ ํ˜ธ์ถœํ•ฉ๋‹ˆ๋‹ค. ์ฝ๋Š” ์ˆœ์„œ๋Š” ๋‹ค์Œ๊ณผ ๊ฐ™์Šต๋‹ˆ๋‹ค.

Gooo activity + source/semantic identity
    -> transformed Go workspace
    -> go test ./...
    -> process result + activity-bound observation
    -> conformance receipt
    -> scoped acceptance decision

ํ”„๋กœ์„ธ์Šค ๊ฒฐ๊ณผ๋Š” ์–ด๋А Gooo ์—ฐ์‚ฐ์˜ ์–ด๋А ์‹คํ–‰์—์„œ ๋‚˜์˜จ ๊ฒƒ์ธ์ง€์™€ ํ•จ๊ป˜ ์ฝ์–ด์•ผ ํ•ฉ๋‹ˆ๋‹ค. ์ข…๋ฃŒ ์ฝ”๋“œ, ์ถœ๋ ฅ, receipt๋ฅผ ์„œ๋กœ ๋‹ค๋ฅธ ์‹คํ–‰์—์„œ ๊ฐ€์ ธ์™€ ํ•˜๋‚˜์˜ ์„ฑ๊ณต์œผ๋กœ ์กฐ๋ฆฝํ•˜๋ฉด ์•ˆ ๋ฉ๋‹ˆ๋‹ค. receipt๊ฐ€ ์ ํ•ฉํ•˜๋‹ค๋Š” ์‚ฌ์‹ค ์—ญ์‹œ ์ €์žฅ์†Œ ๋ณ‘ํ•ฉ์ด๋‚˜ ๋ฆด๋ฆฌ์Šค ๊ถŒํ•œ์„ ๋Œ€์‹ ํ•˜์ง€ ์•Š์Šต๋‹ˆ๋‹ค.

๊ฐ™์€ ์ž„์‹œ ๊ฒฝ๋กœ๋ฅผ ์“ฐ๋˜, ์ด์ „ ์ˆ˜์ • ๋‚ด์šฉ์€ ๋ฌผ๋ ค๋ฐ›์ง€ ์•Š์Šต๋‹ˆ๋‹ค

๋ณ‘ํ•ฉ๋œ ๊ฒ€์ฆ ์‹คํ–‰๊ธฐ๋Š” ์œ„ ๋‘ ์—ฐ์‚ฐ ๊ฐ๊ฐ์˜ ์ฒซ ์‹คํ–‰๊ณผ ์žฌ์‹คํ–‰์— ์—ฐ์‚ฐ์ด ์†Œ์œ ํ•œ ๋™์ผํ•œ ์ž„์‹œ ๊ฒฝ๋กœ๋ฅผ ์‚ฌ์šฉํ•ฉ๋‹ˆ๋‹ค. ๋งค๋ฒˆ ์ด์ „ ๋‚ด์šฉ์„ ์ œ๊ฑฐํ•˜๊ณ  ์›๋ž˜ ์ž…๋ ฅ์„ ์ƒˆ๋กœ ๋ณต์›ํ•˜๋ฉฐ, Git ์ž…๋ ฅ ์Šค๋ƒ…์ƒท๋„ ์ƒˆ๋กœ ๋งŒ๋“ญ๋‹ˆ๋‹ค. ์„œ๋กœ ๋‹ค๋ฅธ ์—ฐ์‚ฐ์€ ๋ณ„๋„์˜ ์ž‘์—… ๊ณต๊ฐ„์„ ๊ฐ€์ง‘๋‹ˆ๋‹ค.

์ด ๊ตฌ๋ถ„์€ ์ค‘์š”ํ•ฉ๋‹ˆ๋‹ค. ์žฌ์‹คํ–‰์— ํ•„์š”ํ•œ ๊ฒฝ๋กœ ์•ˆ์ •์„ฑ์€ ์œ ์ง€ํ•˜๋˜, ์ฒซ ์‹คํ–‰์ด ๋‚จ๊ธด ๋ณ€๊ฒฝ์ด๋‚˜ ํŒŒ์ผ์ด ๋‘ ๋ฒˆ์งธ ์‹คํ–‰์˜ ์ž…๋ ฅ์ด ๋˜๋Š” ์ผ์„ ๋ง‰์Šต๋‹ˆ๋‹ค. ๊ฒฝ๋กœ๊ฐ€ ๊ฐ™๋‹ค๊ณ  ์ž…๋ ฅ์ด ๊ฐ™๊ฑฐ๋‚˜ ์บ์‹œ ์žฌ์‚ฌ์šฉ์ด ์•ˆ์ „ํ•˜๋‹ค๊ณ  ์„ ์–ธํ•˜๋Š” ๊ฒƒ์€ ์•„๋‹™๋‹ˆ๋‹ค. ๋„ค์ดํ‹ฐ๋ธŒ ์บ์‹œ ํŒ์ •์€ ์—ฌ์ „ํžˆ Go ๋„๊ตฌ๊ฐ€ ์ˆ˜ํ–‰ํ•ฉ๋‹ˆ๋‹ค.

๊ตฌํ˜„์€ ํ˜ธ์ถœ์ž๊ฐ€ ๋ช…์‹œ์ ์œผ๋กœ ์„ ํƒํ•œ ์„ค์ •์„ ๋ณด์กดํ•˜๋ฉด์„œ Go ์บ์‹œ ์ง„๋‹จ์„ ์š”์ฒญํ•ฉ๋‹ˆ๋‹ค. ์ •์ƒ ์ฒซ ์‹คํ–‰, ์บ์‹œ๊ฐ€ ์‚ฌ์šฉ๋˜๋Š” ์žฌ์‹คํ–‰, ์†Œ์Šค๋ฅผ ๋ฐ”๊ฟ” ์‹คํŒจํ•ด์•ผ ํ•˜๋Š” ์‹คํ–‰์„ ๊ตฌ๋ถ„ํ•˜๋Š” ํšŒ๊ท€ ์‚ฌ๋ก€๋„ ์œ ์ง€ํ•ฉ๋‹ˆ๋‹ค. ์ด ๋™์ž‘์˜ ๊ทผ๊ฑฐ๋Š” ๋ณ‘ํ•ฉ๋œ ์‹คํ–‰๊ธฐ ๋ณ€๊ฒฝ๊ณผ ์†Œ์Šค์— ์—ฐ๊ฒฐ๋œ CI ์‹คํ–‰ ๊ธฐ๋ก์ž…๋‹ˆ๋‹ค. ๊ณต๊ฐœ ๋ฆด๋ฆฌ์Šค ํฌํ•จ ์—ฌ๋ถ€์™€๋Š” ๋ณ„๊ฐœ์ž…๋‹ˆ๋‹ค.

์‹ค์ œ Gooo ์‹คํ–‰์—์„œ ๊ด€์ธกํ•œ ๊ฒƒ

์œ„ ์‹คํ–‰ ๊ธฐ๋ก์˜ ๋‘ ์—ฐ์‚ฐ์€ ๊ฐ๊ฐ ์ฒซ ์‹คํ–‰๊ณผ ์žฌ์‹คํ–‰์„ ์™„๋ฃŒํ–ˆ์Šต๋‹ˆ๋‹ค.

Gooo ์—ฐ์‚ฐ ์ฒซ ์‹คํ–‰์˜ ํŒจํ‚ค์ง€ ์š”์•ฝ ํ–‰ / ์บ์‹œ ํ‘œ์‹œ ํ–‰ ์žฌ์‹คํ–‰์˜ ํŒจํ‚ค์ง€ ์š”์•ฝ ํ–‰ / ์บ์‹œ ํ‘œ์‹œ ํ–‰
SplitGoDeclarations 386 / 0 386 / 143
CollapseAssignReturn 386 / 0 386 / 143

๋„ค ๊ฒ€์ฆ ํ”„๋กœ์„ธ์Šค๋Š” ๋ชจ๋‘ ์ข…๋ฃŒ ์ฝ”๋“œ 0์„ ๋ฐ˜ํ™˜ํ–ˆ๊ณ , ๋‘ ์—ฐ์‚ฐ์˜ receipt๋Š” CONFORMANT์˜€์Šต๋‹ˆ๋‹ค. 386์€ ํ…Œ์ŠคํŠธ ์ผ€์ด์Šค ์ˆ˜๊ฐ€ ์•„๋‹ˆ๋ฉฐ, 143๋„ ์ƒ๋žต์„ ์Šน์ธํ•œ ํ…Œ์ŠคํŠธ ์ˆ˜๊ฐ€ ์•„๋‹™๋‹ˆ๋‹ค. ์ด ์‹คํ–‰์—์„œ ํŒŒ์„œ๊ฐ€ ์ฝ์€ ํŒจํ‚ค์ง€ ์š”์•ฝ ํ–‰๊ณผ ๊ทธ์ค‘ ์บ์‹œ ํ‘œ์‹œ๊ฐ€ ์žˆ๋Š” ํ–‰์ž…๋‹ˆ๋‹ค. ์„œ๋กœ ๋‹ค๋ฅธ ์‹คํ–‰์˜ ๋™์ผํ•œ ํ–‰ ์ˆ˜๋งŒ์œผ๋กœ ๋™์ผํ•œ ๊ฒ€์‚ฌ ๋ฒ”์œ„๋‚˜ ์•ˆ์ „ํ•œ ์žฌ์‚ฌ์šฉ์„ ์ฆ๋ช…ํ•˜์ง€ ์•Š์Šต๋‹ˆ๋‹ค.

์ด ํ‘œ๋Š” ํŠน์ • ์ž…๋ ฅ๊ณผ ๋„๊ตฌ ๋ฒ„์ „์˜ ์‹คํ–‰ ๊ด€์ธก์ž…๋‹ˆ๋‹ค. ๋ชจ๋“  ํ”„๋กœ๊ทธ๋žจ์—์„œ ์บ์‹œ๊ฐ€ ์ ์ค‘ํ•˜๊ฑฐ๋‚˜ ์‹คํ–‰์ด ๋นจ๋ผ์ง„๋‹ค๋Š” ๋ณด์žฅ์€ ์•„๋‹™๋‹ˆ๋‹ค.

๋А๋ฆฐ ์‹คํ–‰์„ ์ฝ๋Š” ์ˆœ์„œ

์‹คํ–‰ ์‹œ๊ฐ„์ด ๊ธธ๋‹ค๋Š” ์‚ฌ์‹ค๊ณผ ๊ทธ ์›์ธ์„ ๊ตฌ๋ถ„ํ•ฉ๋‹ˆ๋‹ค. ๋‹ค์Œ ์ˆœ์„œ๋กœ ๊ธฐ์กด ๊ทผ๊ฑฐ๋ฅผ ์ขํ˜€ ์ฝ์œผ๋ฉด ๋ฉ๋‹ˆ๋‹ค.

  1. ๊ธฐ๋‹ค๋ฆผ๊ณผ ์‹คํ–‰์„ ๊ตฌ๋ถ„ํ•ฉ๋‹ˆ๋‹ค. Actions ๋Œ€๊ธฐ ์‹œ๊ฐ„, ์ž‘์—… ์ „์ฒด ์‹œ๊ฐ„, ์‹ค์ œ ๊ฒ€์ฆ ํ”„๋กœ์„ธ์Šค ์‹œ๊ฐ„์„ ์„ž์ง€ ์•Š์Šต๋‹ˆ๋‹ค.
  2. ๋А๋ฆฐ ์—ฐ์‚ฐ์„ ์ฐพ์Šต๋‹ˆ๋‹ค. Gooo ์—ฐ์‚ฐ ID์™€ ์ฒซ ์‹คํ–‰ยท์žฌ์‹คํ–‰ ๊ตฌ๋ถ„์„ ๋”ฐ๋ผ ์‹ค์ œ ํ”„๋กœ์„ธ์Šค์˜ ์‹œ์ž‘๊ณผ ๋ฐ˜ํ™˜์„ ํ™•์ธํ•ฉ๋‹ˆ๋‹ค.
  3. ํฌํ•จ ๊ด€๊ณ„๋ฅผ ํ™•์ธํ•ฉ๋‹ˆ๋‹ค. ์ž…๋ ฅ ์ค€๋น„ ๋‹จ๊ณ„ ์•ˆ์— ๊ฒ€์ฆ ํ”„๋กœ์„ธ์Šค๊ฐ€ ์žˆ๋‹ค๋ฉด, ์ค€๋น„ ์‹œ๊ฐ„๊ณผ ๊ทธ ์•ˆ์˜ ํ”„๋กœ์„ธ์Šค ์‹œ๊ฐ„์„ ๋”ํ•ด ์ด๋น„์šฉ์œผ๋กœ ๋งŒ๋“ค์ง€ ์•Š์Šต๋‹ˆ๋‹ค.
  4. ๊ด€์ธก ๋ฒ”์œ„๋ฅผ ํ™•์ธํ•ฉ๋‹ˆ๋‹ค. ์ถœ๋ ฅ์ด ์ž˜๋ ธ๋‹ค๋ฉด ์ฝ์ง€ ๋ชปํ•œ ๋ถ€๋ถ„์€ ๋ฏธ๊ด€์ธก์ž…๋‹ˆ๋‹ค. ์บ์‹œ ํ‘œ์‹œ๊ฐ€ ๋ณด์ด์ง€ ์•Š์•˜๋‹ค๋Š” ์ด์œ ๋งŒ์œผ๋กœ ์ „์ฒด ์‹คํ–‰์—์„œ ์บ์‹œ๊ฐ€ ์—†์—ˆ๋‹ค๊ณ  ๊ฒฐ๋ก  ๋‚ด๋ฆฌ์ง€ ์•Š์Šต๋‹ˆ๋‹ค.
  5. ๊ฐ™์€ ์กฐ๊ฑด์˜ ์ „ํ›„ ์‹คํ–‰์„ ๋น„๊ตํ•ฉ๋‹ˆ๋‹ค. ์‚ฌ๋ก€, ์ž…๋ ฅยท๊ณ„์•ฝยท๋„๊ตฌ ์‹๋ณ„์ž์™€ ์ธก์ • ๋ฒ”์œ„๊ฐ€ ๋งž๋Š” ์ „ํ›„ ์Œ์ด ์—†์œผ๋ฉด ์„ฑ๋Šฅ ๊ฐœ์„ ์€ UNKNOWN์œผ๋กœ ๋‘ก๋‹ˆ๋‹ค.

๋ฉ”๋ชจ๋ฆฌ ์‚ฌ์šฉ๋Ÿ‰๋„ ์ง์ ‘ ์ธก์ •ํ•œ ๊ฐ’๊ณผ ๋‹จ์œ„, ์ธก์ • ๋Œ€์ƒ์„ ํ•จ๊ป˜ ์ œ์‹œํ•ด์•ผ ํ•ฉ๋‹ˆ๋‹ค. ์ถœ๋ ฅ ํฌ๊ธฐ๋‚˜ ์บ์‹œ ํ‘œ์‹œ ์ˆ˜๋กœ ๋ฉ”๋ชจ๋ฆฌ ์ ˆ๊ฐ์„ ์ถ”์ •ํ•˜์ง€ ์•Š์Šต๋‹ˆ๋‹ค. ์‹œ๊ฐ„์„ ๋” ์ •ํ™•ํžˆ ์„ค๋ช…ํ•˜๊ฒŒ ๋œ ๊ฒƒ์€ ๊ด€์ธก ๊ฐœ์„ ์ด๋ฉฐ, ์‹œ๊ฐ„์ด ์‹ค์ œ๋กœ ์ค„์—ˆ๋‹ค๋Š” ์ฃผ์žฅ์€ ๋ณ„๋„์˜ ๊ทผ๊ฑฐ๊ฐ€ ํ•„์š”ํ•ฉ๋‹ˆ๋‹ค.

์‹คํŒจ๊ฐ€ ๋‚˜๋ฉด ์–ด๋–ป๊ฒŒ ์ฝ๋Š”๊ฐ€

๋ชจ๋ฅด๋Š” ๊ฒƒ๊ณผ ๋ฐ˜์ฆ๋œ ๊ฒƒ์„ ๊ตฌ๋ถ„ํ•ฉ๋‹ˆ๋‹ค.

  • ํ•„์š”ํ•œ ์ฆ๊ฑฐ๋‚˜ ์˜์กด ๊ด€๊ณ„๊ฐ€ ์—†์œผ๋ฉด UNKNOWN์ž…๋‹ˆ๋‹ค. ๋‹ค์Œ์— ๋ฌด์—‡์„ ํ™•๋ณดํ•ด์•ผ ํ•˜๋Š”์ง€ ๋‚จ๊น๋‹ˆ๋‹ค.
  • ์•Œ๋ ค์ง„ ๋ชจ์ˆœ์ด๋‚˜ ๋ณ€์กฐ๊ฐ€ ์žˆ์œผ๋ฉด REFUTED์ž…๋‹ˆ๋‹ค. ๋ชจ์ˆœ์„ ๋‹จ์ˆœํ•œ ์ž๋ฃŒ ๋ถ€์กฑ์œผ๋กœ ๋ฐ”๊พธ์ง€ ์•Š์Šต๋‹ˆ๋‹ค.
  • ์ •ํ•ด์ง„ ๋ฒ”์œ„์˜ ์กฐ๊ฑด์ด ์ถฉ์กฑ๋˜๋ฉด CLOSED์ž…๋‹ˆ๋‹ค. ๋ชจ๋“  ๋ฏธ๋ž˜ ์ž…๋ ฅ์— ๋Œ€ํ•œ ๋ณด์ฆ์€ ์•„๋‹™๋‹ˆ๋‹ค.

UNKNOWN์˜ ์—ฌ์„ฏ ํ•„๋“œ๋Š” ์‚ฌ๋žŒ์ด ์ž‘์—…์„ ์ด์–ด๋ฐ›๊ธฐ ์œ„ํ•œ ์•ˆ๋‚ด์ด๊ธฐ๋„ ํ•ฉ๋‹ˆ๋‹ค.

ํ•„๋“œ ์ฝ๋Š” ๋ฐฉ๋ฒ•
stage ์–ด๋А ์ฒ˜๋ฆฌ ๋‹จ๊ณ„์—์„œ ๋ฉˆ์ท„๋Š”๊ฐ€
step ๊ทธ ๋‹จ๊ณ„์˜ ์–ด๋А ์—ฐ์‚ฐ์ธ๊ฐ€
reason ๋ฌด์—‡ ๋•Œ๋ฌธ์— ํŒ์ •ํ•˜์ง€ ๋ชปํ–ˆ๋Š”๊ฐ€
unknown_class ๋ˆ„๋ฝ, ์˜ค๋ž˜๋œ ์ฆ๊ฑฐ, ๋ชจํ˜ธํ•จ ๋“ฑ ์–ด๋–ค ์ข…๋ฅ˜์ธ๊ฐ€
next_operation ๋‹ค์Œ์— ์ˆ˜ํ–‰ํ•  ๋ช…์‹œ์ ์ธ ์—ฐ์‚ฐ์€ ๋ฌด์—‡์ธ๊ฐ€
blocked_by ๋จผ์ € ํ•ด๊ฒฐํ•ด์•ผ ํ•  ์˜์กด ๋Œ€์ƒ์€ ๋ฌด์—‡์ธ๊ฐ€

์‹คํ–‰๋˜์ง€ ์•Š์•˜๊ฑฐ๋‚˜ ์ƒ๋žต๋œ ํ…Œ์ŠคํŠธ์—๋Š” ์„ฑ๊ณต ์ฆ๊ฑฐ๋ฅผ ๋ฐœ๊ธ‰ํ•˜์ง€ ์•Š์Šต๋‹ˆ๋‹ค. ์ค‘๋ณต๋œ ์„ฑ๊ณต ์ด๋ฒคํŠธ, ์˜ˆ์ƒ ๋ฐ– ํ…Œ์ŠคํŠธ, ๋ถˆ์™„์ „ํ•˜๊ฑฐ๋‚˜ ๊นจ์ง„ ์ถœ๋ ฅ๋„ ์„ฑ๊ณต ๊ฐœ์ˆ˜์— ๋”ํ•˜์ง€ ์•Š์Šต๋‹ˆ๋‹ค.

์ฃผ์žฅ์€ ์ฆ๊ฑฐ๊ฐ€ ์ƒ๊ธฐ๋ฉด ์‚ฌ๋ผ์ง€๋Š”๊ฐ€

์›๋ž˜ ์ฃผ์žฅ์„ ์ง€์šฐ๊ธฐ๋ณด๋‹ค๋Š” ์ฃผ์žฅ, ๊ทผ๊ฑฐ, ํŒ์ •์˜ ์—ฐ๊ฒฐ์„ ๋‚จ๊น๋‹ˆ๋‹ค. ๊ทธ๋ž˜์•ผ ์–ด๋–ค ์ž…๋ ฅ๊ณผ ๊ธฐ์ค€์—์„œ ์ฑ„ํƒํ–ˆ์œผ๋ฉฐ, ์ดํ›„ ๋ฌด์—‡์ด ๋ฐ”๋€Œ์–ด ์žฌ๊ฒ€์ฆ์ด ํ•„์š”ํ•ด์กŒ๋Š”์ง€ ์ถ”์ ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

์ด๊ฒƒ์ด ๊ฐœ๋ฐœ ์ž‘์—… ์ž์ฒด์˜ provenance์ด๊ธฐ๋„ ํ•ฉ๋‹ˆ๋‹ค. ๊ฒฐํ•จ ๊ด€์ธก, ์ˆ˜์ •, ๊ฒ€์ฆ, ์ฑ„ํƒ์€ ์„œ๋กœ ๋‹ค๋ฅธ ์‚ฌ๊ฑด์ž…๋‹ˆ๋‹ค. PR์ด ์ƒ์„ฑ๋๋‹ค๋Š” ์‚ฌ์‹ค์„ ์ˆ˜์ • ์™„๋ฃŒ๋กœ, CI ์ผ๋ถ€๊ฐ€ ์„ฑ๊ณตํ–ˆ๋‹ค๋Š” ์‚ฌ์‹ค์„ ๋ณ‘ํ•ฉ ์™„๋ฃŒ๋กœ ๋Œ€์‹ ํ•˜์ง€ ์•Š์Šต๋‹ˆ๋‹ค.

๋ชฉํ‘œ๋ฅผ ๊ณ ์ •ํ•œ ํ›„๋ณด ์„ ํƒ๊ณผ ๋‹ค์Œ ์‹คํ–‰์˜ ๊ด€๊ณ„๋Š” ๊ณ ์ •๋œ ๋ชฉํ‘œ์— ๋”ฐ๋ฅธ ์„ ํƒ์—์„œ ์ด์–ด์ง‘๋‹ˆ๋‹ค.

ํ˜„์žฌ ํ™•์ธ๋œ ๋ฒ”์œ„์™€ ๋‚จ์€ ๊ฒฝ๊ณ„

2026๋…„ 9์›” 14์ผ ํ™•์ธํ•œ PR #838์˜ ์‹คํ–‰ ์ฆ๊ฑฐ์—์„œ๋Š” ํ…Œ์ŠคํŠธ ์‹คํ–‰ ๊ธฐ๋ก 5๊ฐœ์™€ ๊ธฐ์ค€ ์‹คํ–‰ ์ฆ๊ฑฐ 4๊ฐœ์˜ ๋ช…๋ นยท๊ฒฐ๊ณผ ์—ฐ๊ฒฐ์„ ํ™•์ธํ–ˆ์Šต๋‹ˆ๋‹ค. ๋‘ ๊ธฐ์ค€ ์‹คํ–‰ ๋ชจ๋‘ ์ฃผ๋ฌธ๊ณผ ์žฌ๊ณ  ํ…Œ์ŠคํŠธ๊ฐ€ ์‹ค์ œ๋กœ ์‹คํ–‰๋์Šต๋‹ˆ๋‹ค. ๊ธฐ์กด ๋ถ€๋ถ„ ์žฌ์‚ฌ์šฉ ๋ฐ ํ›„์† ํ•ด์ƒ๋„ ๋ณต๊ตฌ ์‚ฌ๋ก€๋Š” ๊ฐ๊ฐ ์ •์ƒ 2๊ฐœ, UNKNOWN 2๊ฐœ, REFUTED 2๊ฐœ์˜ ๊ตฌ์„ฑ์„ ์œ ์ง€ํ–ˆ์Šต๋‹ˆ๋‹ค.

๊ด€์ธกํ•œ ์‹œ๊ฐ„๊ณผ ๋ฉ”๋ชจ๋ฆฌ๋Š” ํ’ˆ์งˆ ์ ์ˆ˜๊ฐ€ ์•„๋‹™๋‹ˆ๋‹ค. ํ˜„์žฌ ๋น„๊ต ๋ชจ๋“œ๋Š” ๋™๋“ฑํ•˜๋‹ค๊ณ  ์„ ์–ธ๋˜์ง€ ์•Š์•˜์œผ๋ฏ€๋กœ ์‹œ๊ฐ„ ๊ฐœ์„  ํŒ์ •์€ UNKNOWN์ž…๋‹ˆ๋‹ค. ๊ณผ๊ฑฐ์˜ ์ž˜๋ชป๋œ ์‹คํ–‰ ๊ฐœ์ˆ˜ ์—ญ์‹œ ์„ฑ๋Šฅ ๊ฐœ์„ ์˜ ๊ธฐ์ค€์œผ๋กœ ์‚ฌ์šฉํ•˜์ง€ ์•Š์Šต๋‹ˆ๋‹ค.

์ด ํŒŒํ‹ฐ์…˜ ์‹คํ–‰ ์ˆ˜์ •์€ #838๋กœ ๊ฐœ๋ฐœ ๋ธŒ๋žœ์น˜์— ๋ณ‘ํ•ฉ๋์Šต๋‹ˆ๋‹ค. ๋ณ‘ํ•ฉ ์ปค๋ฐ‹์€ b80c7d55a69a783fd1635ead49855009c51f5fd8์ž…๋‹ˆ๋‹ค. ์œ„์˜ ์‹คํ–‰๊ธฐ ์ˆ˜์ •์€ #847, ๋ณ‘ํ•ฉ ์ปค๋ฐ‹ 51d476388325f43e03346e67aeab6060b2a654a2์— ํ•ด๋‹นํ•ฉ๋‹ˆ๋‹ค. ๊ฐœ๋ฐœ ๋ธŒ๋žœ์น˜์˜ ๋ณ‘ํ•ฉ๊ณผ ๊ณต๊ฐœ ๋ฆด๋ฆฌ์Šค ํฌํ•จ ์—ฌ๋ถ€๋Š” ๊ตฌ๋ถ„ํ•ฉ๋‹ˆ๋‹ค.

๋˜ ํ•˜๋‚˜์˜ ๋‚จ์€ ๊ฒฝ๊ณ„๋Š” ์ƒ์œ„ ๋ณด๊ณ ์„œ์˜ ์„ฑ๊ณต ์ฃผ์žฅ๊ณผ ์‹ค์ œ ์Šน์ธ ์ฆ๊ฑฐ์˜ ์ฐจ์ด์ž…๋‹ˆ๋‹ค. #839์— ๊ธฐ๋กํ•œ ๋ฌธ์ œ๋ฅผ ๊ณ ์น˜๋Š” #841์€ ์›๋ณธ ์ฆ๊ฑฐ๋ฅผ ๋…๋ฆฝ์ ์œผ๋กœ ์žฌ๊ตฌ์„ฑํ•˜๋Š” ํ›„๋ณด ๊ตฌํ˜„์ด์ง€๋งŒ, 2026๋…„ 9์›” 14์ผ ํ™•์ธ ์‹œ ๋ฏธ๋ณ‘ํ•ฉ์ž…๋‹ˆ๋‹ค. ๋ณดํ˜ธ๋œ ์›Œํฌํ”Œ๋กœ ๋ณ€๊ฒฝ์˜ ๊ถŒํ•œ ๋ฌธ์ œ๊ฐ€ ๋‚จ์•„ ์žˆ์œผ๋ฏ€๋กœ ์ผ๋ถ€ ๊ฒ€์ฆ ์„ฑ๊ณต์„ ์ฑ„ํƒ์œผ๋กœ ํ•ด์„ํ•˜์ง€ ์•Š์Šต๋‹ˆ๋‹ค. ํ›„๋ณด ๊ตฌํ˜„, ๊ฐœ๋ฐœ ๋ธŒ๋žœ์น˜์—์„œ ์‚ฌ์šฉ ๊ฐ€๋Šฅํ•œ ๊ธฐ๋Šฅ, ๊ณต๊ฐœ ๋ฆด๋ฆฌ์Šค๋ฅผ ๊ตฌ๋ถ„ํ•ด์•ผ ํ•ฉ๋‹ˆ๋‹ค.

๋” ๊นŠ์ด ๋ณด๊ธฐ