Add EveTui split boundary
This commit is contained in:
parent
edf1af7ece
commit
64494bffac
5 changed files with 150 additions and 9 deletions
|
|
@ -297,6 +297,13 @@ Recently cut:
|
|||
client, and the split-target consumer smoke keeps the missing shell,
|
||||
provider-advertisement consumption, command transport, and capture proofs
|
||||
visible as blockers.
|
||||
- EveTui now has a pending split target and handoff at
|
||||
`runtimes/incubating/eve-tui/evetui-split-handoff.json`. It does not claim
|
||||
the advertised `tui` world-surface lowering target yet. The handoff draws the
|
||||
line between a future provider-agnostic terminal/grid lowerer and
|
||||
provider-owned TUI surfaces, and the split-target consumer smoke keeps the
|
||||
missing runtime body, provider-advertisement consumption, command transport,
|
||||
transcript/cell-grid capture, and `tui` lowering proof visible as blockers.
|
||||
- Aetheria interactive world surfaces now carry a structured provider-owned
|
||||
`worldInteraction` contract. The provider advertisement names projection
|
||||
kind, provider state schemas, daemon command boundary, receipt schema,
|
||||
|
|
|
|||
|
|
@ -199,14 +199,16 @@ Split-target consumer smoke:
|
|||
powershell -ExecutionPolicy Bypass -File .\scripts\run-split-target-conformance-consumer-smoke.ps1
|
||||
```
|
||||
|
||||
That script asserts that EveFlutter, EveUnity, and EveElectron are exported as
|
||||
incubating split targets, that their current split-readiness proofs are passed,
|
||||
and that their graduation blockers remain visible to consumers. A target being
|
||||
present is not enough; future owner repos must be able to consume why it is or
|
||||
is not ready to leave Eve incubation. EveElectron is intentionally pending: its
|
||||
handoff names the generic Electron shell boundary, while the Starbridge RTS
|
||||
client remains Aetheria-owned product code until a provider-agnostic shell
|
||||
exists.
|
||||
That script asserts that EveFlutter, EveUnity, EveElectron, and EveTui are
|
||||
exported as incubating split targets, that their current split-readiness proofs
|
||||
are passed, and that their graduation blockers remain visible to consumers. A
|
||||
target being present is not enough; future owner repos must be able to consume
|
||||
why it is or is not ready to leave Eve incubation. EveElectron is intentionally
|
||||
pending: its handoff names the generic Electron shell boundary, while the
|
||||
Starbridge RTS client remains Aetheria-owned product code until a
|
||||
provider-agnostic shell exists. EveTui is also intentionally pending: Aetheria
|
||||
advertises `tui` as an agent-facing lowering target, but Eve should not claim
|
||||
that target until a real terminal/grid lowerer and transcript capture exist.
|
||||
|
||||
The Flutter widget smoke also exercises `EveProviderCatalog` and
|
||||
`EveProviderPicker` against a conformance-export-shaped provider list. That is
|
||||
|
|
|
|||
64
runtimes/incubating/eve-tui/evetui-split-handoff.json
Normal file
64
runtimes/incubating/eve-tui/evetui-split-handoff.json
Normal file
|
|
@ -0,0 +1,64 @@
|
|||
{
|
||||
"schema": "gamecult.eve.runtime_split_handoff.v1",
|
||||
"splitTarget": "EveTui",
|
||||
"ownerRepo": "EveTui",
|
||||
"currentHostRepo": "Eve",
|
||||
"runtimeId": "tui",
|
||||
"packageName": "eve-tui",
|
||||
"sourcePackageRoot": "runtimes/incubating/eve-tui",
|
||||
"destinationPackageRoot": "packages/eve-tui",
|
||||
"authorityBoundary": "EveTui owns compact terminal/grid projection, keyboard command input, dense state inspection, terminal capability manifests, capture transcripts, and TUI-specific style/token lowering. Providers such as Aetheria own live state, authored TUI surfaces, command authorization, receipts, and product-specific flows. Eve keeps the GUI/TUI surface contracts, command descriptors, provider advertisements, plugin advertisements, and conformance export contracts.",
|
||||
"moveSets": [
|
||||
{
|
||||
"id": "tui-runtime-body",
|
||||
"stage": "runtime-body",
|
||||
"currentPaths": [],
|
||||
"destinationOwner": "EveTui",
|
||||
"replacementProof": "EveTui hosts a provider-agnostic TUI lowerer that consumes provider advertisements and Eve surface documents without importing provider internals."
|
||||
},
|
||||
{
|
||||
"id": "tui-world-surface-lowering",
|
||||
"stage": "world-surface-lowering",
|
||||
"currentPaths": [],
|
||||
"destinationOwner": "EveTui",
|
||||
"replacementProof": "EveTui claims the provider-advertised tui world-surface lowering target with explicit support level, lossiness, command boundary, and transcript evidence."
|
||||
},
|
||||
{
|
||||
"id": "tui-command-transport",
|
||||
"stage": "command",
|
||||
"currentPaths": [],
|
||||
"destinationOwner": "EveTui",
|
||||
"replacementProof": "TUI actions emit gamecult.eve.command.v1 intents through provider-advertised command boundaries and render provider receipts instead of mutating local state."
|
||||
},
|
||||
{
|
||||
"id": "tui-capture-lifecycle",
|
||||
"stage": "capture",
|
||||
"currentPaths": [],
|
||||
"destinationOwner": "EveTui",
|
||||
"replacementProof": "EveTui attaches deterministic terminal transcript or cell-grid capture artifacts to conformance output."
|
||||
}
|
||||
],
|
||||
"contractInputs": [
|
||||
"gamecult.eve.surface.v1",
|
||||
"gamecult.eve.command.v1",
|
||||
"gamecult.eve.provider_advertisement.v1",
|
||||
"gamecult.eve.plugin_advertisement.v1",
|
||||
"gamecult.eve.plugin.v1",
|
||||
"gamecult.eve.conformance_export.v1"
|
||||
],
|
||||
"forbiddenImports": [
|
||||
"provider internals as TUI runtime authority",
|
||||
"renderer-local product state as provider truth",
|
||||
"terminal-only command routes that bypass gamecult.eve.command.v1",
|
||||
"plugin semantic internals",
|
||||
"lossy text summaries pretending to be provider state"
|
||||
],
|
||||
"requiredExternalProofs": [
|
||||
"EveTui publishes a runtime capability manifest with terminal/grid capabilities.",
|
||||
"EveTui claims the tui world-surface lowering target only after a real provider-agnostic lowerer exists.",
|
||||
"EveTui consumes at least one non-Aetheria provider advertisement.",
|
||||
"EveTui consumes Aetheria's agent-facing TUI surface through provider advertisements without importing Aetheria internals.",
|
||||
"EveTui emits gamecult.eve.command.v1 intents and renders provider receipts.",
|
||||
"EveTui attaches terminal transcript or cell-grid capture artifacts to conformance output."
|
||||
]
|
||||
}
|
||||
|
|
@ -48,7 +48,12 @@ try {
|
|||
--expect-split-target-status EveElectron:incubating `
|
||||
--expect-split-target-proof "EveElectron:EveElectron split handoff is machine-readable" `
|
||||
--expect-split-target-blocker "EveElectron:runtime:electron-shell:status:pending" `
|
||||
--expect-split-target-blocker "EveElectron:Electron shell runtime body exists outside Aetheria product code"
|
||||
--expect-split-target-blocker "EveElectron:Electron shell runtime body exists outside Aetheria product code" `
|
||||
--expect-split-target EveTui `
|
||||
--expect-split-target-status EveTui:incubating `
|
||||
--expect-split-target-proof "EveTui:EveTui split handoff is machine-readable" `
|
||||
--expect-split-target-blocker "EveTui:runtime:tui:status:pending" `
|
||||
--expect-split-target-blocker "EveTui:TUI runtime body exists outside provider product code"
|
||||
if ($LASTEXITCODE -ne 0) {
|
||||
throw "Split target conformance consumer smoke failed with exit code $LASTEXITCODE"
|
||||
}
|
||||
|
|
|
|||
|
|
@ -607,6 +607,34 @@
|
|||
"Electron emits gamecult.eve.command.v1 through provider command boundaries.",
|
||||
"Electron capture artifacts are attached to conformance output."
|
||||
]
|
||||
},
|
||||
{
|
||||
"id": "EveTui",
|
||||
"ownerRepo": "EveTui",
|
||||
"repoRole": "runtime-target",
|
||||
"status": "pending",
|
||||
"runtimes": ["tui"],
|
||||
"requiredRuntimeStatuses": ["active"],
|
||||
"requiredFeatures": ["providerAdvertisements", "embeddedDocuments", "commandTransport"],
|
||||
"requiredPlugins": [],
|
||||
"proofs": [
|
||||
{
|
||||
"description": "EveTui split handoff is machine-readable.",
|
||||
"status": "passed",
|
||||
"evidencePaths": [
|
||||
"runtimes/incubating/eve-tui/evetui-split-handoff.json",
|
||||
"docs/eve-migration-roadmap.md",
|
||||
"docs/parity-testing-harness.md"
|
||||
]
|
||||
}
|
||||
],
|
||||
"pendingProofs": [
|
||||
"TUI runtime body exists outside provider product code.",
|
||||
"TUI consumes provider advertisements without provider source-layout knowledge.",
|
||||
"TUI claims provider-advertised tui world-surface lowering with real transcript evidence.",
|
||||
"TUI emits gamecult.eve.command.v1 through provider command boundaries.",
|
||||
"TUI terminal transcript or cell-grid captures are attached to conformance output."
|
||||
]
|
||||
}
|
||||
],
|
||||
"runtimes": [
|
||||
|
|
@ -645,6 +673,41 @@
|
|||
"note": "Electron capture is a split blocker until EveElectron owns a provider-agnostic shell."
|
||||
}
|
||||
},
|
||||
{
|
||||
"id": "tui",
|
||||
"title": "Compact TUI",
|
||||
"kind": "pending",
|
||||
"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.",
|
||||
"splitHandoffPath": "runtimes/incubating/eve-tui/evetui-split-handoff.json",
|
||||
"requiredFixtures": ["embedded-surface", "aetheria-world"],
|
||||
"pluginFixtures": [],
|
||||
"supportedFeatures": [],
|
||||
"supportedPlugins": [],
|
||||
"unsupportedPlugins": [
|
||||
{
|
||||
"pluginId": "sai.vn",
|
||||
"reason": "TUI has no generic runtime body yet; Sai projection must be a declared lossy terminal projection once EveTui exists."
|
||||
},
|
||||
{
|
||||
"pluginId": "norn.graph",
|
||||
"reason": "TUI has no generic runtime body yet; Norn graph projection needs explicit text/grid fallback semantics once EveTui exists."
|
||||
},
|
||||
{
|
||||
"pluginId": "tex.math",
|
||||
"reason": "TUI has no generic runtime body yet; TeX projection needs explicit text/grid fallback semantics once EveTui exists."
|
||||
}
|
||||
],
|
||||
"expectedPaths": [
|
||||
"runtimes/incubating/eve-tui/evetui-split-handoff.json"
|
||||
],
|
||||
"capture": {
|
||||
"status": "missing",
|
||||
"note": "TUI transcript or cell-grid capture is a split blocker until EveTui owns a provider-agnostic lowerer."
|
||||
}
|
||||
},
|
||||
{
|
||||
"id": "web",
|
||||
"title": "Web reference",
|
||||
|
|
|
|||
Loading…
Reference in a new issue