195 lines
7.8 KiB
JSON
195 lines
7.8 KiB
JSON
{
|
|
"schema": "gamecult.eve.runtime_capability.v1",
|
|
"runtimeId": "tui",
|
|
"title": "Compact TUI",
|
|
"owner": "EveTui",
|
|
"incubation": {
|
|
"ownerRepo": "EveTui",
|
|
"currentHostRepo": "Eve",
|
|
"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.",
|
|
"splitHandoff": {
|
|
"manifestPath": "runtimes/incubating/eve-tui/evetui-split-handoff.json",
|
|
"smokeCommand": "powershell -ExecutionPolicy Bypass -File .\\scripts\\run-evetui-split-handoff-smoke.ps1"
|
|
}
|
|
},
|
|
"supportedFeatures": [
|
|
"providerAdvertisements",
|
|
"commandTransport",
|
|
"terminalGridSummary",
|
|
"terminalGridLowering",
|
|
"embeddedDocuments",
|
|
"pluginProjection"
|
|
],
|
|
"supportedPlugins": [
|
|
{
|
|
"pluginId": "sai.vn",
|
|
"capabilities": [
|
|
"vn.stage",
|
|
"story.choose",
|
|
"story.continue",
|
|
"story.jump"
|
|
],
|
|
"projectionAdapter": "EveTuiShell.buildPluginProjection",
|
|
"lossiness": "terminal-summary"
|
|
},
|
|
{
|
|
"pluginId": "norn.graph",
|
|
"capabilities": [
|
|
"embed.norn"
|
|
],
|
|
"projectionAdapter": "EveTuiShell.buildPluginProjection",
|
|
"lossiness": "terminal-outline"
|
|
},
|
|
{
|
|
"pluginId": "tex.math",
|
|
"capabilities": [
|
|
"embed.tex",
|
|
"tex.inline",
|
|
"tex.block"
|
|
],
|
|
"projectionAdapter": "EveTuiShell.buildPluginProjection",
|
|
"lossiness": "source-text"
|
|
}
|
|
],
|
|
"unsupportedPlugins": [],
|
|
"worldSurfaceLowering": [
|
|
{
|
|
"targetId": "tui",
|
|
"surfaceKinds": ["interactive-world", "interactive-world-editor"],
|
|
"projectionKinds": ["provider-authored-world-surface", "provider-authored-world-editor-surface"],
|
|
"supportLevel": "terminal-grid-command-surface",
|
|
"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",
|
|
"../Aetheria/conformance/eve/aetheria.provider-advertisement.json",
|
|
"web/fixtures/eve-world-smoke.provider-advertisement.json"
|
|
]
|
|
}
|
|
],
|
|
"commandTransport": {
|
|
"schema": "gamecult.eve.command_invocation.v1",
|
|
"status": "provider-shell-contract-skeleton",
|
|
"emitter": "EveTuiShell.createCommandIntent",
|
|
"clientId": "tui",
|
|
"authority": "TUI emits command intents through provider-advertised command boundaries; providers accept, deny, and publish receipts."
|
|
},
|
|
"lifecycle": {
|
|
"release": {
|
|
"ownerRepo": "EveTui",
|
|
"status": "pending-tui-package",
|
|
"releaseContract": {
|
|
"ownerRepo": "EveTui",
|
|
"packageName": "eve-tui",
|
|
"packageRoot": "runtimes/incubating/eve-tui",
|
|
"versionSource": "runtimes/incubating/eve-tui/package.json",
|
|
"tagPattern": "evetui-v{version}",
|
|
"artifactKind": "terminal-runtime",
|
|
"requestSchema": "gamecult.eve.runtime_release_request.v1",
|
|
"requestBuilder": "tools/evetui/evetui-release-contract.mjs",
|
|
"artifactPattern": "artifacts/evetui-release/{version}/eve-tui-{version}.tgz",
|
|
"publishProof": "Terminal runtime release is created from the EveTui repo and references the provider-agnostic TUI package root."
|
|
},
|
|
"evidencePaths": [
|
|
"runtimes/incubating/eve-tui/package.json",
|
|
"runtimes/incubating/eve-tui/src/eve-tui-shell.mjs",
|
|
"runtimes/incubating/eve-tui/evetui-split-handoff.json",
|
|
"tools/evetui/evetui-release-contract.mjs",
|
|
"tools/evetui/evetui-release-contract.test.mjs",
|
|
"scripts/run-evetui-release-contract-smoke.ps1",
|
|
"scripts/run-evetui-split-handoff-smoke.ps1"
|
|
],
|
|
"pendingProofs": [
|
|
"TUI package release is cut from EveTui rather than Eve incubation."
|
|
]
|
|
},
|
|
"test": {
|
|
"ownerRepo": "EveTui",
|
|
"status": "provider-shell-contract-skeleton",
|
|
"testContract": {
|
|
"ownerRepo": "EveTui",
|
|
"runnerKind": "terminal-provider-shell-smoke",
|
|
"runnerScript": "scripts/run-evetui-provider-shell-smoke.ps1",
|
|
"consumerProject": "E:\\Projects\\Aetheria",
|
|
"packageName": "eve-tui",
|
|
"testAssembly": "eve-tui-shell.test.mjs",
|
|
"testPlatform": "Node terminal-grid contract skeleton",
|
|
"resultsArtifact": "artifacts/evetui-provider-shell/{stamp}/provider-shell-results.json",
|
|
"logArtifact": "artifacts/evetui-provider-shell/{stamp}/provider-shell.log",
|
|
"manifestMutation": "None; the TUI consumes provider advertisements and must not mutate provider product manifests."
|
|
},
|
|
"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",
|
|
"runtimes/incubating/eve-tui/evetui-split-handoff.json",
|
|
"scripts/run-evetui-split-handoff-smoke.ps1",
|
|
"scripts/run-evetui-provider-shell-smoke.ps1"
|
|
],
|
|
"pendingProofs": [
|
|
"TUI provider-advertisement smoke runs from EveTui with durable terminal transcript or cell-grid artifacts."
|
|
]
|
|
},
|
|
"capture": {
|
|
"ownerRepo": "EveTui",
|
|
"status": "cell-grid-json-capture",
|
|
"captureContract": {
|
|
"ownerRepo": "EveTui",
|
|
"runtimeId": "tui",
|
|
"targetId": "tui",
|
|
"requestSchema": "gamecult.eve.runtime_capture_request.v1",
|
|
"requestBuilder": "tools/evetui/evetui-capture-contract.mjs",
|
|
"advertisementPath": "../Aetheria/conformance/eve/aetheria.provider-advertisement.json",
|
|
"captureKind": "terminal-cell-grid",
|
|
"artifactKind": "json-grid",
|
|
"artifactPattern": "artifacts/evetui-capture/{stamp}/tui-grid.json",
|
|
"conformanceAttachment": "runtime.captureArtifacts[]",
|
|
"requiredProvider": "aetheria",
|
|
"requiredSurface": "aetheria.daemon.game",
|
|
"additionalProviderSurfaces": [
|
|
{
|
|
"providerId": "eve.world-smoke",
|
|
"surfaceId": "eve.world-smoke.surface",
|
|
"purpose": "Generic non-product interactive-world capture control."
|
|
},
|
|
{
|
|
"providerId": "aetheria",
|
|
"surfaceId": "aetheria.daemon.editor",
|
|
"purpose": "Aetheria interactive-world-editor capture control."
|
|
}
|
|
],
|
|
"authority": "Capture observes terminal projection only; provider state, command acceptance, and receipts stay provider-owned.",
|
|
"publishProof": "Terminal cell-grid JSON capture artifact is attached to the runtime conformance report from EveTui."
|
|
},
|
|
"evidencePaths": [
|
|
"tools/evetui/evetui-capture-contract.mjs",
|
|
"tools/evetui/evetui-capture-contract.test.mjs",
|
|
"tools/evetui/evetui-capture-artifact.mjs",
|
|
"tools/evetui/evetui-capture-artifact.test.mjs",
|
|
"scripts/run-evetui-capture-contract-smoke.ps1",
|
|
"scripts/run-evetui-capture-smoke.ps1"
|
|
],
|
|
"pendingProofs": [
|
|
"TUI capture artifact is produced from the EveTui owner repo rather than Eve incubation."
|
|
]
|
|
}
|
|
},
|
|
"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.",
|
|
"artifacts": [
|
|
{
|
|
"kind": "json-grid",
|
|
"schema": "gamecult.eve.tui_grid.v1",
|
|
"path": "artifacts/evetui-capture/latest/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"
|
|
}
|
|
]
|
|
}
|
|
}
|