Ecosystem Workbench - kimjooyoon/meta-ontology-go GitHub Wiki

Gooo๋กœ ๋งŒ๋“œ๋Š” ์–ธ์–ด ์ƒํƒœ๊ณ„ ๋„๊ตฌ

์—…๋ฐ์ดํŠธ: 2026-10-10 KST.

gooo-ecosystem-workbench๋ฅผ ์ƒˆ ๊ณต๊ฐœ ์ €์žฅ์†Œ๋กœ ๋ฐฐํฌํ–ˆ์Šต๋‹ˆ๋‹ค. Gooo๋กœ ํ‘œ์ค€ ํ•จ์ˆ˜, ์‹คํ–‰ ๊ฒฐ๊ณผ์˜ ์ง„๋‹จ ๊ทœ์น™, ์ƒˆ Gooo ์†Œ์Šค๋ฅผ ๋งŒ๋“œ๋Š” ํ”„๋กœ๊ทธ๋žจ์„ ์ž‘์„ฑํ–ˆ์Šต๋‹ˆ๋‹ค. ์–ธ์–ด๋ฅผ ์‚ฌ์šฉํ•˜๋Š” ๋ฐ ํ•„์š”ํ•œ ์ž‘์€ ๊ณต๊ตฌ๋ฅผ ์–ธ์–ด ์ž์ฒด๋กœ ๋งŒ๋“ค์–ด ๋ณด๋Š” ๋‹จ๊ณ„์ž…๋‹ˆ๋‹ค.

ํ˜„์žฌ ์—ฐ๊ฒฐ๊ณผ ์žฌ์‚ฌ์šฉ

ํ˜„์žฌ ์ž‘์—…์žฅ์€ assemble --graph๋กœ ๋„ค์ดํ‹ฐ๋ธŒ ๊ณ„ํš์„ ์ฝ๊ณ  ์—ฌ๋Ÿฌ ๋ณธ๋ฌธ์„ ์กฐ๋ฆฝํ•ฉ๋‹ˆ๋‹ค. PR54์˜ ์›๋ณธ ์ „์ฒด CI 38๋‹จ๊ณ„์™€ ๋ณ„๋„ push ๊ฒ€์‚ฌ๋ฅผ ํ†ต๊ณผํ•ด main 0d7d30a9์— ๋ณ‘ํ•ฉยท์„ค์น˜ํ–ˆ์Šต๋‹ˆ๋‹ค. ์ €์žฅํ•œ ํด๋”๋ฅผ construct --assembly์— ๋„˜๊ธฐ๋ฉด Gooo๊ฐ€ ์›๋ž˜ ์‹คํŒจ ํ–‰์„ ๊ณ ๋ฅด๊ณ  ๊ฐ™์€ ๊ทธ๋ž˜ํ”„์˜ ๋‹ค์Œ ์กฐ๋ฆฝ์— ์”๋‹ˆ๋‹ค. ํ˜ธ์ถœ๋œ ๋ณด์กฐ ํ•จ์ˆ˜์™€ ์ถ”๊ฐ€ ๋ฃจํŠธ ์ž…๋ ฅ๋„ ๋ณด์กดํ•ฉ๋‹ˆ๋‹ค. ํ˜„์žฌ PR55๋Š” ๊ณต๊ฐœ Gooo0.6.23, Go1.27.2์™€ SDK0.2.26์— ์—ฐ๊ฒฐํ–ˆ๊ณ  main06445a4์— ๋ณ‘ํ•ฉยท์„ค์น˜๋์Šต๋‹ˆ๋‹ค. ์›๋ณธ PRยทfeature push ๊ฒ€์‚ฌ์™€ ์‹ค์ œ ๊ณต๊ฐœ Linux ํŒŒ์ผ ์‚ฌ์šฉ์„ ํ™•์ธํ–ˆ์Šต๋‹ˆ๋‹ค. construct์˜ ๊ฐ„๋‹จํ•œ ์ถœ๋ ฅ๊ณผ --json์€ ์ถœ๋ ฅ ์•ˆ๋‚ด์—์„œ ์ฝ์Šต๋‹ˆ๋‹ค. ์—ฌ๋Ÿฌ ๋ณธ๋ฌธ์˜ ๋‘ ๋ช…๋ น๊ณผ ๊ฒฐ๊ณผ ์ฝ๊ธฐ.

์•„๋ž˜๋Š” ์ด์ „ ๊ณต๊ฐœ ์—ฐ๊ฒฐ์˜ ์†Œ์Šค์™€ ๋‹น์‹œ ๊ด€์ธก์ž…๋‹ˆ๋‹ค.

PR53์„ ์›๋ณธ ์ „์ฒด CI 38๋‹จ๊ณ„์™€ push ๊ฒ€์‚ฌ ๋’ค main 7d64f529์— ๋ณ‘ํ•ฉยท์„ค์น˜ํ–ˆ์Šต๋‹ˆ๋‹ค. ๋ฃจํŠธ ๋ ˆ์ฝ”๋“œ๋ฅผ ์กฐ๋ฆฝํ•˜๊ณ  ๊ทธ ๊ฐ’์„ ๋ฐ›๋Š” ๊ณ ์ • ํ™œ๋™ยท์ˆœ์ˆ˜ ๋ณด์กฐ ํ•จ์ˆ˜๋ฅผ ์‹คํ–‰ํ•˜๋Š” ํ๋ฆ„์„ ์—ฐ๊ฒฐํ•ฉ๋‹ˆ๋‹ค. --entry๋Š” ๋งˆ์ง€๋ง‰ ํ™œ๋™, --assembly-activity๋Š” ๋ฃจํŠธ ์กฐ๋ฆฝ ํ™œ๋™์ž…๋‹ˆ๋‹ค. ๋‹จ์ผยท๋‹ค์ค‘ ์ธ์ž์˜ ์›๋ž˜ ์ž…๋ ฅ ํ˜•์‹์„ ๋ณด์กดํ•˜๊ณ , ๋งˆ์ง€๋ง‰ ์‹คํŒจ ํ–‰์„ ๋‹ค์Œ ์กฐ๋ฆฝ์— ์”๋‹ˆ๋‹ค. ๋‘ ๋ช…๋ น๊ณผ ๊ด€์ธก ๋ฒ”์œ„.

์•„๋ž˜๋Š” ํ•œ ํ™œ๋™ ์—ฐ๊ฒฐ์„ ๋จผ์ € ๊ตฌํ˜„ํ•œ PR52์˜ ๊ธฐ๋ก์ž…๋‹ˆ๋‹ค.

PR52์€ ์›๋ณธ ์ „์ฒด CI๋ฅผ ํ†ต๊ณผํ•ด main 83cbe449์— ๋ณ‘ํ•ฉยท์„ค์น˜ํ–ˆ์Šต๋‹ˆ๋‹ค. construct --assembly๋กœ ์ด์ „ ํด๋” ํ•˜๋‚˜๋ฅผ ๋„˜๊ธฐ๋ฉด Gooo๊ฐ€ ์›๋ž˜ ์‹คํŒจ ํ–‰์„ ๊ณ ๋ฅด๊ณ  ๊ธฐ์กด ์กฐ๋ฆฝ ๋ฐ˜๋ณต์— ๋„ฃ์Šต๋‹ˆ๋‹ค. ๋ฐ˜๋ก€ ์ค€๋น„์™€ ์‹ค์ œ ์‚ฌ์šฉ, ๊ฐ ํšŒ์ฐจ์˜ ์‹œ๋„, ์„ ํƒ ๋’ค ๋‹ค๋ฅธ ์ž…๋ ฅ์˜ ๊ฒฐ๊ณผ๋ฅผ ๋”ฐ๋กœ ๊ธฐ๋กํ•ฉ๋‹ˆ๋‹ค. ๋ชจ๋ธ์„ ์ƒ๋žตํ•˜๋ฉด ๊ณ ์ • ์ˆœ์„œ๋กœ ์ง„ํ–‰ํ•ฉ๋‹ˆ๋‹ค. ๊ฐ™์€ ํ•œ ํ”„๋กœ๊ทธ๋žจ์—์„œ ํ›„์† ์‹œ๋„๋Š” ๊ณ ์ • 15๋ฒˆยท๋ชจ๋ธ 13๋ฒˆ์ด์—ˆ๊ณ  ์ตœ์ข… ํ•„๋“œ 6/6์„ ํ™•์ธํ–ˆ์Šต๋‹ˆ๋‹ค. ์‚ฌ์šฉ ๋ฒ”์œ„์™€ ์›๋ณธ.

