Add complete downstream API gate
Some checks failed
Rust API gates / api-gates (push) Has been cancelled

This commit is contained in:
2026-08-08 13:11:55 +02:00
parent 643762fd1d
commit c8a953996e
16 changed files with 183714 additions and 295 deletions

View File

@@ -62,12 +62,13 @@ The current workspace is a structural baseline, not a working client:
- all nine sample/tool projects have compiling Rust binary targets;
- the 128 TestClient command source files are retained as a command inventory.
No generated type shells remain pending: all cataloged members are callable.
`api/SURFACE.tsv` is still an inventory aid, not proof of API coverage: it
records declaration lines but does not fully parse multiline signatures.
Likewise, a generated `pending` test is a parity placeholder, not a semantic
translation. **This repository is therefore at Stage 0 and still requires the
independent downstream API audit and full test-suite gate.**
No generated type shells remain pending: all cataloged members are callable,
and the standalone downstream fixture names or invokes all 3,066 types and
30,789 members with zero exclusions. `api/SURFACE.tsv` is still an inventory
aid, not proof of API coverage: it records declaration lines but does not fully
parse multiline signatures. Likewise, a generated `pending` test is a parity
placeholder, not a semantic translation. **The full public API signature shim
gate is complete; semantic test translation is the next stage.**
The avatar-facing slice preserves the C# agent, movement/camera, appearance and
outfit-policy, inventory/AIS/store, asset/cache, avatar, and animesh concepts.
@@ -89,8 +90,8 @@ Blocking compatibility surfaces stay explicit, stored callbacks and events use
typed ownership, and parser/voice bodies fail before performing parsing,
networking, device access, or proprietary/native work.
No functional porting starts until both missing gates are complete across the
entire workspace, rather than one crate at a time:
No functional porting starts until the semantic test-suite gate is complete
across the entire workspace, rather than one crate at a time:
1. every public C# type and member has a reviewed, callable Rust signature with
an intentionally failing body;
@@ -706,7 +707,11 @@ Required gates:
```sh
cargo fmt --all -- --check
python3 tools/generate_rust_mapping.py --check
python3 tools/generate_api_shims.py --check
python3 tools/check_api_coverage.py
cargo check --workspace --all-targets
cargo check --locked --manifest-path tests/api-compile/Cargo.toml
cargo test --workspace --no-run
cargo clippy --workspace --all-targets --all-features -- -D warnings
cargo doc --workspace --no-deps