Frozen Goal Selection - kimjooyoon/meta-ontology-go GitHub Wiki

์‹คํ—˜: ๊ณ ์ •๋œ ๋ชฉํ‘œ๋กœ ์ •์ฑ… ํ›„๋ณด ์„ ํƒํ•˜๊ธฐ

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

์ž˜๋ชป๋œ ์ •์ฑ…์„ ๊ณ ์น  ๋•Œ ํ›„๋ณด๊ฐ€ ์ž์‹ ์˜ ํ•ฉ๊ฒฉ ๊ธฐ์ค€๊นŒ์ง€ ๊ณ ์ณ ๋ฒ„๋ฆฌ๋ฉด, ๊ฒ€์‚ฌ๋ฅผ ํ†ต๊ณผํ•ด๋„ ๋ฌธ์ œ๋ฅผ ํ•ด๊ฒฐํ–ˆ๋‹ค๊ณ  ๋งํ•  ์ˆ˜ ์—†์Šต๋‹ˆ๋‹ค.

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

์ด ๋ฌธ์„œ๋Š” ์ผ๋ฐ˜ Gooo ์ž…๋ฌธ์ด ์•„๋‹ˆ๋ผ ์ •์ฑ… ์ปดํŒŒ์ผ ํ”„๋กœํŒŒ์ผ์˜ ์‹คํ—˜์šฉ ์‚ฌ์šฉ ์•ˆ๋‚ด์ž…๋‹ˆ๋‹ค. #833์˜ ๋ณ‘ํ•ฉ ๊ตฌํ˜„๊ณผ ํ•ด๋‹น native ์‹คํ–‰ ๊ทผ๊ฑฐ๋ฅผ ์„ค๋ช…ํ•ฉ๋‹ˆ๋‹ค. ์ดํ›„ ๊ฐœ๋ฐœ ๋‹จ๊ณ„๊ฐ€ ์™„๋ฃŒ๋˜์—ˆ๋‹ค๊ณ  ๊ฐ€์ •ํ•˜์ง€ ์•Š์Šต๋‹ˆ๋‹ค.

์–ด๋–ค ๋ฌธ์ œ์— ์“ฐ๋‚˜์š”?

์˜ˆ๋ฅผ ๋“ค์–ด โ€œ์ฆ๊ฑฐ๊ฐ€ ์—†์œผ๋ฉด UNKNOWN, ์˜๋ฏธ๊ฐ€ ์ผ์น˜ํ•˜๋ฉด PASSโ€๋ผ๋Š” ์ •์ฑ…์„ ์œ ์ง€ํ•˜๊ณ  ์‹ถ๋‹ค๊ณ  ํ•ฉ์‹œ๋‹ค. ์ด๋•Œ ํ›„๋ณด๊ฐ€ ๋ชจ๋“  ์ž…๋ ฅ์„ PASS๋กœ ๋ฐ”๊พธ๊ณ  ์ž๊ธฐ ๊ธฐ๋Œ€๊ฐ’๋„ PASS๋กœ ๋งž์ถ”๋Š” ๋ฐฉ์‹์€ ํ—ˆ์šฉํ•  ์ˆ˜ ์—†์Šต๋‹ˆ๋‹ค.

๋‹ค์Œ์€ ํ•ด๋‹น ์ •์ฑ… ํ”„๋กœํŒŒ์ผ์—์„œ ์‚ฌ์šฉํ•˜๋Š” ์„ ์–ธ์˜ ์ผ๋ถ€์ž…๋‹ˆ๋‹ค. ์ด ๋‘ ์ค„๋งŒ์œผ๋กœ ์™„์„ฑ๋œ ํ”„๋กœ๊ทธ๋žจ์ด ๋˜๋Š” ๊ฒƒ์€ ์•„๋‹™๋‹ˆ๋‹ค.

transition "EVIDENCE_UNAVAILABLE" -> "UNKNOWN"
transition "SEMANTIC_EQUIVALENCE" -> "PASS"