์•„๋ž˜๋Š” ์•ž์„  ๋„์›€๋งยท์กฐ๋ฆฝ ์—ฐ๊ฒฐ์˜ ์†Œ์Šค์™€ ๊ด€์ธก์ž…๋‹ˆ๋‹ค.

PR51์€ ์›๋ณธ ์ „์ฒด CI๋ฅผ ํ†ต๊ณผํ•ด main 38289940์— ๋ณ‘ํ•ฉยท์„ค์น˜ํ–ˆ์Šต๋‹ˆ๋‹ค. --help์—์„œ ์†Œ์Šค ๋งŒ๋“ค๊ธฐยท์กฐ๋ฆฝยท ๊ฒฐ๊ณผ ์ฝ๊ธฐ ๋ช…๋ น์„ ์ฐพ๊ณ  help assemble๋กœ ํ•ด๋‹น ์˜ต์…˜์„ ๋ด…๋‹ˆ๋‹ค. ๋ชจ๋“  12๊ฐœ ๋ช…๋ น์˜ ๋„์›€๋ง์ด ์ž‘์—…์„ ์‹คํ–‰ํ•˜์ง€ ์•Š๊ณ  ์ •์ƒ ์ข…๋ฃŒํ•˜๋Š” ํšŒ๊ท€ ๊ฒ€์‚ฌ๋ฅผ ์ถ”๊ฐ€ํ–ˆ์Šต๋‹ˆ๋‹ค. ์‹คํ–‰๊ณผ ๊ฒฐ๊ณผ ์•ˆ๋‚ด.

PR50์€ ์›๋ณธ ์ „์ฒด CI๋ฅผ ํ†ต๊ณผํ•ด main ece4da79์— ๋ณ‘ํ•ฉํ–ˆ์Šต๋‹ˆ๋‹ค. CI์™€ ํ˜„์žฌ ์‚ฌ์šฉ ์•ˆ๋‚ด๊ฐ€ ๊ณต๊ฐœ Gooo 0.6.22 ์†Œ์Šค d3b44fc6์— ๊ณ ์ •๋ฉ๋‹ˆ๋‹ค. ๊ณต๊ฐœ ์„ค์น˜๋ณธ๊ณผ ๊ธฐ๋ณธ gooo ๊ฒฝ๋กœ๋กœ ๋ชจ๋ธ ์กฐ๋ฆฝยท์‹ค์ œ ํ˜ธ์ถœยท ์ €์žฅ ์žฌ์ƒยทGooo ํ›„์† ์ œ์•ˆ์„ ํ™•์ธํ–ˆ์Šต๋‹ˆ๋‹ค. ๋ณ„๋„ ๊ฐœ๋ฐœ ๋นŒ๋“œ๋ฅผ ์ค€๋น„ํ•˜๋Š” ๋‹จ๊ณ„๊ฐ€ ์ค„์—ˆ์Šต๋‹ˆ๋‹ค. ๊ณต๊ฐœํŒ ์‹คํ–‰ ์•ˆ๋‚ด.

PR49์€ ์›๋ณธ ์ „์ฒด CI๋ฅผ ํ†ต๊ณผํ•ด main 7c37f4b3์— ๋ณ‘ํ•ฉํ–ˆ์Šต๋‹ˆ๋‹ค. assemble์ด ํ˜ธ์ถœยทํ•„๋“œยท์กฐ๋ฆฝ์šฉ ์‚ฌ๋ก€์˜ ๊ฒฐ๊ณผ๋ฅผ Gooo ํ›„์† ๊ทœ์น™์— ์ „๋‹ฌํ•ฉ๋‹ˆ๋‹ค. ๊ธฐ๋ณธ ์ถœ๋ ฅ์— ๋‹ค์Œ ์ž‘์—…์„ ํ‘œ์‹œํ•˜๊ณ  ์•ฝ 3.2KB์˜ next-context.json์—์„œ ๋ถˆ์ผ์น˜ ์œ„์น˜์™€ ์›๋ณธ ํŒŒ์ผยท์ง€๋ฌธยทํฌ๊ธฐ๋ฅผ ์ฝ์„ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ์ž์ฒด ๋ชจ๋ธ์„ ์“ด ์›๋ž˜ ์˜ˆ์ œ 4/4์™€ ๊ธฐ๋Œ€ ๋ฌธ์ž์—ด ํ•˜๋‚˜๋ฅผ ๋ฐ”๊พผ ํ•ฉ์„ฑ ๊ด€์ธก 3/4๋ฅผ ๊ตฌ๋ถ„ํ–ˆ์Šต๋‹ˆ๋‹ค. ์›๋ž˜ ์ž…๋ ฅยท๊ธฐ๋Œ€๊ฐ’๊ณผ ์ •ํ™•ํ•œ ํฐ ์ •์ˆ˜๋ฅผ ๋ณด์กดํ–ˆ๊ณ , ํ›„์† ๊ทœ์น™์˜ ์ž…๋ ฅ ์ ์ˆ˜๋Š” 0/0, ๋ชจ๋ธ ํ˜ธ์ถœ์€ 0ํšŒ์ž…๋‹ˆ๋‹ค. ์ €์žฅ ์žฌ์ƒ๋„ ๊ฐ™์€ ์ œ์•ˆ์„ ์œ ์ง€ํ–ˆ์Šต๋‹ˆ๋‹ค. ์ œ์•ˆํ•œ ์ฝ”๋“œ ๋ณ€๊ฒฝ๊ณผ ๋‹ค์Œ ๋ชจ๋ธ ํ˜ธ์ถœ์€ ๋ณ„๋„ ์‹คํ–‰ ๋‹จ๊ณ„์ž…๋‹ˆ๋‹ค. ์‹ค์ œ ์‹คํ–‰๊ณผ ์›๋ณธ.

์•„๋ž˜ PR48์€ ์ด ๋ช…๋ น์„ ์ฒ˜์Œ ์—ฐ๊ฒฐํ•œ ์†Œ์Šค์™€ ๊ด€์ธก์ž…๋‹ˆ๋‹ค.

PR48์˜ CIยท๋ณ‘ํ•ฉ ์›๋ณธ.

PR48์— assemble์„ ๊ณต๊ฐœํ–ˆ์Šต๋‹ˆ๋‹ค. ์†Œ์Šคยท๋ชจ๋ธ์„ ๋จผ์ € ํ™•์ธํ•˜๊ณ  Gooo ๊ทœ์น™์ด ๊ฒฝ๋กœ๋ฅผ ๊ณ ๋ฅธ ๋‹ค์Œ, ์กฐ๋ฆฝยทํ˜ธ์ถœยท์ €์žฅ ์žฌ์ƒ์„ ํ•œ ๋ช…๋ น์œผ๋กœ ์ด์–ด๊ฐ‘๋‹ˆ๋‹ค. CLI๋Š” ์„ ํƒ ์ด์œ ยท์‚ฌ๋ก€ ๊ฒฐ๊ณผยท์ƒ์„ฑ ์ฝ”๋“œ ์œ„์น˜๋ฅผ ๋จผ์ € ๋ณด์—ฌ์ค๋‹ˆ๋‹ค. Go ์—ฐ๊ฒฐ๊ณผ Gooo ๊ทœ์น™์€ ๊ฐ™์€ ๊ณต๊ฐœ ์ €์žฅ์†Œ์— ์žˆ์Šต๋‹ˆ๋‹ค. ์‚ฌ์šฉ ์•ˆ๋‚ด.

CI๋Š” ์ปดํŒŒ์ผ๋Ÿฌ dev e5be9871, Go1.27.2์™€ SDKv0.2.26์„ ๊ณ ์ •ํ•ฉ๋‹ˆ๋‹ค. ์ž‘์—…์žฅ ๋ฐ–์˜ ์‹ค์ œ ๋„ค ๊ฒฝ๋กœ์—์„œ ๊ฐ๊ฐ ํ˜ธ์ถœ4/4ยทํ•„๋“œ12/12์™€ ๊ฐ™์€ ์ €์žฅ ์žฌ์ƒ์„ ํ™•์ธํ–ˆ์Šต๋‹ˆ๋‹ค. ์›๋ณธ ์ „์ฒด CI๋ฅผ ํ™•์ธํ•ด main a03966f8์— ๋ณ‘ํ•ฉํ–ˆ์Šต๋‹ˆ๋‹ค. ์ž‘์€ ๊ณต๊ฐœ ์˜ˆ์ œ์˜ ๊ฒฐ๊ณผ์™€ ๋…๋ฆฝ์ ์ธ ์ผ๋ฐ˜ํ™” ํ‰๊ฐ€๋Š” ๊ตฌ๋ถ„ํ•ฉ๋‹ˆ๋‹ค. ์›๋ณธ ๊ด€์ธก.

