Skip to content

Workflow Outcome Delta

kimjooyoon edited this page Oct 10, 2026 · 6 revisions

요구를 바꾼 뒤 결과 비교하기

업데이트: 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 비교를 지원합니다.

Gooo

배우기

직접 다뤄 보기

원리와 개발

공개 코드와 모델

Clone this wiki locally