{
  "sidecar_type": "evaluation_contract",
  "sidecar_version": "0.1.0",
  "classification": "working_proposal",
  "normative": false,
  "engineering_approval": false,
  "evaluator": {
    "evaluator_id": "cwse-reference-evaluator",
    "version": "0.1.0",
    "classification": "working_proposal",
    "qualified_engineering_service": false,
    "evaluation_scope": "Deterministic information, interface, geometry, candidate-applicability, screening, and ranking checks only.",
    "outcome_precedence": [
      "invalid",
      "indeterminate",
      "valid"
    ],
    "interface_mating_rule": {
      "classification": "current_spec",
      "description": "A family label is not sufficient. The current CTO/CIS mating sequence resolves the same CIS id, negotiates a compatible version, confirms complementary sides, checks port geometry and registered connection signatures, and checks that the declared product face is oriented toward the connection plane.",
      "source_refs": [
        "spec/cto-v0.2.0.md#5.7",
        "spec/cto-v0.2.0.md#7.8",
        "spec/cis-v0.1.3.md#6.5",
        "spec/cis-v0.1.3.md#15.4"
      ]
    },
    "stages": [
      {
        "sequence": 1,
        "stage_id": "schema_integrity",
        "name": "Resolve and validate package inputs",
        "stage_class": "schema_integrity",
        "input_layers": [
          "cto_product",
          "cis_interface",
          "project_context",
          "application_catalog"
        ],
        "output": "Input identity, reference, version, and required-field receipts.",
        "blocking_statuses": [
          "fail",
          "indeterminate"
        ]
      },
      {
        "sequence": 2,
        "stage_id": "interface_compatibility",
        "name": "Evaluate the current CTO/CIS mating contract",
        "stage_class": "interface_compatibility",
        "input_layers": [
          "cto_product",
          "cis_interface",
          "project_context"
        ],
        "output": "CIS identity/version, side, port, signature, and face-orientation receipts.",
        "blocking_statuses": [
          "fail",
          "indeterminate"
        ]
      },
      {
        "sequence": 3,
        "stage_id": "geometry_mating",
        "name": "Evaluate transformed frames and attachment zones",
        "stage_class": "geometry_mating",
        "input_layers": [
          "cto_product",
          "cis_interface",
          "project_context"
        ],
        "output": "Plane gap, normal alignment, and attachment-zone overlap receipts.",
        "blocking_statuses": [
          "fail",
          "indeterminate"
        ]
      },
      {
        "sequence": 4,
        "stage_id": "candidate_applicability",
        "name": "Filter connector candidates using nested conditions",
        "stage_class": "candidate_applicability",
        "input_layers": [
          "application_catalog",
          "project_context"
        ],
        "output": "Applicable, not-applicable, or indeterminate status for each candidate.",
        "blocking_statuses": [
          "indeterminate"
        ]
      },
      {
        "sequence": 5,
        "stage_id": "deterministic_hard_gate",
        "name": "Apply non-negotiable coordination screens",
        "stage_class": "deterministic_hard_gate",
        "input_layers": [
          "application_catalog",
          "project_context"
        ],
        "output": "Pass, fail, or indeterminate result for each applicable candidate.",
        "blocking_statuses": [
          "fail",
          "indeterminate"
        ]
      },
      {
        "sequence": 6,
        "stage_id": "scored_ranking",
        "name": "Rank only eligible candidates",
        "stage_class": "scored_ranking",
        "input_layers": [
          "application_catalog",
          "evaluation_result"
        ],
        "output": "Reproducible weighted score, rank, and selected candidate when at least one candidate is eligible.",
        "blocking_statuses": []
      },
      {
        "sequence": 7,
        "stage_id": "qualified_handoff",
        "name": "Package material, fire, seismic, facade, and structural review request",
        "stage_class": "qualified_handoff",
        "input_layers": [
          "project_context",
          "evaluation_result",
          "evidence"
        ],
        "output": "A handoff request. This reference evaluator never returns engineering approval.",
        "blocking_statuses": []
      }
    ],
    "status_semantics": {
      "valid": "Every check required for the stated coordination scope ran and passed, and at least one connector candidate is eligible. Qualified engineering domains may still be not_evaluated and are explicitly excluded from this disposition.",
      "invalid": "At least one deterministic check that ran failed. Scoring cannot override it.",
      "indeterminate": "A check ran but one or more facts required to decide it were absent, stale, incompatible, or unresolved.",
      "not_applicable": "The domain or connector candidate is outside the scenario after a conclusive applicability test.",
      "not_evaluated": "The domain or adapter did not run. In this fixture the qualified engineering handoff is always not_evaluated, never silently passed."
    },
    "staleness_policy": {
      "classification": "working_proposal",
      "description": "Changing a fact referenced by a receipt makes that receipt stale and requires re-evaluation. Content-addressed digests are omitted from the illustrative package and would be required in an exchange implementation."
    }
  }
}