์•„๋ž˜๋Š” ์ด์ „ ์—ฐ๊ฒฐ์˜ ์†Œ์Šค์™€ ๊ด€์ธก์ž…๋‹ˆ๋‹ค.

PR 41์—์„œ ๊ณต๊ฐœ 0.6.16 ์†Œ์Šค 146a5085๋ฅผ CI์— ๊ณ ์ •ํ•˜๊ณ  ์„ค์น˜ยท์‹คํ–‰ ์•ˆ๋‚ด๋ฅผ ๊ฐฑ์‹ ํ–ˆ์Šต๋‹ˆ๋‹ค. ๊ณต๊ฐœ ์„ค์น˜๋ณธ์˜ ์ „์ฒด raceยทvet ๊ฒ€์‚ฌ์™€ ๋‘ ์ž๋™ ํ”ผ๋“œ๋ฐฑ ์˜ˆ์ œ๋ฅผ ๋‹ค์‹œ ์‹คํ–‰ํ–ˆ์Šต๋‹ˆ๋‹ค. 8๊ฐœ ํšŒ์ฐจ์˜ ์›๋ž˜ ์‚ฌ๋ก€ยท์„ ํƒ ์ฝ”๋“œยท์‹คํŒจ ๊ฐ’์ด ์ด์ „ ๊ธฐ๋ก๊ณผ ๊ฐ™์•˜๊ณ , ๊ณต๊ฐœ CI์˜ ์›๋ณธ๋„ ํ™•์ธํ•œ ๋’ค main 29d174aa์— ๋ณ‘ํ•ฉํ–ˆ์Šต๋‹ˆ๋‹ค. ํ˜„์žฌ ์‹คํ–‰ ์•ˆ๋‚ด.

PR 40์€ ์‹ค์ œ ๊ณ„์‚ฐ ์‹คํŒจ์™€ ์˜์กด ํ™œ๋™์˜ ์ค‘๋‹จ์„ ์ฝ์Šต๋‹ˆ๋‹ค. Gooo ๊ทœ์น™์ด ์‹คํŒจํ•œ ์ž…๋ ฅ๊ณผ ์›๋ž˜ ๊ธฐ๋Œ€๊ฐ’์„ ๋‹ค์Œ ์กฐ๋ฆฝ์— ๋„ฃ๊ณ  ๋‹ค์‹œ ์‹œ๋„ํ•ฉ๋‹ˆ๋‹ค. ์„ธ ํšŒ์ฐจยท๋„ค ๋ฒˆ ์‹œ๋„ ๋’ค ๋ณ„๋„ ์ž…๋ ฅ 3/3์„ ๋งžํžŒ ์˜ˆ์ œ์™€, ๋‹ค์„ฏ ํšŒ์ฐจยท14๋ฒˆ ์‹œ๋„ ๋’ค ๋ณ„๋„ ํ‰๊ฐ€ 4/4๋ฅผ ์œ ์ง€ํ•œ ์˜ˆ์ œ๋ฅผ ๊ณต๊ฐœํ–ˆ์Šต๋‹ˆ๋‹ค. CI ์›๋ณธ์„ ํ™•์ธํ•˜๊ณ  main 83ca2df6์— ๋ณ‘ํ•ฉํ–ˆ์Šต๋‹ˆ๋‹ค. ์ด์ œ ์ด ๊ฒฝ๋กœ๋ฅผ ๊ณต๊ฐœ Gooo 0.6.16์œผ๋กœ ์‹คํ–‰ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ๊ณ„์‚ฐ ์‹คํŒจ๋กœ ์กฐ๋ฆฝ ์ด์–ด๊ฐ€๊ธฐ.

์•„๋ž˜๋Š” ์ด์ „ ์—ฐ๊ฒฐ์˜ ์†Œ์Šค์™€ ๊ด€์ธก์ž…๋‹ˆ๋‹ค.

PR 38์€ ์ž˜๋ชป๋œ ๋นˆ์นธ ํ›„๋ณด๊ฐ€ ํฌํ•จ๋œ ์ƒˆ ์กฐ๋ฆฝ ๊ธฐ๋ก์„ ์ฝ์Šต๋‹ˆ๋‹ค. ํƒˆ๋ฝ ์ˆ˜๋ฅผ Gooo ํ›„์† ํŒ๋‹จ ๊ทœ์น™์— ์ „๋‹ฌํ•˜๊ณ , ์‹œ๋„ยทํƒˆ๋ฝยท์‹คํ–‰ ์ˆ˜๋ฅผ ๋‚˜๋ˆ•๋‹ˆ๋‹ค. ์‹ค์ œ ํ”ผ๋“œ๋ฐฑ ๋ฐ˜๋ณต์€ ์›๋ž˜ ๊ฒฝ๊ณ„ ์‚ฌ๋ก€๋ฅผ ๊ทธ๋Œ€๋กœ ์ถ”๊ฐ€ํ•ด 5ํšŒ์ฐจยท์ด 13๋ฒˆ์˜ ์‹œ๋„ ํ›„ ๋ณ„๋„ ํ‰๊ฐ€ 4/4๋ฅผ ์œ ์ง€ํ–ˆ์Šต๋‹ˆ๋‹ค. ๋กœ์ปฌ ์ „์ฒด native/race ๊ฒ€์‚ฌ์™€ ๊ณต๊ฐœ CI๋ฅผ ํ†ต๊ณผํ•˜๊ณ  main a4ee9369์— ๋ณ‘ํ•ฉํ–ˆ์Šต๋‹ˆ๋‹ค. CI ์›๋ณธ์€ ํƒˆ๋ฝ 5๊ฐœยท์‹คํ–‰ ์กฐํ•ฉ 8๊ฐœ๋กœ ์ด 13๋ฒˆ์˜ ์‹œ๋„๋ฅผ ๊ธฐ๋กํ•˜๋ฉฐ, ์ตœ์ข… ๊ฐ’๊ณผ ์„ ํƒ๋œ ์†Œ์Šค๊ฐ€ macOS ๊ด€์ธก๊ณผ ๊ฐ™์•˜์Šต๋‹ˆ๋‹ค. ์ด ๊ฒฝ๋กœ๋Š” ์ƒˆ ์ปดํŒŒ์ผ๋Ÿฌ ์†Œ์Šค๊ฐ€ ํ•„์š”ํ•ฉ๋‹ˆ๋‹ค. ์‹คํ–‰ ์•ˆ๋‚ด์™€ ๊ธฐ๋ก.

์•„๋ž˜๋Š” ๊ณต๊ฐœ 0.6.14 ๋ฐ”์ด๋„ˆ๋ฆฌ์—์„œ ํ™•์ธํ•œ ์—ฐ๊ฒฐ์ž…๋‹ˆ๋‹ค.

PR 37์—์„œ ๊ณต๊ฐœ Gooo 0.6.14์™€ ๊ฐ™์€ ์†Œ์Šค๋ฅผ CI์— ๊ณ ์ •ํ–ˆ์Šต๋‹ˆ๋‹ค. ์—ฌ๋Ÿฌ ๋นˆ์นธ์„ ํ˜ธ์ถœ ๊ฒฐ๊ณผ๋กœ ๊ณ ๋ฅด๋Š” ์กฐ๋ฆฝ๋„ Gooo ํ”ผ๋“œ๋ฐฑ ๊ทœ์น™์œผ๋กœ ๋ฐ˜๋ณตํ•ฉ๋‹ˆ๋‹ค. ์›๋ž˜ ์‹คํŒจ ์‚ฌ๋ก€ ํ•˜๋‚˜๋ฅผ ์ถ”๊ฐ€ํ•˜๊ณ  ๋„ค ํšŒ์ฐจยท์ผ๊ณฑ ์กฐํ•ฉ ํ›„ ๋งˆ์ง€๋ง‰ ๋ณ„๋„ ํ‰๊ฐ€ 4/4๋ฅผ ํ™•์ธํ–ˆ์Šต๋‹ˆ๋‹ค. ๊ณต๊ฐœ ์„ค์น˜๋ณธ์—์„œ๋„ ๊ฐ™์€ ๊ฒฐ๊ณผ๋ฅผ ๊ด€์ธกํ–ˆ์Šต๋‹ˆ๋‹ค. ํ˜„์žฌ ์‹คํ–‰ ์•ˆ๋‚ด.

