From beb7c4616278d563e67b5ab6f937e221335ffa6f Mon Sep 17 00:00:00 2001 From: Meta Vens Date: Wed, 30 Sep 2026 15:17:58 +0200 Subject: [PATCH] Interop guard: accept cultnet-rs's vendored schema copies The consolidation guard rejected every *.schema.json outside contracts/cultnet/, including the R-AB byte copies vendored into packages/cultnet-rs/contracts/cultnet/. The interop workflow has been red at that step on main ever since, so no later cross-runtime step ran. The guard now accepts that one path; drift of those copies is judged by the Rust equality test in tests/schema_discovery_contracts.rs. The retired-namespace check is unchanged. Co-Authored-By: Claude Opus 5.5 --- .github/workflows/cultnet-interop.yml | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/.github/workflows/cultnet-interop.yml b/.github/workflows/cultnet-interop.yml index 5f8936bf..680d474e 100644 --- a/.github/workflows/cultnet-interop.yml +++ b/.github/workflows/cultnet-interop.yml @@ -69,7 +69,9 @@ jobs: shell: pwsh run: | $ErrorActionPreference = "Stop" - $stray = git ls-files '*.schema.json' | Where-Object { $_ -notmatch '^contracts/cultnet/' } + # packages/cultnet-rs/contracts/cultnet/ holds R-AB's vendored byte copies (the crate must build + # when copied alone). Their drift guard is packages/cultnet-rs/tests/schema_discovery_contracts.rs:74-99. + $stray = git ls-files '*.schema.json' | Where-Object { $_ -notmatch '^(packages/cultnet-rs/)?contracts/cultnet/' } # -I skips binary files: unity/org.gamecult.cultlib/Runtime/Plugins/GameCult.Networking.dll # still embeds the retired namespace until it is rebuilt (REC-032 D4, deferred). $oldNamespace = git grep -I -lE 'GameCult/cultnet-ts/(integration/)?contracts' -- ':!.voidbot'