Attach native EveElectron capture witnesses

This commit is contained in:
Meta Vens 2026-07-10 08:02:04 +01:00
commit 2355032c56
12 changed files with 68 additions and 28 deletions

View file

@ -64,7 +64,7 @@ function validateWitness(value) {
if (value.schema !== "gamecult.eve.runtime_witness.v1") throw new Error(`Unexpected runtime witness schema: ${value.schema || ""}`);
if (!value.execution?.cacheState || !Number.isFinite(value.execution?.durationMs)) throw new Error("Runtime witness execution is incomplete.");
if (!value.assertions || typeof value.assertions !== "object") throw new Error("Runtime witness assertions are missing.");
if (!Array.isArray(value.receipts) || !value.receipts.length) throw new Error("Runtime witness receipts are missing.");
if (value.receipts !== undefined && !Array.isArray(value.receipts)) throw new Error("Runtime witness receipts must be an array when present.");
if (!Array.isArray(value.artifacts) || !value.artifacts.length) throw new Error("Runtime witness artifacts are missing.");
for (const artifact of value.artifacts) {
if (!artifact.path || !/^[a-f0-9]{64}$/i.test(artifact.sha256 || "") || !(artifact.sizeBytes > 0)) {

View file

@ -658,7 +658,7 @@
"id": "EveElectron",
"ownerRepo": "EveElectron",
"repoRole": "runtime-target",
"status": "graduated-runtime-capture-pending",
"status": "graduated",
"runtimes": ["electron-shell"],
"requiredRuntimeStatuses": ["active"],
"requiredFeatures": ["providerAdvertisements", "surfaceTreeProjection", "embeddedDocuments"],
@ -694,9 +694,7 @@
]
}
],
"pendingProofs": [
"Electron packaged window PNG capture artifacts are attached to conformance output."
]
"pendingProofs": []
},
{
"id": "EveTui",
@ -824,9 +822,30 @@
}
],
"capture": {
"status": "pending-owner-window-capture",
"note": "EveElectron owns capture production; Eve core no longer manufactures runtime projection artifacts on its behalf.",
"artifacts": []
"status": "owner-window-png",
"note": "EveElectron owns native window PNG production for the generic and Aetheria provider surfaces.",
"artifacts": [
{
"kind": "png",
"schema": "image/png",
"path": "artifacts/capture/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"
},
{
"kind": "png",
"schema": "image/png",
"path": "artifacts/capture/aetheria-world/window.png",
"runtimeId": "electron-shell",
"providerId": "aetheria",
"surfaceId": "aetheria.daemon.game",
"sourceSurfacePath": "../Eve/web/fixtures/aetheria-world-surface.json",
"requestPath": "artifacts/capture/aetheria-world/runtime-witness.json"
}
]
}
},
{

View file

@ -1856,7 +1856,7 @@ function evaluateSplitTargets(splitTargets, runtimeResults) {
id: target.id,
ownerRepo: target.ownerRepo || "",
repoRole: target.repoRole || "",
status: blockers.length ? "incubating" : "ready-to-split",
status: blockers.length ? "incubating" : target.status === "graduated" ? "graduated" : "ready-to-split",
declaredStatus: target.status || "",
runtimes: runtimeIds,
runtimeStatuses,
@ -2014,6 +2014,7 @@ function summarize(fixtures, runtimes, plugins, providers, splitTargets) {
pendingRuntimes: runtimes.filter(runtime => runtime.status !== "active").length,
totalSplitTargets: splitTargets.length,
readySplitTargets: splitTargets.filter(target => target.status === "ready-to-split").length,
graduatedSplitTargets: splitTargets.filter(target => target.status === "graduated").length,
};
}