Gooo ์›๋ณธ์€ ์ „์ด์™€ ๊ฒฐ์ •์˜ ์˜๋ฏธ๋ฅผ ์ œ๊ณตํ•˜๊ณ , ์ปดํŒŒ์ผ๋Ÿฌ๋Š” ๊ทธ ์ •์ฑ…์„ ํ•ด์„ํ•˜๊ณ  ์‹คํ–‰ ๊ฐ€๋Šฅํ•œ ํŒ๋‹จ๊ธฐ๋กœ ์ƒ์„ฑํ•ฉ๋‹ˆ๋‹ค. ์‹คํ–‰ ๊ฒฐ๊ณผ๋ฅผ ๊ฒ€์ฆํ•˜๋Š” ํ˜ธ์ถœ์ž๋Š” ์ž…๋ ฅ ์ฆ๊ฑฐ์™€ ๊ธฐ์ค€์„ ๋ณด์กดํ•ด์•ผ ํ•ฉ๋‹ˆ๋‹ค. ์„ ์–ธ์— ์ด๋ฆ„์„ ๋ถ™์˜€๋‹ค๋Š” ์‚ฌ์‹ค๋งŒ์œผ๋กœ ์‹คํ–‰์ด๋‚˜ ์ฑ„ํƒ ๊ถŒํ•œ์ด ์ƒ๊ธฐ์ง€๋Š” ์•Š์Šต๋‹ˆ๋‹ค.

๋จธ๋ฆฟ์†์— ๋‘˜ ๊ทธ๋ฆผ

๋ฏธ๋ฆฌ ๊ณ ์ •ํ•œ ๋ชฉํ‘œ.gooo ----> ๋ชฉํ‘œ์˜ ์˜๋ฏธ ์ •์ฒด์„ฑ
                                   |
ํ›„๋ณด.gooo ---------------> ํ›„๋ณด์˜ ์˜๋ฏธ ์ •์ฒด์„ฑ ๋น„๊ต
                                   |
์ด์ „ ๊ด€์ธก + ๊ณ ์ •๋œ ์‹คํ–‰ ์š”์ฒญ ------> ํ›„๋ณด๋ฅผ ์ƒˆ๋กœ ์‹คํ–‰
                                   |
                         ๋ชฉํ‘œ ์ผ์น˜ + ๊ธฐ๋Œ€ ๊ฒฐ๊ณผ ์ผ์น˜
                                   |
                         ๋ณ„๋„ ์ž„์‹œ ๋””๋ ‰ํ„ฐ๋ฆฌ์— ์„ ํƒ๋ณธ
                                   |
                         ๋‹ค์Œ ํ”„๋กœ์„ธ์Šค๊ฐ€ ๊ทธ ํŒŒ์ผ์„ ์ฝ์Œ

์—ฌ๊ธฐ์„œ ๋น„๊ต๋Š” ์ง€์›๋˜๋Š” ํ”„๋กœํŒŒ์ผ์—์„œ์˜ ์ •์ฑ… ID์™€ ์ •๊ทœํ™”๋œ ์˜๋ฏธ ์ •์ฒด์„ฑ ์ผ์น˜์ž…๋‹ˆ๋‹ค. ์ž„์˜์˜ ๋‘ ํ”„๋กœ๊ทธ๋žจ์ด ๋ชจ๋“  ์ž…๋ ฅ์—์„œ ๋™๋“ฑํ•˜๋‹ค๋Š” ์ผ๋ฐ˜ ์ •๋ฆฌ๋ฅผ ์ฆ๋ช…ํ•˜๋Š” ๊ธฐ๋Šฅ์€ ์•„๋‹™๋‹ˆ๋‹ค.

์‹œ์ž‘ ์ „์— ์ค€๋น„ํ•  ์ž…๋ ฅ

