feat(provider-contract): add Gelios v9 telemetry projection

This commit is contained in:
Codex
2026-07-23 23:27:31 +03:00
parent 59f9fc2b26
commit 73364b4acb
10 changed files with 171 additions and 21 deletions
@@ -23,6 +23,7 @@ export {
} from "./telemetry-field-registry.mjs";
export {
L2_EXECUTION_PLAN_COMPILER_VERSION,
L2_EXECUTION_PLAN_SUPPORTED_COMPILER_VERSIONS,
L2_EXECUTION_PLAN_SCHEMA_VERSION,
L2_GRAPH_BLUEPRINT_SCHEMA_VERSION,
L2_MAPPING_RUNTIME_SCHEMA_VERSION,
@@ -9,7 +9,11 @@ export const L2_EXECUTION_PLAN_SCHEMA_VERSION = "nodedc.l2-execution-plan/v1";
export const L2_GRAPH_BLUEPRINT_SCHEMA_VERSION = "nodedc.l2-graph-blueprint/v1";
export const L2_MATERIALIZATION_RECEIPT_SCHEMA_VERSION = "nodedc.l2-materialization-receipt/v1";
export const L2_MAPPING_RUNTIME_SCHEMA_VERSION = "nodedc.semantic-mapping-runtime/v1";
export const L2_EXECUTION_PLAN_COMPILER_VERSION = "1.1.0";
export const L2_EXECUTION_PLAN_COMPILER_VERSION = "1.2.0";
export const L2_EXECUTION_PLAN_SUPPORTED_COMPILER_VERSIONS = Object.freeze([
"1.1.0",
L2_EXECUTION_PLAN_COMPILER_VERSION,
]);
const HASH = /^(?:sha256:)?[a-f0-9]{64}$/;
const IDENTIFIER = /^[a-z][a-z0-9._:-]{2,127}$/;
@@ -136,7 +140,9 @@ export function validateL2ExecutionPlan(value) {
const errors = [];
if (!isPlainObject(value)) return result(["executionPlan_must_be_object"]);
if (value.schemaVersion !== L2_EXECUTION_PLAN_SCHEMA_VERSION) errors.push("executionPlan.schemaVersion_mismatch");
if (value.compilerVersion !== L2_EXECUTION_PLAN_COMPILER_VERSION) errors.push("executionPlan.compilerVersion_mismatch");
if (!L2_EXECUTION_PLAN_SUPPORTED_COMPILER_VERSIONS.includes(value.compilerVersion)) {
errors.push("executionPlan.compilerVersion_mismatch");
}
if (!Array.isArray(value.steps) || value.steps.length < 5) {
errors.push("executionPlan.steps_invalid");
} else {