Generate Types and StructuredData API shims

This commit is contained in:
2026-08-08 11:56:13 +02:00
parent d3f5e27f52
commit 0a2e7dd057
15 changed files with 12120 additions and 5154 deletions

View File

@@ -45,23 +45,27 @@ in the same change.
The current workspace is a structural baseline, not a working client:
- all 13 public .NET library projects have corresponding Rust crates;
- 1,705 public C# type declarations produce compiling Rust type/trait shims;
- 1,705 source-discovered public C# type declarations produce compiling Rust
type/trait shims;
- 12,195 public declaration lines are retained in the API ledger;
- compiled metadata records 3,066 public types and 30,789 public members with
matching independent ECMA-335 counts, with all 142 external signature types
resolved to cross-platform Rust or project-owned boundary types;
- the Types and StructuredData slices expose 61 final Rust-facing types and all
1,237 callable members with real fields/constants/enum values and standardized
failing bodies;
- all 1,295 NUnit `[Test]`/`[TestCase]` invocations have compiling Rust test
entries that intentionally panic with their source identity and body hash;
- all nine sample/tool projects have compiling Rust binary targets;
- the 128 TestClient command source files are retained as a command inventory.
The generated type shims preserve names and module placement, but they do not
yet expose callable C# methods, properties, fields, event payloads, enum values,
or delegate signatures. `api/SURFACE.tsv` is 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 does not
yet satisfy either the full API-shim gate or the full test-suite gate.**
The remaining generated type shims preserve names and module placement, but do
not yet expose their callable members. `api/SURFACE.tsv` is 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 does not yet satisfy either the full API-shim gate or the full
test-suite gate.**
No functional porting starts until both missing gates are complete across the
entire workspace, rather than one crate at a time: