Track schema catalog in EveConformance handoff

This commit is contained in:
Meta Vens 2026-07-09 11:38:28 +01:00
commit 68897adf84
3 changed files with 44 additions and 2 deletions

View file

@ -830,6 +830,10 @@ Recently cut:
`gamecult.eve.plugin_abi.request.v1` and
`gamecult.eve.plugin_abi.response.v1` from the exported pack instead of
reading Eve's parity manifest to discover contract paths.
- EveConformance handoff now treats the exported schema catalog as part of the
split boundary. The handoff schema move set includes plugin, provider,
runtime, conformance, and ABI wire schemas, and the handoff smoke verifies the
latest conformance export copied those schema documents.
- Split-readiness reporting now exists for `EveFlutter` and `EveUnity`. The
parity report lists member runtime health, required plugin capability claims,
pending proofs, and blockers before either repo can graduate out of Eve

View file

@ -77,6 +77,10 @@ foreach ($contract in @(
"gamecult.eve.conformance_fixture.v1",
"gamecult.eve.provider_scenario.v1",
"gamecult.eve.plugin.v1",
"gamecult.eve.plugin_advertisement.v1",
"gamecult.eve.plugin_abi_fixture.v1",
"gamecult.eve.plugin_abi.request.v1",
"gamecult.eve.plugin_abi.response.v1",
"gamecult.eve.provider_advertisement.v1",
"gamecult.eve.runtime_capability.v1"
)) {
@ -102,6 +106,29 @@ if (Test-Path -LiteralPath (Join-Path $absoluteExportDirectory "index.json")) {
throw "Conformance export missing pack: $packId"
}
}
foreach ($schemaId in @(
"gamecult.eve.conformance_export.v1",
"gamecult.eve.conformance_fixture.v1",
"gamecult.eve.provider_scenario.v1",
"gamecult.eve.provider_advertisement.v1",
"gamecult.eve.runtime_capability.v1",
"gamecult.eve.plugin.v1",
"gamecult.eve.plugin_advertisement.v1",
"gamecult.eve.plugin_abi_fixture.v1",
"gamecult.eve.plugin_abi.request.v1",
"gamecult.eve.plugin_abi.response.v1"
)) {
$schema = @($export.schemaCatalog) | Where-Object { $_.schemaId -eq $schemaId } | Select-Object -First 1
if (-not $schema) {
throw "Conformance export schema catalog missing schema: $schemaId"
}
if (-not $schema.exportPath) {
throw "Conformance export schema catalog missing export path for schema: $schemaId"
}
if (-not (Test-Path -LiteralPath (Join-Path $absoluteExportDirectory $schema.exportPath))) {
throw "Conformance export missing copied schema document for $($schemaId): $($schema.exportPath)"
}
}
}
foreach ($proof in @($handoff.requiredExternalProofs)) {

View file

@ -21,9 +21,16 @@
"currentPaths": [
"schemas/gamecult.eve.conformance_export.v1.schema.json",
"schemas/gamecult.eve.conformance_fixture.v1.schema.json",
"schemas/gamecult.eve.provider_scenario.v1.schema.json"
"schemas/gamecult.eve.provider_scenario.v1.schema.json",
"schemas/gamecult.eve.provider_advertisement.v1.schema.json",
"schemas/gamecult.eve.runtime_capability.v1.schema.json",
"schemas/gamecult.eve.plugin.v1.schema.json",
"schemas/gamecult.eve.plugin_advertisement.v1.schema.json",
"schemas/gamecult.eve.plugin_abi_fixture.v1.schema.json",
"schemas/gamecult.eve.plugin_abi.request.v1.schema.json",
"schemas/gamecult.eve.plugin_abi.response.v1.schema.json"
],
"replacementProof": "EveConformance publishes conformance export, fixture metadata, and provider scenario schemas as consumed contracts."
"replacementProof": "EveConformance publishes the schema catalog and copied schema documents needed by conformance, plugin, provider, and runtime consumers."
},
{
"id": "consumer-smokes",
@ -58,6 +65,10 @@
"gamecult.eve.conformance_fixture.v1",
"gamecult.eve.provider_scenario.v1",
"gamecult.eve.plugin.v1",
"gamecult.eve.plugin_advertisement.v1",
"gamecult.eve.plugin_abi_fixture.v1",
"gamecult.eve.plugin_abi.request.v1",
"gamecult.eve.plugin_abi.response.v1",
"gamecult.eve.provider_advertisement.v1",
"gamecult.eve.runtime_capability.v1"
],