Graduate runtime evidence owners
This commit is contained in:
parent
46884e4f0c
commit
6ef39c4d76
3 changed files with 52 additions and 55 deletions
|
|
@ -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" }
|
||||
]
|
||||
|
|
|
|||
|
|
@ -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": [
|
||||
|
||||
|
|
|
|||
|
|
@ -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",
|
||||
|
|
|
|||
Reference in a new issue