diff --git a/docs/eve-migration-roadmap.md b/docs/eve-migration-roadmap.md index 264d5fc..446b222 100644 --- a/docs/eve-migration-roadmap.md +++ b/docs/eve-migration-roadmap.md @@ -64,8 +64,8 @@ advertisements and typed command/receipt documents are the boundary. - EveElectron owns its shell, security lifecycle, captures, and runtime witness. - EveFlutter owns the generic Flutter clients and platform lifecycle. - Sai and Norn publish independent sidecar plugins. Sai serves retained Ink - sessions through CultNet RUDP operation envelopes; Norn remains on the debug - transport until the shared Rust operation host is complete. A Sai surface may request + sessions and Norn serves graph projection and measurement through CultNet + RUDP operation envelopes. A Sai surface may request nested Norn or TeX capabilities when those plugins are available. - EvePlugins owns the TeX sidecar and KaTeX-backed semantic witness. - The TeX owner sidecar serves its Eve ABI over CultNet RUDP operation @@ -105,10 +105,9 @@ advertisements and typed command/receipt documents are the boundary. - Publish the verified CultLib NuGet and Unity package artifacts from tagged releases and consume released versions in runtime CI. -- Replace Norn's development `stdio-ndjson` transport with the shared CultNet - operation service while preserving the same plugin ABI operations. The - TypeScript host is complete and proves Sai and TeX; the Rust host must follow - CultNet Rust's in-progress peer reset work instead of growing a Norn proxy. +- Publish the shared TypeScript and Rust CultNet operation hosts from tagged + CultLib releases. Sai, Norn, and TeX prove the same operation envelope across + both language implementations; stdio remains a local diagnostic adapter. - Graduate remaining graph fixture ownership fully to Norn once no Eve fixture is its semantic owner. Sai already owns VN/Ink execution and its live witness. - Keep nested plugin availability explicit and non-transitive: Sai does not own diff --git a/scripts/run-parity-harness.ps1 b/scripts/run-parity-harness.ps1 index b007eff..bef86ce 100644 --- a/scripts/run-parity-harness.ps1 +++ b/scripts/run-parity-harness.ps1 @@ -34,6 +34,8 @@ try { & (Join-Path $PSScriptRoot "run-eveplugins-owner-smoke.ps1") node "E:\Projects\Sai\scripts\run-eve-cultnet-witness.mjs" if ($LASTEXITCODE -ne 0) { throw "Sai plugin owner witness failed with exit code $LASTEXITCODE" } + node "E:\Projects\Norn\scripts\run-eve-cultnet-witness.mjs" + if ($LASTEXITCODE -ne 0) { throw "Norn plugin owner witness failed with exit code $LASTEXITCODE" } & (Join-Path $PSScriptRoot "run-eveflutter-owner-smoke.ps1") & (Join-Path $PSScriptRoot "run-evetui-capture-smoke.ps1") & (Join-Path $PSScriptRoot "run-evetui-capture-smoke.ps1") ` @@ -60,6 +62,9 @@ try { node (Join-Path $conformanceRoot "tools\conformance\attach-plugin-witness.mjs") ` "E:\Projects\Sai\artifacts\eve-plugin\runtime-witness.json" ` ".\artifacts\conformance\latest" + node (Join-Path $conformanceRoot "tools\conformance\attach-plugin-witness.mjs") ` + "E:\Projects\Norn\artifacts\eve-plugin\runtime-witness.json" ` + ".\artifacts\conformance\latest" & (Join-Path $PSScriptRoot "run-eveelectron-owner-smoke.ps1") & (Join-Path $PSScriptRoot "run-evetui-split-handoff-smoke.ps1") & (Join-Path $PSScriptRoot "run-evetui-lifecycle-smoke.ps1") diff --git a/scripts/run-plugin-owner-conformance-consumer-smoke.ps1 b/scripts/run-plugin-owner-conformance-consumer-smoke.ps1 index 495d336..11f5802 100644 --- a/scripts/run-plugin-owner-conformance-consumer-smoke.ps1 +++ b/scripts/run-plugin-owner-conformance-consumer-smoke.ps1 @@ -84,13 +84,15 @@ node $consumerScript $consumerExport ` --expect-plugin-abi-field sai.vn:apply:expect.receiptSchema:gamecult.eve.command_receipt.v1 ` --expect-plugin-witness sai.vn:cultnet-operation-v0+rudp:pass ` --expect-plugin-runtime norn.graph:executable-sidecar ` + --expect-plugin-runtime-transport norn.graph:cultnet-rudp ` --expect-plugin-runtime-transport norn.graph:stdio ` --expect-plugin-runtime-authority norn.graph:no-provider-state-mutation ` --expect-plugin-runtime-field norn.graph:sidecar.processKind:long-running-daemon ` - --expect-plugin-runtime-field norn.graph:sidecar.protocol:stdio-ndjson ` + --expect-plugin-runtime-field norn.graph:sidecar.protocol:cultnet-operation-v0 ` --expect-plugin-runtime-field norn.graph:sidecar.requestSchema:gamecult.eve.plugin_abi.request.v1 ` --expect-plugin-runtime-field norn.graph:sidecar.responseSchema:gamecult.eve.plugin_abi.response.v1 ` --expect-plugin-runtime-field norn.graph:sidecar.stateAuthority:proposes-plugin-state-only-provider-accepts ` + --expect-plugin-witness norn.graph:cultnet-operation-v0+rudp:pass ` --expect-plugin-operation tex.math:describe ` --expect-plugin-operation tex.math:validate ` --expect-plugin-operation tex.math:project `