From 6ef39c4d7689bf08c607fbc70a84425436e1eaab Mon Sep 17 00:00:00 2001 From: Meta Vens Date: Fri, 10 Jul 2026 16:49:28 +0100 Subject: [PATCH] Graduate runtime evidence owners --- conformance-workspace.lock.json | 7 ++- tools/parity/parity-manifest.json | 94 +++++++++++++++---------------- tools/parity/run-parity.mjs | 6 +- 3 files changed, 52 insertions(+), 55 deletions(-) diff --git a/conformance-workspace.lock.json b/conformance-workspace.lock.json index 6306095..0772838 100644 --- a/conformance-workspace.lock.json +++ b/conformance-workspace.lock.json @@ -2,11 +2,12 @@ "schema": "gamecult.eve.conformance_workspace_lock.v1", "repositories": [ { "name": "Aetheria", "url": "https://github.com/GameCult/Aetheria.git", "commit": "2b276a95b47b6ff6fc4c36dd2c34d45cfa765079" }, - { "name": "Eve", "url": "https://github.com/GameCult/Eve.git", "commit": "86b077833b99b7e9b8c2f57eda064c3c4dc88eb1" }, - { "name": "EveElectron", "url": "https://github.com/GameCult/EveElectron.git", "commit": "56d439e84bbbc25878527b73104d04c600997ed4" }, + { "name": "Eve", "url": "https://github.com/GameCult/Eve.git", "commit": "afdbbc43753a71d353052625902661c4dfac5dee" }, + { "name": "EveElectron", "url": "https://github.com/GameCult/EveElectron.git", "commit": "08f3a5b9bbd71fd6daa756a49b2e152c49e5ee81" }, { "name": "EveFlutter", "url": "https://github.com/GameCult/EveFlutter.git", "commit": "5998044f2b0ef206a43d80fdb64a1acd0830bb85" }, { "name": "EvePlugins", "url": "https://github.com/GameCult/EvePlugins.git", "commit": "dabea374b1ee89d084e93f95f05f56c1cadb8b14" }, - { "name": "EveUnity", "url": "https://github.com/GameCult/EveUnity.git", "commit": "d96ceeeec9432f67c0aa10df0780e36c1279929f" }, + { "name": "EveTui", "url": "https://github.com/GameCult/EveTui.git", "commit": "01ea52f50d6ffcae290bbda8959e2ef73571d2cf" }, + { "name": "EveUnity", "url": "https://github.com/GameCult/EveUnity.git", "commit": "864536cf010d43b0f14c43dc34ca2f7e4f1cb7a6" }, { "name": "Norn", "url": "https://github.com/GameCult/Norn.git", "commit": "c33598d97c6cc8636984008bc739ebd16e612946" }, { "name": "Sai", "url": "https://github.com/GameCult/Sai.git", "commit": "2e7be7e9f90e1eebce09538aff34c207820f41aa" } ] diff --git a/tools/parity/parity-manifest.json b/tools/parity/parity-manifest.json index 063fb33..a08c10f 100644 --- a/tools/parity/parity-manifest.json +++ b/tools/parity/parity-manifest.json @@ -1095,7 +1095,7 @@ "id": "EveTui", "ownerRepo": "EveTui", "repoRole": "runtime-target", - "status": "incubating", + "status": "graduated", "runtimes": [ "tui" ], @@ -1112,39 +1112,36 @@ ], "proofs": [ { - "description": "EveTui split handoff is machine-readable.", + "description": "EveTui owns a tagged package and runtime lifecycle.", "status": "passed", "evidencePaths": [ - "runtimes/incubating/eve-tui/evetui-split-handoff.json", - "scripts/run-evetui-split-handoff-smoke.ps1", - "docs/eve-migration-roadmap.md", - "docs/parity-testing-harness.md" + "../EveTui/package.json", + "../EveTui/eve-runtime-capability.json", + "../EveTui/scripts/run-evetui-release-contract-smoke.ps1" ] }, { "description": "EveTui lifecycle contract is machine-readable and smoke-checked.", "status": "passed", "evidencePaths": [ - "runtimes/incubating/eve-tui/eve-runtime-capability.json", - "scripts/run-evetui-lifecycle-smoke.ps1", - "scripts/run-evetui-provider-shell-smoke.ps1" + "../EveTui/eve-runtime-capability.json", + "../EveTui/scripts/run-evetui-lifecycle-smoke.ps1", + "../EveTui/scripts/run-evetui-provider-shell-smoke.ps1" ] }, { "description": "EveTui provider-shell skeleton selects advertised surfaces, lowers Eve surface trees into terminal grids, and emits Eve command intents.", "status": "passed", "evidencePaths": [ - "runtimes/incubating/eve-tui/package.json", - "runtimes/incubating/eve-tui/src/eve-tui-shell.mjs", - "runtimes/incubating/eve-tui/test/eve-tui-shell.test.mjs", - "scripts/run-evetui-provider-shell-smoke.ps1" + "../EveTui/package.json", + "../EveTui/src/eve-tui-shell.mjs", + "../EveTui/test/eve-tui-shell.test.mjs", + "../EveTui/conformance/captures/aetheria/tui-grid.json", + "../EveTui/conformance/captures/world-smoke/tui-grid.json" ] } ], - "pendingProofs": [ - "TUI package release is cut from EveTui rather than Eve incubation.", - "TUI capture path is owned by EveTui rather than Eve incubation." - ] + "pendingProofs": [] } ], "runtimes": [ @@ -1305,22 +1302,22 @@ { "kind": "png", "schema": "image/png", - "path": "artifacts/capture/generic-world/window.png", + "path": "conformance/captures/generic-world/window.png", "runtimeId": "electron-shell", "providerId": "eve.world-smoke", "surfaceId": "eve.world-smoke.surface", "sourceSurfacePath": "../Eve/web/fixtures/eve-world-smoke-surface.json", - "requestPath": "artifacts/capture/generic-world/runtime-witness.json" + "requestPath": "conformance/captures/generic-world/runtime-witness.json" }, { "kind": "png", "schema": "image/png", - "path": "artifacts/capture/aetheria-world/window.png", + "path": "conformance/captures/aetheria-world/window.png", "runtimeId": "electron-shell", "providerId": "aetheria", "surfaceId": "aetheria.daemon.game", "sourceSurfacePath": "../Aetheria/conformance/eve/aetheria-world-surface.json", - "requestPath": "artifacts/capture/aetheria-world/runtime-witness.json" + "requestPath": "conformance/captures/aetheria-world/runtime-witness.json" } ] } @@ -1332,12 +1329,12 @@ "ownerRepo": "EveTui", "repoRole": "runtime-target", "splitTarget": "EveTui", - "graduationTrigger": "Split when TUI has a provider-agnostic terminal/grid lowerer, provider advertisement consumption, command transport, terminal capability manifest, and transcript/cell-grid capture evidence.", + "currentHostRepo": "EveTui", + "graduationTrigger": "Graduated: EveTui owns package, tests, terminal lowering, command transport, lifecycle, and capture evidence.", "capabilityManifest": { "schemaPath": "schemas/gamecult.eve.runtime_capability.v1.schema.json", - "manifestPath": "runtimes/incubating/eve-tui/eve-runtime-capability.json" - }, - "splitHandoffPath": "runtimes/incubating/eve-tui/evetui-split-handoff.json", + "manifestPath": "eve-runtime-capability.json" + }, "requiredFixtures": [ "embedded-surface", "aetheria-world", @@ -1397,21 +1394,19 @@ "ownership": "runtime-lowers-provider-world-surface-without-owning-world-state", "lossiness": "terminal-grid-summary-only", "evidencePaths": [ - "runtimes/incubating/eve-tui/src/eve-tui-shell.mjs", - "runtimes/incubating/eve-tui/test/eve-tui-shell.test.mjs", - "web/fixtures/sai-vn-surface.json", + "src/eve-tui-shell.mjs", + "test/eve-tui-shell.test.mjs", + "../Eve/web/fixtures/sai-vn-surface.json", "../Aetheria/conformance/eve/aetheria.provider-advertisement.json", - "web/fixtures/eve-world-smoke.provider-advertisement.json" + "../Eve/web/fixtures/eve-world-smoke.provider-advertisement.json" ] } ], "expectedPaths": [ - "runtimes/incubating/eve-tui/package.json", - "runtimes/incubating/eve-tui/src/eve-tui-shell.mjs", - "runtimes/incubating/eve-tui/test/eve-tui-shell.test.mjs", - "runtimes/incubating/eve-tui/evetui-split-handoff.json", - "runtimes/incubating/eve-tui/eve-runtime-capability.json", - "scripts/run-evetui-split-handoff-smoke.ps1", + "package.json", + "src/eve-tui-shell.mjs", + "test/eve-tui-shell.test.mjs", + "eve-runtime-capability.json", "scripts/run-evetui-lifecycle-smoke.ps1", "scripts/run-evetui-provider-shell-smoke.ps1", "scripts/run-evetui-capture-contract-smoke.ps1", @@ -1426,7 +1421,7 @@ ], "expectedSourceSymbols": [ { - "path": "runtimes/incubating/eve-tui/src/eve-tui-shell.mjs", + "path": "src/eve-tui-shell.mjs", "contains": [ "EveTuiShell", "selectSurface", @@ -1452,7 +1447,7 @@ ] }, { - "path": "runtimes/incubating/eve-tui/test/eve-tui-shell.test.mjs", + "path": "test/eve-tui-shell.test.mjs", "contains": [ "selects advertised provider surfaces", "command intents carry provider-advertised boundaries", @@ -1523,36 +1518,36 @@ "path": "tools/evetui/evetui-release-contract.test.mjs", "contains": [ "builds EveTui release request from package manifest", - "evetui-v0.1.0", - "artifacts/evetui-release/0.1.0/eve-tui-0.1.0.tgz" + "evetui-v0.1.1", + "artifacts/evetui-release/0.1.1/eve-tui-0.1.1.tgz" ] } ], "capture": { "status": "json-grid", - "note": "TUI attaches a provider-advertisement-backed gamecult.eve.tui_grid.v1 JSON capture artifact; packaged runtime ownership remains an EveTui split blocker.", + "note": "EveTui publishes provider-advertisement-backed gamecult.eve.tui_grid.v1 release captures.", "artifacts": [ { "kind": "json-grid", "schema": "gamecult.eve.tui_grid.v1", - "path": "artifacts/evetui-capture/latest/tui-grid.json", + "path": "conformance/captures/aetheria/tui-grid.json", "providerId": "aetheria", "surfaceId": "aetheria.daemon.game", "sourceSurfacePath": "../Aetheria/conformance/eve/aetheria-world-surface.json", - "requestPath": "artifacts/evetui-capture/latest/capture-request.json" + "requestPath": "conformance/captures/aetheria/capture-request.json" }, { "kind": "json-grid", "schema": "gamecult.eve.tui_grid.v1", - "path": "artifacts/evetui-capture/latest/eve-world-smoke-tui-grid.json", + "path": "conformance/captures/world-smoke/tui-grid.json", "providerId": "eve.world-smoke", "surfaceId": "eve.world-smoke.surface", - "sourceSurfacePath": "web/fixtures/eve-world-smoke-surface.json", - "requestPath": "artifacts/evetui-capture/latest/eve-world-smoke-capture-request.json" + "sourceSurfacePath": "../Eve/web/fixtures/eve-world-smoke-surface.json", + "requestPath": "conformance/captures/world-smoke/capture-request.json" } ] }, - "sourceRoot": "../Eve" + "sourceRoot": "../EveTui" }, { "id": "unity-scene", @@ -2051,7 +2046,7 @@ { "kind": "png", "schema": "gamecult.eve.runtime_frame_capture.v1", - "path": "artifacts/playmode/world-smoke.png", + "path": "conformance/captures/world-smoke/world-smoke.png", "providerId": "eve.world-smoke", "surfaceId": "eve.world-smoke.surface" } @@ -2148,7 +2143,7 @@ "scripts/run-playmode-capture.ps1", "ReleaseConsumerProject/Assets/Tests/PlayMode/GenericWorldCaptureTests.cs", "scripts/run-aetheria-daemon-world-witness.ps1", - "artifacts/aetheria-daemon/aetheria-daemon-world.png" + "conformance/captures/aetheria-daemon/aetheria-daemon-world.png" ], "pendingProofs": [ @@ -2369,8 +2364,7 @@ "web/provider-advertisements.test.mjs", "web/hermodr-provider-catalog.test.mjs", "packages/eve-browser-lowering/test/browser-lowering.test.mjs", - "../EveConformance/tools/parity/parity-manifest.json", - "scripts/run-parity-harness.ps1" + "scripts/run-parity-harness.ps1" ], "pendingProofs": [ diff --git a/tools/parity/run-parity.mjs b/tools/parity/run-parity.mjs index 204b048..ba49d41 100644 --- a/tools/parity/run-parity.mjs +++ b/tools/parity/run-parity.mjs @@ -80,6 +80,7 @@ for (const error of conformanceExportErrors) console.error(`Conformance export e if (report.summary.failedFixtures > 0) process.exitCode = 1; if (report.summary.failedPlugins > 0) process.exitCode = 1; if (report.summary.failedProviders > 0) process.exitCode = 1; +if (report.summary.failedRuntimes > 0) process.exitCode = 1; if (conformanceHandoffErrors.length > 0) process.exitCode = 1; if (conformanceExportErrors.length > 0) process.exitCode = 1; @@ -2078,7 +2079,8 @@ function summarize(fixtures, runtimes, plugins, providers, splitTargets) { failedProviders: providers.filter(provider => provider.status !== "advertised").length, totalRuntimes: runtimes.length, activeRuntimes: runtimes.filter(runtime => runtime.status === "active").length, - pendingRuntimes: runtimes.filter(runtime => runtime.status !== "active").length, + failedRuntimes: runtimes.filter(runtime => runtime.kind === "active" && runtime.status !== "active").length, + pendingRuntimes: runtimes.filter(runtime => runtime.kind !== "active").length, totalSplitTargets: splitTargets.length, readySplitTargets: splitTargets.filter(target => target.status === "ready-to-split").length, graduatedSplitTargets: splitTargets.filter(target => target.status === "graduated").length, @@ -3528,7 +3530,7 @@ function renderMarkdown(report) { `- Fixtures: ${report.summary.passedFixtures}/${report.summary.totalFixtures} passed`, `- Plugins: ${report.summary.healthyPlugins}/${report.summary.totalPlugins} declared`, `- Providers: ${report.summary.advertisedProviders}/${report.summary.totalProviders} advertised`, - `- Runtimes: ${report.summary.activeRuntimes}/${report.summary.totalRuntimes} active`, + `- Runtimes: ${report.summary.activeRuntimes}/${report.summary.totalRuntimes} active (${report.summary.failedRuntimes} failed, ${report.summary.pendingRuntimes} pending)`, `- Split targets: ${report.summary.readySplitTargets}/${report.summary.totalSplitTargets} ready`, "", "## Repo Strategy",