{
  "contractVersion": "1",
  "recordType": "openai_responses_request_contract",
  "qualificationId": "termstrail-gpt-5-6-live-qualification-v2-authorized-rerun",
  "appliesToRecordedRequestNumbers": [2, 3],
  "excludedRecordedRequestNumbers": {
    "1": "The first request belonged to the earlier v1 attempt and is preserved separately in immutableAttempt1Evidence; it did not use this v2 contract."
  },
  "baseGitCommit": "a9240fad6651f178384e29fc0b76cf3b3bd17f81",
  "qualificationCodeFingerprint": {
    "algorithm": "sha256",
    "aggregate": "07ef6548bbee05e034524d16cc7f538bc0e826d1edea1540ca07395293becd4e",
    "construction": "Sort paths with JavaScript Array.sort(); for each path hash UTF-8 path bytes, one NUL byte, exact file bytes, and one NUL byte.",
    "files": [
      {
        "path": "evals/live/fixtures/qualification-fixtures.json",
        "sha256": "aa85e9c601128f840490ea2c2021b9289a8329364fd2f896737a1892b9945f2f"
      },
      {
        "path": "evals/live/fixtures/synthetic-complete-worksheet.pdf",
        "sha256": "ece05784bd6481167dbdc9908845efa026418b76b4d7bf560312958007cbe8ec"
      },
      {
        "path": "evals/live/fixtures/synthetic-conditional-incentive.jpg",
        "sha256": "ecf88c4f40a660d336470b073f9aad73c0bd8de99b44c5b57d841578551dfe41"
      },
      {
        "path": "evals/live/fixtures/termstrail-live-hero.pdf",
        "sha256": "67a68315c3a9074a78fb2da5035571569636e40227e8086a7123d6426037ae86"
      },
      {
        "path": "package-lock.json",
        "sha256": "7398f4165cf6dfe0048cba8d34fd8f18b2d3514ed5e1e38ec99d9d0f2a571125"
      },
      {
        "path": "package.json",
        "sha256": "d0a9b10fd8ba277e527dfd525a6cea7a2e2c321160350c40a5e722abf001ef6d",
        "snapshotPath": "evals/live/provenance/qualification-v2-source/package.json.snapshot"
      },
      {
        "path": "scripts/live-qualification.ts",
        "sha256": "9d74ae36cea5b7c814bf118757a1978b82a550bfe11897ab6a1637ea4dcb646b"
      },
      {
        "path": "src/app/api/live-extract/route.ts",
        "sha256": "364c0b9ef62c2b0d75eae8bb66bc33c3d6048dedb8d5cdeb3a1d7bf2454c6616",
        "snapshotPath": "evals/live/provenance/qualification-v2-source/src/app/api/live-extract/route.ts.snapshot"
      },
      {
        "path": "src/domain/clarification.ts",
        "sha256": "36750f8c1f94f6ee5a6ec0274b4df8c458e56a1f614dea20ea1c7b9b2b390c7f",
        "snapshotPath": "evals/live/provenance/qualification-v2-source/src/domain/clarification.ts.snapshot"
      },
      {
        "path": "src/domain/currency.ts",
        "sha256": "d93dfb09e6fa189a7285e1292857985438a96ba37aefd67729fcec915d0af7b6"
      },
      {
        "path": "src/domain/evidence.ts",
        "sha256": "7965e365a3ee88ebb8dd98ace725ad014573a81eb8c15f33da51698bc261e9c3",
        "snapshotPath": "evals/live/provenance/qualification-v2-source/src/domain/evidence.ts.snapshot"
      },
      {
        "path": "src/domain/reconcile.ts",
        "sha256": "746164c6e8b090765769e7e92ae3fcc7868982f21e01a477c01da56e18cc63dd",
        "snapshotPath": "evals/live/provenance/qualification-v2-source/src/domain/reconcile.ts.snapshot"
      },
      {
        "path": "src/domain/revision.ts",
        "sha256": "ab4c7083fb5afb39963ed79a63021949b6e8afa13390ad40805213ca5cad0abb"
      },
      {
        "path": "src/domain/schema.ts",
        "sha256": "2be2f9c77765e71af2877df7107c5bbeb75f00b81171bb1b855c7817f650c811"
      },
      {
        "path": "src/evaluation/live-qualification.ts",
        "sha256": "d98e566be2e6a922e08fdc7474c8775b18332c38574533f2bc887cfc77ee17a6"
      },
      {
        "path": "src/live/cache.ts",
        "sha256": "3c97c467e8b5da4bbba7baa60954a0291e7ed7aa439a8e196d1182089e8d2fef"
      },
      {
        "path": "src/live/config.ts",
        "sha256": "d57f452fa8c1f54608b34d365393f80b5eba903dcff963ec2ad218f68aebe94a",
        "snapshotPath": "evals/live/provenance/qualification-v2-source/src/live/config.ts.snapshot"
      },
      {
        "path": "src/live/errors.ts",
        "sha256": "c7b4c8cb01d8260f2ffe69c6f011dedd041e68d2a645628582608b1b5dde8347"
      },
      {
        "path": "src/live/evidence.ts",
        "sha256": "93de3d9e43137465d185554deda2213ac8a07dbfabba03592e3b4a209e9a20f2"
      },
      {
        "path": "src/live/model-schema.ts",
        "sha256": "c5c1462170ecfb0dce0cd916bc5e66da5c65c8bd2b83ae9dfbe336af8b9a3b7b",
        "snapshotPath": "evals/live/provenance/qualification-v2-source/src/live/model-schema.ts.snapshot"
      },
      {
        "path": "src/live/openai-transport.ts",
        "sha256": "f9b15414d174a906f22ff7b1233f81d91221e4998cae1e0943d5a38f9aa33ab4"
      },
      {
        "path": "src/live/prompt.ts",
        "sha256": "ad58d1f876ad5661a85eab734d52e8514b9c2aa1e57e04f1b8cfd8c3be7dbcb4",
        "snapshotPath": "evals/live/provenance/qualification-v2-source/src/live/prompt.ts.snapshot"
      },
      {
        "path": "src/live/run-log.ts",
        "sha256": "ad4c355e42646378a996f3393169c7334c6468332a6292e5c46f7daab64dd0df"
      },
      {
        "path": "src/live/source.ts",
        "sha256": "9b8a98984fc00276dc980bffea6b752e525d216d78979955faeac9e1151f32a3",
        "snapshotPath": "evals/live/provenance/qualification-v2-source/src/live/source.ts.snapshot"
      },
      {
        "path": "src/live/types.ts",
        "sha256": "7dfcefcbb521de15bc3ffd6ca6127abea3c49336539637f64e1d6e610fd47411"
      },
      {
        "path": "src/providers/openai-provider.ts",
        "sha256": "18cf9d874ed43c19bbeb5c24d3e9b9bed4a25535dbcb771cccd02ffcf31a55c0",
        "snapshotPath": "evals/live/provenance/qualification-v2-source/src/providers/openai-provider.ts.snapshot"
      }
    ]
  },
  "request": {
    "transport": {
      "sdk": "openai",
      "maxRetries": 0,
      "timeoutMs": 60000
    },
    "body": {
      "model": "gpt-5.6",
      "store": false,
      "stream": false,
      "instructions": "You extract evidence from one synthetic vehicle quote source.\n\nReturn only claims explicitly visible in the supplied source. Never create a claim for an unstated APR, finance term, down payment, eligibility rule, fee, amount, or condition. Preserve a short, exact, contiguous source excerpt for every claim and use the supplied default locator label. Use 1-based page numbers for PDFs and no page number for images or pasted text.\n\nSet arithmeticRole to component_charge only for a stated line item that contributes to the quoted total, component_discount only for a discount explicitly subtracted from that total, and stated_total only for the source's quoted total. When the same price is repeated inside one source, make only the itemized worksheet occurrence an arithmetic component; repeated corroborating mentions must be informational so the amount is not double-counted. Use included or informational for rebates already included in a selling price and for financing illustrations. Polarity must agree with that role. Every arithmetic claim needs a currency-string value and matching integer amountCents.\n\nCopy an explicit qualification into condition. Mark unresolved true only when the source itself leaves that claim's meaning or qualification unclear. Do not calculate totals, compare prices, score coverage, judge fairness, characterize fraud or legality, give legal or financial advice, or say whether anyone should buy or sign. Put concise missing-term questions in clarificationPoints, but do not compose or send a message.",
      "reasoning": {
        "effort": "low"
      },
      "max_output_tokens": 2500,
      "truncation": "disabled",
      "absentProperties": ["tools"],
      "textFormat": {
        "type": "json_schema",
        "name": "termstrail_source_extraction",
        "description": "Explicit source-linked claims from one synthetic vehicle quote source.",
        "strict": true,
        "schemaPath": "evals/live/provenance/qualification-v2-json-schema.json",
        "schemaFileSha256": "f821ee39563c0274dd0a71e7de6870184c783b91feaed84c7be5bdf2be684eeb",
        "schemaCanonicalJsonSha256": "4e1829937d807e9e7dc53b0426afb49083c3ac668a4841e26d854af8a0d75f02"
      }
    },
    "integrity": {
      "instructionsCharacters": 1539,
      "instructionsSha256": "ad255b5d3a20f76e8417dd87f44df4bd2dadc43423581155338c478566c9a29c",
      "canonicalization": "Recursively sort object keys lexicographically, preserve array order, then serialize as compact UTF-8 JSON."
    },
    "inputConstruction": {
      "role": "user",
      "sourcePromptLines": [
        "Extract source-linked vehicle quote evidence from this one source.",
        "Source name: <source.name>",
        "Source kind: <source.kind>",
        "Default locator label: <source.locatorLabel>"
      ],
      "textSource": "Append the normalized source content as a second input_text item.",
      "pdfSource": "Append an input_file item with the original filename, detail high, and file_data equal to data:application/pdf;base64,<exact asset bytes>.",
      "imageSource": "Append an input_image item with detail high and image_url equal to data:<validated MIME type>;base64,<exact asset bytes>."
    }
  },
  "recordedRequests": [
    {
      "requestNumber": 2,
      "fixtureId": "hero-composite",
      "sourcePrompt": "Extract source-linked vehicle quote evidence from this one source.\nSource name: termstrail-live-hero.pdf\nSource kind: pdf\nDefault locator label: PDF page",
      "sourceHash": "67a68315c3a9074a78fb2da5035571569636e40227e8086a7123d6426037ae86",
      "assetPath": "evals/live/fixtures/termstrail-live-hero.pdf",
      "requestJsonBytes": 459638,
      "requestBuilderOrderSha256": "41c031811b9616373eab1a4195484384522a1d497c7554636672efe5eba9dac6",
      "requestCanonicalSha256": "b0767b7262af0936af4a33e981f2c62981482aad5c6b015d79fd4d0a78586912"
    },
    {
      "requestNumber": 3,
      "fixtureId": "vague-payment-message",
      "sourcePrompt": "Extract source-linked vehicle quote evidence from this one source.\nSource name: synthetic-vague-dealer-message.txt\nSource kind: text\nDefault locator label: Dealer message",
      "sourceHash": "2b0a6dd0ba7b1abee43111f476119976e02ce7d97cb0e74938eda7bc3baf0e8d",
      "sourceDefinitionPath": "evals/live/fixtures/qualification-fixtures.json",
      "requestJsonBytes": 13428,
      "requestBuilderOrderSha256": "94f2b5c1f387a5440820e80d21d827561951992764dd2aeb8dfe5595428a8673",
      "requestCanonicalSha256": "f6b3bebac1a408a3a6259a1ad475ea4d6d995675145808c40c68cea1f8d05e32"
    }
  ],
  "versions": {
    "promptVersion": "vehicle-quote-evidence-v2",
    "liveSchemaVersion": "vehicle-quote-evidence-schema-v2"
  },
  "safety": {
    "syntheticOnly": true,
    "storedByProvider": false,
    "automaticRetries": 0,
    "paidCallsFromCi": 0,
    "secretsIncluded": false,
    "providerResponseIdentifiersIncluded": false
  }
}
