Source and Model Preflight - kimjooyoon/meta-ontology-go GitHub Wiki

쑰립 전에 μ†ŒμŠ€μ™€ λͺ¨λΈμ΄ λ§žλŠ”μ§€ 보기

μž‘μ€ 자체 λͺ¨λΈμ€ μ„Έ ν•„λ“œμ˜ 선택을 μž…λ ₯으둜 λ°›μŠ΅λ‹ˆλ‹€. μ†ŒμŠ€μ— 선택이 ν•˜λ‚˜λΏμ΄λΌλ©΄ 쑰립 전에 이유λ₯Ό ν™•μΈν•˜κ³  κ³ μ • μˆœμ„œλ‘œ μ§„ν–‰ν•  수 μžˆμŠ΅λ‹ˆλ‹€. tinyjs의 지원 κΈ°λŠ₯Β·ν•„μš” 쑰건 μ‘°νšŒμ—μ„œ 이 μ‚¬μš©μ„± 원리λ₯Ό μ°Έκ³ ν–ˆμŠ΅λ‹ˆλ‹€.

개발 PR 1423의 μ†ŒμŠ€ 855c0713λŠ” κΈ°μ‘΄ body-context에 --model을 μΆ”κ°€ν–ˆμŠ΅λ‹ˆλ‹€. μ†ŒμŠ€μ— μ„ μ–Έν•œ λ ˆμ½”λ“œ 쑰립과 μ‹€μ œλ‘œ 읽은 λͺ¨λΈμ˜ μž…λ ₯ κ·œκ²©μ„ μ—°κ²°ν•©λ‹ˆλ‹€. κΈ΄ μž…λ ₯ 규격 이름을 직접 μ λŠ” λŒ€μ‹ , λͺ¨λΈμ— λ§žλŠ” ν‘œν˜„μ„ μ»΄νŒŒμΌλŸ¬κ°€ κ³ λ¦…λ‹ˆλ‹€. ν•„μˆ˜ CI와 λ„€ ν”Œλž«νΌ 원본을 ν™•μΈν•œ λ’€ 개발 브랜치 e5be9871둜 λ³‘ν•©ν–ˆμŠ΅λ‹ˆλ‹€. 병합 λ’€ μƒˆ dev μ†ŒμŠ€μ˜ μ€€λΉ„ 쑰건도 7/7μž…λ‹ˆλ‹€. 이 κΈ°λŠ₯은 곡개 0.6.22에 ν¬ν•¨λμŠ΅λ‹ˆλ‹€. 같은 μ†ŒμŠ€μ˜ μ„€μΉ˜ 파일둜 두 사전 확인과 μ—¬λŸ μ‘°λ¦½Β·μž¬μƒ λ³΄κ³ μ„œμ˜ μž…λ ₯ μ§€λ¬ΈΒ·0회 μΉ΄μš΄ν„°Β·μ‹€μ œ ν˜ΈμΆœμ„ ν™•μΈν–ˆμŠ΅λ‹ˆλ‹€. κ³΅κ°œΒ·μ„€μΉ˜ 원본.

go run ./cmd/gooo body-context --activity Describe \
  --model examples/scalar-identity/model/model.json \
  examples/scalar-identity/source.gooo.fixture
응닡 μ½λŠ” 방법
READY_FOR_RANKING ν•΄λ‹Ή λͺ¨λΈμ΄ 받을 μž…λ ₯ ν‘œν˜„μ„ λ§Œλ“€μ—ˆμŠ΅λ‹ˆλ‹€. λ‹€μŒμ— 쑰립을 μš”μ²­ν•  수 μžˆμŠ΅λ‹ˆλ‹€.
DECLINED_TO_DETERMINISTIC μž…λ ₯ ν‘œν˜„μ΄ λͺ¨λΈ 규격과 λ§žμ§€ μ•ŠμŠ΅λ‹ˆλ‹€. ν‘œμ‹œλœ 이유λ₯Ό ν™•μΈν•˜κ³  κ³ μ • μˆœμ„œλ‘œ μ§„ν–‰ν•©λ‹ˆλ‹€.
FAIL_CLOSED λͺ¨λΈ νŒŒμΌμ΄λ‚˜ μ†ŒμŠ€ 확인에 μ‹€νŒ¨ν–ˆμŠ΅λ‹ˆλ‹€. ν•΄λ‹Ή μž…λ ₯을 λ¨Όμ € μˆ˜μ •ν•©λ‹ˆλ‹€.

