Workflow Outcome Delta - kimjooyoon/meta-ontology-go GitHub Wiki

μš”κ΅¬λ₯Ό λ°”κΎΌ λ’€ κ²°κ³Ό λΉ„κ΅ν•˜κΈ°

μ—…λ°μ΄νŠΈ: 2026-10-11 KST.

PR1447의 gooo body-outcomes-deltaλ₯Ό 개발 브랜치의 59cc5c64에 λ³‘ν•©ν–ˆμŠ΅λ‹ˆλ‹€. μ›λž˜ PRκ³Ό λ³‘ν•©λœ μ†ŒμŠ€μ˜ 핡심 CIΒ·λ„€ ν”Œλž«νΌ 검사가 ν†΅κ³Όν–ˆμŠ΅λ‹ˆλ‹€. 곡개 0.6.27에 포함됐고 μ‹€μ œ 배포 νŒŒμΌμ„ μ„€μΉ˜ν•΄ ν™•μΈν–ˆμŠ΅λ‹ˆλ‹€.

예λ₯Ό λ“€μ–΄ 배치 μƒν•œμ„16μ—μ„œ32둜 λ°”κΎΈλ©΄ μž…λ ₯17의 결과도16μ—μ„œ17둜 λ°”λ€λ‹ˆλ‹€. μ΄λ•Œ κ²°κ³Όκ°€ λ‹¬λΌμ‘Œλ‹€λŠ” 이유만으둜 νšŒκ·€λΌκ³  μ„Έλ©΄ μš”κ΅¬ λ³€κ²½κ³Ό κ΅¬ν˜„ μ‹€νŒ¨κ°€ μ„žμž…λ‹ˆλ‹€. μƒˆ λͺ…령은 μ‹€μ œ 값이 바뀐 것과 κΈ°λŒ€κ°’μ΄ 바뀐 것을 ν•¨κ»˜ λ³΄μ—¬μ€λ‹ˆλ‹€.

μ €μž₯ν•œ 파일 두 개둜 μ‹€ν–‰

gooo body-outcomes-delta --before before.json --after after.json
gooo body-outcomes-delta --before before.json --after after.json --json

before.jsonκ³Ό after.json은 body-constructΒ·body-composeκ°€ 좜λ ₯ν•œ JSON, λ˜λŠ” 쑰립 ν΄λ”μ˜ evaluation.jsonμž…λ‹ˆλ‹€. κΈ°λ³Έ 좜λ ₯은 μš”μ•½κ³Ό 바뀐 값을 λ³΄μ—¬μ€λ‹ˆλ‹€. --json은 κ·ΈλŒ€λ‘œμΈ κ°’κΉŒμ§€ λͺ¨λ‘ λ³΄κ΄€ν•©λ‹ˆλ‹€. μƒˆ λͺ¨λΈ νŒλ‹¨Β·μ½”λ“œ μ‹€ν–‰Β·μ™ΈλΆ€ μš”μ²­μ€ 0νšŒμž…λ‹ˆλ‹€. 개발 μ‹€ν–‰ νŒŒμΌμ„ λ§Œλ“œλŠ” 방법과 μ‹€μ œ 쑰립 λͺ…령은 전체 μ‚¬μš©λ²•μ— μžˆμŠ΅λ‹ˆλ‹€.

μ‹€μ œ 배치 κΈ°λ‘μ—μ„œ ν™•μΈν•œ λ‚΄μš©

μ•žμ„œ κ³΅κ°œν•œ 배치 예제의 μ›λž˜ μ‹€ν–‰ 기둝을 μ½μ—ˆμŠ΅λ‹ˆλ‹€. λͺ¨λΈ ν•™μŠ΅Β·μ‘°λ¦½Β·μ‹€ν–‰μ„ λ‹€μ‹œ ν•˜μ§€ μ•Šμ•˜μŠ΅λ‹ˆλ‹€.