์ด๋ฆ„ ๋ฌด์—‡์ธ๊ฐ€ ๋ฐ”๊พธ๋ฉด ์•ˆ ๋˜๋Š” ๊ฒƒ
CANDIDATE_GOOO ๊ฒ€ํ† ํ•  ํ›„๋ณด์˜ ์‹ค์ œ Gooo ํŒŒ์ผ ์ด์ „ ๊ด€์ธก์— ๋“ค์–ด ์žˆ๋Š” ํ›„๋ณด์™€ ๋‹ค๋ฅธ ๋ฐ”์ดํŠธ๋ฅผ ๊ฐ™์€ ํ›„๋ณด๋ผ๊ณ  ๋ถ€๋ฅด์ง€ ์•Š๊ธฐ
PREDECESSOR_RECEIPT ๊ธฐ์กด ๋…๋ฆฝ ๊ด€์ธก ๊ฒฝ๋กœ๊ฐ€ ๋ฐ˜ํ™˜ํ•œ ์‹ค์ œ JSON ๋น ์ง„ ๊ด€์ธก์„ ์†์œผ๋กœ ๋งŒ๋“ค์–ด ๋„ฃ๊ฑฐ๋‚˜ ๊ณผ๊ฑฐ ์‹คํ–‰์ด ์ธ์ฆ๋๋‹ค๊ณ  ํ•ด์„ํ•˜์ง€ ์•Š๊ธฐ
NEXT_REQUEST ๋‹ค์Œ ์‹คํ–‰ ์š”์ฒญ JSON ํ›„๋ณด๋ฅผ ํ†ต๊ณผ์‹œํ‚ค๋ ค๊ณ  ์›๋ž˜ ๊ธฐ๋Œ€ ๊ฒฐ๊ณผ๋‚˜ ์ฆ๊ฑฐ ์ •์ฒด์„ฑ์„ ๋‹ค์‹œ ์“ฐ์ง€ ์•Š๊ธฐ
GOAL_GOOO ํ›„๋ณด์™€ ๋ณ„๋„๋กœ ๋จผ์ € ๊ณ ๋ฅธ ๋ชฉํ‘œ Gooo ํŒŒ์ผ ๋น„๊ต๊ฐ€ ์‹คํŒจํ•  ๋•Œ ํ›„๋ณด์— ๋งž์ถฐ ๊ธฐ์ค€์„ ๋‚ฎ์ถ”์ง€ ์•Š๊ธฐ
GOAL_SHA256 ์‹ ๋ขฐํ•˜๊ธฐ๋กœ ํ•œ ๊ธฐ๋ก์— ๊ณ ์ •๋œ ๋ชฉํ‘œ ์›๋ณธ์˜ sha256:... ๊ฐ’ ๋ณ€๊ฒฝ๋œ ๋ชฉํ‘œ๋ฅผ ๋‹ค์‹œ ํ•ด์‹œํ•ด์„œ ์›๋ž˜ ๋ชฉํ‘œ์ธ ๊ฒƒ์ฒ˜๋Ÿผ ์ œ์ถœํ•˜์ง€ ์•Š๊ธฐ
SELECTION_REPORT ์„ ํƒ ์‘๋‹ต์„ ๋ฐ›์„ ํ˜ธ์ถœ์ž ์†Œ์œ ์˜ ์™ธ๋ถ€ ํŒŒ์ผ ๊ฒฝ๋กœ ์ž…๋ ฅ ์ €์žฅ์†Œ๋‚˜ ๊ธฐ์กด ์ฆ๊ฑฐ๋ฅผ ๋ฎ์–ด์“ฐ๋Š” ์ถœ๋ ฅ ๊ฒฝ๋กœ๋กœ ์‚ฌ์šฉํ•˜์ง€ ์•Š๊ธฐ
NEXT_REPORT ๋‹ค์Œ ์‹คํ–‰ ์‘๋‹ต์„ ๋ฐ›์„ ๋ณ„๋„ ์™ธ๋ถ€ ํŒŒ์ผ ๊ฒฝ๋กœ ์„ ํƒ ์‘๋‹ต๊ณผ ๋‹ค์Œ ์‹คํ–‰ ์‘๋‹ต์„ ํ•˜๋‚˜์˜ ์‹คํ–‰์ฒ˜๋Ÿผ ํ•ฉ์น˜์ง€ ์•Š๊ธฐ

NEXT_REQUEST๋Š” gooo/meta-policy-next-execution-request/v1 ์š”์ฒญ์ž…๋‹ˆ๋‹ค. ํ›„๋ณด ์†Œ์Šคยท์˜๋ฏธ ์ •์ฒด์„ฑยท์ด์ „ ์‘๋‹ต ์›๋ณธ์˜ ํ•ด์‹œ์™€ ์‹คํ–‰ํ•  ์‚ฌ๋ก€๋ฅผ ๊ฒฐ์†ํ•ฉ๋‹ˆ๋‹ค. ํ˜•์‹๋งŒ ๋งž์ถ˜ ์˜ˆ์‹œ JSON์„ ์‹ค์ œ ๊ด€์ธก์˜ ๋Œ€์šฉํ’ˆ์œผ๋กœ ์‚ฌ์šฉํ•˜๋ฉด ์•ˆ ๋ฉ๋‹ˆ๋‹ค. ์„ธ๋ถ€ ๊ตฌํ˜„์€ ๊ณ ์ •๋œ ์†Œ์Šค์˜ ์ •์ฑ… ์ปดํŒŒ์ผ ํŒจํ‚ค์ง€์—์„œ ์ถ”์ ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

