Track Unity scene Norn split handoff
This commit is contained in:
parent
7aba6a8ec4
commit
cb17b293ed
5 changed files with 33 additions and 7 deletions
|
|
@ -436,9 +436,10 @@ Recently cut:
|
|||
- Unity scene now has a direct split handoff smoke at
|
||||
`scripts/run-eveunity-scene-split-handoff-smoke.ps1`. The smoke verifies the
|
||||
scene runtime's current source paths for runtime body, scene graph lowering,
|
||||
and command transport, does not treat Aetheria product paths as generic
|
||||
runtime source, names the required Eve contracts, and keeps capture as an
|
||||
external proof until EveUnity owns it.
|
||||
Norn plugin projection, and command transport, does not treat Aetheria
|
||||
product paths or Norn implementation state as generic runtime source, names
|
||||
the required Eve contracts, and keeps capture as an external proof until
|
||||
EveUnity owns it.
|
||||
- Runtime split handoff documents now have a catalog-backed schema,
|
||||
`gamecult.eve.runtime_split_handoff.v1`. EveConformance exports that schema
|
||||
so runtime owner repos can consume split target, move set, contract input,
|
||||
|
|
|
|||
|
|
@ -16,6 +16,7 @@
|
|||
"runtimes/incubating/eve-unity-scene/package.json",
|
||||
"runtimes/incubating/eve-unity-scene/Runtime/GameCult.Eve.UnityScene.asmdef",
|
||||
"runtimes/incubating/eve-unity-scene/Runtime/EveUnitySceneSurfaceLowerer.cs",
|
||||
"runtimes/incubating/eve-unity-scene/Runtime/NornGraphUnitySceneProjectionAdapter.cs",
|
||||
"runtimes/incubating/eve-unity-scene/Tests/Editor/GameCult.Eve.UnityScene.Tests.asmdef",
|
||||
"runtimes/incubating/eve-unity-scene/Tests/Editor/EveUnitySceneSurfaceLowererTests.cs"
|
||||
],
|
||||
|
|
@ -27,12 +28,25 @@
|
|||
"stage": "world-surface-lowering",
|
||||
"currentPaths": [
|
||||
"runtimes/incubating/eve-unity-scene/Runtime/EveUnitySceneSurfaceLowerer.cs",
|
||||
"runtimes/incubating/eve-unity-scene/Runtime/NornGraphUnitySceneProjectionAdapter.cs",
|
||||
"runtimes/incubating/eve-unity-scene/Tests/Editor/EveUnitySceneSurfaceLowererTests.cs",
|
||||
"runtimes/incubating/eve-unity-scene/eve-runtime-capability.json"
|
||||
],
|
||||
"destinationOwner": "EveUnity",
|
||||
"replacementProof": "EveUnity claims the provider-advertised unity-scene lowering target with provider-agnostic scene graph projection and command boundary evidence; capture remains a separate lifecycle proof."
|
||||
},
|
||||
{
|
||||
"id": "unity-scene-norn-plugin-projection",
|
||||
"stage": "plugin-projection",
|
||||
"currentPaths": [
|
||||
"runtimes/incubating/eve-unity-scene/Runtime/NornGraphUnitySceneProjectionAdapter.cs",
|
||||
"runtimes/incubating/eve-unity-scene/Runtime/EveUnitySceneSurfaceLowerer.cs",
|
||||
"runtimes/incubating/eve-unity-scene/Tests/Editor/EveUnitySceneSurfaceLowererTests.cs",
|
||||
"runtimes/incubating/eve-unity-scene/eve-runtime-capability.json"
|
||||
],
|
||||
"destinationOwner": "EveUnity",
|
||||
"replacementProof": "EveUnity owns only the Unity scene projection adapter for Norn's sidecar-advertised embed.norn capability; Norn keeps graph layout, graph state, and graph command semantics."
|
||||
},
|
||||
{
|
||||
"id": "unity-scene-command-transport",
|
||||
"stage": "command",
|
||||
|
|
@ -68,12 +82,14 @@
|
|||
"Aetheria gameplay scripts as EveUnity scene lowerer truth",
|
||||
"provider-specific scene components that bypass gamecult.eve.command.v1",
|
||||
"renderer-local world simulation as provider truth",
|
||||
"product assets bundled as Eve runtime contract"
|
||||
"product assets bundled as Eve runtime contract",
|
||||
"Norn graph layout, graph state, or command semantics as Unity scene runtime authority"
|
||||
],
|
||||
"requiredExternalProofs": [
|
||||
"EveUnity publishes a Unity scene runtime capability manifest.",
|
||||
"EveUnity owns a provider-agnostic scene graph lowerer that consumes advertised worldInteraction boundaries without importing Aetheria internals.",
|
||||
"EveUnity owns the provider-agnostic scene graph lowerer outside Eve incubation.",
|
||||
"EveUnity owns the Unity scene Norn projection adapter outside Eve incubation without importing Norn implementation state.",
|
||||
"EveUnity lowers at least one non-Aetheria provider-authored world surface into Unity scene objects.",
|
||||
"EveUnity lowers Aetheria's game world surface through provider advertisements without importing Aetheria internals.",
|
||||
"Unity scene input emits gamecult.eve.command.v1 intents and renders provider receipts.",
|
||||
|
|
|
|||
|
|
@ -45,6 +45,7 @@ $moveSets = @($handoff.moveSets)
|
|||
$expectedMoveSets = @{
|
||||
"unity-scene-runtime-body" = "runtime-body"
|
||||
"unity-scene-world-surface-lowering" = "world-surface-lowering"
|
||||
"unity-scene-norn-plugin-projection" = "plugin-projection"
|
||||
"unity-scene-command-transport" = "command"
|
||||
"unity-scene-capture-lifecycle" = "capture"
|
||||
}
|
||||
|
|
@ -65,7 +66,7 @@ foreach ($id in $expectedMoveSets.Keys) {
|
|||
}
|
||||
$currentPaths = if ($null -eq $moveSet.currentPaths) { @() } else { @($moveSet.currentPaths) }
|
||||
$observedProviderPaths = if ($null -eq $moveSet.observedProviderPaths) { @() } else { @($moveSet.observedProviderPaths) }
|
||||
if ($id -in @("unity-scene-runtime-body", "unity-scene-world-surface-lowering", "unity-scene-command-transport", "unity-scene-capture-lifecycle")) {
|
||||
if ($id -in @("unity-scene-runtime-body", "unity-scene-world-surface-lowering", "unity-scene-norn-plugin-projection", "unity-scene-command-transport", "unity-scene-capture-lifecycle")) {
|
||||
if ($currentPaths.Count -eq 0) {
|
||||
throw "EveUnity scene split handoff move set $id must name current Eve incubation paths"
|
||||
}
|
||||
|
|
@ -98,13 +99,19 @@ foreach ($forbiddenImport in @(
|
|||
"Aetheria gameplay scripts as EveUnity scene lowerer truth",
|
||||
"provider-specific scene components that bypass gamecult.eve.command.v1",
|
||||
"renderer-local world simulation as provider truth",
|
||||
"product assets bundled as Eve runtime contract"
|
||||
"product assets bundled as Eve runtime contract",
|
||||
"Norn graph layout, graph state, or command semantics as Unity scene runtime authority"
|
||||
)) {
|
||||
if (-not (@($handoff.forbiddenImports) -contains $forbiddenImport)) {
|
||||
throw "EveUnity scene split handoff missing forbidden import: $forbiddenImport"
|
||||
}
|
||||
}
|
||||
|
||||
$nornProjectionMoveSet = $moveSets | Where-Object { $_.id -eq "unity-scene-norn-plugin-projection" } | Select-Object -First 1
|
||||
if (-not (@($nornProjectionMoveSet.currentPaths) -contains "runtimes/incubating/eve-unity-scene/Runtime/NornGraphUnitySceneProjectionAdapter.cs")) {
|
||||
throw "EveUnity scene split handoff Norn projection move set must include the scene adapter path"
|
||||
}
|
||||
|
||||
foreach ($proof in @($handoff.requiredExternalProofs)) {
|
||||
if (-not $proof) {
|
||||
throw "EveUnity scene split handoff contains an empty required external proof"
|
||||
|
|
|
|||
|
|
@ -49,6 +49,7 @@ try {
|
|||
--expect-split-target-blocker-record "EveUnity:pending-proof:Unity scene runtime body graduates to EveUnity outside Aetheria product code." `
|
||||
--expect-split-handoff-move EveUnity:unity-scene:unity-scene-runtime-body:current:exists:EveUnitySceneSurfaceLowerer.cs `
|
||||
--expect-split-handoff-move EveUnity:unity-scene:unity-scene-world-surface-lowering:current:exists:EveUnitySceneSurfaceLowerer.cs `
|
||||
--expect-split-handoff-move EveUnity:unity-scene:unity-scene-norn-plugin-projection:current:exists:NornGraphUnitySceneProjectionAdapter.cs `
|
||||
--expect-split-handoff-move EveUnity:unity-scene:unity-scene-command-transport:current:exists:EveUnitySceneSurfaceLowerer.cs `
|
||||
--expect-split-handoff-move EveUnity:unity-scene:unity-scene-capture-lifecycle:current:exists:eveunity-capture-contract.mjs `
|
||||
--expect-split-target-blocker "EveUnity:Tagged UPM release" `
|
||||
|
|
|
|||
|
|
@ -610,11 +610,12 @@
|
|||
]
|
||||
},
|
||||
{
|
||||
"description": "Unity scene graph projection lowerer exists without claiming provider simulation, plugin projection, or capture ownership.",
|
||||
"description": "Unity scene graph projection lowerer and Norn projection adapter exist without claiming provider simulation, Norn semantics, or capture ownership.",
|
||||
"status": "passed",
|
||||
"evidencePaths": [
|
||||
"runtimes/incubating/eve-unity-scene/package.json",
|
||||
"runtimes/incubating/eve-unity-scene/Runtime/EveUnitySceneSurfaceLowerer.cs",
|
||||
"runtimes/incubating/eve-unity-scene/Runtime/NornGraphUnitySceneProjectionAdapter.cs",
|
||||
"runtimes/incubating/eve-unity-scene/Tests/Editor/EveUnitySceneSurfaceLowererTests.cs",
|
||||
"scripts/run-eveunity-scene-provider-shell-smoke.ps1"
|
||||
]
|
||||
|
|
|
|||
Loading…
Reference in a new issue