์•„๋ž˜๋Š” ๊ฐ ๊ธฐ๋Šฅ์„ ์ฒ˜์Œ ์—ฐ๊ฒฐํ•œ ์†Œ์Šค์™€ ๊ด€์ธก์ž…๋‹ˆ๋‹ค.

PR 32๋Š” CI๋ฅผ ํ†ต๊ณผํ•ด main 47a09d0e์— ๋ณ‘ํ•ฉํ–ˆ์Šต๋‹ˆ๋‹ค. ์‹คํŒจํ•œ ํ‰๊ฐ€ ์‚ฌ๋ก€๋ฅผ Gooo ๊ทœ์น™์œผ๋กœ ๊ณจ๋ผ ๋‹ค์Œ ์กฐ๋ฆฝ์— ์ž๋™ ๋ฐ˜์˜ํ•˜๋ฉฐ, --holdout-cases๋Š” ์„ ํƒ์ด ๋๋‚œ ๋’ค ๋ณ„๋„๋กœ ์‹คํ–‰ํ•ฉ๋‹ˆ๋‹ค. ๋‘ ํ”„๋กœ๊ทธ๋žจ์—์„œ ๋ชจ๋ธ์˜ ์ด๋“๊ณผ ์‹คํŒจ๋ฅผ ํ•จ๊ป˜ ๊ด€์ธกํ–ˆ์Šต๋‹ˆ๋‹ค. ์‚ฌ์šฉ๋ฒ•๊ณผ ์›๋ณธ ๊ธฐ๋ก.

PR 30์œผ๋กœ Gooo๊ฐ€ ๋‹ค์Œ ์‹œ๋„ ํ•œ๋„๋ฅผ ์ •ํ•˜๋Š” construct ๋ช…๋ น์„ ์ถ”๊ฐ€ํ–ˆ์Šต๋‹ˆ๋‹ค. ๊ณต๊ฐœ 0.6.12์˜ ์ •ํ™•ํ•œ ์†Œ์Šค 4a0cfdd8๋ฅผ CI์— ๊ณ ์ •ํ–ˆ๊ณ  ์ „์ฒด ๊ฒ€์‚ฌ๋ฅผ ํ†ต๊ณผํ–ˆ์Šต๋‹ˆ๋‹ค. PR 31์—์„œ ์‹œ์ž‘ ๋ฌธ์„œ๋„ ๊ฐฑ์‹ ํ–ˆ์Šต๋‹ˆ๋‹ค. ๊ณต๊ฐœ macOS ์„ค์น˜๋ณธ์— ์ž์ฒด ๊ทธ๋ž˜ํ”„ ๋ชจ๋ธ์„ ์—ฐ๊ฒฐํ•ด ์ž๋™ ์กฐ๋ฆฝ๊ณผ ์ €์žฅ ์žฌ์‹คํ–‰์„ ํ™•์ธํ–ˆ์Šต๋‹ˆ๋‹ค. ๊ฐ™์€ ๊ธฐ์กด ์˜ˆ์ œ์—์„œ ๊ณ ์ • ์ˆœ์„œ๋Š” ๋„ค ํšŒ์ฐจยท15๋ฒˆ, ๋ชจ๋ธ์€ ํ•œ ํšŒ์ฐจยทํ•œ ๋ฒˆ์˜ ํ”„๋กœ๊ทธ๋žจ ์‹œ๋„๋ฅผ ์‚ฌ์šฉํ–ˆ๊ณ  ์ตœ์ข… ์ฝ”๋“œ์™€ ํ‰๊ฐ€ 7๊ฐœ๊ฐ€ ๊ฐ™์•˜์Šต๋‹ˆ๋‹ค. ์‹คํ–‰ยทCIยท๋ณ‘ํ•ฉ ์›๋ณธ. ์•„๋ž˜ ์ดˆ๊ธฐ ๊ด€์ธก์€ ๊ฐ ๋งํฌ์˜ ์†Œ์Šค๋ฅผ ๊ธฐ์ค€์œผ๋กœ ์ฝ๊ณ , ์ƒˆ ์†Œ์Šค ์ˆ˜์ • ๋„๊ตฌ์™€ ์ž์ฒด ๊ทธ๋ž˜ํ”„ ๋ชจ๋ธ ํ•™์Šต์€ ๋ณ„๋„ ์›๋ณธ์— ์—ฐ๊ฒฐํ•ฉ๋‹ˆ๋‹ค.

๊ธฐ๋ณธ ํ•จ์ˆ˜๋Š” gooo-standard-library๋กœ ๋ถ„๋ฆฌยทํ™•์žฅํ–ˆ์Šต๋‹ˆ๋‹ค. ์ˆซ์žยท๋…ผ๋ฆฌยท๋ฌธ์ž์—ด ํŒจํ‚ค์ง€์— 17๊ฐœ ํ•จ์ˆ˜๋ฅผ ๋‘๊ณ  ์‹ค์ œ Gooo import๋กœ ๊ฐ€์ ธ๋‹ค ์”๋‹ˆ๋‹ค. ์ž‘์€ ํ‘œ์ค€ ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ์—์„œ ์ง์ ‘ ์‹คํ–‰ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

๊ตฌํ˜„ํ•œ ๋„๊ตฌ

๋„๊ตฌ Gooo๊ฐ€ ๊ตฌ์„ฑํ•˜๋Š” ๋‚ด์šฉ ์‹ค์ œ ๊ฒฐ๊ณผ
ํ‘œ์ค€ ํ•จ์ˆ˜ ์ •์ˆ˜ ๋ฒ”์œ„ยท๊ฒฝ๊ณ„ ์ฒ˜๋ฆฌ, ๋…ผ๋ฆฌ ์—ฐ์‚ฐ, ํ…์ŠคํŠธ ์„ ํƒ 13๊ฐœ ํ•จ์ˆ˜ยท7๊ฐœ ์ž…๋ ฅ ๋ฌถ์Œยท91๊ฐœ ๊ธฐ๋Œ€ ์ถœ๋ ฅ
์ง„๋‹จ ํ”„๋กœ๊ทธ๋žจ ์™„๋ฃŒยท๋ถ€๋ถ„ ์ถฉ์กฑยท๊ด€์ธก ๋ถ€์กฑยท์ž˜๋ชป๋œ ์ˆ˜์— ๋”ฐ๋ฅธ ๋ถ„๊ธฐ์™€ ๋‹ค์Œ ์ž‘์—… code/message/action ๋ ˆ์ฝ”๋“œ์™€ ์„ค๋ช… ๋ฌธ์žฅ
์ „์ฒด ์กฐ๋ฆฝ ๋ฐ˜๋ณต ๋ถ€ํ’ˆยทํ˜ธ์ถœ๋ถ€ยทํ‰๊ฐ€๋ฅผ ๊ตฌ๋ถ„ํ•ด ๋‹ค์Œ ์‹œ๋„ ํ•œ๋„์™€ ๋ฐ˜๋ก€ ํฌํ•จ ์—ฌ๋ถ€๋ฅผ ๊ณ„์‚ฐ ๊ธฐ๋Œ€๊ฐ’์„ ๋ณด์กดํ•œ ์ž๋™ ํ”ผ๋“œ๋ฐฑ, ๋ณ„๋„ ๋งˆ์ง€๋ง‰ ํ‰๊ฐ€, ํšŒ์ฐจ๋ณ„ ๊ฒฐ๊ณผ์™€ ์ค‘๋‹จ ์ด์œ 
์‹œ์ž‘ ํ”„๋กœ๊ทธ๋žจ scalar/record ์š”์ฒญ์— ๋งž๋Š” ํŒŒ์ผ๋ช…ยทGooo ๋ณธ๋ฌธยท๋‹ค์Œ ๋ช…๋ น ๊ฒ€์‚ฌ์™€ Go ๋ณธ๋ฌธ ์ƒ์„ฑ์„ ๊ฑฐ์นœ main.gooo
API ์ฐธ์กฐ ์ปดํŒŒ์ผ๋Ÿฌ๊ฐ€ ๋งŒ๋“  ๊ณต๊ฐœ ํ™œ๋™ ์‹œ๊ทธ๋‹ˆ์ฒ˜์™€ ์•ˆ์ • ํƒ€์ž… ID Gooo๊ฐ€ ์กฐ๋ฆฝํ•œ Markdown ์ฐธ์กฐ ๋ฌธ์„œ์™€ ์ง€๋ฌธ
์™„์ „์„ฑ ์˜์ˆ˜์ฆ ๊ทผ๊ฑฐ๊ฐ€ ์žˆ๋Š” ์—ฌ์„ฏ ์ถ•์˜ ์ƒํƒœ์™€ ์ตœ์ดˆ ๋ฏธํ•ด๊ฒฐ ๋‹จ๊ณ„ PASSยทPROGRESSยทUNKNOWN์„ ๋ณด์กดํ•˜๊ณ  ๋‹จ์ผ ์ ์ˆ˜๋Š” ๋งŒ๋“ค์ง€ ์•Š์Œ
์ธ๋ณด์ด์Šค ์Šน์ธ ์˜ˆ์ œ ์ œ์ถœ ์ƒํƒœ์™€ ๊ฒ€ํ† ์ž ์ƒํƒœ๋ฅผ ํ‰๊ฐ€ํ•˜๊ณ  ์Šน์ธ ๋ ˆ์ฝ”๋“œ ์ „๋‹ฌ 3๊ฐœ ์‹œ๋‚˜๋ฆฌ์˜ค, ์‹ค์ œ ์ถœ๋ ฅ 6๊ฐœยทํ•„๋“œ 18๊ฐœ ํ†ต๊ณผ, ์ €์žฅ ์žฌ์‹คํ–‰
CI ๊ณ„ํš ์˜ˆ์ œ ๋ณ€๊ฒฝ ํŒŒ์ผ ๋ฌถ์Œ์„ go, docs, yaml ํ™•์ธ ํ•ญ๋ชฉ์— ๋Œ€์‘ 12๊ฐœ ์ž…๋ ฅ, ํ™œ๋™ ์ถœ๋ ฅ 24๊ฐœยทํ•„๋“œ 96๊ฐœ ํ†ต๊ณผ, ์ €์žฅ ์žฌ์‹คํ–‰
์ž์—ฐ์–ด ๊ธฐ๋Šฅ ํƒ์ƒ‰ JEV์˜ ํ•œยท์˜ ํƒ์ƒ‰ trail์„ Gooo ํ‰๊ฐ€ ํ™œ๋™์œผ๋กœ ์ „๋‹ฌ AVAILABLEยทDEFERREDยทUNKNOWN ์œ ์ง€, ์„ ์–ธ ์ง€๋ฌธยท์ตœ์ดˆ ๋ฏธํ•ด๊ฒฐ ๋‹จ๊ณ„ยท์žฌ์‹คํ–‰ ๊ธฐ๋ก
VS Code ํ™•์žฅ ์ปดํŒŒ์ผ๋Ÿฌ LSP, ํฌ๋งคํ„ฐ, ํ”„๋กœ์ ํŠธ ์‹œ์ž‘, ๋ณธ๋ฌธ ์ƒ์„ฑ ์—ฐ๊ฒฐ 0.2.0 VSIX ๊ณต๊ฐœ, Gooo ๋ฐ”๋”” ๋ฏธ๋ฆฌ๋ณด๊ธฐ์™€ ๋ช…์‹œ์  ์ ์šฉ ์ง€์›

