원클릭으로
sdk-parity-check
Verify FFI exports have matching wrappers across all 10 language SDKs
Codex 또는 Claude로 설치 이 Prompt를 복사해 Codex, Claude 또는 다른 어시스턴트에 붙여 넣으면 Skill 페이지를 검토하고 설치를 진행할 수 있습니다.
메뉴
Verify FFI exports have matching wrappers across all 10 language SDKs
Codex 또는 Claude로 설치 이 Prompt를 복사해 Codex, Claude 또는 다른 어시스턴트에 붙여 넣으면 Skill 페이지를 검토하고 설치를 진행할 수 있습니다.
SOC 직업 분류 기준
Pick the fastest build/verify command for the change at hand, from cargo check to the full verify gate
Run and troubleshoot the SDK code generation pipeline (./codegen.sh) and the generated-artifact drift gate
How versioning and releases work via release-please, version.txt, and the version pins across the workspace
Build and debug the WASM browser target and the TypeScript web SDK, including the wasm-pack path and the debugger WebSocket relay
Dependency flow audit and layer validation for GoudEngine's 5-layer hierarchy
Discover and list available skills in the repository
| name | sdk-parity-check |
| description | Verify FFI exports have matching wrappers across all 10 language SDKs |
| user-invocable | true |
Scan the FFI layer and verify that every exported function has corresponding wrappers across all 10 language SDKs.
Run after adding or modifying FFI functions, after SDK changes, or before releases to verify complete coverage.
The engine ships 10 language SDKs under sdks/. Every FFI export MUST have a binding in each:
c, cpp, csharp, go, kotlin, lua, python, rust, swift, typescript
The authoritative coverage gate is codegen/validate_coverage.py, which validates the generated ffi_manifest.json against the resolved FFI contract. The manual audit below is for spot-checking individual functions when coverage fails.
#[no_mangle] extern "C" function in goud_engine/src/ffi/ has a matching binding in each of the 10 SDKsDllImport declaration in sdks/csharp/generated/sdks/python/goudengine/generated/_ffi.pyFind all public FFI functions:
rg "#\[no_mangle\]" goud_engine/src/ffi/ --type rust -A 2
This produces a list of functions like:
#[no_mangle]
pub extern "C" fn create_context(...) -> *mut Context { ... }
For each FFI function, verify a matching DllImport exists:
rg "DllImport.*create_context" sdks/csharp/ --type cs
Also check NativeMethods.g.cs (auto-generated by csbindgen):
rg "create_context" sdks/csharp/generated/NativeMethods.g.cs
For each FFI function, verify a matching ctypes declaration exists in generated/_ffi.py:
rg "create_context" sdks/python/goudengine/generated/_ffi.py
Look for SDK functions that don't correspond to any FFI export (potential logic-in-SDK violation):
# C# methods that might contain logic
rg "public .* \w+\(" sdks/csharp/ --type cs -g '!NativeMethods*' -g '!obj/*'
# Python functions
rg "def " sdks/python/goudengine/ --type py -g '!test_*'
Run the coverage validator, which checks all 10 SDKs against the resolved FFI contract:
python3 codegen/validate_coverage.py
Regenerate all bindings first if the FFI surface changed:
./codegen.sh
# SDK Parity Report
## FFI Functions Found: N
## Coverage (per SDK: c, cpp, csharp, go, kotlin, lua, python, rust, swift, typescript)
| FFI Function | Covered SDKs | Missing SDKs | Status |
|-------------|--------------|--------------|--------|
| create_context | 10/10 | — | OK |
| destroy_context | 9/10 | python | MISSING |
| ... | ... | ... | ... |
## Missing Bindings (X)
- function_name (goud_engine/src/ffi/file.rs:LINE) — missing in: <sdk list>
## SDK-Only Logic (potential violations)
- ClassName.Method (sdks/csharp/File.cs:LINE)
## Summary: X/N functions have full parity
| Rust FFI Type | C# Type | Python ctypes |
|---|---|---|
i32 | int | c_int |
u32 | uint | c_uint |
f32 | float | c_float |
f64 | double | c_double |
bool | bool | c_bool |
*mut T | IntPtr | POINTER(T) or c_void_p |
*const c_char | string | c_char_p |
() (void) | void | None |