{
  "at": "2026-08-06T09:58:38.255Z",
  "account": {
    "id": "account-1785537733355-yehkk",
    "label": "NVIDIA NIM",
    "type": "compatible",
    "model": "nvidia/nemotron-3-ultra-550b-a55b"
  },
  "runsPerTask": 3,
  "suite": "hard",
  "taskFilter": null,
  "durationMs": 24838981,
  "summary": {
    "tasks": 5,
    "taskRunsPassed": 10,
    "taskRunsTotal": 15,
    "cleanCompletions": 0,
    "outcomes": {
      "complete": 0,
      "complete_unverified": 0,
      "needs_user": 0,
      "timeout": 15,
      "other": 0,
      "falseCompletions": 0
    },
    "checksPassed": 115,
    "checksTotal": 123,
    "totalCostUsd": 1.9554,
    "totalProviderCalls": 705,
    "totalTokens": 2614022,
    "providerUsageByAgent": {
      "mira": {
        "calls": 89,
        "inTokens": 294441,
        "outTokens": 57797,
        "costUsd": 0.233916
      },
      "forge": {
        "calls": 113,
        "inTokens": 671499,
        "outTokens": 317412,
        "costUsd": 0.797305
      },
      "verity": {
        "calls": 486,
        "inTokens": 963189,
        "outTokens": 262940,
        "costUsd": 0.8752959
      },
      "advisor": {
        "calls": 14,
        "inTokens": 20762,
        "outTokens": 24908,
        "costUsd": 0.047742999999999994
      },
      "sentinel": {
        "calls": 3,
        "inTokens": 517,
        "outTokens": 557,
        "costUsd": 0.001094
      }
    },
    "totalSteps": 106
  },
  "results": [
    {
      "taskId": "hard-build-invoice-studio",
      "kind": "build",
      "run": 1,
      "passed": true,
      "checks": [
        {
          "name": "index.html exists",
          "ok": true
        },
        {
          "name": "loads without page errors, empty invoice shows $0.00",
          "ok": true
        },
        {
          "name": "math: two items → correct subtotal",
          "ok": true
        },
        {
          "name": "interaction: 10% discount then 20% tax → $248.40 (order matters)",
          "ok": true
        },
        {
          "name": "remove recomputes: deleting a row updates subtotal and total",
          "ok": true
        },
        {
          "name": "negative path: empty description rejected, nothing added",
          "ok": true
        },
        {
          "name": "negative path: hostile qty/price rejected, totals never NaN",
          "ok": true
        },
        {
          "name": "discount out of range: error shown, treated as 0",
          "ok": true
        },
        {
          "name": "persistence: items and totals survive a reload",
          "ok": true
        }
      ],
      "endState": "timeout",
      "completedUnproven": false,
      "failedCriteriaEnd": 0,
      "behavioralUnproven": 5,
      "timedOut": true,
      "interventions": 0,
      "providerRetries": 0,
      "steps": 6,
      "wallMs": 1590874,
      "usage": {
        "tokens": 171313,
        "costUsd": 0.1398,
        "calls": 48,
        "byAgent": {
          "mira": {
            "inTokens": 20593,
            "outTokens": 4238,
            "costUsd": 0.016653499999999998,
            "calls": 6
          },
          "forge": {
            "inTokens": 30174,
            "outTokens": 17595,
            "costUsd": 0.0414795,
            "calls": 6
          },
          "verity": {
            "inTokens": 63806,
            "outTokens": 30331,
            "costUsd": 0.0773995,
            "calls": 34
          },
          "advisor": {
            "inTokens": 2552,
            "outTokens": 2024,
            "costUsd": 0.004312000000000001,
            "calls": 2
          }
        }
      },
      "verdict": "pass",
      "criteria": {
        "met": 6,
        "total": 8
      },
      "loop": {
        "planSteps": {
          "done": 10,
          "total": 14
        },
        "selfReviews": 1,
        "criteriaProven": 5,
        "digest": true,
        "shortcuts": 1,
        "completionShortcuts": 0,
        "leanStubs": 3,
        "skillsApplied": 0,
        "skillsSaved": 0,
        "fixAttempts": 0,
        "fixHistory": 0,
        "broadRegen": 0,
        "holisticTried": false,
        "providerRecoveries": 0,
        "structureChecks": false,
        "promptStats": {
          "mira": {
            "calls": 6,
            "trims": 0,
            "maxChars": 18426,
            "budgetChars": 3585254,
            "lastChars": 18426
          },
          "forge": {
            "calls": 6,
            "trims": 0,
            "maxChars": 32584,
            "budgetChars": 3541018,
            "lastChars": 32584
          },
          "verity": {
            "calls": 36,
            "trims": 0,
            "maxChars": 22028,
            "budgetChars": 3585254,
            "lastChars": 6203
          },
          "advisor": {
            "calls": 2,
            "trims": 0,
            "maxChars": 5333,
            "budgetChars": 3570509,
            "lastChars": 5333
          }
        },
        "providerQueue": {
          "waits": 0,
          "totalMs": 0,
          "maxMs": 0
        },
        "ladder": {
          "started": "fast",
          "final": "full",
          "fastBuildRounds": 1,
          "completedFast": false,
          "escalated": true,
          "escalationReason": "the verification pass finished with 1 high-severity finding(s) unresolved",
          "fastUsage": {
            "calls": 12,
            "tokens": 34105,
            "costUsd": 0.027455500000000008,
            "wallMs": 267339
          }
        },
        "verification": {
          "lastRun": {
            "at": 1785986721970,
            "workspaceVersion": 3,
            "verdict": "pass",
            "hardGreen": true,
            "deterministicGreen": true,
            "deterministicChecks": 4,
            "criteriaAttempted": 0,
            "runtimeErrors": 0,
            "highIssues": 0
          },
          "efficiency": {
            "fullPasses": 3,
            "scopedPasses": 1,
            "deferred": 1,
            "staticCriteria": 5,
            "staticDeterministic": 0,
            "staticBatchCalls": 4,
            "staticBatchRetries": 2
          },
          "criteria": [
            {
              "id": "criterion-1785985513285-bauuw",
              "text": "Page contains input#item-desc, input#item-qty, input#item-price, button#add-item, and ul#item-list (or similar list element)",
              "status": "met",
              "attempts": 2,
              "actionAttempts": 0,
              "successfulActions": 0,
              "modelCalls": 0,
              "lastResult": "met",
              "unknownReason": "",
              "replayAttempted": false,
              "replayFailed": false,
              "deterministic": true
            },
            {
              "id": "criterion-1785985513285-z8xy6",
              "text": "Clicking #add-item with valid description, positive qty, and positive price adds a row to #item-list showing description, qty, price, line total, and a button.remove-item",
              "status": "met",
              "attempts": 2,
              "actionAttempts": 8,
              "successfulActions": 8,
              "modelCalls": 3,
              "lastResult": "met",
              "unknownReason": "",
              "replayAttempted": true,
              "replayFailed": false,
              "deterministic": false
            },
            {
              "id": "criterion-1785985513285-oeli2",
              "text": "Clicking .remove-item deletes that row and recomputes all totals",
              "status": "met",
              "attempts": 1,
              "actionAttempts": 5,
              "successfulActions": 5,
              "modelCalls": 3,
              "lastResult": "met",
              "unknownReason": "",
              "replayAttempted": false,
              "replayFailed": false,
              "deterministic": false
            },
            {
              "id": "criterion-1785985513285-jlj3v",
              "text": "#subtotal displays sum of qty × price formatted as $X.XX (e.g., $1,234.56), #total displays (subtotal - discount) + tax formatted same way",
              "status": "met",
              "attempts": 3,
              "actionAttempts": 0,
              "successfulActions": 0,
              "modelCalls": 4,
              "lastResult": "met",
              "unknownReason": "",
              "replayAttempted": false,
              "replayFailed": false,
              "deterministic": false
            },
            {
              "id": "criterion-1785985513285-u7rl7",
              "text": "Changing #discount-pct or #tax-pct immediately recomputes #total; discount outside 0-100 shows error in #inv-error and treats discount as 0",
              "status": "met",
              "attempts": 3,
              "actionAttempts": 0,
              "successfulActions": 0,
              "modelCalls": 6,
              "lastResult": "unknown",
              "unknownReason": "static-batch-no-verdict",
              "replayAttempted": false,
              "replayFailed": false,
              "deterministic": false
            },
            {
              "id": "criterion-1785985513285-9r7ez",
              "text": "Empty description, non-positive qty, or non-positive price shows error in #inv-error and adds nothing to the list",
              "status": "open",
              "attempts": 4,
              "actionAttempts": 21,
              "successfulActions": 21,
              "modelCalls": 12,
              "lastResult": "unknown",
              "unknownReason": "model-no-response",
              "replayAttempted": false,
              "replayFailed": false,
              "deterministic": false
            },
            {
              "id": "criterion-1785985513285-c5ohi",
              "text": "Totals never show NaN, Infinity, or undefined — with zero items both #subtotal and #total show $0.00",
              "status": "met",
              "attempts": 2,
              "actionAttempts": 0,
              "successfulActions": 0,
              "modelCalls": 2,
              "lastResult": "met",
              "unknownReason": "",
              "replayAttempted": false,
              "replayFailed": false,
              "deterministic": false
            },
            {
              "id": "criterion-1785985513285-thbk4",
              "text": "Literal user contract: preserve exactly id=\"item-desc\", id=\"item-qty\", id=\"item-price\", id=\"add-item\", id=\"item-list\", class=\"remove-item\", id=\"subtotal\", id=\"discount-pct\", id=\"tax-pct\", id=\"total\", id=\"inv-error\", \"item-desc\"; negative requirements hold literally (NEVER display NaN).",
              "status": "open",
              "attempts": 3,
              "actionAttempts": 9,
              "successfulActions": 7,
              "modelCalls": 5,
              "lastResult": "met",
              "unknownReason": "",
              "replayAttempted": false,
              "replayFailed": false,
              "deterministic": false
            }
          ]
        },
        "improvements": {
          "brainstormRounds": 1,
          "shipped": [],
          "backlogRemaining": 7
        }
      }
    },
    {
      "taskId": "hard-build-invoice-studio",
      "kind": "build",
      "run": 2,
      "passed": true,
      "checks": [
        {
          "name": "index.html exists",
          "ok": true
        },
        {
          "name": "loads without page errors, empty invoice shows $0.00",
          "ok": true
        },
        {
          "name": "math: two items → correct subtotal",
          "ok": true
        },
        {
          "name": "interaction: 10% discount then 20% tax → $248.40 (order matters)",
          "ok": true
        },
        {
          "name": "remove recomputes: deleting a row updates subtotal and total",
          "ok": true
        },
        {
          "name": "negative path: empty description rejected, nothing added",
          "ok": true
        },
        {
          "name": "negative path: hostile qty/price rejected, totals never NaN",
          "ok": true
        },
        {
          "name": "discount out of range: error shown, treated as 0",
          "ok": true
        },
        {
          "name": "persistence: items and totals survive a reload",
          "ok": true
        }
      ],
      "endState": "timeout",
      "completedUnproven": false,
      "failedCriteriaEnd": 0,
      "behavioralUnproven": 2,
      "timedOut": true,
      "interventions": 0,
      "providerRetries": 0,
      "steps": 6,
      "wallMs": 1500346,
      "usage": {
        "tokens": 163573,
        "costUsd": 0.1248,
        "calls": 43,
        "byAgent": {
          "mira": {
            "inTokens": 23898,
            "outTokens": 4846,
            "costUsd": 0.019218000000000002,
            "calls": 7
          },
          "forge": {
            "inTokens": 27491,
            "outTokens": 16661,
            "costUsd": 0.038737,
            "calls": 6
          },
          "verity": {
            "inTokens": 67865,
            "outTokens": 19246,
            "costUsd": 0.06280150000000001,
            "calls": 29
          },
          "advisor": {
            "inTokens": 1257,
            "outTokens": 2309,
            "costUsd": 0.004091999999999999,
            "calls": 1
          }
        }
      },
      "verdict": "incomplete",
      "criteria": {
        "met": 6,
        "total": 8
      },
      "loop": {
        "planSteps": {
          "done": 7,
          "total": 12
        },
        "selfReviews": 1,
        "criteriaProven": 6,
        "digest": true,
        "shortcuts": 0,
        "completionShortcuts": 0,
        "leanStubs": 1,
        "skillsApplied": 0,
        "skillsSaved": 0,
        "fixAttempts": 0,
        "fixHistory": 0,
        "broadRegen": 0,
        "holisticTried": false,
        "providerRecoveries": 0,
        "structureChecks": false,
        "promptStats": {
          "mira": {
            "calls": 7,
            "trims": 0,
            "maxChars": 18717,
            "budgetChars": 3585254,
            "lastChars": 18717
          },
          "forge": {
            "calls": 7,
            "trims": 0,
            "maxChars": 43408,
            "budgetChars": 3541018,
            "lastChars": 43408
          },
          "verity": {
            "calls": 29,
            "trims": 0,
            "maxChars": 33625,
            "budgetChars": 3585254,
            "lastChars": 33625
          },
          "advisor": {
            "calls": 1,
            "trims": 0,
            "maxChars": 5027,
            "budgetChars": 3585254,
            "lastChars": 5027
          }
        },
        "providerQueue": {
          "waits": 0,
          "totalMs": 0,
          "maxMs": 0
        },
        "ladder": {
          "started": "fast",
          "final": "full",
          "fastBuildRounds": 1,
          "completedFast": false,
          "escalated": true,
          "escalationReason": "one full verification pass could not prove every criterion",
          "fastUsage": {
            "calls": 15,
            "tokens": 42977,
            "costUsd": 0.02935749999999998,
            "wallMs": 301921
          }
        },
        "verification": {
          "lastRun": {
            "at": 1785988460850,
            "workspaceVersion": 2,
            "verdict": "incomplete",
            "hardGreen": false,
            "deterministicGreen": true,
            "deterministicChecks": 10,
            "criteriaAttempted": 6,
            "runtimeErrors": 0,
            "highIssues": 0
          },
          "efficiency": {
            "fullPasses": 4,
            "scopedPasses": 0,
            "deferred": 2,
            "staticCriteria": 6,
            "staticDeterministic": 0,
            "staticBatchCalls": 2,
            "staticBatchRetries": 0
          },
          "criteria": [
            {
              "id": "criterion-1785987118457-2thoa",
              "text": "Page contains all required elements: #item-desc, #item-qty, #item-price, #add-item, #item-list, #subtotal, #discount-pct, #tax-pct, #total, #inv-error",
              "status": "met",
              "attempts": 2,
              "actionAttempts": 0,
              "successfulActions": 0,
              "modelCalls": 0,
              "lastResult": "met",
              "unknownReason": "",
              "replayAttempted": false,
              "replayFailed": false,
              "deterministic": true
            },
            {
              "id": "criterion-1785987118457-dpr69",
              "text": "Adding a valid line item (non-empty description, positive qty, positive price) appends a row to #item-list showing description, qty, price, line total, and a .remove-item button",
              "status": "met",
              "attempts": 2,
              "actionAttempts": 8,
              "successfulActions": 8,
              "modelCalls": 3,
              "lastResult": "met",
              "unknownReason": "",
              "replayAttempted": true,
              "replayFailed": false,
              "deterministic": false
            },
            {
              "id": "criterion-1785987118457-veznx",
              "text": "Clicking .remove-item on a row deletes that row and recomputes subtotal and total",
              "status": "open",
              "attempts": 2,
              "actionAttempts": 10,
              "successfulActions": 10,
              "modelCalls": 6,
              "lastResult": "unknown",
              "unknownReason": "action-budget-exhausted",
              "replayAttempted": false,
              "replayFailed": false,
              "deterministic": false
            },
            {
              "id": "criterion-1785987118457-oogri",
              "text": "Subtotal (#subtotal) equals sum of qty × price for all rows, formatted as $X.XX",
              "status": "met",
              "attempts": 2,
              "actionAttempts": 0,
              "successfulActions": 0,
              "modelCalls": 2,
              "lastResult": "met",
              "unknownReason": "",
              "replayAttempted": false,
              "replayFailed": false,
              "deterministic": false
            },
            {
              "id": "criterion-1785987118457-30xmb",
              "text": "Total (#total) equals (subtotal - discountAmount) + taxAmount where discountAmount = subtotal × discount%/100 and taxAmount = (subtotal - discountAmount) × tax%/100, formatted as $X.XX",
              "status": "met",
              "attempts": 2,
              "actionAttempts": 0,
              "successfulActions": 0,
              "modelCalls": 2,
              "lastResult": "met",
              "unknownReason": "",
              "replayAttempted": false,
              "replayFailed": false,
              "deterministic": false
            },
            {
              "id": "criterion-1785987118457-ziew5",
              "text": "Validation: empty description shows error in #inv-error and adds nothing; non-positive qty or price shows error and adds nothing; discount outside 0-100 shows error and treats discount as 0",
              "status": "open",
              "attempts": 3,
              "actionAttempts": 15,
              "successfulActions": 15,
              "modelCalls": 9,
              "lastResult": "unknown",
              "unknownReason": "action-budget-exhausted",
              "replayAttempted": false,
              "replayFailed": false,
              "deterministic": false
            },
            {
              "id": "criterion-1785987118457-ryosq",
              "text": "Totals never show NaN, Infinity, or undefined — with zero items both subtotal and total show $0.00",
              "status": "met",
              "attempts": 2,
              "actionAttempts": 0,
              "successfulActions": 0,
              "modelCalls": 2,
              "lastResult": "met",
              "unknownReason": "",
              "replayAttempted": false,
              "replayFailed": false,
              "deterministic": false
            },
            {
              "id": "criterion-1785987118457-tsjb5",
              "text": "Literal user contract: preserve exactly id=\"item-desc\", id=\"item-qty\", id=\"item-price\", id=\"add-item\", id=\"item-list\", class=\"remove-item\", id=\"subtotal\", id=\"discount-pct\", id=\"tax-pct\", id=\"total\", id=\"inv-error\", \"item-desc\"; negative requirements hold literally (NEVER display NaN).",
              "status": "met",
              "attempts": 2,
              "actionAttempts": 10,
              "successfulActions": 10,
              "modelCalls": 4,
              "lastResult": "met",
              "unknownReason": "",
              "replayAttempted": true,
              "replayFailed": false,
              "deterministic": false
            }
          ]
        },
        "improvements": {
          "brainstormRounds": 1,
          "shipped": [],
          "backlogRemaining": 7
        }
      }
    },
    {
      "taskId": "hard-build-invoice-studio",
      "kind": "build",
      "run": 3,
      "passed": false,
      "checks": [
        {
          "name": "index.html exists",
          "ok": true
        },
        {
          "name": "loads without page errors, empty invoice shows $0.00",
          "ok": true
        },
        {
          "name": "math: two items → correct subtotal",
          "ok": true
        },
        {
          "name": "interaction: 10% discount then 20% tax → $248.40 (order matters)",
          "ok": true
        },
        {
          "name": "remove recomputes: deleting a row updates subtotal and total",
          "ok": true
        },
        {
          "name": "negative path: empty description rejected, nothing added",
          "ok": true
        },
        {
          "name": "negative path: hostile qty/price rejected, totals never NaN",
          "ok": false,
          "error": "NaN/Infinity/undefined leaked into the page"
        },
        {
          "name": "discount out of range: error shown, treated as 0",
          "ok": true
        },
        {
          "name": "persistence: items and totals survive a reload",
          "ok": true
        }
      ],
      "endState": "timeout",
      "completedUnproven": false,
      "failedCriteriaEnd": 0,
      "behavioralUnproven": 7,
      "timedOut": true,
      "interventions": 0,
      "providerRetries": 0,
      "steps": 6,
      "wallMs": 1590529,
      "usage": {
        "tokens": 180480,
        "costUsd": 0.1399,
        "calls": 52,
        "byAgent": {
          "mira": {
            "inTokens": 27006,
            "outTokens": 6799,
            "costUsd": 0.0237015,
            "calls": 8
          },
          "forge": {
            "inTokens": 26121,
            "outTokens": 13834,
            "costUsd": 0.0338115,
            "calls": 6
          },
          "verity": {
            "inTokens": 76432,
            "outTokens": 26273,
            "costUsd": 0.0776255,
            "calls": 37
          },
          "advisor": {
            "inTokens": 1224,
            "outTokens": 2791,
            "costUsd": 0.0047985,
            "calls": 1
          }
        }
      },
      "verdict": "pass",
      "criteria": {
        "met": 7,
        "total": 8
      },
      "loop": {
        "planSteps": {
          "done": 7,
          "total": 8
        },
        "selfReviews": 1,
        "criteriaProven": 7,
        "digest": true,
        "shortcuts": 0,
        "completionShortcuts": 0,
        "leanStubs": 1,
        "skillsApplied": 0,
        "skillsSaved": 0,
        "fixAttempts": 0,
        "fixHistory": 0,
        "broadRegen": 0,
        "holisticTried": false,
        "providerRecoveries": 0,
        "structureChecks": false,
        "promptStats": {
          "mira": {
            "calls": 8,
            "trims": 0,
            "maxChars": 17692,
            "budgetChars": 3585254,
            "lastChars": 17692
          },
          "forge": {
            "calls": 6,
            "trims": 0,
            "maxChars": 29952,
            "budgetChars": 3541018,
            "lastChars": 29952
          },
          "verity": {
            "calls": 39,
            "trims": 0,
            "maxChars": 25394,
            "budgetChars": 3585254,
            "lastChars": 6348
          },
          "advisor": {
            "calls": 1,
            "trims": 0,
            "maxChars": 4927,
            "budgetChars": 3585254,
            "lastChars": 4927
          }
        },
        "providerQueue": {
          "waits": 0,
          "totalMs": 0,
          "maxMs": 0
        },
        "ladder": {
          "started": "fast",
          "final": "full",
          "fastBuildRounds": 1,
          "completedFast": false,
          "escalated": true,
          "escalationReason": "one full verification pass could not prove every criterion",
          "fastUsage": {
            "calls": 22,
            "tokens": 60816,
            "costUsd": 0.04507900000000001,
            "wallMs": 591744
          }
        },
        "verification": {
          "lastRun": {
            "at": 1785989885824,
            "workspaceVersion": 1,
            "verdict": "pass",
            "hardGreen": true,
            "deterministicGreen": true,
            "deterministicChecks": 4,
            "criteriaAttempted": 0,
            "runtimeErrors": 0,
            "highIssues": 0
          },
          "efficiency": {
            "fullPasses": 4,
            "scopedPasses": 0,
            "deferred": 2,
            "staticCriteria": 0,
            "staticDeterministic": 0,
            "staticBatchCalls": 0,
            "staticBatchRetries": 0
          },
          "criteria": [
            {
              "id": "criterion-1785988638897-olbtj",
              "text": "Page contains all required elements: #item-desc, #item-qty, #item-price, #add-item, #item-list, #subtotal, #discount-pct, #tax-pct, #total, #inv-error, and each item row has a .remove-item button",
              "status": "met",
              "attempts": 2,
              "actionAttempts": 0,
              "successfulActions": 0,
              "modelCalls": 0,
              "lastResult": "met",
              "unknownReason": "",
              "replayAttempted": false,
              "replayFailed": false,
              "deterministic": true
            },
            {
              "id": "criterion-1785988638897-t4igl",
              "text": "Adding a valid line item (non-empty description, positive qty, positive price) appends a row to #item-list showing description, qty, price, line total, and a .remove-item button",
              "status": "met",
              "attempts": 2,
              "actionAttempts": 12,
              "successfulActions": 12,
              "modelCalls": 4,
              "lastResult": "met",
              "unknownReason": "",
              "replayAttempted": true,
              "replayFailed": false,
              "deterministic": false
            },
            {
              "id": "criterion-1785988638897-ewkwx",
              "text": "Clicking a .remove-item button deletes that row and recomputes all totals",
              "status": "open",
              "attempts": 3,
              "actionAttempts": 16,
              "successfulActions": 16,
              "modelCalls": 9,
              "lastResult": "unknown",
              "unknownReason": "action-budget-exhausted",
              "replayAttempted": false,
              "replayFailed": false,
              "deterministic": false
            },
            {
              "id": "criterion-1785988638897-5v5nd",
              "text": "#subtotal displays sum of qty × price formatted as currency; #total displays (subtotal − discount) + tax formatted as $X,XXX.XX with $ sign and two decimals",
              "status": "met",
              "attempts": 2,
              "actionAttempts": 12,
              "successfulActions": 12,
              "modelCalls": 4,
              "lastResult": "unknown",
              "unknownReason": "model-no-response",
              "replayAttempted": true,
              "replayFailed": false,
              "deterministic": false
            },
            {
              "id": "criterion-1785988638897-i5pxw",
              "text": "Empty description shows error in #inv-error and adds no row",
              "status": "met",
              "attempts": 2,
              "actionAttempts": 12,
              "successfulActions": 8,
              "modelCalls": 5,
              "lastResult": "met",
              "unknownReason": "",
              "replayAttempted": true,
              "replayFailed": false,
              "deterministic": false
            },
            {
              "id": "criterion-1785988638897-tpdxg",
              "text": "Non-positive quantity or price (zero, negative, non-numeric) shows error in #inv-error and adds no row",
              "status": "met",
              "attempts": 2,
              "actionAttempts": 10,
              "successfulActions": 10,
              "modelCalls": 4,
              "lastResult": "met",
              "unknownReason": "",
              "replayAttempted": true,
              "replayFailed": false,
              "deterministic": false
            },
            {
              "id": "criterion-1785988638897-qqhgv",
              "text": "Discount outside 0–100 shows error in #inv-error, treats discount as 0, and still computes total",
              "status": "met",
              "attempts": 2,
              "actionAttempts": 10,
              "successfulActions": 10,
              "modelCalls": 4,
              "lastResult": "met",
              "unknownReason": "",
              "replayAttempted": true,
              "replayFailed": false,
              "deterministic": false
            },
            {
              "id": "criterion-1785988638897-xex2f",
              "text": "Literal user contract: preserve exactly id=\"item-desc\", id=\"item-qty\", id=\"item-price\", id=\"add-item\", id=\"item-list\", class=\"remove-item\", id=\"subtotal\", id=\"discount-pct\", id=\"tax-pct\", id=\"total\", id=\"inv-error\", \"item-desc\"; negative requirements hold literally (NEVER display NaN).",
              "status": "met",
              "attempts": 1,
              "actionAttempts": 4,
              "successfulActions": 4,
              "modelCalls": 2,
              "lastResult": "met",
              "unknownReason": "",
              "replayAttempted": false,
              "replayFailed": false,
              "deterministic": false
            }
          ]
        },
        "improvements": {
          "brainstormRounds": 1,
          "shipped": [],
          "backlogRemaining": 8
        }
      }
    },
    {
      "taskId": "hard-modify-crm-features",
      "kind": "modify",
      "run": 1,
      "passed": true,
      "checks": [
        {
          "name": "regression: add updates list and count",
          "ok": true
        },
        {
          "name": "regression: search stays case-insensitive",
          "ok": true
        },
        {
          "name": "regression: empty name rejected with an error, nothing added",
          "ok": true
        },
        {
          "name": "regression: delete works and detail panel still opens",
          "ok": true
        },
        {
          "name": "tags: saved on add and shown as .tag chips in the detail panel",
          "ok": true
        },
        {
          "name": "tag filter: options populate and filtering works",
          "ok": true
        },
        {
          "name": "export: #export-output holds parseable JSON containing the contacts",
          "ok": true
        },
        {
          "name": "import: merges new contacts, skips duplicate emails",
          "ok": true
        },
        {
          "name": "undo: restores the most recently deleted contact",
          "ok": true
        }
      ],
      "endState": "timeout",
      "completedUnproven": false,
      "failedCriteriaEnd": 0,
      "behavioralUnproven": 0,
      "timedOut": true,
      "interventions": 0,
      "providerRetries": 0,
      "steps": 12,
      "wallMs": 1500172,
      "usage": {
        "tokens": 201793,
        "costUsd": 0.1477,
        "calls": 35,
        "byAgent": {
          "mira": {
            "inTokens": 22947,
            "outTokens": 3938,
            "costUsd": 0.0173805,
            "calls": 8
          },
          "forge": {
            "inTokens": 116955,
            "outTokens": 36420,
            "costUsd": 0.1131075,
            "calls": 17
          },
          "verity": {
            "inTokens": 12539,
            "outTokens": 5154,
            "costUsd": 0.014000499999999999,
            "calls": 7
          },
          "sentinel": {
            "inTokens": 338,
            "outTokens": 269,
            "costUsd": 0.0005725,
            "calls": 2
          },
          "advisor": {
            "inTokens": 2165,
            "outTokens": 1068,
            "costUsd": 0.0026845,
            "calls": 1
          }
        }
      },
      "verdict": "fail",
      "criteria": {
        "met": 1,
        "total": 1
      },
      "loop": {
        "planSteps": null,
        "selfReviews": 0,
        "criteriaProven": 1,
        "digest": true,
        "shortcuts": 4,
        "completionShortcuts": 0,
        "leanStubs": 37,
        "skillsApplied": 0,
        "skillsSaved": 0,
        "fixAttempts": 4,
        "fixHistory": 4,
        "broadRegen": 0,
        "holisticTried": false,
        "providerRecoveries": 0,
        "structureChecks": true,
        "promptStats": {
          "mira": {
            "calls": 8,
            "trims": 0,
            "maxChars": 15280,
            "budgetChars": 3585254,
            "lastChars": 15258
          },
          "forge": {
            "calls": 18,
            "trims": 0,
            "maxChars": 36204,
            "budgetChars": 3541018,
            "lastChars": 36204
          },
          "verity": {
            "calls": 7,
            "trims": 0,
            "maxChars": 7116,
            "budgetChars": 3585254,
            "lastChars": 7113
          },
          "sentinel": {
            "calls": 2,
            "trims": 0,
            "maxChars": 670,
            "budgetChars": 3585254,
            "lastChars": 670
          },
          "advisor": {
            "calls": 1,
            "trims": 0,
            "maxChars": 8770,
            "budgetChars": 3570509,
            "lastChars": 8770
          }
        },
        "providerQueue": {
          "waits": 0,
          "totalMs": 0,
          "maxMs": 0
        },
        "ladder": {
          "started": "fast",
          "final": "full",
          "fastBuildRounds": 2,
          "completedFast": false,
          "escalated": true,
          "escalationReason": "the verification pass finished with 2 high-severity finding(s) unresolved",
          "fastUsage": {
            "calls": 6,
            "tokens": 31080,
            "costUsd": 0.023116,
            "wallMs": 195068
          }
        },
        "verification": {
          "lastRun": {
            "at": 1785991339077,
            "workspaceVersion": 10,
            "verdict": "fail",
            "hardGreen": false,
            "deterministicGreen": false,
            "deterministicChecks": 9,
            "criteriaAttempted": 1,
            "runtimeErrors": 1,
            "highIssues": 2
          },
          "efficiency": {
            "fullPasses": 5,
            "scopedPasses": 0,
            "deferred": 0,
            "staticCriteria": 0,
            "staticDeterministic": 0,
            "staticBatchCalls": 0,
            "staticBatchRetries": 0
          },
          "criteria": [
            {
              "id": "criterion-1785990200920-f9fpc",
              "text": "Literal user contract: preserve exactly id=\"contact-tags\", class=\"tag\", id=\"tag-filter\", id=\"export\", id=\"export-output\", id=\"import-input\", id=\"import-btn\", id=\"undo\", \"contact-tags\", \"tag\", \"tag-filter\", \"All tags\".",
              "status": "met",
              "attempts": 5,
              "actionAttempts": 30,
              "successfulActions": 30,
              "modelCalls": 7,
              "lastResult": "met",
              "unknownReason": "",
              "replayAttempted": true,
              "replayFailed": false,
              "deterministic": false
            }
          ]
        },
        "improvements": {
          "brainstormRounds": 0,
          "shipped": [],
          "backlogRemaining": 0
        }
      }
    },
    {
      "taskId": "hard-modify-crm-features",
      "kind": "modify",
      "run": 2,
      "passed": true,
      "checks": [
        {
          "name": "regression: add updates list and count",
          "ok": true
        },
        {
          "name": "regression: search stays case-insensitive",
          "ok": true
        },
        {
          "name": "regression: empty name rejected with an error, nothing added",
          "ok": true
        },
        {
          "name": "regression: delete works and detail panel still opens",
          "ok": true
        },
        {
          "name": "tags: saved on add and shown as .tag chips in the detail panel",
          "ok": true
        },
        {
          "name": "tag filter: options populate and filtering works",
          "ok": true
        },
        {
          "name": "export: #export-output holds parseable JSON containing the contacts",
          "ok": true
        },
        {
          "name": "import: merges new contacts, skips duplicate emails",
          "ok": true
        },
        {
          "name": "undo: restores the most recently deleted contact",
          "ok": true
        }
      ],
      "endState": "timeout",
      "completedUnproven": false,
      "failedCriteriaEnd": 0,
      "behavioralUnproven": 4,
      "timedOut": true,
      "interventions": 0,
      "providerRetries": 0,
      "steps": 8,
      "wallMs": 1500123,
      "usage": {
        "tokens": 206293,
        "costUsd": 0.1454,
        "calls": 48,
        "byAgent": {
          "mira": {
            "inTokens": 24183,
            "outTokens": 3445,
            "costUsd": 0.017259,
            "calls": 7
          },
          "forge": {
            "inTokens": 92761,
            "outTokens": 25668,
            "costUsd": 0.08488249999999999,
            "calls": 13
          },
          "verity": {
            "inTokens": 46002,
            "outTokens": 10618,
            "costUsd": 0.038928,
            "calls": 27
          },
          "advisor": {
            "inTokens": 1090,
            "outTokens": 2526,
            "costUsd": 0.004334,
            "calls": 1
          }
        }
      },
      "verdict": "pass",
      "criteria": {
        "met": 3,
        "total": 5
      },
      "loop": {
        "planSteps": {
          "done": 4,
          "total": 6
        },
        "selfReviews": 0,
        "criteriaProven": 3,
        "digest": true,
        "shortcuts": 0,
        "completionShortcuts": 0,
        "leanStubs": 20,
        "skillsApplied": 0,
        "skillsSaved": 0,
        "fixAttempts": 3,
        "fixHistory": 3,
        "broadRegen": 0,
        "holisticTried": false,
        "providerRecoveries": 0,
        "structureChecks": true,
        "promptStats": {
          "mira": {
            "calls": 8,
            "trims": 0,
            "maxChars": 18173,
            "budgetChars": 3585254,
            "lastChars": 16653
          },
          "forge": {
            "calls": 13,
            "trims": 0,
            "maxChars": 36041,
            "budgetChars": 3541018,
            "lastChars": 36041
          },
          "verity": {
            "calls": 27,
            "trims": 0,
            "maxChars": 7112,
            "budgetChars": 3585254,
            "lastChars": 7095
          },
          "advisor": {
            "calls": 1,
            "trims": 0,
            "maxChars": 4665,
            "budgetChars": 3585254,
            "lastChars": 4665
          }
        },
        "providerQueue": {
          "waits": 0,
          "totalMs": 0,
          "maxMs": 0
        },
        "ladder": {
          "started": "fast",
          "final": "full",
          "fastBuildRounds": 2,
          "completedFast": false,
          "escalated": true,
          "escalationReason": "the verification pass finished with 2 high-severity finding(s) unresolved",
          "fastUsage": {
            "calls": 12,
            "tokens": 44580,
            "costUsd": 0.03247300000000001,
            "wallMs": 353037
          }
        },
        "verification": {
          "lastRun": {
            "at": 1785992804753,
            "workspaceVersion": 7,
            "verdict": "fail",
            "hardGreen": false,
            "deterministicGreen": false,
            "deterministicChecks": 11,
            "criteriaAttempted": 3,
            "runtimeErrors": 1,
            "highIssues": 2
          },
          "efficiency": {
            "fullPasses": 3,
            "scopedPasses": 0,
            "deferred": 3,
            "staticCriteria": 0,
            "staticDeterministic": 0,
            "staticBatchCalls": 0,
            "staticBatchRetries": 0
          },
          "criteria": [
            {
              "id": "criterion-1785991709109-5x488",
              "text": "Tags: Add form has input id=\"contact-tags\" (comma-separated); tags saved with contact; detail panel shows each tag as element with class=\"tag\"; select id=\"tag-filter\" above list with \"All tags\" (value \"\") plus all distinct tags; selecting a tag filters list to contacts having that tag",
              "status": "met",
              "attempts": 3,
              "actionAttempts": 13,
              "successfulActions": 13,
              "modelCalls": 9,
              "lastResult": "met",
              "unknownReason": "",
              "replayAttempted": false,
              "replayFailed": false,
              "deterministic": false
            },
            {
              "id": "criterion-1785991709109-nbyb6",
              "text": "Export: Button id=\"export\" writes full contact list as JSON into textarea id=\"export-output\"",
              "status": "met",
              "attempts": 3,
              "actionAttempts": 0,
              "successfulActions": 0,
              "modelCalls": 0,
              "lastResult": "met",
              "unknownReason": "",
              "replayAttempted": false,
              "replayFailed": false,
              "deterministic": true
            },
            {
              "id": "criterion-1785991709109-rqdrf",
              "text": "Import: Textarea id=\"import-input\" and button id=\"import-btn\" parse JSON array of contacts and merge them, skipping any whose email already exists (case-insensitive)",
              "status": "met",
              "attempts": 3,
              "actionAttempts": 0,
              "successfulActions": 0,
              "modelCalls": 0,
              "lastResult": "met",
              "unknownReason": "",
              "replayAttempted": false,
              "replayFailed": false,
              "deterministic": true
            },
            {
              "id": "criterion-1785991709109-95grm",
              "text": "Undo Delete: After a contact is deleted, button id=\"undo\" appears and restores the most recently deleted contact",
              "status": "open",
              "attempts": 3,
              "actionAttempts": 6,
              "successfulActions": 6,
              "modelCalls": 9,
              "lastResult": "unknown",
              "unknownReason": "action-budget-exhausted",
              "replayAttempted": false,
              "replayFailed": false,
              "deterministic": false
            },
            {
              "id": "criterion-1785991709109-126ui",
              "text": "Existing features still work: adding contacts with validation and duplicate-email rejection, live search, contact count, detail panel, deleting contacts, persistence across reload",
              "status": "open",
              "attempts": 3,
              "actionAttempts": 18,
              "successfulActions": 18,
              "modelCalls": 9,
              "lastResult": "unknown",
              "unknownReason": "action-budget-exhausted",
              "replayAttempted": false,
              "replayFailed": false,
              "deterministic": false
            }
          ]
        },
        "improvements": {
          "brainstormRounds": 1,
          "shipped": [],
          "backlogRemaining": 8
        }
      }
    },
    {
      "taskId": "hard-modify-crm-features",
      "kind": "modify",
      "run": 3,
      "passed": true,
      "checks": [
        {
          "name": "regression: add updates list and count",
          "ok": true
        },
        {
          "name": "regression: search stays case-insensitive",
          "ok": true
        },
        {
          "name": "regression: empty name rejected with an error, nothing added",
          "ok": true
        },
        {
          "name": "regression: delete works and detail panel still opens",
          "ok": true
        },
        {
          "name": "tags: saved on add and shown as .tag chips in the detail panel",
          "ok": true
        },
        {
          "name": "tag filter: options populate and filtering works",
          "ok": true
        },
        {
          "name": "export: #export-output holds parseable JSON containing the contacts",
          "ok": true
        },
        {
          "name": "import: merges new contacts, skips duplicate emails",
          "ok": true
        },
        {
          "name": "undo: restores the most recently deleted contact",
          "ok": true
        }
      ],
      "endState": "timeout",
      "completedUnproven": false,
      "failedCriteriaEnd": 0,
      "behavioralUnproven": 3,
      "timedOut": true,
      "interventions": 0,
      "providerRetries": 0,
      "steps": 8,
      "wallMs": 1500498,
      "usage": {
        "tokens": 192131,
        "costUsd": 0.1349,
        "calls": 53,
        "byAgent": {
          "mira": {
            "inTokens": 19971,
            "outTokens": 2667,
            "costUsd": 0.013985999999999998,
            "calls": 6
          },
          "forge": {
            "inTokens": 66582,
            "outTokens": 21370,
            "costUsd": 0.065346,
            "calls": 9
          },
          "verity": {
            "inTokens": 64409,
            "outTokens": 13623,
            "costUsd": 0.052639000000000005,
            "calls": 37
          },
          "advisor": {
            "inTokens": 2358,
            "outTokens": 1151,
            "costUsd": 0.0029054999999999997,
            "calls": 1
          }
        }
      },
      "verdict": "fail",
      "criteria": {
        "met": 2,
        "total": 5
      },
      "loop": {
        "planSteps": {
          "done": 3,
          "total": 5
        },
        "selfReviews": 0,
        "criteriaProven": 2,
        "digest": true,
        "shortcuts": 2,
        "completionShortcuts": 0,
        "leanStubs": 15,
        "skillsApplied": 0,
        "skillsSaved": 0,
        "fixAttempts": 2,
        "fixHistory": 2,
        "broadRegen": 0,
        "holisticTried": false,
        "providerRecoveries": 0,
        "structureChecks": true,
        "promptStats": {
          "mira": {
            "calls": 6,
            "trims": 0,
            "maxChars": 17591,
            "budgetChars": 3585254,
            "lastChars": 17591
          },
          "forge": {
            "calls": 10,
            "trims": 0,
            "maxChars": 37444,
            "budgetChars": 3541018,
            "lastChars": 37444
          },
          "verity": {
            "calls": 37,
            "trims": 0,
            "maxChars": 7450,
            "budgetChars": 3585254,
            "lastChars": 7104
          },
          "advisor": {
            "calls": 1,
            "trims": 0,
            "maxChars": 9664,
            "budgetChars": 3570509,
            "lastChars": 9664
          }
        },
        "providerQueue": {
          "waits": 0,
          "totalMs": 0,
          "maxMs": 0
        },
        "ladder": {
          "started": "fast",
          "final": "full",
          "fastBuildRounds": 1,
          "completedFast": false,
          "escalated": true,
          "escalationReason": "the verification pass finished with 2 high-severity finding(s) unresolved",
          "fastUsage": {
            "calls": 11,
            "tokens": 31427,
            "costUsd": 0.021023500000000007,
            "wallMs": 154392
          }
        },
        "verification": {
          "lastRun": {
            "at": 1785994423560,
            "workspaceVersion": 7,
            "verdict": "fail",
            "hardGreen": false,
            "deterministicGreen": false,
            "deterministicChecks": 10,
            "criteriaAttempted": 2,
            "runtimeErrors": 1,
            "highIssues": 2
          },
          "efficiency": {
            "fullPasses": 3,
            "scopedPasses": 1,
            "deferred": 1,
            "staticCriteria": 0,
            "staticDeterministic": 0,
            "staticBatchCalls": 0,
            "staticBatchRetries": 0
          },
          "criteria": [
            {
              "id": "criterion-1785993240910-jqlur",
              "text": "Tags: Add form has input with id=\"contact-tags\" (comma-separated); tags saved with contact; detail panel shows tags as elements with class=\"tag\"; select with id=\"tag-filter\" above list has \"All tags\" (value \"\") plus every distinct tag; selecting a tag filters list to contacts having it",
              "status": "open",
              "attempts": 4,
              "actionAttempts": 11,
              "successfulActions": 11,
              "modelCalls": 12,
              "lastResult": "unknown",
              "unknownReason": "action-budget-exhausted",
              "replayAttempted": false,
              "replayFailed": false,
              "deterministic": false
            },
            {
              "id": "criterion-1785993240910-j4b2v",
              "text": "Export: Button with id=\"export\" writes full contact list as JSON into textarea with id=\"export-output\"",
              "status": "met",
              "attempts": 3,
              "actionAttempts": 0,
              "successfulActions": 0,
              "modelCalls": 0,
              "lastResult": "met",
              "unknownReason": "",
              "replayAttempted": false,
              "replayFailed": false,
              "deterministic": true
            },
            {
              "id": "criterion-1785993240910-iwj1s",
              "text": "Import: Textarea with id=\"import-input\" and button with id=\"import-btn\" parse JSON array of contacts and merge them in, skipping any whose email already exists (case-insensitive)",
              "status": "met",
              "attempts": 3,
              "actionAttempts": 0,
              "successfulActions": 0,
              "modelCalls": 0,
              "lastResult": "met",
              "unknownReason": "",
              "replayAttempted": false,
              "replayFailed": false,
              "deterministic": true
            },
            {
              "id": "criterion-1785993240910-6dgy2",
              "text": "Undo Delete: After a contact is deleted, a button with id=\"undo\" appears and restores the most recently deleted contact",
              "status": "open",
              "attempts": 4,
              "actionAttempts": 9,
              "successfulActions": 9,
              "modelCalls": 10,
              "lastResult": "unknown",
              "unknownReason": "action-failed",
              "replayAttempted": false,
              "replayFailed": false,
              "deterministic": false
            },
            {
              "id": "criterion-1785993240910-yvgst",
              "text": "Existing features still work: adding contacts with validation and duplicate-email rejection, live search, contact count, detail panel, deleting contacts, persistence across reload",
              "status": "open",
              "attempts": 4,
              "actionAttempts": 19,
              "successfulActions": 19,
              "modelCalls": 12,
              "lastResult": "unknown",
              "unknownReason": "action-budget-exhausted",
              "replayAttempted": false,
              "replayFailed": false,
              "deterministic": false
            }
          ]
        },
        "improvements": {
          "brainstormRounds": 0,
          "shipped": [],
          "backlogRemaining": 0
        }
      }
    },
    {
      "taskId": "hard-fix-crm-tangle",
      "kind": "fix",
      "run": 1,
      "passed": true,
      "checks": [
        {
          "name": "regression: add, count and detail still work",
          "ok": true
        },
        {
          "name": "bug 1: search is case-insensitive again",
          "ok": true
        },
        {
          "name": "bug 2: deleting under an active search removes the RIGHT contact",
          "ok": true
        },
        {
          "name": "bug 3: contacts survive a page reload",
          "ok": true
        }
      ],
      "endState": "timeout",
      "completedUnproven": false,
      "failedCriteriaEnd": 0,
      "behavioralUnproven": 2,
      "timedOut": true,
      "interventions": 0,
      "providerRetries": 0,
      "steps": 5,
      "wallMs": 1500073,
      "usage": {
        "tokens": 118552,
        "costUsd": 0.0934,
        "calls": 36,
        "byAgent": {
          "mira": {
            "inTokens": 11595,
            "outTokens": 1187,
            "costUsd": 0.007578,
            "calls": 4
          },
          "forge": {
            "inTokens": 42080,
            "outTokens": 21093,
            "costUsd": 0.05267949999999999,
            "calls": 8
          },
          "verity": {
            "inTokens": 29973,
            "outTokens": 9931,
            "costUsd": 0.029883000000000003,
            "calls": 23
          },
          "advisor": {
            "inTokens": 804,
            "outTokens": 1889,
            "costUsd": 0.0032355,
            "calls": 1
          }
        }
      },
      "verdict": "fail",
      "criteria": {
        "met": 2,
        "total": 4
      },
      "loop": {
        "planSteps": {
          "done": 1,
          "total": 8
        },
        "selfReviews": 0,
        "criteriaProven": 2,
        "digest": false,
        "shortcuts": 2,
        "completionShortcuts": 0,
        "leanStubs": 20,
        "skillsApplied": 0,
        "skillsSaved": 0,
        "fixAttempts": 1,
        "fixHistory": 1,
        "broadRegen": 0,
        "holisticTried": false,
        "providerRecoveries": 0,
        "structureChecks": true,
        "promptStats": {
          "mira": {
            "calls": 4,
            "trims": 0,
            "maxChars": 15289,
            "budgetChars": 3585254,
            "lastChars": 15289
          },
          "forge": {
            "calls": 9,
            "trims": 0,
            "maxChars": 27260,
            "budgetChars": 3541018,
            "lastChars": 27260
          },
          "verity": {
            "calls": 23,
            "trims": 0,
            "maxChars": 5707,
            "budgetChars": 3585254,
            "lastChars": 5217
          },
          "advisor": {
            "calls": 1,
            "trims": 0,
            "maxChars": 3438,
            "budgetChars": 3585254,
            "lastChars": 3438
          }
        },
        "providerQueue": {
          "waits": 0,
          "totalMs": 0,
          "maxMs": 0
        },
        "ladder": {
          "started": "fast",
          "final": "full",
          "fastBuildRounds": 1,
          "completedFast": false,
          "escalated": true,
          "escalationReason": "the verification pass finished with 4 high-severity finding(s) unresolved",
          "fastUsage": {
            "calls": 15,
            "tokens": 43229,
            "costUsd": 0.0340785,
            "wallMs": 355612
          }
        },
        "verification": {
          "lastRun": {
            "at": 1785995655476,
            "workspaceVersion": 4,
            "verdict": "fail",
            "hardGreen": false,
            "deterministicGreen": false,
            "deterministicChecks": 10,
            "criteriaAttempted": 2,
            "runtimeErrors": 1,
            "highIssues": 2
          },
          "efficiency": {
            "fullPasses": 2,
            "scopedPasses": 1,
            "deferred": 0,
            "staticCriteria": 0,
            "staticDeterministic": 0,
            "staticBatchCalls": 0,
            "staticBatchRetries": 0
          },
          "criteria": [
            {
              "id": "criterion-1785994748052-v5ug2",
              "text": "Search finds contacts case-insensitively (typing 'john' matches 'John Doe')",
              "status": "met",
              "attempts": 2,
              "actionAttempts": 10,
              "successfulActions": 10,
              "modelCalls": 4,
              "lastResult": "met",
              "unknownReason": "",
              "replayAttempted": true,
              "replayFailed": false,
              "deterministic": false
            },
            {
              "id": "criterion-1785994748052-dv223",
              "text": "Clicking Delete on a contact during an active search removes exactly that contact (not a different one)",
              "status": "open",
              "attempts": 2,
              "actionAttempts": 11,
              "successfulActions": 11,
              "modelCalls": 6,
              "lastResult": "unknown",
              "unknownReason": "action-budget-exhausted",
              "replayAttempted": false,
              "replayFailed": false,
              "deterministic": false
            },
            {
              "id": "criterion-1785994748052-xidln",
              "text": "Contacts persist after page refresh (data survives reload via localStorage)",
              "status": "open",
              "attempts": 3,
              "actionAttempts": 14,
              "successfulActions": 14,
              "modelCalls": 9,
              "lastResult": "unknown",
              "unknownReason": "action-budget-exhausted",
              "replayAttempted": false,
              "replayFailed": false,
              "deterministic": false
            },
            {
              "id": "criterion-1785994748052-x7018",
              "text": "All existing UI elements and features remain unchanged (no structural changes, no removed features)",
              "status": "met",
              "attempts": 2,
              "actionAttempts": 2,
              "successfulActions": 2,
              "modelCalls": 3,
              "lastResult": "met",
              "unknownReason": "",
              "replayAttempted": true,
              "replayFailed": false,
              "deterministic": false
            }
          ]
        },
        "improvements": {
          "brainstormRounds": 1,
          "shipped": [],
          "backlogRemaining": 7
        }
      }
    },
    {
      "taskId": "hard-fix-crm-tangle",
      "kind": "fix",
      "run": 2,
      "passed": true,
      "checks": [
        {
          "name": "regression: add, count and detail still work",
          "ok": true
        },
        {
          "name": "bug 1: search is case-insensitive again",
          "ok": true
        },
        {
          "name": "bug 2: deleting under an active search removes the RIGHT contact",
          "ok": true
        },
        {
          "name": "bug 3: contacts survive a page reload",
          "ok": true
        }
      ],
      "endState": "timeout",
      "completedUnproven": false,
      "failedCriteriaEnd": 0,
      "behavioralUnproven": 4,
      "timedOut": true,
      "interventions": 0,
      "providerRetries": 0,
      "steps": 5,
      "wallMs": 1590225,
      "usage": {
        "tokens": 144533,
        "costUsd": 0.1197,
        "calls": 47,
        "byAgent": {
          "mira": {
            "inTokens": 15614,
            "outTokens": 2214,
            "costUsd": 0.011127999999999999,
            "calls": 5
          },
          "verity": {
            "inTokens": 48301,
            "outTokens": 15286,
            "costUsd": 0.0470795,
            "calls": 37
          },
          "forge": {
            "inTokens": 30031,
            "outTokens": 33087,
            "costUsd": 0.061494,
            "calls": 5
          }
        }
      },
      "verdict": "fail",
      "criteria": {
        "met": 0,
        "total": 4
      },
      "loop": {
        "planSteps": {
          "done": 2,
          "total": 7
        },
        "selfReviews": 0,
        "criteriaProven": 0,
        "digest": false,
        "shortcuts": 1,
        "completionShortcuts": 0,
        "leanStubs": 9,
        "skillsApplied": 0,
        "skillsSaved": 0,
        "fixAttempts": 2,
        "fixHistory": 2,
        "broadRegen": 0,
        "holisticTried": false,
        "providerRecoveries": 0,
        "structureChecks": true,
        "promptStats": {
          "mira": {
            "calls": 5,
            "trims": 0,
            "maxChars": 14515,
            "budgetChars": 3585254,
            "lastChars": 14515
          },
          "verity": {
            "calls": 37,
            "trims": 0,
            "maxChars": 5702,
            "budgetChars": 3585254,
            "lastChars": 5415
          },
          "forge": {
            "calls": 6,
            "trims": 0,
            "maxChars": 26824,
            "budgetChars": 3541018,
            "lastChars": 25775
          }
        },
        "providerQueue": {
          "waits": 0,
          "totalMs": 0,
          "maxMs": 0
        },
        "ladder": {
          "started": "fast",
          "final": "full",
          "fastBuildRounds": 0,
          "completedFast": false,
          "escalated": true,
          "escalationReason": "automated checks are failing",
          "fastUsage": {
            "calls": 0,
            "tokens": 0,
            "costUsd": 0,
            "wallMs": 0
          }
        },
        "verification": {
          "lastRun": {
            "at": 1785997257046,
            "workspaceVersion": 6,
            "verdict": "fail",
            "hardGreen": false,
            "deterministicGreen": false,
            "deterministicChecks": 8,
            "criteriaAttempted": 0,
            "runtimeErrors": 1,
            "highIssues": 2
          },
          "efficiency": {
            "fullPasses": 3,
            "scopedPasses": 0,
            "deferred": 1,
            "staticCriteria": 0,
            "staticDeterministic": 0,
            "staticBatchCalls": 0,
            "staticBatchRetries": 0
          },
          "criteria": [
            {
              "id": "criterion-1785996236724-v41vu",
              "text": "Search finds contacts case-insensitively (typing 'john' finds 'John Doe')",
              "status": "open",
              "attempts": 3,
              "actionAttempts": 13,
              "successfulActions": 13,
              "modelCalls": 9,
              "lastResult": "unknown",
              "unknownReason": "action-budget-exhausted",
              "replayAttempted": false,
              "replayFailed": false,
              "deterministic": false
            },
            {
              "id": "criterion-1785996236724-t1tet",
              "text": "When a search is active, clicking Delete on a contact removes exactly that contact (not a different one)",
              "status": "open",
              "attempts": 3,
              "actionAttempts": 14,
              "successfulActions": 14,
              "modelCalls": 9,
              "lastResult": "unknown",
              "unknownReason": "action-budget-exhausted",
              "replayAttempted": false,
              "replayFailed": false,
              "deterministic": false
            },
            {
              "id": "criterion-1785996236724-5kulm",
              "text": "Contacts persist after page refresh (stored in localStorage and restored on load)",
              "status": "open",
              "attempts": 3,
              "actionAttempts": 9,
              "successfulActions": 9,
              "modelCalls": 9,
              "lastResult": "unknown",
              "unknownReason": "action-budget-exhausted",
              "replayAttempted": false,
              "replayFailed": false,
              "deterministic": false
            },
            {
              "id": "criterion-1785996236724-zmvd0",
              "text": "Pre-existing features still work: adding contacts, displaying all contacts, clearing search shows all contacts",
              "status": "open",
              "attempts": 3,
              "actionAttempts": 6,
              "successfulActions": 6,
              "modelCalls": 9,
              "lastResult": "unknown",
              "unknownReason": "action-budget-exhausted",
              "replayAttempted": false,
              "replayFailed": false,
              "deterministic": false
            }
          ]
        },
        "improvements": {
          "brainstormRounds": 0,
          "shipped": [],
          "backlogRemaining": 0
        }
      }
    },
    {
      "taskId": "hard-fix-crm-tangle",
      "kind": "fix",
      "run": 3,
      "passed": true,
      "checks": [
        {
          "name": "regression: add, count and detail still work",
          "ok": true
        },
        {
          "name": "bug 1: search is case-insensitive again",
          "ok": true
        },
        {
          "name": "bug 2: deleting under an active search removes the RIGHT contact",
          "ok": true
        },
        {
          "name": "bug 3: contacts survive a page reload",
          "ok": true
        }
      ],
      "endState": "timeout",
      "completedUnproven": false,
      "failedCriteriaEnd": 1,
      "behavioralUnproven": 3,
      "timedOut": true,
      "interventions": 0,
      "providerRetries": 0,
      "steps": 5,
      "wallMs": 1500248,
      "usage": {
        "tokens": 121966,
        "costUsd": 0.0998,
        "calls": 40,
        "byAgent": {
          "mira": {
            "inTokens": 9302,
            "outTokens": 1019,
            "costUsd": 0.0061795,
            "calls": 3
          },
          "forge": {
            "inTokens": 33416,
            "outTokens": 27459,
            "costUsd": 0.0578965,
            "calls": 6
          },
          "verity": {
            "inTokens": 40425,
            "outTokens": 10345,
            "costUsd": 0.03572999999999999,
            "calls": 31
          }
        }
      },
      "verdict": "fail",
      "criteria": {
        "met": 1,
        "total": 4
      },
      "loop": {
        "planSteps": {
          "done": 1,
          "total": 6
        },
        "selfReviews": 0,
        "criteriaProven": 1,
        "digest": false,
        "shortcuts": 2,
        "completionShortcuts": 0,
        "leanStubs": 14,
        "skillsApplied": 0,
        "skillsSaved": 0,
        "fixAttempts": 1,
        "fixHistory": 1,
        "broadRegen": 0,
        "holisticTried": false,
        "providerRecoveries": 0,
        "structureChecks": true,
        "promptStats": {
          "mira": {
            "calls": 3,
            "trims": 0,
            "maxChars": 15192,
            "budgetChars": 3585254,
            "lastChars": 15192
          },
          "forge": {
            "calls": 7,
            "trims": 0,
            "maxChars": 28686,
            "budgetChars": 3541018,
            "lastChars": 27280
          },
          "verity": {
            "calls": 31,
            "trims": 0,
            "maxChars": 5629,
            "budgetChars": 3585254,
            "lastChars": 5396
          }
        },
        "providerQueue": {
          "waits": 0,
          "totalMs": 0,
          "maxMs": 0
        },
        "ladder": {
          "started": "fast",
          "final": "full",
          "fastBuildRounds": 1,
          "completedFast": false,
          "escalated": true,
          "escalationReason": "the verification pass finished with 2 high-severity finding(s) unresolved",
          "fastUsage": {
            "calls": 15,
            "tokens": 48260,
            "costUsd": 0.041391,
            "wallMs": 625338
          }
        },
        "verification": {
          "lastRun": {
            "at": 1785999293265,
            "workspaceVersion": 5,
            "verdict": "fail",
            "hardGreen": false,
            "deterministicGreen": false,
            "deterministicChecks": 10,
            "criteriaAttempted": 2,
            "runtimeErrors": 1,
            "highIssues": 4
          },
          "efficiency": {
            "fullPasses": 2,
            "scopedPasses": 1,
            "deferred": 0,
            "staticCriteria": 0,
            "staticDeterministic": 0,
            "staticBatchCalls": 0,
            "staticBatchRetries": 0
          },
          "criteria": [
            {
              "id": "criterion-1785997880101-1f4a2",
              "text": "Search finds contacts case-insensitively (typing 'john' matches 'John Doe')",
              "status": "met",
              "attempts": 2,
              "actionAttempts": 10,
              "successfulActions": 10,
              "modelCalls": 4,
              "lastResult": "met",
              "unknownReason": "",
              "replayAttempted": true,
              "replayFailed": false,
              "deterministic": false
            },
            {
              "id": "criterion-1785997880101-flxov",
              "text": "Clicking Delete on a search result removes exactly the contact that was clicked, not a different one",
              "status": "open",
              "attempts": 3,
              "actionAttempts": 17,
              "successfulActions": 17,
              "modelCalls": 9,
              "lastResult": "unknown",
              "unknownReason": "action-budget-exhausted",
              "replayAttempted": false,
              "replayFailed": false,
              "deterministic": false
            },
            {
              "id": "criterion-1785997880101-ky50x",
              "text": "Contacts persist in localStorage and reappear after page refresh",
              "status": "open",
              "attempts": 3,
              "actionAttempts": 9,
              "successfulActions": 9,
              "modelCalls": 9,
              "lastResult": "unknown",
              "unknownReason": "action-budget-exhausted",
              "replayAttempted": false,
              "replayFailed": false,
              "deterministic": false
            },
            {
              "id": "criterion-1785997880101-z68l3",
              "text": "All pre-existing features still work: adding contacts, viewing all contacts, clearing search",
              "status": "failed",
              "attempts": 3,
              "actionAttempts": 10,
              "successfulActions": 10,
              "modelCalls": 9,
              "lastResult": "failed",
              "unknownReason": "",
              "replayAttempted": false,
              "replayFailed": false,
              "deterministic": false
            }
          ]
        },
        "improvements": {
          "brainstormRounds": 0,
          "shipped": [],
          "backlogRemaining": 0
        }
      }
    },
    {
      "taskId": "vhard-refactor-recipe-monolith",
      "kind": "refactor",
      "run": 1,
      "passed": true,
      "checks": [
        {
          "name": "structure: at least 4 JS files and no giant file left",
          "ok": true
        },
        {
          "name": "loads without page errors",
          "ok": true
        },
        {
          "name": "behavior: add recipe updates list and stats; bad time rejected",
          "ok": true
        },
        {
          "name": "behavior: ingredients + scaling math (4 → 10 servings, 2.5×)",
          "ok": true
        },
        {
          "name": "behavior: shopping list merges duplicates instead of double-listing",
          "ok": true
        },
        {
          "name": "behavior: favorites toggle + stats count",
          "ok": true
        },
        {
          "name": "behavior: search + category filter + time sort still compose",
          "ok": true
        },
        {
          "name": "behavior: notes save and persist; recipes survive reload",
          "ok": true
        },
        {
          "name": "new feature: Duplicate creates a full copy named \"(copy)\"",
          "ok": true
        },
        {
          "name": "new feature: #clear-shopping empties the shopping list",
          "ok": true
        }
      ],
      "endState": "timeout",
      "completedUnproven": false,
      "failedCriteriaEnd": 0,
      "behavioralUnproven": 5,
      "timedOut": true,
      "interventions": 0,
      "providerRetries": 0,
      "steps": 7,
      "wallMs": 1873005,
      "usage": {
        "tokens": 178905,
        "costUsd": 0.1196,
        "calls": 50,
        "byAgent": {
          "mira": {
            "inTokens": 17003,
            "outTokens": 3910,
            "costUsd": 0.0143665,
            "calls": 5
          },
          "forge": {
            "inTokens": 18211,
            "outTokens": 5714,
            "costUsd": 0.006266,
            "calls": 2
          },
          "verity": {
            "inTokens": 102105,
            "outTokens": 31962,
            "costUsd": 0.0989955,
            "calls": 43
          }
        }
      },
      "verdict": "incomplete",
      "criteria": {
        "met": 3,
        "total": 8
      },
      "loop": {
        "planSteps": {
          "done": 9,
          "total": 11
        },
        "selfReviews": 0,
        "criteriaProven": 1,
        "digest": false,
        "shortcuts": 1,
        "completionShortcuts": 0,
        "leanStubs": 0,
        "skillsApplied": 0,
        "skillsSaved": 0,
        "fixAttempts": 0,
        "fixHistory": 0,
        "broadRegen": 0,
        "holisticTried": false,
        "providerRecoveries": 0,
        "structureChecks": true,
        "promptStats": {
          "mira": {
            "calls": 6,
            "trims": 0,
            "maxChars": 16052,
            "budgetChars": 3585254,
            "lastChars": 15860
          },
          "forge": {
            "calls": 2,
            "trims": 0,
            "maxChars": 36656,
            "budgetChars": 3541018,
            "lastChars": 36656
          },
          "verity": {
            "calls": 43,
            "trims": 0,
            "maxChars": 27297,
            "budgetChars": 3585254,
            "lastChars": 24963
          }
        },
        "providerQueue": {
          "waits": 0,
          "totalMs": 0,
          "maxMs": 0
        },
        "ladder": {
          "started": "fast",
          "final": "full",
          "fastBuildRounds": 1,
          "completedFast": false,
          "escalated": true,
          "escalationReason": "the verification pass finished with 1 high-severity finding(s) unresolved",
          "fastUsage": {
            "calls": 16,
            "tokens": 44799,
            "costUsd": 0.03134050000000001,
            "wallMs": 338192
          }
        },
        "verification": {
          "lastRun": {
            "at": 1786001196095,
            "workspaceVersion": 8,
            "verdict": "incomplete",
            "hardGreen": false,
            "deterministicGreen": true,
            "deterministicChecks": 10,
            "criteriaAttempted": 0,
            "runtimeErrors": 0,
            "highIssues": 0
          },
          "efficiency": {
            "fullPasses": 5,
            "scopedPasses": 1,
            "deferred": 0,
            "staticCriteria": 5,
            "staticDeterministic": 0,
            "staticBatchCalls": 4,
            "staticBatchRetries": 2
          },
          "criteria": [
            {
              "id": "criterion-1785999383766-u2a72",
              "text": "app.js is split into at least 4 separate JS modules with clear responsibilities (e.g., state/persistence, recipe logic, shopping list, rendering, event wiring)",
              "status": "open",
              "attempts": 2,
              "actionAttempts": 2,
              "successfulActions": 2,
              "modelCalls": 4,
              "lastResult": "unknown",
              "unknownReason": "model-returned-unknown",
              "replayAttempted": false,
              "replayFailed": false,
              "deterministic": false
            },
            {
              "id": "criterion-1785999383766-qrypu",
              "text": "Modules are loaded from index.html via <script type=\"module\"> tags",
              "status": "open",
              "attempts": 2,
              "actionAttempts": 2,
              "successfulActions": 2,
              "modelCalls": 4,
              "lastResult": "unknown",
              "unknownReason": "action-budget-exhausted",
              "replayAttempted": false,
              "replayFailed": false,
              "deterministic": false
            },
            {
              "id": "criterion-1785999383766-yqknp",
              "text": "Every existing element id in index.html remains exactly unchanged",
              "status": "met",
              "attempts": 1,
              "actionAttempts": 0,
              "successfulActions": 0,
              "modelCalls": 1,
              "lastResult": "met",
              "unknownReason": "",
              "replayAttempted": false,
              "replayFailed": false,
              "deterministic": false
            },
            {
              "id": "criterion-1785999383766-qoeb8",
              "text": "Adding recipes with validation still works",
              "status": "open",
              "attempts": 3,
              "actionAttempts": 6,
              "successfulActions": 6,
              "modelCalls": 9,
              "lastResult": "unknown",
              "unknownReason": "action-budget-exhausted",
              "replayAttempted": false,
              "replayFailed": false,
              "deterministic": false
            },
            {
              "id": "criterion-1785999383766-tasi5",
              "text": "Selecting a recipe still works",
              "status": "open",
              "attempts": 2,
              "actionAttempts": 5,
              "successfulActions": 5,
              "modelCalls": 6,
              "lastResult": "unknown",
              "unknownReason": "action-budget-exhausted",
              "replayAttempted": false,
              "replayFailed": false,
              "deterministic": false
            },
            {
              "id": "criterion-1785999383766-o5x4x",
              "text": "Adding ingredients to a recipe still works",
              "status": "open",
              "attempts": 2,
              "actionAttempts": 8,
              "successfulActions": 8,
              "modelCalls": 6,
              "lastResult": "unknown",
              "unknownReason": "action-budget-exhausted",
              "replayAttempted": false,
              "replayFailed": false,
              "deterministic": false
            },
            {
              "id": "criterion-1785999383766-5vitn",
              "text": "Serving-size scaling still works",
              "status": "met",
              "attempts": 2,
              "actionAttempts": 0,
              "successfulActions": 0,
              "modelCalls": 4,
              "lastResult": "unknown",
              "unknownReason": "static-batch-no-verdict",
              "replayAttempted": false,
              "replayFailed": false,
              "deterministic": false
            },
            {
              "id": "criterion-1785999383766-d8rr2",
              "text": "Shopping list with duplicate ingredient merging still works",
              "status": "met",
              "attempts": 2,
              "actionAttempts": 0,
              "successfulActions": 0,
              "modelCalls": 4,
              "lastResult": "unknown",
              "unknownReason": "static-batch-no-verdict",
              "replayAttempted": false,
              "replayFailed": false,
              "deterministic": false
            }
          ]
        },
        "improvements": {
          "brainstormRounds": 0,
          "shipped": [],
          "backlogRemaining": 0
        }
      }
    },
    {
      "taskId": "vhard-refactor-recipe-monolith",
      "kind": "refactor",
      "run": 2,
      "passed": false,
      "checks": [
        {
          "name": "structure: at least 4 JS files and no giant file left",
          "ok": true
        },
        {
          "name": "loads without page errors",
          "ok": true
        },
        {
          "name": "behavior: add recipe updates list and stats; bad time rejected",
          "ok": true
        },
        {
          "name": "behavior: ingredients + scaling math (4 → 10 servings, 2.5×)",
          "ok": false,
          "error": "scaled quantity wrong — #ing-list shows \"\" (expected 10 pcs Eggs)"
        },
        {
          "name": "behavior: shopping list merges duplicates instead of double-listing",
          "ok": false,
          "error": "expected 1 merged line, found 0: "
        },
        {
          "name": "behavior: favorites toggle + stats count",
          "ok": true
        },
        {
          "name": "behavior: search + category filter + time sort still compose",
          "ok": true
        },
        {
          "name": "behavior: notes save and persist; recipes survive reload",
          "ok": false,
          "error": "note lost after reload"
        },
        {
          "name": "new feature: Duplicate creates a full copy named \"(copy)\"",
          "ok": false,
          "error": "the duplicate lost the original's ingredients"
        },
        {
          "name": "new feature: #clear-shopping empties the shopping list",
          "ok": true
        }
      ],
      "endState": "timeout",
      "completedUnproven": false,
      "failedCriteriaEnd": 0,
      "behavioralUnproven": 0,
      "timedOut": true,
      "interventions": 0,
      "providerRetries": 0,
      "steps": 15,
      "wallMs": 1800820,
      "usage": {
        "tokens": 217657,
        "costUsd": 0.1518,
        "calls": 39,
        "byAgent": {
          "mira": {
            "inTokens": 52273,
            "outTokens": 12477,
            "costUsd": 0.044851999999999996,
            "calls": 15
          },
          "forge": {
            "inTokens": 32901,
            "outTokens": 11530,
            "costUsd": 0.0337455,
            "calls": 4
          },
          "sentinel": {
            "inTokens": 179,
            "outTokens": 288,
            "costUsd": 0.0005214999999999999,
            "calls": 1
          },
          "verity": {
            "inTokens": 88671,
            "outTokens": 19338,
            "costUsd": 0.0726339,
            "calls": 19
          }
        }
      },
      "verdict": "incomplete",
      "criteria": {
        "met": 1,
        "total": 1
      },
      "loop": {
        "planSteps": null,
        "selfReviews": 0,
        "criteriaProven": 1,
        "digest": true,
        "shortcuts": 2,
        "completionShortcuts": 0,
        "leanStubs": 7,
        "skillsApplied": 0,
        "skillsSaved": 0,
        "fixAttempts": 1,
        "fixHistory": 1,
        "broadRegen": 0,
        "holisticTried": false,
        "providerRecoveries": 0,
        "structureChecks": true,
        "promptStats": {
          "mira": {
            "calls": 15,
            "trims": 0,
            "maxChars": 18335,
            "budgetChars": 3585254,
            "lastChars": 18335
          },
          "forge": {
            "calls": 4,
            "trims": 0,
            "maxChars": 38001,
            "budgetChars": 3541018,
            "lastChars": 38001
          },
          "sentinel": {
            "calls": 1,
            "trims": 0,
            "maxChars": 679,
            "budgetChars": 3585254,
            "lastChars": 679
          },
          "verity": {
            "calls": 21,
            "trims": 0,
            "maxChars": 25401,
            "budgetChars": 3585254,
            "lastChars": 24964
          }
        },
        "providerQueue": {
          "waits": 0,
          "totalMs": 0,
          "maxMs": 0
        },
        "ladder": {
          "started": "fast",
          "final": "full",
          "fastBuildRounds": 1,
          "completedFast": false,
          "escalated": true,
          "escalationReason": "the verification pass finished with 2 high-severity finding(s) unresolved",
          "fastUsage": {
            "calls": 4,
            "tokens": 17230,
            "costUsd": 0.009814400000000001,
            "wallMs": 202403
          }
        },
        "verification": {
          "lastRun": {
            "at": 1786002945636,
            "workspaceVersion": 10,
            "verdict": "incomplete",
            "hardGreen": false,
            "deterministicGreen": true,
            "deterministicChecks": 10,
            "criteriaAttempted": 0,
            "runtimeErrors": 0,
            "highIssues": 0
          },
          "efficiency": {
            "fullPasses": 13,
            "scopedPasses": 1,
            "deferred": 0,
            "staticCriteria": 0,
            "staticDeterministic": 0,
            "staticBatchCalls": 0,
            "staticBatchRetries": 0
          },
          "criteria": [
            {
              "id": "criterion-1786001215302-rv7f7",
              "text": "Literal user contract: preserve exactly class=\"dup-recipe\", id=\"clear-shopping\", \"dup-recipe\", \"<original name> (copy)\", \"clear-shopping\".",
              "status": "met",
              "attempts": 3,
              "actionAttempts": 14,
              "successfulActions": 8,
              "modelCalls": 7,
              "lastResult": "unknown",
              "unknownReason": "action-budget-exhausted",
              "replayAttempted": false,
              "replayFailed": false,
              "deterministic": false
            }
          ]
        },
        "improvements": {
          "brainstormRounds": 0,
          "shipped": [],
          "backlogRemaining": 0
        }
      }
    },
    {
      "taskId": "vhard-refactor-recipe-monolith",
      "kind": "refactor",
      "run": 3,
      "passed": true,
      "checks": [
        {
          "name": "structure: at least 4 JS files and no giant file left",
          "ok": true
        },
        {
          "name": "loads without page errors",
          "ok": true
        },
        {
          "name": "behavior: add recipe updates list and stats; bad time rejected",
          "ok": true
        },
        {
          "name": "behavior: ingredients + scaling math (4 → 10 servings, 2.5×)",
          "ok": true
        },
        {
          "name": "behavior: shopping list merges duplicates instead of double-listing",
          "ok": true
        },
        {
          "name": "behavior: favorites toggle + stats count",
          "ok": true
        },
        {
          "name": "behavior: search + category filter + time sort still compose",
          "ok": true
        },
        {
          "name": "behavior: notes save and persist; recipes survive reload",
          "ok": true
        },
        {
          "name": "new feature: Duplicate creates a full copy named \"(copy)\"",
          "ok": true
        },
        {
          "name": "new feature: #clear-shopping empties the shopping list",
          "ok": true
        }
      ],
      "endState": "timeout",
      "completedUnproven": false,
      "failedCriteriaEnd": 0,
      "behavioralUnproven": 2,
      "timedOut": true,
      "interventions": 0,
      "providerRetries": 0,
      "steps": 6,
      "wallMs": 1800866,
      "usage": {
        "tokens": 192736,
        "costUsd": 0.1435,
        "calls": 49,
        "byAgent": {
          "mira": {
            "inTokens": 16592,
            "outTokens": 3205,
            "costUsd": 0.013103500000000002,
            "calls": 5
          },
          "forge": {
            "inTokens": 42170,
            "outTokens": 20827,
            "costUsd": 0.052325500000000004,
            "calls": 5
          },
          "verity": {
            "inTokens": 85774,
            "outTokens": 20574,
            "costUsd": 0.073748,
            "calls": 38
          },
          "advisor": {
            "inTokens": 1110,
            "outTokens": 2484,
            "costUsd": 0.004281,
            "calls": 1
          }
        }
      },
      "verdict": "incomplete",
      "criteria": {
        "met": 4,
        "total": 6
      },
      "loop": {
        "planSteps": {
          "done": 9,
          "total": 12
        },
        "selfReviews": 0,
        "criteriaProven": 3,
        "digest": true,
        "shortcuts": 2,
        "completionShortcuts": 0,
        "leanStubs": 7,
        "skillsApplied": 0,
        "skillsSaved": 0,
        "fixAttempts": 1,
        "fixHistory": 1,
        "broadRegen": 0,
        "holisticTried": false,
        "providerRecoveries": 0,
        "structureChecks": true,
        "promptStats": {
          "mira": {
            "calls": 5,
            "trims": 0,
            "maxChars": 18383,
            "budgetChars": 3585254,
            "lastChars": 18383
          },
          "forge": {
            "calls": 5,
            "trims": 0,
            "maxChars": 37719,
            "budgetChars": 3541018,
            "lastChars": 37719
          },
          "verity": {
            "calls": 39,
            "trims": 0,
            "maxChars": 25882,
            "budgetChars": 3585254,
            "lastChars": 24554
          },
          "advisor": {
            "calls": 1,
            "trims": 0,
            "maxChars": 4763,
            "budgetChars": 3585254,
            "lastChars": 4763
          }
        },
        "providerQueue": {
          "waits": 0,
          "totalMs": 0,
          "maxMs": 0
        },
        "ladder": {
          "started": "fast",
          "final": "full",
          "fastBuildRounds": 1,
          "completedFast": false,
          "escalated": true,
          "escalationReason": "the verification pass finished with 2 high-severity finding(s) unresolved",
          "fastUsage": {
            "calls": 10,
            "tokens": 26042,
            "costUsd": 0.016870000000000003,
            "wallMs": 184228
          }
        },
        "verification": {
          "lastRun": {
            "at": 1786004727324,
            "workspaceVersion": 12,
            "verdict": "incomplete",
            "hardGreen": false,
            "deterministicGreen": true,
            "deterministicChecks": 10,
            "criteriaAttempted": 0,
            "runtimeErrors": 0,
            "highIssues": 0
          },
          "efficiency": {
            "fullPasses": 4,
            "scopedPasses": 1,
            "deferred": 0,
            "staticCriteria": 6,
            "staticDeterministic": 2,
            "staticBatchCalls": 4,
            "staticBatchRetries": 2
          },
          "criteria": [
            {
              "id": "criterion-1786003047101-fsy6g",
              "text": "The app loads from index.html using at least four separate JavaScript modules with clear responsibilities (state/persistence, recipe logic, shopping list, rendering, event wiring)",
              "status": "open",
              "attempts": 4,
              "actionAttempts": 4,
              "successfulActions": 4,
              "modelCalls": 8,
              "lastResult": "unknown",
              "unknownReason": "model-returned-unknown",
              "replayAttempted": false,
              "replayFailed": false,
              "deterministic": false
            },
            {
              "id": "criterion-1786003047101-b60es",
              "text": "Every recipe row has a Duplicate button with class=\"dup-recipe\" that creates a full copy of the recipe (including ingredients) named \"<original name> (copy)\"",
              "status": "met",
              "attempts": 4,
              "actionAttempts": 4,
              "successfulActions": 4,
              "modelCalls": 10,
              "lastResult": "unknown",
              "unknownReason": "action-budget-exhausted",
              "replayAttempted": false,
              "replayFailed": false,
              "deterministic": false
            },
            {
              "id": "criterion-1786003047101-d9doo",
              "text": "A button with id=\"clear-shopping\" exists under the shopping list that empties it",
              "status": "met",
              "attempts": 2,
              "actionAttempts": 0,
              "successfulActions": 0,
              "modelCalls": 0,
              "lastResult": "met",
              "unknownReason": "",
              "replayAttempted": false,
              "replayFailed": false,
              "deterministic": true
            },
            {
              "id": "criterion-1786003047101-jjgts",
              "text": "All existing functionality still works: adding recipes with validation, selecting a recipe, adding ingredients, serving-size scaling, shopping list with duplicate merging, favorites, search, category filter, sorting, notes, stats line, deleting recipes, and persistence across reload",
              "status": "open",
              "attempts": 4,
              "actionAttempts": 20,
              "successfulActions": 19,
              "modelCalls": 11,
              "lastResult": "unknown",
              "unknownReason": "action-budget-exhausted",
              "replayAttempted": false,
              "replayFailed": false,
              "deterministic": false
            },
            {
              "id": "criterion-1786003047101-lt7h0",
              "text": "Every existing element id in index.html remains exactly as it is",
              "status": "met",
              "attempts": 2,
              "actionAttempts": 0,
              "successfulActions": 0,
              "modelCalls": 2,
              "lastResult": "met",
              "unknownReason": "",
              "replayAttempted": false,
              "replayFailed": false,
              "deterministic": false
            },
            {
              "id": "criterion-1786003047101-oahq0",
              "text": "The app passes type-check, lint, and build with no errors",
              "status": "met",
              "attempts": 0,
              "actionAttempts": 0,
              "successfulActions": 0,
              "modelCalls": 0,
              "lastResult": "met",
              "unknownReason": "",
              "replayAttempted": false,
              "replayFailed": false,
              "deterministic": true
            }
          ]
        },
        "improvements": {
          "brainstormRounds": 1,
          "shipped": [],
          "backlogRemaining": 7
        }
      }
    },
    {
      "taskId": "vhard-build-flashcards-pro",
      "kind": "build",
      "run": 1,
      "passed": false,
      "checks": [
        {
          "name": "index.html exists",
          "ok": true
        },
        {
          "name": "loads without page errors",
          "ok": true
        },
        {
          "name": "decks and cards: add, select, count",
          "ok": true
        },
        {
          "name": "negative path: empty front rejected, nothing added",
          "ok": true
        },
        {
          "name": "review flow: front shown, back hidden until reveal",
          "ok": false,
          "error": "back visible before reveal"
        },
        {
          "name": "scheduling: easy → due in (new box) sessions; hard → due next session",
          "ok": true
        },
        {
          "name": "stats line stays in the exact \"N cards · M due\" shape",
          "ok": true
        },
        {
          "name": "export: parseable JSON with decks and cards",
          "ok": true
        },
        {
          "name": "persistence: deck, cards, boxes and session counter survive reload",
          "ok": true
        }
      ],
      "endState": "timeout",
      "completedUnproven": false,
      "failedCriteriaEnd": 0,
      "behavioralUnproven": 4,
      "timedOut": true,
      "interventions": 0,
      "providerRetries": 0,
      "steps": 4,
      "wallMs": 1800374,
      "usage": {
        "tokens": 172043,
        "costUsd": 0.1347,
        "calls": 50,
        "byAgent": {
          "mira": {
            "inTokens": 10489,
            "outTokens": 2719,
            "costUsd": 0.009323000000000001,
            "calls": 3
          },
          "forge": {
            "inTokens": 23006,
            "outTokens": 19860,
            "costUsd": 0.041293,
            "calls": 5
          },
          "verity": {
            "inTokens": 88469,
            "outTokens": 23583,
            "costUsd": 0.079609,
            "calls": 41
          },
          "advisor": {
            "inTokens": 1448,
            "outTokens": 2469,
            "costUsd": 0.0044275,
            "calls": 1
          }
        }
      },
      "verdict": "fail",
      "criteria": {
        "met": 4,
        "total": 8
      },
      "loop": {
        "planSteps": {
          "done": 2,
          "total": 9
        },
        "selfReviews": 1,
        "criteriaProven": 4,
        "digest": false,
        "shortcuts": 0,
        "completionShortcuts": 0,
        "leanStubs": 0,
        "skillsApplied": 0,
        "skillsSaved": 0,
        "fixAttempts": 0,
        "fixHistory": 0,
        "broadRegen": 0,
        "holisticTried": false,
        "providerRecoveries": 0,
        "structureChecks": false,
        "promptStats": {
          "mira": {
            "calls": 3,
            "trims": 0,
            "maxChars": 17534,
            "budgetChars": 3585254,
            "lastChars": 17534
          },
          "forge": {
            "calls": 6,
            "trims": 0,
            "maxChars": 37001,
            "budgetChars": 3541018,
            "lastChars": 37001
          },
          "verity": {
            "calls": 41,
            "trims": 0,
            "maxChars": 30428,
            "budgetChars": 3570509,
            "lastChars": 26224
          },
          "advisor": {
            "calls": 1,
            "trims": 0,
            "maxChars": 5776,
            "budgetChars": 3585254,
            "lastChars": 5776
          }
        },
        "providerQueue": {
          "waits": 0,
          "totalMs": 0,
          "maxMs": 0
        },
        "ladder": {
          "started": "fast",
          "final": "full",
          "fastBuildRounds": 2,
          "completedFast": false,
          "escalated": true,
          "escalationReason": "one full verification pass could not prove every criterion",
          "fastUsage": {
            "calls": 27,
            "tokens": 88862,
            "costUsd": 0.065935,
            "wallMs": 794660
          }
        },
        "verification": {
          "lastRun": {
            "at": 1786006476909,
            "workspaceVersion": 2,
            "verdict": "fail",
            "hardGreen": false,
            "deterministicGreen": true,
            "deterministicChecks": 4,
            "criteriaAttempted": 0,
            "runtimeErrors": 0,
            "highIssues": 3
          },
          "efficiency": {
            "fullPasses": 2,
            "scopedPasses": 0,
            "deferred": 1,
            "staticCriteria": 0,
            "staticDeterministic": 0,
            "staticBatchCalls": 0,
            "staticBatchRetries": 0
          },
          "criteria": [
            {
              "id": "criterion-1786004863117-r97as",
              "text": "DECKS: typing a name in #deck-name and clicking #add-deck adds the deck to #deck-list; clicking a deck selects it and shows its name in #current-deck",
              "status": "met",
              "attempts": 1,
              "actionAttempts": 4,
              "successfulActions": 4,
              "modelCalls": 3,
              "lastResult": "met",
              "unknownReason": "",
              "replayAttempted": false,
              "replayFailed": false,
              "deterministic": false
            },
            {
              "id": "criterion-1786004863117-mq2r2",
              "text": "CARDS: with a deck selected, entering text in #card-front and #card-back and clicking #add-card adds a card; #card-count shows \"N cards\"; empty #card-front is rejected with a message in #card-error and adds nothing",
              "status": "open",
              "attempts": 2,
              "actionAttempts": 10,
              "successfulActions": 10,
              "modelCalls": 6,
              "lastResult": "unknown",
              "unknownReason": "action-budget-exhausted",
              "replayAttempted": false,
              "replayFailed": false,
              "deterministic": false
            },
            {
              "id": "criterion-1786004863117-c13ap",
              "text": "SCHEDULING: each card has box (1–3) and due-session; #session-num shows current session starting at 1; a card is due when due-session ≤ current session; #due-count shows number of due cards in selected deck",
              "status": "met",
              "attempts": 1,
              "actionAttempts": 5,
              "successfulActions": 5,
              "modelCalls": 3,
              "lastResult": "met",
              "unknownReason": "",
              "replayAttempted": false,
              "replayFailed": false,
              "deterministic": false
            },
            {
              "id": "criterion-1786004863117-gq7ar",
              "text": "REVIEW: clicking #start-review shows due cards one at a time; front appears in #review-front, back hidden until #reveal clicked then appears in #review-back; #rate-easy moves card up one box (max 3) and sets due-session = current session + new box; #rate-hard resets card to box 1 and due-session = current session + 1;",
              "status": "open",
              "attempts": 2,
              "actionAttempts": 11,
              "successfulActions": 11,
              "modelCalls": 6,
              "lastResult": "unknown",
              "unknownReason": "action-budget-exhausted",
              "replayAttempted": false,
              "replayFailed": false,
              "deterministic": false
            },
            {
              "id": "criterion-1786004863117-lqqfh",
              "text": "STATS: #deck-stats always shows \"N cards · M due\" for the selected deck",
              "status": "met",
              "attempts": 1,
              "actionAttempts": 5,
              "successfulActions": 5,
              "modelCalls": 3,
              "lastResult": "met",
              "unknownReason": "",
              "replayAttempted": false,
              "replayFailed": false,
              "deterministic": false
            },
            {
              "id": "criterion-1786004863117-ys96o",
              "text": "EXPORT: clicking #export-btn writes all decks and cards as JSON into #export-output",
              "status": "open",
              "attempts": 2,
              "actionAttempts": 12,
              "successfulActions": 12,
              "modelCalls": 6,
              "lastResult": "unknown",
              "unknownReason": "action-budget-exhausted",
              "replayAttempted": false,
              "replayFailed": false,
              "deterministic": false
            },
            {
              "id": "criterion-1786004863117-l0hdd",
              "text": "PERSISTENCE: all data (decks, cards, boxes, due-sessions, session counter) survives reload via localStorage",
              "status": "open",
              "attempts": 2,
              "actionAttempts": 11,
              "successfulActions": 11,
              "modelCalls": 6,
              "lastResult": "unknown",
              "unknownReason": "action-budget-exhausted",
              "replayAttempted": false,
              "replayFailed": false,
              "deterministic": false
            },
            {
              "id": "criterion-1786004863117-l642e",
              "text": "Literal user contract: preserve exactly id=\"deck-name\", id=\"add-deck\", id=\"deck-list\", id=\"current-deck\", id=\"card-front\", id=\"card-back\", id=\"add-card\", id=\"card-count\", id=\"card-error\", id=\"session-num\", id=\"due-count\", id=\"start-review\".",
              "status": "met",
              "attempts": 1,
              "actionAttempts": 1,
              "successfulActions": 1,
              "modelCalls": 2,
              "lastResult": "met",
              "unknownReason": "",
              "replayAttempted": false,
              "replayFailed": false,
              "deterministic": false
            }
          ]
        },
        "improvements": {
          "brainstormRounds": 1,
          "shipped": [],
          "backlogRemaining": 7
        }
      }
    },
    {
      "taskId": "vhard-build-flashcards-pro",
      "kind": "build",
      "run": 2,
      "passed": false,
      "checks": [
        {
          "name": "index.html exists",
          "ok": true
        },
        {
          "name": "loads without page errors",
          "ok": true
        },
        {
          "name": "decks and cards: add, select, count",
          "ok": true
        },
        {
          "name": "negative path: empty front rejected, nothing added",
          "ok": true
        },
        {
          "name": "review flow: front shown, back hidden until reveal",
          "ok": false,
          "error": "back visible before reveal"
        },
        {
          "name": "scheduling: easy → due in (new box) sessions; hard → due next session",
          "ok": true
        },
        {
          "name": "stats line stays in the exact \"N cards · M due\" shape",
          "ok": true
        },
        {
          "name": "export: parseable JSON with decks and cards",
          "ok": true
        },
        {
          "name": "persistence: deck, cards, boxes and session counter survive reload",
          "ok": true
        }
      ],
      "endState": "timeout",
      "completedUnproven": false,
      "failedCriteriaEnd": 0,
      "behavioralUnproven": 3,
      "timedOut": true,
      "interventions": 0,
      "providerRetries": 0,
      "steps": 4,
      "wallMs": 1800854,
      "usage": {
        "tokens": 146759,
        "costUsd": 0.1078,
        "calls": 53,
        "byAgent": {
          "mira": {
            "inTokens": 6522,
            "outTokens": 1344,
            "costUsd": 0.0052770000000000004,
            "calls": 2
          },
          "forge": {
            "inTokens": 26175,
            "outTokens": 17158,
            "costUsd": 0.0388245,
            "calls": 6
          },
          "verity": {
            "inTokens": 76655,
            "outTokens": 13641,
            "costUsd": 0.05878899999999999,
            "calls": 43
          },
          "advisor": {
            "inTokens": 3014,
            "outTokens": 2250,
            "costUsd": 0.004881999999999999,
            "calls": 2
          }
        }
      },
      "verdict": "fail",
      "criteria": {
        "met": 4,
        "total": 8
      },
      "loop": {
        "planSteps": {
          "done": 1,
          "total": 9
        },
        "selfReviews": 1,
        "criteriaProven": 4,
        "digest": false,
        "shortcuts": 1,
        "completionShortcuts": 0,
        "leanStubs": 1,
        "skillsApplied": 0,
        "skillsSaved": 0,
        "fixAttempts": 0,
        "fixHistory": 0,
        "broadRegen": 0,
        "holisticTried": false,
        "providerRecoveries": 0,
        "structureChecks": false,
        "promptStats": {
          "mira": {
            "calls": 2,
            "trims": 0,
            "maxChars": 16962,
            "budgetChars": 3585254,
            "lastChars": 16962
          },
          "forge": {
            "calls": 7,
            "trims": 0,
            "maxChars": 33671,
            "budgetChars": 3541018,
            "lastChars": 33671
          },
          "verity": {
            "calls": 44,
            "trims": 0,
            "maxChars": 7607,
            "budgetChars": 3585254,
            "lastChars": 7073
          },
          "advisor": {
            "calls": 2,
            "trims": 0,
            "maxChars": 6260,
            "budgetChars": 3570509,
            "lastChars": 6260
          }
        },
        "providerQueue": {
          "waits": 0,
          "totalMs": 0,
          "maxMs": 0
        },
        "ladder": {
          "started": "fast",
          "final": "full",
          "fastBuildRounds": 2,
          "completedFast": false,
          "escalated": true,
          "escalationReason": "the verification pass finished with 2 high-severity finding(s) unresolved",
          "fastUsage": {
            "calls": 28,
            "tokens": 74973,
            "costUsd": 0.0512645,
            "wallMs": 622176
          }
        },
        "verification": {
          "lastRun": {
            "at": 1786007983813,
            "workspaceVersion": 2,
            "verdict": "fail",
            "hardGreen": false,
            "deterministicGreen": false,
            "deterministicChecks": 6,
            "criteriaAttempted": 1,
            "runtimeErrors": 1,
            "highIssues": 2
          },
          "efficiency": {
            "fullPasses": 1,
            "scopedPasses": 1,
            "deferred": 0,
            "staticCriteria": 0,
            "staticDeterministic": 0,
            "staticBatchCalls": 0,
            "staticBatchRetries": 0
          },
          "criteria": [
            {
              "id": "criterion-1786006685229-ld4e6",
              "text": "Page loads with input #deck-name, button #add-deck, list #deck-list, element #current-deck showing selected deck name, inputs #card-front and #card-back, button #add-card, element #card-count showing 'N cards', element #card-error for empty-front rejection, element #session-num showing session counter starting at 1, el",
              "status": "met",
              "attempts": 1,
              "actionAttempts": 2,
              "successfulActions": 2,
              "modelCalls": 2,
              "lastResult": "met",
              "unknownReason": "",
              "replayAttempted": false,
              "replayFailed": false,
              "deterministic": false
            },
            {
              "id": "criterion-1786006685229-sh45o",
              "text": "Adding a deck via #deck-name + #add-deck appends it to #deck-list; clicking a deck selects it and updates #current-deck with that deck's name",
              "status": "met",
              "attempts": 2,
              "actionAttempts": 8,
              "successfulActions": 8,
              "modelCalls": 6,
              "lastResult": "met",
              "unknownReason": "",
              "replayAttempted": false,
              "replayFailed": false,
              "deterministic": false
            },
            {
              "id": "criterion-1786006685229-m2v8m",
              "text": "With a deck selected, adding a card via #card-front + #card-back + #add-card increments #card-count; empty front shows a message in #card-error and adds nothing",
              "status": "open",
              "attempts": 2,
              "actionAttempts": 10,
              "successfulActions": 10,
              "modelCalls": 6,
              "lastResult": "unknown",
              "unknownReason": "action-budget-exhausted",
              "replayAttempted": false,
              "replayFailed": false,
              "deterministic": false
            },
            {
              "id": "criterion-1786006685229-9g8v5",
              "text": "Each card has box (1–3) and due-session; session counter per deck starts at 1 in #session-num; a card is DUE when due-session ≤ current session; #due-count shows number of due cards in selected deck",
              "status": "met",
              "attempts": 1,
              "actionAttempts": 5,
              "successfulActions": 5,
              "modelCalls": 3,
              "lastResult": "met",
              "unknownReason": "",
              "replayAttempted": false,
              "replayFailed": false,
              "deterministic": false
            },
            {
              "id": "criterion-1786006685229-b3ufz",
              "text": "Clicking #start-review begins review of all due cards one at a time: front shown in #review-front, back hidden until #reveal clicked shows it in #review-back",
              "status": "open",
              "attempts": 2,
              "actionAttempts": 11,
              "successfulActions": 11,
              "modelCalls": 6,
              "lastResult": "unknown",
              "unknownReason": "action-budget-exhausted",
              "replayAttempted": false,
              "replayFailed": false,
              "deterministic": false
            },
            {
              "id": "criterion-1786006685229-47hqn",
              "text": "#rate-easy moves card up one box (max 3) and sets due-session = current session + new box number; #rate-hard resets card to box 1 and due-session = current session + 1",
              "status": "open",
              "attempts": 2,
              "actionAttempts": 10,
              "successfulActions": 10,
              "modelCalls": 6,
              "lastResult": "unknown",
              "unknownReason": "action-budget-exhausted",
              "replayAttempted": false,
              "replayFailed": false,
              "deterministic": false
            },
            {
              "id": "criterion-1786006685229-bi62s",
              "text": "When all due cards rated, #review-done shows 'Session complete' and session counter increments by exactly 1",
              "status": "open",
              "attempts": 2,
              "actionAttempts": 11,
              "successfulActions": 11,
              "modelCalls": 6,
              "lastResult": "unknown",
              "unknownReason": "action-budget-exhausted",
              "replayAttempted": false,
              "replayFailed": false,
              "deterministic": false
            },
            {
              "id": "criterion-1786006685229-ky9ch",
              "text": "Literal user contract: preserve exactly id=\"deck-name\", id=\"add-deck\", id=\"deck-list\", id=\"current-deck\", id=\"card-front\", id=\"card-back\", id=\"add-card\", id=\"card-count\", id=\"card-error\", id=\"session-num\", id=\"due-count\", id=\"start-review\".",
              "status": "met",
              "attempts": 1,
              "actionAttempts": 1,
              "successfulActions": 1,
              "modelCalls": 2,
              "lastResult": "met",
              "unknownReason": "",
              "replayAttempted": false,
              "replayFailed": false,
              "deterministic": false
            }
          ]
        },
        "improvements": {
          "brainstormRounds": 1,
          "shipped": [],
          "backlogRemaining": 7
        }
      }
    },
    {
      "taskId": "vhard-build-flashcards-pro",
      "kind": "build",
      "run": 3,
      "passed": false,
      "checks": [
        {
          "name": "index.html exists",
          "ok": true
        },
        {
          "name": "loads without page errors",
          "ok": true
        },
        {
          "name": "decks and cards: add, select, count",
          "ok": true
        },
        {
          "name": "negative path: empty front rejected, nothing added",
          "ok": true
        },
        {
          "name": "review flow: front shown, back hidden until reveal",
          "ok": false,
          "error": "back visible before reveal"
        },
        {
          "name": "scheduling: easy → due in (new box) sessions; hard → due next session",
          "ok": true
        },
        {
          "name": "stats line stays in the exact \"N cards · M due\" shape",
          "ok": true
        },
        {
          "name": "export: parseable JSON with decks and cards",
          "ok": true
        },
        {
          "name": "persistence: deck, cards, boxes and session counter survive reload",
          "ok": true
        }
      ],
      "endState": "timeout",
      "completedUnproven": false,
      "failedCriteriaEnd": 1,
      "behavioralUnproven": 3,
      "timedOut": true,
      "interventions": 0,
      "providerRetries": 0,
      "steps": 9,
      "wallMs": 1836615,
      "usage": {
        "tokens": 205288,
        "costUsd": 0.1526,
        "calls": 62,
        "byAgent": {
          "mira": {
            "inTokens": 16453,
            "outTokens": 3789,
            "costUsd": 0.013909999999999999,
            "calls": 5
          },
          "forge": {
            "inTokens": 63425,
            "outTokens": 29136,
            "costUsd": 0.0754165,
            "calls": 15
          },
          "verity": {
            "inTokens": 71763,
            "outTokens": 13035,
            "costUsd": 0.055434000000000004,
            "calls": 40
          },
          "advisor": {
            "inTokens": 3740,
            "outTokens": 3947,
            "costUsd": 0.0077905,
            "calls": 2
          }
        }
      },
      "verdict": "fail",
      "criteria": {
        "met": 5,
        "total": 8
      },
      "loop": {
        "planSteps": {
          "done": 1,
          "total": 10
        },
        "selfReviews": 1,
        "criteriaProven": 5,
        "digest": true,
        "shortcuts": 2,
        "completionShortcuts": 0,
        "leanStubs": 3,
        "skillsApplied": 0,
        "skillsSaved": 0,
        "fixAttempts": 0,
        "fixHistory": 0,
        "broadRegen": 0,
        "holisticTried": false,
        "providerRecoveries": 0,
        "structureChecks": false,
        "promptStats": {
          "mira": {
            "calls": 5,
            "trims": 0,
            "maxChars": 17545,
            "budgetChars": 3585254,
            "lastChars": 17545
          },
          "forge": {
            "calls": 15,
            "trims": 0,
            "maxChars": 33158,
            "budgetChars": 3541018,
            "lastChars": 32937
          },
          "verity": {
            "calls": 41,
            "trims": 0,
            "maxChars": 7601,
            "budgetChars": 3585254,
            "lastChars": 6836
          },
          "advisor": {
            "calls": 2,
            "trims": 0,
            "maxChars": 9453,
            "budgetChars": 3570509,
            "lastChars": 9453
          }
        },
        "providerQueue": {
          "waits": 0,
          "totalMs": 0,
          "maxMs": 0
        },
        "ladder": {
          "started": "fast",
          "final": "full",
          "fastBuildRounds": 2,
          "completedFast": false,
          "escalated": true,
          "escalationReason": "the verification pass finished with 1 high-severity finding(s) unresolved",
          "fastUsage": {
            "calls": 29,
            "tokens": 77276,
            "costUsd": 0.05159000000000001,
            "wallMs": 457650
          }
        },
        "verification": {
          "lastRun": {
            "at": 1786010304419,
            "workspaceVersion": 3,
            "verdict": "fail",
            "hardGreen": false,
            "deterministicGreen": false,
            "deterministicChecks": 10,
            "criteriaAttempted": 6,
            "runtimeErrors": 0,
            "highIssues": 1
          },
          "efficiency": {
            "fullPasses": 2,
            "scopedPasses": 1,
            "deferred": 0,
            "staticCriteria": 0,
            "staticDeterministic": 0,
            "staticBatchCalls": 0,
            "staticBatchRetries": 0
          },
          "criteria": [
            {
              "id": "criterion-1786008494098-yoysd",
              "text": "Page contains input#deck-name, button#add-deck, list#deck-list, element#current-deck, inputs#card-front and #card-back, button#add-card, element#card-count, element#card-error, element#session-num, element#due-count, button#start-review, element#review-front, element#review-back, button#reveal, buttons#rate-easy and #r",
              "status": "failed",
              "attempts": 3,
              "actionAttempts": 0,
              "successfulActions": 0,
              "modelCalls": 0,
              "lastResult": "failed",
              "unknownReason": "",
              "replayAttempted": false,
              "replayFailed": false,
              "deterministic": true
            },
            {
              "id": "criterion-1786008494098-8xjrn",
              "text": "Typing a name in #deck-name and clicking #add-deck adds the deck to #deck-list and clears the input",
              "status": "met",
              "attempts": 2,
              "actionAttempts": 8,
              "successfulActions": 8,
              "modelCalls": 4,
              "lastResult": "met",
              "unknownReason": "",
              "replayAttempted": true,
              "replayFailed": false,
              "deterministic": false
            },
            {
              "id": "criterion-1786008494098-ac644",
              "text": "Clicking a deck in #deck-list selects it and shows its name in #current-deck",
              "status": "open",
              "attempts": 2,
              "actionAttempts": 6,
              "successfulActions": 6,
              "modelCalls": 5,
              "lastResult": "unknown",
              "unknownReason": "model-returned-unknown",
              "replayAttempted": false,
              "replayFailed": false,
              "deterministic": false
            },
            {
              "id": "criterion-1786008494098-32i5e",
              "text": "With a deck selected, entering text in #card-front and #card-back and clicking #add-card adds the card; #card-count updates to show 'N cards'",
              "status": "met",
              "attempts": 2,
              "actionAttempts": 10,
              "successfulActions": 10,
              "modelCalls": 4,
              "lastResult": "met",
              "unknownReason": "",
              "replayAttempted": true,
              "replayFailed": false,
              "deterministic": false
            },
            {
              "id": "criterion-1786008494098-jn1xh",
              "text": "Submitting a card with empty #card-front shows an error message in #card-error and adds nothing",
              "status": "met",
              "attempts": 2,
              "actionAttempts": 8,
              "successfulActions": 8,
              "modelCalls": 4,
              "lastResult": "met",
              "unknownReason": "",
              "replayAttempted": true,
              "replayFailed": false,
              "deterministic": false
            },
            {
              "id": "criterion-1786008494098-g4f57",
              "text": "Each card starts at box 1 with due-session 1; #session-num shows the deck's session counter starting at 1",
              "status": "met",
              "attempts": 2,
              "actionAttempts": 10,
              "successfulActions": 10,
              "modelCalls": 6,
              "lastResult": "met",
              "unknownReason": "",
              "replayAttempted": false,
              "replayFailed": false,
              "deterministic": false
            },
            {
              "id": "criterion-1786008494098-l1h8i",
              "text": "A card is due when its due-session ≤ current session number; #due-count shows the number of due cards for the selected deck",
              "status": "open",
              "attempts": 2,
              "actionAttempts": 13,
              "successfulActions": 8,
              "modelCalls": 5,
              "lastResult": "unknown",
              "unknownReason": "model-no-response",
              "replayAttempted": true,
              "replayFailed": false,
              "deterministic": false
            },
            {
              "id": "criterion-1786008494098-eun47",
              "text": "Literal user contract: preserve exactly id=\"deck-name\", id=\"add-deck\", id=\"deck-list\", id=\"current-deck\", id=\"card-front\", id=\"card-back\", id=\"add-card\", id=\"card-count\", id=\"card-error\", id=\"session-num\", id=\"due-count\", id=\"start-review\".",
              "status": "met",
              "attempts": 2,
              "actionAttempts": 2,
              "successfulActions": 2,
              "modelCalls": 4,
              "lastResult": "met",
              "unknownReason": "",
              "replayAttempted": false,
              "replayFailed": false,
              "deterministic": false
            }
          ]
        },
        "improvements": {
          "brainstormRounds": 1,
          "shipped": [],
          "backlogRemaining": 8
        }
      }
    }
  ]
}