-
Notifications
You must be signed in to change notification settings - Fork 0
Getting Started
업데이트: 2026-10-04. 작은 선언을 검사하고, Go 구조와 함수 바디를 생성해 봅니다.
시작 명령은 설치한 main 4f6c7566을 기준으로 합니다. 해당 go.mod는 Go1.27.1·SDK v0.2.21을 사용합니다. 아래 과거 개별 예제의 링크와 관측은 각 소스 시점을 유지합니다. 현재 상태에서 배포 근거를 확인할 수 있습니다.
새 폴더에 예제용 소스를 받을 경우:
git clone https://github.com/kimjooyoon/meta-ontology-go.git
cd meta-ontology-go
git switch --detach 4f6c7566dd4390b04a48589c82eb2d9eea3a6589이미 작업 중인 저장소가 있다면 자신의 변경을 보존하고 사용할 리비전을 확인합니다.
소스·계획·기대값을 준비했다면 컴파일러를 빌드하고 한 명령으로 실행할 수 있습니다. 위 고정 소스의 루트에서 다음 명령을 실행합니다.
gooo_go_bin="$(GOTOOLCHAIN=go1.27.1 go env GOROOT)/bin/go"
"$gooo_go_bin" version
"$gooo_go_bin" build -o gooo ./cmd/gooo
./gooo body-path-run \
--source examples/body-codegen/typed-path-compound.gooo.fixture \
--activity Combined \
--path-plan examples/body-codegen/typed-path-compound-plan.json \
--cases examples/body-codegen/typed-path-runtime-cases.json \
--go-bin "$gooo_go_bin" --repeat 2 --out combined-resultscombined-results는 새 출력 폴더 이름입니다. 이미 있는 경로는 거부합니다.
생성된 코드는 run-N-generated.go, 현재 기대값의 충족 수와 분모는
summary.json에서 확인합니다. 설치본에서 이 명령의 2회 생성·4회 실행과
6/6 기대값을 확인했습니다. 모델 연결·한영 지시·출력 읽기.
빌드할 때 Go1.27.1을 선택해도 PATH의 기본 go가 바뀌지는 않습니다.
--go-bin은 실제 실행에 사용할 Go를 지정합니다. 소스 연결 기록을 남기려면
변경이 없는 Git 체크아웃에서 빌드합니다. go install ...@revision으로 받은
실행기는 모듈 버전을 보관하지만, 이번 관측에서는 Git 리비전이 내장되지 않아
결과의 소스 항목이 UNBOUND_LOCAL_SOURCE였습니다.
두 설치 방식·원래 도구 오류·실제 결과.
결제 예제는 주문과 결제 수단을 받아 결제 결과를 만드는 작업을 선언합니다.
go run ./cmd/gooo check examples/billing/main.gooo성공하면 선언의 이름·참조·의미 관계를 검사했다는 결과를 얻습니다. 여기서 읽을 관계는 PayOrder used Order, PayOrder used PaymentMethod, Payment wasGeneratedBy PayOrder입니다. 실제 결제 호출은 구현과 실행 단계에서 다룹니다.
out="$(mktemp -d)"
go run ./cmd/gooo generate examples/conformance/main.gooo --out "$out"이 예제는 임시 출력 폴더에 semantic.gooo.go를 생성합니다. Gooo 선언이 구조를 소유하며, 별도의 구현 로직은 생성 계약이 정한 슬롯에 들어갑니다. 생성 구조와 슬롯 안내.
저장소에 있는 ClampBelowZero 원본은 지역 변수, 대입과 조건 분기를 사용합니다.
go run ./cmd/gooo body-codegen --activity ClampBelowZero \
examples/body-codegen/main.gooo.fixture타입과 지원 문법을 확인한 뒤 Go 함수가 표준 출력으로 나옵니다. 원본 파일에 결과를 쓰는 작업은 호출자가 별도로 선택합니다.
조건·대입을 여러 줄로 직접 작성한 예제도 바로 생성할 수 있습니다.
go run ./cmd/gooo body-codegen --activity ClampBelowZero \
examples/body-codegen/raw-computes.gooo.fixture전체 소스와 문자열 규칙을 참고하세요. 설치본에서 이 바디를 별도로 컴파일·실행해 int64 경계값을 포함한 8/8 기대값을 확인했습니다.
모델 없이 허용된 조립 경로를 탐색하는 예제도 있습니다.
go run ./cmd/gooo body-codegen --json \
--path-plan examples/body-codegen/typed-path-compound-plan.json \
--activity Combined examples/body-codegen/typed-path-compound.gooo.fixture이 경로는 계획에 선언된 후보와 유한 예시를 사용합니다. 명시적으로 --path-model을 추가하면 호환되는 로컬 모델을 연결할 수 있습니다. 가중치 다운로드와 파일 선택은 모델 사용 안내를 따릅니다.
go run ./cmd/gooo run --entry PayOrder --json examples/billing/main.gooo이 단일 소스 예제의 DECLARATION_RESOLUTION_ONLY 결과는 선언의 입력·출력 전이를 해석한 기록입니다. 생성된 Go를 빌드하고 실행한 관측은 별도 결과에 남습니다. 실행 계약.
한국어 지시로 두 연산의 순서를 조립하고 실제 실행까지 해보려면
전체 후보 예제를
따라 실행할 수 있습니다. Gooo 소스, 짧은 레시피, 기대값과 공개 16 KiB 모델이 함께
들어 있습니다. 원본의 “더한 다음 곱한다”를 “곱한 다음 더한다”로 바꾸는 과제입니다.
--path-model을 생략하면 같은 후보와 예시에서 결정론적으로 조립합니다.
그 예제는 이제 Go 명령 하나로 생성과 실제 실행을 이어서 할 수 있습니다. 연구 저장소 루트에서 실행합니다.
out_root="$(mktemp -d)"
go run ./cmd/order-example \
--model publication/order-judge-initial-20261003/model.json \
--out "$out_root/model"--model을 생략하면 결정론적 경로를 사용합니다. 출력 폴더에 입력, 생성된 코드와
실제 기대값 비교가 남습니다. 응답이 도착하면 바로 실행하고 다음 요청을 보내며,
응답 시간과 실행 시간을 따로 표시합니다. 로컬·Linux 실행 원본.
반복 조립은 위 고정 main에 포함된 gooo body-path-stream으로 실행합니다.
별도 워커 빌드 없이 JSON 한 줄에 한 요청을 보내고 준비되는 결과부터 받습니다.
공개 연구 저장소의 루트에서 다음 명령을 사용할 수 있습니다.
gooo body-path-stream --workers 1 \
--model publication/order-judge-initial-20261003/model.json \
< examples/whole-candidate-order/worker-requests.jsonl \
> /tmp/gooo-order-stream-results.jsonl여기서 gooo는 컴파일러 저장소에서 go build -o gooo ./cmd/gooo로 빌드한 실행 파일을
PATH에 둔 것입니다. --model을 생략하면 결정론적으로 조립합니다. 각 줄의 status와
correlation_id를 확인하고, 실제 생성 코드는 response.source에서 읽습니다.
시작 정보는 표준 오류에 나옵니다. 병렬 결과는 준비되는 순서로 도착합니다.
두 요청의 생성·실행 예제
· main 병합·설치·32/32 실행 기대값의 원본.
- 작은 모델과 메타프로그래밍: 모델이 판단하는 내용과 실패 피드백.
- 지표와 증거: 타입 검사, 예시 충족, 생성·실행, 미해결 항목 읽기.
- 문법 오류와 UNKNOWN: 오류 위치와 재개할 작업 찾기.
- 언어 둘러보기: Entity, Activity, 안정적 ID와 관계.
명령은 고정된 구현과 예제를 근거로 정리했습니다. 위키 갱신 자체의 관측은 문서·링크 대조이며, 코드 생성·실행 수치는 별도의 공개 실험에 연결합니다.
앞선 eb8477d5 갱신에서는 해당 깨끗한 설치본으로 선언 검사, 구조 생성,
조건 바디 생성, 단일 소스 실행과 새 파일 조립·실행을 확인했습니다. 새 raw 바디의
1,024/1,024 기대값과 별도 clamp 8/8, 생성·실행 기록 비교도 확인했습니다.
앞선 스트림 명령의 설치 관측은 각 절의 공개 기록에 연결했습니다.
위의 설치본과 연구 저장소에서는 다음 명령으로 실행파일도 보관할 수 있습니다.
out_root="$(mktemp -d)"
go run ./cmd/order-example --retain-native \
--model publication/order-judge-initial-20261003/model.json \
--out "$out_root/model"--model을 생략하면 결정론적으로 진행합니다. 같은 바디의 두 번째 요청은
실행파일을 재사용하고 현재 입력은 새로 두 번 실행합니다. passed/total은 현재
기대값의 충족 수입니다. response_ms는 생성·실행을 포함하고, execution_ms는
그 안의 실행 구간이므로 둘을 더하지 않습니다. 원본·생성 Go·실제 결과가 폴더에 남습니다.
이 절의 앞선 8c6ec01c 설치 관측에서 모델·결정론 경로의 4회 생성·8회 실제 실행과
32/32 기대값을 확인했습니다.
반복 응답은 약 30ms였고, 첫 모델 응답 1.27초도 함께 기록했습니다. 새 기대값에서는
합격을 다시 계산했고 잘못된 형식은 생성 전에 거부됐습니다.
사용법·CI 원본·설치 지문·모든 결과.