์ด์ „ ์‘๋‹ต์˜ ๋ฐ”์ดํŠธ๋ฅผ ๊ณ ์ •ํ•˜๋Š” ๊ฒƒ๊ณผ ๊ทธ ์‘๋‹ต์— ๊ธฐ์ˆ ๋œ ๊ณผ๊ฑฐ ํ”„๋กœ์„ธ์Šค ์‹คํ–‰์„ ์ธ์ฆํ•˜๋Š” ๊ฒƒ์€ ๋‹ค๋ฆ…๋‹ˆ๋‹ค. ์ด ๊ฒฝ๋กœ์˜ ํ‘œ๊ธฐ๋Š” CALLER_PINNED_BYTES_NOT_HISTORICAL_ATTESTATION์ž…๋‹ˆ๋‹ค.

1. ๋ชฉํ‘œ์— ๋งž๋Š” ํ›„๋ณด์ธ์ง€ ์„ ํƒํ•ฉ๋‹ˆ๋‹ค

์•„๋ž˜๋Š” ์ž…๋ ฅ ํŒŒ์ผ์„ ์ด๋ฏธ ์ค€๋น„ํ•œ ์ƒํƒœ์—์„œ ์‚ฌ์šฉํ•˜๋Š” ์ฐธ์กฐ ๋ช…๋ น์ž…๋‹ˆ๋‹ค. ํ™˜๊ฒฝ๋ณ€์ˆ˜์˜ ํŒŒ์ผ๋“ค์ด ์ž๋™ ์ƒ์„ฑ๋˜๋Š” ์™„๊ฒฐํ˜• ์„ค์น˜ ์˜ˆ์ œ๊ฐ€ ์•„๋‹™๋‹ˆ๋‹ค. ํ•ด๋‹น ์ปค๋ฐ‹์˜ ์†Œ์Šค์™€ Go 1.27์„ ์‚ฌ์šฉํ•˜๋Š” CI ๋˜๋Š” ๊ฒฉ๋ฆฌ๋œ ์‹คํ—˜ ํ™˜๊ฒฝ์—์„œ ์‹คํ–‰ํ•˜๋ฉฐ, ์•„๋ž˜ ์˜ˆ์ œ๋Š” jq๋„ ์‚ฌ์šฉํ•ฉ๋‹ˆ๋‹ค. ์ด๋ฒˆ ๋ฌธ์„œ ์ž‘์„ฑ ๊ณผ์ •์—์„œ ๋ช…๋ น์„ ๋กœ์ปฌ ์‹คํ–‰ํ•˜์ง€๋Š” ์•Š์•˜์Šต๋‹ˆ๋‹ค.

set -eu

go run ./cmd/meta-policy-compilation-witness/next-execution \
  -policy "$CANDIDATE_GOOO" \
  -predecessor "$PREDECESSOR_RECEIPT" \
  -request "$NEXT_REQUEST" \
  -goal "$GOAL_GOOO" \
  -goal-digest "$GOAL_SHA256" \
  -materialize-selection \
  -profile-package metapolicycompilation \
  -profile-namespace metapolicycompilation \
  > "$SELECTION_REPORT"

-goal๊ณผ -goal-digest๋Š” ํ•จ๊ป˜ ์‚ฌ์šฉํ•ฉ๋‹ˆ๋‹ค. -materialize-selection์€ ๋ชฉํ‘œ ์„ ํƒ ๋ชจ๋“œ์—์„œ๋งŒ ์‚ฌ์šฉํ•ฉ๋‹ˆ๋‹ค. ์‹ค์ œ CLI ์ง„์ž…์ 

