CoolFace
Datasetpublic

itspublu/UniversalLabeler

UniversalLabeler A loss-audited interchange format for multilingual world-model annotations. UniversalLabeler separates what happened from how a language describes it. A source annotation is represented as small, evidence-linked claims—action, participants, hand roles, objects, state change, place, time and outcome. Human language captions and dataset-native labels are projections of the same packet, with omissions recorded rather than hidden. This is a public data and schema… See the full description on the dataset page: https://huggingface.co/datasets/itspublu/UniversalLabeler.

sourceHugging Faceapache-2.0updated 1mo agoView on Hugging Face
0likes105downloads
eval-common.schema.json594 linesDownload Raw Back to schemas
1{2  "$schema": "https://json-schema.org/draft/2020-12/schema",3  "$id": "https://huggingface.co/datasets/egobowwow/egobowwow-1k/resolve/v1.0.0/schemas/eval-common.schema.json",4  "title": "EgoBowWow multimodal evaluation shared types",5  "description": "Closed types shared by frozen tasksets, contestant submissions, and evaluator results. Time on evidence media is always integer nanoseconds on a named clock; masks and other bulky values are content-addressed references, never embedded media.",6  "$defs": {7    "identifier": {8      "type": "string",9      "pattern": "^[a-z][a-z0-9]*(?:[._-][a-z0-9]+)*$",10      "maxLength": 19211    },12    "sha256": {13      "type": "string",14      "pattern": "^sha256:[0-9a-f]{64}$"15    },16    "artifactId": {17      "type": "string",18      "pattern": "^artifact:sha256:[0-9a-f]{64}$"19    },20    "tasksetId": {21      "type": "string",22      "pattern": "^eval-taskset:[a-z][a-z0-9]*(?:[._-][a-z0-9]+)*:[0-9]+\\.[0-9]+\\.[0-9]+$"23    },24    "taskId": {25      "type": "string",26      "pattern": "^eval-task:sha256:[0-9a-f]{64}$"27    },28    "evidenceBundleId": {29      "type": "string",30      "pattern": "^evidence-bundle:sha256:[0-9a-f]{64}$"31    },32    "submissionId": {33      "type": "string",34      "pattern": "^eval-submission:sha256:[0-9a-f]{64}$"35    },36    "resultId": {37      "type": "string",38      "pattern": "^eval-result:sha256:[0-9a-f]{64}$"39    },40    "gradeId": {41      "type": "string",42      "pattern": "^eval-grade:sha256:[0-9a-f]{64}$"43    },44    "traceId": {45      "type": "string",46      "pattern": "^eval-trace:sha256:[0-9a-f]{64}$"47    },48    "nonNegativeNanoseconds": {49      "type": "integer",50      "minimum": 051    },52    "positiveNanoseconds": {53      "type": "integer",54      "minimum": 155    },56    "probability": {57      "type": "number",58      "minimum": 0,59      "maximum": 160    },61    "role": {62      "enum": ["contestant", "judge", "organizer", "auditor"]63    },64    "labelKind": {65      "enum": [66        "text_class",67        "temporal_span",68        "box_2d",69        "mask_ref",70        "keypoints_2d",71        "keypoints_3d",72        "pose_3d",73        "trajectory_3d",74        "audio_event",75        "object_relation",76        "state_transition",77        "action_chunk",78        "proprio_series"79      ]80    },81    "interval": {82      "type": "object",83      "additionalProperties": false,84      "required": ["clock_id", "start_ns", "end_ns"],85      "properties": {86        "clock_id": {"$ref": "#/$defs/identifier"},87        "start_ns": {"$ref": "#/$defs/nonNegativeNanoseconds"},88        "end_ns": {"$ref": "#/$defs/positiveNanoseconds"}89      },90      "$comment": "The semantic validator enforces start_ns < end_ns; intervals are half-open [start_ns,end_ns)."91    },92    "artifactPointer": {93      "type": "object",94      "additionalProperties": false,95      "required": ["artifact_id", "content_sha256", "media_type"],96      "properties": {97        "artifact_id": {"$ref": "#/$defs/artifactId"},98        "content_sha256": {"$ref": "#/$defs/sha256"},99        "media_type": {100          "type": "string",101          "pattern": "^[A-Za-z0-9!#$&^_.+-]+/[A-Za-z0-9!#$&^_.+-]+$",102          "maxLength": 127103        }104      },105      "$comment": "artifact_id must equal artifact: + content_sha256; checked semantically. No locator, media bytes, credentials, or local path is permitted here."106    },107    "uncertainty": {108      "oneOf": [109        {110          "type": "object",111          "additionalProperties": false,112          "required": ["kind"],113          "properties": {"kind": {"const": "not_reported"}}114        },115        {116          "type": "object",117          "additionalProperties": false,118          "required": ["kind", "standard_deviation", "unit"],119          "properties": {120            "kind": {"const": "scalar_standard_deviation"},121            "standard_deviation": {"type": "number", "minimum": 0},122            "unit": {"type": "string", "minLength": 1, "maxLength": 64}123          }124        },125        {126          "type": "object",127          "additionalProperties": false,128          "required": ["kind", "dimension", "row_major_covariance", "unit"],129          "properties": {130            "kind": {"const": "covariance"},131            "dimension": {"type": "integer", "minimum": 1, "maximum": 64},132            "row_major_covariance": {133              "type": "array",134              "minItems": 1,135              "maxItems": 4096,136              "items": {"type": "number"}137            },138            "unit": {"type": "string", "minLength": 1, "maxLength": 64}139          },140          "$comment": "The semantic validator enforces dimension squared entries."141        }142      ]143    },144    "visibility": {145      "type": "object",146      "additionalProperties": false,147      "required": ["state", "visible_fraction"],148      "properties": {149        "state": {150          "enum": ["visible", "partially_occluded", "fully_occluded", "truncated", "not_observable", "unknown"]151        },152        "visible_fraction": {153          "oneOf": [{"$ref": "#/$defs/probability"}, {"type": "null"}]154        }155      }156    },157    "point2d": {158      "type": "object",159      "additionalProperties": false,160      "required": ["keypoint_id", "x", "y", "confidence", "visibility"],161      "properties": {162        "keypoint_id": {"$ref": "#/$defs/identifier"},163        "x": {"type": "number"},164        "y": {"type": "number"},165        "confidence": {"$ref": "#/$defs/probability"},166        "visibility": {"$ref": "#/$defs/visibility"}167      }168    },169    "point3d": {170      "type": "object",171      "additionalProperties": false,172      "required": ["keypoint_id", "x", "y", "z", "confidence", "visibility"],173      "properties": {174        "keypoint_id": {"$ref": "#/$defs/identifier"},175        "x": {"type": "number"},176        "y": {"type": "number"},177        "z": {"type": "number"},178        "confidence": {"$ref": "#/$defs/probability"},179        "visibility": {"$ref": "#/$defs/visibility"}180      }181    },182    "poseSample": {183      "type": "object",184      "additionalProperties": false,185      "required": ["timestamp_ns", "translation_m", "quaternion_xyzw"],186      "properties": {187        "timestamp_ns": {"$ref": "#/$defs/nonNegativeNanoseconds"},188        "translation_m": {189          "type": "array",190          "minItems": 3,191          "maxItems": 3,192          "items": {"type": "number"}193        },194        "quaternion_xyzw": {195          "type": "array",196          "minItems": 4,197          "maxItems": 4,198          "items": {"type": "number"}199        }200      },201      "$comment": "The semantic validator rejects zero and non-unit quaternions and non-monotone trajectories."202    },203    "textClassLabel": {204      "type": "object",205      "additionalProperties": false,206      "required": ["label_key", "kind", "class_id", "confidence", "uncertainty", "visibility"],207      "properties": {208        "label_key": {"$ref": "#/$defs/identifier"},209        "kind": {"const": "text_class"},210        "class_id": {"$ref": "#/$defs/identifier"},211        "confidence": {"$ref": "#/$defs/probability"},212        "uncertainty": {"$ref": "#/$defs/uncertainty"},213        "visibility": {"$ref": "#/$defs/visibility"}214      }215    },216    "temporalSpanLabel": {217      "type": "object",218      "additionalProperties": false,219      "required": ["label_key", "kind", "class_id", "interval", "confidence", "uncertainty", "visibility"],220      "properties": {221        "label_key": {"$ref": "#/$defs/identifier"},222        "kind": {"const": "temporal_span"},223        "class_id": {"$ref": "#/$defs/identifier"},224        "interval": {"$ref": "#/$defs/interval"},225        "confidence": {"$ref": "#/$defs/probability"},226        "uncertainty": {"$ref": "#/$defs/uncertainty"},227        "visibility": {"$ref": "#/$defs/visibility"}228      }229    },230    "box2dLabel": {231      "type": "object",232      "additionalProperties": false,233      "required": ["label_key", "kind", "class_id", "clock_id", "timestamp_ns", "coordinate_frame_id", "coordinate_unit", "xyxy", "confidence", "uncertainty", "visibility"],234      "properties": {235        "label_key": {"$ref": "#/$defs/identifier"},236        "kind": {"const": "box_2d"},237        "class_id": {"$ref": "#/$defs/identifier"},238        "clock_id": {"$ref": "#/$defs/identifier"},239        "timestamp_ns": {"$ref": "#/$defs/nonNegativeNanoseconds"},240        "coordinate_frame_id": {"$ref": "#/$defs/identifier"},241        "coordinate_unit": {"enum": ["pixels", "normalized_0_1"]},242        "xyxy": {243          "type": "array",244          "minItems": 4,245          "maxItems": 4,246          "items": {"type": "number"}247        },248        "confidence": {"$ref": "#/$defs/probability"},249        "uncertainty": {"$ref": "#/$defs/uncertainty"},250        "visibility": {"$ref": "#/$defs/visibility"}251      }252    },253    "maskRefLabel": {254      "type": "object",255      "additionalProperties": false,256      "required": ["label_key", "kind", "class_id", "clock_id", "timestamp_ns", "coordinate_frame_id", "encoding", "mask_artifact", "confidence", "uncertainty", "visibility"],257      "properties": {258        "label_key": {"$ref": "#/$defs/identifier"},259        "kind": {"const": "mask_ref"},260        "class_id": {"$ref": "#/$defs/identifier"},261        "clock_id": {"$ref": "#/$defs/identifier"},262        "timestamp_ns": {"$ref": "#/$defs/nonNegativeNanoseconds"},263        "coordinate_frame_id": {"$ref": "#/$defs/identifier"},264        "encoding": {"enum": ["png_binary", "png_indexed", "coco_rle_json", "polygons_json"]},265        "mask_artifact": {"$ref": "#/$defs/artifactPointer"},266        "confidence": {"$ref": "#/$defs/probability"},267        "uncertainty": {"$ref": "#/$defs/uncertainty"},268        "visibility": {"$ref": "#/$defs/visibility"}269      }270    },271    "keypoints2dLabel": {272      "type": "object",273      "additionalProperties": false,274      "required": ["label_key", "kind", "class_id", "clock_id", "timestamp_ns", "coordinate_frame_id", "coordinate_unit", "points", "confidence", "uncertainty", "visibility"],275      "properties": {276        "label_key": {"$ref": "#/$defs/identifier"},277        "kind": {"const": "keypoints_2d"},278        "class_id": {"$ref": "#/$defs/identifier"},279        "clock_id": {"$ref": "#/$defs/identifier"},280        "timestamp_ns": {"$ref": "#/$defs/nonNegativeNanoseconds"},281        "coordinate_frame_id": {"$ref": "#/$defs/identifier"},282        "coordinate_unit": {"enum": ["pixels", "normalized_0_1"]},283        "points": {"type": "array", "minItems": 1, "maxItems": 256, "items": {"$ref": "#/$defs/point2d"}},284        "confidence": {"$ref": "#/$defs/probability"},285        "uncertainty": {"$ref": "#/$defs/uncertainty"},286        "visibility": {"$ref": "#/$defs/visibility"}287      }288    },289    "keypoints3dLabel": {290      "type": "object",291      "additionalProperties": false,292      "required": ["label_key", "kind", "class_id", "clock_id", "timestamp_ns", "coordinate_frame_id", "coordinate_unit", "points", "confidence", "uncertainty", "visibility"],293      "properties": {294        "label_key": {"$ref": "#/$defs/identifier"},295        "kind": {"const": "keypoints_3d"},296        "class_id": {"$ref": "#/$defs/identifier"},297        "clock_id": {"$ref": "#/$defs/identifier"},298        "timestamp_ns": {"$ref": "#/$defs/nonNegativeNanoseconds"},299        "coordinate_frame_id": {"$ref": "#/$defs/identifier"},300        "coordinate_unit": {"enum": ["meters", "millimeters"]},301        "points": {"type": "array", "minItems": 1, "maxItems": 256, "items": {"$ref": "#/$defs/point3d"}},302        "confidence": {"$ref": "#/$defs/probability"},303        "uncertainty": {"$ref": "#/$defs/uncertainty"},304        "visibility": {"$ref": "#/$defs/visibility"}305      }306    },307    "pose3dLabel": {308      "type": "object",309      "additionalProperties": false,310      "required": ["label_key", "kind", "clock_id", "parent_frame_id", "child_frame_id", "pose", "confidence", "uncertainty", "visibility"],311      "properties": {312        "label_key": {"$ref": "#/$defs/identifier"},313        "kind": {"const": "pose_3d"},314        "clock_id": {"$ref": "#/$defs/identifier"},315        "parent_frame_id": {"$ref": "#/$defs/identifier"},316        "child_frame_id": {"$ref": "#/$defs/identifier"},317        "pose": {"$ref": "#/$defs/poseSample"},318        "confidence": {"$ref": "#/$defs/probability"},319        "uncertainty": {"$ref": "#/$defs/uncertainty"},320        "visibility": {"$ref": "#/$defs/visibility"}321      }322    },323    "trajectory3dLabel": {324      "type": "object",325      "additionalProperties": false,326      "required": ["label_key", "kind", "clock_id", "parent_frame_id", "child_frame_id", "samples", "confidence", "uncertainty", "visibility"],327      "properties": {328        "label_key": {"$ref": "#/$defs/identifier"},329        "kind": {"const": "trajectory_3d"},330        "clock_id": {"$ref": "#/$defs/identifier"},331        "parent_frame_id": {"$ref": "#/$defs/identifier"},332        "child_frame_id": {"$ref": "#/$defs/identifier"},333        "samples": {"type": "array", "minItems": 2, "maxItems": 4096, "items": {"$ref": "#/$defs/poseSample"}},334        "confidence": {"$ref": "#/$defs/probability"},335        "uncertainty": {"$ref": "#/$defs/uncertainty"},336        "visibility": {"$ref": "#/$defs/visibility"}337      }338    },339    "audioEventLabel": {340      "type": "object",341      "additionalProperties": false,342      "required": ["label_key", "kind", "event_class_id", "channel_id", "interval", "confidence", "uncertainty", "visibility"],343      "properties": {344        "label_key": {"$ref": "#/$defs/identifier"},345        "kind": {"const": "audio_event"},346        "event_class_id": {"$ref": "#/$defs/identifier"},347        "channel_id": {"$ref": "#/$defs/identifier"},348        "interval": {"$ref": "#/$defs/interval"},349        "confidence": {"$ref": "#/$defs/probability"},350        "uncertainty": {"$ref": "#/$defs/uncertainty"},351        "visibility": {"$ref": "#/$defs/visibility"}352      }353    },354    "objectRelationLabel": {355      "type": "object",356      "additionalProperties": false,357      "required": ["label_key", "kind", "subject_entity_id", "relation_class_id", "object_entity_id", "interval", "confidence", "uncertainty", "visibility"],358      "properties": {359        "label_key": {"$ref": "#/$defs/identifier"},360        "kind": {"const": "object_relation"},361        "subject_entity_id": {"$ref": "#/$defs/identifier"},362        "relation_class_id": {"$ref": "#/$defs/identifier"},363        "object_entity_id": {"$ref": "#/$defs/identifier"},364        "interval": {"$ref": "#/$defs/interval"},365        "confidence": {"$ref": "#/$defs/probability"},366        "uncertainty": {"$ref": "#/$defs/uncertainty"},367        "visibility": {"$ref": "#/$defs/visibility"}368      }369    },370    "stateTransitionLabel": {371      "type": "object",372      "additionalProperties": false,373      "required": ["label_key", "kind", "entity_id", "state_axis_id", "before_state_id", "after_state_id", "clock_id", "transition_ns", "confidence", "uncertainty", "visibility"],374      "properties": {375        "label_key": {"$ref": "#/$defs/identifier"},376        "kind": {"const": "state_transition"},377        "entity_id": {"$ref": "#/$defs/identifier"},378        "state_axis_id": {"$ref": "#/$defs/identifier"},379        "before_state_id": {"$ref": "#/$defs/identifier"},380        "after_state_id": {"$ref": "#/$defs/identifier"},381        "clock_id": {"$ref": "#/$defs/identifier"},382        "transition_ns": {"$ref": "#/$defs/nonNegativeNanoseconds"},383        "confidence": {"$ref": "#/$defs/probability"},384        "uncertainty": {"$ref": "#/$defs/uncertainty"},385        "visibility": {"$ref": "#/$defs/visibility"}386      }387    },388    "proprioSample": {389      "type": "object",390      "additionalProperties": false,391      "required": ["timestamp_ns", "values"],392      "properties": {393        "timestamp_ns": {"$ref": "#/$defs/nonNegativeNanoseconds"},394        "values": {"type": "array", "minItems": 1, "maxItems": 4096, "items": {"type": "number"}}395      }396    },397    "actionChunkLabel": {398      "type": "object",399      "additionalProperties": false,400      "required": ["label_key", "kind", "clock_id", "coordinate_frame_id", "action_layout_id", "start_ns", "step_period_ns", "actions", "confidence", "uncertainty", "visibility"],401      "properties": {402        "label_key": {"$ref": "#/$defs/identifier"},403        "kind": {"const": "action_chunk"},404        "clock_id": {"$ref": "#/$defs/identifier"},405        "coordinate_frame_id": {"$ref": "#/$defs/identifier"},406        "action_layout_id": {"$ref": "#/$defs/identifier"},407        "start_ns": {"$ref": "#/$defs/nonNegativeNanoseconds"},408        "step_period_ns": {"$ref": "#/$defs/positiveNanoseconds"},409        "actions": {410          "type": "array",411          "minItems": 1,412          "maxItems": 4096,413          "items": {"type": "array", "minItems": 1, "maxItems": 4096, "items": {"type": "number"}}414        },415        "confidence": {"$ref": "#/$defs/probability"},416        "uncertainty": {"$ref": "#/$defs/uncertainty"},417        "visibility": {"$ref": "#/$defs/visibility"}418      }419    },420    "proprioSeriesLabel": {421      "type": "object",422      "additionalProperties": false,423      "required": ["label_key", "kind", "clock_id", "coordinate_frame_id", "proprio_layout_id", "samples", "confidence", "uncertainty", "visibility"],424      "properties": {425        "label_key": {"$ref": "#/$defs/identifier"},426        "kind": {"const": "proprio_series"},427        "clock_id": {"$ref": "#/$defs/identifier"},428        "coordinate_frame_id": {"$ref": "#/$defs/identifier"},429        "proprio_layout_id": {"$ref": "#/$defs/identifier"},430        "samples": {"type": "array", "minItems": 1, "maxItems": 4096, "items": {"$ref": "#/$defs/proprioSample"}},431        "confidence": {"$ref": "#/$defs/probability"},432        "uncertainty": {"$ref": "#/$defs/uncertainty"},433        "visibility": {"$ref": "#/$defs/visibility"}434      }435    },436    "label": {437      "oneOf": [438        {"$ref": "#/$defs/textClassLabel"},439        {"$ref": "#/$defs/temporalSpanLabel"},440        {"$ref": "#/$defs/box2dLabel"},441        {"$ref": "#/$defs/maskRefLabel"},442        {"$ref": "#/$defs/keypoints2dLabel"},443        {"$ref": "#/$defs/keypoints3dLabel"},444        {"$ref": "#/$defs/pose3dLabel"},445        {"$ref": "#/$defs/trajectory3dLabel"},446        {"$ref": "#/$defs/audioEventLabel"},447        {"$ref": "#/$defs/objectRelationLabel"},448        {"$ref": "#/$defs/stateTransitionLabel"},449        {"$ref": "#/$defs/actionChunkLabel"},450        {"$ref": "#/$defs/proprioSeriesLabel"}451      ]452    },453    "inputView": {454      "oneOf": [455        {456          "type": "object",457          "additionalProperties": false,458          "required": ["view_id", "view_kind", "instruction"],459          "properties": {460            "view_id": {"$ref": "#/$defs/identifier"},461            "view_kind": {"const": "text_prompt"},462            "instruction": {"type": "string", "minLength": 1, "maxLength": 8192}463          }464        },465        {466          "type": "object",467          "additionalProperties": false,468          "required": ["view_id", "view_kind", "modality", "artifact_id", "interval", "sampling_policy"],469          "properties": {470            "view_id": {"$ref": "#/$defs/identifier"},471            "view_kind": {"const": "artifact_window"},472            "modality": {"enum": ["rgb", "depth", "audio", "proprioception", "imu", "derived_features"]},473            "artifact_id": {"$ref": "#/$defs/artifactId"},474            "interval": {"$ref": "#/$defs/interval"},475            "sampling_policy": {476              "type": "object",477              "additionalProperties": false,478              "required": ["kind"],479              "properties": {480                "kind": {"enum": ["all", "uniform", "keyframes", "native"]},481                "sample_count": {"type": "integer", "minimum": 1, "maximum": 4096}482              }483            }484          }485        },486        {487          "type": "object",488          "additionalProperties": false,489          "required": ["view_id", "view_kind", "artifact_ids", "timestamps_ns", "clock_id"],490          "properties": {491            "view_id": {"$ref": "#/$defs/identifier"},492            "view_kind": {"const": "frame_set"},493            "artifact_ids": {"type": "array", "minItems": 1, "maxItems": 128, "uniqueItems": true, "items": {"$ref": "#/$defs/artifactId"}},494            "timestamps_ns": {"type": "array", "minItems": 1, "maxItems": 128, "items": {"$ref": "#/$defs/nonNegativeNanoseconds"}},495            "clock_id": {"$ref": "#/$defs/identifier"}496          }497        },498        {499          "type": "object",500          "additionalProperties": false,501          "required": ["view_id", "view_kind", "artifact_id", "feature_contract_id", "interval"],502          "properties": {503            "view_id": {"$ref": "#/$defs/identifier"},504            "view_kind": {"const": "derived_feature_window"},505            "artifact_id": {"$ref": "#/$defs/artifactId"},506            "feature_contract_id": {"$ref": "#/$defs/identifier"},507            "interval": {"$ref": "#/$defs/interval"}508          }509        }510      ]511    },512    "outputContract": {513      "type": "object",514      "additionalProperties": false,515      "required": ["allowed_label_kinds", "minimum_labels", "maximum_labels", "coordinate_contract_ids"],516      "properties": {517        "allowed_label_kinds": {"type": "array", "minItems": 1, "uniqueItems": true, "items": {"$ref": "#/$defs/labelKind"}},518        "minimum_labels": {"type": "integer", "minimum": 0, "maximum": 4096},519        "maximum_labels": {"type": "integer", "minimum": 1, "maximum": 4096},520        "coordinate_contract_ids": {"type": "array", "uniqueItems": true, "items": {"$ref": "#/$defs/identifier"}}521      },522      "$comment": "The semantic validator enforces minimum_labels <= maximum_labels and every prediction kind/frame against this contract."523    },524    "metricDefinition": {525      "type": "object",526      "additionalProperties": false,527      "required": ["metric_id", "metric_kind", "compatible_label_kinds", "direction", "value_range", "matching_policy", "threshold"],528      "properties": {529        "metric_id": {"$ref": "#/$defs/identifier"},530        "metric_kind": {531          "enum": ["exact_match", "macro_f1", "temporal_iou", "box_iou", "mask_iou", "pck", "mpjpe", "pose_error", "trajectory_ade_fde", "audio_event_f1", "relation_f1", "transition_accuracy", "action_l1", "proprio_l1"]532        },533        "compatible_label_kinds": {"type": "array", "minItems": 1, "uniqueItems": true, "items": {"$ref": "#/$defs/labelKind"}},534        "direction": {"enum": ["maximize", "minimize"]},535        "value_range": {536          "type": "object",537          "additionalProperties": false,538          "required": ["minimum", "maximum"],539          "properties": {"minimum": {"type": "number"}, "maximum": {"type": ["number", "null"]}}540        },541        "matching_policy": {"enum": ["ordered", "class_aware_bipartite", "timestamp_nearest", "identity_keyed"]},542        "threshold": {"type": ["number", "null"]}543      }544    },545    "aggregationDefinition": {546      "type": "object",547      "additionalProperties": false,548      "required": ["aggregation_id", "method", "metric_ids", "group_by", "missing_policy"],549      "properties": {550        "aggregation_id": {"$ref": "#/$defs/identifier"},551        "method": {"const": "macro_mean"},552        "metric_ids": {"type": "array", "minItems": 1, "uniqueItems": true, "items": {"$ref": "#/$defs/identifier"}},553        "group_by": {"const": "none"},554        "missing_policy": {"const": "fail"}555      },556      "$comment": "Evaluation contract v1 defines one replayable aggregate: the macro mean over normalized selected metric observations, without grouping or missing-value substitution."557    },558    "traceRef": {559      "type": "object",560      "additionalProperties": false,561      "required": ["trace_id", "content_digest", "format", "artifact"],562      "properties": {563        "trace_id": {"$ref": "#/$defs/traceId"},564        "content_digest": {"$ref": "#/$defs/sha256"},565        "format": {"enum": ["egobowwow_trace_v1", "prime_verifiers_trace_jsonl_v1", "custom_jsonl"]},566        "artifact": {"$ref": "#/$defs/artifactPointer"}567      },568      "$comment": "Semantic validation requires trace_id = eval-trace: + content_digest and requires the artifact ID/content digest to bind that same digest."569    },570    "producerProvenance": {571      "type": "object",572      "additionalProperties": false,573      "required": ["producer_kind", "implementation_digest", "configuration_digest", "environment_digest"],574      "properties": {575        "producer_kind": {"enum": ["model", "deterministic_program", "human", "adjudication_panel"]},576        "implementation_digest": {"$ref": "#/$defs/sha256"},577        "configuration_digest": {"$ref": "#/$defs/sha256"},578        "environment_digest": {"$ref": "#/$defs/sha256"}579      }580    },581    "prediction": {582      "type": "object",583      "additionalProperties": false,584      "required": ["task_id", "attempt_index", "outputs", "trace_ref"],585      "properties": {586        "task_id": {"$ref": "#/$defs/taskId"},587        "attempt_index": {"type": "integer", "minimum": 0, "maximum": 1023},588        "outputs": {"type": "array", "maxItems": 4096, "items": {"$ref": "#/$defs/label"}},589        "trace_ref": {"$ref": "#/$defs/traceRef"}590      }591    }592  }593}594