-
Notifications
You must be signed in to change notification settings - Fork 0
Ecosystem Workbench
업데이트: 2026-10-06 KST.
gooo-ecosystem-workbench를 새 공개 저장소로 배포했습니다. Gooo로 표준 함수, 실행 결과의 진단 규칙, 새 Gooo 소스를 만드는 프로그램을 작성했습니다. 언어를 사용하는 데 필요한 작은 공구를 언어 자체로 만들어 보는 단계입니다.
| 도구 | Gooo가 구성하는 내용 | 실제 결과 |
|---|---|---|
| 표준 함수 | 정수 범위·경계 처리, 논리 연산, 텍스트 선택 | 13개 함수·7개 입력 묶음·91개 기대 출력 |
| 진단 프로그램 | 완료·부분 충족·관측 부족·잘못된 수에 따른 분기와 다음 작업 | code/message/action 레코드와 설명 문장 |
| 시작 프로그램 | scalar/record 요청에 맞는 파일명·Gooo 본문·다음 명령 | 검사와 Go 본문 생성을 거친 main.gooo |
| API 참조 | 컴파일러가 만든 공개 활동 시그니처와 안정 타입 ID | Gooo가 조립한 Markdown 참조 문서와 지문 |
| 완전성 영수증 | 근거가 있는 여섯 축의 상태와 최초 미해결 단계 | PASS·PROGRESS·UNKNOWN을 보존하고 단일 점수는 만들지 않음 |
| 인보이스 승인 예제 | 제출 상태와 검토자 상태를 평가하고 승인 레코드 전달 | 3개 시나리오, 실제 출력 6개·필드 18개 통과, 저장 재실행 |
| CI 계획 예제 | 변경 파일 묶음을 go, docs, yaml 확인 항목에 대응 |
12개 입력, 활동 출력 24개·필드 96개 통과, 저장 재실행 |
| 자연어 기능 탐색 | JEV의 한·영 탐색 trail을 Gooo 평가 활동으로 전달 |
AVAILABLE·DEFERRED·UNKNOWN 유지, 선언 지문·최초 미해결 단계·재실행 기록 |
| VS Code 확장 | 컴파일러 LSP, 포매터, 프로젝트 시작, 본문 생성 연결 | 0.2.0 VSIX 공개, Gooo 바디 미리보기와 명시적 적용 지원 |
동작과 선택지는 .gooo에 있고, Go 연결 코드가 파일과 실행 명령을 전달합니다.
예를 들어 시작 프로그램은 템플릿을 지역 변수로 보관하고 Gooo 프로그램을
실행해 새 Gooo 소스를 반환합니다. 반환한 소스는 컴파일러로 다시 확인합니다.
Gooo Language Support 0.2.0을 공개했습니다. VSIX 파일을 내려받아 VS Code의 Extensions: Install from VSIX... 메뉴로 설치할 수 있습니다. 같은 릴리스의 checksums.sha256로 파일 체크섬을 확인할 수 있습니다.
확장은 컴파일러의 LSP 진단·자동완성·정의 이동, 결정론적 포매터, 앱·라이브러리 시작 흐름을 연결합니다. Gooo: Generate Activity Body는 저장된 소스 스냅샷을 컴파일러에 전달하고, 컴파일러가 후보 본문과 유한 사례를 확인한 결과를 별도 영수증으로 보여줍니다. Gooo 소스가 반환되면 먼저 미리보기를 열며, 사용자가 명시적으로 적용을 선택해야 현재 파일을 바꿉니다. 생성 중 원본 편집 내용이 바뀌면 오래된 결과를 덮어쓰지 않고 미리보기로 전환합니다.
gooo.layaUrl 또는 GOOO_LAYA_URL로 로컬 Laya /v1/systemone을 연결할 수 있습니다. 연결하지 않으면 선언된 후보를 정해진 순서로 평가합니다. Laya가 연결되어도 후보를 새로 쓰지 않고 선언된 후보 중에서 선택하며, 최종 본문은 컴파일러가 확인합니다.
진단과 시작 프로그램에는 세 필드의 두 후보식, 한영 의도와 유한 선택 사례가
있습니다. --model builtin을 쓰면 공개 자체 공유 QAT 모델이 여덟 조합의
탐색 순서를 제안합니다. 컴파일러가 실제 사례를 확인해 구현을 선택합니다.
모델 옵션을 생략하면 결정론적인 순서로 같은 후보를 탐색합니다.
선택지 안의 상세 본문은 Gooo 소스가 소유합니다. 현재 공유 모델의 후보별 입력 범위는512바이트여서 긴 템플릿은 지역 변수에 두고 짧은 참조식과 의도를 전달했습니다. 표준 함수는 작성한 Gooo 본문을 그대로 생성합니다. 이번 저장소는 기존2,072개 매개변수·446바이트 삼진 가중치를 사용합니다. 새 가중치 학습은 별도 후속 작업입니다.
CI 계획 레시피는 컴파일러 저장소의 기존 계획 사례를 바탕으로 한 작은 Gooo 프로그램입니다. 등록한 변경 파일 묶음에는 확인 항목을 지정하고, 미등록 묶음에는 UNKNOWN, 불완전하거나 중복된 입력에는 FAIL_CLOSED를 반환합니다. 12개 고정 입력을 Gooo에서 생성한 실행 파일로 확인했으며, PlanCI·Echo 출력 24개, 레코드 필드 96개가 사례 기대값과 일치했습니다. 모델 호출 없이 저장 재실행도 통과했습니다.
이 예제는 계획 데이터만 반환합니다. CI 명령을 실행하지 않고 일반 저장소의 변경도 자동 해석하지 않습니다. 공개 CI 37247798151은 성공했습니다. 최신 검증에서 완전성 영수증은 선언·생성·역관찰·출처 PASS, 유한 사례 PROGRESS, 외부 효과 경계 UNKNOWN이며, 첫 미해결 단계는 독립 사용 사례입니다.
새 discover 명령은 Gooo-jev의 한·영 질의 trail과 guide를 읽고, Gooo 평가 레시피가 기능 상태·선언 바인딩·미해결 단계를 구성합니다. 로컬과 공개 CI에서 코드 생성은 어떻게 해?는 AVAILABLE로 카탈로그에 연결되지만, 평가는 real_use_case_coverage=PROGRESS, first_unresolved_stage=generation으로 남깁니다. 실행 시도와 provider 호출은 0입니다. 미등록 질문은 UNKNOWN, 실행 요청은 DEFERRED와 external_boundary로 보존합니다.
출력은 질의, 선언, JEV trail·guide digest, Gooo 조립, 22개 필드가 있는 두 활동 출력과 저장 재실행을 함께 보관합니다. 고정 관측 자료에는 각 파일의 체크섬도 있습니다. JEV의 provenance alias가 reverse-observation 항목으로 오분류되는 회귀도 발견해 PR #483에 바로잡았습니다. 조사 결합, provenance 분류 회귀의 JEV 전체 CI는 검증 중이며, capability-query test와 race 검사는 로컬 통과했습니다. 작업장 PR #1의 main CI 37249352691은 성공했고 증거 PR #2도 main에 병합됐습니다.
v0.5.0-experimental에
macOS arm64·Linux amd64 실행 파일, CI 발견 증거 archive와 체크섬을 제공합니다.
포함된 JEV 버전은 ae1a015c이며, JEV PR #483의 전체 race CI는 아직 완료 전입니다.
별도의 고정 capability 관측도 저장소에 있습니다.
Gooo 컴파일러와 Go1.27.1을 준비해 연결합니다.
Go1.27.1과 gooo 컴파일러가 준비됐다면:
git clone https://github.com/kimjooyoon/gooo-ecosystem-workbench.git
cd gooo-ecosystem-workbench
go run ./cmd/workbench verify --model builtin --out out/verified
go run ./cmd/workbench scaffold --profile record --model builtin --out out/my-project
go run ./cmd/workbench diagnose --input examples/partial-composition.json \
--model builtin --out out/next-work
go run ./cmd/workbench reference --package examples/catalog \
--entry ApproveInvoice --out out/api-reference
go run ./cmd/workbench receipt --input out/verified --out out/completeness컴파일러의 별도 경로는 --compiler /path/to/gooo로 지정합니다.
이번 관측은 main f144dddb8261b9b525181dee510afc65f1603153을 사용했습니다.
컴파일러 준비와 상세 명령.
reference는 컴파일러가 해석한 operation-interface JSON을 Gooo 문서
템플릿에 입력합니다. reference.md에는 선언된 활동명·시그니처·안정 ID,
선언 지문과 인터페이스 지문이 남습니다. 동작 설명을 추론하지 않습니다.
이 문서와 입력·실행·재실행 근거는 API 참조 관측에서
확인할 수 있습니다.
receipt는 앞서 생성한 verify 폴더를 점검합니다. Gooo가 선언한
gooo://completeness/domain-completeness-receipt/v1 구조에 상태와 근거를 넣고,
미해결 단계 순서도 Gooo 본문이 정합니다. CI 관측에서는 선언·생성·재실행이
PASS, 작성된 유한 예제 범위가 PROGRESS, 별도 계측하지 않은 효과 경계가
UNKNOWN이었습니다. 다른 체크아웃의 입력은 출처 UNKNOWN으로 남깁니다.
CI 실행과 보관한 결과.
이 값은 작업장의 예제에만 해당하며 전체 언어의 완성도를 말하지 않습니다.
새 인보이스 승인 사례는
제출 상태와 검토자 활성 여부에 따라 approved·rejected를 만들고 이유를 남깁니다.
세 독립 입력으로 두 연결 활동의 출력 6개와 승인 레코드의 필드 18개를 실행해
기대값과 대조하고 저장 재실행했습니다. CI 원본에는
Gooo 소스·입력 사례·컴파일 산출물·재실행이 함께 있습니다. 이 예제는 작은
도메인 시연이며 실제 회계나 결제 규칙은 아닙니다.
시작 도구의 main.gooo를 수정해 다음 프로그램을 만듭니다. 생성 폴더에는
원래 계획과 실제 생성 기록도 있습니다. 진단 도구는 실제 값과 기대값을 다시
비교해17/21필드·타입 탈락1개를 읽고 partial, repair-and-replay를 반환합니다.
captured-input.json에 원래 입력 전체를 보관하고, 상세가1,024바이트를 넘으면
관측 수와 원본 해시를 담은 요약을 전달합니다.
초기 로컬 관측에서 이름 있는 출력은151/151개, 레코드 필드는66/66개가 기대값과 일치했습니다. 진단·시작의 같은 사례를 결정론과 모델 순서로 각각 실행한 수를 포함합니다. 다섯 생성 결과를 저장 재실행했고 실제 값을 다시 셌습니다. 확인 명령 전체의 생성 판단은2회이며 실행과 재실행의 추가 판단은0회입니다.
Linux의 초기 생성·실행 검사도 통과했습니다. CI가 만든 다섯 생성·다섯 저장 재실행의 원본을 내려받아 실제 값과 필드를 독립적으로 다시 세었고 같은 수를 확인했습니다.
고정 사례·원본·분모를 함께 공개했습니다. 새로운 부분 결과의 진단 요청에는 상세 전달을 확인하는 관측 기대값이 있고, 진단 결과 자체에 새 정답을 붙여 세지는 않습니다. 분류와 작업 선택의 정답은 별도의 고정 진단 사례에서 확인합니다.
API 참조 예제는 공개 활동의 선언값을 받아 Gooo가 문서를 생성합니다. 기대 문서1/1개와 저장 재실행이 맞았습니다. API 원본과 결과를 공개했습니다. 이 예제 한 건으로 기능 범위를 일반화하지 않습니다.
표준 함수는 한 Gooo 선언 묶음 안에서 bind로 연결하며, 패키지 실행은 Gooo 파일 사이의 라이브러리 참조를 사용합니다. 편집기 연결도 0.2.0으로 공개했습니다. 부분 본문을 자동으로 고치는 진단 실행기는 아직 후속 과제입니다. 현재 진단 도구는 누락 근거와 다음 작업을 분류해 반환하며, 결과를 실제 소스에 적용하는 자동 복구는 하지 않습니다.