์„ฑ๊ณต์ ์ธ ์„ ํƒ์˜ ๊ฒฐ์ •๊ฐ’์€ SELECTED_FOR_FROZEN_GOOO_GOAL์ž…๋‹ˆ๋‹ค. ๋ชฉํ‘œ๊ฐ€ ์ผ์น˜ํ•œ๋‹ค๋Š” ์‚ฌ์‹ค๋งŒ์œผ๋กœ๋Š” ์ถฉ๋ถ„ํ•˜์ง€ ์•Š๊ณ , ์ƒˆ ์‹คํ–‰์˜ ๊ฒฐ๊ณผ๋„ ๊ธฐ์กด ๊ธฐ๋Œ€๊ฐ’์„ ์ถฉ์กฑํ•ด์•ผ ํ•ฉ๋‹ˆ๋‹ค.

2. ์„ ํƒ๋œ ํŒŒ์ผ์„ ๋‹ค์Œ ํ”„๋กœ์„ธ์Šค์— ๋„˜๊น๋‹ˆ๋‹ค

๋‹ค์Œ ๋‹จ๊ณ„๋Š” ํ›„๋ณด๋ฅผ ๋‹ค์‹œ ์ถ”์ธกํ•˜๊ฑฐ๋‚˜ ์‘๋‹ต์—์„œ ์†Œ์Šค๋ฅผ ์ˆ˜์ž‘์—…์œผ๋กœ ์žฌ๊ตฌ์„ฑํ•˜์ง€ ์•Š์Šต๋‹ˆ๋‹ค. ์„ ํƒ ์‘๋‹ต์˜ materialized_source๊ฐ€ ๊ฐ€๋ฆฌํ‚ค๋Š” ํŒŒ์ผ์„ ์‚ฌ์šฉํ•ฉ๋‹ˆ๋‹ค.

SELECTED_GOOO="$(
  jq -er '
    select(.decision == "SELECTED_FOR_FROZEN_GOOO_GOAL")
    | .materialized_source
    | select(type == "string" and length > 0)
  ' "$SELECTION_REPORT"
)"

go run ./cmd/meta-policy-compilation-witness/next-execution \
  -policy "$SELECTED_GOOO" \
  -predecessor "$PREDECESSOR_RECEIPT" \
  -request "$NEXT_REQUEST" \
  -profile-package metapolicycompilation \
  -profile-namespace metapolicycompilation \
  > "$NEXT_REPORT"

์ด ์˜ˆ์ œ๋Š” ์•ž ๋‹จ๊ณ„์™€ ๊ฐ™์€ ์…ธ์˜ set -eu ์„ค์ •์„ ์ด์–ด์„œ ์‚ฌ์šฉํ•ฉ๋‹ˆ๋‹ค. ์„ ํƒ์ด ๊ฑฐ์ ˆ๋˜์—ˆ๊ฑฐ๋‚˜ ๊ฒฝ๋กœ๊ฐ€ ์—†์œผ๋ฉด ๋‹ค์Œ ์‹คํ–‰์œผ๋กœ ๋„˜์–ด๊ฐ€์ง€ ์•Š์Šต๋‹ˆ๋‹ค.

์„ ํƒ๋ณธ์€ ์ƒˆ ํ˜ธ์ถœ์ž ์†Œ์œ  ์ž„์‹œ ๋””๋ ‰ํ„ฐ๋ฆฌ์˜ selected-policy.gooo ํŒŒ์ผ์ž…๋‹ˆ๋‹ค. ์ž…๋ ฅ ์ €์žฅ์†Œ์˜ ์ •์ฑ…์„ ๋ฐ”๊พธ์ง€ ์•Š๊ณ , ๊ธฐ์กด ํŒŒ์ผ์„ ๋ฎ์–ด์“ฐ๋Š” ์ž„์˜ ์ถœ๋ ฅ ๊ฒฝ๋กœ๋„ ๋ฐ›์ง€ ์•Š์Šต๋‹ˆ๋‹ค. ์ž„์‹œ ๊ฒฝ๋กœ๋Š” ์‹คํ–‰๋งˆ๋‹ค ๋‹ฌ๋ผ์งˆ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ์ด์ „ CI ๋กœ๊ทธ์˜ ์ž„์‹œ ๊ฒฝ๋กœ๋ฅผ ๋‹ค๋ฅธ ์ปดํ“จํ„ฐ์—์„œ ๊ทธ๋Œ€๋กœ ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ๋Š” ๊ฒƒ์€ ์•„๋‹™๋‹ˆ๋‹ค.