비ꡐ 같은 μž…λ ₯으둜 μ—°κ²°λœ ν•­λͺ© μ‹€μ œ κ°’ λ³€κ²½ κΈ°λŒ€κ°’ λ³€κ²½ 같은 μš”κ΅¬μ—μ„œ νšŒκ·€
μƒν•œ16 β†’ μƒν•œ32 10 5 5 0
μ›λž˜ 쑰립 β†’ μ €μž₯ μž¬μ‹€ν–‰ 10 0 0 0

μž…λ ₯17μ—μ„œλŠ” actual: 16 -> 17; expected: 16 -> 17을 λ³΄μ—¬μ€λ‹ˆλ‹€. μž…λ ₯15μ—μ„œλŠ” μ‹€μ œ κ°’κ³Ό κΈ°λŒ€κ°’μ΄ λͺ¨λ‘15둜 μœ μ§€λ©λ‹ˆλ‹€. 9007199254740993처럼 큰 μ •μˆ˜λ„ μ •ν™•ν•˜κ²Œ μ—°κ²°ν•©λ‹ˆλ‹€. 원본과 비ꡐ κ²°κ³Ό.

이것은 ν•©μ„± 업무 ν•˜λ‚˜μ˜ 기둝 λΉ„κ΅μž…λ‹ˆλ‹€. 운영 μž₯μ•  κ°μ†ŒΒ·κ°œλ°œ μ‹œκ°„ μ ˆμ•½Β·κ³ κ° μˆ˜μš”λŠ” 아직 별도 관츑이 ν•„μš”ν•©λ‹ˆλ‹€. 비ꡐ μ„±κ³΅μ˜ μ’…λ£Œ μ½”λ“œ0도 λͺ¨λ“  업무 μš”κ΅¬μ˜ 좩쑱을 λœ»ν•˜μ§€ μ•ŠμŠ΅λ‹ˆλ‹€.

μ–΄λ–»κ²Œ 같은 μž…λ ₯을 μ°ΎλŠ”κ°€

ν–‰ 번호 λŒ€μ‹  전체 μ™ΈλΆ€ μž…λ ₯ 묢음과 ν™œλ™μ˜ 의미 ID둜 맞μΆ₯λ‹ˆλ‹€. μž…λ ₯의 μˆœμ„œκ°€ λ°”λ€Œμ–΄λ„ 같은 λŒ€μƒμ„ μ°ΎμŠ΅λ‹ˆλ‹€. μ—¬λŸ¬ λ£¨νŠΈλ‚˜ μž…λ ₯ ν¬νŠΈκ°€ 있으면 λͺ¨λ‘ ν¬ν•¨ν•©λ‹ˆλ‹€. μ•ž ν•¨μˆ˜μ˜ 결과둜 μ „λ‹¬λœ 쀑간 값은 μ›λž˜ μ™ΈλΆ€ μž…λ ₯을 λŒ€μ‹ ν•˜μ§€ μ•ŠμŠ΅λ‹ˆλ‹€.

  • κΈ°λŒ€κ°’μ΄ μ„œλ‘œ λ‹€λ₯΄λ©΄ REQUIREMENT_CHANGED둜 ν‘œμ‹œν•©λ‹ˆλ‹€.
  • 같은 κΈ°λŒ€κ°’μ— λŒ€ν•΄ ν†΅κ³Όβ†’μ‹€νŒ¨μ΄λ©΄ REGRESSION, μ‹€νŒ¨β†’ν†΅κ³Όμ΄λ©΄ IMPROVEMENTμž…λ‹ˆλ‹€.
  • ν•œμͺ½ μž…λ ₯·좜λ ₯Β·κΈ°λŒ€κ°’μ΄ μ—†μœΌλ©΄ UNOBSERVED둜 λ‚¨κΉλ‹ˆλ‹€.
  • 같은 μž…λ ₯을 λ°˜λ³΅ν•œ 기둝듀이 μ„œλ‘œ μΆ©λŒν•˜λ©΄ AMBIGUOUS둜 남기고 원본을 λͺ¨λ‘ λ³΄μ—¬μ€λ‹ˆλ‹€.
  • μ‚°μˆ  μ‹€νŒ¨μ™€ 이전 λ‹¨κ³„μ˜ μ‹€νŒ¨λ‘œ λ§‰νžŒ 결과도 λ”°λ‘œ λ³΄κ΄€ν•©λ‹ˆλ‹€.

