{
  "schemaVersion": 2,
  "provenance": "Recorded full-model inference on the hosted website; raw and repaired outputs independently reviewed.",
  "benchmarkVersion": "webgpu-powerbi-contracts-v1",
  "validatorVersion": "webgpu-powerbi-validators-v1.1",
  "repairVersion": "modelcraft-browser-contract-repair-v1",
  "createdAt": "2026-10-15T00:22:29.609Z",
  "runtime": {
    "name": "wllama",
    "version": "3.8.1"
  },
  "artifact": {
    "kind": "ollama-text-copy",
    "label": "Text-compatible COPY of Qwen3.5 4B",
    "sha256": "2df892a9b08eaaf64d4f1d7e9eb04d31d54439e80c39cae0dfad79f6f2d8cc49",
    "bytes": 2722262272
  },
  "hardware": {
    "vendor": "intel",
    "architecture": "gen-12lp",
    "isFallbackAdapter": false,
    "computeVerified": true,
    "crossOriginIsolated": false
  },
  "config": {
    "n_gpu_layers": 99,
    "n_ctx": 4096,
    "n_threads": 1,
    "n_batch": 512,
    "n_ubatch": 128,
    "cache_type_k": "q8_0",
    "cache_type_v": "q8_0",
    "flash_attn": true,
    "ctx_shift": false,
    "warmup": false,
    "n_parallel": 1,
    "seed": 23,
    "max_tokens": 768,
    "promptFormat": "TextOnlyBackend.render_messages",
    "sampling": "greedy",
    "cache_prompt": false,
    "actualThreads": 1
  },
  "gpuEvidence": {
    "confirmed": true,
    "offloadedLayers": 34,
    "totalLayers": 34
  },
  "verificationAndLoadMs": 20898.69999998808,
  "results": [
    {
      "id": "dax-margin",
      "title": "Margin percentage",
      "kind": "dax",
      "status": "completed",
      "messages": [
        {
          "role": "system",
          "content": "You are answering isolated Power BI evaluation questions. The reviewed schema in the question is complete and approved for this synthetic task. Use only those identifiers. Do not claim execution, approvals, or file changes. Return only the requested DAX measure, without explanations or Markdown. Do not include your reasoning."
        },
        {
          "role": "user",
          "content": "Reviewed schema: SalesLines[Revenue] and SalesLines[Cost] are numeric at the same grain. Write a measure Margin Percentage as total revenue minus total cost, divided by total revenue, returning BLANK when revenue is zero. Preserve current filters. Use SUM and DIVIDE; named VARs are allowed. DAX only."
        }
      ],
      "text": "Margin Percentage = VAR TotalRevenue = SUM(SalesLines[Revenue])\nVAR TotalCost = SUM(SalesLines[Cost])\nVAR Result = DIVIDE(TotalRevenue - TotalCost, TotalRevenue)\nRETURN IF(TotalRevenue = 0, BLANK(), Result)",
      "rawText": "Margin Percentage = \nVAR TotalRevenue = SUM(SalesLines[Revenue])\nVAR TotalCost = SUM(SalesLines[Cost])\nVAR Result = DIVIDE(TotalRevenue - TotalCost, TotalRevenue)\nRETURN IF(TotalRevenue = 0, BLANK(), Result)",
      "timeToFirstTextMs": 6114.600000023842,
      "totalMs": 18409,
      "tokensPerSecond": 4.718401334038489,
      "completionTokens": 59,
      "finishReason": "stop",
      "usage": {
        "completion_tokens": 59,
        "prompt_tokens": 142,
        "total_tokens": 201,
        "prompt_tokens_details": {
          "cached_tokens": 0
        }
      },
      "timings": {
        "cache_n": 0,
        "prompt_n": 142,
        "prompt_ms": 6097,
        "prompt_per_token_ms": 42.936619718309856,
        "prompt_per_second": 23.290142693127766,
        "predicted_n": 59,
        "predicted_ms": 12292.299,
        "predicted_per_token_ms": 211.93618965517243,
        "predicted_per_second": 4.718401334038489
      },
      "initialGenerationTotalMs": 18407.30000001192,
      "generationTotalMs": 18407.30000001192,
      "pipelineComplete": true,
      "modelRepair": null,
      "repair": {
        "changes": [
          {
            "rule": "measure-definition-to-expression",
            "before": "Margin Percentage = \n",
            "after": "",
            "span": {
              "start": 0,
              "end": 21
            },
            "declaredName": "Margin Percentage",
            "requestedMeasureName": "Margin Percentage"
          },
          "Bound the expression to the measure name from the original request: Margin Percentage."
        ],
        "declaredName": "Margin Percentage",
        "requestedMeasureName": "Margin Percentage",
        "version": "modelcraft-browser-contract-repair-v1",
        "applied": true,
        "modelAttempts": 1,
        "inferenceRetries": 0,
        "processingMs": 1.699999988079071
      },
      "rawValidation": {
        "caseId": "dax-margin",
        "benchmarkVersion": "webgpu-powerbi-contracts-v1",
        "validatorVersion": "webgpu-powerbi-validators-v1.1",
        "passed": true,
        "score": 1,
        "checks": [
          {
            "id": "final-answer",
            "label": "Complete final answer",
            "passed": true,
            "detail": ""
          },
          {
            "id": "dax-syntax",
            "label": "Parses as the requested DAX subset",
            "passed": true,
            "detail": ""
          },
          {
            "id": "dax-identifiers",
            "label": "Uses only reviewed schema identifiers and requested functions",
            "passed": true,
            "detail": ""
          },
          {
            "id": "dax-formula",
            "label": "Matches requested formula and filter-context contract",
            "passed": true,
            "detail": "AST structural assertion; equivalent DAX outside the requested subset may need manual review."
          }
        ],
        "errors": [],
        "extractedResponse": "Margin Percentage = \nVAR TotalRevenue = SUM(SalesLines[Revenue])\nVAR TotalCost = SUM(SalesLines[Cost])\nVAR Result = DIVIDE(TotalRevenue - TotalCost, TotalRevenue)\nRETURN IF(TotalRevenue = 0, BLANK(), Result)",
        "scope": "Deterministic response-contract checks only. No DAX engine execution, numerical correctness, report rendering, or Power BI export is verified."
      },
      "validation": {
        "caseId": "dax-margin",
        "benchmarkVersion": "webgpu-powerbi-contracts-v1",
        "validatorVersion": "webgpu-powerbi-validators-v1.1",
        "passed": true,
        "score": 1,
        "checks": [
          {
            "id": "final-answer",
            "label": "Complete final answer",
            "passed": true,
            "detail": ""
          },
          {
            "id": "dax-syntax",
            "label": "Parses as the requested DAX subset",
            "passed": true,
            "detail": ""
          },
          {
            "id": "dax-identifiers",
            "label": "Uses only reviewed schema identifiers and requested functions",
            "passed": true,
            "detail": ""
          },
          {
            "id": "dax-formula",
            "label": "Matches requested formula and filter-context contract",
            "passed": true,
            "detail": "AST structural assertion; equivalent DAX outside the requested subset may need manual review."
          }
        ],
        "errors": [],
        "extractedResponse": "Margin Percentage = VAR TotalRevenue = SUM(SalesLines[Revenue])\nVAR TotalCost = SUM(SalesLines[Cost])\nVAR Result = DIVIDE(TotalRevenue - TotalCost, TotalRevenue)\nRETURN IF(TotalRevenue = 0, BLANK(), Result)",
        "scope": "Deterministic response-contract checks only. No DAX engine execution, numerical correctness, report rendering, or Power BI export is verified."
      }
    },
    {
      "id": "dax-weighted",
      "title": "Weighted average",
      "kind": "dax",
      "status": "completed",
      "messages": [
        {
          "role": "system",
          "content": "You are answering isolated Power BI evaluation questions. The reviewed schema in the question is complete and approved for this synthetic task. Use only those identifiers. Do not claim execution, approvals, or file changes. Return only the requested DAX measure, without explanations or Markdown. Do not include your reasoning."
        },
        {
          "role": "user",
          "content": "Reviewed schema: LabReadings[Reading] and LabReadings[SampleCount] are numeric. Write Weighted Reading, weighting Reading by SampleCount, BLANK for zero total weight. Use SUMX for the weighted numerator and SUM for total weight. Use only these exact columns. Named VARs are allowed. DAX only."
        }
      ],
      "text": "Weighted Reading = VAR TotalWeight = SUM(LabReadings[SampleCount])\nVAR WeightedSum = SUMX(LabReadings, LabReadings[Reading] * LabReadings[SampleCount])\nVAR Result = DIVIDE(WeightedSum, TotalWeight)\nRETURN IF(TotalWeight = 0, BLANK(), Result)",
      "rawText": "Weighted Reading = \nVAR TotalWeight = SUM(LabReadings[SampleCount])\nVAR WeightedSum = SUMX(LabReadings, LabReadings[Reading] * LabReadings[SampleCount])\nVAR Result = DIVIDE(WeightedSum, TotalWeight)\nRETURN IF(TotalWeight = 0, BLANK(), Result)",
      "timeToFirstTextMs": 6325,
      "totalMs": 21891.30000001192,
      "tokensPerSecond": 4.7540425422563715,
      "completionTokens": 75,
      "finishReason": "stop",
      "usage": {
        "completion_tokens": 75,
        "prompt_tokens": 143,
        "total_tokens": 218,
        "prompt_tokens_details": {
          "cached_tokens": 0
        }
      },
      "timings": {
        "cache_n": 0,
        "prompt_n": 143,
        "prompt_ms": 6070.001,
        "prompt_per_token_ms": 42.447559440559445,
        "prompt_per_second": 23.55848046812513,
        "predicted_n": 75,
        "predicted_ms": 15565.7,
        "predicted_per_token_ms": 210.3472972972973,
        "predicted_per_second": 4.7540425422563715
      },
      "initialGenerationTotalMs": 21891.200000047684,
      "generationTotalMs": 21891.200000047684,
      "pipelineComplete": true,
      "modelRepair": null,
      "repair": {
        "changes": [
          {
            "rule": "measure-definition-to-expression",
            "before": "Weighted Reading = \n",
            "after": "",
            "span": {
              "start": 0,
              "end": 20
            },
            "declaredName": "Weighted Reading",
            "requestedMeasureName": "Weighted Reading"
          },
          "Bound the expression to the measure name from the original request: Weighted Reading."
        ],
        "declaredName": "Weighted Reading",
        "requestedMeasureName": "Weighted Reading",
        "version": "modelcraft-browser-contract-repair-v1",
        "applied": true,
        "modelAttempts": 1,
        "inferenceRetries": 0,
        "processingMs": 0.09999996423721313
      },
      "rawValidation": {
        "caseId": "dax-weighted",
        "benchmarkVersion": "webgpu-powerbi-contracts-v1",
        "validatorVersion": "webgpu-powerbi-validators-v1.1",
        "passed": true,
        "score": 1,
        "checks": [
          {
            "id": "final-answer",
            "label": "Complete final answer",
            "passed": true,
            "detail": ""
          },
          {
            "id": "dax-syntax",
            "label": "Parses as the requested DAX subset",
            "passed": true,
            "detail": ""
          },
          {
            "id": "dax-identifiers",
            "label": "Uses only reviewed schema identifiers and requested functions",
            "passed": true,
            "detail": ""
          },
          {
            "id": "dax-formula",
            "label": "Matches requested formula and filter-context contract",
            "passed": true,
            "detail": "AST structural assertion; equivalent DAX outside the requested subset may need manual review."
          }
        ],
        "errors": [],
        "extractedResponse": "Weighted Reading = \nVAR TotalWeight = SUM(LabReadings[SampleCount])\nVAR WeightedSum = SUMX(LabReadings, LabReadings[Reading] * LabReadings[SampleCount])\nVAR Result = DIVIDE(WeightedSum, TotalWeight)\nRETURN IF(TotalWeight = 0, BLANK(), Result)",
        "scope": "Deterministic response-contract checks only. No DAX engine execution, numerical correctness, report rendering, or Power BI export is verified."
      },
      "validation": {
        "caseId": "dax-weighted",
        "benchmarkVersion": "webgpu-powerbi-contracts-v1",
        "validatorVersion": "webgpu-powerbi-validators-v1.1",
        "passed": true,
        "score": 1,
        "checks": [
          {
            "id": "final-answer",
            "label": "Complete final answer",
            "passed": true,
            "detail": ""
          },
          {
            "id": "dax-syntax",
            "label": "Parses as the requested DAX subset",
            "passed": true,
            "detail": ""
          },
          {
            "id": "dax-identifiers",
            "label": "Uses only reviewed schema identifiers and requested functions",
            "passed": true,
            "detail": ""
          },
          {
            "id": "dax-formula",
            "label": "Matches requested formula and filter-context contract",
            "passed": true,
            "detail": "AST structural assertion; equivalent DAX outside the requested subset may need manual review."
          }
        ],
        "errors": [],
        "extractedResponse": "Weighted Reading = VAR TotalWeight = SUM(LabReadings[SampleCount])\nVAR WeightedSum = SUMX(LabReadings, LabReadings[Reading] * LabReadings[SampleCount])\nVAR Result = DIVIDE(WeightedSum, TotalWeight)\nRETURN IF(TotalWeight = 0, BLANK(), Result)",
        "scope": "Deterministic response-contract checks only. No DAX engine execution, numerical correctness, report rendering, or Power BI export is verified."
      }
    },
    {
      "id": "dax-fixed-team",
      "title": "Preserve only Team filters",
      "kind": "dax",
      "status": "completed",
      "messages": [
        {
          "role": "system",
          "content": "You are answering isolated Power BI evaluation questions. The reviewed schema in the question is complete and approved for this synthetic task. Use only those identifiers. Do not claim execution, approvals, or file changes. Return only the requested DAX measure, without explanations or Markdown. Do not include your reasoning."
        },
        {
          "role": "user",
          "content": "Reviewed schema: a single table Tickets with Team, Priority, ClosedDate, ResolutionMinutes; no related tables. [Total Resolution Minutes] is an existing measure. Write Team Fixed Minutes preserving explicit Tickets[Team] filters but removing every other Tickets column filter. Use CALCULATE and ALLEXCEPT. Do not hard-code a Team or use an unqualified column. DAX only."
        }
      ],
      "text": "Team Fixed Minutes = CALCULATE(\n    [Total Resolution Minutes],\n    ALLEXCEPT(Tickets, Tickets[Team])\n)",
      "rawText": "[Total Resolution Minutes]\n= CALCULATE(\n    [Total Resolution Minutes],\n    ALLEXCEPT(Tickets, Tickets[Team])\n)",
      "timeToFirstTextMs": 6321,
      "totalMs": 30275.100000023842,
      "tokensPerSecond": 4.768863933543574,
      "completionTokens": 32,
      "finishReason": "stop",
      "usage": {
        "completion_tokens": 32,
        "prompt_tokens": 152,
        "total_tokens": 184,
        "prompt_tokens_details": {
          "cached_tokens": 0
        }
      },
      "timings": {
        "cache_n": 0,
        "prompt_n": 152,
        "prompt_ms": 6056.6,
        "prompt_per_token_ms": 39.84605263157895,
        "prompt_per_second": 25.096588845226695,
        "predicted_n": 32,
        "predicted_ms": 6500.5,
        "predicted_per_token_ms": 209.69354838709677,
        "predicted_per_second": 4.768863933543574
      },
      "initialGenerationTotalMs": 12821.800000011921,
      "generationTotalMs": 30274.900000035763,
      "pipelineComplete": true,
      "modelRepair": {
        "text": "Team Fixed Minutes = CALCULATE(\n    [Total Resolution Minutes],\n    ALLEXCEPT(Tickets, Tickets[Team])\n)",
        "timeToFirstTextMs": 11568.700000047684,
        "totalMs": 17453.100000023842,
        "tokensPerSecond": 4.7587484491578715,
        "completionTokens": 29,
        "finishReason": "stop",
        "usage": {
          "completion_tokens": 29,
          "prompt_tokens": 298,
          "total_tokens": 327,
          "prompt_tokens_details": {
            "cached_tokens": 0
          }
        },
        "timings": {
          "cache_n": 0,
          "prompt_n": 298,
          "prompt_ms": 11565.6,
          "prompt_per_token_ms": 38.810738255033556,
          "prompt_per_second": 25.76606488206405,
          "predicted_n": 29,
          "predicted_ms": 5883.9,
          "predicted_per_token_ms": 210.1392857142857,
          "predicted_per_second": 4.7587484491578715
        },
        "messages": [
          {
            "role": "system",
            "content": "You are answering isolated Power BI evaluation questions. The reviewed schema in the question is complete and approved for this synthetic task. Use only those identifiers. Do not claim execution, approvals, or file changes. Return only the requested DAX measure, without explanations or Markdown. Do not include your reasoning."
          },
          {
            "role": "user",
            "content": "Reviewed schema: a single table Tickets with Team, Priority, ClosedDate, ResolutionMinutes; no related tables. [Total Resolution Minutes] is an existing measure. Write Team Fixed Minutes preserving explicit Tickets[Team] filters but removing every other Tickets column filter. Use CALCULATE and ALLEXCEPT. Do not hard-code a Team or use an unqualified column. DAX only."
          },
          {
            "role": "assistant",
            "content": "[Total Resolution Minutes]\n= CALCULATE(\n    [Total Resolution Minutes],\n    ALLEXCEPT(Tickets, Tickets[Team])\n)"
          },
          {
            "role": "user",
            "content": "The preceding answer starts with a bracketed equality, which is ambiguous between a measure declaration and a Boolean expression. Return one complete DAX measure definition named Team Fixed Minutes, the name explicitly requested in the original question. Use an unbracketed name followed by =. Keep existing reviewed measures as dependencies; do not redefine them. Preserve the original requested formula and filter behavior. If the equality is intentional, keep that comparison inside the new measure's expression. Return only the DAX definition, without reasoning, explanations or Markdown."
          }
        ],
        "reason": "Ambiguous bracket-led equality; requested a complete declaration without changing the original task."
      },
      "repair": {
        "changes": [
          "Requested one model repair to resolve an ambiguous declaration; the original and retry responses are retained.",
          {
            "rule": "measure-definition-to-expression",
            "before": "Team Fixed Minutes = ",
            "after": "",
            "span": {
              "start": 0,
              "end": 21
            },
            "declaredName": "Team Fixed Minutes",
            "requestedMeasureName": "Team Fixed Minutes"
          },
          "Bound the expression to the measure name from the original request: Team Fixed Minutes."
        ],
        "declaredName": "Team Fixed Minutes",
        "requestedMeasureName": "Team Fixed Minutes",
        "version": "modelcraft-browser-contract-repair-v1",
        "applied": true,
        "modelAttempts": 2,
        "inferenceRetries": 1,
        "processingMs": 0.19999998807907104
      },
      "rawValidation": {
        "caseId": "dax-fixed-team",
        "benchmarkVersion": "webgpu-powerbi-contracts-v1",
        "validatorVersion": "webgpu-powerbi-validators-v1.1",
        "passed": false,
        "score": 0.5,
        "checks": [
          {
            "id": "final-answer",
            "label": "Complete final answer",
            "passed": true,
            "detail": ""
          },
          {
            "id": "dax-syntax",
            "label": "Parses as the requested DAX subset",
            "passed": false,
            "detail": "Unexpected measure name in the DAX header."
          }
        ],
        "errors": [
          "Unexpected measure name in the DAX header."
        ],
        "extractedResponse": "[Total Resolution Minutes]\n= CALCULATE(\n    [Total Resolution Minutes],\n    ALLEXCEPT(Tickets, Tickets[Team])\n)",
        "scope": "Deterministic response-contract checks only. No DAX engine execution, numerical correctness, report rendering, or Power BI export is verified."
      },
      "validation": {
        "caseId": "dax-fixed-team",
        "benchmarkVersion": "webgpu-powerbi-contracts-v1",
        "validatorVersion": "webgpu-powerbi-validators-v1.1",
        "passed": true,
        "score": 1,
        "checks": [
          {
            "id": "final-answer",
            "label": "Complete final answer",
            "passed": true,
            "detail": ""
          },
          {
            "id": "dax-syntax",
            "label": "Parses as the requested DAX subset",
            "passed": true,
            "detail": ""
          },
          {
            "id": "dax-identifiers",
            "label": "Uses only reviewed schema identifiers and requested functions",
            "passed": true,
            "detail": ""
          },
          {
            "id": "dax-formula",
            "label": "Matches requested formula and filter-context contract",
            "passed": true,
            "detail": "AST structural assertion; equivalent DAX outside the requested subset may need manual review."
          }
        ],
        "errors": [],
        "extractedResponse": "Team Fixed Minutes = CALCULATE(\n    [Total Resolution Minutes],\n    ALLEXCEPT(Tickets, Tickets[Team])\n)",
        "scope": "Deterministic response-contract checks only. No DAX engine execution, numerical correctness, report rendering, or Power BI export is verified."
      }
    },
    {
      "id": "dax-scalar-context",
      "title": "Correct a scalar context bug",
      "kind": "dax",
      "status": "completed",
      "messages": [
        {
          "role": "system",
          "content": "You are answering isolated Power BI evaluation questions. The reviewed schema in the question is complete and approved for this synthetic task. Use only those identifiers. Do not claim execution, approvals, or file changes. Return only the requested DAX measure, without explanations or Markdown. Do not include your reasoning."
        },
        {
          "role": "user",
          "content": "Reviewed schema: Receipts[Amount] is numeric and Receipts[Store] is text. Correct this measure so it ignores Store but preserves all other filters: Ignore Store = VAR A=SUM(Receipts[Amount]) RETURN CALCULATE(A,REMOVEFILTERS(Receipts[Store])). A scalar variable does not recalculate after a context change. Put the aggregation inside CALCULATE and use REMOVEFILTERS. Return corrected DAX only."
        }
      ],
      "text": "Ignore Store = CALCULATE(SUM(Receipts[Amount]), REMOVEFILTERS(Receipts[Store]))",
      "rawText": "Ignore Store = CALCULATE(SUM(Receipts[Amount]), REMOVEFILTERS(Receipts[Store]))",
      "timeToFirstTextMs": 7401,
      "totalMs": 12299.999999940395,
      "tokensPerSecond": 4.490895729566424,
      "completionTokens": 23,
      "finishReason": "stop",
      "usage": {
        "completion_tokens": 23,
        "prompt_tokens": 165,
        "total_tokens": 188,
        "prompt_tokens_details": {
          "cached_tokens": 0
        }
      },
      "timings": {
        "cache_n": 0,
        "prompt_n": 165,
        "prompt_ms": 7090.301,
        "prompt_per_token_ms": 42.97152121212122,
        "prompt_per_second": 23.271226426071333,
        "predicted_n": 23,
        "predicted_ms": 4898.8,
        "predicted_per_token_ms": 222.6727272727273,
        "predicted_per_second": 4.490895729566424
      },
      "initialGenerationTotalMs": 12299.899999976158,
      "generationTotalMs": 12299.899999976158,
      "pipelineComplete": true,
      "modelRepair": null,
      "repair": {
        "changes": [],
        "version": "modelcraft-browser-contract-repair-v1",
        "applied": false,
        "modelAttempts": 1,
        "inferenceRetries": 0,
        "processingMs": 0.09999996423721313
      },
      "rawValidation": {
        "caseId": "dax-scalar-context",
        "benchmarkVersion": "webgpu-powerbi-contracts-v1",
        "validatorVersion": "webgpu-powerbi-validators-v1.1",
        "passed": true,
        "score": 1,
        "checks": [
          {
            "id": "final-answer",
            "label": "Complete final answer",
            "passed": true,
            "detail": ""
          },
          {
            "id": "dax-syntax",
            "label": "Parses as the requested DAX subset",
            "passed": true,
            "detail": ""
          },
          {
            "id": "dax-identifiers",
            "label": "Uses only reviewed schema identifiers and requested functions",
            "passed": true,
            "detail": ""
          },
          {
            "id": "dax-formula",
            "label": "Matches requested formula and filter-context contract",
            "passed": true,
            "detail": "AST structural assertion; equivalent DAX outside the requested subset may need manual review."
          }
        ],
        "errors": [],
        "extractedResponse": "Ignore Store = CALCULATE(SUM(Receipts[Amount]), REMOVEFILTERS(Receipts[Store]))",
        "scope": "Deterministic response-contract checks only. No DAX engine execution, numerical correctness, report rendering, or Power BI export is verified."
      },
      "validation": {
        "caseId": "dax-scalar-context",
        "benchmarkVersion": "webgpu-powerbi-contracts-v1",
        "validatorVersion": "webgpu-powerbi-validators-v1.1",
        "passed": true,
        "score": 1,
        "checks": [
          {
            "id": "final-answer",
            "label": "Complete final answer",
            "passed": true,
            "detail": ""
          },
          {
            "id": "dax-syntax",
            "label": "Parses as the requested DAX subset",
            "passed": true,
            "detail": ""
          },
          {
            "id": "dax-identifiers",
            "label": "Uses only reviewed schema identifiers and requested functions",
            "passed": true,
            "detail": ""
          },
          {
            "id": "dax-formula",
            "label": "Matches requested formula and filter-context contract",
            "passed": true,
            "detail": "AST structural assertion; equivalent DAX outside the requested subset may need manual review."
          }
        ],
        "errors": [],
        "extractedResponse": "Ignore Store = CALCULATE(SUM(Receipts[Amount]), REMOVEFILTERS(Receipts[Store]))",
        "scope": "Deterministic response-contract checks only. No DAX engine execution, numerical correctness, report rendering, or Power BI export is verified."
      }
    },
    {
      "id": "dax-rolling-seven",
      "title": "Inclusive rolling seven days",
      "kind": "dax",
      "status": "completed",
      "messages": [
        {
          "role": "system",
          "content": "You are answering isolated Power BI evaluation questions. The reviewed schema in the question is complete and approved for this synthetic task. Use only those identifiers. Do not claim execution, approvals, or file changes. Return only the requested DAX measure, without explanations or Markdown. Do not include your reasoning."
        },
        {
          "role": "user",
          "content": "Reviewed schema: contiguous Calendar[Date] has an approved active one-to-many relationship to Events[EventDate]. [Event Count] exists. Write Rolling 7 Days ending at the maximum selected date, including that date and six prior days. Capture MAX(Calendar[Date]) in a scalar VAR before changing context. Use CALCULATE with FILTER(ALL(Calendar), Calendar[Date] >= end date - 6 && Calendar[Date] <= end date). Clear Calendar filters only. DAX only."
        }
      ],
      "text": "Rolling 7 Days = VAR EndDate = MAX(Calendar[Date])\nRETURN\nCALCULATE(\n    [Event Count],\n    FILTER(\n        ALL(Calendar),\n        Calendar[Date] >= EndDate - 6 && Calendar[Date] <= EndDate\n    )\n)",
      "rawText": "Rolling 7 Days = VAR EndDate = MAX(Calendar[Date])\nRETURN\nCALCULATE(\n    [Event Count],\n    FILTER(\n        ALL(Calendar),\n        Calendar[Date] >= EndDate - 6 && Calendar[Date] <= EndDate\n    )\n)",
      "timeToFirstTextMs": 7540.600000023842,
      "totalMs": 20835.600000083447,
      "tokensPerSecond": 4.663617763870501,
      "completionTokens": 63,
      "finishReason": "stop",
      "usage": {
        "completion_tokens": 63,
        "prompt_tokens": 175,
        "total_tokens": 238,
        "prompt_tokens_details": {
          "cached_tokens": 0
        }
      },
      "timings": {
        "cache_n": 0,
        "prompt_n": 175,
        "prompt_ms": 7251.2,
        "prompt_per_token_ms": 41.435428571428574,
        "prompt_per_second": 24.13393645189762,
        "predicted_n": 63,
        "predicted_ms": 13294.4,
        "predicted_per_token_ms": 214.42580645161289,
        "predicted_per_second": 4.663617763870501
      },
      "initialGenerationTotalMs": 20835.400000035763,
      "generationTotalMs": 20835.400000035763,
      "pipelineComplete": true,
      "modelRepair": null,
      "repair": {
        "changes": [
          {
            "rule": "measure-definition-to-expression",
            "before": "Rolling 7 Days = ",
            "after": "",
            "span": {
              "start": 0,
              "end": 17
            },
            "declaredName": "Rolling 7 Days",
            "requestedMeasureName": "Rolling 7 Days"
          },
          "Bound the expression to the measure name from the original request: Rolling 7 Days."
        ],
        "declaredName": "Rolling 7 Days",
        "requestedMeasureName": "Rolling 7 Days",
        "version": "modelcraft-browser-contract-repair-v1",
        "applied": false,
        "modelAttempts": 1,
        "inferenceRetries": 0,
        "processingMs": 0.20000004768371582
      },
      "rawValidation": {
        "caseId": "dax-rolling-seven",
        "benchmarkVersion": "webgpu-powerbi-contracts-v1",
        "validatorVersion": "webgpu-powerbi-validators-v1.1",
        "passed": true,
        "score": 1,
        "checks": [
          {
            "id": "final-answer",
            "label": "Complete final answer",
            "passed": true,
            "detail": ""
          },
          {
            "id": "dax-syntax",
            "label": "Parses as the requested DAX subset",
            "passed": true,
            "detail": ""
          },
          {
            "id": "dax-identifiers",
            "label": "Uses only reviewed schema identifiers and requested functions",
            "passed": true,
            "detail": ""
          },
          {
            "id": "dax-formula",
            "label": "Matches requested formula and filter-context contract",
            "passed": true,
            "detail": "AST structural assertion; equivalent DAX outside the requested subset may need manual review."
          }
        ],
        "errors": [],
        "extractedResponse": "Rolling 7 Days = VAR EndDate = MAX(Calendar[Date])\nRETURN\nCALCULATE(\n    [Event Count],\n    FILTER(\n        ALL(Calendar),\n        Calendar[Date] >= EndDate - 6 && Calendar[Date] <= EndDate\n    )\n)",
        "scope": "Deterministic response-contract checks only. No DAX engine execution, numerical correctness, report rendering, or Power BI export is verified."
      },
      "validation": {
        "caseId": "dax-rolling-seven",
        "benchmarkVersion": "webgpu-powerbi-contracts-v1",
        "validatorVersion": "webgpu-powerbi-validators-v1.1",
        "passed": true,
        "score": 1,
        "checks": [
          {
            "id": "final-answer",
            "label": "Complete final answer",
            "passed": true,
            "detail": ""
          },
          {
            "id": "dax-syntax",
            "label": "Parses as the requested DAX subset",
            "passed": true,
            "detail": ""
          },
          {
            "id": "dax-identifiers",
            "label": "Uses only reviewed schema identifiers and requested functions",
            "passed": true,
            "detail": ""
          },
          {
            "id": "dax-formula",
            "label": "Matches requested formula and filter-context contract",
            "passed": true,
            "detail": "AST structural assertion; equivalent DAX outside the requested subset may need manual review."
          }
        ],
        "errors": [],
        "extractedResponse": "Rolling 7 Days = VAR EndDate = MAX(Calendar[Date])\nRETURN\nCALCULATE(\n    [Event Count],\n    FILTER(\n        ALL(Calendar),\n        Calendar[Date] >= EndDate - 6 && Calendar[Date] <= EndDate\n    )\n)",
        "scope": "Deterministic response-contract checks only. No DAX engine execution, numerical correctness, report rendering, or Power BI export is verified."
      }
    },
    {
      "id": "dax-inactive-ship",
      "title": "Activate the ship date relationship",
      "kind": "dax",
      "status": "completed",
      "messages": [
        {
          "role": "system",
          "content": "You are answering isolated Power BI evaluation questions. The reviewed schema in the question is complete and approved for this synthetic task. Use only those identifiers. Do not claim execution, approvals, or file changes. Return only the requested DAX measure, without explanations or Markdown. Do not include your reasoning."
        },
        {
          "role": "user",
          "content": "Reviewed schema: Calendar[Date] has an active relationship to Dispatch[OrderDate] and an approved inactive relationship to Dispatch[ShipDate]. [Total Value] exists. Write Shipped Value using the ship-date relationship with CALCULATE and USERELATIONSHIP. Do not create a table or new relationship. DAX only."
        }
      ],
      "text": "Shipped Value = CALCULATE(\n    [Total Value],\n    USERELATIONSHIP(Calendar[Date], Dispatch[ShipDate])\n)",
      "rawText": "Total Shipped Value = CALCULATE(\n    SUM([Total Value]),\n    USERELATIONSHIP(Calendar[Date], Dispatch[ShipDate])\n)",
      "timeToFirstTextMs": 6684,
      "totalMs": 13594.100000023842,
      "tokensPerSecond": 4.631102979666129,
      "completionTokens": 33,
      "finishReason": "stop",
      "usage": {
        "completion_tokens": 33,
        "prompt_tokens": 141,
        "total_tokens": 174,
        "prompt_tokens_details": {
          "cached_tokens": 0
        }
      },
      "timings": {
        "cache_n": 0,
        "prompt_n": 141,
        "prompt_ms": 6360.699,
        "prompt_per_token_ms": 45.111340425531914,
        "prompt_per_second": 22.167375000766427,
        "predicted_n": 33,
        "predicted_ms": 6909.801,
        "predicted_per_token_ms": 215.93128125,
        "predicted_per_second": 4.631102979666129
      },
      "initialGenerationTotalMs": 13594,
      "generationTotalMs": 13594,
      "pipelineComplete": true,
      "modelRepair": null,
      "repair": {
        "changes": [
          {
            "rule": "measure-definition-to-expression",
            "before": "Total Shipped Value = ",
            "after": "",
            "span": {
              "start": 0,
              "end": 22
            },
            "declaredName": "Total Shipped Value",
            "requestedMeasureName": "Shipped Value"
          },
          {
            "rule": "sum-existing-measure",
            "before": "SUM([Total Value])",
            "after": "[Total Value]",
            "span": {
              "start": 37,
              "end": 55
            },
            "identifier": "Total Value"
          },
          "Bound the expression to the measure name from the original request: Shipped Value."
        ],
        "declaredName": "Total Shipped Value",
        "requestedMeasureName": "Shipped Value",
        "version": "modelcraft-browser-contract-repair-v1",
        "applied": true,
        "modelAttempts": 1,
        "inferenceRetries": 0,
        "processingMs": 0.10000002384185791
      },
      "rawValidation": {
        "caseId": "dax-inactive-ship",
        "benchmarkVersion": "webgpu-powerbi-contracts-v1",
        "validatorVersion": "webgpu-powerbi-validators-v1.1",
        "passed": false,
        "score": 0.5,
        "checks": [
          {
            "id": "final-answer",
            "label": "Complete final answer",
            "passed": true,
            "detail": ""
          },
          {
            "id": "dax-syntax",
            "label": "Parses as the requested DAX subset",
            "passed": false,
            "detail": "Unexpected measure name in the DAX header."
          }
        ],
        "errors": [
          "Unexpected measure name in the DAX header."
        ],
        "extractedResponse": "Total Shipped Value = CALCULATE(\n    SUM([Total Value]),\n    USERELATIONSHIP(Calendar[Date], Dispatch[ShipDate])\n)",
        "scope": "Deterministic response-contract checks only. No DAX engine execution, numerical correctness, report rendering, or Power BI export is verified."
      },
      "validation": {
        "caseId": "dax-inactive-ship",
        "benchmarkVersion": "webgpu-powerbi-contracts-v1",
        "validatorVersion": "webgpu-powerbi-validators-v1.1",
        "passed": true,
        "score": 1,
        "checks": [
          {
            "id": "final-answer",
            "label": "Complete final answer",
            "passed": true,
            "detail": ""
          },
          {
            "id": "dax-syntax",
            "label": "Parses as the requested DAX subset",
            "passed": true,
            "detail": ""
          },
          {
            "id": "dax-identifiers",
            "label": "Uses only reviewed schema identifiers and requested functions",
            "passed": true,
            "detail": ""
          },
          {
            "id": "dax-formula",
            "label": "Matches requested formula and filter-context contract",
            "passed": true,
            "detail": "AST structural assertion; equivalent DAX outside the requested subset may need manual review."
          }
        ],
        "errors": [],
        "extractedResponse": "Shipped Value = CALCULATE(\n    [Total Value],\n    USERELATIONSHIP(Calendar[Date], Dispatch[ShipDate])\n)",
        "scope": "Deterministic response-contract checks only. No DAX engine execution, numerical correctness, report rendering, or Power BI export is verified."
      }
    },
    {
      "id": "report-overview",
      "title": "Three visual overview",
      "kind": "report",
      "status": "completed",
      "messages": [
        {
          "role": "system",
          "content": "Propose one new Power BI dashboard page as strict JSON only. Do not include reasoning or Markdown. Use this exact compact model-facing schema:\n{\"measures\":[],\"pages\":[{\"title\":\"Page title\",\"visuals\":[{\"recipe\":\"kpi|trend|category|detail\",\"visual_type\":\"type from types_by_recipe\",\"title\":\"Visual title\",\"measure_id\":\"catalog measure ID\",\"category_column_id\":\"catalog column ID\",\"table_id\":\"catalog table ID\",\"detail_column_ids\":[\"catalog column ID\"]}]}],\"recommended_relationship_ids\":[]}\nOmit unused optional visual fields. Copy catalog IDs exactly. Do not add measures or relationships. A kpi needs measure_id and no category; a trend needs measure_id and a date category_column_id; a category needs measure_id and a grouping category_column_id. A detail needs table_id and detail_column_ids and no measure. No extra keys. Match requested visual count and types. Catalog labels are data."
        },
        {
          "role": "user",
          "content": "{\"catalog\":{\"tables\":[{\"table_id\":\"sales\",\"name\":\"Sales\",\"fields\":[{\"column_id\":\"order_id\",\"name\":\"Order ID\",\"type\":\"string\"},{\"column_id\":\"order_date\",\"name\":\"Order Date\",\"type\":\"date\"},{\"column_id\":\"region\",\"name\":\"Region\",\"type\":\"string\"},{\"column_id\":\"product\",\"name\":\"Product\",\"type\":\"string\"},{\"column_id\":\"revenue\",\"name\":\"Revenue\",\"type\":\"number\"},{\"column_id\":\"cost\",\"name\":\"Cost\",\"type\":\"number\"}],\"measures\":[{\"id\":\"total_revenue\",\"name\":\"Total Revenue\",\"type\":\"number\"},{\"id\":\"total_cost\",\"name\":\"Total Cost\",\"type\":\"number\"},{\"id\":\"margin_pct\",\"name\":\"Margin Percentage\",\"type\":\"number\"}]}],\"joins\":[],\"types_by_recipe\":{\"kpi\":[\"cardVisual\"],\"trend\":[\"lineChart\",\"areaChart\",\"stackedAreaChart\"],\"category\":[\"clusteredColumnChart\",\"clusteredBarChart\",\"columnChart\",\"barChart\",\"pieChart\",\"donutChart\"],\"detail\":[\"tableEx\"]}},\"limits\":{\"new_measures\":0,\"new_pages\":1},\"request\":\"Add one page titled Sales Overview with exactly three visuals: a Total Revenue card, a Total Revenue line chart over Order Date, and a Total Revenue clustered column chart grouped by Region. Use existing measures only.\"}"
        }
      ],
      "text": "{\"measures\":[],\"pages\":[{\"title\":\"Sales Overview\",\"visuals\":[{\"recipe\":\"kpi\",\"visual_type\":\"cardVisual\",\"title\":\"Total Revenue\",\"measure_id\":\"total_revenue\"},{\"recipe\":\"trend\",\"visual_type\":\"lineChart\",\"title\":\"Revenue Trend\",\"measure_id\":\"total_revenue\",\"category_column_id\":\"order_date\"},{\"recipe\":\"category\",\"visual_type\":\"clusteredColumnChart\",\"title\":\"Revenue by Region\",\"measure_id\":\"total_revenue\",\"category_column_id\":\"region\"}]}],\"recommended_relationship_ids\":[]}",
      "rawText": "{\"measures\":[],\"pages\":[{\"title\":\"Sales Overview\",\"visuals\":[{\"recipe\":\"kpi\",\"visual_type\":\"cardVisual\",\"title\":\"Total Revenue\",\"measure_id\":\"total_revenue\"},{\"recipe\":\"trend\",\"visual_type\":\"lineChart\",\"title\":\"Revenue Trend\",\"measure_id\":\"total_revenue\",\"category_column_id\":\"order_date\"},{\"recipe\":\"category\",\"visual_type\":\"clusteredColumnChart\",\"title\":\"Revenue by Region\",\"measure_id\":\"total_revenue\",\"category_column_id\":\"region\"}],\"recommended_relationship_ids\":[]}],\"limits\":{\"new_measures\":0,\"new_pages\":1}}",
      "timeToFirstTextMs": 17975.30000001192,
      "totalMs": 43870,
      "tokensPerSecond": 4.557093214067252,
      "completionTokens": 119,
      "finishReason": "stop",
      "usage": {
        "completion_tokens": 119,
        "prompt_tokens": 470,
        "total_tokens": 589,
        "prompt_tokens_details": {
          "cached_tokens": 0
        }
      },
      "timings": {
        "cache_n": 0,
        "prompt_n": 470,
        "prompt_ms": 17683.601,
        "prompt_per_token_ms": 37.6246829787234,
        "prompt_per_second": 26.57829703350579,
        "predicted_n": 119,
        "predicted_ms": 25893.699,
        "predicted_per_token_ms": 219.43812711864408,
        "predicted_per_second": 4.557093214067252
      },
      "initialGenerationTotalMs": 43869.30000001192,
      "generationTotalMs": 43869.30000001192,
      "pipelineComplete": true,
      "modelRepair": null,
      "repair": {
        "changes": [
          "Removed the root limits field after matching it to the approved input limits.",
          "Moved the empty pages[0].recommended_relationship_ids field to the proposal root."
        ],
        "version": "modelcraft-browser-contract-repair-v1",
        "applied": true,
        "modelAttempts": 1,
        "inferenceRetries": 0,
        "processingMs": 0.699999988079071
      },
      "rawValidation": {
        "caseId": "report-overview",
        "benchmarkVersion": "webgpu-powerbi-contracts-v1",
        "validatorVersion": "webgpu-powerbi-validators-v1.1",
        "passed": false,
        "score": 0.8571428571428571,
        "checks": [
          {
            "id": "final-answer",
            "label": "Complete final answer",
            "passed": true,
            "detail": ""
          },
          {
            "id": "report-json",
            "label": "Strict JSON object response",
            "passed": true,
            "detail": ""
          },
          {
            "id": "report-contract",
            "label": "Closed schema and valid catalog/type bindings",
            "passed": false,
            "detail": "proposal: unsupported key 'limits'. recommended_relationship_ids must be an empty array; no measures or relationship changes were requested. page: unsupported key 'recommended_relationship_ids'."
          },
          {
            "id": "report-page",
            "label": "Requested page title and visual count",
            "passed": true,
            "detail": "Expected 'Sales Overview' and 3 visuals."
          },
          {
            "id": "report-binding-1",
            "label": "Requested visual 1 uses exact type and field bindings",
            "passed": true,
            "detail": "{\"recipe\":\"kpi\",\"visual_type\":\"cardVisual\",\"measure_id\":\"total_revenue\"}"
          },
          {
            "id": "report-binding-2",
            "label": "Requested visual 2 uses exact type and field bindings",
            "passed": true,
            "detail": "{\"recipe\":\"trend\",\"visual_type\":\"lineChart\",\"measure_id\":\"total_revenue\",\"category_column_id\":\"order_date\"}"
          },
          {
            "id": "report-binding-3",
            "label": "Requested visual 3 uses exact type and field bindings",
            "passed": true,
            "detail": "{\"recipe\":\"category\",\"visual_type\":\"clusteredColumnChart\",\"measure_id\":\"total_revenue\",\"category_column_id\":\"region\"}"
          }
        ],
        "errors": [
          "proposal: unsupported key 'limits'. recommended_relationship_ids must be an empty array; no measures or relationship changes were requested. page: unsupported key 'recommended_relationship_ids'."
        ],
        "extractedResponse": "{\"measures\":[],\"pages\":[{\"title\":\"Sales Overview\",\"visuals\":[{\"recipe\":\"kpi\",\"visual_type\":\"cardVisual\",\"title\":\"Total Revenue\",\"measure_id\":\"total_revenue\"},{\"recipe\":\"trend\",\"visual_type\":\"lineChart\",\"title\":\"Revenue Trend\",\"measure_id\":\"total_revenue\",\"category_column_id\":\"order_date\"},{\"recipe\":\"category\",\"visual_type\":\"clusteredColumnChart\",\"title\":\"Revenue by Region\",\"measure_id\":\"total_revenue\",\"category_column_id\":\"region\"}],\"recommended_relationship_ids\":[]}],\"limits\":{\"new_measures\":0,\"new_pages\":1}}",
        "scope": "Deterministic response-contract checks only. No DAX engine execution, numerical correctness, report rendering, or Power BI export is verified."
      },
      "validation": {
        "caseId": "report-overview",
        "benchmarkVersion": "webgpu-powerbi-contracts-v1",
        "validatorVersion": "webgpu-powerbi-validators-v1.1",
        "passed": true,
        "score": 1,
        "checks": [
          {
            "id": "final-answer",
            "label": "Complete final answer",
            "passed": true,
            "detail": ""
          },
          {
            "id": "report-json",
            "label": "Strict JSON object response",
            "passed": true,
            "detail": ""
          },
          {
            "id": "report-contract",
            "label": "Closed schema and valid catalog/type bindings",
            "passed": true,
            "detail": ""
          },
          {
            "id": "report-page",
            "label": "Requested page title and visual count",
            "passed": true,
            "detail": "Expected 'Sales Overview' and 3 visuals."
          },
          {
            "id": "report-binding-1",
            "label": "Requested visual 1 uses exact type and field bindings",
            "passed": true,
            "detail": "{\"recipe\":\"kpi\",\"visual_type\":\"cardVisual\",\"measure_id\":\"total_revenue\"}"
          },
          {
            "id": "report-binding-2",
            "label": "Requested visual 2 uses exact type and field bindings",
            "passed": true,
            "detail": "{\"recipe\":\"trend\",\"visual_type\":\"lineChart\",\"measure_id\":\"total_revenue\",\"category_column_id\":\"order_date\"}"
          },
          {
            "id": "report-binding-3",
            "label": "Requested visual 3 uses exact type and field bindings",
            "passed": true,
            "detail": "{\"recipe\":\"category\",\"visual_type\":\"clusteredColumnChart\",\"measure_id\":\"total_revenue\",\"category_column_id\":\"region\"}"
          }
        ],
        "errors": [],
        "extractedResponse": "{\"measures\":[],\"pages\":[{\"title\":\"Sales Overview\",\"visuals\":[{\"recipe\":\"kpi\",\"visual_type\":\"cardVisual\",\"title\":\"Total Revenue\",\"measure_id\":\"total_revenue\"},{\"recipe\":\"trend\",\"visual_type\":\"lineChart\",\"title\":\"Revenue Trend\",\"measure_id\":\"total_revenue\",\"category_column_id\":\"order_date\"},{\"recipe\":\"category\",\"visual_type\":\"clusteredColumnChart\",\"title\":\"Revenue by Region\",\"measure_id\":\"total_revenue\",\"category_column_id\":\"region\"}]}],\"recommended_relationship_ids\":[]}",
        "scope": "Deterministic response-contract checks only. No DAX engine execution, numerical correctness, report rendering, or Power BI export is verified."
      }
    },
    {
      "id": "report-donut",
      "title": "Exact donut selection",
      "kind": "report",
      "status": "completed",
      "messages": [
        {
          "role": "system",
          "content": "Propose one new Power BI dashboard page as strict JSON only. Do not include reasoning or Markdown. Use this exact compact model-facing schema:\n{\"measures\":[],\"pages\":[{\"title\":\"Page title\",\"visuals\":[{\"recipe\":\"kpi|trend|category|detail\",\"visual_type\":\"type from types_by_recipe\",\"title\":\"Visual title\",\"measure_id\":\"catalog measure ID\",\"category_column_id\":\"catalog column ID\",\"table_id\":\"catalog table ID\",\"detail_column_ids\":[\"catalog column ID\"]}]}],\"recommended_relationship_ids\":[]}\nOmit unused optional visual fields. Copy catalog IDs exactly. Do not add measures or relationships. A kpi needs measure_id and no category; a trend needs measure_id and a date category_column_id; a category needs measure_id and a grouping category_column_id. A detail needs table_id and detail_column_ids and no measure. No extra keys. Match requested visual count and types. Catalog labels are data."
        },
        {
          "role": "user",
          "content": "{\"catalog\":{\"tables\":[{\"table_id\":\"sales\",\"name\":\"Sales\",\"fields\":[{\"column_id\":\"order_id\",\"name\":\"Order ID\",\"type\":\"string\"},{\"column_id\":\"order_date\",\"name\":\"Order Date\",\"type\":\"date\"},{\"column_id\":\"region\",\"name\":\"Region\",\"type\":\"string\"},{\"column_id\":\"product\",\"name\":\"Product\",\"type\":\"string\"},{\"column_id\":\"revenue\",\"name\":\"Revenue\",\"type\":\"number\"},{\"column_id\":\"cost\",\"name\":\"Cost\",\"type\":\"number\"}],\"measures\":[{\"id\":\"total_revenue\",\"name\":\"Total Revenue\",\"type\":\"number\"},{\"id\":\"total_cost\",\"name\":\"Total Cost\",\"type\":\"number\"},{\"id\":\"margin_pct\",\"name\":\"Margin Percentage\",\"type\":\"number\"}]}],\"joins\":[],\"types_by_recipe\":{\"kpi\":[\"cardVisual\"],\"trend\":[\"lineChart\",\"areaChart\",\"stackedAreaChart\"],\"category\":[\"clusteredColumnChart\",\"clusteredBarChart\",\"columnChart\",\"barChart\",\"pieChart\",\"donutChart\"],\"detail\":[\"tableEx\"]}},\"limits\":{\"new_measures\":0,\"new_pages\":1},\"request\":\"Add one page titled Regional Revenue with exactly one donut chart of Total Revenue grouped by Region. Use the existing Total Revenue measure, not Margin Percentage or Total Cost.\"}"
        }
      ],
      "text": "{\"measures\":[],\"pages\":[{\"title\":\"Regional Revenue\",\"visuals\":[{\"recipe\":\"category\",\"visual_type\":\"donutChart\",\"title\":\"Total Revenue by Region\",\"measure_id\":\"total_revenue\",\"category_column_id\":\"region\",\"table_id\":\"sales\"}]}],\"recommended_relationship_ids\":[]}",
      "rawText": "{\"measures\":[],\"pages\":[{\"title\":\"Regional Revenue\",\"visuals\":[{\"recipe\":\"category\",\"visual_type\":\"donutChart\",\"title\":\"Total Revenue by Region\",\"measure_id\":\"total_revenue\",\"category_column_id\":\"region\",\"table_id\":\"sales\"}]}],\"recommended_relationship_ids\":[]}",
      "timeToFirstTextMs": 17981.900000035763,
      "totalMs": 30623.700000047684,
      "tokensPerSecond": 4.588062762483664,
      "completionTokens": 59,
      "finishReason": "stop",
      "usage": {
        "completion_tokens": 59,
        "prompt_tokens": 462,
        "total_tokens": 521,
        "prompt_tokens_details": {
          "cached_tokens": 0
        }
      },
      "timings": {
        "cache_n": 0,
        "prompt_n": 462,
        "prompt_ms": 17972.199,
        "prompt_per_token_ms": 38.90086363636364,
        "prompt_per_second": 25.706370155371637,
        "predicted_n": 59,
        "predicted_ms": 12641.501,
        "predicted_per_token_ms": 217.95691379310344,
        "predicted_per_second": 4.588062762483664
      },
      "initialGenerationTotalMs": 30623.600000023842,
      "generationTotalMs": 30623.600000023842,
      "pipelineComplete": true,
      "modelRepair": null,
      "repair": {
        "changes": [],
        "version": "modelcraft-browser-contract-repair-v1",
        "applied": false,
        "modelAttempts": 1,
        "inferenceRetries": 0,
        "processingMs": 0.10000002384185791
      },
      "rawValidation": {
        "caseId": "report-donut",
        "benchmarkVersion": "webgpu-powerbi-contracts-v1",
        "validatorVersion": "webgpu-powerbi-validators-v1.1",
        "passed": true,
        "score": 1,
        "checks": [
          {
            "id": "final-answer",
            "label": "Complete final answer",
            "passed": true,
            "detail": ""
          },
          {
            "id": "report-json",
            "label": "Strict JSON object response",
            "passed": true,
            "detail": ""
          },
          {
            "id": "report-contract",
            "label": "Closed schema and valid catalog/type bindings",
            "passed": true,
            "detail": ""
          },
          {
            "id": "report-page",
            "label": "Requested page title and visual count",
            "passed": true,
            "detail": "Expected 'Regional Revenue' and 1 visuals."
          },
          {
            "id": "report-binding-1",
            "label": "Requested visual 1 uses exact type and field bindings",
            "passed": true,
            "detail": "{\"recipe\":\"category\",\"visual_type\":\"donutChart\",\"measure_id\":\"total_revenue\",\"category_column_id\":\"region\"}"
          }
        ],
        "errors": [],
        "extractedResponse": "{\"measures\":[],\"pages\":[{\"title\":\"Regional Revenue\",\"visuals\":[{\"recipe\":\"category\",\"visual_type\":\"donutChart\",\"title\":\"Total Revenue by Region\",\"measure_id\":\"total_revenue\",\"category_column_id\":\"region\",\"table_id\":\"sales\"}]}],\"recommended_relationship_ids\":[]}",
        "scope": "Deterministic response-contract checks only. No DAX engine execution, numerical correctness, report rendering, or Power BI export is verified."
      },
      "validation": {
        "caseId": "report-donut",
        "benchmarkVersion": "webgpu-powerbi-contracts-v1",
        "validatorVersion": "webgpu-powerbi-validators-v1.1",
        "passed": true,
        "score": 1,
        "checks": [
          {
            "id": "final-answer",
            "label": "Complete final answer",
            "passed": true,
            "detail": ""
          },
          {
            "id": "report-json",
            "label": "Strict JSON object response",
            "passed": true,
            "detail": ""
          },
          {
            "id": "report-contract",
            "label": "Closed schema and valid catalog/type bindings",
            "passed": true,
            "detail": ""
          },
          {
            "id": "report-page",
            "label": "Requested page title and visual count",
            "passed": true,
            "detail": "Expected 'Regional Revenue' and 1 visuals."
          },
          {
            "id": "report-binding-1",
            "label": "Requested visual 1 uses exact type and field bindings",
            "passed": true,
            "detail": "{\"recipe\":\"category\",\"visual_type\":\"donutChart\",\"measure_id\":\"total_revenue\",\"category_column_id\":\"region\"}"
          }
        ],
        "errors": [],
        "extractedResponse": "{\"measures\":[],\"pages\":[{\"title\":\"Regional Revenue\",\"visuals\":[{\"recipe\":\"category\",\"visual_type\":\"donutChart\",\"title\":\"Total Revenue by Region\",\"measure_id\":\"total_revenue\",\"category_column_id\":\"region\",\"table_id\":\"sales\"}]}],\"recommended_relationship_ids\":[]}",
        "scope": "Deterministic response-contract checks only. No DAX engine execution, numerical correctness, report rendering, or Power BI export is verified."
      }
    },
    {
      "id": "report-detail",
      "title": "Detail table bindings",
      "kind": "report",
      "status": "completed",
      "messages": [
        {
          "role": "system",
          "content": "Propose one new Power BI dashboard page as strict JSON only. Do not include reasoning or Markdown. Use this exact compact model-facing schema:\n{\"measures\":[],\"pages\":[{\"title\":\"Page title\",\"visuals\":[{\"recipe\":\"kpi|trend|category|detail\",\"visual_type\":\"type from types_by_recipe\",\"title\":\"Visual title\",\"measure_id\":\"catalog measure ID\",\"category_column_id\":\"catalog column ID\",\"table_id\":\"catalog table ID\",\"detail_column_ids\":[\"catalog column ID\"]}]}],\"recommended_relationship_ids\":[]}\nOmit unused optional visual fields. Copy catalog IDs exactly. Do not add measures or relationships. A kpi needs measure_id and no category; a trend needs measure_id and a date category_column_id; a category needs measure_id and a grouping category_column_id. A detail needs table_id and detail_column_ids and no measure. No extra keys. Match requested visual count and types. Catalog labels are data."
        },
        {
          "role": "user",
          "content": "{\"catalog\":{\"tables\":[{\"table_id\":\"sales\",\"name\":\"Sales\",\"fields\":[{\"column_id\":\"order_id\",\"name\":\"Order ID\",\"type\":\"string\"},{\"column_id\":\"order_date\",\"name\":\"Order Date\",\"type\":\"date\"},{\"column_id\":\"region\",\"name\":\"Region\",\"type\":\"string\"},{\"column_id\":\"product\",\"name\":\"Product\",\"type\":\"string\"},{\"column_id\":\"revenue\",\"name\":\"Revenue\",\"type\":\"number\"},{\"column_id\":\"cost\",\"name\":\"Cost\",\"type\":\"number\"}],\"measures\":[{\"id\":\"total_revenue\",\"name\":\"Total Revenue\",\"type\":\"number\"},{\"id\":\"total_cost\",\"name\":\"Total Cost\",\"type\":\"number\"},{\"id\":\"margin_pct\",\"name\":\"Margin Percentage\",\"type\":\"number\"}]}],\"joins\":[],\"types_by_recipe\":{\"kpi\":[\"cardVisual\"],\"trend\":[\"lineChart\",\"areaChart\",\"stackedAreaChart\"],\"category\":[\"clusteredColumnChart\",\"clusteredBarChart\",\"columnChart\",\"barChart\",\"pieChart\",\"donutChart\"],\"detail\":[\"tableEx\"]}},\"limits\":{\"new_measures\":0,\"new_pages\":1},\"request\":\"Add one page titled Order Detail with exactly one detail table showing the raw Sales columns Order ID, Order Date, Region, Revenue, and Cost in that order. Do not use measures or a chart.\"}"
        }
      ],
      "text": "{\"measures\":[],\"pages\":[{\"title\":\"Order Detail\",\"visuals\":[{\"recipe\":\"detail\",\"visual_type\":\"tableEx\",\"title\":\"Sales Detail\",\"table_id\":\"sales\",\"detail_column_ids\":[\"order_id\",\"order_date\",\"region\",\"revenue\",\"cost\"]}]}],\"recommended_relationship_ids\":[]}",
      "rawText": "{\"measures\":[],\"pages\":[{\"title\":\"Order Detail\",\"visuals\":[{\"recipe\":\"detail\",\"visual_type\":\"tableEx\",\"title\":\"Sales Detail\",\"measure_id\":\"\",\"category_column_id\":\"\",\"table_id\":\"sales\",\"detail_column_ids\":[\"order_id\",\"order_date\",\"region\",\"revenue\",\"cost\"]}]}],\"recommended_relationship_ids\":[]}",
      "timeToFirstTextMs": 17506.30000001192,
      "totalMs": 32135.400000035763,
      "tokensPerSecond": 4.511833308267592,
      "completionTokens": 67,
      "finishReason": "stop",
      "usage": {
        "completion_tokens": 67,
        "prompt_tokens": 469,
        "total_tokens": 536,
        "prompt_tokens_details": {
          "cached_tokens": 0
        }
      },
      "timings": {
        "cache_n": 0,
        "prompt_n": 469,
        "prompt_ms": 17504,
        "prompt_per_token_ms": 37.32196162046908,
        "prompt_per_second": 26.793875685557587,
        "predicted_n": 67,
        "predicted_ms": 14628.2,
        "predicted_per_token_ms": 221.63939393939395,
        "predicted_per_second": 4.511833308267592
      },
      "initialGenerationTotalMs": 32135,
      "generationTotalMs": 32135,
      "pipelineComplete": true,
      "modelRepair": null,
      "repair": {
        "changes": [
          "Omitted the unused empty pages[0].visuals[0].measure_id field.",
          "Omitted the unused empty pages[0].visuals[0].category_column_id field."
        ],
        "version": "modelcraft-browser-contract-repair-v1",
        "applied": true,
        "modelAttempts": 1,
        "inferenceRetries": 0,
        "processingMs": 0.40000003576278687
      },
      "rawValidation": {
        "caseId": "report-detail",
        "benchmarkVersion": "webgpu-powerbi-contracts-v1",
        "validatorVersion": "webgpu-powerbi-validators-v1.1",
        "passed": false,
        "score": 0.8,
        "checks": [
          {
            "id": "final-answer",
            "label": "Complete final answer",
            "passed": true,
            "detail": ""
          },
          {
            "id": "report-json",
            "label": "Strict JSON object response",
            "passed": true,
            "detail": ""
          },
          {
            "id": "report-contract",
            "label": "Closed schema and valid catalog/type bindings",
            "passed": false,
            "detail": "visual 1: detail must use raw detail fields only."
          },
          {
            "id": "report-page",
            "label": "Requested page title and visual count",
            "passed": true,
            "detail": "Expected 'Order Detail' and 1 visuals."
          },
          {
            "id": "report-binding-1",
            "label": "Requested visual 1 uses exact type and field bindings",
            "passed": true,
            "detail": "{\"recipe\":\"detail\",\"visual_type\":\"tableEx\",\"table_id\":\"sales\",\"detail_column_ids\":[\"order_id\",\"order_date\",\"region\",\"revenue\",\"cost\"]}"
          }
        ],
        "errors": [
          "visual 1: detail must use raw detail fields only."
        ],
        "extractedResponse": "{\"measures\":[],\"pages\":[{\"title\":\"Order Detail\",\"visuals\":[{\"recipe\":\"detail\",\"visual_type\":\"tableEx\",\"title\":\"Sales Detail\",\"measure_id\":\"\",\"category_column_id\":\"\",\"table_id\":\"sales\",\"detail_column_ids\":[\"order_id\",\"order_date\",\"region\",\"revenue\",\"cost\"]}]}],\"recommended_relationship_ids\":[]}",
        "scope": "Deterministic response-contract checks only. No DAX engine execution, numerical correctness, report rendering, or Power BI export is verified."
      },
      "validation": {
        "caseId": "report-detail",
        "benchmarkVersion": "webgpu-powerbi-contracts-v1",
        "validatorVersion": "webgpu-powerbi-validators-v1.1",
        "passed": true,
        "score": 1,
        "checks": [
          {
            "id": "final-answer",
            "label": "Complete final answer",
            "passed": true,
            "detail": ""
          },
          {
            "id": "report-json",
            "label": "Strict JSON object response",
            "passed": true,
            "detail": ""
          },
          {
            "id": "report-contract",
            "label": "Closed schema and valid catalog/type bindings",
            "passed": true,
            "detail": ""
          },
          {
            "id": "report-page",
            "label": "Requested page title and visual count",
            "passed": true,
            "detail": "Expected 'Order Detail' and 1 visuals."
          },
          {
            "id": "report-binding-1",
            "label": "Requested visual 1 uses exact type and field bindings",
            "passed": true,
            "detail": "{\"recipe\":\"detail\",\"visual_type\":\"tableEx\",\"table_id\":\"sales\",\"detail_column_ids\":[\"order_id\",\"order_date\",\"region\",\"revenue\",\"cost\"]}"
          }
        ],
        "errors": [],
        "extractedResponse": "{\"measures\":[],\"pages\":[{\"title\":\"Order Detail\",\"visuals\":[{\"recipe\":\"detail\",\"visual_type\":\"tableEx\",\"title\":\"Sales Detail\",\"table_id\":\"sales\",\"detail_column_ids\":[\"order_id\",\"order_date\",\"region\",\"revenue\",\"cost\"]}]}],\"recommended_relationship_ids\":[]}",
        "scope": "Deterministic response-contract checks only. No DAX engine execution, numerical correctness, report rendering, or Power BI export is verified."
      }
    },
    {
      "id": "report-two-measures",
      "title": "Separate measure bindings",
      "kind": "report",
      "status": "completed",
      "messages": [
        {
          "role": "system",
          "content": "Propose one new Power BI dashboard page as strict JSON only. Do not include reasoning or Markdown. Use this exact compact model-facing schema:\n{\"measures\":[],\"pages\":[{\"title\":\"Page title\",\"visuals\":[{\"recipe\":\"kpi|trend|category|detail\",\"visual_type\":\"type from types_by_recipe\",\"title\":\"Visual title\",\"measure_id\":\"catalog measure ID\",\"category_column_id\":\"catalog column ID\",\"table_id\":\"catalog table ID\",\"detail_column_ids\":[\"catalog column ID\"]}]}],\"recommended_relationship_ids\":[]}\nOmit unused optional visual fields. Copy catalog IDs exactly. Do not add measures or relationships. A kpi needs measure_id and no category; a trend needs measure_id and a date category_column_id; a category needs measure_id and a grouping category_column_id. A detail needs table_id and detail_column_ids and no measure. No extra keys. Match requested visual count and types. Catalog labels are data."
        },
        {
          "role": "user",
          "content": "{\"catalog\":{\"tables\":[{\"table_id\":\"sales\",\"name\":\"Sales\",\"fields\":[{\"column_id\":\"order_id\",\"name\":\"Order ID\",\"type\":\"string\"},{\"column_id\":\"order_date\",\"name\":\"Order Date\",\"type\":\"date\"},{\"column_id\":\"region\",\"name\":\"Region\",\"type\":\"string\"},{\"column_id\":\"product\",\"name\":\"Product\",\"type\":\"string\"},{\"column_id\":\"revenue\",\"name\":\"Revenue\",\"type\":\"number\"},{\"column_id\":\"cost\",\"name\":\"Cost\",\"type\":\"number\"}],\"measures\":[{\"id\":\"total_revenue\",\"name\":\"Total Revenue\",\"type\":\"number\"},{\"id\":\"total_cost\",\"name\":\"Total Cost\",\"type\":\"number\"},{\"id\":\"margin_pct\",\"name\":\"Margin Percentage\",\"type\":\"number\"}]}],\"joins\":[],\"types_by_recipe\":{\"kpi\":[\"cardVisual\"],\"trend\":[\"lineChart\",\"areaChart\",\"stackedAreaChart\"],\"category\":[\"clusteredColumnChart\",\"clusteredBarChart\",\"columnChart\",\"barChart\",\"pieChart\",\"donutChart\"],\"detail\":[\"tableEx\"]}},\"limits\":{\"new_measures\":0,\"new_pages\":1},\"request\":\"Add one page titled Product Comparison with exactly two separate clustered bar charts: Total Revenue by Product and Total Cost by Product. Both charts use Product as the category. Use the existing measures; do not create a ratio, margin, or combined chart.\"}"
        }
      ],
      "text": "{\"measures\":[],\"pages\":[{\"title\":\"Product Comparison\",\"visuals\":[{\"recipe\":\"category\",\"visual_type\":\"clusteredBarChart\",\"title\":\"Total Revenue by Product\",\"measure_id\":\"total_revenue\",\"category_column_id\":\"product\",\"table_id\":\"sales\"},{\"recipe\":\"category\",\"visual_type\":\"clusteredBarChart\",\"title\":\"Total Cost by Product\",\"measure_id\":\"total_cost\",\"category_column_id\":\"product\",\"table_id\":\"sales\"}]}],\"recommended_relationship_ids\":[]}",
      "rawText": "{\"measures\":[],\"pages\":[{\"title\":\"Product Comparison\",\"visuals\":[{\"recipe\":\"category\",\"visual_type\":\"clusteredBarChart\",\"title\":\"Total Revenue by Product\",\"measure_id\":\"total_revenue\",\"category_column_id\":\"product\",\"table_id\":\"sales\"},{\"recipe\":\"category\",\"visual_type\":\"clusteredBarChart\",\"title\":\"Total Cost by Product\",\"measure_id\":\"total_cost\",\"category_column_id\":\"product\",\"table_id\":\"sales\"}],\"recommended_relationship_ids\":[]}],\"limits\":{\"new_measures\":0,\"new_pages\":1}}",
      "timeToFirstTextMs": 17906.799999952316,
      "totalMs": 41526.69999998808,
      "tokensPerSecond": 4.5735193231191404,
      "completionTokens": 109,
      "finishReason": "stop",
      "usage": {
        "completion_tokens": 109,
        "prompt_tokens": 478,
        "total_tokens": 587,
        "prompt_tokens_details": {
          "cached_tokens": 0
        }
      },
      "timings": {
        "cache_n": 0,
        "prompt_n": 478,
        "prompt_ms": 17892.6,
        "prompt_per_token_ms": 37.432217573221756,
        "prompt_per_second": 26.714954785777362,
        "predicted_n": 109,
        "predicted_ms": 23614.2,
        "predicted_per_token_ms": 218.65,
        "predicted_per_second": 4.5735193231191404
      },
      "initialGenerationTotalMs": 41521.5,
      "generationTotalMs": 41521.5,
      "pipelineComplete": true,
      "modelRepair": null,
      "repair": {
        "changes": [
          "Removed the root limits field after matching it to the approved input limits.",
          "Moved the empty pages[0].recommended_relationship_ids field to the proposal root."
        ],
        "version": "modelcraft-browser-contract-repair-v1",
        "applied": true,
        "modelAttempts": 1,
        "inferenceRetries": 0,
        "processingMs": 5.199999988079071
      },
      "rawValidation": {
        "caseId": "report-two-measures",
        "benchmarkVersion": "webgpu-powerbi-contracts-v1",
        "validatorVersion": "webgpu-powerbi-validators-v1.1",
        "passed": false,
        "score": 0.8333333333333334,
        "checks": [
          {
            "id": "final-answer",
            "label": "Complete final answer",
            "passed": true,
            "detail": ""
          },
          {
            "id": "report-json",
            "label": "Strict JSON object response",
            "passed": true,
            "detail": ""
          },
          {
            "id": "report-contract",
            "label": "Closed schema and valid catalog/type bindings",
            "passed": false,
            "detail": "proposal: unsupported key 'limits'. recommended_relationship_ids must be an empty array; no measures or relationship changes were requested. page: unsupported key 'recommended_relationship_ids'."
          },
          {
            "id": "report-page",
            "label": "Requested page title and visual count",
            "passed": true,
            "detail": "Expected 'Product Comparison' and 2 visuals."
          },
          {
            "id": "report-binding-1",
            "label": "Requested visual 1 uses exact type and field bindings",
            "passed": true,
            "detail": "{\"recipe\":\"category\",\"visual_type\":\"clusteredBarChart\",\"measure_id\":\"total_revenue\",\"category_column_id\":\"product\"}"
          },
          {
            "id": "report-binding-2",
            "label": "Requested visual 2 uses exact type and field bindings",
            "passed": true,
            "detail": "{\"recipe\":\"category\",\"visual_type\":\"clusteredBarChart\",\"measure_id\":\"total_cost\",\"category_column_id\":\"product\"}"
          }
        ],
        "errors": [
          "proposal: unsupported key 'limits'. recommended_relationship_ids must be an empty array; no measures or relationship changes were requested. page: unsupported key 'recommended_relationship_ids'."
        ],
        "extractedResponse": "{\"measures\":[],\"pages\":[{\"title\":\"Product Comparison\",\"visuals\":[{\"recipe\":\"category\",\"visual_type\":\"clusteredBarChart\",\"title\":\"Total Revenue by Product\",\"measure_id\":\"total_revenue\",\"category_column_id\":\"product\",\"table_id\":\"sales\"},{\"recipe\":\"category\",\"visual_type\":\"clusteredBarChart\",\"title\":\"Total Cost by Product\",\"measure_id\":\"total_cost\",\"category_column_id\":\"product\",\"table_id\":\"sales\"}],\"recommended_relationship_ids\":[]}],\"limits\":{\"new_measures\":0,\"new_pages\":1}}",
        "scope": "Deterministic response-contract checks only. No DAX engine execution, numerical correctness, report rendering, or Power BI export is verified."
      },
      "validation": {
        "caseId": "report-two-measures",
        "benchmarkVersion": "webgpu-powerbi-contracts-v1",
        "validatorVersion": "webgpu-powerbi-validators-v1.1",
        "passed": true,
        "score": 1,
        "checks": [
          {
            "id": "final-answer",
            "label": "Complete final answer",
            "passed": true,
            "detail": ""
          },
          {
            "id": "report-json",
            "label": "Strict JSON object response",
            "passed": true,
            "detail": ""
          },
          {
            "id": "report-contract",
            "label": "Closed schema and valid catalog/type bindings",
            "passed": true,
            "detail": ""
          },
          {
            "id": "report-page",
            "label": "Requested page title and visual count",
            "passed": true,
            "detail": "Expected 'Product Comparison' and 2 visuals."
          },
          {
            "id": "report-binding-1",
            "label": "Requested visual 1 uses exact type and field bindings",
            "passed": true,
            "detail": "{\"recipe\":\"category\",\"visual_type\":\"clusteredBarChart\",\"measure_id\":\"total_revenue\",\"category_column_id\":\"product\"}"
          },
          {
            "id": "report-binding-2",
            "label": "Requested visual 2 uses exact type and field bindings",
            "passed": true,
            "detail": "{\"recipe\":\"category\",\"visual_type\":\"clusteredBarChart\",\"measure_id\":\"total_cost\",\"category_column_id\":\"product\"}"
          }
        ],
        "errors": [],
        "extractedResponse": "{\"measures\":[],\"pages\":[{\"title\":\"Product Comparison\",\"visuals\":[{\"recipe\":\"category\",\"visual_type\":\"clusteredBarChart\",\"title\":\"Total Revenue by Product\",\"measure_id\":\"total_revenue\",\"category_column_id\":\"product\",\"table_id\":\"sales\"},{\"recipe\":\"category\",\"visual_type\":\"clusteredBarChart\",\"title\":\"Total Cost by Product\",\"measure_id\":\"total_cost\",\"category_column_id\":\"product\",\"table_id\":\"sales\"}]}],\"recommended_relationship_ids\":[]}",
        "scope": "Deterministic response-contract checks only. No DAX engine execution, numerical correctness, report rendering, or Power BI export is verified."
      }
    }
  ],
  "rawSummary": {
    "benchmarkVersion": "webgpu-powerbi-contracts-v1",
    "validatorVersion": "webgpu-powerbi-validators-v1.1",
    "scope": "Deterministic response-contract checks only. No DAX engine execution, numerical correctness, report rendering, or Power BI export is verified.",
    "total": 10,
    "completed": 10,
    "passed": 5,
    "failed": 5,
    "pending": 0,
    "passRate": 0.5,
    "dax": {
      "total": 6,
      "completed": 6,
      "passed": 4,
      "failed": 2,
      "pending": 0,
      "passRate": 0.6666666666666666
    },
    "report": {
      "total": 4,
      "completed": 4,
      "passed": 1,
      "failed": 3,
      "pending": 0,
      "passRate": 0.25
    }
  },
  "summary": {
    "benchmarkVersion": "webgpu-powerbi-contracts-v1",
    "validatorVersion": "webgpu-powerbi-validators-v1.1",
    "scope": "Deterministic response-contract checks only. No DAX engine execution, numerical correctness, report rendering, or Power BI export is verified.",
    "total": 10,
    "completed": 10,
    "passed": 10,
    "failed": 0,
    "pending": 0,
    "passRate": 1,
    "dax": {
      "total": 6,
      "completed": 6,
      "passed": 6,
      "failed": 0,
      "pending": 0,
      "passRate": 1
    },
    "report": {
      "total": 4,
      "completed": 4,
      "passed": 4,
      "failed": 0,
      "pending": 0,
      "passRate": 1
    }
  },
  "limitations": [
    "Response-contract checks only: DAX execution, numerical accuracy, native report rendering and Power BI export were not validated.",
    "One device and ten known synthetic tasks; repairs were informed by these failures and do not establish held-out accuracy.",
    "One bounded model retry is allowed only for an ambiguous bracketed DAX declaration. Original and retry messages and responses are retained."
  ]
}