READY_FOR_RANKING은 μ½”λ“œμ˜ μ •λ‹΅λ₯ μ„ λ§ν•˜μ§€ μ•ŠμŠ΅λ‹ˆλ‹€. 이 μ‘°νšŒλŠ” λͺ¨λΈ 예츑과 후보 ν…ŒμŠ€νŠΈκ°€ λͺ¨λ‘ 0νšŒμž…λ‹ˆλ‹€. νŒŒμΌμ„ ν™•μΈν•˜κ³  μ†ŒμŠ€ λŒ€μ•ˆμ˜ νƒ€μž…κ³Ό μž…λ ₯ ν‘œν˜„μ„ μ€€λΉ„ν•©λ‹ˆλ‹€. λͺ¨λΈΒ·κ°€μ€‘μΉ˜ μ§€λ¬Έ, μ€€λΉ„ μ‹œκ°„κ³Ό ν…μ„œ λ°”μ΄νŠΈλ„ ν™•μΈν•œ 파일 κΈ°μ€€μœΌλ‘œ λ‚¨κΉλ‹ˆλ‹€.

μ„Έ ν•„λ“œ 예제의 사전 쑰회 μž…λ ₯κ³Ό μ‹€μ œ λͺ¨λΈ 쑰립에 μ „λ‹¬λœ μž…λ ₯의 지문이 κ°™μ•˜μŠ΅λ‹ˆλ‹€. μ΄μ–΄μ„œ λͺ¨λΈ 호좜 1회둜 ν•„λ“œ 검사 12/12와 λ‹€λ₯Έ λ„€ μž…λ ₯의 μ‹€ν–‰ 4/4λ₯Ό ν™•μΈν–ˆμŠ΅λ‹ˆλ‹€. μ €μž₯ μž¬μƒμ€ μƒˆ λͺ¨λΈ 호좜 0νšŒμ˜€μŠ΅λ‹ˆλ‹€. ν•œ ν•„λ“œλ‘œ 쀄인 μ‘°νšŒλŠ” THREE_FIELD_CHOICES_REQUIRED와 빈 λͺ¨λΈ μž…λ ₯을 λ‚¨κ²ΌμŠ΅λ‹ˆλ‹€. λ³€κ²½ν•œ κ°€μ€‘μΉ˜Β·λ§žμ§€ μ•ŠλŠ” μž…λ ₯ λ²„μ „Β·μ·¨μ†Œλœ μš”μ²­λ„ κ±°μ ˆν•˜λŠ” νšŒκ·€ 검사λ₯Ό ν†΅κ³Όν–ˆμŠ΅λ‹ˆλ‹€. 초기 μ†ŒμŠ€ 2392641d의 CLI와 μ½”λ“œ 생성 λ™μ‹œ μ‹€ν–‰ κ²€μ‚¬λŠ” 134.340μ΄ˆμ™€ 33.900μ΄ˆμ— ν†΅κ³Όν–ˆμŠ΅λ‹ˆλ‹€. 원본 관츑은 κ·Έ μ†ŒμŠ€ κ·ΈλŒ€λ‘œ λ³΄μ‘΄ν–ˆμŠ΅λ‹ˆλ‹€. μ΅œμ’… 후보 936c7d8eλŠ” CLI race 136.121초, 배포 검사 νŒ¨ν‚€μ§€ race 7.914초λ₯Ό ν†΅κ³Όν–ˆκ³  μ½”λ“œ 생성 κ²€μ‚¬λŠ” 동일 μ½”λ“œμ˜ 톡과 기둝을 μž¬μ‚¬μš©ν–ˆμŠ΅λ‹ˆλ‹€. κΉ¨λ—ν•œ μ΅œμ’… μ‹€ν–‰ 파일둜 μ‹€μ œ λ„€μ΄ν‹°λΈŒ 사전 ν™•μΈΒ·μ‘°λ¦½Β·μž¬μƒμ„ λ‹€μ‹œ μ‹€ν–‰ν–ˆμŠ΅λ‹ˆλ‹€.