๋™์ž‘๊ณผ ์„ ํƒ์ง€๋Š” .gooo์— ์žˆ๊ณ , Go ์—ฐ๊ฒฐ ์ฝ”๋“œ๊ฐ€ ํŒŒ์ผ๊ณผ ์‹คํ–‰ ๋ช…๋ น์„ ์ „๋‹ฌํ•ฉ๋‹ˆ๋‹ค. ์˜ˆ๋ฅผ ๋“ค์–ด ์‹œ์ž‘ ํ”„๋กœ๊ทธ๋žจ์€ ํ…œํ”Œ๋ฆฟ์„ ์ง€์—ญ ๋ณ€์ˆ˜๋กœ ๋ณด๊ด€ํ•˜๊ณ  Gooo ํ”„๋กœ๊ทธ๋žจ์„ ์‹คํ–‰ํ•ด ์ƒˆ Gooo ์†Œ์Šค๋ฅผ ๋ฐ˜ํ™˜ํ•ฉ๋‹ˆ๋‹ค. ๋ฐ˜ํ™˜ํ•œ ์†Œ์Šค๋Š” ์ปดํŒŒ์ผ๋Ÿฌ๋กœ ๋‹ค์‹œ ํ™•์ธํ•ฉ๋‹ˆ๋‹ค.

VS Code์—์„œ ๋ฐ”๋กœ ์‚ฌ์šฉํ•˜๊ธฐ โ€” 2026-10-06

Gooo Language Support 0.2.0์„ ๊ณต๊ฐœํ–ˆ์Šต๋‹ˆ๋‹ค. VSIX ํŒŒ์ผ์„ ๋‚ด๋ ค๋ฐ›์•„ VS Code์˜ Extensions: Install from VSIX... ๋ฉ”๋‰ด๋กœ ์„ค์น˜ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ๊ฐ™์€ ๋ฆด๋ฆฌ์Šค์˜ checksums.sha256๋กœ ํŒŒ์ผ ์ฒดํฌ์„ฌ์„ ํ™•์ธํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

ํ™•์žฅ์€ ์ปดํŒŒ์ผ๋Ÿฌ์˜ LSP ์ง„๋‹จยท์ž๋™์™„์„ฑยท์ •์˜ ์ด๋™, ๊ฒฐ์ •๋ก ์  ํฌ๋งคํ„ฐ, ์•ฑยท๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ ์‹œ์ž‘ ํ๋ฆ„์„ ์—ฐ๊ฒฐํ•ฉ๋‹ˆ๋‹ค. Gooo: Generate Activity Body๋Š” ์ €์žฅ๋œ ์†Œ์Šค ์Šค๋ƒ…์ƒท์„ ์ปดํŒŒ์ผ๋Ÿฌ์— ์ „๋‹ฌํ•˜๊ณ , ์ปดํŒŒ์ผ๋Ÿฌ๊ฐ€ ํ›„๋ณด ๋ณธ๋ฌธ๊ณผ ์œ ํ•œ ์‚ฌ๋ก€๋ฅผ ํ™•์ธํ•œ ๊ฒฐ๊ณผ๋ฅผ ๋ณ„๋„ ์˜์ˆ˜์ฆ์œผ๋กœ ๋ณด์—ฌ์ค๋‹ˆ๋‹ค. Gooo ์†Œ์Šค๊ฐ€ ๋ฐ˜ํ™˜๋˜๋ฉด ๋จผ์ € ๋ฏธ๋ฆฌ๋ณด๊ธฐ๋ฅผ ์—ด๋ฉฐ, ์‚ฌ์šฉ์ž๊ฐ€ ๋ช…์‹œ์ ์œผ๋กœ ์ ์šฉ์„ ์„ ํƒํ•ด์•ผ ํ˜„์žฌ ํŒŒ์ผ์„ ๋ฐ”๊ฟ‰๋‹ˆ๋‹ค. ์ƒ์„ฑ ์ค‘ ์›๋ณธ ํŽธ์ง‘ ๋‚ด์šฉ์ด ๋ฐ”๋€Œ๋ฉด ์˜ค๋ž˜๋œ ๊ฒฐ๊ณผ๋ฅผ ๋ฎ์–ด์“ฐ์ง€ ์•Š๊ณ  ๋ฏธ๋ฆฌ๋ณด๊ธฐ๋กœ ์ „ํ™˜ํ•ฉ๋‹ˆ๋‹ค.

gooo.layaUrl ๋˜๋Š” GOOO_LAYA_URL๋กœ ๋กœ์ปฌ Laya /v1/systemone์„ ์—ฐ๊ฒฐํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ์—ฐ๊ฒฐํ•˜์ง€ ์•Š์œผ๋ฉด ์„ ์–ธ๋œ ํ›„๋ณด๋ฅผ ์ •ํ•ด์ง„ ์ˆœ์„œ๋กœ ํ‰๊ฐ€ํ•ฉ๋‹ˆ๋‹ค. Laya๊ฐ€ ์—ฐ๊ฒฐ๋˜์–ด๋„ ํ›„๋ณด๋ฅผ ์ƒˆ๋กœ ์“ฐ์ง€ ์•Š๊ณ  ์„ ์–ธ๋œ ํ›„๋ณด ์ค‘์—์„œ ์„ ํƒํ•˜๋ฉฐ, ์ตœ์ข… ๋ณธ๋ฌธ์€ ์ปดํŒŒ์ผ๋Ÿฌ๊ฐ€ ํ™•์ธํ•ฉ๋‹ˆ๋‹ค.