๋‹ค์Œ ์‘๋‹ต์˜ NEXT_EXECUTION_OBSERVED๋Š” ๊ทธ ํ”„๋กœ์„ธ์Šค๊ฐ€ ์ง€์ •ํ•œ ํ›„๋ณด์™€ ์‚ฌ๋ก€๋ฅผ ์‹ค์ œ๋กœ ์‚ฌ์šฉํ–ˆ์Œ์„ ๋œปํ•ฉ๋‹ˆ๋‹ค. ๊ณต์‹ ์ •์ฑ… ์ฑ„ํƒ์ด๋‚˜ ์šด์˜ ๋ฐฐํฌ๋ฅผ ๋œปํ•˜์ง€ ์•Š์Šต๋‹ˆ๋‹ค. ๋˜ํ•œ ์‚ฌ๋ก€๋งˆ๋‹ค ๊ธฐ๋Œ€ํ•œ ์‘๋‹ต์€ PASS, FAIL_CLOSED, UNKNOWN์œผ๋กœ ๋‹ค๋ฅผ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ๋ชจ๋“  ์‚ฌ๋ก€๊ฐ€ PASS์˜€๋‹ค๊ณ  ์ฝ์œผ๋ฉด ์•ˆ ๋ฉ๋‹ˆ๋‹ค.

๊ฑฐ์ ˆ๋˜์—ˆ์„ ๋•Œ ์ฝ๋Š” ์ˆœ์„œ

๊ฒฐ์ •ยท์ด์œ  ํ•ด์„ ๋‹ค์Œ ์ž‘์—…
REFUTED / FROZEN_GOAL_DIGEST_MISMATCH ๊ณ ์ •ํ•œ ๋ชฉํ‘œ ์›๋ณธ๊ณผ ์ œ์ถœํ•œ ๋ฐ”์ดํŠธ๊ฐ€ ๋‹ค๋ฆ„ ์›๋ž˜ ๋ชฉํ‘œ ๊ธฐ๋ก๊ณผ ์ œ์ถœ ๊ฒฝ๋กœ๋ฅผ ๋Œ€์กฐํ•˜๊ธฐ
REFUTED / CANDIDATE_DOES_NOT_MATCH_FROZEN_GOOO_GOAL ํ›„๋ณด์˜ ์˜๋ฏธ๊ฐ€ ๊ณ ์ • ๋ชฉํ‘œ์™€ ๋งž์ง€ ์•Š์Œ ํ›„๋ณด๋ฅผ ์ˆ˜์ •ํ•˜๊ฑฐ๋‚˜ ๊ฑฐ์ ˆ ์‚ฌ์œ ๋ฅผ ๊ธฐ๋กํ•˜๊ธฐ
UNKNOWN / FROZEN_GOAL_NOT_COMPILED ๋ชฉํ‘œ๋ฅผ ํ˜„์žฌ ํ”„๋กœํŒŒ์ผ๋กœ ์ปดํŒŒ์ผํ•˜์ง€ ๋ชปํ•จ ๋ชฉํ‘œ ์ž…๋ ฅ๊ณผ ์ง€์› ๋ฒ”์œ„, ์›์ธ ๊ธฐ๋ก์„ ํ™•์ธํ•˜๊ธฐ
REFUTED / GOAL_MATCHED_BUT_NEXT_EXECUTION_REFUTED ๋ชฉํ‘œ ์ •์ฒด์„ฑ์€ ๋งž์ง€๋งŒ ์‹ค์ œ ์‹คํ–‰ ๋น„๊ต์— ๋ฐ˜๋ก€๊ฐ€ ์žˆ์Œ ์‹คํ–‰ ์ž…๋ ฅ๊ณผ ๋ฐ˜๋ก€๋ฅผ ๋ณด์กดํ•˜๊ณ  ํ›„๋ณด๋ฅผ ์žฌ๊ฒ€ํ† ํ•˜๊ธฐ

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

