Graduate fields plugin runtime contract

This commit is contained in:
Meta Vens 2026-07-10 16:01:41 +01:00
commit 97bbbcdc61
3 changed files with 16 additions and 1 deletions

View file

@ -2,7 +2,7 @@
"schema": "gamecult.eve.plugin_advertisement.v1",
"pluginId": "fields.surface",
"ownerService": "eveplugins",
"version": "0.1.0",
"version": "0.1.1",
"manifestAddress": "file://plugins/eve-plugin-fields/plugin.json",
"runtime": {
"invocationModel": "executable-sidecar",

View file

@ -4,11 +4,20 @@
"title": "Semantic Fields",
"owner": "EvePlugins",
"incubation": {
"status": "graduated",
"ownerRepo": "EvePlugins",
"currentHostRepo": "EvePlugins",
"splitTarget": "EvePlugins/eve-plugin-fields",
"graduationTrigger": "Split when field schemas, sidecar witness, and two runtime adapters are stable."
},
"graduation": {
"status": "graduated",
"runtimeAdapters": ["web-reference", "unity-scene"],
"evidence": [
"artifacts/fields-surface/runtime-witness.json",
"EveUnity/artifacts/fields-surface/latest/unity-fields.png"
]
},
"componentKinds": ["field.surface2d", "gravity.surface"],
"commands": [],
"runtime": {

View file

@ -51,3 +51,9 @@ test("publishes a runtime-neutral Unity contract package", () => {
assert.doesNotMatch(contracts, /UnityEngine|Aetheria|MessagePack|GameCult\.Caching/);
assert.match(readFileSync(new URL("../GameCult.Eve.PluginFields.csproj", import.meta.url), "utf8"), /netstandard2\.1/);
});
test("records fields plugin graduation after two native runtime proofs", () => {
const manifest = JSON.parse(readFileSync(new URL("../plugin.json", import.meta.url), "utf8"));
assert.equal(manifest.graduation.status, "graduated");
assert.deepEqual(manifest.graduation.runtimeAdapters, ["web-reference", "unity-scene"]);
});