Attach released EveUnity daemon witness

This commit is contained in:
Meta Vens 2026-07-10 12:28:22 +01:00
commit 5686d2efcd
6 changed files with 15 additions and 10 deletions

View file

@ -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 UI Toolkit. Its release-only consumer resolves those tags plus CultLib's
assembled Unity package and passes 26 Unity EditMode tests without sibling assembled Unity package and passes 26 Unity EditMode tests without sibling
package paths. Aetheria pins the same released sources. 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, - EveUnity can start from one CultMesh rendezvous endpoint, discover a Verse,
select an advertised `interactive-world` surface, and connect without select an advertised `interactive-world` surface, and connect without
configured Aetheria provider or surface identifiers. The Aetheria daemon 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 - Route browser and remaining runtimes through Odin's aggregated provider
discovery rather than local catalogs or sibling paths; Unity's direct discovery rather than local catalogs or sibling paths; Unity's direct
CultMesh Verse discovery is the working reference. 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, - Expand world lowering only through generic surface contracts: entities,
transforms, animation state, collision/navigation intent, cameras, effects, transforms, animation state, collision/navigation intent, cameras, effects,
interaction prompts, and command boundaries. interaction prompts, and command boundaries.

View file

@ -84,6 +84,7 @@ try {
--expect-split-target-proof "EveUnity:Aetheria daemon 3D ARPG world lowers through a generic EveUnity playable-world client" ` --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-capture-probe electron-shell:contract-artifact-present:png:EveElectron `
--expect-runtime-witness electron-shell:aetheria:aetheria.daemon.game: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-artifact tui:json-grid:gamecult.eve.tui_grid.v1:aetheria:aetheria.daemon.game ` --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-runtime-body:current:exists:eve-tui-shell.mjs `
--expect-split-handoff-move EveTui:tui:tui-world-surface-lowering:current:exists:eve-tui-shell.mjs ` --expect-split-handoff-move EveTui:tui:tui-world-surface-lowering:current:exists:eve-tui-shell.mjs `

View file

@ -104,8 +104,8 @@ try {
--expect-runtime-capture-probe electron-shell:contract-artifact-present:png:EveElectron ` --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:eve.world-smoke:eve.world-smoke.surface:cold:pass `
--expect-runtime-witness electron-shell:aetheria:aetheria.daemon.game: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-runtime-witness unity-scene:aetheria.daemon:aetheria.game:cold:pass `
--expect-capability-gap "split-target:EveUnity:EveUnity:proof:Unity PlayMode frame capture" --expect-runtime-capture-probe tui:contract-artifact-present:json-grid:EveTui
if ($LASTEXITCODE -ne 0) { if ($LASTEXITCODE -ne 0) {
throw "Conformance consumer smoke failed with exit code $LASTEXITCODE" throw "Conformance consumer smoke failed with exit code $LASTEXITCODE"
} }

View file

@ -56,6 +56,9 @@ try {
node (Join-Path $conformanceRoot "tools\conformance\attach-runtime-witness.mjs") ` node (Join-Path $conformanceRoot "tools\conformance\attach-runtime-witness.mjs") `
"E:\Projects\EveElectron\artifacts\capture\aetheria-world\runtime-witness.json" ` "E:\Projects\EveElectron\artifacts\capture\aetheria-world\runtime-witness.json" `
".\artifacts\conformance\latest" ".\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") ` node (Join-Path $conformanceRoot "tools\conformance\attach-plugin-witness.mjs") `
"E:\Projects\EvePlugins\artifacts\tex-math\runtime-witness.json" ` "E:\Projects\EvePlugins\artifacts\tex-math\runtime-witness.json" `
".\artifacts\conformance\latest" ".\artifacts\conformance\latest"

View file

@ -162,7 +162,7 @@ node $consumerScript $consumerExport `
--expect-runtime-capture-status linux-flutter:ssh-golden ` --expect-runtime-capture-status linux-flutter:ssh-golden `
--expect-runtime-capture-status android-flutter:adb-png ` --expect-runtime-capture-status android-flutter:adb-png `
--expect-runtime-capture-status unity-uitoolkit:pending-native-capture ` --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-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:eve.world-smoke:eve.world-smoke.surface `
--expect-runtime-capture-artifact electron-shell:png:image/png:aetheria:aetheria.daemon.game ` --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-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:eve.world-smoke:eve.world-smoke.surface:cold:pass `
--expect-runtime-witness electron-shell:aetheria:aetheria.daemon.game: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-runtime-capture-probe tui:contract-artifact-present:json-grid:EveTui `
--expect-screenshot-metric web:embedded-surface:structure:pass ` --expect-screenshot-metric web:embedded-surface:structure:pass `
--expect-screenshot-metric web:embedded-surface:color-tokens: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-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:release:tagged-upm-release `
--expect-runtime-lifecycle-status unity-scene:test:released-package-editmode-batchmode ` --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-status unity-scene:capture:released-aetheria-playmode-capture `
--expect-runtime-lifecycle-pending "unity-scene:capture:Attach the Aetheria daemon PlayMode PNG" `
--expect-runtime-lifecycle-field "unity-scene:release:releaseContract.packageName:org.gamecult.eve.unity-scene" ` --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.artifactKind:upm-package" `
--expect-runtime-lifecycle-field "unity-scene:release:releaseContract.tagPattern:eveunity-scene-v{version}" ` --expect-runtime-lifecycle-field "unity-scene:release:releaseContract.tagPattern:eveunity-scene-v{version}" `

View file

@ -40,9 +40,9 @@ try {
--expect-split-target-proof "EveFlutter:Flutter lifecycle evidence is declared" ` --expect-split-target-proof "EveFlutter:Flutter lifecycle evidence is declared" `
--expect-split-target-blocker "EveFlutter:Tagged EveFlutter release" ` --expect-split-target-blocker "EveFlutter:Tagged EveFlutter release" `
--expect-split-target EveUnity ` --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: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 runtime is owned by EveUnity" `
--expect-split-target-proof "EveUnity:Unity scene lifecycle is owned and tested from 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" ` --expect-split-target-proof "EveUnity:Aetheria daemon 3D ARPG world lowers through a generic EveUnity playable-world client" `