{
  "state": "UNKNOWN",
  "stage": "GOAL",
  "step": "COMPILE_FROZEN_GOOO_GOAL",
  "reason": "FROZEN_GOAL_NOT_COMPILED",
  "unknown_class": "AMBIGUOUS",
  "next_operation": "RESOLVE_GOAL_SELECTION_INPUT_AND_REPEAT",
  "blocked_by": []
}

์ด ์˜ˆ์‹œ๋Š” ํ•ด๋‹น ๊ฒฝ๋กœ์˜ ๊ธฐ๋ก์ž…๋‹ˆ๋‹ค. ๋ชจ๋“  Gooo ๊ฒฐ๊ณผ๊ฐ€ ๊ฐ™์€ UNKNOWN ๋ถ„๋ฅ˜๋‚˜ ๋™์ผํ•œ ํ•„๋“œ ๊ตฌ์„ฑ์„ ์ง€์›ํ•œ๋‹ค๊ณ  ์ผ๋ฐ˜ํ™”ํ•˜์ง€ ์•Š์Šต๋‹ˆ๋‹ค.

์‹ค์ œ ํ™•์ธ๋œ ๋ฒ”์œ„

#833์˜ native ์‚ฌ๋ก€๋Š” ๋‹ค์Œ ์ฐจ์ด๋ฅผ ํ™•์ธํ–ˆ์Šต๋‹ˆ๋‹ค.

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

๋‹ค์Œ ์‹คํ–‰์˜ ๋„ค ์‚ฌ๋ก€๋Š” ์ •์ƒ PASS, ์˜ค๋ž˜๋œ ์†Œ์Šค์˜ FAIL_CLOSED, ์ฆ๊ฑฐ ๋ถ€์žฌ์˜ UNKNOWN, ์•Œ ์ˆ˜ ์—†๋Š” ์ƒ์œ„ ๊ฒฐ์ •์˜ FAIL_CLOSED์ž…๋‹ˆ๋‹ค. ์ด๋Š” ํ•ฉ์„ฑ ํšŒ๊ท€ ์‚ฌ๋ก€ ๋„ค ๊ฐœ์— ๋Œ€ํ•œ ๊ด€์ธก์ด์ง€ ์–ธ์–ด ์ „์ฒด ์™„์ „์„ฑ์ด๋‚˜ ์™ธ๋ถ€ ์‚ฌ์šฉ์ž ํšจ์šฉ์˜ ๋ถ„๋ชจ๊ฐ€ ์•„๋‹™๋‹ˆ๋‹ค.

๋ชฉํ‘œ์™€ ํ›„๋ณด๋Š” ๋ณ„๋„ ์†Œ์Šค์ง€๋งŒ ๊ฐ™์€ ์ปดํŒŒ์ผ๋Ÿฌ๋ฅผ ์‚ฌ์šฉํ•ฉ๋‹ˆ๋‹ค. ๋”ฐ๋ผ์„œ ์ด ๊ฒฝ๋กœ์˜ ๋…๋ฆฝ์„ฑ ํ‘œ๊ธฐ๋Š” SEPARATE_GOOO_GOAL_SHARED_COMPILER์ž…๋‹ˆ๋‹ค. ๋…๋ฆฝ ๊ตฌํ˜„ ๋‘ ๊ฐœ์˜ ๊ฒ€์ฆ์ด๋‚˜ ๋ชฉํ‘œ ์ž์ฒด์˜ ์˜ฌ๋ฐ”๋ฆ„์— ๋Œ€ํ•œ ์ฆ๋ช…์€ ์•„๋‹™๋‹ˆ๋‹ค.

์—ฌ๊ธฐ์„œ ์•„์ง ํ•˜์ง€ ์•Š๋Š” ์ผ

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

general_admission๊ณผ improvement๋Š” ๋ณ„๋„ ์ฆ๊ฑฐ๊ฐ€ ์—†์œผ๋ฉด UNKNOWN์œผ๋กœ ๋‚จ์Šต๋‹ˆ๋‹ค. mutation_authority์™€ promotion_authority๋„ ์ด ๊ฒฝ๋กœ์—์„œ๋Š” 0์ž…๋‹ˆ๋‹ค.

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


์‚ฌ์šฉ ํ๋ฆ„์œผ๋กœ ๋Œ์•„๊ฐ€๊ธฐ ยท Provenance์™€ ๊ฒฐ์ • ยท ๋ฌธ์„œ ํ™ˆ