diff --git a/docs/eve-migration-roadmap.md b/docs/eve-migration-roadmap.md index 95b583d..d1f41ca 100644 --- a/docs/eve-migration-roadmap.md +++ b/docs/eve-migration-roadmap.md @@ -55,6 +55,10 @@ advertisements and typed command/receipt documents are the boundary. UI Toolkit. Its release-only consumer resolves those tags plus CultLib's assembled Unity package and passes 26 Unity EditMode tests without sibling package paths. Aetheria pins the same released sources. +- The same released-package consumer cold-starts from Aetheria's CultMesh + rendezvous endpoint with no configured provider or surface ID, discovers the + daemon's `interactive-world`, loads provider-owned assets, and reconciles + movement, targeting, and action receipts without importing Aetheria code. - EveUnity can start from one CultMesh rendezvous endpoint, discover a Verse, select an advertised `interactive-world` surface, and connect without configured Aetheria provider or surface identifiers. The Aetheria daemon @@ -95,9 +99,6 @@ advertisements and typed command/receipt documents are the boundary. - Route browser and remaining runtimes through Odin's aggregated provider discovery rather than local catalogs or sibling paths; Unity's direct CultMesh Verse discovery is the working reference. -- Extend the released-package consumer from EditMode lowering proof to - cold-start PlayMode discovery against the separately running Aetheria daemon; - the generic client must still have no Aetheria code or package path. - Expand world lowering only through generic surface contracts: entities, transforms, animation state, collision/navigation intent, cameras, effects, interaction prompts, and command boundaries. diff --git a/scripts/run-aetheria-conformance-consumer-smoke.ps1 b/scripts/run-aetheria-conformance-consumer-smoke.ps1 index 3ea670b..272343d 100644 --- a/scripts/run-aetheria-conformance-consumer-smoke.ps1 +++ b/scripts/run-aetheria-conformance-consumer-smoke.ps1 @@ -84,6 +84,7 @@ try { --expect-split-target-proof "EveUnity:Aetheria daemon 3D ARPG world lowers through a generic EveUnity playable-world client" ` --expect-runtime-capture-probe electron-shell:contract-artifact-present:png:EveElectron ` --expect-runtime-witness electron-shell:aetheria:aetheria.daemon.game:cold:pass ` + --expect-runtime-witness unity-scene:aetheria.daemon:aetheria.game:cold:pass ` --expect-runtime-capture-artifact tui:json-grid:gamecult.eve.tui_grid.v1:aetheria:aetheria.daemon.game ` --expect-split-handoff-move EveTui:tui:tui-runtime-body:current:exists:eve-tui-shell.mjs ` --expect-split-handoff-move EveTui:tui:tui-world-surface-lowering:current:exists:eve-tui-shell.mjs ` diff --git a/scripts/run-conformance-consumer-smoke.ps1 b/scripts/run-conformance-consumer-smoke.ps1 index 3eb02c8..19a8e79 100644 --- a/scripts/run-conformance-consumer-smoke.ps1 +++ b/scripts/run-conformance-consumer-smoke.ps1 @@ -104,8 +104,8 @@ try { --expect-runtime-capture-probe electron-shell:contract-artifact-present:png:EveElectron ` --expect-runtime-witness electron-shell:eve.world-smoke:eve.world-smoke.surface:cold:pass ` --expect-runtime-witness electron-shell:aetheria:aetheria.daemon.game:cold:pass ` - --expect-runtime-capture-probe tui:contract-artifact-present:json-grid:EveTui ` - --expect-capability-gap "split-target:EveUnity:EveUnity:proof:Unity PlayMode frame capture" + --expect-runtime-witness unity-scene:aetheria.daemon:aetheria.game:cold:pass ` + --expect-runtime-capture-probe tui:contract-artifact-present:json-grid:EveTui if ($LASTEXITCODE -ne 0) { throw "Conformance consumer smoke failed with exit code $LASTEXITCODE" } diff --git a/scripts/run-parity-harness.ps1 b/scripts/run-parity-harness.ps1 index bef86ce..e86b21d 100644 --- a/scripts/run-parity-harness.ps1 +++ b/scripts/run-parity-harness.ps1 @@ -56,6 +56,9 @@ try { node (Join-Path $conformanceRoot "tools\conformance\attach-runtime-witness.mjs") ` "E:\Projects\EveElectron\artifacts\capture\aetheria-world\runtime-witness.json" ` ".\artifacts\conformance\latest" + node (Join-Path $conformanceRoot "tools\conformance\attach-runtime-witness.mjs") ` + "E:\Projects\EveUnity\artifacts\aetheria-daemon\runtime-witness.cold.json" ` + ".\artifacts\conformance\latest" node (Join-Path $conformanceRoot "tools\conformance\attach-plugin-witness.mjs") ` "E:\Projects\EvePlugins\artifacts\tex-math\runtime-witness.json" ` ".\artifacts\conformance\latest" diff --git a/scripts/run-runtime-owner-conformance-consumer-smoke.ps1 b/scripts/run-runtime-owner-conformance-consumer-smoke.ps1 index fa503b2..b554462 100644 --- a/scripts/run-runtime-owner-conformance-consumer-smoke.ps1 +++ b/scripts/run-runtime-owner-conformance-consumer-smoke.ps1 @@ -162,7 +162,7 @@ node $consumerScript $consumerExport ` --expect-runtime-capture-status linux-flutter:ssh-golden ` --expect-runtime-capture-status android-flutter:adb-png ` --expect-runtime-capture-status unity-uitoolkit:pending-native-capture ` - --expect-runtime-capture-status unity-scene:partial-world-smoke-playmode-capture ` + --expect-runtime-capture-status unity-scene:released-aetheria-playmode-capture ` --expect-runtime-capture-status electron-shell:owner-window-png ` --expect-runtime-capture-artifact electron-shell:png:image/png:eve.world-smoke:eve.world-smoke.surface ` --expect-runtime-capture-artifact electron-shell:png:image/png:aetheria:aetheria.daemon.game ` @@ -175,6 +175,7 @@ node $consumerScript $consumerExport ` --expect-runtime-capture-probe electron-shell:contract-artifact-present:png:EveElectron ` --expect-runtime-witness electron-shell:eve.world-smoke:eve.world-smoke.surface:cold:pass ` --expect-runtime-witness electron-shell:aetheria:aetheria.daemon.game:cold:pass ` + --expect-runtime-witness unity-scene:aetheria.daemon:aetheria.game:cold:pass ` --expect-runtime-capture-probe tui:contract-artifact-present:json-grid:EveTui ` --expect-screenshot-metric web:embedded-surface:structure:pass ` --expect-screenshot-metric web:embedded-surface:color-tokens:pass ` @@ -234,8 +235,7 @@ node $consumerScript $consumerExport ` --expect-runtime-lifecycle-field "unity-uitoolkit:capture:captureContract.additionalProviderSurfaces.1.surfaceId:aetheria.daemon.editor" ` --expect-runtime-lifecycle-status unity-scene:release:tagged-upm-release ` --expect-runtime-lifecycle-status unity-scene:test:released-package-editmode-batchmode ` - --expect-runtime-lifecycle-status unity-scene:capture:partial-world-smoke-playmode-capture ` - --expect-runtime-lifecycle-pending "unity-scene:capture:Attach the Aetheria daemon PlayMode PNG" ` + --expect-runtime-lifecycle-status unity-scene:capture:released-aetheria-playmode-capture ` --expect-runtime-lifecycle-field "unity-scene:release:releaseContract.packageName:org.gamecult.eve.unity-scene" ` --expect-runtime-lifecycle-field "unity-scene:release:releaseContract.artifactKind:upm-package" ` --expect-runtime-lifecycle-field "unity-scene:release:releaseContract.tagPattern:eveunity-scene-v{version}" ` diff --git a/scripts/run-split-target-conformance-consumer-smoke.ps1 b/scripts/run-split-target-conformance-consumer-smoke.ps1 index 00df99a..b4546f5 100644 --- a/scripts/run-split-target-conformance-consumer-smoke.ps1 +++ b/scripts/run-split-target-conformance-consumer-smoke.ps1 @@ -40,9 +40,9 @@ try { --expect-split-target-proof "EveFlutter:Flutter lifecycle evidence is declared" ` --expect-split-target-blocker "EveFlutter:Tagged EveFlutter release" ` --expect-split-target EveUnity ` - --expect-split-target-status EveUnity:incubating ` + --expect-split-target-status EveUnity:graduated ` --expect-split-target-proof "EveUnity:Unity UI Toolkit package lifecycle is owned and tested from EveUnity" ` - --expect-split-target-proof "EveUnity:Aetheria consumes Unity surface and UI Toolkit packages from EveUnity" ` + --expect-split-target-proof "EveUnity:Aetheria consumes tagged Unity packages released by EveUnity" ` --expect-split-target-proof "EveUnity:Unity scene runtime is owned by EveUnity" ` --expect-split-target-proof "EveUnity:Unity scene lifecycle is owned and tested from EveUnity" ` --expect-split-target-proof "EveUnity:Aetheria daemon 3D ARPG world lowers through a generic EveUnity playable-world client" `