Graduate runtime evidence owners

This commit is contained in:
Meta Vens 2026-07-10 16:49:28 +01:00
commit 6ef39c4d76
3 changed files with 52 additions and 55 deletions

View file

@ -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" }
]

View file

@ -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": [

View file

@ -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",