Thing/runtimes/incubating/eve-tui/eve-runtime-capability.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"
}
]
}
}