Typed Model Preflight - kimjooyoon/meta-ontology-go GitHub Wiki
๋ถ๊ธฐ์ ๋ชจ๋ธ์ ๋ถ์ด๊ธฐ ์ ์ ํ์ธํ๊ธฐ
Gooo ์์ค์ ๋ถ๊ธฐยท๋ณ์ ์ ํ์ ์์ ๋ชจ๋ธ์ด ๋ฐ์ ์ ์๋์ง ๋ฏธ๋ฆฌ ์ฝ๋ ๊ธฐ๋ฅ์ ๋ง๋ค์์ต๋๋ค.
์ด๋ค ์ ํ์ง๊ฐ ์๋์ง ๋ณด๊ณ , ๋ชจ๋ธ ์
๋ ฅ์ด ๋ง์ง ์์ผ๋ฉด ๊ณ ์ ์์๋ก ์ด์ด๊ฐ ์ด์ ๋ฅผ ํ์ธํฉ๋๋ค.
PR1433์ ์๋ณธ ๊ฒ์ฌ๋ฅผ ํต๊ณผํด
dev 426caecb์ ์ ์ ๋ณํฉํ๊ณ ๋ณ๋ ๊ฐ๋ฐ ์คํ ํ์ผ๋ก ์ค์นํ์ต๋๋ค.
๊ณต๊ฐ 0.6.23/source2b์ ์ฌ์ ํ์ธ์ ๋ ์ฝ๋์ฉ์
๋๋ค.
์์ ํ๋ณด bff์ ์ฌ์ฏ ๊ฒ์ฌยทv5 ์ฆ๊ฑฐยท๋ค ํ๋ซํผ ์ค๋น ๊ฒ์ฌ๋ฅผ ํต๊ณผํ์ต๋๋ค. ์ฆ๊ฑฐ ZIP์ ์ง๋ฌธ๊ณผ PRยท์์ค ์ ๋ณด๋ฅผ ํ์ธํ ๋ค ๋ณํฉํ๊ณ , ๋ณํฉ๋ ํ์ผ ๊ตฌ์ฑ์ ํ๋ณด์ ๊ฐ์ต๋๋ค. ์ค์น๋ณธ426์ ์ ์คํ์์ ๋ชจ๋ธ ์ ๋ ฅยท์ง๋ฌธ๊ณผ ์ค์ ์์ฑ์ด ๊ฐ๊ณ , ๋ณ๋ ์ ๋ ฅ3/3ยท์ ์ฅ ์ฌ์3/3์ ํ์ธํ์ต๋๋ค. ์๋ณธ ๊ฒ์ฌยท๋ณํฉยท์ค์นยท์ ์คํ.
์ฒซ ํ๋ณด์ ๋ค ํ๋ซํผ ์ค๋น ๊ฒ์ฌ๋ ํต๊ณผํ๊ณ , ์๋ณธ CI์
์๋ฏธ ์ผ๊ด์ฑ ๊ฒ์ฌ๋
๋์ด๋ ๋์๋ง ์ ์ธ์ ์๋ ๋ถํ ์์ ์คํจํ์ต๋๋ค. ๋์๋ง๊ณผ CLI ์ฒ๋ฆฌ๋ฅผ ๋๋ ๋ก์ปฌ ์์ ์
์ถ์ถยท์ ์ฒด race ๊ฒ์ฌ๋ ํต๊ณผํ์ต๋๋ค. ๋ชจ๋ธ ๋ก๋๋ฅผ0์ผ๋ก ํ์ํ๋ ์๊ฐ ํญ๋ชฉ๋ ๋ก์ปฌ์์ ์์ ํ์ต๋๋ค.
์ฒซ ์๋ณธ CI๋ ์คํจ๋ก ์ ์ ์ข
๋ฃํ์ต๋๋ค. ์คํจํ ์๋ฏธ ๊ฒ์ฌ๋ฅผ ์ฑ๊ณต ์ฆ๊ฑฐ๋ก ์ฌ์ฉํ ์ ์์ด
์ฆ๊ฑฐยทproof ๋จ๊ณ๋ ์คํจํ์ต๋๋ค. ๋น์ ์๋ณธ๊ณผ ๊ธฐ๋ก์
๋ณด์กดํ ๋ค, ์์ ์์ค์ ์ ์๋ณธ CI์
๋ค ํ๋ซํผ ์ค๋น ๊ฒ์ฌ๋
ํต๊ณผํ์ต๋๋ค. ๊ทธ ์๋ณธ์ Gooo ์ค๋น ํ๋จ์7๊ฐ ์กฐ๊ฑด ์ถฉ์กฑยท๋ฏธ๊ด์ธก0ยท๋ฐ๋ฐ0์ด๋ฉฐ,
๋ค์ ์์
์ MERGE_VALIDATED_CANDIDATE๋ก ๊ธฐ๋กํฉ๋๋ค.
์ค๋น ํ๋จยท์๋ณธยท์ง๋ฌธ.
์ ์ฒด CI์ ์ฆ๊ฑฐ๋ ํต๊ณผํด ์์ ์ ์ ๋ณํฉ์ผ๋ก ์ด์ด์ก์ต๋๋ค.
๊นจ๋ํ ๋ก์ปฌ ํ์ ์์ค 3def7c5d์ ํ ๋ฒ์ ์ฌ์ ํ์ธ์์ ์ค์ ๋ก๋0.638167ms,
์ ์ฒด1.294917ms๋ฅผ ๊ธฐ๋กํ์ต๋๋ค. ์์ธกยทํ๋ณด ๊ฒ์ฌ0ํ, ๋์๋ง์ ๊ธฐ์กด ์ถ๋ ฅ๊ณผ ๋ฐ์ดํธ ๋์ผ์
ํ์ธํ์ต๋๋ค. ์ฒซ ์์ฐ์์ ์๊ฐ ๊ธฐ๋ก์ ๊ทธ๋๋ก ๋ณด๊ดํ๋ฉฐ ์๋ ๊ฐ์ ์ ๋น๊ต๋ก ํด์ํ์ง ์์ต๋๋ค.
ํ ๋ช ๋ น์ผ๋ก ๋ณด๊ธฐ
๋ณํฉ๋ dev ์์ค๋ฅผ ์ค๋นํ ์ปดํ์ผ๋ฌ ํด๋์์ ์คํํฉ๋๋ค.
go run ./cmd/gooo body-context --activity Choose --include-plan \
--model examples/scalar-identity/model/model.json \
examples/caller-typed-paths/unary.gooo.fixture
์ด ์์ ๋ ์์ ์ฌ๋ถ์ ๋ฐ๋ผ ๋ ๋ถ๊ธฐ ์ค ํ๋๋ฅผ ๊ณ ๋ฆ
๋๋ค. ๋๋ด ๋ชจ๋ธ์ ์ธ ๋ ์ฝ๋ ํ๋์
๋ง์ถฐ ํ์ตํ ๋ชจ๋ธ์ด๋ผ ์ ํ ํ๋์๋ THREE_DECISION_COUNT_UNSUPPORTED๊ฐ ๋์ต๋๋ค.
๋ช
๋ น์ ๊ทธ ์ด์ ๋ฅผ ์ ์ ๊ฒฐ๊ณผ๋ก ๋๋ ค์ฃผ๋ฉฐ ์กฐ๋ฆฝ์ ๊ฒฐ์ ๋ก ์ ์ผ๋ก ์งํํ ์ ์์ต๋๋ค.
model_compatibility์ ์ค์ ์ฝ์ ๋ชจ๋ธ ์ง๋ฌธ๊ณผ ์
๋ ฅ ๊ฐ๋ฅ ์ฌ๋ถ๊ฐ ์์ต๋๋ค.
expanded_plan์๋ ์๋ ์ ํ IDยทํ๋ณดยท๊ธฐ๋ณธ๊ฐ๊ณผ ๋ณ๋ ์ ํ ์ฌ๋ก๊ฐ ์์ต๋๋ค.
์
๋ ฅ ๊ฐ๋ฅํ ๋ ์ ํยท์ธ ์ ํ ๋ชจ๋ธ์ ์ค์ ๋ก ๋ฐ๋ ์ ์ฒด ์
๋ ฅ๋ ํจ๊ป ๋ด๋ณด๋
๋๋ค.
์ฌ์ ํ์ธ์ ๋ชจ๋ธ ์์ธก๊ณผ ํ๋ณด ๊ฒ์ฌ ์๋ 0์
๋๋ค. ํ์
๊ณผ ์์ค๋ฅผ ๊ฒ์ฌํ๋ ๋น์ฉ์ ์์ต๋๋ค.
์ง์ ์ด์ด์ ์ด ๊ฒฐ๊ณผ
๊นจ๋ํ ๊ฐ๋ฐ ์์ฐ์ 2ee8e0e1๊ณผ ๊ธฐ์กด ์์ฒด ๋ชจ๋ธ์ ์ฌ์ฉํ์ต๋๋ค. ๋ ์ฝ๋ ์
๋ ฅ์ ์๋ฌธยท์ง๋ฌธ,
๋ถ๊ธฐ์ ๊ฑฐ์ ์ด์ ๊ฐ ์ฌ์ ํ์ธ๊ณผ ์ค์ ์ด๊ธฐ ์์ฑ์์ ๊ฐ์์ต๋๋ค. ๋ ์ฝ๋ ์์ธก1ํยท๋ถ๊ธฐ0ํ๋ก
์งํํ๊ณ , ํ๋ก๊ทธ๋จ11์๋์์ ๋ง์ง๋ง ๋ณ๋ ์
๋ ฅ3/3๊ณผ ์ ์์ธก ์๋ ์ ์ฅ ์ฌ์3/3์ ํ์ธํ์ต๋๋ค.
๋ชจ๋ธ ํ
์๋2,096๋ฐ์ดํธ, ํ ๋ฒ์ ์์ธก ์๊ฐ์25,208ns์์ต๋๋ค. ํ์ต ๋
ธ์ถ์ UNKNOWN์
๋๋ค.
์ ํ์ต ํ์ง์ด๋ ์๋ ์ ๊ฐ์ ์ ์ธก์ ํ ์คํ์ผ๋ก ํด์ํ์ง ์์ต๋๋ค.
์คํ ์๋ด์ ์ ๋ ฅ ๊ณ์ฝ ยท ์ค์ ์คํยท์คํจยท๊ฒ์ฌ ์๋ณธ.
์ค์นํ ์ ์์ฐ์ 426caecb์ ๋ณ๋ ์คํ์์๋ ๋ ์ฝ๋1์์ธกยท๋ถ๊ธฐ0์์ธก,
11์๋/์์ฐ16, ๋ง์ง๋ง ๋ณ๋ ์
๋ ฅ3/3ยท์ฌ์3/3์ ํ์ธํ์ต๋๋ค. ์ฒ์ ํจ์๋ณ ์ฌ๋ก๋2/2์์ง๋ง
์ฒ์ ์ ์ฒด ํธ์ถ์0/1์ด์์ต๋๋ค. ํจ์์ ์์ ์ฌ๋ก๋ง์ผ๋ก ์ ์ฒด ์กฐํฉ์ ๋์์ ํ์ ํ๊ธฐ๋ ์ด๋ ต์ต๋๋ค.
๊ธฐ์กด ๋ชจ๋ธ์ ํ ๋ฒ์ ์์ธก์31,041ns, ์์ฑ ๋ช
๋ น ์ ์ฒด๋6.13sยท์ต๋RSS87,457,792๋ฐ์ดํธ์์ต๋๋ค.
๋ถ๊ธฐ ์ฌ์ ํ์ธ์ ๋ชจ๋ธ ๋ก๋๋0.412708msยท์ ์ฒด0.791ms์์ต๋๋ค. ๊ฐ๊ฐ ํ ๋ฒ์ ๊ด์ธก์ด๋ฉฐ
์๋ยทํ์ต ํ์ง์ ๊ฐ์ ๋น๊ต๋ฅผ ์ํํ ๊ฒฐ๊ณผ๋ ์์ต๋๋ค.
๊ฒฐ๊ณผ์ ๋ฐ๋ผ ์ด์ด๊ฐ๊ธฐ
| ๊ฒฐ๊ณผ | ์ฝ๋ ๋ป๊ณผ ๋ค์ ๋จ๊ณ |
|---|---|
READY_FOR_RANKING |
์ด ์์ค๋ฅผ ๋ชจ๋ธ ์ ๋ ฅ์ผ๋ก ํํํ ์ ์์ต๋๋ค. ์กฐ๋ฆฝ์ ์คํํด์ ์ค์ ๊ฒฐ๊ณผ๋ฅผ ํ์ธํฉ๋๋ค. |
DECLINED_TO_DETERMINISTIC |
์ ๋ ฅ ๊ท๊ฒฉ์ด ๋ง์ง ์์ ์ด์ ๊ฐ ๊ธฐ๋ก๋ฉ๋๋ค. ์กฐ๋ฆฝ์ ๊ณ ์ ์์๋ก ์งํํ ์ ์์ต๋๋ค. |
| ํ์ผยท๋ชจ๋ธยท์์ค ๊ฒ์ฌ ์ค๋ฅ | ๋ช ๋ น์ด ์คํจ๋ก ๋๋ฉ๋๋ค. ์ง๋ชฉํ ํ์ผ์ด๋ ์์คยท๊ณํ ๋ถ์ผ์น๋ฅผ ๋จผ์ ๊ณ ์นฉ๋๋ค. |
์ฌ์ ํ์ธ์ ๋ชจ๋ธ์ ํ ๋ฒ ์ฝ์ง๋ง ์์ธก์ ํ์ง ์์ต๋๋ค. --include-plan์ ํ๋ณด์ ID์
๋ด์ฉ์ ๋ ๋ณด์ฌ์ฃผ๋ ์ต์
์
๋๋ค. ์กฐ๋ฆฝ์ฉ ์ฌ๋ก์ ๋์ค์ ํ๊ฐํ ์
๋ ฅ์ ๋ณ๋๋ก ์ค๋นํฉ๋๋ค.
ํ์ธ ๋ช
๋ น์ ์ ์ ์ข
๋ฃ๊ฐ ์ดํ ํ๋ก๊ทธ๋จ์ ์์ฑ์ ๋ปํ์ง๋ ์์ต๋๋ค.
๋ชจ๋ธ๊ณผ ๊ณ ์ ์กฐ๋ฆฝ์ ํ ํ๋ก๊ทธ๋จ์์ ์ฐ๊ธฐ
๊ฐ์ ์์ ์ Pick์ ๊ฐยทํ์ธ ์ฌ๋ถยท๋ฌธ์ฅ์ ์ธ ํ๋๋ฅผ ์กฐ๋ฆฝํฉ๋๋ค. ๋๋ด ๋ชจ๋ธ์ด ๋ฐ๋
๊ท๊ฒฉ์ ๋ง์ READY_FOR_RANKING์ ํ์ธํ ์ ์์ต๋๋ค. ๋ณํฉ๋ dev ์์ค ํด๋์์
๊ฐ๋ฐ ์คํ ํ์ผ์ ๋ณ๋ ์ด๋ฆ์ผ๋ก ๋น๋ํ ๋ค ์ฌ์ฉํฉ๋๋ค.
GOWORK=off GOTOOLCHAIN=go1.27.2 go build -o /tmp/gooo-preflight-demo ./cmd/gooo
/tmp/gooo-preflight-demo body-context --activity Pick \
--model examples/scalar-identity/model/model.json \
examples/caller-typed-paths/mixed-model.gooo.fixture
/tmp/gooo-preflight-demo body-construct \
--source examples/caller-typed-paths/mixed-model.gooo.fixture --entry Main \
--construction-cases examples/caller-typed-paths/mixed-construction-cases.json \
--cases examples/caller-typed-paths/mixed-evaluation-cases.json \
--model examples/scalar-identity/model/model.json --attempts 16 \
--out /tmp/gooo-preflight-example
/tmp/gooo-preflight-demo body-construct \
--source /tmp/gooo-preflight-example/original.gooo \
--construction /tmp/gooo-preflight-example/construction.json \
--cases examples/caller-typed-paths/mixed-evaluation-cases.json
์ถ๋ ฅ ํด๋๋ ์ ๊ฒฝ๋ก๋ฅผ ์ฌ์ฉํฉ๋๋ค. ์ฒ์ ๋ ํจ์์ ์ญํ ์ ๋ค์๊ณผ ๊ฐ์ต๋๋ค.
| ๋ณธ๋ฌธ | ์กฐ๋ฆฝ์ ์ฐ๋ ๊ฒฝ๋ก |
|---|---|
Pick์ ๋ ์ฝ๋ ์ธ ํ๋ |
๊ธฐ์กด ์์ฒด ๋ชจ๋ธ์ด ์ฒซ ์กฐํฉ์ ์ถ์ฒํ๊ณ Gooo๊ฐ ์ ์ธํ ์ฌ๋ก๋ฅผ ํ์ธํฉ๋๋ค. |
Choose์ ๋ถ๊ธฐ ํ๋ |
๋ชจ๋ธ ์ ๋ ฅ ์๊ฐ ๋ง์ง ์์ ์ด์ ๋ฅผ ๋จ๊ธฐ๊ณ ๊ณ ์ ์์๋ก ์กฐ๋ฆฝํฉ๋๋ค. |
Main์ ๋ ํจ์ ํธ์ถ |
์ค์ ํธ์ถ์ ๊ธฐ๋๊ฐ์ ๋ณด๊ณ ์ ํ๋ ์กฐํฉ์ ๋ค์ ํ์ธํฉ๋๋ค. |
์ ์ฅ ์ฌ์ ๋ช
๋ น์ ์ ํ๋ณด๋ฅผ ๊ณ ๋ฅด์ง ์์ต๋๋ค. ์์ฑ ๋น์ ์กฐ๋ฆฝ์ฉ ์
๋ ฅ 3๊ณผ
๋์ค์ ํ๊ฐํ๋ 7, -5, 9007199254740993์ ๋ฐ๋ก ๋จ๊น๋๋ค.
์์์ ์๊ฐํ ์ฒซ ๊ฐ๋ฐ ์์ฐ์ 2ee8e0e1์3/3 ์๋ณธ๊ณผ,
๋ณํฉยท์ค์นํ426์ ์ ์คํ์ ๊ฐ๊ฐ์ ์์ฐ์๋ก ๊ตฌ๋ถํด ๋ณด๊ดํฉ๋๋ค.
์ด์ด ์ค์น๋ณธ426์์๋ ๊ฐ์ ๊ฒฝ๋ก๋ฅผ ์๋ก ์คํํ ๊ธฐ๋ก์ ์ ์๋ณธ ๋ฌถ์์ ๋ณด๊ดํ์ต๋๋ค. ๋ณํฉ ๋ค ์๋ณธ ์ค๋น ๊ฒ์ฌ๋ ๋ค ํ๋ซํผ์์ ํต๊ณผํ์ต๋๋ค. ์๋ณธ push CI๋ ์๋ณธ attempt1/suite102958674785์์ ์ฌ์ฏ ๊ฒ์ฌ์ ์ฆ๊ฑฐ๋ฅผ ํต๊ณผํ๋ฉฐ ์๋ฃํ์ต๋๋ค. ์๋ณธ ์คํ์ ์ทจ์ํ๊ฑฐ๋ ์ฌ์คํํ์ง ์์์ต๋๋ค.
์ด๋ฒ์ ๊ฐ์ ธ์จ ์์ด๋์ด
Microsoft์ ์์ ํ๋จ ์์ ์ค๋ช ๊ณผ pg-jev์ ์ฐ์ฐ ์ฐ๊ฒฐ์์ ์ ํด์ง ์ ํ์งยท๊ด์ธก ๊ฐ๋ฅํ ์ ๋ ฅ์ ์ฐธ๊ณ ํ์ต๋๋ค. Gooo ์์ค๊ฐ ํ๋ณด๋ฅผ ์ ์ํ๊ณ ์ค์ ์์ฑ์ด ๋ฐ์ ์ ๋ ฅ์ ํ์ธํ๋๋ก ์ ์ฉํ์ต๋๋ค. ๋ค์ ์ผ๋ฐ ๊ฒฝ๋ก ๋ชจ๋ธ์ ์ด๋ฏธ ์ง์ํ๋ ๊ฒฝ๋ก๋ณ ์ ๋ ฅ ๊ท๊ฒฉ์ผ๋ก ๋ถ๊ธฐยท๋ณ์ยท๋์ ยทํผ์ฐ์ฐ์ยท์์๋ฅผ ๋ค๋ฃฐ ์ ์์ต๋๋ค. ๊ธฐ์กด ๋ ์ฝ๋ ๊ฐ์ค์น๋ฅผ ๋ค๋ฅธ ์ ๋ ฅ์ผ๋ก ์ฌํด์ํ๋ ์์ ์ ์ถ๊ฐํ์ง ์์์ต๋๋ค.