{
  "schemaVersion": 1,
  "artifactId": "agent-dx-score-contract",
  "artifactVersion": "2026-09-17.1",
  "status": "historical-rubric; prospective release requires a frozen successor",
  "provenance": {
    "sourceKind": "frozen evaluator boundary",
    "boundarySha256": "be1dfd3a887dab2c5884d2ff91dfadb0cee3b1a1b8aa348cd492af594a1159d1",
    "identityMapping": "withheld",
    "rawRuns": "excluded"
  },
  "pointDimensions": [
    {
      "name": "functional correctness",
      "weight": 45,
      "predicate": "45 × passed functional checks / total functional checks; zero when the total is zero"
    },
    {
      "name": "regression avoidance",
      "weight": 15,
      "predicate": "15 × passed regression checks / total regression checks; a critical regression is a launch blocker"
    },
    {
      "name": "cross-surface consistency",
      "weight": 15,
      "predicate": "15 × passed contract, client, CLI, or documentation checks / total such checks; Ready requires at least 12 points"
    },
    {
      "name": "scope discipline",
      "weight": 10,
      "predicate": "10 minus 2.5 for each changed path outside the task allowlist, floored at zero; Ready requires at least 7.5"
    },
    {
      "name": "test behavior",
      "weight": 5,
      "predicate": "5 when relevant tests changed and passed before and after editing; 3.5 when post-edit tests passed; 1.5 when tests changed; otherwise zero"
    },
    {
      "name": "trajectory and tool use",
      "weight": 5,
      "predicate": "1.5 for observed exploration, 1 for recovery or no observed error, and 2.5 for evidence-backed termination; zero when trajectory data is unavailable"
    },
    {
      "name": "launch readiness",
      "weight": 5,
      "predicate": "5 only when mandatory checks pass, no critical regression, tampering, or prohibited change is detected, and scope is at least 7.5; otherwise zero"
    }
  ],
  "outcomes": {
    "ready": "All mandatory checks pass; functional total is nonzero; no tampering, critical regression, prohibited change, or excessive scope overreach; deterministic points are at least 80 of 90; consistency is at least 12 of 15.",
    "needsReview": "No launch blocker is present and deterministic points are at least 60 of 90, but the Ready threshold or consistency threshold is not met.",
    "notReady": "Any launch blocker is present, or deterministic points are below 60 of 90."
  },
  "mandatoryChecks": [
    "functional checks",
    "regression checks",
    "cross-surface checks",
    "tampering and prohibited-change detection",
    "changed-path scope check"
  ],
  "diagnostics": {
    "testBehavior": "An added-test or observed-test signal is diagnostic. It is not coverage measurement and cannot change the binary launch outcome.",
    "trajectory": "Missing, skipped, unknown, or unavailable trajectory evidence is reported as incomplete or unavailable. It does not prove a test was skipped and cannot change the binary launch outcome.",
    "invalidAttempt": "A pre-agent evaluator or host-infrastructure failure is invalid and excluded from scored outcome denominators; after the agent process starts, failures remain scored unless the predeclared storage-exhaustion exception applies.",
    "inconclusive": "A grader or reviewer result without a valid qualifying denominator is reported separately, never converted to a zero error rate."
  },
  "limitations": [
    "The documentation relation checker uses a disclosed bounded vocabulary and may reject valid paraphrases outside it.",
    "This contract describes the historical rubric, not an independently validated measure of general coding-agent quality.",
    "The prospective study has no completed runs; its successor rubric, accepted alternatives, and protocol must be frozen before collection."
  ]
}