๋ชจ๋ธ์ด ๋งก๋Š” ๋ถ€๋ถ„

์ง„๋‹จ๊ณผ ์‹œ์ž‘ ํ”„๋กœ๊ทธ๋žจ์—๋Š” ์„ธ ํ•„๋“œ์˜ ๋‘ ํ›„๋ณด์‹, ํ•œ์˜ ์˜๋„์™€ ์œ ํ•œ ์„ ํƒ ์‚ฌ๋ก€๊ฐ€ ์žˆ์Šต๋‹ˆ๋‹ค. --model builtin์„ ์“ฐ๋ฉด ๊ณต๊ฐœ ์ž์ฒด ๊ณต์œ  QAT ๋ชจ๋ธ์ด ์—ฌ๋Ÿ ์กฐํ•ฉ์˜ ํƒ์ƒ‰ ์ˆœ์„œ๋ฅผ ์ œ์•ˆํ•ฉ๋‹ˆ๋‹ค. ์ปดํŒŒ์ผ๋Ÿฌ๊ฐ€ ์‹ค์ œ ์‚ฌ๋ก€๋ฅผ ํ™•์ธํ•ด ๊ตฌํ˜„์„ ์„ ํƒํ•ฉ๋‹ˆ๋‹ค. ๋ชจ๋ธ ์˜ต์…˜์„ ์ƒ๋žตํ•˜๋ฉด ๊ฒฐ์ •๋ก ์ ์ธ ์ˆœ์„œ๋กœ ๊ฐ™์€ ํ›„๋ณด๋ฅผ ํƒ์ƒ‰ํ•ฉ๋‹ˆ๋‹ค.

์„ ํƒ์ง€ ์•ˆ์˜ ์ƒ์„ธ ๋ณธ๋ฌธ์€ Gooo ์†Œ์Šค๊ฐ€ ์†Œ์œ ํ•ฉ๋‹ˆ๋‹ค. ํ˜„์žฌ ๊ณต์œ  ๋ชจ๋ธ์˜ ํ›„๋ณด๋ณ„ ์ž…๋ ฅ ๋ฒ”์œ„๋Š”512๋ฐ”์ดํŠธ์—ฌ์„œ ๊ธด ํ…œํ”Œ๋ฆฟ์€ ์ง€์—ญ ๋ณ€์ˆ˜์— ๋‘๊ณ  ์งง์€ ์ฐธ์กฐ์‹๊ณผ ์˜๋„๋ฅผ ์ „๋‹ฌํ–ˆ์Šต๋‹ˆ๋‹ค. ํ‘œ์ค€ ํ•จ์ˆ˜๋Š” ์ž‘์„ฑํ•œ Gooo ๋ณธ๋ฌธ์„ ๊ทธ๋Œ€๋กœ ์ƒ์„ฑํ•ฉ๋‹ˆ๋‹ค. ์ด๋ฒˆ ์ €์žฅ์†Œ๋Š” ๊ธฐ์กด2,072๊ฐœ ๋งค๊ฐœ๋ณ€์ˆ˜ยท446๋ฐ”์ดํŠธ ์‚ผ์ง„ ๊ฐ€์ค‘์น˜๋ฅผ ์‚ฌ์šฉํ•ฉ๋‹ˆ๋‹ค. ์ด ๋ฌธ๋‹จ์€ ์ดˆ๊ธฐ ๊ณต์œ  ๋ชจ๋ธ ๊ด€์ธก์ž…๋‹ˆ๋‹ค. ์ดํ›„ ์ž์ฒด ๊ทธ๋ž˜ํ”„ ๋ชจ๋ธ์„ ํ•™์Šตํ–ˆ์œผ๋ฉฐ, ์†Œ์Šค ์ˆ˜์ • ๋„๊ตฌ์™€ ์ƒˆ ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ ์˜ˆ์ œ์—์„œ ์žฌํ•™์Šต ์—†์ด ์‚ฌ์šฉํ•œ ๊ฒฐ๊ณผ๋„ ๊ณต๊ฐœํ–ˆ์Šต๋‹ˆ๋‹ค.

Gooo๋กœ CI ์ž‘์—… ๊ณ„ํš ๊ตฌ์„ฑ

CI ๊ณ„ํš ๋ ˆ์‹œํ”ผ๋Š” ์ปดํŒŒ์ผ๋Ÿฌ ์ €์žฅ์†Œ์˜ ๊ธฐ์กด ๊ณ„ํš ์‚ฌ๋ก€๋ฅผ ๋ฐ”ํƒ•์œผ๋กœ ํ•œ ์ž‘์€ Gooo ํ”„๋กœ๊ทธ๋žจ์ž…๋‹ˆ๋‹ค. ๋“ฑ๋กํ•œ ๋ณ€๊ฒฝ ํŒŒ์ผ ๋ฌถ์Œ์—๋Š” ํ™•์ธ ํ•ญ๋ชฉ์„ ์ง€์ •ํ•˜๊ณ , ๋ฏธ๋“ฑ๋ก ๋ฌถ์Œ์—๋Š” UNKNOWN, ๋ถˆ์™„์ „ํ•˜๊ฑฐ๋‚˜ ์ค‘๋ณต๋œ ์ž…๋ ฅ์—๋Š” FAIL_CLOSED๋ฅผ ๋ฐ˜ํ™˜ํ•ฉ๋‹ˆ๋‹ค. 12๊ฐœ ๊ณ ์ • ์ž…๋ ฅ์„ Gooo์—์„œ ์ƒ์„ฑํ•œ ์‹คํ–‰ ํŒŒ์ผ๋กœ ํ™•์ธํ–ˆ์œผ๋ฉฐ, PlanCIยทEcho ์ถœ๋ ฅ 24๊ฐœ, ๋ ˆ์ฝ”๋“œ ํ•„๋“œ 96๊ฐœ๊ฐ€ ์‚ฌ๋ก€ ๊ธฐ๋Œ€๊ฐ’๊ณผ ์ผ์น˜ํ–ˆ์Šต๋‹ˆ๋‹ค. ๋ชจ๋ธ ํ˜ธ์ถœ ์—†์ด ์ €์žฅ ์žฌ์‹คํ–‰๋„ ํ†ต๊ณผํ–ˆ์Šต๋‹ˆ๋‹ค.

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

์ž์—ฐ์–ด์—์„œ Gooo ๊ธฐ๋Šฅ ์ฐพ๊ธฐ

์ƒˆ discover ๋ช…๋ น์€ Gooo-jev์˜ ํ•œยท์˜ ์งˆ์˜ trail๊ณผ guide๋ฅผ ์ฝ๊ณ , Gooo ํ‰๊ฐ€ ๋ ˆ์‹œํ”ผ๊ฐ€ ๊ธฐ๋Šฅ ์ƒํƒœยท์„ ์–ธ ๋ฐ”์ธ๋”ฉยท๋ฏธํ•ด๊ฒฐ ๋‹จ๊ณ„๋ฅผ ๊ตฌ์„ฑํ•ฉ๋‹ˆ๋‹ค. ๋กœ์ปฌ๊ณผ ๊ณต๊ฐœ CI์—์„œ ์ฝ”๋“œ ์ƒ์„ฑ์€ ์–ด๋–ป๊ฒŒ ํ•ด?๋Š” AVAILABLE๋กœ ์นดํƒˆ๋กœ๊ทธ์— ์—ฐ๊ฒฐ๋˜์ง€๋งŒ, ํ‰๊ฐ€๋Š” real_use_case_coverage=PROGRESS, first_unresolved_stage=generation์œผ๋กœ ๋‚จ๊น๋‹ˆ๋‹ค. ์‹คํ–‰ ์‹œ๋„์™€ provider ํ˜ธ์ถœ์€ 0์ž…๋‹ˆ๋‹ค. ๋ฏธ๋“ฑ๋ก ์งˆ๋ฌธ์€ UNKNOWN, ์‹คํ–‰ ์š”์ฒญ์€ DEFERRED์™€ external_boundary๋กœ ๋ณด์กดํ•ฉ๋‹ˆ๋‹ค.