λ³΄κ³ μ„œμ˜ κ΅¬μ‘°λŠ” Gooo둜 μ„ μ–Έν•˜κ³  Go ꡬ쑰체와 JSON Schemaλ₯Ό μƒμ„±ν•©λ‹ˆλ‹€. μž…λ ₯ μ—°κ²°κ³Ό μ •ν™•ν•œ κ°’ λΉ„κ΅λŠ” Go둜 κ΅¬ν˜„ν–ˆμŠ΅λ‹ˆλ‹€. 제곡된 기둝의 일관성을 ν™•μΈν•˜λŠ” 도ꡬ이며, μ‹€μ œ μ‹€ν–‰ μ—¬λΆ€μ˜ 증λͺ…μ΄λ‚˜ 아직 μž…λ ₯ν•˜μ§€ μ•Šμ€ μ‚¬λ‘€κΉŒμ§€μ˜ μ •ν™•λ„λŠ” μ›λž˜ μ‹€ν–‰ 근거둜 ν™•μΈν•©λ‹ˆλ‹€.

κΈ°μ‘΄ completeness-deltaλŠ” 같은 μΈ‘μ • 쑰건의 μ§€ν‘œ λ³€ν™”λ₯Ό μ½λŠ” 데 계속 μ‚¬μš©ν•©λ‹ˆλ‹€. 이번 κΈ°λŠ₯은 업무 μš”κ΅¬κ°€ 바뀐 λ’€ κ°œλ³„ μž…λ ₯의 κ²°κ³Όλ₯Ό μ½λŠ” κ²½λ‘œμž…λ‹ˆλ‹€.

개발 μƒνƒœ

첫 CIμ—μ„œ μƒˆ λ³΄κ³ μ„œ μ„ μ–Έμ˜ 검사 λͺ©λ‘ 등둝이 λΉ μ§„ 것을 λ°œκ²¬ν–ˆμŠ΅λ‹ˆλ‹€. 이λ₯Ό λ“±λ‘ν•˜κ³  선언·생성 GoΒ·JSON Schema의 λ³€κ²½κ³Ό λˆ„λ½μ„ κ²€μ‚¬ν•˜λ„λ‘ λ³΄μ™„ν–ˆμŠ΅λ‹ˆλ‹€. 배치 μ˜ˆμ œλŠ” κΈ°μ‘΄ 쑰립 μ˜ˆμ œλ“€κ³Ό 같은 .gooo.fixture 이름을 μ‚¬μš©ν•˜λ©°, 파일 λ‚΄μš©μ€ 원본 κ·ΈλŒ€λ‘œμž…λ‹ˆλ‹€.

μˆ˜μ •λ³Έμ˜ 둜컬 전체 ν…ŒμŠ€νŠΈλŠ” νŒ¨ν‚€μ§€ μˆœμ„œλŒ€λ‘œ μ‹€ν–‰ν•΄ ν†΅κ³Όν–ˆμŠ΅λ‹ˆλ‹€. 병렬 전체 κ²€μ‚¬μ—μ„œλŠ” μ—¬λŸ¬ λ„€μ΄ν‹°λΈŒ 싀행이 2초 μ œν•œμ— κ±Έλ Έκ³ , 이 μ‹€νŒ¨λ„ 기둝에 λ‚¨κ²ΌμŠ΅λ‹ˆλ‹€. κΉ¨λ—ν•œ μˆ˜μ • μ†ŒμŠ€λ‘œ λ§Œλ“  비ꡐ λͺ…λ Ήμ˜ 좜λ ₯은 κ³΅κ°œν•œ 비ꡐ 결과와 λ°”μ΄νŠΈ λ‹¨μœ„λ‘œ κ°™μ•˜μŠ΅λ‹ˆλ‹€. μˆ˜μ •λ³Έ CI와 λ„€ ν”Œλž«νΌ 검사가 ν†΅κ³Όν–ˆμŠ΅λ‹ˆλ‹€. 별도 AI μŠ€μΊ”μ€ μ„œλΉ„μŠ€ μ‚¬μš©λŸ‰ ν•œλ„ 였λ₯˜λ‘œ μ‹€νŒ¨ν•œ μƒνƒœλ₯Ό κ·ΈλŒ€λ‘œ λ‚¨κ²ΌμŠ΅λ‹ˆλ‹€.

