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

@@ -39,6 +39,7 @@ python3 tools/generate_rust_mapping.py
python3 tools/generate_rust_mapping.py --check
python3 tools/generate_api_shims.py
python3 tools/generate_api_shims.py --check
python3 tools/check_api_coverage.py
```
The checker rejects duplicate C# IDs, duplicate Rust destinations, invalid
@@ -51,8 +52,10 @@ The two support traits in `RUST-TYPES.tsv` are included because compiled public
inheritance records reference them even though they are absent from the public
type table.
`generate_api_shims.py` consumes the catalog and reviewed mapping ledger. It
currently owns the completed Types and StructuredData slices, formats their
generated Rust deterministically, and rejects any missing or stale type/member
documentation ID. `SHIM-COVERAGE.md` distinguishes callable slices from the
remaining milestone work; mapping coverage alone is not callable coverage.
`generate_api_shims.py` consumes the catalog and reviewed mapping ledger,
formats all 13 generated Rust assemblies deterministically, and generates the
standalone `tests/api-compile` downstream fixture. `check_api_coverage.py`
compares catalog IDs, mapping rows, exported shim IDs, and fixture probes;
rejects stale, missing, duplicate, or erased entries; and verifies
`API-COVERAGE.md`. Regenerate that report with
`python3 tools/check_api_coverage.py --write`.