์ถœ๋ ฅ์€ ์งˆ์˜, ์„ ์–ธ, JEV trailยทguide digest, Gooo ์กฐ๋ฆฝ, 22๊ฐœ ํ•„๋“œ๊ฐ€ ์žˆ๋Š” ๋‘ ํ™œ๋™ ์ถœ๋ ฅ๊ณผ ์ €์žฅ ์žฌ์‹คํ–‰์„ ํ•จ๊ป˜ ๋ณด๊ด€ํ•ฉ๋‹ˆ๋‹ค. ๊ณ ์ • ๊ด€์ธก ์ž๋ฃŒ์—๋Š” ๊ฐ ํŒŒ์ผ์˜ ์ฒดํฌ์„ฌ๋„ ์žˆ์Šต๋‹ˆ๋‹ค. JEV์˜ provenance alias๊ฐ€ reverse-observation ํ•ญ๋ชฉ์œผ๋กœ ์˜ค๋ถ„๋ฅ˜๋˜๋Š” ํšŒ๊ท€๋„ ๋ฐœ๊ฒฌํ•ด PR #483์— ๋ฐ”๋กœ์žก์•˜์Šต๋‹ˆ๋‹ค. ์กฐ์‚ฌ ๊ฒฐํ•ฉ, provenance ๋ถ„๋ฅ˜ ํšŒ๊ท€์˜ JEV ์ „์ฒด CI๋Š” ๊ฒ€์ฆ ์ค‘์ด๋ฉฐ, capability-query test์™€ race ๊ฒ€์‚ฌ๋Š” ๋กœ์ปฌ ํ†ต๊ณผํ–ˆ์Šต๋‹ˆ๋‹ค. ์ž‘์—…์žฅ PR #1์˜ main CI 37249352691์€ ์„ฑ๊ณตํ–ˆ๊ณ  ์ฆ๊ฑฐ PR #2๋„ main์— ๋ณ‘ํ•ฉ๋์Šต๋‹ˆ๋‹ค.

v0.5.0-experimental์— macOS arm64ยทLinux amd64 ์‹คํ–‰ ํŒŒ์ผ, CI ๋ฐœ๊ฒฌ ์ฆ๊ฑฐ archive์™€ ์ฒดํฌ์„ฌ์„ ์ œ๊ณตํ•ฉ๋‹ˆ๋‹ค. ํฌํ•จ๋œ JEV ๋ฒ„์ „์€ ae1a015c์ด๋ฉฐ, JEV PR #483์˜ ์ „์ฒด race CI๋Š” ์•„์ง ์™„๋ฃŒ ์ „์ž…๋‹ˆ๋‹ค. ๋ณ„๋„์˜ ๊ณ ์ • capability ๊ด€์ธก๋„ ์ €์žฅ์†Œ์— ์žˆ์Šต๋‹ˆ๋‹ค. Gooo ์ปดํŒŒ์ผ๋Ÿฌ์™€ Go1.27.1์„ ์ค€๋น„ํ•ด ์—ฐ๊ฒฐํ•ฉ๋‹ˆ๋‹ค.

๋ฐ”๋กœ ์จ ๋ณด๊ธฐ

Go1.27.1๊ณผ gooo ์ปดํŒŒ์ผ๋Ÿฌ๊ฐ€ ์ค€๋น„๋๋‹ค๋ฉด:

git clone https://github.com/kimjooyoon/gooo-ecosystem-workbench.git
cd gooo-ecosystem-workbench
go run ./cmd/workbench verify --model builtin --out out/verified
go run ./cmd/workbench scaffold --profile record --model builtin --out out/my-project
go run ./cmd/workbench diagnose --input examples/partial-composition.json \
  --model builtin --out out/next-work
go run ./cmd/workbench reference --package examples/catalog \
  --entry ApproveInvoice --out out/api-reference
go run ./cmd/workbench receipt --input out/verified --out out/completeness

์ปดํŒŒ์ผ๋Ÿฌ์˜ ๋ณ„๋„ ๊ฒฝ๋กœ๋Š” --compiler /path/to/gooo๋กœ ์ง€์ •ํ•ฉ๋‹ˆ๋‹ค. ์ด๋ฒˆ ๊ด€์ธก์€ main f144dddb8261b9b525181dee510afc65f1603153์„ ์‚ฌ์šฉํ–ˆ์Šต๋‹ˆ๋‹ค. ์ปดํŒŒ์ผ๋Ÿฌ ์ค€๋น„์™€ ์ƒ์„ธ ๋ช…๋ น.

reference๋Š” ์ปดํŒŒ์ผ๋Ÿฌ๊ฐ€ ํ•ด์„ํ•œ operation-interface JSON์„ Gooo ๋ฌธ์„œ ํ…œํ”Œ๋ฆฟ์— ์ž…๋ ฅํ•ฉ๋‹ˆ๋‹ค. reference.md์—๋Š” ์„ ์–ธ๋œ ํ™œ๋™๋ช…ยท์‹œ๊ทธ๋‹ˆ์ฒ˜ยท์•ˆ์ • ID, ์„ ์–ธ ์ง€๋ฌธ๊ณผ ์ธํ„ฐํŽ˜์ด์Šค ์ง€๋ฌธ์ด ๋‚จ์Šต๋‹ˆ๋‹ค. ๋™์ž‘ ์„ค๋ช…์„ ์ถ”๋ก ํ•˜์ง€ ์•Š์Šต๋‹ˆ๋‹ค. ์ด ๋ฌธ์„œ์™€ ์ž…๋ ฅยท์‹คํ–‰ยท์žฌ์‹คํ–‰ ๊ทผ๊ฑฐ๋Š” API ์ฐธ์กฐ ๊ด€์ธก์—์„œ ํ™•์ธํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

receipt๋Š” ์•ž์„œ ์ƒ์„ฑํ•œ verify ํด๋”๋ฅผ ์ ๊ฒ€ํ•ฉ๋‹ˆ๋‹ค. Gooo๊ฐ€ ์„ ์–ธํ•œ gooo://completeness/domain-completeness-receipt/v1 ๊ตฌ์กฐ์— ์ƒํƒœ์™€ ๊ทผ๊ฑฐ๋ฅผ ๋„ฃ๊ณ , ๋ฏธํ•ด๊ฒฐ ๋‹จ๊ณ„ ์ˆœ์„œ๋„ Gooo ๋ณธ๋ฌธ์ด ์ •ํ•ฉ๋‹ˆ๋‹ค. CI ๊ด€์ธก์—์„œ๋Š” ์„ ์–ธยท์ƒ์„ฑยท์žฌ์‹คํ–‰์ด PASS, ์ž‘์„ฑ๋œ ์œ ํ•œ ์˜ˆ์ œ ๋ฒ”์œ„๊ฐ€ PROGRESS, ๋ณ„๋„ ๊ณ„์ธกํ•˜์ง€ ์•Š์€ ํšจ๊ณผ ๊ฒฝ๊ณ„๊ฐ€ UNKNOWN์ด์—ˆ์Šต๋‹ˆ๋‹ค. ๋‹ค๋ฅธ ์ฒดํฌ์•„์›ƒ์˜ ์ž…๋ ฅ์€ ์ถœ์ฒ˜ UNKNOWN์œผ๋กœ ๋‚จ๊น๋‹ˆ๋‹ค. CI ์‹คํ–‰๊ณผ ๋ณด๊ด€ํ•œ ๊ฒฐ๊ณผ. ์ด ๊ฐ’์€ ์ž‘์—…์žฅ์˜ ์˜ˆ์ œ์—๋งŒ ํ•ด๋‹นํ•˜๋ฉฐ ์ „์ฒด ์–ธ์–ด์˜ ์™„์„ฑ๋„๋ฅผ ๋งํ•˜์ง€ ์•Š์Šต๋‹ˆ๋‹ค.

์ƒˆ ์ธ๋ณด์ด์Šค ์Šน์ธ ์‚ฌ๋ก€๋Š” ์ œ์ถœ ์ƒํƒœ์™€ ๊ฒ€ํ† ์ž ํ™œ์„ฑ ์—ฌ๋ถ€์— ๋”ฐ๋ผ approvedยทrejected๋ฅผ ๋งŒ๋“ค๊ณ  ์ด์œ ๋ฅผ ๋‚จ๊น๋‹ˆ๋‹ค. ์„ธ ๋…๋ฆฝ ์ž…๋ ฅ์œผ๋กœ ๋‘ ์—ฐ๊ฒฐ ํ™œ๋™์˜ ์ถœ๋ ฅ 6๊ฐœ์™€ ์Šน์ธ ๋ ˆ์ฝ”๋“œ์˜ ํ•„๋“œ 18๊ฐœ๋ฅผ ์‹คํ–‰ํ•ด ๊ธฐ๋Œ€๊ฐ’๊ณผ ๋Œ€์กฐํ•˜๊ณ  ์ €์žฅ ์žฌ์‹คํ–‰ํ–ˆ์Šต๋‹ˆ๋‹ค. CI ์›๋ณธ์—๋Š” Gooo ์†Œ์Šคยท์ž…๋ ฅ ์‚ฌ๋ก€ยท์ปดํŒŒ์ผ ์‚ฐ์ถœ๋ฌผยท์žฌ์‹คํ–‰์ด ํ•จ๊ป˜ ์žˆ์Šต๋‹ˆ๋‹ค. ์ด ์˜ˆ์ œ๋Š” ์ž‘์€ ๋„๋ฉ”์ธ ์‹œ์—ฐ์ด๋ฉฐ ์‹ค์ œ ํšŒ๊ณ„๋‚˜ ๊ฒฐ์ œ ๊ทœ์น™์€ ์•„๋‹™๋‹ˆ๋‹ค.