첫 PR 1422의 λ„€ ν”Œλž«νΌκ³Ό μ€€λΉ„ 쑰건 7/7도 원본 기둝으둜 ν™•μΈν–ˆμŠ΅λ‹ˆλ‹€. ν•„μˆ˜ CIμ—μ„œλŠ” ν…ŒμŠ€νŠΈμ˜ λ¬Έμžμ—΄ 순회 ν•œ 쀄이 Go 1.27의 μžλ™ 정리 κ·œμΉ™κ³Ό λ‹¬λžμŠ΅λ‹ˆλ‹€. CI와 같은 차이λ₯Ό λ‘œμ»¬μ—μ„œ μž¬ν˜„ν•˜κ³  855c0713μ—μ„œ μˆ˜μ •ν–ˆμŠ΅λ‹ˆλ‹€. μˆ˜μ • μ†ŒμŠ€μ˜ μžλ™ μ •λ¦¬Β·μ˜μ‘΄μ„± 정리 μ°¨μ΄λŠ” 0이고 μ‹€μ œ λ„€μ΄ν‹°λΈŒ ν”„λ‘œν•„μ€ 5.083μ΄ˆμ— ν†΅κ³Όν–ˆμŠ΅λ‹ˆλ‹€. μƒˆ μ‹€ν–‰ 파일의 쑰회 두 개·쑰립/μž¬μƒ μ—¬λŸ κ°œΒ·λ„μ›€λ§λ„ λͺ¨λ‘ μ‹€ν–‰ν–ˆμŠ΅λ‹ˆλ‹€. μƒˆ μ†ŒμŠ€μ˜ ν•„μˆ˜ CI와 λ„€ ν”Œλž«νΌ 검사λ₯Ό 톡과해 정상 λ³‘ν•©ν–ˆμŠ΅λ‹ˆλ‹€. 이전 PR1422λŠ” μ›λž˜ CIκ°€ μ‹€νŒ¨λ‘œ λλ‚œ λ’€ λ‹«μ•˜κ³  μ•žμ„  κ²°κ³ΌλŠ” λ‹Ήμ‹œ μ†ŒμŠ€λ‘œ 남겨 λ‘‘λ‹ˆλ‹€.

배포 ν”„λ‘œν•„μ€ 각 ν”Œλž«νΌμ—μ„œ ν•œκΈ€Β·μ˜λ¬Έ 쑰회 두 κ°œμ™€ κΈ°μ‘΄ μ‘°λ¦½Β·μž¬μƒ λ³΄κ³ μ„œ μ—¬λŸ 개λ₯Ό 남기도둝 ν™•μž₯ν–ˆμŠ΅λ‹ˆλ‹€. μ†ŒμŠ€Β·λͺ¨λΈΒ·ν•„λ“œ ID와 λͺ…μ‹œλœ 0회 μΉ΄μš΄ν„°λ₯Ό ν™•μΈν•˜κ³ , 쑰회 μž…λ ₯이 쑰립과 μ €μž₯ μž¬μƒμ—μ„œλ„ 같은지 λŒ€μ‘°ν•©λ‹ˆλ‹€. μΉ΄μš΄ν„°κ°€ μ—†μœΌλ©΄ 0으둜 κ°„μ£Όν•˜μ§€ μ•ŠμŠ΅λ‹ˆλ‹€. μ΄λŠ” κΈ°μ‘΄ νƒ€μž… 예제의 κ·Όκ±°λ₯Ό λŠ˜λ¦¬λŠ” 변경이며, 배포 사둀 μˆ˜λŠ” 26개둜 μœ μ§€ν•©λ‹ˆλ‹€. gooo help body-context, gooo help body-compose, gooo help modelsμ—μ„œ μ‹€μ œ λͺ…령을 읽을 수 μžˆμŠ΅λ‹ˆλ‹€.

이 μˆ«μžλŠ” μ •ν•΄μ§„ μ˜ˆμ œμ™€ 개발 μ†ŒμŠ€μ˜ κ²°κ³Όμž…λ‹ˆλ‹€. ν•™μŠ΅ 자료 λ…ΈμΆœ 여뢀와 일반적인 μ˜λ„ μΆ©μ‘±λ₯ μ€ ν™•μΈν•˜μ§€ μ•Šμ•˜μŠ΅λ‹ˆλ‹€. μ†ŒμŠ€ μ€‘μ‹¬μ˜ λ ˆμ½”λ“œ ν•„λ“œ 쑰립을 μš°μ„  μ§€μ›ν•˜κ³ , λ‹€λ₯Έ 쑰회 μ’…λ₯˜λŠ” κΈ°μ‘΄ μž…λ ₯ 규격 λ°©μ‹μœΌλ‘œ μ‚¬μš©ν•©λ‹ˆλ‹€. λͺ…λ Ήκ³Ό 지원 λ²”μœ„. 원본 μ‘°νšŒΒ·μ‘°λ¦½Β·μž¬μƒΒ·νšŒκ·€ 검사. μ΅œμ’… 후보 μ‘°νšŒΒ·μ‘°λ¦½Β·μž¬μƒΒ·λ„μ›€λ§Β·νšŒκ·€ 검사. μˆ˜μ • 후보와 CI 차이의 μž¬ν˜„.

ν•œ λͺ…λ ΉμœΌλ‘œ λ‹€μŒ 경둜 이어가기