κ²€μ‚¬ν•œ μ†ŒμŠ€μ™€ λ™μΌν•œ λ‚΄μš©μ„ dev의 59cc5c64에 λ³‘ν•©ν–ˆμŠ΅λ‹ˆλ‹€. 병합 ν›„ CI와 병합 ν›„ ν”Œλž«νΌ 검사가 ν†΅κ³Όν–ˆμŠ΅λ‹ˆλ‹€. 보쑰 μžλ™ μŠΉκ²©μ€ App μ„€μ • λˆ„λ½, λ³€ν™˜ 효과 기둝의 λ‘€λ°± νŒμ •μ€ ROLLBACK_FIXED_POINT_REJECTED둜 μ‹€νŒ¨ν•œ μƒνƒœλ₯Ό λ”°λ‘œ λ‚¨κ²ΌμŠ΅λ‹ˆλ‹€.

0.6.27 배포 μ€€λΉ„ PR1448을 dev의 34eb72d6에 λ³‘ν•©ν–ˆμŠ΅λ‹ˆλ‹€. μ €μž₯ μ›λ³ΈμœΌλ‘œ 두 비ꡐ κ²°κ³Όλ₯Ό ν™•μΈν•˜λŠ” λͺ…령을 λ„€ ν”Œλž«νΌμ˜ 배포 μ€€λΉ„ 과정에 λ„£μ—ˆμŠ΅λ‹ˆλ‹€. 둜컬 μ‹€ν–‰ 파일의 두 κ²°κ³ΌλŠ” μ›λž˜ λ³΄κ΄€ν•œ JSONκ³Ό κ°™μ•˜μŠ΅λ‹ˆλ‹€. PR의 μ›λž˜ 핡심 검사, λ„€ ν”Œλž«νΌ μ€€λΉ„, 배포 계약 검사가 ν†΅κ³Όν–ˆμŠ΅λ‹ˆλ‹€. λ³‘ν•©λœ μ†ŒμŠ€μ˜ 핡심 검사와 ν”Œλž«νΌ μ€€λΉ„κ°€ ν†΅κ³Όν–ˆμŠ΅λ‹ˆλ‹€. μ›λž˜ 배포 μ‹€ν–‰μ—μ„œ 0.6.27을 κ³΅κ°œν–ˆκ³ , μ‹€μ œ μ„€μΉ˜ 파일의 비ꡐ JSON도 μ›λž˜ λ³΄κ΄€ν•œ κ°’κ³Ό κ°™μ•˜μŠ΅λ‹ˆλ‹€. 별도 AI μŠ€μΊ”μ˜ μ‚¬μš©λŸ‰ ν•œλ„ μ‹€νŒ¨λŠ” μ›λž˜ 기둝에 λ‚¨κΉλ‹ˆλ‹€.

νŒ€ 곡유용 Markdown λ³΄κ³ μ„œμ™€ Go 비ꡐ κ΅¬ν˜„μ€ 후속 PR1449의 μ›λž˜ 검사λ₯Ό 톡과해 개발 브랜치 22ac71e0에 λ³‘ν•©ν–ˆμŠ΅λ‹ˆλ‹€. λ³‘ν•©λœ μ†ŒμŠ€μ˜ 별도 검사가 μ§„ν–‰ 쀑이며, 곡개 0.6.27은 κΈ°λ³Έ ν…μŠ€νŠΈμ™€ JSON 비ꡐλ₯Ό μ§€μ›ν•©λ‹ˆλ‹€.