์‹œ์ž‘ ๋„๊ตฌ์˜ main.gooo๋ฅผ ์ˆ˜์ •ํ•ด ๋‹ค์Œ ํ”„๋กœ๊ทธ๋žจ์„ ๋งŒ๋“ญ๋‹ˆ๋‹ค. ์ƒ์„ฑ ํด๋”์—๋Š” ์›๋ž˜ ๊ณ„ํš๊ณผ ์‹ค์ œ ์ƒ์„ฑ ๊ธฐ๋ก๋„ ์žˆ์Šต๋‹ˆ๋‹ค. ์ง„๋‹จ ๋„๊ตฌ๋Š” ์‹ค์ œ ๊ฐ’๊ณผ ๊ธฐ๋Œ€๊ฐ’์„ ๋‹ค์‹œ ๋น„๊ตํ•ด17/21ํ•„๋“œยทํƒ€์ž… ํƒˆ๋ฝ1๊ฐœ๋ฅผ ์ฝ๊ณ  partial, repair-and-replay๋ฅผ ๋ฐ˜ํ™˜ํ•ฉ๋‹ˆ๋‹ค. captured-input.json์— ์›๋ž˜ ์ž…๋ ฅ ์ „์ฒด๋ฅผ ๋ณด๊ด€ํ•˜๊ณ , ์ƒ์„ธ๊ฐ€1,024๋ฐ”์ดํŠธ๋ฅผ ๋„˜์œผ๋ฉด ๊ด€์ธก ์ˆ˜์™€ ์›๋ณธ ํ•ด์‹œ๋ฅผ ๋‹ด์€ ์š”์•ฝ์„ ์ „๋‹ฌํ•ฉ๋‹ˆ๋‹ค.

๊ด€์ธก์„ ์ฝ๋Š” ๊ธฐ์ค€

์ดˆ๊ธฐ ๋กœ์ปฌ ๊ด€์ธก์—์„œ ์ด๋ฆ„ ์žˆ๋Š” ์ถœ๋ ฅ์€151/151๊ฐœ, ๋ ˆ์ฝ”๋“œ ํ•„๋“œ๋Š”66/66๊ฐœ๊ฐ€ ๊ธฐ๋Œ€๊ฐ’๊ณผ ์ผ์น˜ํ–ˆ์Šต๋‹ˆ๋‹ค. ์ง„๋‹จยท์‹œ์ž‘์˜ ๊ฐ™์€ ์‚ฌ๋ก€๋ฅผ ๊ฒฐ์ •๋ก ๊ณผ ๋ชจ๋ธ ์ˆœ์„œ๋กœ ๊ฐ๊ฐ ์‹คํ–‰ํ•œ ์ˆ˜๋ฅผ ํฌํ•จํ•ฉ๋‹ˆ๋‹ค. ๋‹ค์„ฏ ์ƒ์„ฑ ๊ฒฐ๊ณผ๋ฅผ ์ €์žฅ ์žฌ์‹คํ–‰ํ–ˆ๊ณ  ์‹ค์ œ ๊ฐ’์„ ๋‹ค์‹œ ์…Œ์Šต๋‹ˆ๋‹ค. ํ™•์ธ ๋ช…๋ น ์ „์ฒด์˜ ์ƒ์„ฑ ํŒ๋‹จ์€2ํšŒ์ด๋ฉฐ ์‹คํ–‰๊ณผ ์žฌ์‹คํ–‰์˜ ์ถ”๊ฐ€ ํŒ๋‹จ์€0ํšŒ์ž…๋‹ˆ๋‹ค.

Linux์˜ ์ดˆ๊ธฐ ์ƒ์„ฑยท์‹คํ–‰ ๊ฒ€์‚ฌ๋„ ํ†ต๊ณผํ–ˆ์Šต๋‹ˆ๋‹ค. CI๊ฐ€ ๋งŒ๋“  ๋‹ค์„ฏ ์ƒ์„ฑยท๋‹ค์„ฏ ์ €์žฅ ์žฌ์‹คํ–‰์˜ ์›๋ณธ์„ ๋‚ด๋ ค๋ฐ›์•„ ์‹ค์ œ ๊ฐ’๊ณผ ํ•„๋“œ๋ฅผ ๋…๋ฆฝ์ ์œผ๋กœ ๋‹ค์‹œ ์„ธ์—ˆ๊ณ  ๊ฐ™์€ ์ˆ˜๋ฅผ ํ™•์ธํ–ˆ์Šต๋‹ˆ๋‹ค.

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

API ์ฐธ์กฐ ์˜ˆ์ œ๋Š” ๊ณต๊ฐœ ํ™œ๋™์˜ ์„ ์–ธ๊ฐ’์„ ๋ฐ›์•„ Gooo๊ฐ€ ๋ฌธ์„œ๋ฅผ ์ƒ์„ฑํ•ฉ๋‹ˆ๋‹ค. ๊ธฐ๋Œ€ ๋ฌธ์„œ1/1๊ฐœ์™€ ์ €์žฅ ์žฌ์‹คํ–‰์ด ๋งž์•˜์Šต๋‹ˆ๋‹ค. API ์›๋ณธ๊ณผ ๊ฒฐ๊ณผ๋ฅผ ๊ณต๊ฐœํ–ˆ์Šต๋‹ˆ๋‹ค. ์ด ์˜ˆ์ œ ํ•œ ๊ฑด์œผ๋กœ ๊ธฐ๋Šฅ ๋ฒ”์œ„๋ฅผ ์ผ๋ฐ˜ํ™”ํ•˜์ง€ ์•Š์Šต๋‹ˆ๋‹ค.

ํ‘œ์ค€ ํ•จ์ˆ˜๋Š” ํ•œ Gooo ์„ ์–ธ ๋ฌถ์Œ ์•ˆ์—์„œ bind๋กœ ์—ฐ๊ฒฐํ•˜๋ฉฐ, ํŒจํ‚ค์ง€ ์‹คํ–‰์€ Gooo ํŒŒ์ผ ์‚ฌ์ด์˜ ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ ์ฐธ์กฐ๋ฅผ ์‚ฌ์šฉํ•ฉ๋‹ˆ๋‹ค. ํŽธ์ง‘๊ธฐ ์—ฐ๊ฒฐ๋„ 0.2.0์œผ๋กœ ๊ณต๊ฐœํ–ˆ์Šต๋‹ˆ๋‹ค. ๋ถ€๋ถ„ ๋ณธ๋ฌธ์„ ์ž๋™์œผ๋กœ ๊ณ ์น˜๋Š” ์ง„๋‹จ ์‹คํ–‰๊ธฐ๋Š” ์•„์ง ํ›„์† ๊ณผ์ œ์ž…๋‹ˆ๋‹ค. ํ˜„์žฌ ์ง„๋‹จ ๋„๊ตฌ๋Š” ๋ˆ„๋ฝ ๊ทผ๊ฑฐ์™€ ๋‹ค์Œ ์ž‘์—…์„ ๋ถ„๋ฅ˜ํ•ด ๋ฐ˜ํ™˜ํ•˜๋ฉฐ, ๊ฒฐ๊ณผ๋ฅผ ์‹ค์ œ ์†Œ์Šค์— ์ ์šฉํ•˜๋Š” ์ž๋™ ๋ณต๊ตฌ๋Š” ํ•˜์ง€ ์•Š์Šต๋‹ˆ๋‹ค.

๊ณต๊ฐœ ์ฝ”๋“œ ยท ์ž๋™ ์ƒ์„ฑยท์‹คํ–‰ ํ™•์ธ ยท ํฌํ•จํ•œ ์ž์ฒด ๋ชจ๋ธ์˜ ์ถœ์ฒ˜.