μž‘μ—…μž₯ PR48에 assemble을 κ³΅κ°œν–ˆμŠ΅λ‹ˆλ‹€. 사전 확인 κ²°κ³Όλ₯Ό Gooo κ·œμΉ™μ΄ 읽어 λͺ¨λΈΒ·κ³ μ • μˆœμ„œΒ·μ€‘λ‹¨ 쀑 λ‹€μŒ 경둜λ₯Ό κ³ λ₯΄κ³ , μ‹€μ œ 쑰립과 μ €μž₯ μž¬μƒμ„ μ΄μ–΄μ„œ μ‹€ν–‰ν•©λ‹ˆλ‹€. ν„°λ―Έλ„μ—λŠ” 선택 μ΄μœ μ™€ 검사 κ²°κ³Ό, 생성 μ½”λ“œ μœ„μΉ˜κ°€ λ‚˜μ˜€κ³  μžλ™ν™”μ—μ„œλŠ” --json을 μ‚¬μš©ν•©λ‹ˆλ‹€. ν•œ λͺ…λ Ή μ‚¬μš©λ²•.

μž‘μ—…μž₯ λ°–μ—μ„œ ν•œκΈ€Β·μ˜λ¬Έ λͺ¨λΈ 경둜, λͺ¨λΈ μƒλž΅, ν•œ 선택 μ†ŒμŠ€μ˜ κ³ μ • μˆœμ„œ μ „ν™˜μ„ μ‹€ν–‰ν–ˆμŠ΅λ‹ˆλ‹€. 각 ν–‰μ˜ 호좜 사둀4/4와 ν•„λ“œ12/12, 같은 μ €μž₯ ν”„λ‘œκ·Έλž¨μ˜ 좜λ ₯을 ν™•μΈν–ˆμŠ΅λ‹ˆλ‹€. Gooo 경둜 κ·œμΉ™μ€ μ •λ‹΅ μ—†λŠ” μž…λ ₯0/0으둜 μ‹€ν–‰ν–ˆκ³  μƒˆ 좔둠은0νšŒμž…λ‹ˆλ‹€. μ›λ³Έμ˜ κΈ΄ κ·Έλž˜ν”„λŠ” νŒŒμΌμ— 남기며 짧은 λ³΄κ³ μ„œμ—λŠ” μ§€λ¬Έκ³Ό 원본 μœ„μΉ˜λ₯Ό μ—°κ²°ν•©λ‹ˆλ‹€. λ„€ 경둜의 원본과 μ‹œκ°„Β·λ©”λͺ¨λ¦¬ κ΄€μΈ‘. PR48의 원본 전체 CIλ₯Ό 확인해 main a03966f8에 λ³‘ν•©ν–ˆμŠ΅λ‹ˆλ‹€.

후속 PR49도 원본 전체 CIλ₯Ό 톡과해 main 7c37f4b3에 λ³‘ν•©ν–ˆμŠ΅λ‹ˆλ‹€. μ‹€μ œ 호좜 κ²°κ³Όκ°€ 일뢀 λ‹€λ₯΄λ©΄ Goooκ°€ λ°˜λ‘€λ₯Ό ν™•μΈν•˜λŠ” μž‘μ—…μ„ μ œμ•ˆν•©λ‹ˆλ‹€. κΈ°λ³Έ 좜λ ₯의 후속 κ²½λ‘œμ—μ„œ μž‘μ€ next-context.json을 μ—΄μ–΄ 원본 뢈일치 μœ„μΉ˜κΉŒμ§€ μ°Ύμ•„κ°ˆ 수 μžˆμŠ΅λ‹ˆλ‹€. κΈ°λŒ€ λ¬Έμžμ—΄μ„ λ°”κΎΌ 3/4 κ΄€μΈ‘κ³Ό μ›λž˜ 4/4 관츑을 λ”°λ‘œ λ‚¨κ²ΌμŠ΅λ‹ˆλ‹€. 쑰립용 ν•„λ“œμ™€ 호좜 결과도 λ”°λ‘œ μ„Έλ©°, μž…λ ₯Β·κΈ°λŒ€κ°’Β·ν° μ •μˆ˜μ™€ μ €μž₯ μž¬μƒμ„ μœ μ§€ν–ˆμŠ΅λ‹ˆλ‹€. 후속 μ œμ•ˆμ€ μƒˆ μΆ”λ‘  없이 μ‹€ν–‰ν•˜κ³ , μ½”λ“œ μˆ˜μ •κ³Ό λ‹€μŒ λͺ¨λΈ ν˜ΈμΆœμ€ 별도 λ‹¨κ³„μž…λ‹ˆλ‹€.

컴파일러 CIΒ·λ„€ ν”Œλž«νΌΒ·dev λ³‘ν•©μ˜ 원본.