{
  "version": "0.0.48",
  "notes": [
    "Actual CLI recordings for five small checkout fixtures. The same released native CLI was invoked through its npm distribution for recording.",
    "Structural examples start with one valid-order test. MC/DC and initial mapped assertion examples use two tests: valid order and signed-out visitor.",
    "The final stage adds an expired-session test and assertions on the total, then updates and checks the assertion map.",
    "Website excerpts omit surrounding output. The assertion statement example selects fields from the actual JSON response; it is not the complete response."
  ],
  "recordings": {
    "javascript": {
      "version": "0.0.48",
      "language": "javascript",
      "recordedAt": "2026-09-14T12:02:36.679Z",
      "runtime": "v24.21.0",
      "runner": "npm test",
      "sourceFile": "src/session.js",
      "testFile": "tests/session.test.js",
      "decisionAt": "src/session.js:2",
      "filesBefore": {
        "package.json": "{\n  \"name\": \"supercov-assertion-demo\",\n  \"private\": true,\n  \"type\": \"module\",\n  \"scripts\": { \"test\": \"node --test tests/*.test.js\" }\n}\n",
        "src/session.js": "export function checkout(signedIn, expired, price, quantity) {\n  if (signedIn && !expired) {\n    const total = price * quantity;\n    return { status: 'confirmed', total };\n  }\n  return { status: 'denied', total: 0 };\n}\n",
        "tests/session.test.js": "import assert from 'node:assert/strict';\nimport test from 'node:test';\nimport { checkout } from '../src/session.js';\n\ntest('confirms an order', () => {\n  const order = checkout(true, false, 25, 2);\n  assert.equal(order.status, 'confirmed');\n});\n\ntest('rejects a signed-out visitor', () => {\n  const order = checkout(false, false, 25, 2);\n  assert.equal(order.status, 'denied');\n});\n"
      },
      "testAfter": "import assert from 'node:assert/strict';\nimport test from 'node:test';\nimport { checkout } from '../src/session.js';\n\ntest('confirms an order', () => {\n  const order = checkout(true, false, 25, 2);\n  assert.equal(order.status, 'confirmed');\n  assert.equal(order.total, 50);\n});\n\ntest('rejects a signed-out visitor', () => {\n  const order = checkout(false, false, 25, 2);\n  assert.equal(order.status, 'denied');\n});\n\ntest('rejects an expired session', () => {\n  const order = checkout(true, true, 25, 2);\n  assert.equal(order.status, 'denied');\n});\n",
      "initialReport": "run run_fc5c7faa838073e2\ncommand: npm test\n\nCoverage\n  Lines      100.00% (5/5)\n  Branches   100.00% (2/2)\n  MC/DC      50.00% (1/2)\nAssertions pending — Source changes need impact assessment\n  0 assertions with flows; 2 without; 0 current flows; 0 stale; 0 draft\n\nBy test kind\n  unit            2 test(s)  lines 100.00%  branches 100.00%  MC/DC  50.00%\n  2 test(s) use the runner's default kind; this is not inferred from their behavior.\n  Set SUPERCOV_TEST_KIND=integration (or unit/component/e2e) when running a suite to override it.\n\nMeasurement\n  Instrumentation  Complete for the measured command and coverage model\n  Scope            Only code reached by the wrapped command is observed; this status does not prove every project test suite was run.\n  Command outputs  <project>/.supercov/workspaces/workspace/supercov-homepage-recording-1xCat1\n\nTests\n  Total       2\n  Passed      2\n\nRemaining\n  Files with uncovered code         1\n  Files with measurement limits     0\n\nRuntime action phases (separate from assertion mappings)\n  Recorded within action phases      0 lines\n  Other recorded execution           5 lines\n  These runtime phase counts do not include the agent-assessed assertion coverage shown above.\n\nCommands\n  npx supercov runs 'run_fc5c7faa838073e2' files\n  npx supercov runs 'run_fc5c7faa838073e2' gaps\n  npx supercov runs 'run_fc5c7faa838073e2' kinds\n  npx supercov runs 'run_fc5c7faa838073e2' runners\n  npx supercov runs 'run_fc5c7faa838073e2' scope\n  npx supercov runs run_fc5c7faa838073e2 --help\n",
      "initial": {
        "status": "pending",
        "reason": "Source changes need impact assessment",
        "pendingChanges": 1,
        "metric": "measured statements",
        "statements": {
          "asserted": 0,
          "declared": 0,
          "total": 4,
          "percentage": null
        },
        "assertions": 2,
        "inventoryAssertions": 2,
        "missingInventoryAssertions": 0,
        "assertionsWithFlows": 0,
        "assertionsWithoutFlows": 2,
        "observedAssertionsWithoutCurrentExplanation": 2,
        "questions": 0,
        "currentFlows": 0,
        "draftFlows": 0,
        "staleFlows": 0,
        "invalidFlows": 0,
        "eligibleFlows": 0,
        "retiredAssertions": 0,
        "unobservedAssertions": 0,
        "inventoryFailures": 0,
        "unanchoredStatements": 0,
        "runPassed": true,
        "lines": {
          "asserted": 0,
          "declared": 0,
          "total": 4,
          "percentage": null
        },
        "excludedStatements": 0
      },
      "before": {
        "run": "run_fc5c7faa838073e2",
        "map": {
          "schemaVersion": 2,
          "assertions": [
            {
              "id": "a_084343be09ea2acc3665",
              "at": {
                "file": "tests/session.test.js",
                "line": 7,
                "column": 3,
                "text": "assert.equal(order.status, 'confirmed')"
              },
              "observes": [
                "The returned status equals confirmed for this test input."
              ],
              "flows": [
                {
                  "id": "returned-status",
                  "basis": "scov2:bfbdee8492dea460c1eac16e004eee586cf83bc7d14e69b29aa771a131a44a20",
                  "appliesTo": [
                    {
                      "file": "tests/session.test.js",
                      "name": "confirms an order"
                    }
                  ],
                  "explanation": "The guard chooses the return path. This assertion compares only its status field; it does not check the total field or independently exercise every guard condition.",
                  "nodes": [
                    {
                      "id": "n0",
                      "at": {
                        "file": "src/session.js",
                        "line": 2,
                        "column": 3,
                        "text": "if (signedIn && !expired) {\n    const total = price * quantity;\n    return { status: 'confirmed', total };\n  }"
                      }
                    },
                    {
                      "id": "n1",
                      "at": {
                        "file": "src/session.js",
                        "line": 4,
                        "column": 5,
                        "text": "return { status: 'confirmed', total };"
                      }
                    }
                  ],
                  "edges": [
                    {
                      "from": "n0",
                      "to": "n1",
                      "kind": "control"
                    },
                    {
                      "from": "n1",
                      "to": "$assertion",
                      "kind": "data"
                    }
                  ],
                  "countsAsAsserted": [
                    "n0",
                    "n1"
                  ],
                  "watch": []
                }
              ]
            },
            {
              "id": "a_9e03ade862dfb4490e97",
              "at": {
                "file": "tests/session.test.js",
                "line": 12,
                "column": 3,
                "text": "assert.equal(order.status, 'denied')"
              },
              "observes": [
                "The returned status equals denied for this test input."
              ],
              "flows": [
                {
                  "id": "returned-status",
                  "basis": "scov2:58c42de5a3fb7ec14f1d803419c170978c915e19a50fc7f7eaa285c760948e46",
                  "appliesTo": [
                    {
                      "file": "tests/session.test.js",
                      "name": "rejects a signed-out visitor"
                    }
                  ],
                  "explanation": "The guard chooses the return path. This assertion compares only its status field; it does not check the total field or independently exercise every guard condition.",
                  "nodes": [
                    {
                      "id": "n0",
                      "at": {
                        "file": "src/session.js",
                        "line": 2,
                        "column": 3,
                        "text": "if (signedIn && !expired) {\n    const total = price * quantity;\n    return { status: 'confirmed', total };\n  }"
                      }
                    },
                    {
                      "id": "n1",
                      "at": {
                        "file": "src/session.js",
                        "line": 6,
                        "column": 3,
                        "text": "return { status: 'denied', total: 0 };"
                      }
                    }
                  ],
                  "edges": [
                    {
                      "from": "n0",
                      "to": "n1",
                      "kind": "control"
                    },
                    {
                      "from": "n1",
                      "to": "$assertion",
                      "kind": "data"
                    }
                  ],
                  "countsAsAsserted": [
                    "n0",
                    "n1"
                  ],
                  "watch": []
                }
              ]
            }
          ],
          "changeAssessments": [
            {
              "id": "c_7e5cc9e5cc8e4d5eaa8598ae",
              "basis": "scov2:9befb16ba9b5dceab79ef86749e901f8ed331c2b1a4115c32c21fbae15b592ab",
              "affectedFlows": [],
              "explanation": "Only the fixture test file changed. The current test inputs and assertions have been reviewed against this run’s mappings. The application source is unchanged."
            }
          ]
        },
        "check": "{\n  \"summary\": {\n    \"status\": \"available\",\n    \"reason\": \"Agent-assessed statements; mapping completeness is unknown\",\n    \"pendingChanges\": 0,\n    \"metric\": \"measured statements\",\n    \"statements\": {\n      \"asserted\": 3,\n      \"declared\": 3,\n      \"total\": 4,\n      \"percentage\": 75.0\n    },\n    \"assertions\": 2,\n    \"inventoryAssertions\": 2,\n    \"missingInventoryAssertions\": 0,\n    \"assertionsWithFlows\": 2,\n    \"assertionsWithoutFlows\": 0,\n    \"observedAssertionsWithoutCurrentExplanation\": 0,\n    \"questions\": 0,\n    \"currentFlows\": 2,\n    \"draftFlows\": 0,\n    \"staleFlows\": 0,\n    \"invalidFlows\": 0,\n    \"eligibleFlows\": 2,\n    \"retiredAssertions\": 0,\n    \"unobservedAssertions\": 0,\n    \"inventoryFailures\": 0,\n    \"unanchoredStatements\": 0,\n    \"runPassed\": true,\n    \"lines\": {\n      \"asserted\": 3,\n      \"declared\": 3,\n      \"total\": 4,\n      \"percentage\": 75.0\n    },\n    \"excludedStatements\": 0\n  },\n  \"basis\": \"agent-assessed; passing assertion identity and same-test execution required; not mutation resistance\",\n  \"validationErrors\": [],\n  \"limitations\": [\n    \"Syntax inventory covers recognized assertion forms, not every possible custom assertion. Agents may add exact source sites; missing runtime identity never earns credit.\",\n    \"Optional assertion calls are inventoried but currently have no injected phase. Unrecognized custom assertion wrappers and dynamically selected matchers may be absent. Use check --require-observed to detect inventoried sites without passing evidence.\"\n  ],\n  \"revision\": \"eec6c24c25ca72954315c206ecb83ecd8e84a7ea61511650579b0340a42c3dc2\",\n  \"inheritance\": {\n    \"from\": \"run_fe9ebf540068ded6\",\n    \"skipped\": []\n  },\n  \"view\": \"summary\",\n  \"file\": null,\n  \"needsAttention\": false,\n  \"scope\": \"summary covers the whole run with matching current source; --file filters items only\",\n  \"workingTree\": {\n    \"stale\": false,\n    \"reasons\": []\n  },\n  \"valid\": true,\n  \"failures\": [],\n  \"requirements\": {\n    \"mappings\": true,\n    \"observed\": false,\n    \"minimum\": null\n  },\n  \"run\": \"run_fc5c7faa838073e2\",\n  \"map\": \"<project>/.supercov/runs/run_fc5c7faa838073e2/assertions.json\"\n}\n",
        "report": "run run_fc5c7faa838073e2\ncommand: npm test\n\nCoverage\n  Lines      100.00% (5/5)\n  Branches   100.00% (2/2)\n  MC/DC      50.00% (1/2)\nAssertions 75.00% (3/4) — agent-assessed statements, whole run\n  2 assertions with flows; 0 without; 2 current flows; 0 stale; 0 draft\n\nBy test kind\n  unit            2 test(s)  lines 100.00%  branches 100.00%  MC/DC  50.00%\n  2 test(s) use the runner's default kind; this is not inferred from their behavior.\n  Set SUPERCOV_TEST_KIND=integration (or unit/component/e2e) when running a suite to override it.\n\nMeasurement\n  Instrumentation  Complete for the measured command and coverage model\n  Scope            Only code reached by the wrapped command is observed; this status does not prove every project test suite was run.\n  Command outputs  <project>/.supercov/workspaces/workspace/supercov-homepage-recording-1xCat1\n\nTests\n  Total       2\n  Passed      2\n\nRemaining\n  Files with uncovered code         1\n  Files with measurement limits     0\n\nRuntime action phases (separate from assertion mappings)\n  Recorded within action phases      0 lines\n  Other recorded execution           5 lines\n  These runtime phase counts do not include the agent-assessed assertion coverage shown above.\n\nCommands\n  npx supercov runs 'run_fc5c7faa838073e2' files\n  npx supercov runs 'run_fc5c7faa838073e2' gaps\n  npx supercov runs 'run_fc5c7faa838073e2' kinds\n  npx supercov runs 'run_fc5c7faa838073e2' runners\n  npx supercov runs 'run_fc5c7faa838073e2' scope\n  npx supercov runs run_fc5c7faa838073e2 --help\n",
        "summary": {
          "status": "available",
          "reason": "Agent-assessed statements; mapping completeness is unknown",
          "pendingChanges": 0,
          "metric": "measured statements",
          "statements": {
            "asserted": 3,
            "declared": 3,
            "total": 4,
            "percentage": 75
          },
          "assertions": 2,
          "inventoryAssertions": 2,
          "missingInventoryAssertions": 0,
          "assertionsWithFlows": 2,
          "assertionsWithoutFlows": 0,
          "observedAssertionsWithoutCurrentExplanation": 0,
          "questions": 0,
          "currentFlows": 2,
          "draftFlows": 0,
          "staleFlows": 0,
          "invalidFlows": 0,
          "eligibleFlows": 2,
          "retiredAssertions": 0,
          "unobservedAssertions": 0,
          "inventoryFailures": 0,
          "unanchoredStatements": 0,
          "runPassed": true,
          "lines": {
            "asserted": 3,
            "declared": 3,
            "total": 4,
            "percentage": 75
          },
          "excludedStatements": 0
        }
      },
      "decision": "cf8decfeb68a3191  src/session.js:2:7\nsignedIn && !expired\nC1 covered: signedIn\nC2 MISSING: !expired\nconfidence executed\nvectors:\n  F- -> F  tests=1 confidence=executed\n  TT -> T  tests=1 confidence=executed\nshowing 1-2 of 2 conditions/vectors/tests per decision\n",
      "after": {
        "run": "run_f486616def5ef17a",
        "map": {
          "schemaVersion": 2,
          "assertions": [
            {
              "id": "a_084343be09ea2acc3665",
              "at": {
                "file": "tests/session.test.js",
                "line": 7,
                "column": 3,
                "text": "assert.equal(order.status, 'confirmed')"
              },
              "observes": [
                "The returned status equals confirmed for this test input."
              ],
              "flows": [
                {
                  "id": "returned-status",
                  "basis": "scov2:31d53d62ada5a233f18e316aad986f327feee52a97deb2099d378e734e4c32c6",
                  "appliesTo": [
                    {
                      "file": "tests/session.test.js",
                      "name": "confirms an order"
                    }
                  ],
                  "explanation": "The guard chooses the return path. This assertion compares only its status field; it does not check the total field or independently exercise every guard condition.",
                  "nodes": [
                    {
                      "id": "n0",
                      "at": {
                        "file": "src/session.js",
                        "line": 2,
                        "column": 3,
                        "text": "if (signedIn && !expired) {\n    const total = price * quantity;\n    return { status: 'confirmed', total };\n  }"
                      }
                    },
                    {
                      "id": "n1",
                      "at": {
                        "file": "src/session.js",
                        "line": 4,
                        "column": 5,
                        "text": "return { status: 'confirmed', total };"
                      }
                    }
                  ],
                  "edges": [
                    {
                      "from": "n0",
                      "to": "n1",
                      "kind": "control"
                    },
                    {
                      "from": "n1",
                      "to": "$assertion",
                      "kind": "data"
                    }
                  ],
                  "countsAsAsserted": [
                    "n0",
                    "n1"
                  ],
                  "watch": []
                }
              ]
            },
            {
              "id": "a_36c05067f1cb1af7a57e",
              "at": {
                "file": "tests/session.test.js",
                "line": 8,
                "column": 3,
                "text": "assert.equal(order.total, 50)"
              },
              "observes": [
                "The total equals 50 for two items at 25."
              ],
              "flows": [
                {
                  "id": "calculated-total",
                  "basis": "scov2:cea8c0bb4893ea967c9e9be5555505ee7aeab971c2162c7d5d4fc4b6c17a6d7f",
                  "appliesTo": [
                    {
                      "file": "tests/session.test.js",
                      "name": "confirms an order"
                    }
                  ],
                  "explanation": "The multiplication supplies total in the returned order; this assertion compares that field to 50. It checks the calculation for this input, not every possible price or quantity.",
                  "nodes": [
                    {
                      "id": "n0",
                      "at": {
                        "file": "src/session.js",
                        "line": 3,
                        "column": 5,
                        "text": "const total = price * quantity;"
                      }
                    },
                    {
                      "id": "n1",
                      "at": {
                        "file": "src/session.js",
                        "line": 4,
                        "column": 5,
                        "text": "return { status: 'confirmed', total };"
                      }
                    }
                  ],
                  "edges": [
                    {
                      "from": "n0",
                      "to": "n1",
                      "kind": "data"
                    },
                    {
                      "from": "n1",
                      "to": "$assertion",
                      "kind": "data"
                    }
                  ],
                  "countsAsAsserted": [
                    "n0",
                    "n1"
                  ],
                  "watch": []
                }
              ]
            },
            {
              "id": "a_b61776acd0e4b94c7b9c",
              "at": {
                "file": "tests/session.test.js",
                "line": 13,
                "column": 3,
                "text": "assert.equal(order.status, 'denied')"
              },
              "observes": [
                "The returned status equals denied for this test input."
              ],
              "flows": [
                {
                  "id": "returned-status",
                  "basis": "scov2:0d2e588cbcf15e36f9dcea5e195f156ea089d7b6a1eadc0526d8a182874d8193",
                  "appliesTo": [
                    {
                      "file": "tests/session.test.js",
                      "name": "rejects a signed-out visitor"
                    }
                  ],
                  "explanation": "The guard chooses the return path. This assertion compares only its status field; it does not check the total field or independently exercise every guard condition.",
                  "nodes": [
                    {
                      "id": "n0",
                      "at": {
                        "file": "src/session.js",
                        "line": 2,
                        "column": 3,
                        "text": "if (signedIn && !expired) {\n    const total = price * quantity;\n    return { status: 'confirmed', total };\n  }"
                      }
                    },
                    {
                      "id": "n1",
                      "at": {
                        "file": "src/session.js",
                        "line": 6,
                        "column": 3,
                        "text": "return { status: 'denied', total: 0 };"
                      }
                    }
                  ],
                  "edges": [
                    {
                      "from": "n0",
                      "to": "n1",
                      "kind": "control"
                    },
                    {
                      "from": "n1",
                      "to": "$assertion",
                      "kind": "data"
                    }
                  ],
                  "countsAsAsserted": [
                    "n0",
                    "n1"
                  ],
                  "watch": []
                }
              ]
            },
            {
              "id": "a_be31211d5c6f21d31774",
              "at": {
                "file": "tests/session.test.js",
                "line": 18,
                "column": 3,
                "text": "assert.equal(order.status, 'denied')"
              },
              "observes": [
                "The returned status equals denied for this test input."
              ],
              "flows": [
                {
                  "id": "returned-status",
                  "basis": "scov2:18371b1ecf81c503305390328368ab38626886b99fa5377aa3d56d00d1517c2a",
                  "appliesTo": [
                    {
                      "file": "tests/session.test.js",
                      "name": "rejects an expired session"
                    }
                  ],
                  "explanation": "The guard chooses the return path. This assertion compares only its status field; it does not check the total field or independently exercise every guard condition.",
                  "nodes": [
                    {
                      "id": "n0",
                      "at": {
                        "file": "src/session.js",
                        "line": 2,
                        "column": 3,
                        "text": "if (signedIn && !expired) {\n    const total = price * quantity;\n    return { status: 'confirmed', total };\n  }"
                      }
                    },
                    {
                      "id": "n1",
                      "at": {
                        "file": "src/session.js",
                        "line": 6,
                        "column": 3,
                        "text": "return { status: 'denied', total: 0 };"
                      }
                    }
                  ],
                  "edges": [
                    {
                      "from": "n0",
                      "to": "n1",
                      "kind": "control"
                    },
                    {
                      "from": "n1",
                      "to": "$assertion",
                      "kind": "data"
                    }
                  ],
                  "countsAsAsserted": [
                    "n0",
                    "n1"
                  ],
                  "watch": []
                }
              ]
            }
          ],
          "retiredAssertions": [
            {
              "assertion": {
                "id": "a_9e03ade862dfb4490e97",
                "at": {
                  "file": "tests/session.test.js",
                  "line": 12,
                  "column": 3,
                  "text": "assert.equal(order.status, 'denied')"
                },
                "observes": [
                  "The returned status equals denied for this test input."
                ],
                "flows": [
                  {
                    "id": "returned-status",
                    "basis": "scov2:58c42de5a3fb7ec14f1d803419c170978c915e19a50fc7f7eaa285c760948e46",
                    "explanation": "The guard chooses the return path. This assertion compares only its status field; it does not check the total field or independently exercise every guard condition.",
                    "appliesTo": [
                      {
                        "file": "tests/session.test.js",
                        "name": "rejects a signed-out visitor"
                      }
                    ],
                    "nodes": [
                      {
                        "id": "n0",
                        "at": {
                          "file": "src/session.js",
                          "line": 2,
                          "column": 3,
                          "text": "if (signedIn && !expired) {\n    const total = price * quantity;\n    return { status: 'confirmed', total };\n  }"
                        }
                      },
                      {
                        "id": "n1",
                        "at": {
                          "file": "src/session.js",
                          "line": 6,
                          "column": 3,
                          "text": "return { status: 'denied', total: 0 };"
                        }
                      }
                    ],
                    "edges": [
                      {
                        "from": "n0",
                        "to": "n1",
                        "kind": "control"
                      },
                      {
                        "from": "n1",
                        "to": "$assertion",
                        "kind": "data"
                      }
                    ],
                    "countsAsAsserted": [
                      "n0",
                      "n1"
                    ],
                    "watch": []
                  }
                ]
              },
              "reason": "assertion removed, changed or ambiguous; reuse its explanation after review"
            }
          ],
          "changeAssessments": [
            {
              "id": "c_15085d541ac793d72c92ca72",
              "basis": "scov2:6781f8613875373538bf95f03f3f795daebb5db68258921805555d43f6fc2be6",
              "affectedFlows": [
                "a_084343be09ea2acc3665/returned-status"
              ],
              "explanation": "Only the fixture test file changed. The current test inputs and assertions have been reviewed against this run’s mappings. The application source is unchanged."
            }
          ]
        },
        "check": "{\n  \"summary\": {\n    \"status\": \"available\",\n    \"reason\": \"Agent-assessed statements; mapping completeness is unknown\",\n    \"pendingChanges\": 0,\n    \"metric\": \"measured statements\",\n    \"statements\": {\n      \"asserted\": 4,\n      \"declared\": 4,\n      \"total\": 4,\n      \"percentage\": 100.0\n    },\n    \"assertions\": 4,\n    \"inventoryAssertions\": 4,\n    \"missingInventoryAssertions\": 0,\n    \"assertionsWithFlows\": 4,\n    \"assertionsWithoutFlows\": 0,\n    \"observedAssertionsWithoutCurrentExplanation\": 0,\n    \"questions\": 0,\n    \"currentFlows\": 4,\n    \"draftFlows\": 0,\n    \"staleFlows\": 0,\n    \"invalidFlows\": 0,\n    \"eligibleFlows\": 4,\n    \"retiredAssertions\": 1,\n    \"unobservedAssertions\": 0,\n    \"inventoryFailures\": 0,\n    \"unanchoredStatements\": 0,\n    \"runPassed\": true,\n    \"lines\": {\n      \"asserted\": 4,\n      \"declared\": 4,\n      \"total\": 4,\n      \"percentage\": 100.0\n    },\n    \"excludedStatements\": 0\n  },\n  \"basis\": \"agent-assessed; passing assertion identity and same-test execution required; not mutation resistance\",\n  \"validationErrors\": [],\n  \"limitations\": [\n    \"Syntax inventory covers recognized assertion forms, not every possible custom assertion. Agents may add exact source sites; missing runtime identity never earns credit.\",\n    \"Optional assertion calls are inventoried but currently have no injected phase. Unrecognized custom assertion wrappers and dynamically selected matchers may be absent. Use check --require-observed to detect inventoried sites without passing evidence.\"\n  ],\n  \"revision\": \"160819924b80c7cc12db6b96aeedd0fe4099ab42a364fc6cabef53e6f3d005d6\",\n  \"inheritance\": {\n    \"from\": \"run_fc5c7faa838073e2\",\n    \"skipped\": []\n  },\n  \"view\": \"summary\",\n  \"file\": null,\n  \"needsAttention\": false,\n  \"scope\": \"summary covers the whole run with matching current source; --file filters items only\",\n  \"workingTree\": {\n    \"stale\": false,\n    \"reasons\": []\n  },\n  \"valid\": true,\n  \"failures\": [],\n  \"requirements\": {\n    \"mappings\": true,\n    \"observed\": false,\n    \"minimum\": null\n  },\n  \"run\": \"run_f486616def5ef17a\",\n  \"map\": \"<project>/.supercov/runs/run_f486616def5ef17a/assertions.json\"\n}\n",
        "report": "run run_f486616def5ef17a\ncommand: npm test\n\nCoverage\n  Lines      100.00% (5/5)\n  Branches   100.00% (2/2)\n  MC/DC      100.00% (2/2)\nAssertions 100.00% (4/4) — agent-assessed statements, whole run\n  4 assertions with flows; 0 without; 4 current flows; 0 stale; 0 draft\n\nBy test kind\n  unit            3 test(s)  lines 100.00%  branches 100.00%  MC/DC 100.00%\n  3 test(s) use the runner's default kind; this is not inferred from their behavior.\n  Set SUPERCOV_TEST_KIND=integration (or unit/component/e2e) when running a suite to override it.\n\nMeasurement\n  Instrumentation  Complete for the measured command and coverage model\n  Scope            Only code reached by the wrapped command is observed; this status does not prove every project test suite was run.\n  Command outputs  <project>/.supercov/workspaces/workspace/supercov-homepage-recording-1xCat1\n\nTests\n  Total       3\n  Passed      3\n\nRemaining\n  Files with uncovered code         0\n  Files with measurement limits     0\n\nRuntime action phases (separate from assertion mappings)\n  Recorded within action phases      0 lines\n  Other recorded execution           5 lines\n  These runtime phase counts do not include the agent-assessed assertion coverage shown above.\n\nCommands\n  npx supercov runs 'run_f486616def5ef17a' files\n  npx supercov runs 'run_f486616def5ef17a' gaps\n  npx supercov runs 'run_f486616def5ef17a' kinds\n  npx supercov runs 'run_f486616def5ef17a' runners\n  npx supercov runs 'run_f486616def5ef17a' scope\n  npx supercov runs run_f486616def5ef17a --help\n",
        "summary": {
          "status": "available",
          "reason": "Agent-assessed statements; mapping completeness is unknown",
          "pendingChanges": 0,
          "metric": "measured statements",
          "statements": {
            "asserted": 4,
            "declared": 4,
            "total": 4,
            "percentage": 100
          },
          "assertions": 4,
          "inventoryAssertions": 4,
          "missingInventoryAssertions": 0,
          "assertionsWithFlows": 4,
          "assertionsWithoutFlows": 0,
          "observedAssertionsWithoutCurrentExplanation": 0,
          "questions": 0,
          "currentFlows": 4,
          "draftFlows": 0,
          "staleFlows": 0,
          "invalidFlows": 0,
          "eligibleFlows": 4,
          "retiredAssertions": 1,
          "unobservedAssertions": 0,
          "inventoryFailures": 0,
          "unanchoredStatements": 0,
          "runPassed": true,
          "lines": {
            "asserted": 4,
            "declared": 4,
            "total": 4,
            "percentage": 100
          },
          "excludedStatements": 0
        }
      },
      "diff": "run_fc5c7faa838073e2 -> run_f486616def5ef17a\nlines +0pp, branches +0pp, MC/DC +50pp\ngained: 0 lines, 0 branches, 1 MC/DC conditions\nlost: 0 lines, 0 branches, 0 MC/DC conditions\n+ MC/DC src/session.js:2 C2 !expired\nshowing 1-1 of 1 per category\n",
      "records": [
        {
          "args": [
            "--",
            "npm",
            "test"
          ],
          "stdout": "\n> test\n> node --test tests/*.test.js\n\n✔ confirms an order (10.00475ms)\nℹ tests 1\nℹ suites 0\nℹ pass 1\nℹ fail 0\nℹ cancelled 0\nℹ skipped 0\nℹ todo 0\nℹ duration_ms 92.543959\n[coverage] evidence: /private<project>/.supercov/runs/run_fe9ebf540068ded6/evidence.raw.gz\n"
        },
        {
          "args": [
            "runs",
            "latest"
          ],
          "stdout": "run run_fe9ebf540068ded6\ncommand: npm test\n\nCoverage\n  Lines      80.00% (4/5)\n  Branches   50.00% (1/2)\n  MC/DC      0.00% (0/2)\nAssertions not assessed — No recorded flow explanations\n  0 assertions with flows; 1 without; 0 current flows; 0 stale; 0 draft\n\nBy test kind\n  unit            1 test(s)  lines  80.00%  branches  50.00%  MC/DC   0.00%\n  1 test(s) use the runner's default kind; this is not inferred from their behavior.\n  Set SUPERCOV_TEST_KIND=integration (or unit/component/e2e) when running a suite to override it.\n\nMeasurement\n  Instrumentation  Complete for the measured command and coverage model\n  Scope            Only code reached by the wrapped command is observed; this status does not prove every project test suite was run.\n  Command outputs  /private<project>/.supercov/workspaces/workspace/supercov-homepage-recording-1xCat1\n\nTests\n  Total       1\n  Passed      1\n\nRemaining\n  Files with uncovered code         1\n  Files with measurement limits     0\n\nRuntime action phases (separate from assertion mappings)\n  Recorded within action phases      0 lines\n  Other recorded execution           4 lines\n  These runtime phase counts do not include the agent-assessed assertion coverage shown above.\n\nCommands\n  npx supercov runs 'run_fe9ebf540068ded6' files\n  npx supercov runs 'run_fe9ebf540068ded6' gaps\n  npx supercov runs 'run_fe9ebf540068ded6' kinds\n  npx supercov runs 'run_fe9ebf540068ded6' runners\n  npx supercov runs 'run_fe9ebf540068ded6' scope\n  npx supercov runs run_fe9ebf540068ded6 --help\n"
        },
        {
          "args": [
            "runs",
            "latest",
            "gaps",
            "--limit",
            "5"
          ],
          "stdout": "Coverage gaps — only files with unresolved obligations\n\nsrc/session.js\n  uncovered: lines 1  statements 1  functions 0  branch outcomes 0  MC/DC conditions 2\n\nshowing 1-1 of 1\ninspect file: npx supercov runs 'run_fe9ebf540068ded6' file 'src/session.js'\n"
        },
        {
          "args": [
            "runs",
            "latest",
            "file",
            "src/session.js"
          ],
          "stdout": "src/session.js\n\nUncovered\n  Lines not executed              1\n  Statements not executed         1\n  Functions not called            0\n  Branch outcomes not taken       0\n  MC/DC conditions not shown      2\n  Measurement limitations         0\n\nTests touching this file: 1\n\nGaps\n  NOT COVERED = line never executed; PARTIAL = line executed but some behavior remains untested\n LINE  STATUS        SOURCE\n    2  PARTIAL       signedIn && !expired\n       Unobserved: no witness pair shows `signedIn` independently changing the decision result\n       Unobserved: no witness pair shows `!expired` independently changing the decision result\n       Inspect: npx supercov runs 'run_fe9ebf540068ded6' line 'src/session.js:2'\n    6  NOT COVERED   return { status: 'denied', total: 0 };\nshowing 1-2 of 2 gap lines\n"
        },
        {
          "args": [
            "runs",
            "latest",
            "line",
            "src/session.js:3"
          ],
          "stdout": "src/session.js:3\n\nSource\n      3 | const total = price * quantity;\n\nStatus\n  COVERED\n  Evidence: execution only\n\nCoverage details\n  Statement at column 5 — covered (1 covering tests)\n    `const total = price * quantity;`\n\nCovering tests\n  confirms an order [node:test:1ecdf909d63f01021278acac] — unit/node:test\n\nTest phases\n  node:assert/strict.equal (passed) at tests/session.test.js:7:3\n"
        },
        {
          "args": [
            "runs",
            "latest",
            "decision",
            "src/session.js:2"
          ],
          "stdout": "cf8decfeb68a3191  src/session.js:2:7\nsignedIn && !expired\nC1 MISSING: signedIn\nC2 MISSING: !expired\nconfidence executed\nvectors:\n  TT -> T  tests=1 confidence=executed\nshowing 1-2 of 2 conditions/vectors/tests per decision\n"
        },
        {
          "args": [
            "runs",
            "latest",
            "assertions",
            "report",
            "--view",
            "statements",
            "--file",
            "src/session.js"
          ],
          "stdout": "{\n  \"items\": [\n    {\n      \"id\": \"0dac866dbc3f5fce\",\n      \"file\": \"src/session.js\",\n      \"line\": 2,\n      \"at\": {\n        \"file\": \"src/session.js\",\n        \"line\": 2,\n        \"column\": 3,\n        \"text\": \"if (signedIn && !expired) {\\n    const total = price * quantity;\\n    return { status: 'confirmed', total };\\n  }\"\n      },\n      \"covered\": true,\n      \"tests\": [\n        \"node:test:1ecdf909d63f01021278acac\"\n      ],\n      \"declared\": false,\n      \"asserted\": false,\n      \"flows\": [],\n      \"executionEvidence\": {\n        \"anyExecution\": true,\n        \"passingTests\": [\n          \"node:test:1ecdf909d63f01021278acac\"\n        ],\n        \"outsidePassingTests\": []\n      }\n    },\n    {\n      \"id\": \"9545f0e0637e6573\",\n      \"file\": \"src/session.js\",\n      \"line\": 3,\n      \"at\": {\n        \"file\": \"src/session.js\",\n        \"line\": 3,\n        \"column\": 5,\n        \"text\": \"const total = price * quantity;\"\n      },\n      \"covered\": true,\n      \"tests\": [\n        \"node:test:1ecdf909d63f01021278acac\"\n      ],\n      \"declared\": false,\n      \"asserted\": false,\n      \"flows\": [],\n      \"executionEvidence\": {\n        \"anyExecution\": true,\n        \"passingTests\": [\n          \"node:test:1ecdf909d63f01021278acac\"\n        ],\n        \"outsidePassingTests\": []\n      }\n    },\n    {\n      \"id\": \"f008afe4c1cdd278\",\n      \"file\": \"src/session.js\",\n      \"line\": 4,\n      \"at\": {\n        \"file\": \"src/session.js\",\n        \"line\": 4,\n        \"column\": 5,\n        \"text\": \"return { status: 'confirmed', total };\"\n      },\n      \"covered\": true,\n      \"tests\": [\n        \"node:test:1ecdf909d63f01021278acac\"\n      ],\n      \"declared\": false,\n      \"asserted\": false,\n      \"flows\": [],\n      \"executionEvidence\": {\n        \"anyExecution\": true,\n        \"passingTests\": [\n          \"node:test:1ecdf909d63f01021278acac\"\n        ],\n        \"outsidePassingTests\": []\n      }\n    },\n    {\n      \"id\": \"dd5f77f8e42b4af1\",\n      \"file\": \"src/session.js\",\n      \"line\": 6,\n      \"at\": {\n        \"file\": \"src/session.js\",\n        \"line\": 6,\n        \"column\": 3,\n        \"text\": \"return { status: 'denied', total: 0 };\"\n      },\n      \"covered\": false,\n      \"tests\": [],\n      \"declared\": false,\n      \"asserted\": false,\n      \"flows\": [],\n      \"executionEvidence\": {\n        \"anyExecution\": false,\n        \"passingTests\": [],\n        \"outsidePassingTests\": []\n      }\n    }\n  ],\n  \"pagination\": {\n    \"offset\": 0,\n    \"returned\": 4,\n    \"total\": 4,\n    \"nextOffset\": null\n  },\n  \"summary\": {\n    \"status\": \"notAssessed\",\n    \"reason\": \"No recorded flow explanations\",\n    \"pendingChanges\": 0,\n    \"metric\": \"measured statements\",\n    \"statements\": {\n      \"asserted\": 0,\n      \"declared\": 0,\n      \"total\": 4,\n      \"percentage\": null\n    },\n    \"assertions\": 1,\n    \"inventoryAssertions\": 1,\n    \"missingInventoryAssertions\": 0,\n    \"assertionsWithFlows\": 0,\n    \"assertionsWithoutFlows\": 1,\n    \"observedAssertionsWithoutCurrentExplanation\": 1,\n    \"questions\": 0,\n    \"currentFlows\": 0,\n    \"draftFlows\": 0,\n    \"staleFlows\": 0,\n    \"invalidFlows\": 0,\n    \"eligibleFlows\": 0,\n    \"retiredAssertions\": 0,\n    \"unobservedAssertions\": 0,\n    \"inventoryFailures\": 0,\n    \"unanchoredStatements\": 0,\n    \"runPassed\": true,\n    \"lines\": {\n      \"asserted\": 0,\n      \"declared\": 0,\n      \"total\": 4,\n      \"percentage\": null\n    },\n    \"excludedStatements\": 0\n  },\n  \"basis\": \"agent-assessed; passing assertion identity and same-test execution required; not mutation resistance\",\n  \"validationErrors\": [],\n  \"limitations\": [\n    \"Syntax inventory covers recognized assertion forms, not every possible custom assertion. Agents may add exact source sites; missing runtime identity never earns credit.\",\n    \"Optional assertion calls are inventoried but currently have no injected phase. Unrecognized custom assertion wrappers and dynamically selected matchers may be absent. Use check --require-observed to detect inventoried sites without passing evidence.\"\n  ],\n  \"revision\": \"bd55e7b8578521c2c3b5c49e849b1d683f0c95ef41289c5f3e901e6fa1e5dbc6\",\n  \"inheritance\": {\n    \"from\": null,\n    \"skipped\": []\n  },\n  \"view\": \"statements\",\n  \"file\": \"src/session.js\",\n  \"needsAttention\": false,\n  \"scope\": \"summary covers the whole run with matching current source; --file filters items only\",\n  \"workingTree\": {\n    \"stale\": false,\n    \"reasons\": []\n  },\n  \"run\": \"run_fe9ebf540068ded6\",\n  \"map\": \"/private<project>/.supercov/runs/run_fe9ebf540068ded6/assertions.json\"\n}\n"
        },
        {
          "args": [
            "--",
            "npm",
            "test"
          ],
          "stdout": "\n> test\n> node --test tests/*.test.js\n\n✔ confirms an order (10.598125ms)\n✔ rejects a signed-out visitor (8.521708ms)\nℹ tests 2\nℹ suites 0\nℹ pass 2\nℹ fail 0\nℹ cancelled 0\nℹ skipped 0\nℹ todo 0\nℹ duration_ms 97.57575\n[coverage] evidence: /private<project>/.supercov/runs/run_fc5c7faa838073e2/evidence.raw.gz\n"
        },
        {
          "args": [
            "runs",
            "latest"
          ],
          "stdout": "run run_fc5c7faa838073e2\ncommand: npm test\n\nCoverage\n  Lines      100.00% (5/5)\n  Branches   100.00% (2/2)\n  MC/DC      50.00% (1/2)\nAssertions pending — Source changes need impact assessment\n  0 assertions with flows; 2 without; 0 current flows; 0 stale; 0 draft\n\nBy test kind\n  unit            2 test(s)  lines 100.00%  branches 100.00%  MC/DC  50.00%\n  2 test(s) use the runner's default kind; this is not inferred from their behavior.\n  Set SUPERCOV_TEST_KIND=integration (or unit/component/e2e) when running a suite to override it.\n\nMeasurement\n  Instrumentation  Complete for the measured command and coverage model\n  Scope            Only code reached by the wrapped command is observed; this status does not prove every project test suite was run.\n  Command outputs  /private<project>/.supercov/workspaces/workspace/supercov-homepage-recording-1xCat1\n\nTests\n  Total       2\n  Passed      2\n\nRemaining\n  Files with uncovered code         1\n  Files with measurement limits     0\n\nRuntime action phases (separate from assertion mappings)\n  Recorded within action phases      0 lines\n  Other recorded execution           5 lines\n  These runtime phase counts do not include the agent-assessed assertion coverage shown above.\n\nCommands\n  npx supercov runs 'run_fc5c7faa838073e2' files\n  npx supercov runs 'run_fc5c7faa838073e2' gaps\n  npx supercov runs 'run_fc5c7faa838073e2' kinds\n  npx supercov runs 'run_fc5c7faa838073e2' runners\n  npx supercov runs 'run_fc5c7faa838073e2' scope\n  npx supercov runs run_fc5c7faa838073e2 --help\n"
        },
        {
          "args": [
            "runs",
            "latest",
            "assertions",
            "--json"
          ],
          "stdout": "{\"schemaVersion\":1,\"ok\":true,\"command\":\"coverage.assertions\",\"data\":{\"items\":[{\"observation\":\"Passing assertion occurrence recorded.\",\"id\":\"a_084343be09ea2acc3665\",\"at\":{\"file\":\"tests/session.test.js\",\"line\":7,\"column\":3,\"text\":\"assert.equal(order.status, 'confirmed')\"},\"questions\":[],\"inMap\":true,\"observes\":[],\"operations\":[\"node:assert/strict.equal\"],\"observedPassingTests\":[\"node:test:1ecdf909d63f01021278acac\"],\"flows\":[]},{\"observation\":\"Passing assertion occurrence recorded.\",\"id\":\"a_9e03ade862dfb4490e97\",\"at\":{\"file\":\"tests/session.test.js\",\"line\":12,\"column\":3,\"text\":\"assert.equal(order.status, 'denied')\"},\"questions\":[],\"inMap\":true,\"observes\":[],\"operations\":[\"node:assert/strict.equal\"],\"observedPassingTests\":[\"node:test:e3c6f7f816450f7625f71929\"],\"flows\":[]}],\"pagination\":{\"offset\":0,\"returned\":2,\"total\":2,\"nextOffset\":null},\"summary\":{\"status\":\"pending\",\"reason\":\"Source changes need impact assessment\",\"pendingChanges\":1,\"metric\":\"measured statements\",\"statements\":{\"asserted\":0,\"declared\":0,\"total\":4,\"percentage\":null},\"assertions\":2,\"inventoryAssertions\":2,\"missingInventoryAssertions\":0,\"assertionsWithFlows\":0,\"assertionsWithoutFlows\":2,\"observedAssertionsWithoutCurrentExplanation\":2,\"questions\":0,\"currentFlows\":0,\"draftFlows\":0,\"staleFlows\":0,\"invalidFlows\":0,\"eligibleFlows\":0,\"retiredAssertions\":0,\"unobservedAssertions\":0,\"inventoryFailures\":0,\"unanchoredStatements\":0,\"runPassed\":true,\"lines\":{\"asserted\":0,\"declared\":0,\"total\":4,\"percentage\":null},\"excludedStatements\":0},\"basis\":\"agent-assessed; passing assertion identity and same-test execution required; not mutation resistance\",\"validationErrors\":[],\"limitations\":[\"Syntax inventory covers recognized assertion forms, not every possible custom assertion. Agents may add exact source sites; missing runtime identity never earns credit.\",\"Optional assertion calls are inventoried but currently have no injected phase. Unrecognized custom assertion wrappers and dynamically selected matchers may be absent. Use check --require-observed to detect inventoried sites without passing evidence.\"],\"revision\":\"adbdf7f34c63d1e15ced9df89df427f26f5997b70e56a264b8cee632e8db0bf1\",\"inheritance\":{\"from\":\"run_fe9ebf540068ded6\",\"skipped\":[]},\"view\":\"assertions\",\"file\":null,\"needsAttention\":false,\"scope\":\"summary covers the whole run with matching current source; --file filters items only\",\"workingTree\":{\"stale\":false,\"reasons\":[]},\"run\":\"run_fc5c7faa838073e2\",\"map\":\"/private<project>/.supercov/runs/run_fc5c7faa838073e2/assertions.json\"}}\n"
        },
        {
          "args": [
            "runs",
            "run_fc5c7faa838073e2",
            "assertions",
            "--json"
          ],
          "stdout": "{\"schemaVersion\":1,\"ok\":true,\"command\":\"coverage.assertions\",\"data\":{\"items\":[{\"observation\":\"Passing assertion occurrence recorded.\",\"id\":\"a_084343be09ea2acc3665\",\"at\":{\"file\":\"tests/session.test.js\",\"line\":7,\"column\":3,\"text\":\"assert.equal(order.status, 'confirmed')\"},\"questions\":[],\"inMap\":true,\"observes\":[],\"operations\":[\"node:assert/strict.equal\"],\"observedPassingTests\":[\"node:test:1ecdf909d63f01021278acac\"],\"flows\":[]},{\"observation\":\"Passing assertion occurrence recorded.\",\"id\":\"a_9e03ade862dfb4490e97\",\"at\":{\"file\":\"tests/session.test.js\",\"line\":12,\"column\":3,\"text\":\"assert.equal(order.status, 'denied')\"},\"questions\":[],\"inMap\":true,\"observes\":[],\"operations\":[\"node:assert/strict.equal\"],\"observedPassingTests\":[\"node:test:e3c6f7f816450f7625f71929\"],\"flows\":[]}],\"pagination\":{\"offset\":0,\"returned\":2,\"total\":2,\"nextOffset\":null},\"summary\":{\"status\":\"pending\",\"reason\":\"Source changes need impact assessment\",\"pendingChanges\":1,\"metric\":\"measured statements\",\"statements\":{\"asserted\":0,\"declared\":0,\"total\":4,\"percentage\":null},\"assertions\":2,\"inventoryAssertions\":2,\"missingInventoryAssertions\":0,\"assertionsWithFlows\":0,\"assertionsWithoutFlows\":2,\"observedAssertionsWithoutCurrentExplanation\":2,\"questions\":0,\"currentFlows\":0,\"draftFlows\":0,\"staleFlows\":0,\"invalidFlows\":0,\"eligibleFlows\":0,\"retiredAssertions\":0,\"unobservedAssertions\":0,\"inventoryFailures\":0,\"unanchoredStatements\":0,\"runPassed\":true,\"lines\":{\"asserted\":0,\"declared\":0,\"total\":4,\"percentage\":null},\"excludedStatements\":0},\"basis\":\"agent-assessed; passing assertion identity and same-test execution required; not mutation resistance\",\"validationErrors\":[],\"limitations\":[\"Syntax inventory covers recognized assertion forms, not every possible custom assertion. Agents may add exact source sites; missing runtime identity never earns credit.\",\"Optional assertion calls are inventoried but currently have no injected phase. Unrecognized custom assertion wrappers and dynamically selected matchers may be absent. Use check --require-observed to detect inventoried sites without passing evidence.\"],\"revision\":\"adbdf7f34c63d1e15ced9df89df427f26f5997b70e56a264b8cee632e8db0bf1\",\"inheritance\":{\"from\":\"run_fe9ebf540068ded6\",\"skipped\":[]},\"view\":\"assertions\",\"file\":null,\"needsAttention\":false,\"scope\":\"summary covers the whole run with matching current source; --file filters items only\",\"workingTree\":{\"stale\":false,\"reasons\":[]},\"run\":\"run_fc5c7faa838073e2\",\"map\":\"/private<project>/.supercov/runs/run_fc5c7faa838073e2/assertions.json\"}}\n"
        },
        {
          "args": [
            "runs",
            "run_fc5c7faa838073e2",
            "assertions",
            "report",
            "--view",
            "statements",
            "--json"
          ],
          "stdout": "{\"schemaVersion\":1,\"ok\":true,\"command\":\"coverage.assertions\",\"data\":{\"items\":[{\"id\":\"0dac866dbc3f5fce\",\"file\":\"src/session.js\",\"line\":2,\"at\":{\"file\":\"src/session.js\",\"line\":2,\"column\":3,\"text\":\"if (signedIn && !expired) {\\n    const total = price * quantity;\\n    return { status: 'confirmed', total };\\n  }\"},\"covered\":true,\"tests\":[\"node:test:1ecdf909d63f01021278acac\",\"node:test:e3c6f7f816450f7625f71929\"],\"declared\":false,\"asserted\":false,\"flows\":[],\"executionEvidence\":{\"anyExecution\":true,\"passingTests\":[\"node:test:1ecdf909d63f01021278acac\",\"node:test:e3c6f7f816450f7625f71929\"],\"outsidePassingTests\":[]}},{\"id\":\"9545f0e0637e6573\",\"file\":\"src/session.js\",\"line\":3,\"at\":{\"file\":\"src/session.js\",\"line\":3,\"column\":5,\"text\":\"const total = price * quantity;\"},\"covered\":true,\"tests\":[\"node:test:1ecdf909d63f01021278acac\"],\"declared\":false,\"asserted\":false,\"flows\":[],\"executionEvidence\":{\"anyExecution\":true,\"passingTests\":[\"node:test:1ecdf909d63f01021278acac\"],\"outsidePassingTests\":[]}},{\"id\":\"f008afe4c1cdd278\",\"file\":\"src/session.js\",\"line\":4,\"at\":{\"file\":\"src/session.js\",\"line\":4,\"column\":5,\"text\":\"return { status: 'confirmed', total };\"},\"covered\":true,\"tests\":[\"node:test:1ecdf909d63f01021278acac\"],\"declared\":false,\"asserted\":false,\"flows\":[],\"executionEvidence\":{\"anyExecution\":true,\"passingTests\":[\"node:test:1ecdf909d63f01021278acac\"],\"outsidePassingTests\":[]}},{\"id\":\"dd5f77f8e42b4af1\",\"file\":\"src/session.js\",\"line\":6,\"at\":{\"file\":\"src/session.js\",\"line\":6,\"column\":3,\"text\":\"return { status: 'denied', total: 0 };\"},\"covered\":true,\"tests\":[\"node:test:e3c6f7f816450f7625f71929\"],\"declared\":false,\"asserted\":false,\"flows\":[],\"executionEvidence\":{\"anyExecution\":true,\"passingTests\":[\"node:test:e3c6f7f816450f7625f71929\"],\"outsidePassingTests\":[]}}],\"pagination\":{\"offset\":0,\"returned\":4,\"total\":4,\"nextOffset\":null},\"summary\":{\"status\":\"pending\",\"reason\":\"Source changes need impact assessment\",\"pendingChanges\":1,\"metric\":\"measured statements\",\"statements\":{\"asserted\":0,\"declared\":0,\"total\":4,\"percentage\":null},\"assertions\":2,\"inventoryAssertions\":2,\"missingInventoryAssertions\":0,\"assertionsWithFlows\":0,\"assertionsWithoutFlows\":2,\"observedAssertionsWithoutCurrentExplanation\":2,\"questions\":0,\"currentFlows\":0,\"draftFlows\":0,\"staleFlows\":0,\"invalidFlows\":0,\"eligibleFlows\":0,\"retiredAssertions\":0,\"unobservedAssertions\":0,\"inventoryFailures\":0,\"unanchoredStatements\":0,\"runPassed\":true,\"lines\":{\"asserted\":0,\"declared\":0,\"total\":4,\"percentage\":null},\"excludedStatements\":0},\"basis\":\"agent-assessed; passing assertion identity and same-test execution required; not mutation resistance\",\"validationErrors\":[],\"limitations\":[\"Syntax inventory covers recognized assertion forms, not every possible custom assertion. Agents may add exact source sites; missing runtime identity never earns credit.\",\"Optional assertion calls are inventoried but currently have no injected phase. Unrecognized custom assertion wrappers and dynamically selected matchers may be absent. Use check --require-observed to detect inventoried sites without passing evidence.\"],\"revision\":\"adbdf7f34c63d1e15ced9df89df427f26f5997b70e56a264b8cee632e8db0bf1\",\"inheritance\":{\"from\":\"run_fe9ebf540068ded6\",\"skipped\":[]},\"view\":\"statements\",\"file\":null,\"needsAttention\":false,\"scope\":\"summary covers the whole run with matching current source; --file filters items only\",\"workingTree\":{\"stale\":false,\"reasons\":[]},\"run\":\"run_fc5c7faa838073e2\",\"map\":\"/private<project>/.supercov/runs/run_fc5c7faa838073e2/assertions.json\"}}\n"
        },
        {
          "args": [
            "runs",
            "run_fc5c7faa838073e2",
            "assertions",
            "report",
            "--view",
            "tests",
            "--json"
          ],
          "stdout": "{\"schemaVersion\":1,\"ok\":true,\"command\":\"coverage.assertions\",\"data\":{\"items\":[{\"id\":\"node:test:1ecdf909d63f01021278acac\",\"file\":\"tests/session.test.js\",\"name\":\"confirms an order\",\"role\":\"test\",\"outcome\":\"passed\",\"provenance\":{\"runner\":\"node:test\",\"kind\":\"unit\",\"source\":\"runner-default\"},\"hasExecutionEvidence\":true},{\"id\":\"node:test:e3c6f7f816450f7625f71929\",\"file\":\"tests/session.test.js\",\"name\":\"rejects a signed-out visitor\",\"role\":\"test\",\"outcome\":\"passed\",\"provenance\":{\"runner\":\"node:test\",\"kind\":\"unit\",\"source\":\"runner-default\"},\"hasExecutionEvidence\":true}],\"pagination\":{\"offset\":0,\"returned\":2,\"total\":2,\"nextOffset\":null},\"summary\":{\"status\":\"pending\",\"reason\":\"Source changes need impact assessment\",\"pendingChanges\":1,\"metric\":\"measured statements\",\"statements\":{\"asserted\":0,\"declared\":0,\"total\":4,\"percentage\":null},\"assertions\":2,\"inventoryAssertions\":2,\"missingInventoryAssertions\":0,\"assertionsWithFlows\":0,\"assertionsWithoutFlows\":2,\"observedAssertionsWithoutCurrentExplanation\":2,\"questions\":0,\"currentFlows\":0,\"draftFlows\":0,\"staleFlows\":0,\"invalidFlows\":0,\"eligibleFlows\":0,\"retiredAssertions\":0,\"unobservedAssertions\":0,\"inventoryFailures\":0,\"unanchoredStatements\":0,\"runPassed\":true,\"lines\":{\"asserted\":0,\"declared\":0,\"total\":4,\"percentage\":null},\"excludedStatements\":0},\"basis\":\"agent-assessed; passing assertion identity and same-test execution required; not mutation resistance\",\"validationErrors\":[],\"limitations\":[\"Syntax inventory covers recognized assertion forms, not every possible custom assertion. Agents may add exact source sites; missing runtime identity never earns credit.\",\"Optional assertion calls are inventoried but currently have no injected phase. Unrecognized custom assertion wrappers and dynamically selected matchers may be absent. Use check --require-observed to detect inventoried sites without passing evidence.\"],\"revision\":\"adbdf7f34c63d1e15ced9df89df427f26f5997b70e56a264b8cee632e8db0bf1\",\"inheritance\":{\"from\":\"run_fe9ebf540068ded6\",\"skipped\":[]},\"view\":\"tests\",\"file\":null,\"needsAttention\":false,\"scope\":\"summary covers the whole run with matching current source; --file filters items only\",\"workingTree\":{\"stale\":false,\"reasons\":[]},\"run\":\"run_fc5c7faa838073e2\",\"map\":\"/private<project>/.supercov/runs/run_fc5c7faa838073e2/assertions.json\"}}\n"
        },
        {
          "args": [
            "runs",
            "run_fc5c7faa838073e2",
            "assertions",
            "report",
            "--view",
            "changes",
            "--json"
          ],
          "stdout": "{\"schemaVersion\":1,\"ok\":true,\"command\":\"coverage.assertions\",\"data\":{\"items\":[{\"id\":\"c_7e5cc9e5cc8e4d5eaa8598ae\",\"file\":\"tests/session.test.js\",\"before\":\"0a5c1634017b2229cc906e2b2cc79270783adaa37097a4f4156e31e44e9579ac\",\"after\":\"f8eef9ef9da0bd531d6986777ae1df7fcab2e6d171951b14cbece47fa33d34b4\",\"reason\":\"captured source file changed\",\"knownFlows\":[],\"current\":false,\"assessment\":null,\"errors\":[],\"expectedBasis\":null}],\"pagination\":{\"offset\":0,\"returned\":1,\"total\":1,\"nextOffset\":null},\"summary\":{\"status\":\"pending\",\"reason\":\"Source changes need impact assessment\",\"pendingChanges\":1,\"metric\":\"measured statements\",\"statements\":{\"asserted\":0,\"declared\":0,\"total\":4,\"percentage\":null},\"assertions\":2,\"inventoryAssertions\":2,\"missingInventoryAssertions\":0,\"assertionsWithFlows\":0,\"assertionsWithoutFlows\":2,\"observedAssertionsWithoutCurrentExplanation\":2,\"questions\":0,\"currentFlows\":0,\"draftFlows\":0,\"staleFlows\":0,\"invalidFlows\":0,\"eligibleFlows\":0,\"retiredAssertions\":0,\"unobservedAssertions\":0,\"inventoryFailures\":0,\"unanchoredStatements\":0,\"runPassed\":true,\"lines\":{\"asserted\":0,\"declared\":0,\"total\":4,\"percentage\":null},\"excludedStatements\":0},\"basis\":\"agent-assessed; passing assertion identity and same-test execution required; not mutation resistance\",\"validationErrors\":[],\"limitations\":[\"Syntax inventory covers recognized assertion forms, not every possible custom assertion. Agents may add exact source sites; missing runtime identity never earns credit.\",\"Optional assertion calls are inventoried but currently have no injected phase. Unrecognized custom assertion wrappers and dynamically selected matchers may be absent. Use check --require-observed to detect inventoried sites without passing evidence.\"],\"revision\":\"adbdf7f34c63d1e15ced9df89df427f26f5997b70e56a264b8cee632e8db0bf1\",\"inheritance\":{\"from\":\"run_fe9ebf540068ded6\",\"skipped\":[]},\"view\":\"changes\",\"file\":null,\"needsAttention\":false,\"scope\":\"summary covers the whole run with matching current source; --file filters items only\",\"workingTree\":{\"stale\":false,\"reasons\":[]},\"run\":\"run_fc5c7faa838073e2\",\"map\":\"/private<project>/.supercov/runs/run_fc5c7faa838073e2/assertions.json\"}}\n"
        },
        {
          "args": [
            "runs",
            "run_fc5c7faa838073e2",
            "assertions",
            "validate",
            "--json"
          ],
          "stdout": "{\"schemaVersion\":1,\"ok\":true,\"command\":\"coverage.assertions\",\"data\":{\"valid\":true,\"stage\":\"references\",\"errors\":[],\"flows\":[{\"id\":\"a_084343be09ea2acc3665/returned-status\",\"expectedBasis\":\"scov2:bfbdee8492dea460c1eac16e004eee586cf83bc7d14e69b29aa771a131a44a20\",\"reasons\":[\"draft: input acknowledgement not recorded\"]},{\"id\":\"a_9e03ade862dfb4490e97/returned-status\",\"expectedBasis\":\"scov2:58c42de5a3fb7ec14f1d803419c170978c915e19a50fc7f7eaa285c760948e46\",\"reasons\":[\"draft: input acknowledgement not recorded\"]}],\"changes\":[{\"id\":\"c_7e5cc9e5cc8e4d5eaa8598ae\",\"file\":\"tests/session.test.js\",\"before\":\"0a5c1634017b2229cc906e2b2cc79270783adaa37097a4f4156e31e44e9579ac\",\"after\":\"f8eef9ef9da0bd531d6986777ae1df7fcab2e6d171951b14cbece47fa33d34b4\",\"reason\":\"captured source file changed\",\"knownFlows\":[],\"current\":false,\"assessment\":{\"id\":\"c_7e5cc9e5cc8e4d5eaa8598ae\",\"basis\":null,\"affectedFlows\":[],\"explanation\":\"Only the fixture test file changed. The current test inputs and assertions have been reviewed against this run’s mappings. The application source is unchanged.\"},\"errors\":[],\"expectedBasis\":\"scov2:9befb16ba9b5dceab79ef86749e901f8ed331c2b1a4115c32c21fbae15b592ab\"}],\"meaning\":\"Authored graph references and input acknowledgements only; no semantic proof or completeness claim\",\"revision\":\"0b019a3f9dea4157239d92d287f7100853327559fc5d0f3c8943dd8a5abaed1d\",\"workingTree\":{\"stale\":false,\"reasons\":[]},\"run\":\"run_fc5c7faa838073e2\",\"map\":\"/private<project>/.supercov/runs/run_fc5c7faa838073e2/assertions.json\"}}\n"
        },
        {
          "args": [
            "runs",
            "run_fc5c7faa838073e2",
            "assertions",
            "validate",
            "--json"
          ],
          "stdout": "{\"schemaVersion\":1,\"ok\":true,\"command\":\"coverage.assertions\",\"data\":{\"valid\":true,\"stage\":\"references\",\"errors\":[],\"flows\":[{\"id\":\"a_084343be09ea2acc3665/returned-status\",\"expectedBasis\":\"scov2:bfbdee8492dea460c1eac16e004eee586cf83bc7d14e69b29aa771a131a44a20\",\"reasons\":[\"draft: input acknowledgement not recorded\"]},{\"id\":\"a_9e03ade862dfb4490e97/returned-status\",\"expectedBasis\":\"scov2:58c42de5a3fb7ec14f1d803419c170978c915e19a50fc7f7eaa285c760948e46\",\"reasons\":[\"draft: input acknowledgement not recorded\"]}],\"changes\":[{\"id\":\"c_7e5cc9e5cc8e4d5eaa8598ae\",\"file\":\"tests/session.test.js\",\"before\":\"0a5c1634017b2229cc906e2b2cc79270783adaa37097a4f4156e31e44e9579ac\",\"after\":\"f8eef9ef9da0bd531d6986777ae1df7fcab2e6d171951b14cbece47fa33d34b4\",\"reason\":\"captured source file changed\",\"knownFlows\":[],\"current\":true,\"assessment\":{\"id\":\"c_7e5cc9e5cc8e4d5eaa8598ae\",\"basis\":\"scov2:9befb16ba9b5dceab79ef86749e901f8ed331c2b1a4115c32c21fbae15b592ab\",\"affectedFlows\":[],\"explanation\":\"Only the fixture test file changed. The current test inputs and assertions have been reviewed against this run’s mappings. The application source is unchanged.\"},\"errors\":[],\"expectedBasis\":\"scov2:9befb16ba9b5dceab79ef86749e901f8ed331c2b1a4115c32c21fbae15b592ab\"}],\"meaning\":\"Authored graph references and input acknowledgements only; no semantic proof or completeness claim\",\"revision\":\"b7adfbca3952884e3b1daa066604f4ed80233f4be6e1505df207079ee82d4fa4\",\"workingTree\":{\"stale\":false,\"reasons\":[]},\"run\":\"run_fc5c7faa838073e2\",\"map\":\"/private<project>/.supercov/runs/run_fc5c7faa838073e2/assertions.json\"}}\n"
        },
        {
          "args": [
            "runs",
            "run_fc5c7faa838073e2",
            "assertions",
            "check",
            "--require-mappings"
          ],
          "stdout": "{\n  \"summary\": {\n    \"status\": \"available\",\n    \"reason\": \"Agent-assessed statements; mapping completeness is unknown\",\n    \"pendingChanges\": 0,\n    \"metric\": \"measured statements\",\n    \"statements\": {\n      \"asserted\": 3,\n      \"declared\": 3,\n      \"total\": 4,\n      \"percentage\": 75.0\n    },\n    \"assertions\": 2,\n    \"inventoryAssertions\": 2,\n    \"missingInventoryAssertions\": 0,\n    \"assertionsWithFlows\": 2,\n    \"assertionsWithoutFlows\": 0,\n    \"observedAssertionsWithoutCurrentExplanation\": 0,\n    \"questions\": 0,\n    \"currentFlows\": 2,\n    \"draftFlows\": 0,\n    \"staleFlows\": 0,\n    \"invalidFlows\": 0,\n    \"eligibleFlows\": 2,\n    \"retiredAssertions\": 0,\n    \"unobservedAssertions\": 0,\n    \"inventoryFailures\": 0,\n    \"unanchoredStatements\": 0,\n    \"runPassed\": true,\n    \"lines\": {\n      \"asserted\": 3,\n      \"declared\": 3,\n      \"total\": 4,\n      \"percentage\": 75.0\n    },\n    \"excludedStatements\": 0\n  },\n  \"basis\": \"agent-assessed; passing assertion identity and same-test execution required; not mutation resistance\",\n  \"validationErrors\": [],\n  \"limitations\": [\n    \"Syntax inventory covers recognized assertion forms, not every possible custom assertion. Agents may add exact source sites; missing runtime identity never earns credit.\",\n    \"Optional assertion calls are inventoried but currently have no injected phase. Unrecognized custom assertion wrappers and dynamically selected matchers may be absent. Use check --require-observed to detect inventoried sites without passing evidence.\"\n  ],\n  \"revision\": \"eec6c24c25ca72954315c206ecb83ecd8e84a7ea61511650579b0340a42c3dc2\",\n  \"inheritance\": {\n    \"from\": \"run_fe9ebf540068ded6\",\n    \"skipped\": []\n  },\n  \"view\": \"summary\",\n  \"file\": null,\n  \"needsAttention\": false,\n  \"scope\": \"summary covers the whole run with matching current source; --file filters items only\",\n  \"workingTree\": {\n    \"stale\": false,\n    \"reasons\": []\n  },\n  \"valid\": true,\n  \"failures\": [],\n  \"requirements\": {\n    \"mappings\": true,\n    \"observed\": false,\n    \"minimum\": null\n  },\n  \"run\": \"run_fc5c7faa838073e2\",\n  \"map\": \"/private<project>/.supercov/runs/run_fc5c7faa838073e2/assertions.json\"\n}\n"
        },
        {
          "args": [
            "runs",
            "run_fc5c7faa838073e2"
          ],
          "stdout": "run run_fc5c7faa838073e2\ncommand: npm test\n\nCoverage\n  Lines      100.00% (5/5)\n  Branches   100.00% (2/2)\n  MC/DC      50.00% (1/2)\nAssertions 75.00% (3/4) — agent-assessed statements, whole run\n  2 assertions with flows; 0 without; 2 current flows; 0 stale; 0 draft\n\nBy test kind\n  unit            2 test(s)  lines 100.00%  branches 100.00%  MC/DC  50.00%\n  2 test(s) use the runner's default kind; this is not inferred from their behavior.\n  Set SUPERCOV_TEST_KIND=integration (or unit/component/e2e) when running a suite to override it.\n\nMeasurement\n  Instrumentation  Complete for the measured command and coverage model\n  Scope            Only code reached by the wrapped command is observed; this status does not prove every project test suite was run.\n  Command outputs  /private<project>/.supercov/workspaces/workspace/supercov-homepage-recording-1xCat1\n\nTests\n  Total       2\n  Passed      2\n\nRemaining\n  Files with uncovered code         1\n  Files with measurement limits     0\n\nRuntime action phases (separate from assertion mappings)\n  Recorded within action phases      0 lines\n  Other recorded execution           5 lines\n  These runtime phase counts do not include the agent-assessed assertion coverage shown above.\n\nCommands\n  npx supercov runs 'run_fc5c7faa838073e2' files\n  npx supercov runs 'run_fc5c7faa838073e2' gaps\n  npx supercov runs 'run_fc5c7faa838073e2' kinds\n  npx supercov runs 'run_fc5c7faa838073e2' runners\n  npx supercov runs 'run_fc5c7faa838073e2' scope\n  npx supercov runs run_fc5c7faa838073e2 --help\n"
        },
        {
          "args": [
            "runs",
            "run_fc5c7faa838073e2",
            "assertions",
            "--json"
          ],
          "stdout": "{\"schemaVersion\":1,\"ok\":true,\"command\":\"coverage.assertions\",\"data\":{\"items\":[{\"observation\":\"Passing assertion occurrence recorded.\",\"id\":\"a_084343be09ea2acc3665\",\"at\":{\"file\":\"tests/session.test.js\",\"line\":7,\"column\":3,\"text\":\"assert.equal(order.status, 'confirmed')\"},\"questions\":[],\"inMap\":true,\"observes\":[\"The returned status equals confirmed for this test input.\"],\"operations\":[\"node:assert/strict.equal\"],\"observedPassingTests\":[\"node:test:1ecdf909d63f01021278acac\"],\"flows\":[{\"id\":\"returned-status\",\"freshness\":\"current\",\"valid\":true,\"current\":true,\"expectedBasis\":\"scov2:bfbdee8492dea460c1eac16e004eee586cf83bc7d14e69b29aa771a131a44a20\",\"selectors\":[{\"file\":\"tests/session.test.js\",\"name\":\"confirms an order\",\"status\":\"observed\",\"outcomes\":[\"passed\"],\"reason\":\"A passing assertion occurrence matches this test.\"}],\"questions\":[],\"reasons\":[],\"eligible\":true,\"blockers\":[],\"matchingTests\":[\"node:test:1ecdf909d63f01021278acac\"],\"creditedStatementLines\":[[\"src/session.js\",2],[\"src/session.js\",4]],\"nodeCredit\":[{\"nodeId\":\"n0\",\"location\":{\"file\":\"src/session.js\",\"line\":2,\"column\":3},\"status\":\"credited\",\"statementIds\":[\"0dac866dbc3f5fce\"],\"matchingTests\":[\"node:test:1ecdf909d63f01021278acac\"],\"reasons\":[{\"code\":\"same_test_execution\",\"message\":\"Current agent claim, passing assertion, and statement execution in the same selected test.\"}]},{\"nodeId\":\"n1\",\"location\":{\"file\":\"src/session.js\",\"line\":4,\"column\":5},\"status\":\"credited\",\"statementIds\":[\"f008afe4c1cdd278\"],\"matchingTests\":[\"node:test:1ecdf909d63f01021278acac\"],\"reasons\":[{\"code\":\"same_test_execution\",\"message\":\"Current agent claim, passing assertion, and statement execution in the same selected test.\"}]}]}]},{\"observation\":\"Passing assertion occurrence recorded.\",\"id\":\"a_9e03ade862dfb4490e97\",\"at\":{\"file\":\"tests/session.test.js\",\"line\":12,\"column\":3,\"text\":\"assert.equal(order.status, 'denied')\"},\"questions\":[],\"inMap\":true,\"observes\":[\"The returned status equals denied for this test input.\"],\"operations\":[\"node:assert/strict.equal\"],\"observedPassingTests\":[\"node:test:e3c6f7f816450f7625f71929\"],\"flows\":[{\"id\":\"returned-status\",\"freshness\":\"current\",\"valid\":true,\"current\":true,\"expectedBasis\":\"scov2:58c42de5a3fb7ec14f1d803419c170978c915e19a50fc7f7eaa285c760948e46\",\"selectors\":[{\"file\":\"tests/session.test.js\",\"name\":\"rejects a signed-out visitor\",\"status\":\"observed\",\"outcomes\":[\"passed\"],\"reason\":\"A passing assertion occurrence matches this test.\"}],\"questions\":[],\"reasons\":[],\"eligible\":true,\"blockers\":[],\"matchingTests\":[\"node:test:e3c6f7f816450f7625f71929\"],\"creditedStatementLines\":[[\"src/session.js\",2],[\"src/session.js\",6]],\"nodeCredit\":[{\"nodeId\":\"n0\",\"location\":{\"file\":\"src/session.js\",\"line\":2,\"column\":3},\"status\":\"credited\",\"statementIds\":[\"0dac866dbc3f5fce\"],\"matchingTests\":[\"node:test:e3c6f7f816450f7625f71929\"],\"reasons\":[{\"code\":\"same_test_execution\",\"message\":\"Current agent claim, passing assertion, and statement execution in the same selected test.\"}]},{\"nodeId\":\"n1\",\"location\":{\"file\":\"src/session.js\",\"line\":6,\"column\":3},\"status\":\"credited\",\"statementIds\":[\"dd5f77f8e42b4af1\"],\"matchingTests\":[\"node:test:e3c6f7f816450f7625f71929\"],\"reasons\":[{\"code\":\"same_test_execution\",\"message\":\"Current agent claim, passing assertion, and statement execution in the same selected test.\"}]}]}]}],\"pagination\":{\"offset\":0,\"returned\":2,\"total\":2,\"nextOffset\":null},\"summary\":{\"status\":\"available\",\"reason\":\"Agent-assessed statements; mapping completeness is unknown\",\"pendingChanges\":0,\"metric\":\"measured statements\",\"statements\":{\"asserted\":3,\"declared\":3,\"total\":4,\"percentage\":75.0},\"assertions\":2,\"inventoryAssertions\":2,\"missingInventoryAssertions\":0,\"assertionsWithFlows\":2,\"assertionsWithoutFlows\":0,\"observedAssertionsWithoutCurrentExplanation\":0,\"questions\":0,\"currentFlows\":2,\"draftFlows\":0,\"staleFlows\":0,\"invalidFlows\":0,\"eligibleFlows\":2,\"retiredAssertions\":0,\"unobservedAssertions\":0,\"inventoryFailures\":0,\"unanchoredStatements\":0,\"runPassed\":true,\"lines\":{\"asserted\":3,\"declared\":3,\"total\":4,\"percentage\":75.0},\"excludedStatements\":0},\"basis\":\"agent-assessed; passing assertion identity and same-test execution required; not mutation resistance\",\"validationErrors\":[],\"limitations\":[\"Syntax inventory covers recognized assertion forms, not every possible custom assertion. Agents may add exact source sites; missing runtime identity never earns credit.\",\"Optional assertion calls are inventoried but currently have no injected phase. Unrecognized custom assertion wrappers and dynamically selected matchers may be absent. Use check --require-observed to detect inventoried sites without passing evidence.\"],\"revision\":\"eec6c24c25ca72954315c206ecb83ecd8e84a7ea61511650579b0340a42c3dc2\",\"inheritance\":{\"from\":\"run_fe9ebf540068ded6\",\"skipped\":[]},\"view\":\"assertions\",\"file\":null,\"needsAttention\":false,\"scope\":\"summary covers the whole run with matching current source; --file filters items only\",\"workingTree\":{\"stale\":false,\"reasons\":[]},\"run\":\"run_fc5c7faa838073e2\",\"map\":\"/private<project>/.supercov/runs/run_fc5c7faa838073e2/assertions.json\"}}\n"
        },
        {
          "args": [
            "runs",
            "run_fc5c7faa838073e2"
          ],
          "stdout": "run run_fc5c7faa838073e2\ncommand: npm test\n\nCoverage\n  Lines      100.00% (5/5)\n  Branches   100.00% (2/2)\n  MC/DC      50.00% (1/2)\nAssertions 75.00% (3/4) — agent-assessed statements, whole run\n  2 assertions with flows; 0 without; 2 current flows; 0 stale; 0 draft\n\nBy test kind\n  unit            2 test(s)  lines 100.00%  branches 100.00%  MC/DC  50.00%\n  2 test(s) use the runner's default kind; this is not inferred from their behavior.\n  Set SUPERCOV_TEST_KIND=integration (or unit/component/e2e) when running a suite to override it.\n\nMeasurement\n  Instrumentation  Complete for the measured command and coverage model\n  Scope            Only code reached by the wrapped command is observed; this status does not prove every project test suite was run.\n  Command outputs  /private<project>/.supercov/workspaces/workspace/supercov-homepage-recording-1xCat1\n\nTests\n  Total       2\n  Passed      2\n\nRemaining\n  Files with uncovered code         1\n  Files with measurement limits     0\n\nRuntime action phases (separate from assertion mappings)\n  Recorded within action phases      0 lines\n  Other recorded execution           5 lines\n  These runtime phase counts do not include the agent-assessed assertion coverage shown above.\n\nCommands\n  npx supercov runs 'run_fc5c7faa838073e2' files\n  npx supercov runs 'run_fc5c7faa838073e2' gaps\n  npx supercov runs 'run_fc5c7faa838073e2' kinds\n  npx supercov runs 'run_fc5c7faa838073e2' runners\n  npx supercov runs 'run_fc5c7faa838073e2' scope\n  npx supercov runs run_fc5c7faa838073e2 --help\n"
        },
        {
          "args": [
            "runs",
            "run_fc5c7faa838073e2",
            "gaps",
            "--limit",
            "5"
          ],
          "stdout": "Coverage gaps — only files with unresolved obligations\n\nsrc/session.js\n  uncovered: lines 0  statements 0  functions 0  branch outcomes 0  MC/DC conditions 1\n\nshowing 1-1 of 1\ninspect file: npx supercov runs 'run_fc5c7faa838073e2' file 'src/session.js'\n"
        },
        {
          "args": [
            "runs",
            "run_fc5c7faa838073e2",
            "file",
            "src/session.js"
          ],
          "stdout": "src/session.js\n\nUncovered\n  Lines not executed              0\n  Statements not executed         0\n  Functions not called            0\n  Branch outcomes not taken       0\n  MC/DC conditions not shown      1\n  Measurement limitations         0\n\nTests touching this file: 2\n\nGaps\n  NOT COVERED = line never executed; PARTIAL = line executed but some behavior remains untested\n LINE  STATUS        SOURCE\n    2  PARTIAL       signedIn && !expired\n       Unobserved: no witness pair shows `!expired` independently changing the decision result\n       Inspect: npx supercov runs 'run_fc5c7faa838073e2' line 'src/session.js:2'\nshowing 1-1 of 1 gap lines\n"
        },
        {
          "args": [
            "runs",
            "run_fc5c7faa838073e2",
            "line",
            "src/session.js:3"
          ],
          "stdout": "src/session.js:3\n\nSource\n      3 | const total = price * quantity;\n\nStatus\n  COVERED\n  Evidence: execution only\n\nCoverage details\n  Statement at column 5 — covered (1 covering tests)\n    `const total = price * quantity;`\n\nCovering tests\n  confirms an order [node:test:1ecdf909d63f01021278acac] — unit/node:test\n\nTest phases\n  node:assert/strict.equal (passed) at tests/session.test.js:7:3\n"
        },
        {
          "args": [
            "runs",
            "run_fc5c7faa838073e2",
            "decision",
            "src/session.js:2"
          ],
          "stdout": "cf8decfeb68a3191  src/session.js:2:7\nsignedIn && !expired\nC1 covered: signedIn\nC2 MISSING: !expired\nconfidence executed\nvectors:\n  F- -> F  tests=1 confidence=executed\n  TT -> T  tests=1 confidence=executed\nshowing 1-2 of 2 conditions/vectors/tests per decision\n"
        },
        {
          "args": [
            "runs",
            "run_fc5c7faa838073e2",
            "assertions",
            "report",
            "--view",
            "statements",
            "--file",
            "src/session.js"
          ],
          "stdout": "{\n  \"items\": [\n    {\n      \"id\": \"0dac866dbc3f5fce\",\n      \"file\": \"src/session.js\",\n      \"line\": 2,\n      \"at\": {\n        \"file\": \"src/session.js\",\n        \"line\": 2,\n        \"column\": 3,\n        \"text\": \"if (signedIn && !expired) {\\n    const total = price * quantity;\\n    return { status: 'confirmed', total };\\n  }\"\n      },\n      \"covered\": true,\n      \"tests\": [\n        \"node:test:1ecdf909d63f01021278acac\",\n        \"node:test:e3c6f7f816450f7625f71929\"\n      ],\n      \"declared\": true,\n      \"asserted\": true,\n      \"flows\": [\n        \"a_084343be09ea2acc3665/returned-status\",\n        \"a_9e03ade862dfb4490e97/returned-status\"\n      ],\n      \"executionEvidence\": {\n        \"anyExecution\": true,\n        \"passingTests\": [\n          \"node:test:1ecdf909d63f01021278acac\",\n          \"node:test:e3c6f7f816450f7625f71929\"\n        ],\n        \"outsidePassingTests\": []\n      }\n    },\n    {\n      \"id\": \"9545f0e0637e6573\",\n      \"file\": \"src/session.js\",\n      \"line\": 3,\n      \"at\": {\n        \"file\": \"src/session.js\",\n        \"line\": 3,\n        \"column\": 5,\n        \"text\": \"const total = price * quantity;\"\n      },\n      \"covered\": true,\n      \"tests\": [\n        \"node:test:1ecdf909d63f01021278acac\"\n      ],\n      \"declared\": false,\n      \"asserted\": false,\n      \"flows\": [],\n      \"executionEvidence\": {\n        \"anyExecution\": true,\n        \"passingTests\": [\n          \"node:test:1ecdf909d63f01021278acac\"\n        ],\n        \"outsidePassingTests\": []\n      }\n    },\n    {\n      \"id\": \"f008afe4c1cdd278\",\n      \"file\": \"src/session.js\",\n      \"line\": 4,\n      \"at\": {\n        \"file\": \"src/session.js\",\n        \"line\": 4,\n        \"column\": 5,\n        \"text\": \"return { status: 'confirmed', total };\"\n      },\n      \"covered\": true,\n      \"tests\": [\n        \"node:test:1ecdf909d63f01021278acac\"\n      ],\n      \"declared\": true,\n      \"asserted\": true,\n      \"flows\": [\n        \"a_084343be09ea2acc3665/returned-status\"\n      ],\n      \"executionEvidence\": {\n        \"anyExecution\": true,\n        \"passingTests\": [\n          \"node:test:1ecdf909d63f01021278acac\"\n        ],\n        \"outsidePassingTests\": []\n      }\n    },\n    {\n      \"id\": \"dd5f77f8e42b4af1\",\n      \"file\": \"src/session.js\",\n      \"line\": 6,\n      \"at\": {\n        \"file\": \"src/session.js\",\n        \"line\": 6,\n        \"column\": 3,\n        \"text\": \"return { status: 'denied', total: 0 };\"\n      },\n      \"covered\": true,\n      \"tests\": [\n        \"node:test:e3c6f7f816450f7625f71929\"\n      ],\n      \"declared\": true,\n      \"asserted\": true,\n      \"flows\": [\n        \"a_9e03ade862dfb4490e97/returned-status\"\n      ],\n      \"executionEvidence\": {\n        \"anyExecution\": true,\n        \"passingTests\": [\n          \"node:test:e3c6f7f816450f7625f71929\"\n        ],\n        \"outsidePassingTests\": []\n      }\n    }\n  ],\n  \"pagination\": {\n    \"offset\": 0,\n    \"returned\": 4,\n    \"total\": 4,\n    \"nextOffset\": null\n  },\n  \"summary\": {\n    \"status\": \"available\",\n    \"reason\": \"Agent-assessed statements; mapping completeness is unknown\",\n    \"pendingChanges\": 0,\n    \"metric\": \"measured statements\",\n    \"statements\": {\n      \"asserted\": 3,\n      \"declared\": 3,\n      \"total\": 4,\n      \"percentage\": 75.0\n    },\n    \"assertions\": 2,\n    \"inventoryAssertions\": 2,\n    \"missingInventoryAssertions\": 0,\n    \"assertionsWithFlows\": 2,\n    \"assertionsWithoutFlows\": 0,\n    \"observedAssertionsWithoutCurrentExplanation\": 0,\n    \"questions\": 0,\n    \"currentFlows\": 2,\n    \"draftFlows\": 0,\n    \"staleFlows\": 0,\n    \"invalidFlows\": 0,\n    \"eligibleFlows\": 2,\n    \"retiredAssertions\": 0,\n    \"unobservedAssertions\": 0,\n    \"inventoryFailures\": 0,\n    \"unanchoredStatements\": 0,\n    \"runPassed\": true,\n    \"lines\": {\n      \"asserted\": 3,\n      \"declared\": 3,\n      \"total\": 4,\n      \"percentage\": 75.0\n    },\n    \"excludedStatements\": 0\n  },\n  \"basis\": \"agent-assessed; passing assertion identity and same-test execution required; not mutation resistance\",\n  \"validationErrors\": [],\n  \"limitations\": [\n    \"Syntax inventory covers recognized assertion forms, not every possible custom assertion. Agents may add exact source sites; missing runtime identity never earns credit.\",\n    \"Optional assertion calls are inventoried but currently have no injected phase. Unrecognized custom assertion wrappers and dynamically selected matchers may be absent. Use check --require-observed to detect inventoried sites without passing evidence.\"\n  ],\n  \"revision\": \"eec6c24c25ca72954315c206ecb83ecd8e84a7ea61511650579b0340a42c3dc2\",\n  \"inheritance\": {\n    \"from\": \"run_fe9ebf540068ded6\",\n    \"skipped\": []\n  },\n  \"view\": \"statements\",\n  \"file\": \"src/session.js\",\n  \"needsAttention\": false,\n  \"scope\": \"summary covers the whole run with matching current source; --file filters items only\",\n  \"workingTree\": {\n    \"stale\": false,\n    \"reasons\": []\n  },\n  \"run\": \"run_fc5c7faa838073e2\",\n  \"map\": \"/private<project>/.supercov/runs/run_fc5c7faa838073e2/assertions.json\"\n}\n"
        },
        {
          "args": [
            "runs",
            "run_fc5c7faa838073e2",
            "decision",
            "src/session.js:2"
          ],
          "stdout": "cf8decfeb68a3191  src/session.js:2:7\nsignedIn && !expired\nC1 covered: signedIn\nC2 MISSING: !expired\nconfidence executed\nvectors:\n  F- -> F  tests=1 confidence=executed\n  TT -> T  tests=1 confidence=executed\nshowing 1-2 of 2 conditions/vectors/tests per decision\n"
        },
        {
          "args": [
            "--",
            "npm",
            "test"
          ],
          "stdout": "\n> test\n> node --test tests/*.test.js\n\n✔ confirms an order (11.391417ms)\n✔ rejects a signed-out visitor (8.476375ms)\n✔ rejects an expired session (7.917833ms)\nℹ tests 3\nℹ suites 0\nℹ pass 3\nℹ fail 0\nℹ cancelled 0\nℹ skipped 0\nℹ todo 0\nℹ duration_ms 112.51725\n[coverage] evidence: /private<project>/.supercov/runs/run_f486616def5ef17a/evidence.raw.gz\n"
        },
        {
          "args": [
            "runs",
            "latest",
            "assertions",
            "--json"
          ],
          "stdout": "{\"schemaVersion\":1,\"ok\":true,\"command\":\"coverage.assertions\",\"data\":{\"items\":[{\"observation\":\"Passing assertion occurrence recorded.\",\"id\":\"a_084343be09ea2acc3665\",\"at\":{\"file\":\"tests/session.test.js\",\"line\":7,\"column\":3,\"text\":\"assert.equal(order.status, 'confirmed')\"},\"questions\":[],\"inMap\":true,\"observes\":[\"The returned status equals confirmed for this test input.\"],\"operations\":[\"node:assert/strict.equal\"],\"observedPassingTests\":[\"node:test:1ecdf909d63f01021278acac\"],\"flows\":[{\"id\":\"returned-status\",\"freshness\":\"stale\",\"valid\":true,\"current\":false,\"expectedBasis\":\"scov2:b5e3bbbef5857ac5c3ecf0e3c38eae5687878a5274ff87ffd4e5739d923e0986\",\"selectors\":[{\"file\":\"tests/session.test.js\",\"name\":\"confirms an order\",\"status\":\"observed\",\"outcomes\":[\"passed\"],\"reason\":\"A passing assertion occurrence matches this test.\"}],\"questions\":[],\"reasons\":[\"claim or inputs changed; needs rechecking\",\"dependency file changed or removed: tests/session.test.js\"],\"eligible\":false,\"blockers\":[\"flow requires review or reference repair\"],\"matchingTests\":[\"node:test:1ecdf909d63f01021278acac\"],\"creditedStatementLines\":[],\"nodeCredit\":[{\"nodeId\":\"n0\",\"location\":{\"file\":\"src/session.js\",\"line\":2,\"column\":3},\"status\":\"notCredited\",\"statementIds\":[\"0dac866dbc3f5fce\"],\"matchingTests\":[\"node:test:1ecdf909d63f01021278acac\"],\"reasons\":[{\"code\":\"flow_needs_attention\",\"message\":\"Flow needs investigation: claim or inputs changed; needs rechecking; dependency file changed or removed: tests/session.test.js\"}]},{\"nodeId\":\"n1\",\"location\":{\"file\":\"src/session.js\",\"line\":4,\"column\":5},\"status\":\"notCredited\",\"statementIds\":[\"f008afe4c1cdd278\"],\"matchingTests\":[\"node:test:1ecdf909d63f01021278acac\"],\"reasons\":[{\"code\":\"flow_needs_attention\",\"message\":\"Flow needs investigation: claim or inputs changed; needs rechecking; dependency file changed or removed: tests/session.test.js\"}]}]}]},{\"observation\":\"Passing assertion occurrence recorded.\",\"id\":\"a_36c05067f1cb1af7a57e\",\"at\":{\"file\":\"tests/session.test.js\",\"line\":8,\"column\":3,\"text\":\"assert.equal(order.total, 50)\"},\"questions\":[],\"inMap\":true,\"observes\":[],\"operations\":[\"node:assert/strict.equal\"],\"observedPassingTests\":[\"node:test:1ecdf909d63f01021278acac\"],\"flows\":[]},{\"observation\":\"Passing assertion occurrence recorded.\",\"id\":\"a_b61776acd0e4b94c7b9c\",\"at\":{\"file\":\"tests/session.test.js\",\"line\":13,\"column\":3,\"text\":\"assert.equal(order.status, 'denied')\"},\"questions\":[],\"inMap\":true,\"observes\":[],\"operations\":[\"node:assert/strict.equal\"],\"observedPassingTests\":[\"node:test:ba89bac97c89d17c50e8624c\"],\"flows\":[]},{\"observation\":\"Passing assertion occurrence recorded.\",\"id\":\"a_be31211d5c6f21d31774\",\"at\":{\"file\":\"tests/session.test.js\",\"line\":18,\"column\":3,\"text\":\"assert.equal(order.status, 'denied')\"},\"questions\":[],\"inMap\":true,\"observes\":[],\"operations\":[\"node:assert/strict.equal\"],\"observedPassingTests\":[\"node:test:ab23f6b5f9c108ba0750ffff\"],\"flows\":[]}],\"pagination\":{\"offset\":0,\"returned\":4,\"total\":4,\"nextOffset\":null},\"summary\":{\"status\":\"pending\",\"reason\":\"Source changes need impact assessment\",\"pendingChanges\":1,\"metric\":\"measured statements\",\"statements\":{\"asserted\":0,\"declared\":2,\"total\":4,\"percentage\":null},\"assertions\":4,\"inventoryAssertions\":4,\"missingInventoryAssertions\":0,\"assertionsWithFlows\":1,\"assertionsWithoutFlows\":3,\"observedAssertionsWithoutCurrentExplanation\":4,\"questions\":0,\"currentFlows\":0,\"draftFlows\":0,\"staleFlows\":1,\"invalidFlows\":0,\"eligibleFlows\":0,\"retiredAssertions\":1,\"unobservedAssertions\":0,\"inventoryFailures\":0,\"unanchoredStatements\":0,\"runPassed\":true,\"lines\":{\"asserted\":0,\"declared\":2,\"total\":4,\"percentage\":null},\"excludedStatements\":0},\"basis\":\"agent-assessed; passing assertion identity and same-test execution required; not mutation resistance\",\"validationErrors\":[],\"limitations\":[\"Syntax inventory covers recognized assertion forms, not every possible custom assertion. Agents may add exact source sites; missing runtime identity never earns credit.\",\"Optional assertion calls are inventoried but currently have no injected phase. Unrecognized custom assertion wrappers and dynamically selected matchers may be absent. Use check --require-observed to detect inventoried sites without passing evidence.\"],\"revision\":\"99950f67763ad06c8cb9ea5c0a5e49553150539d616f3fe2e17d84d54df9b9e5\",\"inheritance\":{\"from\":\"run_fc5c7faa838073e2\",\"skipped\":[]},\"view\":\"assertions\",\"file\":null,\"needsAttention\":false,\"scope\":\"summary covers the whole run with matching current source; --file filters items only\",\"workingTree\":{\"stale\":false,\"reasons\":[]},\"run\":\"run_f486616def5ef17a\",\"map\":\"/private<project>/.supercov/runs/run_f486616def5ef17a/assertions.json\"}}\n"
        },
        {
          "args": [
            "runs",
            "run_f486616def5ef17a",
            "assertions",
            "--json"
          ],
          "stdout": "{\"schemaVersion\":1,\"ok\":true,\"command\":\"coverage.assertions\",\"data\":{\"items\":[{\"observation\":\"Passing assertion occurrence recorded.\",\"id\":\"a_084343be09ea2acc3665\",\"at\":{\"file\":\"tests/session.test.js\",\"line\":7,\"column\":3,\"text\":\"assert.equal(order.status, 'confirmed')\"},\"questions\":[],\"inMap\":true,\"observes\":[\"The returned status equals confirmed for this test input.\"],\"operations\":[\"node:assert/strict.equal\"],\"observedPassingTests\":[\"node:test:1ecdf909d63f01021278acac\"],\"flows\":[{\"id\":\"returned-status\",\"freshness\":\"stale\",\"valid\":true,\"current\":false,\"expectedBasis\":\"scov2:b5e3bbbef5857ac5c3ecf0e3c38eae5687878a5274ff87ffd4e5739d923e0986\",\"selectors\":[{\"file\":\"tests/session.test.js\",\"name\":\"confirms an order\",\"status\":\"observed\",\"outcomes\":[\"passed\"],\"reason\":\"A passing assertion occurrence matches this test.\"}],\"questions\":[],\"reasons\":[\"claim or inputs changed; needs rechecking\",\"dependency file changed or removed: tests/session.test.js\"],\"eligible\":false,\"blockers\":[\"flow requires review or reference repair\"],\"matchingTests\":[\"node:test:1ecdf909d63f01021278acac\"],\"creditedStatementLines\":[],\"nodeCredit\":[{\"nodeId\":\"n0\",\"location\":{\"file\":\"src/session.js\",\"line\":2,\"column\":3},\"status\":\"notCredited\",\"statementIds\":[\"0dac866dbc3f5fce\"],\"matchingTests\":[\"node:test:1ecdf909d63f01021278acac\"],\"reasons\":[{\"code\":\"flow_needs_attention\",\"message\":\"Flow needs investigation: claim or inputs changed; needs rechecking; dependency file changed or removed: tests/session.test.js\"}]},{\"nodeId\":\"n1\",\"location\":{\"file\":\"src/session.js\",\"line\":4,\"column\":5},\"status\":\"notCredited\",\"statementIds\":[\"f008afe4c1cdd278\"],\"matchingTests\":[\"node:test:1ecdf909d63f01021278acac\"],\"reasons\":[{\"code\":\"flow_needs_attention\",\"message\":\"Flow needs investigation: claim or inputs changed; needs rechecking; dependency file changed or removed: tests/session.test.js\"}]}]}]},{\"observation\":\"Passing assertion occurrence recorded.\",\"id\":\"a_36c05067f1cb1af7a57e\",\"at\":{\"file\":\"tests/session.test.js\",\"line\":8,\"column\":3,\"text\":\"assert.equal(order.total, 50)\"},\"questions\":[],\"inMap\":true,\"observes\":[],\"operations\":[\"node:assert/strict.equal\"],\"observedPassingTests\":[\"node:test:1ecdf909d63f01021278acac\"],\"flows\":[]},{\"observation\":\"Passing assertion occurrence recorded.\",\"id\":\"a_b61776acd0e4b94c7b9c\",\"at\":{\"file\":\"tests/session.test.js\",\"line\":13,\"column\":3,\"text\":\"assert.equal(order.status, 'denied')\"},\"questions\":[],\"inMap\":true,\"observes\":[],\"operations\":[\"node:assert/strict.equal\"],\"observedPassingTests\":[\"node:test:ba89bac97c89d17c50e8624c\"],\"flows\":[]},{\"observation\":\"Passing assertion occurrence recorded.\",\"id\":\"a_be31211d5c6f21d31774\",\"at\":{\"file\":\"tests/session.test.js\",\"line\":18,\"column\":3,\"text\":\"assert.equal(order.status, 'denied')\"},\"questions\":[],\"inMap\":true,\"observes\":[],\"operations\":[\"node:assert/strict.equal\"],\"observedPassingTests\":[\"node:test:ab23f6b5f9c108ba0750ffff\"],\"flows\":[]}],\"pagination\":{\"offset\":0,\"returned\":4,\"total\":4,\"nextOffset\":null},\"summary\":{\"status\":\"pending\",\"reason\":\"Source changes need impact assessment\",\"pendingChanges\":1,\"metric\":\"measured statements\",\"statements\":{\"asserted\":0,\"declared\":2,\"total\":4,\"percentage\":null},\"assertions\":4,\"inventoryAssertions\":4,\"missingInventoryAssertions\":0,\"assertionsWithFlows\":1,\"assertionsWithoutFlows\":3,\"observedAssertionsWithoutCurrentExplanation\":4,\"questions\":0,\"currentFlows\":0,\"draftFlows\":0,\"staleFlows\":1,\"invalidFlows\":0,\"eligibleFlows\":0,\"retiredAssertions\":1,\"unobservedAssertions\":0,\"inventoryFailures\":0,\"unanchoredStatements\":0,\"runPassed\":true,\"lines\":{\"asserted\":0,\"declared\":2,\"total\":4,\"percentage\":null},\"excludedStatements\":0},\"basis\":\"agent-assessed; passing assertion identity and same-test execution required; not mutation resistance\",\"validationErrors\":[],\"limitations\":[\"Syntax inventory covers recognized assertion forms, not every possible custom assertion. Agents may add exact source sites; missing runtime identity never earns credit.\",\"Optional assertion calls are inventoried but currently have no injected phase. Unrecognized custom assertion wrappers and dynamically selected matchers may be absent. Use check --require-observed to detect inventoried sites without passing evidence.\"],\"revision\":\"99950f67763ad06c8cb9ea5c0a5e49553150539d616f3fe2e17d84d54df9b9e5\",\"inheritance\":{\"from\":\"run_fc5c7faa838073e2\",\"skipped\":[]},\"view\":\"assertions\",\"file\":null,\"needsAttention\":false,\"scope\":\"summary covers the whole run with matching current source; --file filters items only\",\"workingTree\":{\"stale\":false,\"reasons\":[]},\"run\":\"run_f486616def5ef17a\",\"map\":\"/private<project>/.supercov/runs/run_f486616def5ef17a/assertions.json\"}}\n"
        },
        {
          "args": [
            "runs",
            "run_f486616def5ef17a",
            "assertions",
            "report",
            "--view",
            "statements",
            "--json"
          ],
          "stdout": "{\"schemaVersion\":1,\"ok\":true,\"command\":\"coverage.assertions\",\"data\":{\"items\":[{\"id\":\"0dac866dbc3f5fce\",\"file\":\"src/session.js\",\"line\":2,\"at\":{\"file\":\"src/session.js\",\"line\":2,\"column\":3,\"text\":\"if (signedIn && !expired) {\\n    const total = price * quantity;\\n    return { status: 'confirmed', total };\\n  }\"},\"covered\":true,\"tests\":[\"node:test:1ecdf909d63f01021278acac\",\"node:test:ab23f6b5f9c108ba0750ffff\",\"node:test:ba89bac97c89d17c50e8624c\"],\"declared\":true,\"asserted\":false,\"flows\":[],\"executionEvidence\":{\"anyExecution\":true,\"passingTests\":[\"node:test:1ecdf909d63f01021278acac\",\"node:test:ab23f6b5f9c108ba0750ffff\",\"node:test:ba89bac97c89d17c50e8624c\"],\"outsidePassingTests\":[]}},{\"id\":\"9545f0e0637e6573\",\"file\":\"src/session.js\",\"line\":3,\"at\":{\"file\":\"src/session.js\",\"line\":3,\"column\":5,\"text\":\"const total = price * quantity;\"},\"covered\":true,\"tests\":[\"node:test:1ecdf909d63f01021278acac\"],\"declared\":false,\"asserted\":false,\"flows\":[],\"executionEvidence\":{\"anyExecution\":true,\"passingTests\":[\"node:test:1ecdf909d63f01021278acac\"],\"outsidePassingTests\":[]}},{\"id\":\"f008afe4c1cdd278\",\"file\":\"src/session.js\",\"line\":4,\"at\":{\"file\":\"src/session.js\",\"line\":4,\"column\":5,\"text\":\"return { status: 'confirmed', total };\"},\"covered\":true,\"tests\":[\"node:test:1ecdf909d63f01021278acac\"],\"declared\":true,\"asserted\":false,\"flows\":[],\"executionEvidence\":{\"anyExecution\":true,\"passingTests\":[\"node:test:1ecdf909d63f01021278acac\"],\"outsidePassingTests\":[]}},{\"id\":\"dd5f77f8e42b4af1\",\"file\":\"src/session.js\",\"line\":6,\"at\":{\"file\":\"src/session.js\",\"line\":6,\"column\":3,\"text\":\"return { status: 'denied', total: 0 };\"},\"covered\":true,\"tests\":[\"node:test:ab23f6b5f9c108ba0750ffff\",\"node:test:ba89bac97c89d17c50e8624c\"],\"declared\":false,\"asserted\":false,\"flows\":[],\"executionEvidence\":{\"anyExecution\":true,\"passingTests\":[\"node:test:ab23f6b5f9c108ba0750ffff\",\"node:test:ba89bac97c89d17c50e8624c\"],\"outsidePassingTests\":[]}}],\"pagination\":{\"offset\":0,\"returned\":4,\"total\":4,\"nextOffset\":null},\"summary\":{\"status\":\"pending\",\"reason\":\"Source changes need impact assessment\",\"pendingChanges\":1,\"metric\":\"measured statements\",\"statements\":{\"asserted\":0,\"declared\":2,\"total\":4,\"percentage\":null},\"assertions\":4,\"inventoryAssertions\":4,\"missingInventoryAssertions\":0,\"assertionsWithFlows\":1,\"assertionsWithoutFlows\":3,\"observedAssertionsWithoutCurrentExplanation\":4,\"questions\":0,\"currentFlows\":0,\"draftFlows\":0,\"staleFlows\":1,\"invalidFlows\":0,\"eligibleFlows\":0,\"retiredAssertions\":1,\"unobservedAssertions\":0,\"inventoryFailures\":0,\"unanchoredStatements\":0,\"runPassed\":true,\"lines\":{\"asserted\":0,\"declared\":2,\"total\":4,\"percentage\":null},\"excludedStatements\":0},\"basis\":\"agent-assessed; passing assertion identity and same-test execution required; not mutation resistance\",\"validationErrors\":[],\"limitations\":[\"Syntax inventory covers recognized assertion forms, not every possible custom assertion. Agents may add exact source sites; missing runtime identity never earns credit.\",\"Optional assertion calls are inventoried but currently have no injected phase. Unrecognized custom assertion wrappers and dynamically selected matchers may be absent. Use check --require-observed to detect inventoried sites without passing evidence.\"],\"revision\":\"99950f67763ad06c8cb9ea5c0a5e49553150539d616f3fe2e17d84d54df9b9e5\",\"inheritance\":{\"from\":\"run_fc5c7faa838073e2\",\"skipped\":[]},\"view\":\"statements\",\"file\":null,\"needsAttention\":false,\"scope\":\"summary covers the whole run with matching current source; --file filters items only\",\"workingTree\":{\"stale\":false,\"reasons\":[]},\"run\":\"run_f486616def5ef17a\",\"map\":\"/private<project>/.supercov/runs/run_f486616def5ef17a/assertions.json\"}}\n"
        },
        {
          "args": [
            "runs",
            "run_f486616def5ef17a",
            "assertions",
            "report",
            "--view",
            "tests",
            "--json"
          ],
          "stdout": "{\"schemaVersion\":1,\"ok\":true,\"command\":\"coverage.assertions\",\"data\":{\"items\":[{\"id\":\"node:test:1ecdf909d63f01021278acac\",\"file\":\"tests/session.test.js\",\"name\":\"confirms an order\",\"role\":\"test\",\"outcome\":\"passed\",\"provenance\":{\"runner\":\"node:test\",\"kind\":\"unit\",\"source\":\"runner-default\"},\"hasExecutionEvidence\":true},{\"id\":\"node:test:ba89bac97c89d17c50e8624c\",\"file\":\"tests/session.test.js\",\"name\":\"rejects a signed-out visitor\",\"role\":\"test\",\"outcome\":\"passed\",\"provenance\":{\"runner\":\"node:test\",\"kind\":\"unit\",\"source\":\"runner-default\"},\"hasExecutionEvidence\":true},{\"id\":\"node:test:ab23f6b5f9c108ba0750ffff\",\"file\":\"tests/session.test.js\",\"name\":\"rejects an expired session\",\"role\":\"test\",\"outcome\":\"passed\",\"provenance\":{\"runner\":\"node:test\",\"kind\":\"unit\",\"source\":\"runner-default\"},\"hasExecutionEvidence\":true}],\"pagination\":{\"offset\":0,\"returned\":3,\"total\":3,\"nextOffset\":null},\"summary\":{\"status\":\"pending\",\"reason\":\"Source changes need impact assessment\",\"pendingChanges\":1,\"metric\":\"measured statements\",\"statements\":{\"asserted\":0,\"declared\":2,\"total\":4,\"percentage\":null},\"assertions\":4,\"inventoryAssertions\":4,\"missingInventoryAssertions\":0,\"assertionsWithFlows\":1,\"assertionsWithoutFlows\":3,\"observedAssertionsWithoutCurrentExplanation\":4,\"questions\":0,\"currentFlows\":0,\"draftFlows\":0,\"staleFlows\":1,\"invalidFlows\":0,\"eligibleFlows\":0,\"retiredAssertions\":1,\"unobservedAssertions\":0,\"inventoryFailures\":0,\"unanchoredStatements\":0,\"runPassed\":true,\"lines\":{\"asserted\":0,\"declared\":2,\"total\":4,\"percentage\":null},\"excludedStatements\":0},\"basis\":\"agent-assessed; passing assertion identity and same-test execution required; not mutation resistance\",\"validationErrors\":[],\"limitations\":[\"Syntax inventory covers recognized assertion forms, not every possible custom assertion. Agents may add exact source sites; missing runtime identity never earns credit.\",\"Optional assertion calls are inventoried but currently have no injected phase. Unrecognized custom assertion wrappers and dynamically selected matchers may be absent. Use check --require-observed to detect inventoried sites without passing evidence.\"],\"revision\":\"99950f67763ad06c8cb9ea5c0a5e49553150539d616f3fe2e17d84d54df9b9e5\",\"inheritance\":{\"from\":\"run_fc5c7faa838073e2\",\"skipped\":[]},\"view\":\"tests\",\"file\":null,\"needsAttention\":false,\"scope\":\"summary covers the whole run with matching current source; --file filters items only\",\"workingTree\":{\"stale\":false,\"reasons\":[]},\"run\":\"run_f486616def5ef17a\",\"map\":\"/private<project>/.supercov/runs/run_f486616def5ef17a/assertions.json\"}}\n"
        },
        {
          "args": [
            "runs",
            "run_f486616def5ef17a",
            "assertions",
            "report",
            "--view",
            "changes",
            "--json"
          ],
          "stdout": "{\"schemaVersion\":1,\"ok\":true,\"command\":\"coverage.assertions\",\"data\":{\"items\":[{\"id\":\"c_15085d541ac793d72c92ca72\",\"file\":\"tests/session.test.js\",\"before\":\"f8eef9ef9da0bd531d6986777ae1df7fcab2e6d171951b14cbece47fa33d34b4\",\"after\":\"dce2810a8ae86a5f7612c9c5335010f3b8c09cf7527228b5e608f929714ad776\",\"reason\":\"captured source file changed\",\"knownFlows\":[\"a_084343be09ea2acc3665/returned-status\",\"a_9e03ade862dfb4490e97/returned-status\"],\"current\":false,\"assessment\":null,\"errors\":[],\"expectedBasis\":null}],\"pagination\":{\"offset\":0,\"returned\":1,\"total\":1,\"nextOffset\":null},\"summary\":{\"status\":\"pending\",\"reason\":\"Source changes need impact assessment\",\"pendingChanges\":1,\"metric\":\"measured statements\",\"statements\":{\"asserted\":0,\"declared\":2,\"total\":4,\"percentage\":null},\"assertions\":4,\"inventoryAssertions\":4,\"missingInventoryAssertions\":0,\"assertionsWithFlows\":1,\"assertionsWithoutFlows\":3,\"observedAssertionsWithoutCurrentExplanation\":4,\"questions\":0,\"currentFlows\":0,\"draftFlows\":0,\"staleFlows\":1,\"invalidFlows\":0,\"eligibleFlows\":0,\"retiredAssertions\":1,\"unobservedAssertions\":0,\"inventoryFailures\":0,\"unanchoredStatements\":0,\"runPassed\":true,\"lines\":{\"asserted\":0,\"declared\":2,\"total\":4,\"percentage\":null},\"excludedStatements\":0},\"basis\":\"agent-assessed; passing assertion identity and same-test execution required; not mutation resistance\",\"validationErrors\":[],\"limitations\":[\"Syntax inventory covers recognized assertion forms, not every possible custom assertion. Agents may add exact source sites; missing runtime identity never earns credit.\",\"Optional assertion calls are inventoried but currently have no injected phase. Unrecognized custom assertion wrappers and dynamically selected matchers may be absent. Use check --require-observed to detect inventoried sites without passing evidence.\"],\"revision\":\"99950f67763ad06c8cb9ea5c0a5e49553150539d616f3fe2e17d84d54df9b9e5\",\"inheritance\":{\"from\":\"run_fc5c7faa838073e2\",\"skipped\":[]},\"view\":\"changes\",\"file\":null,\"needsAttention\":false,\"scope\":\"summary covers the whole run with matching current source; --file filters items only\",\"workingTree\":{\"stale\":false,\"reasons\":[]},\"run\":\"run_f486616def5ef17a\",\"map\":\"/private<project>/.supercov/runs/run_f486616def5ef17a/assertions.json\"}}\n"
        },
        {
          "args": [
            "runs",
            "run_f486616def5ef17a",
            "assertions",
            "validate",
            "--json"
          ],
          "stdout": "{\"schemaVersion\":1,\"ok\":true,\"command\":\"coverage.assertions\",\"data\":{\"valid\":true,\"stage\":\"references\",\"errors\":[],\"flows\":[{\"id\":\"a_084343be09ea2acc3665/returned-status\",\"expectedBasis\":\"scov2:b5e3bbbef5857ac5c3ecf0e3c38eae5687878a5274ff87ffd4e5739d923e0986\",\"reasons\":[\"dependency file changed or removed: tests/session.test.js\",\"draft: input acknowledgement not recorded\"]},{\"id\":\"a_36c05067f1cb1af7a57e/calculated-total\",\"expectedBasis\":\"scov2:cea8c0bb4893ea967c9e9be5555505ee7aeab971c2162c7d5d4fc4b6c17a6d7f\",\"reasons\":[\"draft: input acknowledgement not recorded\"]},{\"id\":\"a_b61776acd0e4b94c7b9c/returned-status\",\"expectedBasis\":\"scov2:0d2e588cbcf15e36f9dcea5e195f156ea089d7b6a1eadc0526d8a182874d8193\",\"reasons\":[\"draft: input acknowledgement not recorded\"]},{\"id\":\"a_be31211d5c6f21d31774/returned-status\",\"expectedBasis\":\"scov2:18371b1ecf81c503305390328368ab38626886b99fa5377aa3d56d00d1517c2a\",\"reasons\":[\"draft: input acknowledgement not recorded\"]}],\"changes\":[{\"id\":\"c_15085d541ac793d72c92ca72\",\"file\":\"tests/session.test.js\",\"before\":\"f8eef9ef9da0bd531d6986777ae1df7fcab2e6d171951b14cbece47fa33d34b4\",\"after\":\"dce2810a8ae86a5f7612c9c5335010f3b8c09cf7527228b5e608f929714ad776\",\"reason\":\"captured source file changed\",\"knownFlows\":[\"a_084343be09ea2acc3665/returned-status\",\"a_9e03ade862dfb4490e97/returned-status\"],\"current\":false,\"assessment\":{\"id\":\"c_15085d541ac793d72c92ca72\",\"basis\":null,\"affectedFlows\":[\"a_084343be09ea2acc3665/returned-status\"],\"explanation\":\"Only the fixture test file changed. The current test inputs and assertions have been reviewed against this run’s mappings. The application source is unchanged.\"},\"errors\":[],\"expectedBasis\":\"scov2:6781f8613875373538bf95f03f3f795daebb5db68258921805555d43f6fc2be6\"}],\"meaning\":\"Authored graph references and input acknowledgements only; no semantic proof or completeness claim\",\"revision\":\"96f4572864b7c19c9a480583c2de9f51fb76dd6830462d2e7a26a3004c2de2f8\",\"workingTree\":{\"stale\":false,\"reasons\":[]},\"run\":\"run_f486616def5ef17a\",\"map\":\"/private<project>/.supercov/runs/run_f486616def5ef17a/assertions.json\"}}\n"
        },
        {
          "args": [
            "runs",
            "run_f486616def5ef17a",
            "assertions",
            "validate",
            "--json"
          ],
          "stdout": "{\"schemaVersion\":1,\"ok\":true,\"command\":\"coverage.assertions\",\"data\":{\"valid\":true,\"stage\":\"references\",\"errors\":[],\"flows\":[{\"id\":\"a_084343be09ea2acc3665/returned-status\",\"expectedBasis\":\"scov2:31d53d62ada5a233f18e316aad986f327feee52a97deb2099d378e734e4c32c6\",\"reasons\":[\"dependency file changed or removed: tests/session.test.js\",\"draft: input acknowledgement not recorded\"]},{\"id\":\"a_36c05067f1cb1af7a57e/calculated-total\",\"expectedBasis\":\"scov2:cea8c0bb4893ea967c9e9be5555505ee7aeab971c2162c7d5d4fc4b6c17a6d7f\",\"reasons\":[\"draft: input acknowledgement not recorded\"]},{\"id\":\"a_b61776acd0e4b94c7b9c/returned-status\",\"expectedBasis\":\"scov2:0d2e588cbcf15e36f9dcea5e195f156ea089d7b6a1eadc0526d8a182874d8193\",\"reasons\":[\"draft: input acknowledgement not recorded\"]},{\"id\":\"a_be31211d5c6f21d31774/returned-status\",\"expectedBasis\":\"scov2:18371b1ecf81c503305390328368ab38626886b99fa5377aa3d56d00d1517c2a\",\"reasons\":[\"draft: input acknowledgement not recorded\"]}],\"changes\":[{\"id\":\"c_15085d541ac793d72c92ca72\",\"file\":\"tests/session.test.js\",\"before\":\"f8eef9ef9da0bd531d6986777ae1df7fcab2e6d171951b14cbece47fa33d34b4\",\"after\":\"dce2810a8ae86a5f7612c9c5335010f3b8c09cf7527228b5e608f929714ad776\",\"reason\":\"captured source file changed\",\"knownFlows\":[\"a_084343be09ea2acc3665/returned-status\",\"a_9e03ade862dfb4490e97/returned-status\"],\"current\":true,\"assessment\":{\"id\":\"c_15085d541ac793d72c92ca72\",\"basis\":\"scov2:6781f8613875373538bf95f03f3f795daebb5db68258921805555d43f6fc2be6\",\"affectedFlows\":[\"a_084343be09ea2acc3665/returned-status\"],\"explanation\":\"Only the fixture test file changed. The current test inputs and assertions have been reviewed against this run’s mappings. The application source is unchanged.\"},\"errors\":[],\"expectedBasis\":\"scov2:6781f8613875373538bf95f03f3f795daebb5db68258921805555d43f6fc2be6\"}],\"meaning\":\"Authored graph references and input acknowledgements only; no semantic proof or completeness claim\",\"revision\":\"c37288b3122141ace54e31e4ca65b1aa41a57aa66af9760cd65deaf4c03e9e1c\",\"workingTree\":{\"stale\":false,\"reasons\":[]},\"run\":\"run_f486616def5ef17a\",\"map\":\"/private<project>/.supercov/runs/run_f486616def5ef17a/assertions.json\"}}\n"
        },
        {
          "args": [
            "runs",
            "run_f486616def5ef17a",
            "assertions",
            "check",
            "--require-mappings"
          ],
          "stdout": "{\n  \"summary\": {\n    \"status\": \"available\",\n    \"reason\": \"Agent-assessed statements; mapping completeness is unknown\",\n    \"pendingChanges\": 0,\n    \"metric\": \"measured statements\",\n    \"statements\": {\n      \"asserted\": 4,\n      \"declared\": 4,\n      \"total\": 4,\n      \"percentage\": 100.0\n    },\n    \"assertions\": 4,\n    \"inventoryAssertions\": 4,\n    \"missingInventoryAssertions\": 0,\n    \"assertionsWithFlows\": 4,\n    \"assertionsWithoutFlows\": 0,\n    \"observedAssertionsWithoutCurrentExplanation\": 0,\n    \"questions\": 0,\n    \"currentFlows\": 4,\n    \"draftFlows\": 0,\n    \"staleFlows\": 0,\n    \"invalidFlows\": 0,\n    \"eligibleFlows\": 4,\n    \"retiredAssertions\": 1,\n    \"unobservedAssertions\": 0,\n    \"inventoryFailures\": 0,\n    \"unanchoredStatements\": 0,\n    \"runPassed\": true,\n    \"lines\": {\n      \"asserted\": 4,\n      \"declared\": 4,\n      \"total\": 4,\n      \"percentage\": 100.0\n    },\n    \"excludedStatements\": 0\n  },\n  \"basis\": \"agent-assessed; passing assertion identity and same-test execution required; not mutation resistance\",\n  \"validationErrors\": [],\n  \"limitations\": [\n    \"Syntax inventory covers recognized assertion forms, not every possible custom assertion. Agents may add exact source sites; missing runtime identity never earns credit.\",\n    \"Optional assertion calls are inventoried but currently have no injected phase. Unrecognized custom assertion wrappers and dynamically selected matchers may be absent. Use check --require-observed to detect inventoried sites without passing evidence.\"\n  ],\n  \"revision\": \"160819924b80c7cc12db6b96aeedd0fe4099ab42a364fc6cabef53e6f3d005d6\",\n  \"inheritance\": {\n    \"from\": \"run_fc5c7faa838073e2\",\n    \"skipped\": []\n  },\n  \"view\": \"summary\",\n  \"file\": null,\n  \"needsAttention\": false,\n  \"scope\": \"summary covers the whole run with matching current source; --file filters items only\",\n  \"workingTree\": {\n    \"stale\": false,\n    \"reasons\": []\n  },\n  \"valid\": true,\n  \"failures\": [],\n  \"requirements\": {\n    \"mappings\": true,\n    \"observed\": false,\n    \"minimum\": null\n  },\n  \"run\": \"run_f486616def5ef17a\",\n  \"map\": \"/private<project>/.supercov/runs/run_f486616def5ef17a/assertions.json\"\n}\n"
        },
        {
          "args": [
            "runs",
            "run_f486616def5ef17a"
          ],
          "stdout": "run run_f486616def5ef17a\ncommand: npm test\n\nCoverage\n  Lines      100.00% (5/5)\n  Branches   100.00% (2/2)\n  MC/DC      100.00% (2/2)\nAssertions 100.00% (4/4) — agent-assessed statements, whole run\n  4 assertions with flows; 0 without; 4 current flows; 0 stale; 0 draft\n\nBy test kind\n  unit            3 test(s)  lines 100.00%  branches 100.00%  MC/DC 100.00%\n  3 test(s) use the runner's default kind; this is not inferred from their behavior.\n  Set SUPERCOV_TEST_KIND=integration (or unit/component/e2e) when running a suite to override it.\n\nMeasurement\n  Instrumentation  Complete for the measured command and coverage model\n  Scope            Only code reached by the wrapped command is observed; this status does not prove every project test suite was run.\n  Command outputs  /private<project>/.supercov/workspaces/workspace/supercov-homepage-recording-1xCat1\n\nTests\n  Total       3\n  Passed      3\n\nRemaining\n  Files with uncovered code         0\n  Files with measurement limits     0\n\nRuntime action phases (separate from assertion mappings)\n  Recorded within action phases      0 lines\n  Other recorded execution           5 lines\n  These runtime phase counts do not include the agent-assessed assertion coverage shown above.\n\nCommands\n  npx supercov runs 'run_f486616def5ef17a' files\n  npx supercov runs 'run_f486616def5ef17a' gaps\n  npx supercov runs 'run_f486616def5ef17a' kinds\n  npx supercov runs 'run_f486616def5ef17a' runners\n  npx supercov runs 'run_f486616def5ef17a' scope\n  npx supercov runs run_f486616def5ef17a --help\n"
        },
        {
          "args": [
            "runs",
            "run_f486616def5ef17a",
            "assertions",
            "--json"
          ],
          "stdout": "{\"schemaVersion\":1,\"ok\":true,\"command\":\"coverage.assertions\",\"data\":{\"items\":[{\"observation\":\"Passing assertion occurrence recorded.\",\"id\":\"a_084343be09ea2acc3665\",\"at\":{\"file\":\"tests/session.test.js\",\"line\":7,\"column\":3,\"text\":\"assert.equal(order.status, 'confirmed')\"},\"questions\":[],\"inMap\":true,\"observes\":[\"The returned status equals confirmed for this test input.\"],\"operations\":[\"node:assert/strict.equal\"],\"observedPassingTests\":[\"node:test:1ecdf909d63f01021278acac\"],\"flows\":[{\"id\":\"returned-status\",\"freshness\":\"current\",\"valid\":true,\"current\":true,\"expectedBasis\":\"scov2:31d53d62ada5a233f18e316aad986f327feee52a97deb2099d378e734e4c32c6\",\"selectors\":[{\"file\":\"tests/session.test.js\",\"name\":\"confirms an order\",\"status\":\"observed\",\"outcomes\":[\"passed\"],\"reason\":\"A passing assertion occurrence matches this test.\"}],\"questions\":[],\"reasons\":[],\"eligible\":true,\"blockers\":[],\"matchingTests\":[\"node:test:1ecdf909d63f01021278acac\"],\"creditedStatementLines\":[[\"src/session.js\",2],[\"src/session.js\",4]],\"nodeCredit\":[{\"nodeId\":\"n0\",\"location\":{\"file\":\"src/session.js\",\"line\":2,\"column\":3},\"status\":\"credited\",\"statementIds\":[\"0dac866dbc3f5fce\"],\"matchingTests\":[\"node:test:1ecdf909d63f01021278acac\"],\"reasons\":[{\"code\":\"same_test_execution\",\"message\":\"Current agent claim, passing assertion, and statement execution in the same selected test.\"}]},{\"nodeId\":\"n1\",\"location\":{\"file\":\"src/session.js\",\"line\":4,\"column\":5},\"status\":\"credited\",\"statementIds\":[\"f008afe4c1cdd278\"],\"matchingTests\":[\"node:test:1ecdf909d63f01021278acac\"],\"reasons\":[{\"code\":\"same_test_execution\",\"message\":\"Current agent claim, passing assertion, and statement execution in the same selected test.\"}]}]}]},{\"observation\":\"Passing assertion occurrence recorded.\",\"id\":\"a_36c05067f1cb1af7a57e\",\"at\":{\"file\":\"tests/session.test.js\",\"line\":8,\"column\":3,\"text\":\"assert.equal(order.total, 50)\"},\"questions\":[],\"inMap\":true,\"observes\":[\"The total equals 50 for two items at 25.\"],\"operations\":[\"node:assert/strict.equal\"],\"observedPassingTests\":[\"node:test:1ecdf909d63f01021278acac\"],\"flows\":[{\"id\":\"calculated-total\",\"freshness\":\"current\",\"valid\":true,\"current\":true,\"expectedBasis\":\"scov2:cea8c0bb4893ea967c9e9be5555505ee7aeab971c2162c7d5d4fc4b6c17a6d7f\",\"selectors\":[{\"file\":\"tests/session.test.js\",\"name\":\"confirms an order\",\"status\":\"observed\",\"outcomes\":[\"passed\"],\"reason\":\"A passing assertion occurrence matches this test.\"}],\"questions\":[],\"reasons\":[],\"eligible\":true,\"blockers\":[],\"matchingTests\":[\"node:test:1ecdf909d63f01021278acac\"],\"creditedStatementLines\":[[\"src/session.js\",3],[\"src/session.js\",4]],\"nodeCredit\":[{\"nodeId\":\"n0\",\"location\":{\"file\":\"src/session.js\",\"line\":3,\"column\":5},\"status\":\"credited\",\"statementIds\":[\"9545f0e0637e6573\"],\"matchingTests\":[\"node:test:1ecdf909d63f01021278acac\"],\"reasons\":[{\"code\":\"same_test_execution\",\"message\":\"Current agent claim, passing assertion, and statement execution in the same selected test.\"}]},{\"nodeId\":\"n1\",\"location\":{\"file\":\"src/session.js\",\"line\":4,\"column\":5},\"status\":\"credited\",\"statementIds\":[\"f008afe4c1cdd278\"],\"matchingTests\":[\"node:test:1ecdf909d63f01021278acac\"],\"reasons\":[{\"code\":\"same_test_execution\",\"message\":\"Current agent claim, passing assertion, and statement execution in the same selected test.\"}]}]}]},{\"observation\":\"Passing assertion occurrence recorded.\",\"id\":\"a_b61776acd0e4b94c7b9c\",\"at\":{\"file\":\"tests/session.test.js\",\"line\":13,\"column\":3,\"text\":\"assert.equal(order.status, 'denied')\"},\"questions\":[],\"inMap\":true,\"observes\":[\"The returned status equals denied for this test input.\"],\"operations\":[\"node:assert/strict.equal\"],\"observedPassingTests\":[\"node:test:ba89bac97c89d17c50e8624c\"],\"flows\":[{\"id\":\"returned-status\",\"freshness\":\"current\",\"valid\":true,\"current\":true,\"expectedBasis\":\"scov2:0d2e588cbcf15e36f9dcea5e195f156ea089d7b6a1eadc0526d8a182874d8193\",\"selectors\":[{\"file\":\"tests/session.test.js\",\"name\":\"rejects a signed-out visitor\",\"status\":\"observed\",\"outcomes\":[\"passed\"],\"reason\":\"A passing assertion occurrence matches this test.\"}],\"questions\":[],\"reasons\":[],\"eligible\":true,\"blockers\":[],\"matchingTests\":[\"node:test:ba89bac97c89d17c50e8624c\"],\"creditedStatementLines\":[[\"src/session.js\",2],[\"src/session.js\",6]],\"nodeCredit\":[{\"nodeId\":\"n0\",\"location\":{\"file\":\"src/session.js\",\"line\":2,\"column\":3},\"status\":\"credited\",\"statementIds\":[\"0dac866dbc3f5fce\"],\"matchingTests\":[\"node:test:ba89bac97c89d17c50e8624c\"],\"reasons\":[{\"code\":\"same_test_execution\",\"message\":\"Current agent claim, passing assertion, and statement execution in the same selected test.\"}]},{\"nodeId\":\"n1\",\"location\":{\"file\":\"src/session.js\",\"line\":6,\"column\":3},\"status\":\"credited\",\"statementIds\":[\"dd5f77f8e42b4af1\"],\"matchingTests\":[\"node:test:ba89bac97c89d17c50e8624c\"],\"reasons\":[{\"code\":\"same_test_execution\",\"message\":\"Current agent claim, passing assertion, and statement execution in the same selected test.\"}]}]}]},{\"observation\":\"Passing assertion occurrence recorded.\",\"id\":\"a_be31211d5c6f21d31774\",\"at\":{\"file\":\"tests/session.test.js\",\"line\":18,\"column\":3,\"text\":\"assert.equal(order.status, 'denied')\"},\"questions\":[],\"inMap\":true,\"observes\":[\"The returned status equals denied for this test input.\"],\"operations\":[\"node:assert/strict.equal\"],\"observedPassingTests\":[\"node:test:ab23f6b5f9c108ba0750ffff\"],\"flows\":[{\"id\":\"returned-status\",\"freshness\":\"current\",\"valid\":true,\"current\":true,\"expectedBasis\":\"scov2:18371b1ecf81c503305390328368ab38626886b99fa5377aa3d56d00d1517c2a\",\"selectors\":[{\"file\":\"tests/session.test.js\",\"name\":\"rejects an expired session\",\"status\":\"observed\",\"outcomes\":[\"passed\"],\"reason\":\"A passing assertion occurrence matches this test.\"}],\"questions\":[],\"reasons\":[],\"eligible\":true,\"blockers\":[],\"matchingTests\":[\"node:test:ab23f6b5f9c108ba0750ffff\"],\"creditedStatementLines\":[[\"src/session.js\",2],[\"src/session.js\",6]],\"nodeCredit\":[{\"nodeId\":\"n0\",\"location\":{\"file\":\"src/session.js\",\"line\":2,\"column\":3},\"status\":\"credited\",\"statementIds\":[\"0dac866dbc3f5fce\"],\"matchingTests\":[\"node:test:ab23f6b5f9c108ba0750ffff\"],\"reasons\":[{\"code\":\"same_test_execution\",\"message\":\"Current agent claim, passing assertion, and statement execution in the same selected test.\"}]},{\"nodeId\":\"n1\",\"location\":{\"file\":\"src/session.js\",\"line\":6,\"column\":3},\"status\":\"credited\",\"statementIds\":[\"dd5f77f8e42b4af1\"],\"matchingTests\":[\"node:test:ab23f6b5f9c108ba0750ffff\"],\"reasons\":[{\"code\":\"same_test_execution\",\"message\":\"Current agent claim, passing assertion, and statement execution in the same selected test.\"}]}]}]}],\"pagination\":{\"offset\":0,\"returned\":4,\"total\":4,\"nextOffset\":null},\"summary\":{\"status\":\"available\",\"reason\":\"Agent-assessed statements; mapping completeness is unknown\",\"pendingChanges\":0,\"metric\":\"measured statements\",\"statements\":{\"asserted\":4,\"declared\":4,\"total\":4,\"percentage\":100.0},\"assertions\":4,\"inventoryAssertions\":4,\"missingInventoryAssertions\":0,\"assertionsWithFlows\":4,\"assertionsWithoutFlows\":0,\"observedAssertionsWithoutCurrentExplanation\":0,\"questions\":0,\"currentFlows\":4,\"draftFlows\":0,\"staleFlows\":0,\"invalidFlows\":0,\"eligibleFlows\":4,\"retiredAssertions\":1,\"unobservedAssertions\":0,\"inventoryFailures\":0,\"unanchoredStatements\":0,\"runPassed\":true,\"lines\":{\"asserted\":4,\"declared\":4,\"total\":4,\"percentage\":100.0},\"excludedStatements\":0},\"basis\":\"agent-assessed; passing assertion identity and same-test execution required; not mutation resistance\",\"validationErrors\":[],\"limitations\":[\"Syntax inventory covers recognized assertion forms, not every possible custom assertion. Agents may add exact source sites; missing runtime identity never earns credit.\",\"Optional assertion calls are inventoried but currently have no injected phase. Unrecognized custom assertion wrappers and dynamically selected matchers may be absent. Use check --require-observed to detect inventoried sites without passing evidence.\"],\"revision\":\"160819924b80c7cc12db6b96aeedd0fe4099ab42a364fc6cabef53e6f3d005d6\",\"inheritance\":{\"from\":\"run_fc5c7faa838073e2\",\"skipped\":[]},\"view\":\"assertions\",\"file\":null,\"needsAttention\":false,\"scope\":\"summary covers the whole run with matching current source; --file filters items only\",\"workingTree\":{\"stale\":false,\"reasons\":[]},\"run\":\"run_f486616def5ef17a\",\"map\":\"/private<project>/.supercov/runs/run_f486616def5ef17a/assertions.json\"}}\n"
        },
        {
          "args": [
            "runs",
            "run_f486616def5ef17a"
          ],
          "stdout": "run run_f486616def5ef17a\ncommand: npm test\n\nCoverage\n  Lines      100.00% (5/5)\n  Branches   100.00% (2/2)\n  MC/DC      100.00% (2/2)\nAssertions 100.00% (4/4) — agent-assessed statements, whole run\n  4 assertions with flows; 0 without; 4 current flows; 0 stale; 0 draft\n\nBy test kind\n  unit            3 test(s)  lines 100.00%  branches 100.00%  MC/DC 100.00%\n  3 test(s) use the runner's default kind; this is not inferred from their behavior.\n  Set SUPERCOV_TEST_KIND=integration (or unit/component/e2e) when running a suite to override it.\n\nMeasurement\n  Instrumentation  Complete for the measured command and coverage model\n  Scope            Only code reached by the wrapped command is observed; this status does not prove every project test suite was run.\n  Command outputs  /private<project>/.supercov/workspaces/workspace/supercov-homepage-recording-1xCat1\n\nTests\n  Total       3\n  Passed      3\n\nRemaining\n  Files with uncovered code         0\n  Files with measurement limits     0\n\nRuntime action phases (separate from assertion mappings)\n  Recorded within action phases      0 lines\n  Other recorded execution           5 lines\n  These runtime phase counts do not include the agent-assessed assertion coverage shown above.\n\nCommands\n  npx supercov runs 'run_f486616def5ef17a' files\n  npx supercov runs 'run_f486616def5ef17a' gaps\n  npx supercov runs 'run_f486616def5ef17a' kinds\n  npx supercov runs 'run_f486616def5ef17a' runners\n  npx supercov runs 'run_f486616def5ef17a' scope\n  npx supercov runs run_f486616def5ef17a --help\n"
        },
        {
          "args": [
            "runs",
            "run_f486616def5ef17a",
            "gaps",
            "--limit",
            "5"
          ],
          "stdout": "Coverage gaps — only files with unresolved obligations\n\n\n\nshowing 0-0 of 0\n"
        },
        {
          "args": [
            "runs",
            "run_f486616def5ef17a",
            "file",
            "src/session.js"
          ],
          "stdout": "src/session.js\n\nUncovered\n  Lines not executed              0\n  Statements not executed         0\n  Functions not called            0\n  Branch outcomes not taken       0\n  MC/DC conditions not shown      0\n  Measurement limitations         0\n\nTests touching this file: 3\n\nGaps\n  NOT COVERED = line never executed; PARTIAL = line executed but some behavior remains untested\n LINE  STATUS        SOURCE\nshowing 0-0 of 0 gap lines\n"
        },
        {
          "args": [
            "runs",
            "run_f486616def5ef17a",
            "line",
            "src/session.js:3"
          ],
          "stdout": "src/session.js:3\n\nSource\n      3 | const total = price * quantity;\n\nStatus\n  COVERED\n  Evidence: execution only\n\nCoverage details\n  Statement at column 5 — covered (1 covering tests)\n    `const total = price * quantity;`\n\nCovering tests\n  confirms an order [node:test:1ecdf909d63f01021278acac] — unit/node:test\n\nTest phases\n  node:assert/strict.equal (passed) at tests/session.test.js:7:3\n"
        },
        {
          "args": [
            "runs",
            "run_f486616def5ef17a",
            "decision",
            "src/session.js:2"
          ],
          "stdout": "cf8decfeb68a3191  src/session.js:2:7\nsignedIn && !expired\nC1 covered: signedIn\nC2 covered: !expired\nconfidence executed\nvectors:\n  F- -> F  tests=1 confidence=executed\n  TF -> F  tests=1 confidence=executed\n  TT -> T  tests=1 confidence=executed\nshowing 1-3 of 3 conditions/vectors/tests per decision\n"
        },
        {
          "args": [
            "runs",
            "run_f486616def5ef17a",
            "assertions",
            "report",
            "--view",
            "statements",
            "--file",
            "src/session.js"
          ],
          "stdout": "{\n  \"items\": [\n    {\n      \"id\": \"0dac866dbc3f5fce\",\n      \"file\": \"src/session.js\",\n      \"line\": 2,\n      \"at\": {\n        \"file\": \"src/session.js\",\n        \"line\": 2,\n        \"column\": 3,\n        \"text\": \"if (signedIn && !expired) {\\n    const total = price * quantity;\\n    return { status: 'confirmed', total };\\n  }\"\n      },\n      \"covered\": true,\n      \"tests\": [\n        \"node:test:1ecdf909d63f01021278acac\",\n        \"node:test:ab23f6b5f9c108ba0750ffff\",\n        \"node:test:ba89bac97c89d17c50e8624c\"\n      ],\n      \"declared\": true,\n      \"asserted\": true,\n      \"flows\": [\n        \"a_084343be09ea2acc3665/returned-status\",\n        \"a_b61776acd0e4b94c7b9c/returned-status\",\n        \"a_be31211d5c6f21d31774/returned-status\"\n      ],\n      \"executionEvidence\": {\n        \"anyExecution\": true,\n        \"passingTests\": [\n          \"node:test:1ecdf909d63f01021278acac\",\n          \"node:test:ab23f6b5f9c108ba0750ffff\",\n          \"node:test:ba89bac97c89d17c50e8624c\"\n        ],\n        \"outsidePassingTests\": []\n      }\n    },\n    {\n      \"id\": \"9545f0e0637e6573\",\n      \"file\": \"src/session.js\",\n      \"line\": 3,\n      \"at\": {\n        \"file\": \"src/session.js\",\n        \"line\": 3,\n        \"column\": 5,\n        \"text\": \"const total = price * quantity;\"\n      },\n      \"covered\": true,\n      \"tests\": [\n        \"node:test:1ecdf909d63f01021278acac\"\n      ],\n      \"declared\": true,\n      \"asserted\": true,\n      \"flows\": [\n        \"a_36c05067f1cb1af7a57e/calculated-total\"\n      ],\n      \"executionEvidence\": {\n        \"anyExecution\": true,\n        \"passingTests\": [\n          \"node:test:1ecdf909d63f01021278acac\"\n        ],\n        \"outsidePassingTests\": []\n      }\n    },\n    {\n      \"id\": \"f008afe4c1cdd278\",\n      \"file\": \"src/session.js\",\n      \"line\": 4,\n      \"at\": {\n        \"file\": \"src/session.js\",\n        \"line\": 4,\n        \"column\": 5,\n        \"text\": \"return { status: 'confirmed', total };\"\n      },\n      \"covered\": true,\n      \"tests\": [\n        \"node:test:1ecdf909d63f01021278acac\"\n      ],\n      \"declared\": true,\n      \"asserted\": true,\n      \"flows\": [\n        \"a_084343be09ea2acc3665/returned-status\",\n        \"a_36c05067f1cb1af7a57e/calculated-total\"\n      ],\n      \"executionEvidence\": {\n        \"anyExecution\": true,\n        \"passingTests\": [\n          \"node:test:1ecdf909d63f01021278acac\"\n        ],\n        \"outsidePassingTests\": []\n      }\n    },\n    {\n      \"id\": \"dd5f77f8e42b4af1\",\n      \"file\": \"src/session.js\",\n      \"line\": 6,\n      \"at\": {\n        \"file\": \"src/session.js\",\n        \"line\": 6,\n        \"column\": 3,\n        \"text\": \"return { status: 'denied', total: 0 };\"\n      },\n      \"covered\": true,\n      \"tests\": [\n        \"node:test:ab23f6b5f9c108ba0750ffff\",\n        \"node:test:ba89bac97c89d17c50e8624c\"\n      ],\n      \"declared\": true,\n      \"asserted\": true,\n      \"flows\": [\n        \"a_b61776acd0e4b94c7b9c/returned-status\",\n        \"a_be31211d5c6f21d31774/returned-status\"\n      ],\n      \"executionEvidence\": {\n        \"anyExecution\": true,\n        \"passingTests\": [\n          \"node:test:ab23f6b5f9c108ba0750ffff\",\n          \"node:test:ba89bac97c89d17c50e8624c\"\n        ],\n        \"outsidePassingTests\": []\n      }\n    }\n  ],\n  \"pagination\": {\n    \"offset\": 0,\n    \"returned\": 4,\n    \"total\": 4,\n    \"nextOffset\": null\n  },\n  \"summary\": {\n    \"status\": \"available\",\n    \"reason\": \"Agent-assessed statements; mapping completeness is unknown\",\n    \"pendingChanges\": 0,\n    \"metric\": \"measured statements\",\n    \"statements\": {\n      \"asserted\": 4,\n      \"declared\": 4,\n      \"total\": 4,\n      \"percentage\": 100.0\n    },\n    \"assertions\": 4,\n    \"inventoryAssertions\": 4,\n    \"missingInventoryAssertions\": 0,\n    \"assertionsWithFlows\": 4,\n    \"assertionsWithoutFlows\": 0,\n    \"observedAssertionsWithoutCurrentExplanation\": 0,\n    \"questions\": 0,\n    \"currentFlows\": 4,\n    \"draftFlows\": 0,\n    \"staleFlows\": 0,\n    \"invalidFlows\": 0,\n    \"eligibleFlows\": 4,\n    \"retiredAssertions\": 1,\n    \"unobservedAssertions\": 0,\n    \"inventoryFailures\": 0,\n    \"unanchoredStatements\": 0,\n    \"runPassed\": true,\n    \"lines\": {\n      \"asserted\": 4,\n      \"declared\": 4,\n      \"total\": 4,\n      \"percentage\": 100.0\n    },\n    \"excludedStatements\": 0\n  },\n  \"basis\": \"agent-assessed; passing assertion identity and same-test execution required; not mutation resistance\",\n  \"validationErrors\": [],\n  \"limitations\": [\n    \"Syntax inventory covers recognized assertion forms, not every possible custom assertion. Agents may add exact source sites; missing runtime identity never earns credit.\",\n    \"Optional assertion calls are inventoried but currently have no injected phase. Unrecognized custom assertion wrappers and dynamically selected matchers may be absent. Use check --require-observed to detect inventoried sites without passing evidence.\"\n  ],\n  \"revision\": \"160819924b80c7cc12db6b96aeedd0fe4099ab42a364fc6cabef53e6f3d005d6\",\n  \"inheritance\": {\n    \"from\": \"run_fc5c7faa838073e2\",\n    \"skipped\": []\n  },\n  \"view\": \"statements\",\n  \"file\": \"src/session.js\",\n  \"needsAttention\": false,\n  \"scope\": \"summary covers the whole run with matching current source; --file filters items only\",\n  \"workingTree\": {\n    \"stale\": false,\n    \"reasons\": []\n  },\n  \"run\": \"run_f486616def5ef17a\",\n  \"map\": \"/private<project>/.supercov/runs/run_f486616def5ef17a/assertions.json\"\n}\n"
        },
        {
          "args": [
            "diff",
            "run_fc5c7faa838073e2",
            "run_f486616def5ef17a"
          ],
          "stdout": "run_fc5c7faa838073e2 -> run_f486616def5ef17a\nlines +0pp, branches +0pp, MC/DC +50pp\ngained: 0 lines, 0 branches, 1 MC/DC conditions\nlost: 0 lines, 0 branches, 0 MC/DC conditions\n+ MC/DC src/session.js:2 C2 !expired\nshowing 1-1 of 1 per category\n"
        }
      ],
      "structural": {
        "test": "import assert from 'node:assert/strict';\nimport test from 'node:test';\nimport { checkout } from '../src/session.js';\n\ntest('confirms an order', () => {\n  const order = checkout(true, false, 25, 2);\n  assert.equal(order.status, 'confirmed');\n});\n\n",
        "summary": "run run_fe9ebf540068ded6\ncommand: npm test\n\nCoverage\n  Lines      80.00% (4/5)\n  Branches   50.00% (1/2)\n  MC/DC      0.00% (0/2)\nAssertions not assessed — No recorded flow explanations\n  0 assertions with flows; 1 without; 0 current flows; 0 stale; 0 draft\n\nBy test kind\n  unit            1 test(s)  lines  80.00%  branches  50.00%  MC/DC   0.00%\n  1 test(s) use the runner's default kind; this is not inferred from their behavior.\n  Set SUPERCOV_TEST_KIND=integration (or unit/component/e2e) when running a suite to override it.\n\nMeasurement\n  Instrumentation  Complete for the measured command and coverage model\n  Scope            Only code reached by the wrapped command is observed; this status does not prove every project test suite was run.\n  Command outputs  <project>/.supercov/workspaces/workspace/supercov-homepage-recording-1xCat1\n\nTests\n  Total       1\n  Passed      1\n\nRemaining\n  Files with uncovered code         1\n  Files with measurement limits     0\n\nRuntime action phases (separate from assertion mappings)\n  Recorded within action phases      0 lines\n  Other recorded execution           4 lines\n  These runtime phase counts do not include the agent-assessed assertion coverage shown above.\n\nCommands\n  npx supercov runs 'run_fe9ebf540068ded6' files\n  npx supercov runs 'run_fe9ebf540068ded6' gaps\n  npx supercov runs 'run_fe9ebf540068ded6' kinds\n  npx supercov runs 'run_fe9ebf540068ded6' runners\n  npx supercov runs 'run_fe9ebf540068ded6' scope\n  npx supercov runs run_fe9ebf540068ded6 --help\n",
        "gaps": "Coverage gaps — only files with unresolved obligations\n\nsrc/session.js\n  uncovered: lines 1  statements 1  functions 0  branch outcomes 0  MC/DC conditions 2\n\nshowing 1-1 of 1\ninspect file: npx supercov runs 'run_fe9ebf540068ded6' file 'src/session.js'\n",
        "file": "src/session.js\n\nUncovered\n  Lines not executed              1\n  Statements not executed         1\n  Functions not called            0\n  Branch outcomes not taken       0\n  MC/DC conditions not shown      2\n  Measurement limitations         0\n\nTests touching this file: 1\n\nGaps\n  NOT COVERED = line never executed; PARTIAL = line executed but some behavior remains untested\n LINE  STATUS        SOURCE\n    2  PARTIAL       signedIn && !expired\n       Unobserved: no witness pair shows `signedIn` independently changing the decision result\n       Unobserved: no witness pair shows `!expired` independently changing the decision result\n       Inspect: npx supercov runs 'run_fe9ebf540068ded6' line 'src/session.js:2'\n    6  NOT COVERED   return { status: 'denied', total: 0 };\nshowing 1-2 of 2 gap lines\n",
        "line": "src/session.js:3\n\nSource\n      3 | const total = price * quantity;\n\nStatus\n  COVERED\n  Evidence: execution only\n\nCoverage details\n  Statement at column 5 — covered (1 covering tests)\n    `const total = price * quantity;`\n\nCovering tests\n  confirms an order [node:test:1ecdf909d63f01021278acac] — unit/node:test\n\nTest phases\n  node:assert/strict.equal (passed) at tests/session.test.js:7:3\n",
        "decision": "cf8decfeb68a3191  src/session.js:2:7\nsignedIn && !expired\nC1 MISSING: signedIn\nC2 MISSING: !expired\nconfidence executed\nvectors:\n  TT -> T  tests=1 confidence=executed\nshowing 1-2 of 2 conditions/vectors/tests per decision\n",
        "assertions": "{\n  \"items\": [\n    {\n      \"id\": \"0dac866dbc3f5fce\",\n      \"file\": \"src/session.js\",\n      \"line\": 2,\n      \"at\": {\n        \"file\": \"src/session.js\",\n        \"line\": 2,\n        \"column\": 3,\n        \"text\": \"if (signedIn && !expired) {\\n    const total = price * quantity;\\n    return { status: 'confirmed', total };\\n  }\"\n      },\n      \"covered\": true,\n      \"tests\": [\n        \"node:test:1ecdf909d63f01021278acac\"\n      ],\n      \"declared\": false,\n      \"asserted\": false,\n      \"flows\": [],\n      \"executionEvidence\": {\n        \"anyExecution\": true,\n        \"passingTests\": [\n          \"node:test:1ecdf909d63f01021278acac\"\n        ],\n        \"outsidePassingTests\": []\n      }\n    },\n    {\n      \"id\": \"9545f0e0637e6573\",\n      \"file\": \"src/session.js\",\n      \"line\": 3,\n      \"at\": {\n        \"file\": \"src/session.js\",\n        \"line\": 3,\n        \"column\": 5,\n        \"text\": \"const total = price * quantity;\"\n      },\n      \"covered\": true,\n      \"tests\": [\n        \"node:test:1ecdf909d63f01021278acac\"\n      ],\n      \"declared\": false,\n      \"asserted\": false,\n      \"flows\": [],\n      \"executionEvidence\": {\n        \"anyExecution\": true,\n        \"passingTests\": [\n          \"node:test:1ecdf909d63f01021278acac\"\n        ],\n        \"outsidePassingTests\": []\n      }\n    },\n    {\n      \"id\": \"f008afe4c1cdd278\",\n      \"file\": \"src/session.js\",\n      \"line\": 4,\n      \"at\": {\n        \"file\": \"src/session.js\",\n        \"line\": 4,\n        \"column\": 5,\n        \"text\": \"return { status: 'confirmed', total };\"\n      },\n      \"covered\": true,\n      \"tests\": [\n        \"node:test:1ecdf909d63f01021278acac\"\n      ],\n      \"declared\": false,\n      \"asserted\": false,\n      \"flows\": [],\n      \"executionEvidence\": {\n        \"anyExecution\": true,\n        \"passingTests\": [\n          \"node:test:1ecdf909d63f01021278acac\"\n        ],\n        \"outsidePassingTests\": []\n      }\n    },\n    {\n      \"id\": \"dd5f77f8e42b4af1\",\n      \"file\": \"src/session.js\",\n      \"line\": 6,\n      \"at\": {\n        \"file\": \"src/session.js\",\n        \"line\": 6,\n        \"column\": 3,\n        \"text\": \"return { status: 'denied', total: 0 };\"\n      },\n      \"covered\": false,\n      \"tests\": [],\n      \"declared\": false,\n      \"asserted\": false,\n      \"flows\": [],\n      \"executionEvidence\": {\n        \"anyExecution\": false,\n        \"passingTests\": [],\n        \"outsidePassingTests\": []\n      }\n    }\n  ],\n  \"pagination\": {\n    \"offset\": 0,\n    \"returned\": 4,\n    \"total\": 4,\n    \"nextOffset\": null\n  },\n  \"summary\": {\n    \"status\": \"notAssessed\",\n    \"reason\": \"No recorded flow explanations\",\n    \"pendingChanges\": 0,\n    \"metric\": \"measured statements\",\n    \"statements\": {\n      \"asserted\": 0,\n      \"declared\": 0,\n      \"total\": 4,\n      \"percentage\": null\n    },\n    \"assertions\": 1,\n    \"inventoryAssertions\": 1,\n    \"missingInventoryAssertions\": 0,\n    \"assertionsWithFlows\": 0,\n    \"assertionsWithoutFlows\": 1,\n    \"observedAssertionsWithoutCurrentExplanation\": 1,\n    \"questions\": 0,\n    \"currentFlows\": 0,\n    \"draftFlows\": 0,\n    \"staleFlows\": 0,\n    \"invalidFlows\": 0,\n    \"eligibleFlows\": 0,\n    \"retiredAssertions\": 0,\n    \"unobservedAssertions\": 0,\n    \"inventoryFailures\": 0,\n    \"unanchoredStatements\": 0,\n    \"runPassed\": true,\n    \"lines\": {\n      \"asserted\": 0,\n      \"declared\": 0,\n      \"total\": 4,\n      \"percentage\": null\n    },\n    \"excludedStatements\": 0\n  },\n  \"basis\": \"agent-assessed; passing assertion identity and same-test execution required; not mutation resistance\",\n  \"validationErrors\": [],\n  \"limitations\": [\n    \"Syntax inventory covers recognized assertion forms, not every possible custom assertion. Agents may add exact source sites; missing runtime identity never earns credit.\",\n    \"Optional assertion calls are inventoried but currently have no injected phase. Unrecognized custom assertion wrappers and dynamically selected matchers may be absent. Use check --require-observed to detect inventoried sites without passing evidence.\"\n  ],\n  \"revision\": \"bd55e7b8578521c2c3b5c49e849b1d683f0c95ef41289c5f3e901e6fa1e5dbc6\",\n  \"inheritance\": {\n    \"from\": null,\n    \"skipped\": []\n  },\n  \"view\": \"statements\",\n  \"file\": \"src/session.js\",\n  \"needsAttention\": false,\n  \"scope\": \"summary covers the whole run with matching current source; --file filters items only\",\n  \"workingTree\": {\n    \"stale\": false,\n    \"reasons\": []\n  },\n  \"run\": \"run_fe9ebf540068ded6\",\n  \"map\": \"<project>/.supercov/runs/run_fe9ebf540068ded6/assertions.json\"\n}\n"
      },
      "beforeQueries": {
        "summary": "run run_fc5c7faa838073e2\ncommand: npm test\n\nCoverage\n  Lines      100.00% (5/5)\n  Branches   100.00% (2/2)\n  MC/DC      50.00% (1/2)\nAssertions 75.00% (3/4) — agent-assessed statements, whole run\n  2 assertions with flows; 0 without; 2 current flows; 0 stale; 0 draft\n\nBy test kind\n  unit            2 test(s)  lines 100.00%  branches 100.00%  MC/DC  50.00%\n  2 test(s) use the runner's default kind; this is not inferred from their behavior.\n  Set SUPERCOV_TEST_KIND=integration (or unit/component/e2e) when running a suite to override it.\n\nMeasurement\n  Instrumentation  Complete for the measured command and coverage model\n  Scope            Only code reached by the wrapped command is observed; this status does not prove every project test suite was run.\n  Command outputs  <project>/.supercov/workspaces/workspace/supercov-homepage-recording-1xCat1\n\nTests\n  Total       2\n  Passed      2\n\nRemaining\n  Files with uncovered code         1\n  Files with measurement limits     0\n\nRuntime action phases (separate from assertion mappings)\n  Recorded within action phases      0 lines\n  Other recorded execution           5 lines\n  These runtime phase counts do not include the agent-assessed assertion coverage shown above.\n\nCommands\n  npx supercov runs 'run_fc5c7faa838073e2' files\n  npx supercov runs 'run_fc5c7faa838073e2' gaps\n  npx supercov runs 'run_fc5c7faa838073e2' kinds\n  npx supercov runs 'run_fc5c7faa838073e2' runners\n  npx supercov runs 'run_fc5c7faa838073e2' scope\n  npx supercov runs run_fc5c7faa838073e2 --help\n",
        "gaps": "Coverage gaps — only files with unresolved obligations\n\nsrc/session.js\n  uncovered: lines 0  statements 0  functions 0  branch outcomes 0  MC/DC conditions 1\n\nshowing 1-1 of 1\ninspect file: npx supercov runs 'run_fc5c7faa838073e2' file 'src/session.js'\n",
        "file": "src/session.js\n\nUncovered\n  Lines not executed              0\n  Statements not executed         0\n  Functions not called            0\n  Branch outcomes not taken       0\n  MC/DC conditions not shown      1\n  Measurement limitations         0\n\nTests touching this file: 2\n\nGaps\n  NOT COVERED = line never executed; PARTIAL = line executed but some behavior remains untested\n LINE  STATUS        SOURCE\n    2  PARTIAL       signedIn && !expired\n       Unobserved: no witness pair shows `!expired` independently changing the decision result\n       Inspect: npx supercov runs 'run_fc5c7faa838073e2' line 'src/session.js:2'\nshowing 1-1 of 1 gap lines\n",
        "line": "src/session.js:3\n\nSource\n      3 | const total = price * quantity;\n\nStatus\n  COVERED\n  Evidence: execution only\n\nCoverage details\n  Statement at column 5 — covered (1 covering tests)\n    `const total = price * quantity;`\n\nCovering tests\n  confirms an order [node:test:1ecdf909d63f01021278acac] — unit/node:test\n\nTest phases\n  node:assert/strict.equal (passed) at tests/session.test.js:7:3\n",
        "decision": "cf8decfeb68a3191  src/session.js:2:7\nsignedIn && !expired\nC1 covered: signedIn\nC2 MISSING: !expired\nconfidence executed\nvectors:\n  F- -> F  tests=1 confidence=executed\n  TT -> T  tests=1 confidence=executed\nshowing 1-2 of 2 conditions/vectors/tests per decision\n",
        "assertions": "{\n  \"items\": [\n    {\n      \"id\": \"0dac866dbc3f5fce\",\n      \"file\": \"src/session.js\",\n      \"line\": 2,\n      \"at\": {\n        \"file\": \"src/session.js\",\n        \"line\": 2,\n        \"column\": 3,\n        \"text\": \"if (signedIn && !expired) {\\n    const total = price * quantity;\\n    return { status: 'confirmed', total };\\n  }\"\n      },\n      \"covered\": true,\n      \"tests\": [\n        \"node:test:1ecdf909d63f01021278acac\",\n        \"node:test:e3c6f7f816450f7625f71929\"\n      ],\n      \"declared\": true,\n      \"asserted\": true,\n      \"flows\": [\n        \"a_084343be09ea2acc3665/returned-status\",\n        \"a_9e03ade862dfb4490e97/returned-status\"\n      ],\n      \"executionEvidence\": {\n        \"anyExecution\": true,\n        \"passingTests\": [\n          \"node:test:1ecdf909d63f01021278acac\",\n          \"node:test:e3c6f7f816450f7625f71929\"\n        ],\n        \"outsidePassingTests\": []\n      }\n    },\n    {\n      \"id\": \"9545f0e0637e6573\",\n      \"file\": \"src/session.js\",\n      \"line\": 3,\n      \"at\": {\n        \"file\": \"src/session.js\",\n        \"line\": 3,\n        \"column\": 5,\n        \"text\": \"const total = price * quantity;\"\n      },\n      \"covered\": true,\n      \"tests\": [\n        \"node:test:1ecdf909d63f01021278acac\"\n      ],\n      \"declared\": false,\n      \"asserted\": false,\n      \"flows\": [],\n      \"executionEvidence\": {\n        \"anyExecution\": true,\n        \"passingTests\": [\n          \"node:test:1ecdf909d63f01021278acac\"\n        ],\n        \"outsidePassingTests\": []\n      }\n    },\n    {\n      \"id\": \"f008afe4c1cdd278\",\n      \"file\": \"src/session.js\",\n      \"line\": 4,\n      \"at\": {\n        \"file\": \"src/session.js\",\n        \"line\": 4,\n        \"column\": 5,\n        \"text\": \"return { status: 'confirmed', total };\"\n      },\n      \"covered\": true,\n      \"tests\": [\n        \"node:test:1ecdf909d63f01021278acac\"\n      ],\n      \"declared\": true,\n      \"asserted\": true,\n      \"flows\": [\n        \"a_084343be09ea2acc3665/returned-status\"\n      ],\n      \"executionEvidence\": {\n        \"anyExecution\": true,\n        \"passingTests\": [\n          \"node:test:1ecdf909d63f01021278acac\"\n        ],\n        \"outsidePassingTests\": []\n      }\n    },\n    {\n      \"id\": \"dd5f77f8e42b4af1\",\n      \"file\": \"src/session.js\",\n      \"line\": 6,\n      \"at\": {\n        \"file\": \"src/session.js\",\n        \"line\": 6,\n        \"column\": 3,\n        \"text\": \"return { status: 'denied', total: 0 };\"\n      },\n      \"covered\": true,\n      \"tests\": [\n        \"node:test:e3c6f7f816450f7625f71929\"\n      ],\n      \"declared\": true,\n      \"asserted\": true,\n      \"flows\": [\n        \"a_9e03ade862dfb4490e97/returned-status\"\n      ],\n      \"executionEvidence\": {\n        \"anyExecution\": true,\n        \"passingTests\": [\n          \"node:test:e3c6f7f816450f7625f71929\"\n        ],\n        \"outsidePassingTests\": []\n      }\n    }\n  ],\n  \"pagination\": {\n    \"offset\": 0,\n    \"returned\": 4,\n    \"total\": 4,\n    \"nextOffset\": null\n  },\n  \"summary\": {\n    \"status\": \"available\",\n    \"reason\": \"Agent-assessed statements; mapping completeness is unknown\",\n    \"pendingChanges\": 0,\n    \"metric\": \"measured statements\",\n    \"statements\": {\n      \"asserted\": 3,\n      \"declared\": 3,\n      \"total\": 4,\n      \"percentage\": 75.0\n    },\n    \"assertions\": 2,\n    \"inventoryAssertions\": 2,\n    \"missingInventoryAssertions\": 0,\n    \"assertionsWithFlows\": 2,\n    \"assertionsWithoutFlows\": 0,\n    \"observedAssertionsWithoutCurrentExplanation\": 0,\n    \"questions\": 0,\n    \"currentFlows\": 2,\n    \"draftFlows\": 0,\n    \"staleFlows\": 0,\n    \"invalidFlows\": 0,\n    \"eligibleFlows\": 2,\n    \"retiredAssertions\": 0,\n    \"unobservedAssertions\": 0,\n    \"inventoryFailures\": 0,\n    \"unanchoredStatements\": 0,\n    \"runPassed\": true,\n    \"lines\": {\n      \"asserted\": 3,\n      \"declared\": 3,\n      \"total\": 4,\n      \"percentage\": 75.0\n    },\n    \"excludedStatements\": 0\n  },\n  \"basis\": \"agent-assessed; passing assertion identity and same-test execution required; not mutation resistance\",\n  \"validationErrors\": [],\n  \"limitations\": [\n    \"Syntax inventory covers recognized assertion forms, not every possible custom assertion. Agents may add exact source sites; missing runtime identity never earns credit.\",\n    \"Optional assertion calls are inventoried but currently have no injected phase. Unrecognized custom assertion wrappers and dynamically selected matchers may be absent. Use check --require-observed to detect inventoried sites without passing evidence.\"\n  ],\n  \"revision\": \"eec6c24c25ca72954315c206ecb83ecd8e84a7ea61511650579b0340a42c3dc2\",\n  \"inheritance\": {\n    \"from\": \"run_fe9ebf540068ded6\",\n    \"skipped\": []\n  },\n  \"view\": \"statements\",\n  \"file\": \"src/session.js\",\n  \"needsAttention\": false,\n  \"scope\": \"summary covers the whole run with matching current source; --file filters items only\",\n  \"workingTree\": {\n    \"stale\": false,\n    \"reasons\": []\n  },\n  \"run\": \"run_fc5c7faa838073e2\",\n  \"map\": \"<project>/.supercov/runs/run_fc5c7faa838073e2/assertions.json\"\n}\n"
      },
      "afterQueries": {
        "summary": "run run_f486616def5ef17a\ncommand: npm test\n\nCoverage\n  Lines      100.00% (5/5)\n  Branches   100.00% (2/2)\n  MC/DC      100.00% (2/2)\nAssertions 100.00% (4/4) — agent-assessed statements, whole run\n  4 assertions with flows; 0 without; 4 current flows; 0 stale; 0 draft\n\nBy test kind\n  unit            3 test(s)  lines 100.00%  branches 100.00%  MC/DC 100.00%\n  3 test(s) use the runner's default kind; this is not inferred from their behavior.\n  Set SUPERCOV_TEST_KIND=integration (or unit/component/e2e) when running a suite to override it.\n\nMeasurement\n  Instrumentation  Complete for the measured command and coverage model\n  Scope            Only code reached by the wrapped command is observed; this status does not prove every project test suite was run.\n  Command outputs  <project>/.supercov/workspaces/workspace/supercov-homepage-recording-1xCat1\n\nTests\n  Total       3\n  Passed      3\n\nRemaining\n  Files with uncovered code         0\n  Files with measurement limits     0\n\nRuntime action phases (separate from assertion mappings)\n  Recorded within action phases      0 lines\n  Other recorded execution           5 lines\n  These runtime phase counts do not include the agent-assessed assertion coverage shown above.\n\nCommands\n  npx supercov runs 'run_f486616def5ef17a' files\n  npx supercov runs 'run_f486616def5ef17a' gaps\n  npx supercov runs 'run_f486616def5ef17a' kinds\n  npx supercov runs 'run_f486616def5ef17a' runners\n  npx supercov runs 'run_f486616def5ef17a' scope\n  npx supercov runs run_f486616def5ef17a --help\n",
        "gaps": "Coverage gaps — only files with unresolved obligations\n\n\n\nshowing 0-0 of 0\n",
        "file": "src/session.js\n\nUncovered\n  Lines not executed              0\n  Statements not executed         0\n  Functions not called            0\n  Branch outcomes not taken       0\n  MC/DC conditions not shown      0\n  Measurement limitations         0\n\nTests touching this file: 3\n\nGaps\n  NOT COVERED = line never executed; PARTIAL = line executed but some behavior remains untested\n LINE  STATUS        SOURCE\nshowing 0-0 of 0 gap lines\n",
        "line": "src/session.js:3\n\nSource\n      3 | const total = price * quantity;\n\nStatus\n  COVERED\n  Evidence: execution only\n\nCoverage details\n  Statement at column 5 — covered (1 covering tests)\n    `const total = price * quantity;`\n\nCovering tests\n  confirms an order [node:test:1ecdf909d63f01021278acac] — unit/node:test\n\nTest phases\n  node:assert/strict.equal (passed) at tests/session.test.js:7:3\n",
        "decision": "cf8decfeb68a3191  src/session.js:2:7\nsignedIn && !expired\nC1 covered: signedIn\nC2 covered: !expired\nconfidence executed\nvectors:\n  F- -> F  tests=1 confidence=executed\n  TF -> F  tests=1 confidence=executed\n  TT -> T  tests=1 confidence=executed\nshowing 1-3 of 3 conditions/vectors/tests per decision\n",
        "assertions": "{\n  \"items\": [\n    {\n      \"id\": \"0dac866dbc3f5fce\",\n      \"file\": \"src/session.js\",\n      \"line\": 2,\n      \"at\": {\n        \"file\": \"src/session.js\",\n        \"line\": 2,\n        \"column\": 3,\n        \"text\": \"if (signedIn && !expired) {\\n    const total = price * quantity;\\n    return { status: 'confirmed', total };\\n  }\"\n      },\n      \"covered\": true,\n      \"tests\": [\n        \"node:test:1ecdf909d63f01021278acac\",\n        \"node:test:ab23f6b5f9c108ba0750ffff\",\n        \"node:test:ba89bac97c89d17c50e8624c\"\n      ],\n      \"declared\": true,\n      \"asserted\": true,\n      \"flows\": [\n        \"a_084343be09ea2acc3665/returned-status\",\n        \"a_b61776acd0e4b94c7b9c/returned-status\",\n        \"a_be31211d5c6f21d31774/returned-status\"\n      ],\n      \"executionEvidence\": {\n        \"anyExecution\": true,\n        \"passingTests\": [\n          \"node:test:1ecdf909d63f01021278acac\",\n          \"node:test:ab23f6b5f9c108ba0750ffff\",\n          \"node:test:ba89bac97c89d17c50e8624c\"\n        ],\n        \"outsidePassingTests\": []\n      }\n    },\n    {\n      \"id\": \"9545f0e0637e6573\",\n      \"file\": \"src/session.js\",\n      \"line\": 3,\n      \"at\": {\n        \"file\": \"src/session.js\",\n        \"line\": 3,\n        \"column\": 5,\n        \"text\": \"const total = price * quantity;\"\n      },\n      \"covered\": true,\n      \"tests\": [\n        \"node:test:1ecdf909d63f01021278acac\"\n      ],\n      \"declared\": true,\n      \"asserted\": true,\n      \"flows\": [\n        \"a_36c05067f1cb1af7a57e/calculated-total\"\n      ],\n      \"executionEvidence\": {\n        \"anyExecution\": true,\n        \"passingTests\": [\n          \"node:test:1ecdf909d63f01021278acac\"\n        ],\n        \"outsidePassingTests\": []\n      }\n    },\n    {\n      \"id\": \"f008afe4c1cdd278\",\n      \"file\": \"src/session.js\",\n      \"line\": 4,\n      \"at\": {\n        \"file\": \"src/session.js\",\n        \"line\": 4,\n        \"column\": 5,\n        \"text\": \"return { status: 'confirmed', total };\"\n      },\n      \"covered\": true,\n      \"tests\": [\n        \"node:test:1ecdf909d63f01021278acac\"\n      ],\n      \"declared\": true,\n      \"asserted\": true,\n      \"flows\": [\n        \"a_084343be09ea2acc3665/returned-status\",\n        \"a_36c05067f1cb1af7a57e/calculated-total\"\n      ],\n      \"executionEvidence\": {\n        \"anyExecution\": true,\n        \"passingTests\": [\n          \"node:test:1ecdf909d63f01021278acac\"\n        ],\n        \"outsidePassingTests\": []\n      }\n    },\n    {\n      \"id\": \"dd5f77f8e42b4af1\",\n      \"file\": \"src/session.js\",\n      \"line\": 6,\n      \"at\": {\n        \"file\": \"src/session.js\",\n        \"line\": 6,\n        \"column\": 3,\n        \"text\": \"return { status: 'denied', total: 0 };\"\n      },\n      \"covered\": true,\n      \"tests\": [\n        \"node:test:ab23f6b5f9c108ba0750ffff\",\n        \"node:test:ba89bac97c89d17c50e8624c\"\n      ],\n      \"declared\": true,\n      \"asserted\": true,\n      \"flows\": [\n        \"a_b61776acd0e4b94c7b9c/returned-status\",\n        \"a_be31211d5c6f21d31774/returned-status\"\n      ],\n      \"executionEvidence\": {\n        \"anyExecution\": true,\n        \"passingTests\": [\n          \"node:test:ab23f6b5f9c108ba0750ffff\",\n          \"node:test:ba89bac97c89d17c50e8624c\"\n        ],\n        \"outsidePassingTests\": []\n      }\n    }\n  ],\n  \"pagination\": {\n    \"offset\": 0,\n    \"returned\": 4,\n    \"total\": 4,\n    \"nextOffset\": null\n  },\n  \"summary\": {\n    \"status\": \"available\",\n    \"reason\": \"Agent-assessed statements; mapping completeness is unknown\",\n    \"pendingChanges\": 0,\n    \"metric\": \"measured statements\",\n    \"statements\": {\n      \"asserted\": 4,\n      \"declared\": 4,\n      \"total\": 4,\n      \"percentage\": 100.0\n    },\n    \"assertions\": 4,\n    \"inventoryAssertions\": 4,\n    \"missingInventoryAssertions\": 0,\n    \"assertionsWithFlows\": 4,\n    \"assertionsWithoutFlows\": 0,\n    \"observedAssertionsWithoutCurrentExplanation\": 0,\n    \"questions\": 0,\n    \"currentFlows\": 4,\n    \"draftFlows\": 0,\n    \"staleFlows\": 0,\n    \"invalidFlows\": 0,\n    \"eligibleFlows\": 4,\n    \"retiredAssertions\": 1,\n    \"unobservedAssertions\": 0,\n    \"inventoryFailures\": 0,\n    \"unanchoredStatements\": 0,\n    \"runPassed\": true,\n    \"lines\": {\n      \"asserted\": 4,\n      \"declared\": 4,\n      \"total\": 4,\n      \"percentage\": 100.0\n    },\n    \"excludedStatements\": 0\n  },\n  \"basis\": \"agent-assessed; passing assertion identity and same-test execution required; not mutation resistance\",\n  \"validationErrors\": [],\n  \"limitations\": [\n    \"Syntax inventory covers recognized assertion forms, not every possible custom assertion. Agents may add exact source sites; missing runtime identity never earns credit.\",\n    \"Optional assertion calls are inventoried but currently have no injected phase. Unrecognized custom assertion wrappers and dynamically selected matchers may be absent. Use check --require-observed to detect inventoried sites without passing evidence.\"\n  ],\n  \"revision\": \"160819924b80c7cc12db6b96aeedd0fe4099ab42a364fc6cabef53e6f3d005d6\",\n  \"inheritance\": {\n    \"from\": \"run_fc5c7faa838073e2\",\n    \"skipped\": []\n  },\n  \"view\": \"statements\",\n  \"file\": \"src/session.js\",\n  \"needsAttention\": false,\n  \"scope\": \"summary covers the whole run with matching current source; --file filters items only\",\n  \"workingTree\": {\n    \"stale\": false,\n    \"reasons\": []\n  },\n  \"run\": \"run_f486616def5ef17a\",\n  \"map\": \"<project>/.supercov/runs/run_f486616def5ef17a/assertions.json\"\n}\n"
      }
    },
    "typescript": {
      "version": "0.0.48",
      "language": "typescript",
      "recordedAt": "2026-09-14T12:02:37.981Z",
      "runtime": "v24.21.0",
      "runner": "npm test",
      "sourceFile": "src/session.ts",
      "testFile": "tests/session.test.ts",
      "decisionAt": "src/session.ts:2",
      "filesBefore": {
        "package.json": "{\n  \"name\": \"supercov-assertion-demo\",\n  \"private\": true,\n  \"type\": \"module\",\n  \"scripts\": { \"test\": \"node --test tests/*.test.ts\" }\n}\n",
        "src/session.ts": "export function checkout(signedIn, expired, price, quantity) {\n  if (signedIn && !expired) {\n    const total = price * quantity;\n    return { status: 'confirmed', total };\n  }\n  return { status: 'denied', total: 0 };\n}\n",
        "tests/session.test.ts": "import assert from 'node:assert/strict';\nimport test from 'node:test';\nimport { checkout } from '../src/session.ts';\n\ntest('confirms an order', () => {\n  const order = checkout(true, false, 25, 2);\n  assert.equal(order.status, 'confirmed');\n});\n\ntest('rejects a signed-out visitor', () => {\n  const order = checkout(false, false, 25, 2);\n  assert.equal(order.status, 'denied');\n});\n"
      },
      "testAfter": "import assert from 'node:assert/strict';\nimport test from 'node:test';\nimport { checkout } from '../src/session.ts';\n\ntest('confirms an order', () => {\n  const order = checkout(true, false, 25, 2);\n  assert.equal(order.status, 'confirmed');\n  assert.equal(order.total, 50);\n});\n\ntest('rejects a signed-out visitor', () => {\n  const order = checkout(false, false, 25, 2);\n  assert.equal(order.status, 'denied');\n});\n\ntest('rejects an expired session', () => {\n  const order = checkout(true, true, 25, 2);\n  assert.equal(order.status, 'denied');\n});\n",
      "initialReport": "run run_00ada174ad1c2d85\ncommand: npm test\n\nCoverage\n  Lines      100.00% (5/5)\n  Branches   100.00% (2/2)\n  MC/DC      50.00% (1/2)\nAssertions pending — Source changes need impact assessment\n  0 assertions with flows; 2 without; 0 current flows; 0 stale; 0 draft\n\nBy test kind\n  unit            2 test(s)  lines 100.00%  branches 100.00%  MC/DC  50.00%\n  2 test(s) use the runner's default kind; this is not inferred from their behavior.\n  Set SUPERCOV_TEST_KIND=integration (or unit/component/e2e) when running a suite to override it.\n\nMeasurement\n  Instrumentation  Complete for the measured command and coverage model\n  Scope            Only code reached by the wrapped command is observed; this status does not prove every project test suite was run.\n  Command outputs  <project>/.supercov/workspaces/workspace/supercov-homepage-recording-A1ZlEv\n\nTests\n  Total       2\n  Passed      2\n\nRemaining\n  Files with uncovered code         1\n  Files with measurement limits     0\n\nRuntime action phases (separate from assertion mappings)\n  Recorded within action phases      0 lines\n  Other recorded execution           5 lines\n  These runtime phase counts do not include the agent-assessed assertion coverage shown above.\n\nCommands\n  npx supercov runs 'run_00ada174ad1c2d85' files\n  npx supercov runs 'run_00ada174ad1c2d85' gaps\n  npx supercov runs 'run_00ada174ad1c2d85' kinds\n  npx supercov runs 'run_00ada174ad1c2d85' runners\n  npx supercov runs 'run_00ada174ad1c2d85' scope\n  npx supercov runs run_00ada174ad1c2d85 --help\n",
      "initial": {
        "status": "pending",
        "reason": "Source changes need impact assessment",
        "pendingChanges": 1,
        "metric": "measured statements",
        "statements": {
          "asserted": 0,
          "declared": 0,
          "total": 4,
          "percentage": null
        },
        "assertions": 2,
        "inventoryAssertions": 2,
        "missingInventoryAssertions": 0,
        "assertionsWithFlows": 0,
        "assertionsWithoutFlows": 2,
        "observedAssertionsWithoutCurrentExplanation": 2,
        "questions": 0,
        "currentFlows": 0,
        "draftFlows": 0,
        "staleFlows": 0,
        "invalidFlows": 0,
        "eligibleFlows": 0,
        "retiredAssertions": 0,
        "unobservedAssertions": 0,
        "inventoryFailures": 0,
        "unanchoredStatements": 0,
        "runPassed": true,
        "lines": {
          "asserted": 0,
          "declared": 0,
          "total": 4,
          "percentage": null
        },
        "excludedStatements": 0
      },
      "before": {
        "run": "run_00ada174ad1c2d85",
        "map": {
          "schemaVersion": 2,
          "assertions": [
            {
              "id": "a_fc81c070c3b04b7bd8d4",
              "at": {
                "file": "tests/session.test.ts",
                "line": 7,
                "column": 3,
                "text": "assert.equal(order.status, 'confirmed')"
              },
              "observes": [
                "The returned status equals confirmed for this test input."
              ],
              "flows": [
                {
                  "id": "returned-status",
                  "basis": "scov2:039c7964908da96527ced42a4b2a6944b6576ec4be317b27a6b0dadd8c24191a",
                  "appliesTo": [
                    {
                      "file": "tests/session.test.ts",
                      "name": "confirms an order"
                    }
                  ],
                  "explanation": "The guard chooses the return path. This assertion compares only its status field; it does not check the total field or independently exercise every guard condition.",
                  "nodes": [
                    {
                      "id": "n0",
                      "at": {
                        "file": "src/session.ts",
                        "line": 2,
                        "column": 3,
                        "text": "if (signedIn && !expired) {\n    const total = price * quantity;\n    return { status: 'confirmed', total };\n  }"
                      }
                    },
                    {
                      "id": "n1",
                      "at": {
                        "file": "src/session.ts",
                        "line": 4,
                        "column": 5,
                        "text": "return { status: 'confirmed', total };"
                      }
                    }
                  ],
                  "edges": [
                    {
                      "from": "n0",
                      "to": "n1",
                      "kind": "control"
                    },
                    {
                      "from": "n1",
                      "to": "$assertion",
                      "kind": "data"
                    }
                  ],
                  "countsAsAsserted": [
                    "n0",
                    "n1"
                  ],
                  "watch": []
                }
              ]
            },
            {
              "id": "a_19781479661b64939e8c",
              "at": {
                "file": "tests/session.test.ts",
                "line": 12,
                "column": 3,
                "text": "assert.equal(order.status, 'denied')"
              },
              "observes": [
                "The returned status equals denied for this test input."
              ],
              "flows": [
                {
                  "id": "returned-status",
                  "basis": "scov2:e5873933820cb77056b481a0d9136bf3952a45e43de2a81e60b7ca763c7825f3",
                  "appliesTo": [
                    {
                      "file": "tests/session.test.ts",
                      "name": "rejects a signed-out visitor"
                    }
                  ],
                  "explanation": "The guard chooses the return path. This assertion compares only its status field; it does not check the total field or independently exercise every guard condition.",
                  "nodes": [
                    {
                      "id": "n0",
                      "at": {
                        "file": "src/session.ts",
                        "line": 2,
                        "column": 3,
                        "text": "if (signedIn && !expired) {\n    const total = price * quantity;\n    return { status: 'confirmed', total };\n  }"
                      }
                    },
                    {
                      "id": "n1",
                      "at": {
                        "file": "src/session.ts",
                        "line": 6,
                        "column": 3,
                        "text": "return { status: 'denied', total: 0 };"
                      }
                    }
                  ],
                  "edges": [
                    {
                      "from": "n0",
                      "to": "n1",
                      "kind": "control"
                    },
                    {
                      "from": "n1",
                      "to": "$assertion",
                      "kind": "data"
                    }
                  ],
                  "countsAsAsserted": [
                    "n0",
                    "n1"
                  ],
                  "watch": []
                }
              ]
            }
          ],
          "changeAssessments": [
            {
              "id": "c_6df1af21902acbc579bdb5b9",
              "basis": "scov2:c6ddb7b3c83f104318e4383aedd4a5fcd4985144f6e71eef71c04860c79d9582",
              "affectedFlows": [],
              "explanation": "Only the fixture test file changed. The current test inputs and assertions have been reviewed against this run’s mappings. The application source is unchanged."
            }
          ]
        },
        "check": "{\n  \"summary\": {\n    \"status\": \"available\",\n    \"reason\": \"Agent-assessed statements; mapping completeness is unknown\",\n    \"pendingChanges\": 0,\n    \"metric\": \"measured statements\",\n    \"statements\": {\n      \"asserted\": 3,\n      \"declared\": 3,\n      \"total\": 4,\n      \"percentage\": 75.0\n    },\n    \"assertions\": 2,\n    \"inventoryAssertions\": 2,\n    \"missingInventoryAssertions\": 0,\n    \"assertionsWithFlows\": 2,\n    \"assertionsWithoutFlows\": 0,\n    \"observedAssertionsWithoutCurrentExplanation\": 0,\n    \"questions\": 0,\n    \"currentFlows\": 2,\n    \"draftFlows\": 0,\n    \"staleFlows\": 0,\n    \"invalidFlows\": 0,\n    \"eligibleFlows\": 2,\n    \"retiredAssertions\": 0,\n    \"unobservedAssertions\": 0,\n    \"inventoryFailures\": 0,\n    \"unanchoredStatements\": 0,\n    \"runPassed\": true,\n    \"lines\": {\n      \"asserted\": 3,\n      \"declared\": 3,\n      \"total\": 4,\n      \"percentage\": 75.0\n    },\n    \"excludedStatements\": 0\n  },\n  \"basis\": \"agent-assessed; passing assertion identity and same-test execution required; not mutation resistance\",\n  \"validationErrors\": [],\n  \"limitations\": [\n    \"Syntax inventory covers recognized assertion forms, not every possible custom assertion. Agents may add exact source sites; missing runtime identity never earns credit.\",\n    \"Optional assertion calls are inventoried but currently have no injected phase. Unrecognized custom assertion wrappers and dynamically selected matchers may be absent. Use check --require-observed to detect inventoried sites without passing evidence.\"\n  ],\n  \"revision\": \"771121b2a0551298db15eab24311218ca593b6f8d6b9dffc6c5a7eb0815fe43d\",\n  \"inheritance\": {\n    \"from\": \"run_776ed4d70982d3eb\",\n    \"skipped\": []\n  },\n  \"view\": \"summary\",\n  \"file\": null,\n  \"needsAttention\": false,\n  \"scope\": \"summary covers the whole run with matching current source; --file filters items only\",\n  \"workingTree\": {\n    \"stale\": false,\n    \"reasons\": []\n  },\n  \"valid\": true,\n  \"failures\": [],\n  \"requirements\": {\n    \"mappings\": true,\n    \"observed\": false,\n    \"minimum\": null\n  },\n  \"run\": \"run_00ada174ad1c2d85\",\n  \"map\": \"<project>/.supercov/runs/run_00ada174ad1c2d85/assertions.json\"\n}\n",
        "report": "run run_00ada174ad1c2d85\ncommand: npm test\n\nCoverage\n  Lines      100.00% (5/5)\n  Branches   100.00% (2/2)\n  MC/DC      50.00% (1/2)\nAssertions 75.00% (3/4) — agent-assessed statements, whole run\n  2 assertions with flows; 0 without; 2 current flows; 0 stale; 0 draft\n\nBy test kind\n  unit            2 test(s)  lines 100.00%  branches 100.00%  MC/DC  50.00%\n  2 test(s) use the runner's default kind; this is not inferred from their behavior.\n  Set SUPERCOV_TEST_KIND=integration (or unit/component/e2e) when running a suite to override it.\n\nMeasurement\n  Instrumentation  Complete for the measured command and coverage model\n  Scope            Only code reached by the wrapped command is observed; this status does not prove every project test suite was run.\n  Command outputs  <project>/.supercov/workspaces/workspace/supercov-homepage-recording-A1ZlEv\n\nTests\n  Total       2\n  Passed      2\n\nRemaining\n  Files with uncovered code         1\n  Files with measurement limits     0\n\nRuntime action phases (separate from assertion mappings)\n  Recorded within action phases      0 lines\n  Other recorded execution           5 lines\n  These runtime phase counts do not include the agent-assessed assertion coverage shown above.\n\nCommands\n  npx supercov runs 'run_00ada174ad1c2d85' files\n  npx supercov runs 'run_00ada174ad1c2d85' gaps\n  npx supercov runs 'run_00ada174ad1c2d85' kinds\n  npx supercov runs 'run_00ada174ad1c2d85' runners\n  npx supercov runs 'run_00ada174ad1c2d85' scope\n  npx supercov runs run_00ada174ad1c2d85 --help\n",
        "summary": {
          "status": "available",
          "reason": "Agent-assessed statements; mapping completeness is unknown",
          "pendingChanges": 0,
          "metric": "measured statements",
          "statements": {
            "asserted": 3,
            "declared": 3,
            "total": 4,
            "percentage": 75
          },
          "assertions": 2,
          "inventoryAssertions": 2,
          "missingInventoryAssertions": 0,
          "assertionsWithFlows": 2,
          "assertionsWithoutFlows": 0,
          "observedAssertionsWithoutCurrentExplanation": 0,
          "questions": 0,
          "currentFlows": 2,
          "draftFlows": 0,
          "staleFlows": 0,
          "invalidFlows": 0,
          "eligibleFlows": 2,
          "retiredAssertions": 0,
          "unobservedAssertions": 0,
          "inventoryFailures": 0,
          "unanchoredStatements": 0,
          "runPassed": true,
          "lines": {
            "asserted": 3,
            "declared": 3,
            "total": 4,
            "percentage": 75
          },
          "excludedStatements": 0
        }
      },
      "decision": "f1866ddbbce296c0  src/session.ts:2:7\nsignedIn && !expired\nC1 covered: signedIn\nC2 MISSING: !expired\nconfidence executed\nvectors:\n  F- -> F  tests=1 confidence=executed\n  TT -> T  tests=1 confidence=executed\nshowing 1-2 of 2 conditions/vectors/tests per decision\n",
      "after": {
        "run": "run_0f489a0b662daed9",
        "map": {
          "schemaVersion": 2,
          "assertions": [
            {
              "id": "a_fc81c070c3b04b7bd8d4",
              "at": {
                "file": "tests/session.test.ts",
                "line": 7,
                "column": 3,
                "text": "assert.equal(order.status, 'confirmed')"
              },
              "observes": [
                "The returned status equals confirmed for this test input."
              ],
              "flows": [
                {
                  "id": "returned-status",
                  "basis": "scov2:5ec2f18004a58cb6e3cee59d3e7cfc39b0cd2565921291ad5a3cabf115765e2d",
                  "appliesTo": [
                    {
                      "file": "tests/session.test.ts",
                      "name": "confirms an order"
                    }
                  ],
                  "explanation": "The guard chooses the return path. This assertion compares only its status field; it does not check the total field or independently exercise every guard condition.",
                  "nodes": [
                    {
                      "id": "n0",
                      "at": {
                        "file": "src/session.ts",
                        "line": 2,
                        "column": 3,
                        "text": "if (signedIn && !expired) {\n    const total = price * quantity;\n    return { status: 'confirmed', total };\n  }"
                      }
                    },
                    {
                      "id": "n1",
                      "at": {
                        "file": "src/session.ts",
                        "line": 4,
                        "column": 5,
                        "text": "return { status: 'confirmed', total };"
                      }
                    }
                  ],
                  "edges": [
                    {
                      "from": "n0",
                      "to": "n1",
                      "kind": "control"
                    },
                    {
                      "from": "n1",
                      "to": "$assertion",
                      "kind": "data"
                    }
                  ],
                  "countsAsAsserted": [
                    "n0",
                    "n1"
                  ],
                  "watch": []
                }
              ]
            },
            {
              "id": "a_b403ac6e78c566df153a",
              "at": {
                "file": "tests/session.test.ts",
                "line": 8,
                "column": 3,
                "text": "assert.equal(order.total, 50)"
              },
              "observes": [
                "The total equals 50 for two items at 25."
              ],
              "flows": [
                {
                  "id": "calculated-total",
                  "basis": "scov2:3d94c7c374981f9285eee2238b8dea5d835085abb3afe7d6f9a2608c107d8f79",
                  "appliesTo": [
                    {
                      "file": "tests/session.test.ts",
                      "name": "confirms an order"
                    }
                  ],
                  "explanation": "The multiplication supplies total in the returned order; this assertion compares that field to 50. It checks the calculation for this input, not every possible price or quantity.",
                  "nodes": [
                    {
                      "id": "n0",
                      "at": {
                        "file": "src/session.ts",
                        "line": 3,
                        "column": 5,
                        "text": "const total = price * quantity;"
                      }
                    },
                    {
                      "id": "n1",
                      "at": {
                        "file": "src/session.ts",
                        "line": 4,
                        "column": 5,
                        "text": "return { status: 'confirmed', total };"
                      }
                    }
                  ],
                  "edges": [
                    {
                      "from": "n0",
                      "to": "n1",
                      "kind": "data"
                    },
                    {
                      "from": "n1",
                      "to": "$assertion",
                      "kind": "data"
                    }
                  ],
                  "countsAsAsserted": [
                    "n0",
                    "n1"
                  ],
                  "watch": []
                }
              ]
            },
            {
              "id": "a_0baf1eafe3ac7edeacb8",
              "at": {
                "file": "tests/session.test.ts",
                "line": 13,
                "column": 3,
                "text": "assert.equal(order.status, 'denied')"
              },
              "observes": [
                "The returned status equals denied for this test input."
              ],
              "flows": [
                {
                  "id": "returned-status",
                  "basis": "scov2:40b1938a50e5b9addf559c85a1e000144f6819044d93ba41ea57ca622e6ae89d",
                  "appliesTo": [
                    {
                      "file": "tests/session.test.ts",
                      "name": "rejects a signed-out visitor"
                    }
                  ],
                  "explanation": "The guard chooses the return path. This assertion compares only its status field; it does not check the total field or independently exercise every guard condition.",
                  "nodes": [
                    {
                      "id": "n0",
                      "at": {
                        "file": "src/session.ts",
                        "line": 2,
                        "column": 3,
                        "text": "if (signedIn && !expired) {\n    const total = price * quantity;\n    return { status: 'confirmed', total };\n  }"
                      }
                    },
                    {
                      "id": "n1",
                      "at": {
                        "file": "src/session.ts",
                        "line": 6,
                        "column": 3,
                        "text": "return { status: 'denied', total: 0 };"
                      }
                    }
                  ],
                  "edges": [
                    {
                      "from": "n0",
                      "to": "n1",
                      "kind": "control"
                    },
                    {
                      "from": "n1",
                      "to": "$assertion",
                      "kind": "data"
                    }
                  ],
                  "countsAsAsserted": [
                    "n0",
                    "n1"
                  ],
                  "watch": []
                }
              ]
            },
            {
              "id": "a_f8984523114e64dbb720",
              "at": {
                "file": "tests/session.test.ts",
                "line": 18,
                "column": 3,
                "text": "assert.equal(order.status, 'denied')"
              },
              "observes": [
                "The returned status equals denied for this test input."
              ],
              "flows": [
                {
                  "id": "returned-status",
                  "basis": "scov2:0baa771015c4b2726040e6ed9a73de3a901c7bde82898beb7c0a0b7d701eb410",
                  "appliesTo": [
                    {
                      "file": "tests/session.test.ts",
                      "name": "rejects an expired session"
                    }
                  ],
                  "explanation": "The guard chooses the return path. This assertion compares only its status field; it does not check the total field or independently exercise every guard condition.",
                  "nodes": [
                    {
                      "id": "n0",
                      "at": {
                        "file": "src/session.ts",
                        "line": 2,
                        "column": 3,
                        "text": "if (signedIn && !expired) {\n    const total = price * quantity;\n    return { status: 'confirmed', total };\n  }"
                      }
                    },
                    {
                      "id": "n1",
                      "at": {
                        "file": "src/session.ts",
                        "line": 6,
                        "column": 3,
                        "text": "return { status: 'denied', total: 0 };"
                      }
                    }
                  ],
                  "edges": [
                    {
                      "from": "n0",
                      "to": "n1",
                      "kind": "control"
                    },
                    {
                      "from": "n1",
                      "to": "$assertion",
                      "kind": "data"
                    }
                  ],
                  "countsAsAsserted": [
                    "n0",
                    "n1"
                  ],
                  "watch": []
                }
              ]
            }
          ],
          "retiredAssertions": [
            {
              "assertion": {
                "id": "a_19781479661b64939e8c",
                "at": {
                  "file": "tests/session.test.ts",
                  "line": 12,
                  "column": 3,
                  "text": "assert.equal(order.status, 'denied')"
                },
                "observes": [
                  "The returned status equals denied for this test input."
                ],
                "flows": [
                  {
                    "id": "returned-status",
                    "basis": "scov2:e5873933820cb77056b481a0d9136bf3952a45e43de2a81e60b7ca763c7825f3",
                    "explanation": "The guard chooses the return path. This assertion compares only its status field; it does not check the total field or independently exercise every guard condition.",
                    "appliesTo": [
                      {
                        "file": "tests/session.test.ts",
                        "name": "rejects a signed-out visitor"
                      }
                    ],
                    "nodes": [
                      {
                        "id": "n0",
                        "at": {
                          "file": "src/session.ts",
                          "line": 2,
                          "column": 3,
                          "text": "if (signedIn && !expired) {\n    const total = price * quantity;\n    return { status: 'confirmed', total };\n  }"
                        }
                      },
                      {
                        "id": "n1",
                        "at": {
                          "file": "src/session.ts",
                          "line": 6,
                          "column": 3,
                          "text": "return { status: 'denied', total: 0 };"
                        }
                      }
                    ],
                    "edges": [
                      {
                        "from": "n0",
                        "to": "n1",
                        "kind": "control"
                      },
                      {
                        "from": "n1",
                        "to": "$assertion",
                        "kind": "data"
                      }
                    ],
                    "countsAsAsserted": [
                      "n0",
                      "n1"
                    ],
                    "watch": []
                  }
                ]
              },
              "reason": "assertion removed, changed or ambiguous; reuse its explanation after review"
            }
          ],
          "changeAssessments": [
            {
              "id": "c_b2e766078baf895bbba101f7",
              "basis": "scov2:e49a3960c40f53cc8599ec7c58f4c6d07ccb7c3569aa93b53a2e4a06f1a90908",
              "affectedFlows": [
                "a_fc81c070c3b04b7bd8d4/returned-status"
              ],
              "explanation": "Only the fixture test file changed. The current test inputs and assertions have been reviewed against this run’s mappings. The application source is unchanged."
            }
          ]
        },
        "check": "{\n  \"summary\": {\n    \"status\": \"available\",\n    \"reason\": \"Agent-assessed statements; mapping completeness is unknown\",\n    \"pendingChanges\": 0,\n    \"metric\": \"measured statements\",\n    \"statements\": {\n      \"asserted\": 4,\n      \"declared\": 4,\n      \"total\": 4,\n      \"percentage\": 100.0\n    },\n    \"assertions\": 4,\n    \"inventoryAssertions\": 4,\n    \"missingInventoryAssertions\": 0,\n    \"assertionsWithFlows\": 4,\n    \"assertionsWithoutFlows\": 0,\n    \"observedAssertionsWithoutCurrentExplanation\": 0,\n    \"questions\": 0,\n    \"currentFlows\": 4,\n    \"draftFlows\": 0,\n    \"staleFlows\": 0,\n    \"invalidFlows\": 0,\n    \"eligibleFlows\": 4,\n    \"retiredAssertions\": 1,\n    \"unobservedAssertions\": 0,\n    \"inventoryFailures\": 0,\n    \"unanchoredStatements\": 0,\n    \"runPassed\": true,\n    \"lines\": {\n      \"asserted\": 4,\n      \"declared\": 4,\n      \"total\": 4,\n      \"percentage\": 100.0\n    },\n    \"excludedStatements\": 0\n  },\n  \"basis\": \"agent-assessed; passing assertion identity and same-test execution required; not mutation resistance\",\n  \"validationErrors\": [],\n  \"limitations\": [\n    \"Syntax inventory covers recognized assertion forms, not every possible custom assertion. Agents may add exact source sites; missing runtime identity never earns credit.\",\n    \"Optional assertion calls are inventoried but currently have no injected phase. Unrecognized custom assertion wrappers and dynamically selected matchers may be absent. Use check --require-observed to detect inventoried sites without passing evidence.\"\n  ],\n  \"revision\": \"ba1c429fbfcf9c800ee51ebd052daae6e8c73f0b2d3925e958ee175f3b6aef10\",\n  \"inheritance\": {\n    \"from\": \"run_00ada174ad1c2d85\",\n    \"skipped\": []\n  },\n  \"view\": \"summary\",\n  \"file\": null,\n  \"needsAttention\": false,\n  \"scope\": \"summary covers the whole run with matching current source; --file filters items only\",\n  \"workingTree\": {\n    \"stale\": false,\n    \"reasons\": []\n  },\n  \"valid\": true,\n  \"failures\": [],\n  \"requirements\": {\n    \"mappings\": true,\n    \"observed\": false,\n    \"minimum\": null\n  },\n  \"run\": \"run_0f489a0b662daed9\",\n  \"map\": \"<project>/.supercov/runs/run_0f489a0b662daed9/assertions.json\"\n}\n",
        "report": "run run_0f489a0b662daed9\ncommand: npm test\n\nCoverage\n  Lines      100.00% (5/5)\n  Branches   100.00% (2/2)\n  MC/DC      100.00% (2/2)\nAssertions 100.00% (4/4) — agent-assessed statements, whole run\n  4 assertions with flows; 0 without; 4 current flows; 0 stale; 0 draft\n\nBy test kind\n  unit            3 test(s)  lines 100.00%  branches 100.00%  MC/DC 100.00%\n  3 test(s) use the runner's default kind; this is not inferred from their behavior.\n  Set SUPERCOV_TEST_KIND=integration (or unit/component/e2e) when running a suite to override it.\n\nMeasurement\n  Instrumentation  Complete for the measured command and coverage model\n  Scope            Only code reached by the wrapped command is observed; this status does not prove every project test suite was run.\n  Command outputs  <project>/.supercov/workspaces/workspace/supercov-homepage-recording-A1ZlEv\n\nTests\n  Total       3\n  Passed      3\n\nRemaining\n  Files with uncovered code         0\n  Files with measurement limits     0\n\nRuntime action phases (separate from assertion mappings)\n  Recorded within action phases      0 lines\n  Other recorded execution           5 lines\n  These runtime phase counts do not include the agent-assessed assertion coverage shown above.\n\nCommands\n  npx supercov runs 'run_0f489a0b662daed9' files\n  npx supercov runs 'run_0f489a0b662daed9' gaps\n  npx supercov runs 'run_0f489a0b662daed9' kinds\n  npx supercov runs 'run_0f489a0b662daed9' runners\n  npx supercov runs 'run_0f489a0b662daed9' scope\n  npx supercov runs run_0f489a0b662daed9 --help\n",
        "summary": {
          "status": "available",
          "reason": "Agent-assessed statements; mapping completeness is unknown",
          "pendingChanges": 0,
          "metric": "measured statements",
          "statements": {
            "asserted": 4,
            "declared": 4,
            "total": 4,
            "percentage": 100
          },
          "assertions": 4,
          "inventoryAssertions": 4,
          "missingInventoryAssertions": 0,
          "assertionsWithFlows": 4,
          "assertionsWithoutFlows": 0,
          "observedAssertionsWithoutCurrentExplanation": 0,
          "questions": 0,
          "currentFlows": 4,
          "draftFlows": 0,
          "staleFlows": 0,
          "invalidFlows": 0,
          "eligibleFlows": 4,
          "retiredAssertions": 1,
          "unobservedAssertions": 0,
          "inventoryFailures": 0,
          "unanchoredStatements": 0,
          "runPassed": true,
          "lines": {
            "asserted": 4,
            "declared": 4,
            "total": 4,
            "percentage": 100
          },
          "excludedStatements": 0
        }
      },
      "diff": "run_00ada174ad1c2d85 -> run_0f489a0b662daed9\nlines +0pp, branches +0pp, MC/DC +50pp\ngained: 0 lines, 0 branches, 1 MC/DC conditions\nlost: 0 lines, 0 branches, 0 MC/DC conditions\n+ MC/DC src/session.ts:2 C2 !expired\nshowing 1-1 of 1 per category\n",
      "records": [
        {
          "args": [
            "--",
            "npm",
            "test"
          ],
          "stdout": "\n> test\n> node --test tests/*.test.ts\n\n✔ confirms an order (10.820792ms)\nℹ tests 1\nℹ suites 0\nℹ pass 1\nℹ fail 0\nℹ cancelled 0\nℹ skipped 0\nℹ todo 0\nℹ duration_ms 110.549292\n[coverage] evidence: /private<project>/.supercov/runs/run_776ed4d70982d3eb/evidence.raw.gz\n"
        },
        {
          "args": [
            "runs",
            "latest"
          ],
          "stdout": "run run_776ed4d70982d3eb\ncommand: npm test\n\nCoverage\n  Lines      80.00% (4/5)\n  Branches   50.00% (1/2)\n  MC/DC      0.00% (0/2)\nAssertions not assessed — No recorded flow explanations\n  0 assertions with flows; 1 without; 0 current flows; 0 stale; 0 draft\n\nBy test kind\n  unit            1 test(s)  lines  80.00%  branches  50.00%  MC/DC   0.00%\n  1 test(s) use the runner's default kind; this is not inferred from their behavior.\n  Set SUPERCOV_TEST_KIND=integration (or unit/component/e2e) when running a suite to override it.\n\nMeasurement\n  Instrumentation  Complete for the measured command and coverage model\n  Scope            Only code reached by the wrapped command is observed; this status does not prove every project test suite was run.\n  Command outputs  /private<project>/.supercov/workspaces/workspace/supercov-homepage-recording-A1ZlEv\n\nTests\n  Total       1\n  Passed      1\n\nRemaining\n  Files with uncovered code         1\n  Files with measurement limits     0\n\nRuntime action phases (separate from assertion mappings)\n  Recorded within action phases      0 lines\n  Other recorded execution           4 lines\n  These runtime phase counts do not include the agent-assessed assertion coverage shown above.\n\nCommands\n  npx supercov runs 'run_776ed4d70982d3eb' files\n  npx supercov runs 'run_776ed4d70982d3eb' gaps\n  npx supercov runs 'run_776ed4d70982d3eb' kinds\n  npx supercov runs 'run_776ed4d70982d3eb' runners\n  npx supercov runs 'run_776ed4d70982d3eb' scope\n  npx supercov runs run_776ed4d70982d3eb --help\n"
        },
        {
          "args": [
            "runs",
            "latest",
            "gaps",
            "--limit",
            "5"
          ],
          "stdout": "Coverage gaps — only files with unresolved obligations\n\nsrc/session.ts\n  uncovered: lines 1  statements 1  functions 0  branch outcomes 0  MC/DC conditions 2\n\nshowing 1-1 of 1\ninspect file: npx supercov runs 'run_776ed4d70982d3eb' file 'src/session.ts'\n"
        },
        {
          "args": [
            "runs",
            "latest",
            "file",
            "src/session.ts"
          ],
          "stdout": "src/session.ts\n\nUncovered\n  Lines not executed              1\n  Statements not executed         1\n  Functions not called            0\n  Branch outcomes not taken       0\n  MC/DC conditions not shown      2\n  Measurement limitations         0\n\nTests touching this file: 1\n\nGaps\n  NOT COVERED = line never executed; PARTIAL = line executed but some behavior remains untested\n LINE  STATUS        SOURCE\n    2  PARTIAL       signedIn && !expired\n       Unobserved: no witness pair shows `signedIn` independently changing the decision result\n       Unobserved: no witness pair shows `!expired` independently changing the decision result\n       Inspect: npx supercov runs 'run_776ed4d70982d3eb' line 'src/session.ts:2'\n    6  NOT COVERED   return { status: 'denied', total: 0 };\nshowing 1-2 of 2 gap lines\n"
        },
        {
          "args": [
            "runs",
            "latest",
            "line",
            "src/session.ts:3"
          ],
          "stdout": "src/session.ts:3\n\nSource\n      3 | const total = price * quantity;\n\nStatus\n  COVERED\n  Evidence: execution only\n\nCoverage details\n  Statement at column 5 — covered (1 covering tests)\n    `const total = price * quantity;`\n\nCovering tests\n  confirms an order [node:test:02d93cf9b058424ac8d69cb5] — unit/node:test\n\nTest phases\n  node:assert/strict.equal (passed) at tests/session.test.ts:7:3\n"
        },
        {
          "args": [
            "runs",
            "latest",
            "decision",
            "src/session.ts:2"
          ],
          "stdout": "f1866ddbbce296c0  src/session.ts:2:7\nsignedIn && !expired\nC1 MISSING: signedIn\nC2 MISSING: !expired\nconfidence executed\nvectors:\n  TT -> T  tests=1 confidence=executed\nshowing 1-2 of 2 conditions/vectors/tests per decision\n"
        },
        {
          "args": [
            "runs",
            "latest",
            "assertions",
            "report",
            "--view",
            "statements",
            "--file",
            "src/session.ts"
          ],
          "stdout": "{\n  \"items\": [\n    {\n      \"id\": \"49bf658e3792aa23\",\n      \"file\": \"src/session.ts\",\n      \"line\": 2,\n      \"at\": {\n        \"file\": \"src/session.ts\",\n        \"line\": 2,\n        \"column\": 3,\n        \"text\": \"if (signedIn && !expired) {\\n    const total = price * quantity;\\n    return { status: 'confirmed', total };\\n  }\"\n      },\n      \"covered\": true,\n      \"tests\": [\n        \"node:test:02d93cf9b058424ac8d69cb5\"\n      ],\n      \"declared\": false,\n      \"asserted\": false,\n      \"flows\": [],\n      \"executionEvidence\": {\n        \"anyExecution\": true,\n        \"passingTests\": [\n          \"node:test:02d93cf9b058424ac8d69cb5\"\n        ],\n        \"outsidePassingTests\": []\n      }\n    },\n    {\n      \"id\": \"7505756f748faa8b\",\n      \"file\": \"src/session.ts\",\n      \"line\": 3,\n      \"at\": {\n        \"file\": \"src/session.ts\",\n        \"line\": 3,\n        \"column\": 5,\n        \"text\": \"const total = price * quantity;\"\n      },\n      \"covered\": true,\n      \"tests\": [\n        \"node:test:02d93cf9b058424ac8d69cb5\"\n      ],\n      \"declared\": false,\n      \"asserted\": false,\n      \"flows\": [],\n      \"executionEvidence\": {\n        \"anyExecution\": true,\n        \"passingTests\": [\n          \"node:test:02d93cf9b058424ac8d69cb5\"\n        ],\n        \"outsidePassingTests\": []\n      }\n    },\n    {\n      \"id\": \"2ce71c34fcf57be3\",\n      \"file\": \"src/session.ts\",\n      \"line\": 4,\n      \"at\": {\n        \"file\": \"src/session.ts\",\n        \"line\": 4,\n        \"column\": 5,\n        \"text\": \"return { status: 'confirmed', total };\"\n      },\n      \"covered\": true,\n      \"tests\": [\n        \"node:test:02d93cf9b058424ac8d69cb5\"\n      ],\n      \"declared\": false,\n      \"asserted\": false,\n      \"flows\": [],\n      \"executionEvidence\": {\n        \"anyExecution\": true,\n        \"passingTests\": [\n          \"node:test:02d93cf9b058424ac8d69cb5\"\n        ],\n        \"outsidePassingTests\": []\n      }\n    },\n    {\n      \"id\": \"a44cd2644518f06a\",\n      \"file\": \"src/session.ts\",\n      \"line\": 6,\n      \"at\": {\n        \"file\": \"src/session.ts\",\n        \"line\": 6,\n        \"column\": 3,\n        \"text\": \"return { status: 'denied', total: 0 };\"\n      },\n      \"covered\": false,\n      \"tests\": [],\n      \"declared\": false,\n      \"asserted\": false,\n      \"flows\": [],\n      \"executionEvidence\": {\n        \"anyExecution\": false,\n        \"passingTests\": [],\n        \"outsidePassingTests\": []\n      }\n    }\n  ],\n  \"pagination\": {\n    \"offset\": 0,\n    \"returned\": 4,\n    \"total\": 4,\n    \"nextOffset\": null\n  },\n  \"summary\": {\n    \"status\": \"notAssessed\",\n    \"reason\": \"No recorded flow explanations\",\n    \"pendingChanges\": 0,\n    \"metric\": \"measured statements\",\n    \"statements\": {\n      \"asserted\": 0,\n      \"declared\": 0,\n      \"total\": 4,\n      \"percentage\": null\n    },\n    \"assertions\": 1,\n    \"inventoryAssertions\": 1,\n    \"missingInventoryAssertions\": 0,\n    \"assertionsWithFlows\": 0,\n    \"assertionsWithoutFlows\": 1,\n    \"observedAssertionsWithoutCurrentExplanation\": 1,\n    \"questions\": 0,\n    \"currentFlows\": 0,\n    \"draftFlows\": 0,\n    \"staleFlows\": 0,\n    \"invalidFlows\": 0,\n    \"eligibleFlows\": 0,\n    \"retiredAssertions\": 0,\n    \"unobservedAssertions\": 0,\n    \"inventoryFailures\": 0,\n    \"unanchoredStatements\": 0,\n    \"runPassed\": true,\n    \"lines\": {\n      \"asserted\": 0,\n      \"declared\": 0,\n      \"total\": 4,\n      \"percentage\": null\n    },\n    \"excludedStatements\": 0\n  },\n  \"basis\": \"agent-assessed; passing assertion identity and same-test execution required; not mutation resistance\",\n  \"validationErrors\": [],\n  \"limitations\": [\n    \"Syntax inventory covers recognized assertion forms, not every possible custom assertion. Agents may add exact source sites; missing runtime identity never earns credit.\",\n    \"Optional assertion calls are inventoried but currently have no injected phase. Unrecognized custom assertion wrappers and dynamically selected matchers may be absent. Use check --require-observed to detect inventoried sites without passing evidence.\"\n  ],\n  \"revision\": \"1935347015ae89ececd845f2f5296b43c358d60c19c8a451e43708ba0b3e259b\",\n  \"inheritance\": {\n    \"from\": null,\n    \"skipped\": []\n  },\n  \"view\": \"statements\",\n  \"file\": \"src/session.ts\",\n  \"needsAttention\": false,\n  \"scope\": \"summary covers the whole run with matching current source; --file filters items only\",\n  \"workingTree\": {\n    \"stale\": false,\n    \"reasons\": []\n  },\n  \"run\": \"run_776ed4d70982d3eb\",\n  \"map\": \"/private<project>/.supercov/runs/run_776ed4d70982d3eb/assertions.json\"\n}\n"
        },
        {
          "args": [
            "--",
            "npm",
            "test"
          ],
          "stdout": "\n> test\n> node --test tests/*.test.ts\n\n✔ confirms an order (10.4945ms)\n✔ rejects a signed-out visitor (8.615667ms)\nℹ tests 2\nℹ suites 0\nℹ pass 2\nℹ fail 0\nℹ cancelled 0\nℹ skipped 0\nℹ todo 0\nℹ duration_ms 112.568042\n[coverage] evidence: /private<project>/.supercov/runs/run_00ada174ad1c2d85/evidence.raw.gz\n"
        },
        {
          "args": [
            "runs",
            "latest"
          ],
          "stdout": "run run_00ada174ad1c2d85\ncommand: npm test\n\nCoverage\n  Lines      100.00% (5/5)\n  Branches   100.00% (2/2)\n  MC/DC      50.00% (1/2)\nAssertions pending — Source changes need impact assessment\n  0 assertions with flows; 2 without; 0 current flows; 0 stale; 0 draft\n\nBy test kind\n  unit            2 test(s)  lines 100.00%  branches 100.00%  MC/DC  50.00%\n  2 test(s) use the runner's default kind; this is not inferred from their behavior.\n  Set SUPERCOV_TEST_KIND=integration (or unit/component/e2e) when running a suite to override it.\n\nMeasurement\n  Instrumentation  Complete for the measured command and coverage model\n  Scope            Only code reached by the wrapped command is observed; this status does not prove every project test suite was run.\n  Command outputs  /private<project>/.supercov/workspaces/workspace/supercov-homepage-recording-A1ZlEv\n\nTests\n  Total       2\n  Passed      2\n\nRemaining\n  Files with uncovered code         1\n  Files with measurement limits     0\n\nRuntime action phases (separate from assertion mappings)\n  Recorded within action phases      0 lines\n  Other recorded execution           5 lines\n  These runtime phase counts do not include the agent-assessed assertion coverage shown above.\n\nCommands\n  npx supercov runs 'run_00ada174ad1c2d85' files\n  npx supercov runs 'run_00ada174ad1c2d85' gaps\n  npx supercov runs 'run_00ada174ad1c2d85' kinds\n  npx supercov runs 'run_00ada174ad1c2d85' runners\n  npx supercov runs 'run_00ada174ad1c2d85' scope\n  npx supercov runs run_00ada174ad1c2d85 --help\n"
        },
        {
          "args": [
            "runs",
            "latest",
            "assertions",
            "--json"
          ],
          "stdout": "{\"schemaVersion\":1,\"ok\":true,\"command\":\"coverage.assertions\",\"data\":{\"items\":[{\"observation\":\"Passing assertion occurrence recorded.\",\"id\":\"a_fc81c070c3b04b7bd8d4\",\"at\":{\"file\":\"tests/session.test.ts\",\"line\":7,\"column\":3,\"text\":\"assert.equal(order.status, 'confirmed')\"},\"questions\":[],\"inMap\":true,\"observes\":[],\"operations\":[\"node:assert/strict.equal\"],\"observedPassingTests\":[\"node:test:02d93cf9b058424ac8d69cb5\"],\"flows\":[]},{\"observation\":\"Passing assertion occurrence recorded.\",\"id\":\"a_19781479661b64939e8c\",\"at\":{\"file\":\"tests/session.test.ts\",\"line\":12,\"column\":3,\"text\":\"assert.equal(order.status, 'denied')\"},\"questions\":[],\"inMap\":true,\"observes\":[],\"operations\":[\"node:assert/strict.equal\"],\"observedPassingTests\":[\"node:test:60a245508a32ee93ab1da1d5\"],\"flows\":[]}],\"pagination\":{\"offset\":0,\"returned\":2,\"total\":2,\"nextOffset\":null},\"summary\":{\"status\":\"pending\",\"reason\":\"Source changes need impact assessment\",\"pendingChanges\":1,\"metric\":\"measured statements\",\"statements\":{\"asserted\":0,\"declared\":0,\"total\":4,\"percentage\":null},\"assertions\":2,\"inventoryAssertions\":2,\"missingInventoryAssertions\":0,\"assertionsWithFlows\":0,\"assertionsWithoutFlows\":2,\"observedAssertionsWithoutCurrentExplanation\":2,\"questions\":0,\"currentFlows\":0,\"draftFlows\":0,\"staleFlows\":0,\"invalidFlows\":0,\"eligibleFlows\":0,\"retiredAssertions\":0,\"unobservedAssertions\":0,\"inventoryFailures\":0,\"unanchoredStatements\":0,\"runPassed\":true,\"lines\":{\"asserted\":0,\"declared\":0,\"total\":4,\"percentage\":null},\"excludedStatements\":0},\"basis\":\"agent-assessed; passing assertion identity and same-test execution required; not mutation resistance\",\"validationErrors\":[],\"limitations\":[\"Syntax inventory covers recognized assertion forms, not every possible custom assertion. Agents may add exact source sites; missing runtime identity never earns credit.\",\"Optional assertion calls are inventoried but currently have no injected phase. Unrecognized custom assertion wrappers and dynamically selected matchers may be absent. Use check --require-observed to detect inventoried sites without passing evidence.\"],\"revision\":\"77d0fb0c0a933bce84b3c7f11a707b20665dfde7236061053165ad5c98532112\",\"inheritance\":{\"from\":\"run_776ed4d70982d3eb\",\"skipped\":[]},\"view\":\"assertions\",\"file\":null,\"needsAttention\":false,\"scope\":\"summary covers the whole run with matching current source; --file filters items only\",\"workingTree\":{\"stale\":false,\"reasons\":[]},\"run\":\"run_00ada174ad1c2d85\",\"map\":\"/private<project>/.supercov/runs/run_00ada174ad1c2d85/assertions.json\"}}\n"
        },
        {
          "args": [
            "runs",
            "run_00ada174ad1c2d85",
            "assertions",
            "--json"
          ],
          "stdout": "{\"schemaVersion\":1,\"ok\":true,\"command\":\"coverage.assertions\",\"data\":{\"items\":[{\"observation\":\"Passing assertion occurrence recorded.\",\"id\":\"a_fc81c070c3b04b7bd8d4\",\"at\":{\"file\":\"tests/session.test.ts\",\"line\":7,\"column\":3,\"text\":\"assert.equal(order.status, 'confirmed')\"},\"questions\":[],\"inMap\":true,\"observes\":[],\"operations\":[\"node:assert/strict.equal\"],\"observedPassingTests\":[\"node:test:02d93cf9b058424ac8d69cb5\"],\"flows\":[]},{\"observation\":\"Passing assertion occurrence recorded.\",\"id\":\"a_19781479661b64939e8c\",\"at\":{\"file\":\"tests/session.test.ts\",\"line\":12,\"column\":3,\"text\":\"assert.equal(order.status, 'denied')\"},\"questions\":[],\"inMap\":true,\"observes\":[],\"operations\":[\"node:assert/strict.equal\"],\"observedPassingTests\":[\"node:test:60a245508a32ee93ab1da1d5\"],\"flows\":[]}],\"pagination\":{\"offset\":0,\"returned\":2,\"total\":2,\"nextOffset\":null},\"summary\":{\"status\":\"pending\",\"reason\":\"Source changes need impact assessment\",\"pendingChanges\":1,\"metric\":\"measured statements\",\"statements\":{\"asserted\":0,\"declared\":0,\"total\":4,\"percentage\":null},\"assertions\":2,\"inventoryAssertions\":2,\"missingInventoryAssertions\":0,\"assertionsWithFlows\":0,\"assertionsWithoutFlows\":2,\"observedAssertionsWithoutCurrentExplanation\":2,\"questions\":0,\"currentFlows\":0,\"draftFlows\":0,\"staleFlows\":0,\"invalidFlows\":0,\"eligibleFlows\":0,\"retiredAssertions\":0,\"unobservedAssertions\":0,\"inventoryFailures\":0,\"unanchoredStatements\":0,\"runPassed\":true,\"lines\":{\"asserted\":0,\"declared\":0,\"total\":4,\"percentage\":null},\"excludedStatements\":0},\"basis\":\"agent-assessed; passing assertion identity and same-test execution required; not mutation resistance\",\"validationErrors\":[],\"limitations\":[\"Syntax inventory covers recognized assertion forms, not every possible custom assertion. Agents may add exact source sites; missing runtime identity never earns credit.\",\"Optional assertion calls are inventoried but currently have no injected phase. Unrecognized custom assertion wrappers and dynamically selected matchers may be absent. Use check --require-observed to detect inventoried sites without passing evidence.\"],\"revision\":\"77d0fb0c0a933bce84b3c7f11a707b20665dfde7236061053165ad5c98532112\",\"inheritance\":{\"from\":\"run_776ed4d70982d3eb\",\"skipped\":[]},\"view\":\"assertions\",\"file\":null,\"needsAttention\":false,\"scope\":\"summary covers the whole run with matching current source; --file filters items only\",\"workingTree\":{\"stale\":false,\"reasons\":[]},\"run\":\"run_00ada174ad1c2d85\",\"map\":\"/private<project>/.supercov/runs/run_00ada174ad1c2d85/assertions.json\"}}\n"
        },
        {
          "args": [
            "runs",
            "run_00ada174ad1c2d85",
            "assertions",
            "report",
            "--view",
            "statements",
            "--json"
          ],
          "stdout": "{\"schemaVersion\":1,\"ok\":true,\"command\":\"coverage.assertions\",\"data\":{\"items\":[{\"id\":\"49bf658e3792aa23\",\"file\":\"src/session.ts\",\"line\":2,\"at\":{\"file\":\"src/session.ts\",\"line\":2,\"column\":3,\"text\":\"if (signedIn && !expired) {\\n    const total = price * quantity;\\n    return { status: 'confirmed', total };\\n  }\"},\"covered\":true,\"tests\":[\"node:test:02d93cf9b058424ac8d69cb5\",\"node:test:60a245508a32ee93ab1da1d5\"],\"declared\":false,\"asserted\":false,\"flows\":[],\"executionEvidence\":{\"anyExecution\":true,\"passingTests\":[\"node:test:02d93cf9b058424ac8d69cb5\",\"node:test:60a245508a32ee93ab1da1d5\"],\"outsidePassingTests\":[]}},{\"id\":\"7505756f748faa8b\",\"file\":\"src/session.ts\",\"line\":3,\"at\":{\"file\":\"src/session.ts\",\"line\":3,\"column\":5,\"text\":\"const total = price * quantity;\"},\"covered\":true,\"tests\":[\"node:test:02d93cf9b058424ac8d69cb5\"],\"declared\":false,\"asserted\":false,\"flows\":[],\"executionEvidence\":{\"anyExecution\":true,\"passingTests\":[\"node:test:02d93cf9b058424ac8d69cb5\"],\"outsidePassingTests\":[]}},{\"id\":\"2ce71c34fcf57be3\",\"file\":\"src/session.ts\",\"line\":4,\"at\":{\"file\":\"src/session.ts\",\"line\":4,\"column\":5,\"text\":\"return { status: 'confirmed', total };\"},\"covered\":true,\"tests\":[\"node:test:02d93cf9b058424ac8d69cb5\"],\"declared\":false,\"asserted\":false,\"flows\":[],\"executionEvidence\":{\"anyExecution\":true,\"passingTests\":[\"node:test:02d93cf9b058424ac8d69cb5\"],\"outsidePassingTests\":[]}},{\"id\":\"a44cd2644518f06a\",\"file\":\"src/session.ts\",\"line\":6,\"at\":{\"file\":\"src/session.ts\",\"line\":6,\"column\":3,\"text\":\"return { status: 'denied', total: 0 };\"},\"covered\":true,\"tests\":[\"node:test:60a245508a32ee93ab1da1d5\"],\"declared\":false,\"asserted\":false,\"flows\":[],\"executionEvidence\":{\"anyExecution\":true,\"passingTests\":[\"node:test:60a245508a32ee93ab1da1d5\"],\"outsidePassingTests\":[]}}],\"pagination\":{\"offset\":0,\"returned\":4,\"total\":4,\"nextOffset\":null},\"summary\":{\"status\":\"pending\",\"reason\":\"Source changes need impact assessment\",\"pendingChanges\":1,\"metric\":\"measured statements\",\"statements\":{\"asserted\":0,\"declared\":0,\"total\":4,\"percentage\":null},\"assertions\":2,\"inventoryAssertions\":2,\"missingInventoryAssertions\":0,\"assertionsWithFlows\":0,\"assertionsWithoutFlows\":2,\"observedAssertionsWithoutCurrentExplanation\":2,\"questions\":0,\"currentFlows\":0,\"draftFlows\":0,\"staleFlows\":0,\"invalidFlows\":0,\"eligibleFlows\":0,\"retiredAssertions\":0,\"unobservedAssertions\":0,\"inventoryFailures\":0,\"unanchoredStatements\":0,\"runPassed\":true,\"lines\":{\"asserted\":0,\"declared\":0,\"total\":4,\"percentage\":null},\"excludedStatements\":0},\"basis\":\"agent-assessed; passing assertion identity and same-test execution required; not mutation resistance\",\"validationErrors\":[],\"limitations\":[\"Syntax inventory covers recognized assertion forms, not every possible custom assertion. Agents may add exact source sites; missing runtime identity never earns credit.\",\"Optional assertion calls are inventoried but currently have no injected phase. Unrecognized custom assertion wrappers and dynamically selected matchers may be absent. Use check --require-observed to detect inventoried sites without passing evidence.\"],\"revision\":\"77d0fb0c0a933bce84b3c7f11a707b20665dfde7236061053165ad5c98532112\",\"inheritance\":{\"from\":\"run_776ed4d70982d3eb\",\"skipped\":[]},\"view\":\"statements\",\"file\":null,\"needsAttention\":false,\"scope\":\"summary covers the whole run with matching current source; --file filters items only\",\"workingTree\":{\"stale\":false,\"reasons\":[]},\"run\":\"run_00ada174ad1c2d85\",\"map\":\"/private<project>/.supercov/runs/run_00ada174ad1c2d85/assertions.json\"}}\n"
        },
        {
          "args": [
            "runs",
            "run_00ada174ad1c2d85",
            "assertions",
            "report",
            "--view",
            "tests",
            "--json"
          ],
          "stdout": "{\"schemaVersion\":1,\"ok\":true,\"command\":\"coverage.assertions\",\"data\":{\"items\":[{\"id\":\"node:test:02d93cf9b058424ac8d69cb5\",\"file\":\"tests/session.test.ts\",\"name\":\"confirms an order\",\"role\":\"test\",\"outcome\":\"passed\",\"provenance\":{\"runner\":\"node:test\",\"kind\":\"unit\",\"source\":\"runner-default\"},\"hasExecutionEvidence\":true},{\"id\":\"node:test:60a245508a32ee93ab1da1d5\",\"file\":\"tests/session.test.ts\",\"name\":\"rejects a signed-out visitor\",\"role\":\"test\",\"outcome\":\"passed\",\"provenance\":{\"runner\":\"node:test\",\"kind\":\"unit\",\"source\":\"runner-default\"},\"hasExecutionEvidence\":true}],\"pagination\":{\"offset\":0,\"returned\":2,\"total\":2,\"nextOffset\":null},\"summary\":{\"status\":\"pending\",\"reason\":\"Source changes need impact assessment\",\"pendingChanges\":1,\"metric\":\"measured statements\",\"statements\":{\"asserted\":0,\"declared\":0,\"total\":4,\"percentage\":null},\"assertions\":2,\"inventoryAssertions\":2,\"missingInventoryAssertions\":0,\"assertionsWithFlows\":0,\"assertionsWithoutFlows\":2,\"observedAssertionsWithoutCurrentExplanation\":2,\"questions\":0,\"currentFlows\":0,\"draftFlows\":0,\"staleFlows\":0,\"invalidFlows\":0,\"eligibleFlows\":0,\"retiredAssertions\":0,\"unobservedAssertions\":0,\"inventoryFailures\":0,\"unanchoredStatements\":0,\"runPassed\":true,\"lines\":{\"asserted\":0,\"declared\":0,\"total\":4,\"percentage\":null},\"excludedStatements\":0},\"basis\":\"agent-assessed; passing assertion identity and same-test execution required; not mutation resistance\",\"validationErrors\":[],\"limitations\":[\"Syntax inventory covers recognized assertion forms, not every possible custom assertion. Agents may add exact source sites; missing runtime identity never earns credit.\",\"Optional assertion calls are inventoried but currently have no injected phase. Unrecognized custom assertion wrappers and dynamically selected matchers may be absent. Use check --require-observed to detect inventoried sites without passing evidence.\"],\"revision\":\"77d0fb0c0a933bce84b3c7f11a707b20665dfde7236061053165ad5c98532112\",\"inheritance\":{\"from\":\"run_776ed4d70982d3eb\",\"skipped\":[]},\"view\":\"tests\",\"file\":null,\"needsAttention\":false,\"scope\":\"summary covers the whole run with matching current source; --file filters items only\",\"workingTree\":{\"stale\":false,\"reasons\":[]},\"run\":\"run_00ada174ad1c2d85\",\"map\":\"/private<project>/.supercov/runs/run_00ada174ad1c2d85/assertions.json\"}}\n"
        },
        {
          "args": [
            "runs",
            "run_00ada174ad1c2d85",
            "assertions",
            "report",
            "--view",
            "changes",
            "--json"
          ],
          "stdout": "{\"schemaVersion\":1,\"ok\":true,\"command\":\"coverage.assertions\",\"data\":{\"items\":[{\"id\":\"c_6df1af21902acbc579bdb5b9\",\"file\":\"tests/session.test.ts\",\"before\":\"3368a39b1bdc51c718394b03dc3f7cde8412837db9b786a740c748fada0d8701\",\"after\":\"fe504d26ac57d91e1ecbd863632d76b942cc5bbdf6088768f36a2fe560d2751b\",\"reason\":\"captured source file changed\",\"knownFlows\":[],\"current\":false,\"assessment\":null,\"errors\":[],\"expectedBasis\":null}],\"pagination\":{\"offset\":0,\"returned\":1,\"total\":1,\"nextOffset\":null},\"summary\":{\"status\":\"pending\",\"reason\":\"Source changes need impact assessment\",\"pendingChanges\":1,\"metric\":\"measured statements\",\"statements\":{\"asserted\":0,\"declared\":0,\"total\":4,\"percentage\":null},\"assertions\":2,\"inventoryAssertions\":2,\"missingInventoryAssertions\":0,\"assertionsWithFlows\":0,\"assertionsWithoutFlows\":2,\"observedAssertionsWithoutCurrentExplanation\":2,\"questions\":0,\"currentFlows\":0,\"draftFlows\":0,\"staleFlows\":0,\"invalidFlows\":0,\"eligibleFlows\":0,\"retiredAssertions\":0,\"unobservedAssertions\":0,\"inventoryFailures\":0,\"unanchoredStatements\":0,\"runPassed\":true,\"lines\":{\"asserted\":0,\"declared\":0,\"total\":4,\"percentage\":null},\"excludedStatements\":0},\"basis\":\"agent-assessed; passing assertion identity and same-test execution required; not mutation resistance\",\"validationErrors\":[],\"limitations\":[\"Syntax inventory covers recognized assertion forms, not every possible custom assertion. Agents may add exact source sites; missing runtime identity never earns credit.\",\"Optional assertion calls are inventoried but currently have no injected phase. Unrecognized custom assertion wrappers and dynamically selected matchers may be absent. Use check --require-observed to detect inventoried sites without passing evidence.\"],\"revision\":\"77d0fb0c0a933bce84b3c7f11a707b20665dfde7236061053165ad5c98532112\",\"inheritance\":{\"from\":\"run_776ed4d70982d3eb\",\"skipped\":[]},\"view\":\"changes\",\"file\":null,\"needsAttention\":false,\"scope\":\"summary covers the whole run with matching current source; --file filters items only\",\"workingTree\":{\"stale\":false,\"reasons\":[]},\"run\":\"run_00ada174ad1c2d85\",\"map\":\"/private<project>/.supercov/runs/run_00ada174ad1c2d85/assertions.json\"}}\n"
        },
        {
          "args": [
            "runs",
            "run_00ada174ad1c2d85",
            "assertions",
            "validate",
            "--json"
          ],
          "stdout": "{\"schemaVersion\":1,\"ok\":true,\"command\":\"coverage.assertions\",\"data\":{\"valid\":true,\"stage\":\"references\",\"errors\":[],\"flows\":[{\"id\":\"a_fc81c070c3b04b7bd8d4/returned-status\",\"expectedBasis\":\"scov2:039c7964908da96527ced42a4b2a6944b6576ec4be317b27a6b0dadd8c24191a\",\"reasons\":[\"draft: input acknowledgement not recorded\"]},{\"id\":\"a_19781479661b64939e8c/returned-status\",\"expectedBasis\":\"scov2:e5873933820cb77056b481a0d9136bf3952a45e43de2a81e60b7ca763c7825f3\",\"reasons\":[\"draft: input acknowledgement not recorded\"]}],\"changes\":[{\"id\":\"c_6df1af21902acbc579bdb5b9\",\"file\":\"tests/session.test.ts\",\"before\":\"3368a39b1bdc51c718394b03dc3f7cde8412837db9b786a740c748fada0d8701\",\"after\":\"fe504d26ac57d91e1ecbd863632d76b942cc5bbdf6088768f36a2fe560d2751b\",\"reason\":\"captured source file changed\",\"knownFlows\":[],\"current\":false,\"assessment\":{\"id\":\"c_6df1af21902acbc579bdb5b9\",\"basis\":null,\"affectedFlows\":[],\"explanation\":\"Only the fixture test file changed. The current test inputs and assertions have been reviewed against this run’s mappings. The application source is unchanged.\"},\"errors\":[],\"expectedBasis\":\"scov2:c6ddb7b3c83f104318e4383aedd4a5fcd4985144f6e71eef71c04860c79d9582\"}],\"meaning\":\"Authored graph references and input acknowledgements only; no semantic proof or completeness claim\",\"revision\":\"2764a8cb79b4379974af49651a0222ea50a453c90272c977fa3634f51d874468\",\"workingTree\":{\"stale\":false,\"reasons\":[]},\"run\":\"run_00ada174ad1c2d85\",\"map\":\"/private<project>/.supercov/runs/run_00ada174ad1c2d85/assertions.json\"}}\n"
        },
        {
          "args": [
            "runs",
            "run_00ada174ad1c2d85",
            "assertions",
            "validate",
            "--json"
          ],
          "stdout": "{\"schemaVersion\":1,\"ok\":true,\"command\":\"coverage.assertions\",\"data\":{\"valid\":true,\"stage\":\"references\",\"errors\":[],\"flows\":[{\"id\":\"a_fc81c070c3b04b7bd8d4/returned-status\",\"expectedBasis\":\"scov2:039c7964908da96527ced42a4b2a6944b6576ec4be317b27a6b0dadd8c24191a\",\"reasons\":[\"draft: input acknowledgement not recorded\"]},{\"id\":\"a_19781479661b64939e8c/returned-status\",\"expectedBasis\":\"scov2:e5873933820cb77056b481a0d9136bf3952a45e43de2a81e60b7ca763c7825f3\",\"reasons\":[\"draft: input acknowledgement not recorded\"]}],\"changes\":[{\"id\":\"c_6df1af21902acbc579bdb5b9\",\"file\":\"tests/session.test.ts\",\"before\":\"3368a39b1bdc51c718394b03dc3f7cde8412837db9b786a740c748fada0d8701\",\"after\":\"fe504d26ac57d91e1ecbd863632d76b942cc5bbdf6088768f36a2fe560d2751b\",\"reason\":\"captured source file changed\",\"knownFlows\":[],\"current\":true,\"assessment\":{\"id\":\"c_6df1af21902acbc579bdb5b9\",\"basis\":\"scov2:c6ddb7b3c83f104318e4383aedd4a5fcd4985144f6e71eef71c04860c79d9582\",\"affectedFlows\":[],\"explanation\":\"Only the fixture test file changed. The current test inputs and assertions have been reviewed against this run’s mappings. The application source is unchanged.\"},\"errors\":[],\"expectedBasis\":\"scov2:c6ddb7b3c83f104318e4383aedd4a5fcd4985144f6e71eef71c04860c79d9582\"}],\"meaning\":\"Authored graph references and input acknowledgements only; no semantic proof or completeness claim\",\"revision\":\"321ac83e9c38192cd7ff54cf6019ae9aeef728f0af4f06ac5287265afff44f76\",\"workingTree\":{\"stale\":false,\"reasons\":[]},\"run\":\"run_00ada174ad1c2d85\",\"map\":\"/private<project>/.supercov/runs/run_00ada174ad1c2d85/assertions.json\"}}\n"
        },
        {
          "args": [
            "runs",
            "run_00ada174ad1c2d85",
            "assertions",
            "check",
            "--require-mappings"
          ],
          "stdout": "{\n  \"summary\": {\n    \"status\": \"available\",\n    \"reason\": \"Agent-assessed statements; mapping completeness is unknown\",\n    \"pendingChanges\": 0,\n    \"metric\": \"measured statements\",\n    \"statements\": {\n      \"asserted\": 3,\n      \"declared\": 3,\n      \"total\": 4,\n      \"percentage\": 75.0\n    },\n    \"assertions\": 2,\n    \"inventoryAssertions\": 2,\n    \"missingInventoryAssertions\": 0,\n    \"assertionsWithFlows\": 2,\n    \"assertionsWithoutFlows\": 0,\n    \"observedAssertionsWithoutCurrentExplanation\": 0,\n    \"questions\": 0,\n    \"currentFlows\": 2,\n    \"draftFlows\": 0,\n    \"staleFlows\": 0,\n    \"invalidFlows\": 0,\n    \"eligibleFlows\": 2,\n    \"retiredAssertions\": 0,\n    \"unobservedAssertions\": 0,\n    \"inventoryFailures\": 0,\n    \"unanchoredStatements\": 0,\n    \"runPassed\": true,\n    \"lines\": {\n      \"asserted\": 3,\n      \"declared\": 3,\n      \"total\": 4,\n      \"percentage\": 75.0\n    },\n    \"excludedStatements\": 0\n  },\n  \"basis\": \"agent-assessed; passing assertion identity and same-test execution required; not mutation resistance\",\n  \"validationErrors\": [],\n  \"limitations\": [\n    \"Syntax inventory covers recognized assertion forms, not every possible custom assertion. Agents may add exact source sites; missing runtime identity never earns credit.\",\n    \"Optional assertion calls are inventoried but currently have no injected phase. Unrecognized custom assertion wrappers and dynamically selected matchers may be absent. Use check --require-observed to detect inventoried sites without passing evidence.\"\n  ],\n  \"revision\": \"771121b2a0551298db15eab24311218ca593b6f8d6b9dffc6c5a7eb0815fe43d\",\n  \"inheritance\": {\n    \"from\": \"run_776ed4d70982d3eb\",\n    \"skipped\": []\n  },\n  \"view\": \"summary\",\n  \"file\": null,\n  \"needsAttention\": false,\n  \"scope\": \"summary covers the whole run with matching current source; --file filters items only\",\n  \"workingTree\": {\n    \"stale\": false,\n    \"reasons\": []\n  },\n  \"valid\": true,\n  \"failures\": [],\n  \"requirements\": {\n    \"mappings\": true,\n    \"observed\": false,\n    \"minimum\": null\n  },\n  \"run\": \"run_00ada174ad1c2d85\",\n  \"map\": \"/private<project>/.supercov/runs/run_00ada174ad1c2d85/assertions.json\"\n}\n"
        },
        {
          "args": [
            "runs",
            "run_00ada174ad1c2d85"
          ],
          "stdout": "run run_00ada174ad1c2d85\ncommand: npm test\n\nCoverage\n  Lines      100.00% (5/5)\n  Branches   100.00% (2/2)\n  MC/DC      50.00% (1/2)\nAssertions 75.00% (3/4) — agent-assessed statements, whole run\n  2 assertions with flows; 0 without; 2 current flows; 0 stale; 0 draft\n\nBy test kind\n  unit            2 test(s)  lines 100.00%  branches 100.00%  MC/DC  50.00%\n  2 test(s) use the runner's default kind; this is not inferred from their behavior.\n  Set SUPERCOV_TEST_KIND=integration (or unit/component/e2e) when running a suite to override it.\n\nMeasurement\n  Instrumentation  Complete for the measured command and coverage model\n  Scope            Only code reached by the wrapped command is observed; this status does not prove every project test suite was run.\n  Command outputs  /private<project>/.supercov/workspaces/workspace/supercov-homepage-recording-A1ZlEv\n\nTests\n  Total       2\n  Passed      2\n\nRemaining\n  Files with uncovered code         1\n  Files with measurement limits     0\n\nRuntime action phases (separate from assertion mappings)\n  Recorded within action phases      0 lines\n  Other recorded execution           5 lines\n  These runtime phase counts do not include the agent-assessed assertion coverage shown above.\n\nCommands\n  npx supercov runs 'run_00ada174ad1c2d85' files\n  npx supercov runs 'run_00ada174ad1c2d85' gaps\n  npx supercov runs 'run_00ada174ad1c2d85' kinds\n  npx supercov runs 'run_00ada174ad1c2d85' runners\n  npx supercov runs 'run_00ada174ad1c2d85' scope\n  npx supercov runs run_00ada174ad1c2d85 --help\n"
        },
        {
          "args": [
            "runs",
            "run_00ada174ad1c2d85",
            "assertions",
            "--json"
          ],
          "stdout": "{\"schemaVersion\":1,\"ok\":true,\"command\":\"coverage.assertions\",\"data\":{\"items\":[{\"observation\":\"Passing assertion occurrence recorded.\",\"id\":\"a_fc81c070c3b04b7bd8d4\",\"at\":{\"file\":\"tests/session.test.ts\",\"line\":7,\"column\":3,\"text\":\"assert.equal(order.status, 'confirmed')\"},\"questions\":[],\"inMap\":true,\"observes\":[\"The returned status equals confirmed for this test input.\"],\"operations\":[\"node:assert/strict.equal\"],\"observedPassingTests\":[\"node:test:02d93cf9b058424ac8d69cb5\"],\"flows\":[{\"id\":\"returned-status\",\"freshness\":\"current\",\"valid\":true,\"current\":true,\"expectedBasis\":\"scov2:039c7964908da96527ced42a4b2a6944b6576ec4be317b27a6b0dadd8c24191a\",\"selectors\":[{\"file\":\"tests/session.test.ts\",\"name\":\"confirms an order\",\"status\":\"observed\",\"outcomes\":[\"passed\"],\"reason\":\"A passing assertion occurrence matches this test.\"}],\"questions\":[],\"reasons\":[],\"eligible\":true,\"blockers\":[],\"matchingTests\":[\"node:test:02d93cf9b058424ac8d69cb5\"],\"creditedStatementLines\":[[\"src/session.ts\",2],[\"src/session.ts\",4]],\"nodeCredit\":[{\"nodeId\":\"n0\",\"location\":{\"file\":\"src/session.ts\",\"line\":2,\"column\":3},\"status\":\"credited\",\"statementIds\":[\"49bf658e3792aa23\"],\"matchingTests\":[\"node:test:02d93cf9b058424ac8d69cb5\"],\"reasons\":[{\"code\":\"same_test_execution\",\"message\":\"Current agent claim, passing assertion, and statement execution in the same selected test.\"}]},{\"nodeId\":\"n1\",\"location\":{\"file\":\"src/session.ts\",\"line\":4,\"column\":5},\"status\":\"credited\",\"statementIds\":[\"2ce71c34fcf57be3\"],\"matchingTests\":[\"node:test:02d93cf9b058424ac8d69cb5\"],\"reasons\":[{\"code\":\"same_test_execution\",\"message\":\"Current agent claim, passing assertion, and statement execution in the same selected test.\"}]}]}]},{\"observation\":\"Passing assertion occurrence recorded.\",\"id\":\"a_19781479661b64939e8c\",\"at\":{\"file\":\"tests/session.test.ts\",\"line\":12,\"column\":3,\"text\":\"assert.equal(order.status, 'denied')\"},\"questions\":[],\"inMap\":true,\"observes\":[\"The returned status equals denied for this test input.\"],\"operations\":[\"node:assert/strict.equal\"],\"observedPassingTests\":[\"node:test:60a245508a32ee93ab1da1d5\"],\"flows\":[{\"id\":\"returned-status\",\"freshness\":\"current\",\"valid\":true,\"current\":true,\"expectedBasis\":\"scov2:e5873933820cb77056b481a0d9136bf3952a45e43de2a81e60b7ca763c7825f3\",\"selectors\":[{\"file\":\"tests/session.test.ts\",\"name\":\"rejects a signed-out visitor\",\"status\":\"observed\",\"outcomes\":[\"passed\"],\"reason\":\"A passing assertion occurrence matches this test.\"}],\"questions\":[],\"reasons\":[],\"eligible\":true,\"blockers\":[],\"matchingTests\":[\"node:test:60a245508a32ee93ab1da1d5\"],\"creditedStatementLines\":[[\"src/session.ts\",2],[\"src/session.ts\",6]],\"nodeCredit\":[{\"nodeId\":\"n0\",\"location\":{\"file\":\"src/session.ts\",\"line\":2,\"column\":3},\"status\":\"credited\",\"statementIds\":[\"49bf658e3792aa23\"],\"matchingTests\":[\"node:test:60a245508a32ee93ab1da1d5\"],\"reasons\":[{\"code\":\"same_test_execution\",\"message\":\"Current agent claim, passing assertion, and statement execution in the same selected test.\"}]},{\"nodeId\":\"n1\",\"location\":{\"file\":\"src/session.ts\",\"line\":6,\"column\":3},\"status\":\"credited\",\"statementIds\":[\"a44cd2644518f06a\"],\"matchingTests\":[\"node:test:60a245508a32ee93ab1da1d5\"],\"reasons\":[{\"code\":\"same_test_execution\",\"message\":\"Current agent claim, passing assertion, and statement execution in the same selected test.\"}]}]}]}],\"pagination\":{\"offset\":0,\"returned\":2,\"total\":2,\"nextOffset\":null},\"summary\":{\"status\":\"available\",\"reason\":\"Agent-assessed statements; mapping completeness is unknown\",\"pendingChanges\":0,\"metric\":\"measured statements\",\"statements\":{\"asserted\":3,\"declared\":3,\"total\":4,\"percentage\":75.0},\"assertions\":2,\"inventoryAssertions\":2,\"missingInventoryAssertions\":0,\"assertionsWithFlows\":2,\"assertionsWithoutFlows\":0,\"observedAssertionsWithoutCurrentExplanation\":0,\"questions\":0,\"currentFlows\":2,\"draftFlows\":0,\"staleFlows\":0,\"invalidFlows\":0,\"eligibleFlows\":2,\"retiredAssertions\":0,\"unobservedAssertions\":0,\"inventoryFailures\":0,\"unanchoredStatements\":0,\"runPassed\":true,\"lines\":{\"asserted\":3,\"declared\":3,\"total\":4,\"percentage\":75.0},\"excludedStatements\":0},\"basis\":\"agent-assessed; passing assertion identity and same-test execution required; not mutation resistance\",\"validationErrors\":[],\"limitations\":[\"Syntax inventory covers recognized assertion forms, not every possible custom assertion. Agents may add exact source sites; missing runtime identity never earns credit.\",\"Optional assertion calls are inventoried but currently have no injected phase. Unrecognized custom assertion wrappers and dynamically selected matchers may be absent. Use check --require-observed to detect inventoried sites without passing evidence.\"],\"revision\":\"771121b2a0551298db15eab24311218ca593b6f8d6b9dffc6c5a7eb0815fe43d\",\"inheritance\":{\"from\":\"run_776ed4d70982d3eb\",\"skipped\":[]},\"view\":\"assertions\",\"file\":null,\"needsAttention\":false,\"scope\":\"summary covers the whole run with matching current source; --file filters items only\",\"workingTree\":{\"stale\":false,\"reasons\":[]},\"run\":\"run_00ada174ad1c2d85\",\"map\":\"/private<project>/.supercov/runs/run_00ada174ad1c2d85/assertions.json\"}}\n"
        },
        {
          "args": [
            "runs",
            "run_00ada174ad1c2d85"
          ],
          "stdout": "run run_00ada174ad1c2d85\ncommand: npm test\n\nCoverage\n  Lines      100.00% (5/5)\n  Branches   100.00% (2/2)\n  MC/DC      50.00% (1/2)\nAssertions 75.00% (3/4) — agent-assessed statements, whole run\n  2 assertions with flows; 0 without; 2 current flows; 0 stale; 0 draft\n\nBy test kind\n  unit            2 test(s)  lines 100.00%  branches 100.00%  MC/DC  50.00%\n  2 test(s) use the runner's default kind; this is not inferred from their behavior.\n  Set SUPERCOV_TEST_KIND=integration (or unit/component/e2e) when running a suite to override it.\n\nMeasurement\n  Instrumentation  Complete for the measured command and coverage model\n  Scope            Only code reached by the wrapped command is observed; this status does not prove every project test suite was run.\n  Command outputs  /private<project>/.supercov/workspaces/workspace/supercov-homepage-recording-A1ZlEv\n\nTests\n  Total       2\n  Passed      2\n\nRemaining\n  Files with uncovered code         1\n  Files with measurement limits     0\n\nRuntime action phases (separate from assertion mappings)\n  Recorded within action phases      0 lines\n  Other recorded execution           5 lines\n  These runtime phase counts do not include the agent-assessed assertion coverage shown above.\n\nCommands\n  npx supercov runs 'run_00ada174ad1c2d85' files\n  npx supercov runs 'run_00ada174ad1c2d85' gaps\n  npx supercov runs 'run_00ada174ad1c2d85' kinds\n  npx supercov runs 'run_00ada174ad1c2d85' runners\n  npx supercov runs 'run_00ada174ad1c2d85' scope\n  npx supercov runs run_00ada174ad1c2d85 --help\n"
        },
        {
          "args": [
            "runs",
            "run_00ada174ad1c2d85",
            "gaps",
            "--limit",
            "5"
          ],
          "stdout": "Coverage gaps — only files with unresolved obligations\n\nsrc/session.ts\n  uncovered: lines 0  statements 0  functions 0  branch outcomes 0  MC/DC conditions 1\n\nshowing 1-1 of 1\ninspect file: npx supercov runs 'run_00ada174ad1c2d85' file 'src/session.ts'\n"
        },
        {
          "args": [
            "runs",
            "run_00ada174ad1c2d85",
            "file",
            "src/session.ts"
          ],
          "stdout": "src/session.ts\n\nUncovered\n  Lines not executed              0\n  Statements not executed         0\n  Functions not called            0\n  Branch outcomes not taken       0\n  MC/DC conditions not shown      1\n  Measurement limitations         0\n\nTests touching this file: 2\n\nGaps\n  NOT COVERED = line never executed; PARTIAL = line executed but some behavior remains untested\n LINE  STATUS        SOURCE\n    2  PARTIAL       signedIn && !expired\n       Unobserved: no witness pair shows `!expired` independently changing the decision result\n       Inspect: npx supercov runs 'run_00ada174ad1c2d85' line 'src/session.ts:2'\nshowing 1-1 of 1 gap lines\n"
        },
        {
          "args": [
            "runs",
            "run_00ada174ad1c2d85",
            "line",
            "src/session.ts:3"
          ],
          "stdout": "src/session.ts:3\n\nSource\n      3 | const total = price * quantity;\n\nStatus\n  COVERED\n  Evidence: execution only\n\nCoverage details\n  Statement at column 5 — covered (1 covering tests)\n    `const total = price * quantity;`\n\nCovering tests\n  confirms an order [node:test:02d93cf9b058424ac8d69cb5] — unit/node:test\n\nTest phases\n  node:assert/strict.equal (passed) at tests/session.test.ts:7:3\n"
        },
        {
          "args": [
            "runs",
            "run_00ada174ad1c2d85",
            "decision",
            "src/session.ts:2"
          ],
          "stdout": "f1866ddbbce296c0  src/session.ts:2:7\nsignedIn && !expired\nC1 covered: signedIn\nC2 MISSING: !expired\nconfidence executed\nvectors:\n  F- -> F  tests=1 confidence=executed\n  TT -> T  tests=1 confidence=executed\nshowing 1-2 of 2 conditions/vectors/tests per decision\n"
        },
        {
          "args": [
            "runs",
            "run_00ada174ad1c2d85",
            "assertions",
            "report",
            "--view",
            "statements",
            "--file",
            "src/session.ts"
          ],
          "stdout": "{\n  \"items\": [\n    {\n      \"id\": \"49bf658e3792aa23\",\n      \"file\": \"src/session.ts\",\n      \"line\": 2,\n      \"at\": {\n        \"file\": \"src/session.ts\",\n        \"line\": 2,\n        \"column\": 3,\n        \"text\": \"if (signedIn && !expired) {\\n    const total = price * quantity;\\n    return { status: 'confirmed', total };\\n  }\"\n      },\n      \"covered\": true,\n      \"tests\": [\n        \"node:test:02d93cf9b058424ac8d69cb5\",\n        \"node:test:60a245508a32ee93ab1da1d5\"\n      ],\n      \"declared\": true,\n      \"asserted\": true,\n      \"flows\": [\n        \"a_19781479661b64939e8c/returned-status\",\n        \"a_fc81c070c3b04b7bd8d4/returned-status\"\n      ],\n      \"executionEvidence\": {\n        \"anyExecution\": true,\n        \"passingTests\": [\n          \"node:test:02d93cf9b058424ac8d69cb5\",\n          \"node:test:60a245508a32ee93ab1da1d5\"\n        ],\n        \"outsidePassingTests\": []\n      }\n    },\n    {\n      \"id\": \"7505756f748faa8b\",\n      \"file\": \"src/session.ts\",\n      \"line\": 3,\n      \"at\": {\n        \"file\": \"src/session.ts\",\n        \"line\": 3,\n        \"column\": 5,\n        \"text\": \"const total = price * quantity;\"\n      },\n      \"covered\": true,\n      \"tests\": [\n        \"node:test:02d93cf9b058424ac8d69cb5\"\n      ],\n      \"declared\": false,\n      \"asserted\": false,\n      \"flows\": [],\n      \"executionEvidence\": {\n        \"anyExecution\": true,\n        \"passingTests\": [\n          \"node:test:02d93cf9b058424ac8d69cb5\"\n        ],\n        \"outsidePassingTests\": []\n      }\n    },\n    {\n      \"id\": \"2ce71c34fcf57be3\",\n      \"file\": \"src/session.ts\",\n      \"line\": 4,\n      \"at\": {\n        \"file\": \"src/session.ts\",\n        \"line\": 4,\n        \"column\": 5,\n        \"text\": \"return { status: 'confirmed', total };\"\n      },\n      \"covered\": true,\n      \"tests\": [\n        \"node:test:02d93cf9b058424ac8d69cb5\"\n      ],\n      \"declared\": true,\n      \"asserted\": true,\n      \"flows\": [\n        \"a_fc81c070c3b04b7bd8d4/returned-status\"\n      ],\n      \"executionEvidence\": {\n        \"anyExecution\": true,\n        \"passingTests\": [\n          \"node:test:02d93cf9b058424ac8d69cb5\"\n        ],\n        \"outsidePassingTests\": []\n      }\n    },\n    {\n      \"id\": \"a44cd2644518f06a\",\n      \"file\": \"src/session.ts\",\n      \"line\": 6,\n      \"at\": {\n        \"file\": \"src/session.ts\",\n        \"line\": 6,\n        \"column\": 3,\n        \"text\": \"return { status: 'denied', total: 0 };\"\n      },\n      \"covered\": true,\n      \"tests\": [\n        \"node:test:60a245508a32ee93ab1da1d5\"\n      ],\n      \"declared\": true,\n      \"asserted\": true,\n      \"flows\": [\n        \"a_19781479661b64939e8c/returned-status\"\n      ],\n      \"executionEvidence\": {\n        \"anyExecution\": true,\n        \"passingTests\": [\n          \"node:test:60a245508a32ee93ab1da1d5\"\n        ],\n        \"outsidePassingTests\": []\n      }\n    }\n  ],\n  \"pagination\": {\n    \"offset\": 0,\n    \"returned\": 4,\n    \"total\": 4,\n    \"nextOffset\": null\n  },\n  \"summary\": {\n    \"status\": \"available\",\n    \"reason\": \"Agent-assessed statements; mapping completeness is unknown\",\n    \"pendingChanges\": 0,\n    \"metric\": \"measured statements\",\n    \"statements\": {\n      \"asserted\": 3,\n      \"declared\": 3,\n      \"total\": 4,\n      \"percentage\": 75.0\n    },\n    \"assertions\": 2,\n    \"inventoryAssertions\": 2,\n    \"missingInventoryAssertions\": 0,\n    \"assertionsWithFlows\": 2,\n    \"assertionsWithoutFlows\": 0,\n    \"observedAssertionsWithoutCurrentExplanation\": 0,\n    \"questions\": 0,\n    \"currentFlows\": 2,\n    \"draftFlows\": 0,\n    \"staleFlows\": 0,\n    \"invalidFlows\": 0,\n    \"eligibleFlows\": 2,\n    \"retiredAssertions\": 0,\n    \"unobservedAssertions\": 0,\n    \"inventoryFailures\": 0,\n    \"unanchoredStatements\": 0,\n    \"runPassed\": true,\n    \"lines\": {\n      \"asserted\": 3,\n      \"declared\": 3,\n      \"total\": 4,\n      \"percentage\": 75.0\n    },\n    \"excludedStatements\": 0\n  },\n  \"basis\": \"agent-assessed; passing assertion identity and same-test execution required; not mutation resistance\",\n  \"validationErrors\": [],\n  \"limitations\": [\n    \"Syntax inventory covers recognized assertion forms, not every possible custom assertion. Agents may add exact source sites; missing runtime identity never earns credit.\",\n    \"Optional assertion calls are inventoried but currently have no injected phase. Unrecognized custom assertion wrappers and dynamically selected matchers may be absent. Use check --require-observed to detect inventoried sites without passing evidence.\"\n  ],\n  \"revision\": \"771121b2a0551298db15eab24311218ca593b6f8d6b9dffc6c5a7eb0815fe43d\",\n  \"inheritance\": {\n    \"from\": \"run_776ed4d70982d3eb\",\n    \"skipped\": []\n  },\n  \"view\": \"statements\",\n  \"file\": \"src/session.ts\",\n  \"needsAttention\": false,\n  \"scope\": \"summary covers the whole run with matching current source; --file filters items only\",\n  \"workingTree\": {\n    \"stale\": false,\n    \"reasons\": []\n  },\n  \"run\": \"run_00ada174ad1c2d85\",\n  \"map\": \"/private<project>/.supercov/runs/run_00ada174ad1c2d85/assertions.json\"\n}\n"
        },
        {
          "args": [
            "runs",
            "run_00ada174ad1c2d85",
            "decision",
            "src/session.ts:2"
          ],
          "stdout": "f1866ddbbce296c0  src/session.ts:2:7\nsignedIn && !expired\nC1 covered: signedIn\nC2 MISSING: !expired\nconfidence executed\nvectors:\n  F- -> F  tests=1 confidence=executed\n  TT -> T  tests=1 confidence=executed\nshowing 1-2 of 2 conditions/vectors/tests per decision\n"
        },
        {
          "args": [
            "--",
            "npm",
            "test"
          ],
          "stdout": "\n> test\n> node --test tests/*.test.ts\n\n✔ confirms an order (14.044917ms)\n✔ rejects a signed-out visitor (8.174708ms)\n✔ rejects an expired session (7.830208ms)\nℹ tests 3\nℹ suites 0\nℹ pass 3\nℹ fail 0\nℹ cancelled 0\nℹ skipped 0\nℹ todo 0\nℹ duration_ms 165.47025\n[coverage] evidence: /private<project>/.supercov/runs/run_0f489a0b662daed9/evidence.raw.gz\n"
        },
        {
          "args": [
            "runs",
            "latest",
            "assertions",
            "--json"
          ],
          "stdout": "{\"schemaVersion\":1,\"ok\":true,\"command\":\"coverage.assertions\",\"data\":{\"items\":[{\"observation\":\"Passing assertion occurrence recorded.\",\"id\":\"a_fc81c070c3b04b7bd8d4\",\"at\":{\"file\":\"tests/session.test.ts\",\"line\":7,\"column\":3,\"text\":\"assert.equal(order.status, 'confirmed')\"},\"questions\":[],\"inMap\":true,\"observes\":[\"The returned status equals confirmed for this test input.\"],\"operations\":[\"node:assert/strict.equal\"],\"observedPassingTests\":[\"node:test:02d93cf9b058424ac8d69cb5\"],\"flows\":[{\"id\":\"returned-status\",\"freshness\":\"stale\",\"valid\":true,\"current\":false,\"expectedBasis\":\"scov2:3d09a54f3857b229e8565acfeccaec00ba2f8a0b02c0ae1891dcf0793e493df1\",\"selectors\":[{\"file\":\"tests/session.test.ts\",\"name\":\"confirms an order\",\"status\":\"observed\",\"outcomes\":[\"passed\"],\"reason\":\"A passing assertion occurrence matches this test.\"}],\"questions\":[],\"reasons\":[\"claim or inputs changed; needs rechecking\",\"dependency file changed or removed: tests/session.test.ts\"],\"eligible\":false,\"blockers\":[\"flow requires review or reference repair\"],\"matchingTests\":[\"node:test:02d93cf9b058424ac8d69cb5\"],\"creditedStatementLines\":[],\"nodeCredit\":[{\"nodeId\":\"n0\",\"location\":{\"file\":\"src/session.ts\",\"line\":2,\"column\":3},\"status\":\"notCredited\",\"statementIds\":[\"49bf658e3792aa23\"],\"matchingTests\":[\"node:test:02d93cf9b058424ac8d69cb5\"],\"reasons\":[{\"code\":\"flow_needs_attention\",\"message\":\"Flow needs investigation: claim or inputs changed; needs rechecking; dependency file changed or removed: tests/session.test.ts\"}]},{\"nodeId\":\"n1\",\"location\":{\"file\":\"src/session.ts\",\"line\":4,\"column\":5},\"status\":\"notCredited\",\"statementIds\":[\"2ce71c34fcf57be3\"],\"matchingTests\":[\"node:test:02d93cf9b058424ac8d69cb5\"],\"reasons\":[{\"code\":\"flow_needs_attention\",\"message\":\"Flow needs investigation: claim or inputs changed; needs rechecking; dependency file changed or removed: tests/session.test.ts\"}]}]}]},{\"observation\":\"Passing assertion occurrence recorded.\",\"id\":\"a_b403ac6e78c566df153a\",\"at\":{\"file\":\"tests/session.test.ts\",\"line\":8,\"column\":3,\"text\":\"assert.equal(order.total, 50)\"},\"questions\":[],\"inMap\":true,\"observes\":[],\"operations\":[\"node:assert/strict.equal\"],\"observedPassingTests\":[\"node:test:02d93cf9b058424ac8d69cb5\"],\"flows\":[]},{\"observation\":\"Passing assertion occurrence recorded.\",\"id\":\"a_0baf1eafe3ac7edeacb8\",\"at\":{\"file\":\"tests/session.test.ts\",\"line\":13,\"column\":3,\"text\":\"assert.equal(order.status, 'denied')\"},\"questions\":[],\"inMap\":true,\"observes\":[],\"operations\":[\"node:assert/strict.equal\"],\"observedPassingTests\":[\"node:test:b137f3fcf630649fb0a30bd5\"],\"flows\":[]},{\"observation\":\"Passing assertion occurrence recorded.\",\"id\":\"a_f8984523114e64dbb720\",\"at\":{\"file\":\"tests/session.test.ts\",\"line\":18,\"column\":3,\"text\":\"assert.equal(order.status, 'denied')\"},\"questions\":[],\"inMap\":true,\"observes\":[],\"operations\":[\"node:assert/strict.equal\"],\"observedPassingTests\":[\"node:test:e01871fa269c1499d079b30c\"],\"flows\":[]}],\"pagination\":{\"offset\":0,\"returned\":4,\"total\":4,\"nextOffset\":null},\"summary\":{\"status\":\"pending\",\"reason\":\"Source changes need impact assessment\",\"pendingChanges\":1,\"metric\":\"measured statements\",\"statements\":{\"asserted\":0,\"declared\":2,\"total\":4,\"percentage\":null},\"assertions\":4,\"inventoryAssertions\":4,\"missingInventoryAssertions\":0,\"assertionsWithFlows\":1,\"assertionsWithoutFlows\":3,\"observedAssertionsWithoutCurrentExplanation\":4,\"questions\":0,\"currentFlows\":0,\"draftFlows\":0,\"staleFlows\":1,\"invalidFlows\":0,\"eligibleFlows\":0,\"retiredAssertions\":1,\"unobservedAssertions\":0,\"inventoryFailures\":0,\"unanchoredStatements\":0,\"runPassed\":true,\"lines\":{\"asserted\":0,\"declared\":2,\"total\":4,\"percentage\":null},\"excludedStatements\":0},\"basis\":\"agent-assessed; passing assertion identity and same-test execution required; not mutation resistance\",\"validationErrors\":[],\"limitations\":[\"Syntax inventory covers recognized assertion forms, not every possible custom assertion. Agents may add exact source sites; missing runtime identity never earns credit.\",\"Optional assertion calls are inventoried but currently have no injected phase. Unrecognized custom assertion wrappers and dynamically selected matchers may be absent. Use check --require-observed to detect inventoried sites without passing evidence.\"],\"revision\":\"79e07ad1693235ddfd83e8a15b2409a5f5b8f19c88ecae3c906c43c26531468c\",\"inheritance\":{\"from\":\"run_00ada174ad1c2d85\",\"skipped\":[]},\"view\":\"assertions\",\"file\":null,\"needsAttention\":false,\"scope\":\"summary covers the whole run with matching current source; --file filters items only\",\"workingTree\":{\"stale\":false,\"reasons\":[]},\"run\":\"run_0f489a0b662daed9\",\"map\":\"/private<project>/.supercov/runs/run_0f489a0b662daed9/assertions.json\"}}\n"
        },
        {
          "args": [
            "runs",
            "run_0f489a0b662daed9",
            "assertions",
            "--json"
          ],
          "stdout": "{\"schemaVersion\":1,\"ok\":true,\"command\":\"coverage.assertions\",\"data\":{\"items\":[{\"observation\":\"Passing assertion occurrence recorded.\",\"id\":\"a_fc81c070c3b04b7bd8d4\",\"at\":{\"file\":\"tests/session.test.ts\",\"line\":7,\"column\":3,\"text\":\"assert.equal(order.status, 'confirmed')\"},\"questions\":[],\"inMap\":true,\"observes\":[\"The returned status equals confirmed for this test input.\"],\"operations\":[\"node:assert/strict.equal\"],\"observedPassingTests\":[\"node:test:02d93cf9b058424ac8d69cb5\"],\"flows\":[{\"id\":\"returned-status\",\"freshness\":\"stale\",\"valid\":true,\"current\":false,\"expectedBasis\":\"scov2:3d09a54f3857b229e8565acfeccaec00ba2f8a0b02c0ae1891dcf0793e493df1\",\"selectors\":[{\"file\":\"tests/session.test.ts\",\"name\":\"confirms an order\",\"status\":\"observed\",\"outcomes\":[\"passed\"],\"reason\":\"A passing assertion occurrence matches this test.\"}],\"questions\":[],\"reasons\":[\"claim or inputs changed; needs rechecking\",\"dependency file changed or removed: tests/session.test.ts\"],\"eligible\":false,\"blockers\":[\"flow requires review or reference repair\"],\"matchingTests\":[\"node:test:02d93cf9b058424ac8d69cb5\"],\"creditedStatementLines\":[],\"nodeCredit\":[{\"nodeId\":\"n0\",\"location\":{\"file\":\"src/session.ts\",\"line\":2,\"column\":3},\"status\":\"notCredited\",\"statementIds\":[\"49bf658e3792aa23\"],\"matchingTests\":[\"node:test:02d93cf9b058424ac8d69cb5\"],\"reasons\":[{\"code\":\"flow_needs_attention\",\"message\":\"Flow needs investigation: claim or inputs changed; needs rechecking; dependency file changed or removed: tests/session.test.ts\"}]},{\"nodeId\":\"n1\",\"location\":{\"file\":\"src/session.ts\",\"line\":4,\"column\":5},\"status\":\"notCredited\",\"statementIds\":[\"2ce71c34fcf57be3\"],\"matchingTests\":[\"node:test:02d93cf9b058424ac8d69cb5\"],\"reasons\":[{\"code\":\"flow_needs_attention\",\"message\":\"Flow needs investigation: claim or inputs changed; needs rechecking; dependency file changed or removed: tests/session.test.ts\"}]}]}]},{\"observation\":\"Passing assertion occurrence recorded.\",\"id\":\"a_b403ac6e78c566df153a\",\"at\":{\"file\":\"tests/session.test.ts\",\"line\":8,\"column\":3,\"text\":\"assert.equal(order.total, 50)\"},\"questions\":[],\"inMap\":true,\"observes\":[],\"operations\":[\"node:assert/strict.equal\"],\"observedPassingTests\":[\"node:test:02d93cf9b058424ac8d69cb5\"],\"flows\":[]},{\"observation\":\"Passing assertion occurrence recorded.\",\"id\":\"a_0baf1eafe3ac7edeacb8\",\"at\":{\"file\":\"tests/session.test.ts\",\"line\":13,\"column\":3,\"text\":\"assert.equal(order.status, 'denied')\"},\"questions\":[],\"inMap\":true,\"observes\":[],\"operations\":[\"node:assert/strict.equal\"],\"observedPassingTests\":[\"node:test:b137f3fcf630649fb0a30bd5\"],\"flows\":[]},{\"observation\":\"Passing assertion occurrence recorded.\",\"id\":\"a_f8984523114e64dbb720\",\"at\":{\"file\":\"tests/session.test.ts\",\"line\":18,\"column\":3,\"text\":\"assert.equal(order.status, 'denied')\"},\"questions\":[],\"inMap\":true,\"observes\":[],\"operations\":[\"node:assert/strict.equal\"],\"observedPassingTests\":[\"node:test:e01871fa269c1499d079b30c\"],\"flows\":[]}],\"pagination\":{\"offset\":0,\"returned\":4,\"total\":4,\"nextOffset\":null},\"summary\":{\"status\":\"pending\",\"reason\":\"Source changes need impact assessment\",\"pendingChanges\":1,\"metric\":\"measured statements\",\"statements\":{\"asserted\":0,\"declared\":2,\"total\":4,\"percentage\":null},\"assertions\":4,\"inventoryAssertions\":4,\"missingInventoryAssertions\":0,\"assertionsWithFlows\":1,\"assertionsWithoutFlows\":3,\"observedAssertionsWithoutCurrentExplanation\":4,\"questions\":0,\"currentFlows\":0,\"draftFlows\":0,\"staleFlows\":1,\"invalidFlows\":0,\"eligibleFlows\":0,\"retiredAssertions\":1,\"unobservedAssertions\":0,\"inventoryFailures\":0,\"unanchoredStatements\":0,\"runPassed\":true,\"lines\":{\"asserted\":0,\"declared\":2,\"total\":4,\"percentage\":null},\"excludedStatements\":0},\"basis\":\"agent-assessed; passing assertion identity and same-test execution required; not mutation resistance\",\"validationErrors\":[],\"limitations\":[\"Syntax inventory covers recognized assertion forms, not every possible custom assertion. Agents may add exact source sites; missing runtime identity never earns credit.\",\"Optional assertion calls are inventoried but currently have no injected phase. Unrecognized custom assertion wrappers and dynamically selected matchers may be absent. Use check --require-observed to detect inventoried sites without passing evidence.\"],\"revision\":\"79e07ad1693235ddfd83e8a15b2409a5f5b8f19c88ecae3c906c43c26531468c\",\"inheritance\":{\"from\":\"run_00ada174ad1c2d85\",\"skipped\":[]},\"view\":\"assertions\",\"file\":null,\"needsAttention\":false,\"scope\":\"summary covers the whole run with matching current source; --file filters items only\",\"workingTree\":{\"stale\":false,\"reasons\":[]},\"run\":\"run_0f489a0b662daed9\",\"map\":\"/private<project>/.supercov/runs/run_0f489a0b662daed9/assertions.json\"}}\n"
        },
        {
          "args": [
            "runs",
            "run_0f489a0b662daed9",
            "assertions",
            "report",
            "--view",
            "statements",
            "--json"
          ],
          "stdout": "{\"schemaVersion\":1,\"ok\":true,\"command\":\"coverage.assertions\",\"data\":{\"items\":[{\"id\":\"49bf658e3792aa23\",\"file\":\"src/session.ts\",\"line\":2,\"at\":{\"file\":\"src/session.ts\",\"line\":2,\"column\":3,\"text\":\"if (signedIn && !expired) {\\n    const total = price * quantity;\\n    return { status: 'confirmed', total };\\n  }\"},\"covered\":true,\"tests\":[\"node:test:02d93cf9b058424ac8d69cb5\",\"node:test:b137f3fcf630649fb0a30bd5\",\"node:test:e01871fa269c1499d079b30c\"],\"declared\":true,\"asserted\":false,\"flows\":[],\"executionEvidence\":{\"anyExecution\":true,\"passingTests\":[\"node:test:02d93cf9b058424ac8d69cb5\",\"node:test:b137f3fcf630649fb0a30bd5\",\"node:test:e01871fa269c1499d079b30c\"],\"outsidePassingTests\":[]}},{\"id\":\"7505756f748faa8b\",\"file\":\"src/session.ts\",\"line\":3,\"at\":{\"file\":\"src/session.ts\",\"line\":3,\"column\":5,\"text\":\"const total = price * quantity;\"},\"covered\":true,\"tests\":[\"node:test:02d93cf9b058424ac8d69cb5\"],\"declared\":false,\"asserted\":false,\"flows\":[],\"executionEvidence\":{\"anyExecution\":true,\"passingTests\":[\"node:test:02d93cf9b058424ac8d69cb5\"],\"outsidePassingTests\":[]}},{\"id\":\"2ce71c34fcf57be3\",\"file\":\"src/session.ts\",\"line\":4,\"at\":{\"file\":\"src/session.ts\",\"line\":4,\"column\":5,\"text\":\"return { status: 'confirmed', total };\"},\"covered\":true,\"tests\":[\"node:test:02d93cf9b058424ac8d69cb5\"],\"declared\":true,\"asserted\":false,\"flows\":[],\"executionEvidence\":{\"anyExecution\":true,\"passingTests\":[\"node:test:02d93cf9b058424ac8d69cb5\"],\"outsidePassingTests\":[]}},{\"id\":\"a44cd2644518f06a\",\"file\":\"src/session.ts\",\"line\":6,\"at\":{\"file\":\"src/session.ts\",\"line\":6,\"column\":3,\"text\":\"return { status: 'denied', total: 0 };\"},\"covered\":true,\"tests\":[\"node:test:b137f3fcf630649fb0a30bd5\",\"node:test:e01871fa269c1499d079b30c\"],\"declared\":false,\"asserted\":false,\"flows\":[],\"executionEvidence\":{\"anyExecution\":true,\"passingTests\":[\"node:test:b137f3fcf630649fb0a30bd5\",\"node:test:e01871fa269c1499d079b30c\"],\"outsidePassingTests\":[]}}],\"pagination\":{\"offset\":0,\"returned\":4,\"total\":4,\"nextOffset\":null},\"summary\":{\"status\":\"pending\",\"reason\":\"Source changes need impact assessment\",\"pendingChanges\":1,\"metric\":\"measured statements\",\"statements\":{\"asserted\":0,\"declared\":2,\"total\":4,\"percentage\":null},\"assertions\":4,\"inventoryAssertions\":4,\"missingInventoryAssertions\":0,\"assertionsWithFlows\":1,\"assertionsWithoutFlows\":3,\"observedAssertionsWithoutCurrentExplanation\":4,\"questions\":0,\"currentFlows\":0,\"draftFlows\":0,\"staleFlows\":1,\"invalidFlows\":0,\"eligibleFlows\":0,\"retiredAssertions\":1,\"unobservedAssertions\":0,\"inventoryFailures\":0,\"unanchoredStatements\":0,\"runPassed\":true,\"lines\":{\"asserted\":0,\"declared\":2,\"total\":4,\"percentage\":null},\"excludedStatements\":0},\"basis\":\"agent-assessed; passing assertion identity and same-test execution required; not mutation resistance\",\"validationErrors\":[],\"limitations\":[\"Syntax inventory covers recognized assertion forms, not every possible custom assertion. Agents may add exact source sites; missing runtime identity never earns credit.\",\"Optional assertion calls are inventoried but currently have no injected phase. Unrecognized custom assertion wrappers and dynamically selected matchers may be absent. Use check --require-observed to detect inventoried sites without passing evidence.\"],\"revision\":\"79e07ad1693235ddfd83e8a15b2409a5f5b8f19c88ecae3c906c43c26531468c\",\"inheritance\":{\"from\":\"run_00ada174ad1c2d85\",\"skipped\":[]},\"view\":\"statements\",\"file\":null,\"needsAttention\":false,\"scope\":\"summary covers the whole run with matching current source; --file filters items only\",\"workingTree\":{\"stale\":false,\"reasons\":[]},\"run\":\"run_0f489a0b662daed9\",\"map\":\"/private<project>/.supercov/runs/run_0f489a0b662daed9/assertions.json\"}}\n"
        },
        {
          "args": [
            "runs",
            "run_0f489a0b662daed9",
            "assertions",
            "report",
            "--view",
            "tests",
            "--json"
          ],
          "stdout": "{\"schemaVersion\":1,\"ok\":true,\"command\":\"coverage.assertions\",\"data\":{\"items\":[{\"id\":\"node:test:02d93cf9b058424ac8d69cb5\",\"file\":\"tests/session.test.ts\",\"name\":\"confirms an order\",\"role\":\"test\",\"outcome\":\"passed\",\"provenance\":{\"runner\":\"node:test\",\"kind\":\"unit\",\"source\":\"runner-default\"},\"hasExecutionEvidence\":true},{\"id\":\"node:test:b137f3fcf630649fb0a30bd5\",\"file\":\"tests/session.test.ts\",\"name\":\"rejects a signed-out visitor\",\"role\":\"test\",\"outcome\":\"passed\",\"provenance\":{\"runner\":\"node:test\",\"kind\":\"unit\",\"source\":\"runner-default\"},\"hasExecutionEvidence\":true},{\"id\":\"node:test:e01871fa269c1499d079b30c\",\"file\":\"tests/session.test.ts\",\"name\":\"rejects an expired session\",\"role\":\"test\",\"outcome\":\"passed\",\"provenance\":{\"runner\":\"node:test\",\"kind\":\"unit\",\"source\":\"runner-default\"},\"hasExecutionEvidence\":true}],\"pagination\":{\"offset\":0,\"returned\":3,\"total\":3,\"nextOffset\":null},\"summary\":{\"status\":\"pending\",\"reason\":\"Source changes need impact assessment\",\"pendingChanges\":1,\"metric\":\"measured statements\",\"statements\":{\"asserted\":0,\"declared\":2,\"total\":4,\"percentage\":null},\"assertions\":4,\"inventoryAssertions\":4,\"missingInventoryAssertions\":0,\"assertionsWithFlows\":1,\"assertionsWithoutFlows\":3,\"observedAssertionsWithoutCurrentExplanation\":4,\"questions\":0,\"currentFlows\":0,\"draftFlows\":0,\"staleFlows\":1,\"invalidFlows\":0,\"eligibleFlows\":0,\"retiredAssertions\":1,\"unobservedAssertions\":0,\"inventoryFailures\":0,\"unanchoredStatements\":0,\"runPassed\":true,\"lines\":{\"asserted\":0,\"declared\":2,\"total\":4,\"percentage\":null},\"excludedStatements\":0},\"basis\":\"agent-assessed; passing assertion identity and same-test execution required; not mutation resistance\",\"validationErrors\":[],\"limitations\":[\"Syntax inventory covers recognized assertion forms, not every possible custom assertion. Agents may add exact source sites; missing runtime identity never earns credit.\",\"Optional assertion calls are inventoried but currently have no injected phase. Unrecognized custom assertion wrappers and dynamically selected matchers may be absent. Use check --require-observed to detect inventoried sites without passing evidence.\"],\"revision\":\"79e07ad1693235ddfd83e8a15b2409a5f5b8f19c88ecae3c906c43c26531468c\",\"inheritance\":{\"from\":\"run_00ada174ad1c2d85\",\"skipped\":[]},\"view\":\"tests\",\"file\":null,\"needsAttention\":false,\"scope\":\"summary covers the whole run with matching current source; --file filters items only\",\"workingTree\":{\"stale\":false,\"reasons\":[]},\"run\":\"run_0f489a0b662daed9\",\"map\":\"/private<project>/.supercov/runs/run_0f489a0b662daed9/assertions.json\"}}\n"
        },
        {
          "args": [
            "runs",
            "run_0f489a0b662daed9",
            "assertions",
            "report",
            "--view",
            "changes",
            "--json"
          ],
          "stdout": "{\"schemaVersion\":1,\"ok\":true,\"command\":\"coverage.assertions\",\"data\":{\"items\":[{\"id\":\"c_b2e766078baf895bbba101f7\",\"file\":\"tests/session.test.ts\",\"before\":\"fe504d26ac57d91e1ecbd863632d76b942cc5bbdf6088768f36a2fe560d2751b\",\"after\":\"007720888aced87ad614901255af6ec62ab4b7206698671cd363d60950695d5c\",\"reason\":\"captured source file changed\",\"knownFlows\":[\"a_19781479661b64939e8c/returned-status\",\"a_fc81c070c3b04b7bd8d4/returned-status\"],\"current\":false,\"assessment\":null,\"errors\":[],\"expectedBasis\":null}],\"pagination\":{\"offset\":0,\"returned\":1,\"total\":1,\"nextOffset\":null},\"summary\":{\"status\":\"pending\",\"reason\":\"Source changes need impact assessment\",\"pendingChanges\":1,\"metric\":\"measured statements\",\"statements\":{\"asserted\":0,\"declared\":2,\"total\":4,\"percentage\":null},\"assertions\":4,\"inventoryAssertions\":4,\"missingInventoryAssertions\":0,\"assertionsWithFlows\":1,\"assertionsWithoutFlows\":3,\"observedAssertionsWithoutCurrentExplanation\":4,\"questions\":0,\"currentFlows\":0,\"draftFlows\":0,\"staleFlows\":1,\"invalidFlows\":0,\"eligibleFlows\":0,\"retiredAssertions\":1,\"unobservedAssertions\":0,\"inventoryFailures\":0,\"unanchoredStatements\":0,\"runPassed\":true,\"lines\":{\"asserted\":0,\"declared\":2,\"total\":4,\"percentage\":null},\"excludedStatements\":0},\"basis\":\"agent-assessed; passing assertion identity and same-test execution required; not mutation resistance\",\"validationErrors\":[],\"limitations\":[\"Syntax inventory covers recognized assertion forms, not every possible custom assertion. Agents may add exact source sites; missing runtime identity never earns credit.\",\"Optional assertion calls are inventoried but currently have no injected phase. Unrecognized custom assertion wrappers and dynamically selected matchers may be absent. Use check --require-observed to detect inventoried sites without passing evidence.\"],\"revision\":\"79e07ad1693235ddfd83e8a15b2409a5f5b8f19c88ecae3c906c43c26531468c\",\"inheritance\":{\"from\":\"run_00ada174ad1c2d85\",\"skipped\":[]},\"view\":\"changes\",\"file\":null,\"needsAttention\":false,\"scope\":\"summary covers the whole run with matching current source; --file filters items only\",\"workingTree\":{\"stale\":false,\"reasons\":[]},\"run\":\"run_0f489a0b662daed9\",\"map\":\"/private<project>/.supercov/runs/run_0f489a0b662daed9/assertions.json\"}}\n"
        },
        {
          "args": [
            "runs",
            "run_0f489a0b662daed9",
            "assertions",
            "validate",
            "--json"
          ],
          "stdout": "{\"schemaVersion\":1,\"ok\":true,\"command\":\"coverage.assertions\",\"data\":{\"valid\":true,\"stage\":\"references\",\"errors\":[],\"flows\":[{\"id\":\"a_fc81c070c3b04b7bd8d4/returned-status\",\"expectedBasis\":\"scov2:3d09a54f3857b229e8565acfeccaec00ba2f8a0b02c0ae1891dcf0793e493df1\",\"reasons\":[\"dependency file changed or removed: tests/session.test.ts\",\"draft: input acknowledgement not recorded\"]},{\"id\":\"a_b403ac6e78c566df153a/calculated-total\",\"expectedBasis\":\"scov2:3d94c7c374981f9285eee2238b8dea5d835085abb3afe7d6f9a2608c107d8f79\",\"reasons\":[\"draft: input acknowledgement not recorded\"]},{\"id\":\"a_0baf1eafe3ac7edeacb8/returned-status\",\"expectedBasis\":\"scov2:40b1938a50e5b9addf559c85a1e000144f6819044d93ba41ea57ca622e6ae89d\",\"reasons\":[\"draft: input acknowledgement not recorded\"]},{\"id\":\"a_f8984523114e64dbb720/returned-status\",\"expectedBasis\":\"scov2:0baa771015c4b2726040e6ed9a73de3a901c7bde82898beb7c0a0b7d701eb410\",\"reasons\":[\"draft: input acknowledgement not recorded\"]}],\"changes\":[{\"id\":\"c_b2e766078baf895bbba101f7\",\"file\":\"tests/session.test.ts\",\"before\":\"fe504d26ac57d91e1ecbd863632d76b942cc5bbdf6088768f36a2fe560d2751b\",\"after\":\"007720888aced87ad614901255af6ec62ab4b7206698671cd363d60950695d5c\",\"reason\":\"captured source file changed\",\"knownFlows\":[\"a_19781479661b64939e8c/returned-status\",\"a_fc81c070c3b04b7bd8d4/returned-status\"],\"current\":false,\"assessment\":{\"id\":\"c_b2e766078baf895bbba101f7\",\"basis\":null,\"affectedFlows\":[\"a_fc81c070c3b04b7bd8d4/returned-status\"],\"explanation\":\"Only the fixture test file changed. The current test inputs and assertions have been reviewed against this run’s mappings. The application source is unchanged.\"},\"errors\":[],\"expectedBasis\":\"scov2:e49a3960c40f53cc8599ec7c58f4c6d07ccb7c3569aa93b53a2e4a06f1a90908\"}],\"meaning\":\"Authored graph references and input acknowledgements only; no semantic proof or completeness claim\",\"revision\":\"dee94ce567f6ada7767c39db87b360853b10f9f735ff146e5d0bf6c60ca29f44\",\"workingTree\":{\"stale\":false,\"reasons\":[]},\"run\":\"run_0f489a0b662daed9\",\"map\":\"/private<project>/.supercov/runs/run_0f489a0b662daed9/assertions.json\"}}\n"
        },
        {
          "args": [
            "runs",
            "run_0f489a0b662daed9",
            "assertions",
            "validate",
            "--json"
          ],
          "stdout": "{\"schemaVersion\":1,\"ok\":true,\"command\":\"coverage.assertions\",\"data\":{\"valid\":true,\"stage\":\"references\",\"errors\":[],\"flows\":[{\"id\":\"a_fc81c070c3b04b7bd8d4/returned-status\",\"expectedBasis\":\"scov2:5ec2f18004a58cb6e3cee59d3e7cfc39b0cd2565921291ad5a3cabf115765e2d\",\"reasons\":[\"dependency file changed or removed: tests/session.test.ts\",\"draft: input acknowledgement not recorded\"]},{\"id\":\"a_b403ac6e78c566df153a/calculated-total\",\"expectedBasis\":\"scov2:3d94c7c374981f9285eee2238b8dea5d835085abb3afe7d6f9a2608c107d8f79\",\"reasons\":[\"draft: input acknowledgement not recorded\"]},{\"id\":\"a_0baf1eafe3ac7edeacb8/returned-status\",\"expectedBasis\":\"scov2:40b1938a50e5b9addf559c85a1e000144f6819044d93ba41ea57ca622e6ae89d\",\"reasons\":[\"draft: input acknowledgement not recorded\"]},{\"id\":\"a_f8984523114e64dbb720/returned-status\",\"expectedBasis\":\"scov2:0baa771015c4b2726040e6ed9a73de3a901c7bde82898beb7c0a0b7d701eb410\",\"reasons\":[\"draft: input acknowledgement not recorded\"]}],\"changes\":[{\"id\":\"c_b2e766078baf895bbba101f7\",\"file\":\"tests/session.test.ts\",\"before\":\"fe504d26ac57d91e1ecbd863632d76b942cc5bbdf6088768f36a2fe560d2751b\",\"after\":\"007720888aced87ad614901255af6ec62ab4b7206698671cd363d60950695d5c\",\"reason\":\"captured source file changed\",\"knownFlows\":[\"a_19781479661b64939e8c/returned-status\",\"a_fc81c070c3b04b7bd8d4/returned-status\"],\"current\":true,\"assessment\":{\"id\":\"c_b2e766078baf895bbba101f7\",\"basis\":\"scov2:e49a3960c40f53cc8599ec7c58f4c6d07ccb7c3569aa93b53a2e4a06f1a90908\",\"affectedFlows\":[\"a_fc81c070c3b04b7bd8d4/returned-status\"],\"explanation\":\"Only the fixture test file changed. The current test inputs and assertions have been reviewed against this run’s mappings. The application source is unchanged.\"},\"errors\":[],\"expectedBasis\":\"scov2:e49a3960c40f53cc8599ec7c58f4c6d07ccb7c3569aa93b53a2e4a06f1a90908\"}],\"meaning\":\"Authored graph references and input acknowledgements only; no semantic proof or completeness claim\",\"revision\":\"1cf159482e4c39294b0af22511690590925b435999a84fd87b8db6e9f5b5bb48\",\"workingTree\":{\"stale\":false,\"reasons\":[]},\"run\":\"run_0f489a0b662daed9\",\"map\":\"/private<project>/.supercov/runs/run_0f489a0b662daed9/assertions.json\"}}\n"
        },
        {
          "args": [
            "runs",
            "run_0f489a0b662daed9",
            "assertions",
            "check",
            "--require-mappings"
          ],
          "stdout": "{\n  \"summary\": {\n    \"status\": \"available\",\n    \"reason\": \"Agent-assessed statements; mapping completeness is unknown\",\n    \"pendingChanges\": 0,\n    \"metric\": \"measured statements\",\n    \"statements\": {\n      \"asserted\": 4,\n      \"declared\": 4,\n      \"total\": 4,\n      \"percentage\": 100.0\n    },\n    \"assertions\": 4,\n    \"inventoryAssertions\": 4,\n    \"missingInventoryAssertions\": 0,\n    \"assertionsWithFlows\": 4,\n    \"assertionsWithoutFlows\": 0,\n    \"observedAssertionsWithoutCurrentExplanation\": 0,\n    \"questions\": 0,\n    \"currentFlows\": 4,\n    \"draftFlows\": 0,\n    \"staleFlows\": 0,\n    \"invalidFlows\": 0,\n    \"eligibleFlows\": 4,\n    \"retiredAssertions\": 1,\n    \"unobservedAssertions\": 0,\n    \"inventoryFailures\": 0,\n    \"unanchoredStatements\": 0,\n    \"runPassed\": true,\n    \"lines\": {\n      \"asserted\": 4,\n      \"declared\": 4,\n      \"total\": 4,\n      \"percentage\": 100.0\n    },\n    \"excludedStatements\": 0\n  },\n  \"basis\": \"agent-assessed; passing assertion identity and same-test execution required; not mutation resistance\",\n  \"validationErrors\": [],\n  \"limitations\": [\n    \"Syntax inventory covers recognized assertion forms, not every possible custom assertion. Agents may add exact source sites; missing runtime identity never earns credit.\",\n    \"Optional assertion calls are inventoried but currently have no injected phase. Unrecognized custom assertion wrappers and dynamically selected matchers may be absent. Use check --require-observed to detect inventoried sites without passing evidence.\"\n  ],\n  \"revision\": \"ba1c429fbfcf9c800ee51ebd052daae6e8c73f0b2d3925e958ee175f3b6aef10\",\n  \"inheritance\": {\n    \"from\": \"run_00ada174ad1c2d85\",\n    \"skipped\": []\n  },\n  \"view\": \"summary\",\n  \"file\": null,\n  \"needsAttention\": false,\n  \"scope\": \"summary covers the whole run with matching current source; --file filters items only\",\n  \"workingTree\": {\n    \"stale\": false,\n    \"reasons\": []\n  },\n  \"valid\": true,\n  \"failures\": [],\n  \"requirements\": {\n    \"mappings\": true,\n    \"observed\": false,\n    \"minimum\": null\n  },\n  \"run\": \"run_0f489a0b662daed9\",\n  \"map\": \"/private<project>/.supercov/runs/run_0f489a0b662daed9/assertions.json\"\n}\n"
        },
        {
          "args": [
            "runs",
            "run_0f489a0b662daed9"
          ],
          "stdout": "run run_0f489a0b662daed9\ncommand: npm test\n\nCoverage\n  Lines      100.00% (5/5)\n  Branches   100.00% (2/2)\n  MC/DC      100.00% (2/2)\nAssertions 100.00% (4/4) — agent-assessed statements, whole run\n  4 assertions with flows; 0 without; 4 current flows; 0 stale; 0 draft\n\nBy test kind\n  unit            3 test(s)  lines 100.00%  branches 100.00%  MC/DC 100.00%\n  3 test(s) use the runner's default kind; this is not inferred from their behavior.\n  Set SUPERCOV_TEST_KIND=integration (or unit/component/e2e) when running a suite to override it.\n\nMeasurement\n  Instrumentation  Complete for the measured command and coverage model\n  Scope            Only code reached by the wrapped command is observed; this status does not prove every project test suite was run.\n  Command outputs  /private<project>/.supercov/workspaces/workspace/supercov-homepage-recording-A1ZlEv\n\nTests\n  Total       3\n  Passed      3\n\nRemaining\n  Files with uncovered code         0\n  Files with measurement limits     0\n\nRuntime action phases (separate from assertion mappings)\n  Recorded within action phases      0 lines\n  Other recorded execution           5 lines\n  These runtime phase counts do not include the agent-assessed assertion coverage shown above.\n\nCommands\n  npx supercov runs 'run_0f489a0b662daed9' files\n  npx supercov runs 'run_0f489a0b662daed9' gaps\n  npx supercov runs 'run_0f489a0b662daed9' kinds\n  npx supercov runs 'run_0f489a0b662daed9' runners\n  npx supercov runs 'run_0f489a0b662daed9' scope\n  npx supercov runs run_0f489a0b662daed9 --help\n"
        },
        {
          "args": [
            "runs",
            "run_0f489a0b662daed9",
            "assertions",
            "--json"
          ],
          "stdout": "{\"schemaVersion\":1,\"ok\":true,\"command\":\"coverage.assertions\",\"data\":{\"items\":[{\"observation\":\"Passing assertion occurrence recorded.\",\"id\":\"a_fc81c070c3b04b7bd8d4\",\"at\":{\"file\":\"tests/session.test.ts\",\"line\":7,\"column\":3,\"text\":\"assert.equal(order.status, 'confirmed')\"},\"questions\":[],\"inMap\":true,\"observes\":[\"The returned status equals confirmed for this test input.\"],\"operations\":[\"node:assert/strict.equal\"],\"observedPassingTests\":[\"node:test:02d93cf9b058424ac8d69cb5\"],\"flows\":[{\"id\":\"returned-status\",\"freshness\":\"current\",\"valid\":true,\"current\":true,\"expectedBasis\":\"scov2:5ec2f18004a58cb6e3cee59d3e7cfc39b0cd2565921291ad5a3cabf115765e2d\",\"selectors\":[{\"file\":\"tests/session.test.ts\",\"name\":\"confirms an order\",\"status\":\"observed\",\"outcomes\":[\"passed\"],\"reason\":\"A passing assertion occurrence matches this test.\"}],\"questions\":[],\"reasons\":[],\"eligible\":true,\"blockers\":[],\"matchingTests\":[\"node:test:02d93cf9b058424ac8d69cb5\"],\"creditedStatementLines\":[[\"src/session.ts\",2],[\"src/session.ts\",4]],\"nodeCredit\":[{\"nodeId\":\"n0\",\"location\":{\"file\":\"src/session.ts\",\"line\":2,\"column\":3},\"status\":\"credited\",\"statementIds\":[\"49bf658e3792aa23\"],\"matchingTests\":[\"node:test:02d93cf9b058424ac8d69cb5\"],\"reasons\":[{\"code\":\"same_test_execution\",\"message\":\"Current agent claim, passing assertion, and statement execution in the same selected test.\"}]},{\"nodeId\":\"n1\",\"location\":{\"file\":\"src/session.ts\",\"line\":4,\"column\":5},\"status\":\"credited\",\"statementIds\":[\"2ce71c34fcf57be3\"],\"matchingTests\":[\"node:test:02d93cf9b058424ac8d69cb5\"],\"reasons\":[{\"code\":\"same_test_execution\",\"message\":\"Current agent claim, passing assertion, and statement execution in the same selected test.\"}]}]}]},{\"observation\":\"Passing assertion occurrence recorded.\",\"id\":\"a_b403ac6e78c566df153a\",\"at\":{\"file\":\"tests/session.test.ts\",\"line\":8,\"column\":3,\"text\":\"assert.equal(order.total, 50)\"},\"questions\":[],\"inMap\":true,\"observes\":[\"The total equals 50 for two items at 25.\"],\"operations\":[\"node:assert/strict.equal\"],\"observedPassingTests\":[\"node:test:02d93cf9b058424ac8d69cb5\"],\"flows\":[{\"id\":\"calculated-total\",\"freshness\":\"current\",\"valid\":true,\"current\":true,\"expectedBasis\":\"scov2:3d94c7c374981f9285eee2238b8dea5d835085abb3afe7d6f9a2608c107d8f79\",\"selectors\":[{\"file\":\"tests/session.test.ts\",\"name\":\"confirms an order\",\"status\":\"observed\",\"outcomes\":[\"passed\"],\"reason\":\"A passing assertion occurrence matches this test.\"}],\"questions\":[],\"reasons\":[],\"eligible\":true,\"blockers\":[],\"matchingTests\":[\"node:test:02d93cf9b058424ac8d69cb5\"],\"creditedStatementLines\":[[\"src/session.ts\",3],[\"src/session.ts\",4]],\"nodeCredit\":[{\"nodeId\":\"n0\",\"location\":{\"file\":\"src/session.ts\",\"line\":3,\"column\":5},\"status\":\"credited\",\"statementIds\":[\"7505756f748faa8b\"],\"matchingTests\":[\"node:test:02d93cf9b058424ac8d69cb5\"],\"reasons\":[{\"code\":\"same_test_execution\",\"message\":\"Current agent claim, passing assertion, and statement execution in the same selected test.\"}]},{\"nodeId\":\"n1\",\"location\":{\"file\":\"src/session.ts\",\"line\":4,\"column\":5},\"status\":\"credited\",\"statementIds\":[\"2ce71c34fcf57be3\"],\"matchingTests\":[\"node:test:02d93cf9b058424ac8d69cb5\"],\"reasons\":[{\"code\":\"same_test_execution\",\"message\":\"Current agent claim, passing assertion, and statement execution in the same selected test.\"}]}]}]},{\"observation\":\"Passing assertion occurrence recorded.\",\"id\":\"a_0baf1eafe3ac7edeacb8\",\"at\":{\"file\":\"tests/session.test.ts\",\"line\":13,\"column\":3,\"text\":\"assert.equal(order.status, 'denied')\"},\"questions\":[],\"inMap\":true,\"observes\":[\"The returned status equals denied for this test input.\"],\"operations\":[\"node:assert/strict.equal\"],\"observedPassingTests\":[\"node:test:b137f3fcf630649fb0a30bd5\"],\"flows\":[{\"id\":\"returned-status\",\"freshness\":\"current\",\"valid\":true,\"current\":true,\"expectedBasis\":\"scov2:40b1938a50e5b9addf559c85a1e000144f6819044d93ba41ea57ca622e6ae89d\",\"selectors\":[{\"file\":\"tests/session.test.ts\",\"name\":\"rejects a signed-out visitor\",\"status\":\"observed\",\"outcomes\":[\"passed\"],\"reason\":\"A passing assertion occurrence matches this test.\"}],\"questions\":[],\"reasons\":[],\"eligible\":true,\"blockers\":[],\"matchingTests\":[\"node:test:b137f3fcf630649fb0a30bd5\"],\"creditedStatementLines\":[[\"src/session.ts\",2],[\"src/session.ts\",6]],\"nodeCredit\":[{\"nodeId\":\"n0\",\"location\":{\"file\":\"src/session.ts\",\"line\":2,\"column\":3},\"status\":\"credited\",\"statementIds\":[\"49bf658e3792aa23\"],\"matchingTests\":[\"node:test:b137f3fcf630649fb0a30bd5\"],\"reasons\":[{\"code\":\"same_test_execution\",\"message\":\"Current agent claim, passing assertion, and statement execution in the same selected test.\"}]},{\"nodeId\":\"n1\",\"location\":{\"file\":\"src/session.ts\",\"line\":6,\"column\":3},\"status\":\"credited\",\"statementIds\":[\"a44cd2644518f06a\"],\"matchingTests\":[\"node:test:b137f3fcf630649fb0a30bd5\"],\"reasons\":[{\"code\":\"same_test_execution\",\"message\":\"Current agent claim, passing assertion, and statement execution in the same selected test.\"}]}]}]},{\"observation\":\"Passing assertion occurrence recorded.\",\"id\":\"a_f8984523114e64dbb720\",\"at\":{\"file\":\"tests/session.test.ts\",\"line\":18,\"column\":3,\"text\":\"assert.equal(order.status, 'denied')\"},\"questions\":[],\"inMap\":true,\"observes\":[\"The returned status equals denied for this test input.\"],\"operations\":[\"node:assert/strict.equal\"],\"observedPassingTests\":[\"node:test:e01871fa269c1499d079b30c\"],\"flows\":[{\"id\":\"returned-status\",\"freshness\":\"current\",\"valid\":true,\"current\":true,\"expectedBasis\":\"scov2:0baa771015c4b2726040e6ed9a73de3a901c7bde82898beb7c0a0b7d701eb410\",\"selectors\":[{\"file\":\"tests/session.test.ts\",\"name\":\"rejects an expired session\",\"status\":\"observed\",\"outcomes\":[\"passed\"],\"reason\":\"A passing assertion occurrence matches this test.\"}],\"questions\":[],\"reasons\":[],\"eligible\":true,\"blockers\":[],\"matchingTests\":[\"node:test:e01871fa269c1499d079b30c\"],\"creditedStatementLines\":[[\"src/session.ts\",2],[\"src/session.ts\",6]],\"nodeCredit\":[{\"nodeId\":\"n0\",\"location\":{\"file\":\"src/session.ts\",\"line\":2,\"column\":3},\"status\":\"credited\",\"statementIds\":[\"49bf658e3792aa23\"],\"matchingTests\":[\"node:test:e01871fa269c1499d079b30c\"],\"reasons\":[{\"code\":\"same_test_execution\",\"message\":\"Current agent claim, passing assertion, and statement execution in the same selected test.\"}]},{\"nodeId\":\"n1\",\"location\":{\"file\":\"src/session.ts\",\"line\":6,\"column\":3},\"status\":\"credited\",\"statementIds\":[\"a44cd2644518f06a\"],\"matchingTests\":[\"node:test:e01871fa269c1499d079b30c\"],\"reasons\":[{\"code\":\"same_test_execution\",\"message\":\"Current agent claim, passing assertion, and statement execution in the same selected test.\"}]}]}]}],\"pagination\":{\"offset\":0,\"returned\":4,\"total\":4,\"nextOffset\":null},\"summary\":{\"status\":\"available\",\"reason\":\"Agent-assessed statements; mapping completeness is unknown\",\"pendingChanges\":0,\"metric\":\"measured statements\",\"statements\":{\"asserted\":4,\"declared\":4,\"total\":4,\"percentage\":100.0},\"assertions\":4,\"inventoryAssertions\":4,\"missingInventoryAssertions\":0,\"assertionsWithFlows\":4,\"assertionsWithoutFlows\":0,\"observedAssertionsWithoutCurrentExplanation\":0,\"questions\":0,\"currentFlows\":4,\"draftFlows\":0,\"staleFlows\":0,\"invalidFlows\":0,\"eligibleFlows\":4,\"retiredAssertions\":1,\"unobservedAssertions\":0,\"inventoryFailures\":0,\"unanchoredStatements\":0,\"runPassed\":true,\"lines\":{\"asserted\":4,\"declared\":4,\"total\":4,\"percentage\":100.0},\"excludedStatements\":0},\"basis\":\"agent-assessed; passing assertion identity and same-test execution required; not mutation resistance\",\"validationErrors\":[],\"limitations\":[\"Syntax inventory covers recognized assertion forms, not every possible custom assertion. Agents may add exact source sites; missing runtime identity never earns credit.\",\"Optional assertion calls are inventoried but currently have no injected phase. Unrecognized custom assertion wrappers and dynamically selected matchers may be absent. Use check --require-observed to detect inventoried sites without passing evidence.\"],\"revision\":\"ba1c429fbfcf9c800ee51ebd052daae6e8c73f0b2d3925e958ee175f3b6aef10\",\"inheritance\":{\"from\":\"run_00ada174ad1c2d85\",\"skipped\":[]},\"view\":\"assertions\",\"file\":null,\"needsAttention\":false,\"scope\":\"summary covers the whole run with matching current source; --file filters items only\",\"workingTree\":{\"stale\":false,\"reasons\":[]},\"run\":\"run_0f489a0b662daed9\",\"map\":\"/private<project>/.supercov/runs/run_0f489a0b662daed9/assertions.json\"}}\n"
        },
        {
          "args": [
            "runs",
            "run_0f489a0b662daed9"
          ],
          "stdout": "run run_0f489a0b662daed9\ncommand: npm test\n\nCoverage\n  Lines      100.00% (5/5)\n  Branches   100.00% (2/2)\n  MC/DC      100.00% (2/2)\nAssertions 100.00% (4/4) — agent-assessed statements, whole run\n  4 assertions with flows; 0 without; 4 current flows; 0 stale; 0 draft\n\nBy test kind\n  unit            3 test(s)  lines 100.00%  branches 100.00%  MC/DC 100.00%\n  3 test(s) use the runner's default kind; this is not inferred from their behavior.\n  Set SUPERCOV_TEST_KIND=integration (or unit/component/e2e) when running a suite to override it.\n\nMeasurement\n  Instrumentation  Complete for the measured command and coverage model\n  Scope            Only code reached by the wrapped command is observed; this status does not prove every project test suite was run.\n  Command outputs  /private<project>/.supercov/workspaces/workspace/supercov-homepage-recording-A1ZlEv\n\nTests\n  Total       3\n  Passed      3\n\nRemaining\n  Files with uncovered code         0\n  Files with measurement limits     0\n\nRuntime action phases (separate from assertion mappings)\n  Recorded within action phases      0 lines\n  Other recorded execution           5 lines\n  These runtime phase counts do not include the agent-assessed assertion coverage shown above.\n\nCommands\n  npx supercov runs 'run_0f489a0b662daed9' files\n  npx supercov runs 'run_0f489a0b662daed9' gaps\n  npx supercov runs 'run_0f489a0b662daed9' kinds\n  npx supercov runs 'run_0f489a0b662daed9' runners\n  npx supercov runs 'run_0f489a0b662daed9' scope\n  npx supercov runs run_0f489a0b662daed9 --help\n"
        },
        {
          "args": [
            "runs",
            "run_0f489a0b662daed9",
            "gaps",
            "--limit",
            "5"
          ],
          "stdout": "Coverage gaps — only files with unresolved obligations\n\n\n\nshowing 0-0 of 0\n"
        },
        {
          "args": [
            "runs",
            "run_0f489a0b662daed9",
            "file",
            "src/session.ts"
          ],
          "stdout": "src/session.ts\n\nUncovered\n  Lines not executed              0\n  Statements not executed         0\n  Functions not called            0\n  Branch outcomes not taken       0\n  MC/DC conditions not shown      0\n  Measurement limitations         0\n\nTests touching this file: 3\n\nGaps\n  NOT COVERED = line never executed; PARTIAL = line executed but some behavior remains untested\n LINE  STATUS        SOURCE\nshowing 0-0 of 0 gap lines\n"
        },
        {
          "args": [
            "runs",
            "run_0f489a0b662daed9",
            "line",
            "src/session.ts:3"
          ],
          "stdout": "src/session.ts:3\n\nSource\n      3 | const total = price * quantity;\n\nStatus\n  COVERED\n  Evidence: execution only\n\nCoverage details\n  Statement at column 5 — covered (1 covering tests)\n    `const total = price * quantity;`\n\nCovering tests\n  confirms an order [node:test:02d93cf9b058424ac8d69cb5] — unit/node:test\n"
        },
        {
          "args": [
            "runs",
            "run_0f489a0b662daed9",
            "decision",
            "src/session.ts:2"
          ],
          "stdout": "f1866ddbbce296c0  src/session.ts:2:7\nsignedIn && !expired\nC1 covered: signedIn\nC2 covered: !expired\nconfidence executed\nvectors:\n  TF -> F  tests=1 confidence=executed\n  F- -> F  tests=1 confidence=executed\n  TT -> T  tests=1 confidence=executed\nshowing 1-3 of 3 conditions/vectors/tests per decision\n"
        },
        {
          "args": [
            "runs",
            "run_0f489a0b662daed9",
            "assertions",
            "report",
            "--view",
            "statements",
            "--file",
            "src/session.ts"
          ],
          "stdout": "{\n  \"items\": [\n    {\n      \"id\": \"49bf658e3792aa23\",\n      \"file\": \"src/session.ts\",\n      \"line\": 2,\n      \"at\": {\n        \"file\": \"src/session.ts\",\n        \"line\": 2,\n        \"column\": 3,\n        \"text\": \"if (signedIn && !expired) {\\n    const total = price * quantity;\\n    return { status: 'confirmed', total };\\n  }\"\n      },\n      \"covered\": true,\n      \"tests\": [\n        \"node:test:02d93cf9b058424ac8d69cb5\",\n        \"node:test:b137f3fcf630649fb0a30bd5\",\n        \"node:test:e01871fa269c1499d079b30c\"\n      ],\n      \"declared\": true,\n      \"asserted\": true,\n      \"flows\": [\n        \"a_0baf1eafe3ac7edeacb8/returned-status\",\n        \"a_f8984523114e64dbb720/returned-status\",\n        \"a_fc81c070c3b04b7bd8d4/returned-status\"\n      ],\n      \"executionEvidence\": {\n        \"anyExecution\": true,\n        \"passingTests\": [\n          \"node:test:02d93cf9b058424ac8d69cb5\",\n          \"node:test:b137f3fcf630649fb0a30bd5\",\n          \"node:test:e01871fa269c1499d079b30c\"\n        ],\n        \"outsidePassingTests\": []\n      }\n    },\n    {\n      \"id\": \"7505756f748faa8b\",\n      \"file\": \"src/session.ts\",\n      \"line\": 3,\n      \"at\": {\n        \"file\": \"src/session.ts\",\n        \"line\": 3,\n        \"column\": 5,\n        \"text\": \"const total = price * quantity;\"\n      },\n      \"covered\": true,\n      \"tests\": [\n        \"node:test:02d93cf9b058424ac8d69cb5\"\n      ],\n      \"declared\": true,\n      \"asserted\": true,\n      \"flows\": [\n        \"a_b403ac6e78c566df153a/calculated-total\"\n      ],\n      \"executionEvidence\": {\n        \"anyExecution\": true,\n        \"passingTests\": [\n          \"node:test:02d93cf9b058424ac8d69cb5\"\n        ],\n        \"outsidePassingTests\": []\n      }\n    },\n    {\n      \"id\": \"2ce71c34fcf57be3\",\n      \"file\": \"src/session.ts\",\n      \"line\": 4,\n      \"at\": {\n        \"file\": \"src/session.ts\",\n        \"line\": 4,\n        \"column\": 5,\n        \"text\": \"return { status: 'confirmed', total };\"\n      },\n      \"covered\": true,\n      \"tests\": [\n        \"node:test:02d93cf9b058424ac8d69cb5\"\n      ],\n      \"declared\": true,\n      \"asserted\": true,\n      \"flows\": [\n        \"a_b403ac6e78c566df153a/calculated-total\",\n        \"a_fc81c070c3b04b7bd8d4/returned-status\"\n      ],\n      \"executionEvidence\": {\n        \"anyExecution\": true,\n        \"passingTests\": [\n          \"node:test:02d93cf9b058424ac8d69cb5\"\n        ],\n        \"outsidePassingTests\": []\n      }\n    },\n    {\n      \"id\": \"a44cd2644518f06a\",\n      \"file\": \"src/session.ts\",\n      \"line\": 6,\n      \"at\": {\n        \"file\": \"src/session.ts\",\n        \"line\": 6,\n        \"column\": 3,\n        \"text\": \"return { status: 'denied', total: 0 };\"\n      },\n      \"covered\": true,\n      \"tests\": [\n        \"node:test:b137f3fcf630649fb0a30bd5\",\n        \"node:test:e01871fa269c1499d079b30c\"\n      ],\n      \"declared\": true,\n      \"asserted\": true,\n      \"flows\": [\n        \"a_0baf1eafe3ac7edeacb8/returned-status\",\n        \"a_f8984523114e64dbb720/returned-status\"\n      ],\n      \"executionEvidence\": {\n        \"anyExecution\": true,\n        \"passingTests\": [\n          \"node:test:b137f3fcf630649fb0a30bd5\",\n          \"node:test:e01871fa269c1499d079b30c\"\n        ],\n        \"outsidePassingTests\": []\n      }\n    }\n  ],\n  \"pagination\": {\n    \"offset\": 0,\n    \"returned\": 4,\n    \"total\": 4,\n    \"nextOffset\": null\n  },\n  \"summary\": {\n    \"status\": \"available\",\n    \"reason\": \"Agent-assessed statements; mapping completeness is unknown\",\n    \"pendingChanges\": 0,\n    \"metric\": \"measured statements\",\n    \"statements\": {\n      \"asserted\": 4,\n      \"declared\": 4,\n      \"total\": 4,\n      \"percentage\": 100.0\n    },\n    \"assertions\": 4,\n    \"inventoryAssertions\": 4,\n    \"missingInventoryAssertions\": 0,\n    \"assertionsWithFlows\": 4,\n    \"assertionsWithoutFlows\": 0,\n    \"observedAssertionsWithoutCurrentExplanation\": 0,\n    \"questions\": 0,\n    \"currentFlows\": 4,\n    \"draftFlows\": 0,\n    \"staleFlows\": 0,\n    \"invalidFlows\": 0,\n    \"eligibleFlows\": 4,\n    \"retiredAssertions\": 1,\n    \"unobservedAssertions\": 0,\n    \"inventoryFailures\": 0,\n    \"unanchoredStatements\": 0,\n    \"runPassed\": true,\n    \"lines\": {\n      \"asserted\": 4,\n      \"declared\": 4,\n      \"total\": 4,\n      \"percentage\": 100.0\n    },\n    \"excludedStatements\": 0\n  },\n  \"basis\": \"agent-assessed; passing assertion identity and same-test execution required; not mutation resistance\",\n  \"validationErrors\": [],\n  \"limitations\": [\n    \"Syntax inventory covers recognized assertion forms, not every possible custom assertion. Agents may add exact source sites; missing runtime identity never earns credit.\",\n    \"Optional assertion calls are inventoried but currently have no injected phase. Unrecognized custom assertion wrappers and dynamically selected matchers may be absent. Use check --require-observed to detect inventoried sites without passing evidence.\"\n  ],\n  \"revision\": \"ba1c429fbfcf9c800ee51ebd052daae6e8c73f0b2d3925e958ee175f3b6aef10\",\n  \"inheritance\": {\n    \"from\": \"run_00ada174ad1c2d85\",\n    \"skipped\": []\n  },\n  \"view\": \"statements\",\n  \"file\": \"src/session.ts\",\n  \"needsAttention\": false,\n  \"scope\": \"summary covers the whole run with matching current source; --file filters items only\",\n  \"workingTree\": {\n    \"stale\": false,\n    \"reasons\": []\n  },\n  \"run\": \"run_0f489a0b662daed9\",\n  \"map\": \"/private<project>/.supercov/runs/run_0f489a0b662daed9/assertions.json\"\n}\n"
        },
        {
          "args": [
            "diff",
            "run_00ada174ad1c2d85",
            "run_0f489a0b662daed9"
          ],
          "stdout": "run_00ada174ad1c2d85 -> run_0f489a0b662daed9\nlines +0pp, branches +0pp, MC/DC +50pp\ngained: 0 lines, 0 branches, 1 MC/DC conditions\nlost: 0 lines, 0 branches, 0 MC/DC conditions\n+ MC/DC src/session.ts:2 C2 !expired\nshowing 1-1 of 1 per category\n"
        }
      ],
      "structural": {
        "test": "import assert from 'node:assert/strict';\nimport test from 'node:test';\nimport { checkout } from '../src/session.ts';\n\ntest('confirms an order', () => {\n  const order = checkout(true, false, 25, 2);\n  assert.equal(order.status, 'confirmed');\n});\n\n",
        "summary": "run run_776ed4d70982d3eb\ncommand: npm test\n\nCoverage\n  Lines      80.00% (4/5)\n  Branches   50.00% (1/2)\n  MC/DC      0.00% (0/2)\nAssertions not assessed — No recorded flow explanations\n  0 assertions with flows; 1 without; 0 current flows; 0 stale; 0 draft\n\nBy test kind\n  unit            1 test(s)  lines  80.00%  branches  50.00%  MC/DC   0.00%\n  1 test(s) use the runner's default kind; this is not inferred from their behavior.\n  Set SUPERCOV_TEST_KIND=integration (or unit/component/e2e) when running a suite to override it.\n\nMeasurement\n  Instrumentation  Complete for the measured command and coverage model\n  Scope            Only code reached by the wrapped command is observed; this status does not prove every project test suite was run.\n  Command outputs  <project>/.supercov/workspaces/workspace/supercov-homepage-recording-A1ZlEv\n\nTests\n  Total       1\n  Passed      1\n\nRemaining\n  Files with uncovered code         1\n  Files with measurement limits     0\n\nRuntime action phases (separate from assertion mappings)\n  Recorded within action phases      0 lines\n  Other recorded execution           4 lines\n  These runtime phase counts do not include the agent-assessed assertion coverage shown above.\n\nCommands\n  npx supercov runs 'run_776ed4d70982d3eb' files\n  npx supercov runs 'run_776ed4d70982d3eb' gaps\n  npx supercov runs 'run_776ed4d70982d3eb' kinds\n  npx supercov runs 'run_776ed4d70982d3eb' runners\n  npx supercov runs 'run_776ed4d70982d3eb' scope\n  npx supercov runs run_776ed4d70982d3eb --help\n",
        "gaps": "Coverage gaps — only files with unresolved obligations\n\nsrc/session.ts\n  uncovered: lines 1  statements 1  functions 0  branch outcomes 0  MC/DC conditions 2\n\nshowing 1-1 of 1\ninspect file: npx supercov runs 'run_776ed4d70982d3eb' file 'src/session.ts'\n",
        "file": "src/session.ts\n\nUncovered\n  Lines not executed              1\n  Statements not executed         1\n  Functions not called            0\n  Branch outcomes not taken       0\n  MC/DC conditions not shown      2\n  Measurement limitations         0\n\nTests touching this file: 1\n\nGaps\n  NOT COVERED = line never executed; PARTIAL = line executed but some behavior remains untested\n LINE  STATUS        SOURCE\n    2  PARTIAL       signedIn && !expired\n       Unobserved: no witness pair shows `signedIn` independently changing the decision result\n       Unobserved: no witness pair shows `!expired` independently changing the decision result\n       Inspect: npx supercov runs 'run_776ed4d70982d3eb' line 'src/session.ts:2'\n    6  NOT COVERED   return { status: 'denied', total: 0 };\nshowing 1-2 of 2 gap lines\n",
        "line": "src/session.ts:3\n\nSource\n      3 | const total = price * quantity;\n\nStatus\n  COVERED\n  Evidence: execution only\n\nCoverage details\n  Statement at column 5 — covered (1 covering tests)\n    `const total = price * quantity;`\n\nCovering tests\n  confirms an order [node:test:02d93cf9b058424ac8d69cb5] — unit/node:test\n\nTest phases\n  node:assert/strict.equal (passed) at tests/session.test.ts:7:3\n",
        "decision": "f1866ddbbce296c0  src/session.ts:2:7\nsignedIn && !expired\nC1 MISSING: signedIn\nC2 MISSING: !expired\nconfidence executed\nvectors:\n  TT -> T  tests=1 confidence=executed\nshowing 1-2 of 2 conditions/vectors/tests per decision\n",
        "assertions": "{\n  \"items\": [\n    {\n      \"id\": \"49bf658e3792aa23\",\n      \"file\": \"src/session.ts\",\n      \"line\": 2,\n      \"at\": {\n        \"file\": \"src/session.ts\",\n        \"line\": 2,\n        \"column\": 3,\n        \"text\": \"if (signedIn && !expired) {\\n    const total = price * quantity;\\n    return { status: 'confirmed', total };\\n  }\"\n      },\n      \"covered\": true,\n      \"tests\": [\n        \"node:test:02d93cf9b058424ac8d69cb5\"\n      ],\n      \"declared\": false,\n      \"asserted\": false,\n      \"flows\": [],\n      \"executionEvidence\": {\n        \"anyExecution\": true,\n        \"passingTests\": [\n          \"node:test:02d93cf9b058424ac8d69cb5\"\n        ],\n        \"outsidePassingTests\": []\n      }\n    },\n    {\n      \"id\": \"7505756f748faa8b\",\n      \"file\": \"src/session.ts\",\n      \"line\": 3,\n      \"at\": {\n        \"file\": \"src/session.ts\",\n        \"line\": 3,\n        \"column\": 5,\n        \"text\": \"const total = price * quantity;\"\n      },\n      \"covered\": true,\n      \"tests\": [\n        \"node:test:02d93cf9b058424ac8d69cb5\"\n      ],\n      \"declared\": false,\n      \"asserted\": false,\n      \"flows\": [],\n      \"executionEvidence\": {\n        \"anyExecution\": true,\n        \"passingTests\": [\n          \"node:test:02d93cf9b058424ac8d69cb5\"\n        ],\n        \"outsidePassingTests\": []\n      }\n    },\n    {\n      \"id\": \"2ce71c34fcf57be3\",\n      \"file\": \"src/session.ts\",\n      \"line\": 4,\n      \"at\": {\n        \"file\": \"src/session.ts\",\n        \"line\": 4,\n        \"column\": 5,\n        \"text\": \"return { status: 'confirmed', total };\"\n      },\n      \"covered\": true,\n      \"tests\": [\n        \"node:test:02d93cf9b058424ac8d69cb5\"\n      ],\n      \"declared\": false,\n      \"asserted\": false,\n      \"flows\": [],\n      \"executionEvidence\": {\n        \"anyExecution\": true,\n        \"passingTests\": [\n          \"node:test:02d93cf9b058424ac8d69cb5\"\n        ],\n        \"outsidePassingTests\": []\n      }\n    },\n    {\n      \"id\": \"a44cd2644518f06a\",\n      \"file\": \"src/session.ts\",\n      \"line\": 6,\n      \"at\": {\n        \"file\": \"src/session.ts\",\n        \"line\": 6,\n        \"column\": 3,\n        \"text\": \"return { status: 'denied', total: 0 };\"\n      },\n      \"covered\": false,\n      \"tests\": [],\n      \"declared\": false,\n      \"asserted\": false,\n      \"flows\": [],\n      \"executionEvidence\": {\n        \"anyExecution\": false,\n        \"passingTests\": [],\n        \"outsidePassingTests\": []\n      }\n    }\n  ],\n  \"pagination\": {\n    \"offset\": 0,\n    \"returned\": 4,\n    \"total\": 4,\n    \"nextOffset\": null\n  },\n  \"summary\": {\n    \"status\": \"notAssessed\",\n    \"reason\": \"No recorded flow explanations\",\n    \"pendingChanges\": 0,\n    \"metric\": \"measured statements\",\n    \"statements\": {\n      \"asserted\": 0,\n      \"declared\": 0,\n      \"total\": 4,\n      \"percentage\": null\n    },\n    \"assertions\": 1,\n    \"inventoryAssertions\": 1,\n    \"missingInventoryAssertions\": 0,\n    \"assertionsWithFlows\": 0,\n    \"assertionsWithoutFlows\": 1,\n    \"observedAssertionsWithoutCurrentExplanation\": 1,\n    \"questions\": 0,\n    \"currentFlows\": 0,\n    \"draftFlows\": 0,\n    \"staleFlows\": 0,\n    \"invalidFlows\": 0,\n    \"eligibleFlows\": 0,\n    \"retiredAssertions\": 0,\n    \"unobservedAssertions\": 0,\n    \"inventoryFailures\": 0,\n    \"unanchoredStatements\": 0,\n    \"runPassed\": true,\n    \"lines\": {\n      \"asserted\": 0,\n      \"declared\": 0,\n      \"total\": 4,\n      \"percentage\": null\n    },\n    \"excludedStatements\": 0\n  },\n  \"basis\": \"agent-assessed; passing assertion identity and same-test execution required; not mutation resistance\",\n  \"validationErrors\": [],\n  \"limitations\": [\n    \"Syntax inventory covers recognized assertion forms, not every possible custom assertion. Agents may add exact source sites; missing runtime identity never earns credit.\",\n    \"Optional assertion calls are inventoried but currently have no injected phase. Unrecognized custom assertion wrappers and dynamically selected matchers may be absent. Use check --require-observed to detect inventoried sites without passing evidence.\"\n  ],\n  \"revision\": \"1935347015ae89ececd845f2f5296b43c358d60c19c8a451e43708ba0b3e259b\",\n  \"inheritance\": {\n    \"from\": null,\n    \"skipped\": []\n  },\n  \"view\": \"statements\",\n  \"file\": \"src/session.ts\",\n  \"needsAttention\": false,\n  \"scope\": \"summary covers the whole run with matching current source; --file filters items only\",\n  \"workingTree\": {\n    \"stale\": false,\n    \"reasons\": []\n  },\n  \"run\": \"run_776ed4d70982d3eb\",\n  \"map\": \"<project>/.supercov/runs/run_776ed4d70982d3eb/assertions.json\"\n}\n"
      },
      "beforeQueries": {
        "summary": "run run_00ada174ad1c2d85\ncommand: npm test\n\nCoverage\n  Lines      100.00% (5/5)\n  Branches   100.00% (2/2)\n  MC/DC      50.00% (1/2)\nAssertions 75.00% (3/4) — agent-assessed statements, whole run\n  2 assertions with flows; 0 without; 2 current flows; 0 stale; 0 draft\n\nBy test kind\n  unit            2 test(s)  lines 100.00%  branches 100.00%  MC/DC  50.00%\n  2 test(s) use the runner's default kind; this is not inferred from their behavior.\n  Set SUPERCOV_TEST_KIND=integration (or unit/component/e2e) when running a suite to override it.\n\nMeasurement\n  Instrumentation  Complete for the measured command and coverage model\n  Scope            Only code reached by the wrapped command is observed; this status does not prove every project test suite was run.\n  Command outputs  <project>/.supercov/workspaces/workspace/supercov-homepage-recording-A1ZlEv\n\nTests\n  Total       2\n  Passed      2\n\nRemaining\n  Files with uncovered code         1\n  Files with measurement limits     0\n\nRuntime action phases (separate from assertion mappings)\n  Recorded within action phases      0 lines\n  Other recorded execution           5 lines\n  These runtime phase counts do not include the agent-assessed assertion coverage shown above.\n\nCommands\n  npx supercov runs 'run_00ada174ad1c2d85' files\n  npx supercov runs 'run_00ada174ad1c2d85' gaps\n  npx supercov runs 'run_00ada174ad1c2d85' kinds\n  npx supercov runs 'run_00ada174ad1c2d85' runners\n  npx supercov runs 'run_00ada174ad1c2d85' scope\n  npx supercov runs run_00ada174ad1c2d85 --help\n",
        "gaps": "Coverage gaps — only files with unresolved obligations\n\nsrc/session.ts\n  uncovered: lines 0  statements 0  functions 0  branch outcomes 0  MC/DC conditions 1\n\nshowing 1-1 of 1\ninspect file: npx supercov runs 'run_00ada174ad1c2d85' file 'src/session.ts'\n",
        "file": "src/session.ts\n\nUncovered\n  Lines not executed              0\n  Statements not executed         0\n  Functions not called            0\n  Branch outcomes not taken       0\n  MC/DC conditions not shown      1\n  Measurement limitations         0\n\nTests touching this file: 2\n\nGaps\n  NOT COVERED = line never executed; PARTIAL = line executed but some behavior remains untested\n LINE  STATUS        SOURCE\n    2  PARTIAL       signedIn && !expired\n       Unobserved: no witness pair shows `!expired` independently changing the decision result\n       Inspect: npx supercov runs 'run_00ada174ad1c2d85' line 'src/session.ts:2'\nshowing 1-1 of 1 gap lines\n",
        "line": "src/session.ts:3\n\nSource\n      3 | const total = price * quantity;\n\nStatus\n  COVERED\n  Evidence: execution only\n\nCoverage details\n  Statement at column 5 — covered (1 covering tests)\n    `const total = price * quantity;`\n\nCovering tests\n  confirms an order [node:test:02d93cf9b058424ac8d69cb5] — unit/node:test\n\nTest phases\n  node:assert/strict.equal (passed) at tests/session.test.ts:7:3\n",
        "decision": "f1866ddbbce296c0  src/session.ts:2:7\nsignedIn && !expired\nC1 covered: signedIn\nC2 MISSING: !expired\nconfidence executed\nvectors:\n  F- -> F  tests=1 confidence=executed\n  TT -> T  tests=1 confidence=executed\nshowing 1-2 of 2 conditions/vectors/tests per decision\n",
        "assertions": "{\n  \"items\": [\n    {\n      \"id\": \"49bf658e3792aa23\",\n      \"file\": \"src/session.ts\",\n      \"line\": 2,\n      \"at\": {\n        \"file\": \"src/session.ts\",\n        \"line\": 2,\n        \"column\": 3,\n        \"text\": \"if (signedIn && !expired) {\\n    const total = price * quantity;\\n    return { status: 'confirmed', total };\\n  }\"\n      },\n      \"covered\": true,\n      \"tests\": [\n        \"node:test:02d93cf9b058424ac8d69cb5\",\n        \"node:test:60a245508a32ee93ab1da1d5\"\n      ],\n      \"declared\": true,\n      \"asserted\": true,\n      \"flows\": [\n        \"a_19781479661b64939e8c/returned-status\",\n        \"a_fc81c070c3b04b7bd8d4/returned-status\"\n      ],\n      \"executionEvidence\": {\n        \"anyExecution\": true,\n        \"passingTests\": [\n          \"node:test:02d93cf9b058424ac8d69cb5\",\n          \"node:test:60a245508a32ee93ab1da1d5\"\n        ],\n        \"outsidePassingTests\": []\n      }\n    },\n    {\n      \"id\": \"7505756f748faa8b\",\n      \"file\": \"src/session.ts\",\n      \"line\": 3,\n      \"at\": {\n        \"file\": \"src/session.ts\",\n        \"line\": 3,\n        \"column\": 5,\n        \"text\": \"const total = price * quantity;\"\n      },\n      \"covered\": true,\n      \"tests\": [\n        \"node:test:02d93cf9b058424ac8d69cb5\"\n      ],\n      \"declared\": false,\n      \"asserted\": false,\n      \"flows\": [],\n      \"executionEvidence\": {\n        \"anyExecution\": true,\n        \"passingTests\": [\n          \"node:test:02d93cf9b058424ac8d69cb5\"\n        ],\n        \"outsidePassingTests\": []\n      }\n    },\n    {\n      \"id\": \"2ce71c34fcf57be3\",\n      \"file\": \"src/session.ts\",\n      \"line\": 4,\n      \"at\": {\n        \"file\": \"src/session.ts\",\n        \"line\": 4,\n        \"column\": 5,\n        \"text\": \"return { status: 'confirmed', total };\"\n      },\n      \"covered\": true,\n      \"tests\": [\n        \"node:test:02d93cf9b058424ac8d69cb5\"\n      ],\n      \"declared\": true,\n      \"asserted\": true,\n      \"flows\": [\n        \"a_fc81c070c3b04b7bd8d4/returned-status\"\n      ],\n      \"executionEvidence\": {\n        \"anyExecution\": true,\n        \"passingTests\": [\n          \"node:test:02d93cf9b058424ac8d69cb5\"\n        ],\n        \"outsidePassingTests\": []\n      }\n    },\n    {\n      \"id\": \"a44cd2644518f06a\",\n      \"file\": \"src/session.ts\",\n      \"line\": 6,\n      \"at\": {\n        \"file\": \"src/session.ts\",\n        \"line\": 6,\n        \"column\": 3,\n        \"text\": \"return { status: 'denied', total: 0 };\"\n      },\n      \"covered\": true,\n      \"tests\": [\n        \"node:test:60a245508a32ee93ab1da1d5\"\n      ],\n      \"declared\": true,\n      \"asserted\": true,\n      \"flows\": [\n        \"a_19781479661b64939e8c/returned-status\"\n      ],\n      \"executionEvidence\": {\n        \"anyExecution\": true,\n        \"passingTests\": [\n          \"node:test:60a245508a32ee93ab1da1d5\"\n        ],\n        \"outsidePassingTests\": []\n      }\n    }\n  ],\n  \"pagination\": {\n    \"offset\": 0,\n    \"returned\": 4,\n    \"total\": 4,\n    \"nextOffset\": null\n  },\n  \"summary\": {\n    \"status\": \"available\",\n    \"reason\": \"Agent-assessed statements; mapping completeness is unknown\",\n    \"pendingChanges\": 0,\n    \"metric\": \"measured statements\",\n    \"statements\": {\n      \"asserted\": 3,\n      \"declared\": 3,\n      \"total\": 4,\n      \"percentage\": 75.0\n    },\n    \"assertions\": 2,\n    \"inventoryAssertions\": 2,\n    \"missingInventoryAssertions\": 0,\n    \"assertionsWithFlows\": 2,\n    \"assertionsWithoutFlows\": 0,\n    \"observedAssertionsWithoutCurrentExplanation\": 0,\n    \"questions\": 0,\n    \"currentFlows\": 2,\n    \"draftFlows\": 0,\n    \"staleFlows\": 0,\n    \"invalidFlows\": 0,\n    \"eligibleFlows\": 2,\n    \"retiredAssertions\": 0,\n    \"unobservedAssertions\": 0,\n    \"inventoryFailures\": 0,\n    \"unanchoredStatements\": 0,\n    \"runPassed\": true,\n    \"lines\": {\n      \"asserted\": 3,\n      \"declared\": 3,\n      \"total\": 4,\n      \"percentage\": 75.0\n    },\n    \"excludedStatements\": 0\n  },\n  \"basis\": \"agent-assessed; passing assertion identity and same-test execution required; not mutation resistance\",\n  \"validationErrors\": [],\n  \"limitations\": [\n    \"Syntax inventory covers recognized assertion forms, not every possible custom assertion. Agents may add exact source sites; missing runtime identity never earns credit.\",\n    \"Optional assertion calls are inventoried but currently have no injected phase. Unrecognized custom assertion wrappers and dynamically selected matchers may be absent. Use check --require-observed to detect inventoried sites without passing evidence.\"\n  ],\n  \"revision\": \"771121b2a0551298db15eab24311218ca593b6f8d6b9dffc6c5a7eb0815fe43d\",\n  \"inheritance\": {\n    \"from\": \"run_776ed4d70982d3eb\",\n    \"skipped\": []\n  },\n  \"view\": \"statements\",\n  \"file\": \"src/session.ts\",\n  \"needsAttention\": false,\n  \"scope\": \"summary covers the whole run with matching current source; --file filters items only\",\n  \"workingTree\": {\n    \"stale\": false,\n    \"reasons\": []\n  },\n  \"run\": \"run_00ada174ad1c2d85\",\n  \"map\": \"<project>/.supercov/runs/run_00ada174ad1c2d85/assertions.json\"\n}\n"
      },
      "afterQueries": {
        "summary": "run run_0f489a0b662daed9\ncommand: npm test\n\nCoverage\n  Lines      100.00% (5/5)\n  Branches   100.00% (2/2)\n  MC/DC      100.00% (2/2)\nAssertions 100.00% (4/4) — agent-assessed statements, whole run\n  4 assertions with flows; 0 without; 4 current flows; 0 stale; 0 draft\n\nBy test kind\n  unit            3 test(s)  lines 100.00%  branches 100.00%  MC/DC 100.00%\n  3 test(s) use the runner's default kind; this is not inferred from their behavior.\n  Set SUPERCOV_TEST_KIND=integration (or unit/component/e2e) when running a suite to override it.\n\nMeasurement\n  Instrumentation  Complete for the measured command and coverage model\n  Scope            Only code reached by the wrapped command is observed; this status does not prove every project test suite was run.\n  Command outputs  <project>/.supercov/workspaces/workspace/supercov-homepage-recording-A1ZlEv\n\nTests\n  Total       3\n  Passed      3\n\nRemaining\n  Files with uncovered code         0\n  Files with measurement limits     0\n\nRuntime action phases (separate from assertion mappings)\n  Recorded within action phases      0 lines\n  Other recorded execution           5 lines\n  These runtime phase counts do not include the agent-assessed assertion coverage shown above.\n\nCommands\n  npx supercov runs 'run_0f489a0b662daed9' files\n  npx supercov runs 'run_0f489a0b662daed9' gaps\n  npx supercov runs 'run_0f489a0b662daed9' kinds\n  npx supercov runs 'run_0f489a0b662daed9' runners\n  npx supercov runs 'run_0f489a0b662daed9' scope\n  npx supercov runs run_0f489a0b662daed9 --help\n",
        "gaps": "Coverage gaps — only files with unresolved obligations\n\n\n\nshowing 0-0 of 0\n",
        "file": "src/session.ts\n\nUncovered\n  Lines not executed              0\n  Statements not executed         0\n  Functions not called            0\n  Branch outcomes not taken       0\n  MC/DC conditions not shown      0\n  Measurement limitations         0\n\nTests touching this file: 3\n\nGaps\n  NOT COVERED = line never executed; PARTIAL = line executed but some behavior remains untested\n LINE  STATUS        SOURCE\nshowing 0-0 of 0 gap lines\n",
        "line": "src/session.ts:3\n\nSource\n      3 | const total = price * quantity;\n\nStatus\n  COVERED\n  Evidence: execution only\n\nCoverage details\n  Statement at column 5 — covered (1 covering tests)\n    `const total = price * quantity;`\n\nCovering tests\n  confirms an order [node:test:02d93cf9b058424ac8d69cb5] — unit/node:test\n",
        "decision": "f1866ddbbce296c0  src/session.ts:2:7\nsignedIn && !expired\nC1 covered: signedIn\nC2 covered: !expired\nconfidence executed\nvectors:\n  TF -> F  tests=1 confidence=executed\n  F- -> F  tests=1 confidence=executed\n  TT -> T  tests=1 confidence=executed\nshowing 1-3 of 3 conditions/vectors/tests per decision\n",
        "assertions": "{\n  \"items\": [\n    {\n      \"id\": \"49bf658e3792aa23\",\n      \"file\": \"src/session.ts\",\n      \"line\": 2,\n      \"at\": {\n        \"file\": \"src/session.ts\",\n        \"line\": 2,\n        \"column\": 3,\n        \"text\": \"if (signedIn && !expired) {\\n    const total = price * quantity;\\n    return { status: 'confirmed', total };\\n  }\"\n      },\n      \"covered\": true,\n      \"tests\": [\n        \"node:test:02d93cf9b058424ac8d69cb5\",\n        \"node:test:b137f3fcf630649fb0a30bd5\",\n        \"node:test:e01871fa269c1499d079b30c\"\n      ],\n      \"declared\": true,\n      \"asserted\": true,\n      \"flows\": [\n        \"a_0baf1eafe3ac7edeacb8/returned-status\",\n        \"a_f8984523114e64dbb720/returned-status\",\n        \"a_fc81c070c3b04b7bd8d4/returned-status\"\n      ],\n      \"executionEvidence\": {\n        \"anyExecution\": true,\n        \"passingTests\": [\n          \"node:test:02d93cf9b058424ac8d69cb5\",\n          \"node:test:b137f3fcf630649fb0a30bd5\",\n          \"node:test:e01871fa269c1499d079b30c\"\n        ],\n        \"outsidePassingTests\": []\n      }\n    },\n    {\n      \"id\": \"7505756f748faa8b\",\n      \"file\": \"src/session.ts\",\n      \"line\": 3,\n      \"at\": {\n        \"file\": \"src/session.ts\",\n        \"line\": 3,\n        \"column\": 5,\n        \"text\": \"const total = price * quantity;\"\n      },\n      \"covered\": true,\n      \"tests\": [\n        \"node:test:02d93cf9b058424ac8d69cb5\"\n      ],\n      \"declared\": true,\n      \"asserted\": true,\n      \"flows\": [\n        \"a_b403ac6e78c566df153a/calculated-total\"\n      ],\n      \"executionEvidence\": {\n        \"anyExecution\": true,\n        \"passingTests\": [\n          \"node:test:02d93cf9b058424ac8d69cb5\"\n        ],\n        \"outsidePassingTests\": []\n      }\n    },\n    {\n      \"id\": \"2ce71c34fcf57be3\",\n      \"file\": \"src/session.ts\",\n      \"line\": 4,\n      \"at\": {\n        \"file\": \"src/session.ts\",\n        \"line\": 4,\n        \"column\": 5,\n        \"text\": \"return { status: 'confirmed', total };\"\n      },\n      \"covered\": true,\n      \"tests\": [\n        \"node:test:02d93cf9b058424ac8d69cb5\"\n      ],\n      \"declared\": true,\n      \"asserted\": true,\n      \"flows\": [\n        \"a_b403ac6e78c566df153a/calculated-total\",\n        \"a_fc81c070c3b04b7bd8d4/returned-status\"\n      ],\n      \"executionEvidence\": {\n        \"anyExecution\": true,\n        \"passingTests\": [\n          \"node:test:02d93cf9b058424ac8d69cb5\"\n        ],\n        \"outsidePassingTests\": []\n      }\n    },\n    {\n      \"id\": \"a44cd2644518f06a\",\n      \"file\": \"src/session.ts\",\n      \"line\": 6,\n      \"at\": {\n        \"file\": \"src/session.ts\",\n        \"line\": 6,\n        \"column\": 3,\n        \"text\": \"return { status: 'denied', total: 0 };\"\n      },\n      \"covered\": true,\n      \"tests\": [\n        \"node:test:b137f3fcf630649fb0a30bd5\",\n        \"node:test:e01871fa269c1499d079b30c\"\n      ],\n      \"declared\": true,\n      \"asserted\": true,\n      \"flows\": [\n        \"a_0baf1eafe3ac7edeacb8/returned-status\",\n        \"a_f8984523114e64dbb720/returned-status\"\n      ],\n      \"executionEvidence\": {\n        \"anyExecution\": true,\n        \"passingTests\": [\n          \"node:test:b137f3fcf630649fb0a30bd5\",\n          \"node:test:e01871fa269c1499d079b30c\"\n        ],\n        \"outsidePassingTests\": []\n      }\n    }\n  ],\n  \"pagination\": {\n    \"offset\": 0,\n    \"returned\": 4,\n    \"total\": 4,\n    \"nextOffset\": null\n  },\n  \"summary\": {\n    \"status\": \"available\",\n    \"reason\": \"Agent-assessed statements; mapping completeness is unknown\",\n    \"pendingChanges\": 0,\n    \"metric\": \"measured statements\",\n    \"statements\": {\n      \"asserted\": 4,\n      \"declared\": 4,\n      \"total\": 4,\n      \"percentage\": 100.0\n    },\n    \"assertions\": 4,\n    \"inventoryAssertions\": 4,\n    \"missingInventoryAssertions\": 0,\n    \"assertionsWithFlows\": 4,\n    \"assertionsWithoutFlows\": 0,\n    \"observedAssertionsWithoutCurrentExplanation\": 0,\n    \"questions\": 0,\n    \"currentFlows\": 4,\n    \"draftFlows\": 0,\n    \"staleFlows\": 0,\n    \"invalidFlows\": 0,\n    \"eligibleFlows\": 4,\n    \"retiredAssertions\": 1,\n    \"unobservedAssertions\": 0,\n    \"inventoryFailures\": 0,\n    \"unanchoredStatements\": 0,\n    \"runPassed\": true,\n    \"lines\": {\n      \"asserted\": 4,\n      \"declared\": 4,\n      \"total\": 4,\n      \"percentage\": 100.0\n    },\n    \"excludedStatements\": 0\n  },\n  \"basis\": \"agent-assessed; passing assertion identity and same-test execution required; not mutation resistance\",\n  \"validationErrors\": [],\n  \"limitations\": [\n    \"Syntax inventory covers recognized assertion forms, not every possible custom assertion. Agents may add exact source sites; missing runtime identity never earns credit.\",\n    \"Optional assertion calls are inventoried but currently have no injected phase. Unrecognized custom assertion wrappers and dynamically selected matchers may be absent. Use check --require-observed to detect inventoried sites without passing evidence.\"\n  ],\n  \"revision\": \"ba1c429fbfcf9c800ee51ebd052daae6e8c73f0b2d3925e958ee175f3b6aef10\",\n  \"inheritance\": {\n    \"from\": \"run_00ada174ad1c2d85\",\n    \"skipped\": []\n  },\n  \"view\": \"statements\",\n  \"file\": \"src/session.ts\",\n  \"needsAttention\": false,\n  \"scope\": \"summary covers the whole run with matching current source; --file filters items only\",\n  \"workingTree\": {\n    \"stale\": false,\n    \"reasons\": []\n  },\n  \"run\": \"run_0f489a0b662daed9\",\n  \"map\": \"<project>/.supercov/runs/run_0f489a0b662daed9/assertions.json\"\n}\n"
      }
    },
    "python": {
      "version": "0.0.48",
      "language": "python",
      "recordedAt": "2026-09-14T12:02:34.588Z",
      "runtime": "v24.21.0",
      "runner": "python3 -m unittest discover -s tests",
      "sourceFile": "src/session.py",
      "testFile": "tests/test_session.py",
      "decisionAt": "src/session.py:2",
      "filesBefore": {
        "src/session.py": "def checkout(signed_in, expired, price, quantity):\n    if signed_in and not expired:\n        total = price * quantity\n        return {\"status\": \"confirmed\", \"total\": total}\n    return {\"status\": \"denied\", \"total\": 0}\n",
        "tests/test_session.py": "import unittest\nfrom src.session import checkout\n\nclass CheckoutTests(unittest.TestCase):\n    def test_confirms_order(self):\n        order = checkout(True, False, 25, 2)\n        self.assertEqual(order[\"status\"], \"confirmed\")\n\n    def test_rejects_signed_out_visitor(self):\n        order = checkout(False, False, 25, 2)\n        self.assertEqual(order[\"status\"], \"denied\")\n"
      },
      "testAfter": "import unittest\nfrom src.session import checkout\n\nclass CheckoutTests(unittest.TestCase):\n    def test_confirms_order(self):\n        order = checkout(True, False, 25, 2)\n        self.assertEqual(order[\"status\"], \"confirmed\")\n        self.assertEqual(order[\"total\"], 50)\n\n    def test_rejects_signed_out_visitor(self):\n        order = checkout(False, False, 25, 2)\n        self.assertEqual(order[\"status\"], \"denied\")\n\n    def test_rejects_expired_session(self):\n        order = checkout(True, True, 25, 2)\n        self.assertEqual(order[\"status\"], \"denied\")\n",
      "initialReport": "run run_0aeff513ba4b08b5\ncommand: python3 -m unittest discover -s tests\n\nCoverage\n  Lines      100.00% (5/5)\n  Branches   100.00% (6/6)\n  MC/DC      50.00% (1/2)\nAssertions pending — Source changes need impact assessment\n  0 assertions with flows; 2 without; 0 current flows; 0 stale; 0 draft\n\nBy test kind\n  unit            2 test(s)  lines 100.00%  branches 100.00%  MC/DC  50.00%\n\nMeasurement\n  Instrumentation  Complete for the measured command and coverage model\n  Scope            Only code reached by the wrapped command is observed; this status does not prove every project test suite was run.\n\nTests\n  Total       2\n  Passed      2\n\nRemaining\n  Files with uncovered code         1\n  Files with measurement limits     0\n\nRuntime action phases (separate from assertion mappings)\n  Recorded within action phases      0 lines\n  Other recorded execution           5 lines\n  These runtime phase counts do not include the agent-assessed assertion coverage shown above.\n\nCommands\n  npx supercov runs 'run_0aeff513ba4b08b5' files\n  npx supercov runs 'run_0aeff513ba4b08b5' gaps\n  npx supercov runs 'run_0aeff513ba4b08b5' kinds\n  npx supercov runs 'run_0aeff513ba4b08b5' runners\n  npx supercov runs 'run_0aeff513ba4b08b5' scope\n  npx supercov runs run_0aeff513ba4b08b5 --help\n",
      "initial": {
        "status": "pending",
        "reason": "Source changes need impact assessment",
        "pendingChanges": 1,
        "metric": "measured statements",
        "statements": {
          "asserted": 0,
          "declared": 0,
          "total": 5,
          "percentage": null
        },
        "assertions": 2,
        "inventoryAssertions": 2,
        "missingInventoryAssertions": 0,
        "assertionsWithFlows": 0,
        "assertionsWithoutFlows": 2,
        "observedAssertionsWithoutCurrentExplanation": 2,
        "questions": 0,
        "currentFlows": 0,
        "draftFlows": 0,
        "staleFlows": 0,
        "invalidFlows": 0,
        "eligibleFlows": 0,
        "retiredAssertions": 0,
        "unobservedAssertions": 0,
        "inventoryFailures": 0,
        "unanchoredStatements": 0,
        "runPassed": true,
        "lines": {
          "asserted": 0,
          "declared": 0,
          "total": 5,
          "percentage": null
        },
        "excludedStatements": 0
      },
      "before": {
        "run": "run_0aeff513ba4b08b5",
        "map": {
          "schemaVersion": 2,
          "assertions": [
            {
              "id": "a_c91aecfcdecfb04b7f97",
              "at": {
                "file": "tests/test_session.py",
                "line": 7,
                "column": 9,
                "text": "self.assertEqual(order[\"status\"], \"confirmed\")"
              },
              "observes": [
                "The returned status equals confirmed for this test input."
              ],
              "flows": [
                {
                  "id": "returned-status",
                  "basis": "scov2:a462322f7fb336ae23535ad0ebc51717124b0078c7551fae0377b155ee030265",
                  "appliesTo": [
                    {
                      "file": "tests/test_session.py",
                      "name": "test_session.CheckoutTests.test_confirms_order"
                    }
                  ],
                  "explanation": "The guard chooses the return path. This assertion compares only its status field; it does not check the total field or independently exercise every guard condition.",
                  "nodes": [
                    {
                      "id": "n0",
                      "at": {
                        "file": "src/session.py",
                        "line": 2,
                        "column": 5,
                        "text": "if signed_in and not expired:\n        total = price * quantity\n        return {\"status\": \"confirmed\", \"total\": total}"
                      }
                    },
                    {
                      "id": "n1",
                      "at": {
                        "file": "src/session.py",
                        "line": 4,
                        "column": 9,
                        "text": "return {\"status\": \"confirmed\", \"total\": total}"
                      }
                    }
                  ],
                  "edges": [
                    {
                      "from": "n0",
                      "to": "n1",
                      "kind": "control"
                    },
                    {
                      "from": "n1",
                      "to": "$assertion",
                      "kind": "data"
                    }
                  ],
                  "countsAsAsserted": [
                    "n0",
                    "n1"
                  ],
                  "watch": []
                }
              ]
            },
            {
              "id": "a_cab2328449a4efc43b09",
              "at": {
                "file": "tests/test_session.py",
                "line": 11,
                "column": 9,
                "text": "self.assertEqual(order[\"status\"], \"denied\")"
              },
              "observes": [
                "The returned status equals denied for this test input."
              ],
              "flows": [
                {
                  "id": "returned-status",
                  "basis": "scov2:08bc58a9181651eb40e2df18cba0d7557bb53494ee66ec3469c83930f2ca16bc",
                  "appliesTo": [
                    {
                      "file": "tests/test_session.py",
                      "name": "test_session.CheckoutTests.test_rejects_signed_out_visitor"
                    }
                  ],
                  "explanation": "The guard chooses the return path. This assertion compares only its status field; it does not check the total field or independently exercise every guard condition.",
                  "nodes": [
                    {
                      "id": "n0",
                      "at": {
                        "file": "src/session.py",
                        "line": 2,
                        "column": 5,
                        "text": "if signed_in and not expired:\n        total = price * quantity\n        return {\"status\": \"confirmed\", \"total\": total}"
                      }
                    },
                    {
                      "id": "n1",
                      "at": {
                        "file": "src/session.py",
                        "line": 5,
                        "column": 5,
                        "text": "return {\"status\": \"denied\", \"total\": 0}"
                      }
                    }
                  ],
                  "edges": [
                    {
                      "from": "n0",
                      "to": "n1",
                      "kind": "control"
                    },
                    {
                      "from": "n1",
                      "to": "$assertion",
                      "kind": "data"
                    }
                  ],
                  "countsAsAsserted": [
                    "n0",
                    "n1"
                  ],
                  "watch": []
                }
              ]
            }
          ],
          "changeAssessments": [
            {
              "id": "c_43d73b36c55403604e2a01f7",
              "basis": "scov2:f849e868b42ce12023fbcab88736a2e2e03989ec2b35f581cf22c78fc1cd4522",
              "affectedFlows": [],
              "explanation": "Only the fixture test file changed. The current test inputs and assertions have been reviewed against this run’s mappings. The application source is unchanged."
            }
          ]
        },
        "check": "{\n  \"summary\": {\n    \"status\": \"available\",\n    \"reason\": \"Agent-assessed statements; mapping completeness is unknown\",\n    \"pendingChanges\": 0,\n    \"metric\": \"measured statements\",\n    \"statements\": {\n      \"asserted\": 3,\n      \"declared\": 3,\n      \"total\": 5,\n      \"percentage\": 60.0\n    },\n    \"assertions\": 2,\n    \"inventoryAssertions\": 2,\n    \"missingInventoryAssertions\": 0,\n    \"assertionsWithFlows\": 2,\n    \"assertionsWithoutFlows\": 0,\n    \"observedAssertionsWithoutCurrentExplanation\": 0,\n    \"questions\": 0,\n    \"currentFlows\": 2,\n    \"draftFlows\": 0,\n    \"staleFlows\": 0,\n    \"invalidFlows\": 0,\n    \"eligibleFlows\": 2,\n    \"retiredAssertions\": 0,\n    \"unobservedAssertions\": 0,\n    \"inventoryFailures\": 0,\n    \"unanchoredStatements\": 0,\n    \"runPassed\": true,\n    \"lines\": {\n      \"asserted\": 3,\n      \"declared\": 3,\n      \"total\": 5,\n      \"percentage\": 60.0\n    },\n    \"excludedStatements\": 0\n  },\n  \"basis\": \"agent-assessed; passing assertion identity and same-test execution required; not mutation resistance\",\n  \"validationErrors\": [],\n  \"limitations\": [\n    \"Syntax inventory covers recognized assertion forms, not every possible custom assertion. Agents may add exact source sites; missing runtime identity never earns credit.\"\n  ],\n  \"revision\": \"39ca9d7d1f39c05065d432c44ec16edcb22abc5b1bb52c452a2f7c9967120344\",\n  \"inheritance\": {\n    \"from\": \"run_22542c0dcded62fa\",\n    \"skipped\": []\n  },\n  \"view\": \"summary\",\n  \"file\": null,\n  \"needsAttention\": false,\n  \"scope\": \"summary covers the whole run with matching current source; --file filters items only\",\n  \"workingTree\": {\n    \"stale\": false,\n    \"reasons\": []\n  },\n  \"valid\": true,\n  \"failures\": [],\n  \"requirements\": {\n    \"mappings\": true,\n    \"observed\": false,\n    \"minimum\": null\n  },\n  \"run\": \"run_0aeff513ba4b08b5\",\n  \"map\": \"<project>/.supercov/runs/run_0aeff513ba4b08b5/assertions.json\"\n}\n",
        "report": "run run_0aeff513ba4b08b5\ncommand: python3 -m unittest discover -s tests\n\nCoverage\n  Lines      100.00% (5/5)\n  Branches   100.00% (6/6)\n  MC/DC      50.00% (1/2)\nAssertions 60.00% (3/5) — agent-assessed statements, whole run\n  2 assertions with flows; 0 without; 2 current flows; 0 stale; 0 draft\n\nBy test kind\n  unit            2 test(s)  lines 100.00%  branches 100.00%  MC/DC  50.00%\n\nMeasurement\n  Instrumentation  Complete for the measured command and coverage model\n  Scope            Only code reached by the wrapped command is observed; this status does not prove every project test suite was run.\n\nTests\n  Total       2\n  Passed      2\n\nRemaining\n  Files with uncovered code         1\n  Files with measurement limits     0\n\nRuntime action phases (separate from assertion mappings)\n  Recorded within action phases      0 lines\n  Other recorded execution           5 lines\n  These runtime phase counts do not include the agent-assessed assertion coverage shown above.\n\nCommands\n  npx supercov runs 'run_0aeff513ba4b08b5' files\n  npx supercov runs 'run_0aeff513ba4b08b5' gaps\n  npx supercov runs 'run_0aeff513ba4b08b5' kinds\n  npx supercov runs 'run_0aeff513ba4b08b5' runners\n  npx supercov runs 'run_0aeff513ba4b08b5' scope\n  npx supercov runs run_0aeff513ba4b08b5 --help\n",
        "summary": {
          "status": "available",
          "reason": "Agent-assessed statements; mapping completeness is unknown",
          "pendingChanges": 0,
          "metric": "measured statements",
          "statements": {
            "asserted": 3,
            "declared": 3,
            "total": 5,
            "percentage": 60
          },
          "assertions": 2,
          "inventoryAssertions": 2,
          "missingInventoryAssertions": 0,
          "assertionsWithFlows": 2,
          "assertionsWithoutFlows": 0,
          "observedAssertionsWithoutCurrentExplanation": 0,
          "questions": 0,
          "currentFlows": 2,
          "draftFlows": 0,
          "staleFlows": 0,
          "invalidFlows": 0,
          "eligibleFlows": 2,
          "retiredAssertions": 0,
          "unobservedAssertions": 0,
          "inventoryFailures": 0,
          "unanchoredStatements": 0,
          "runPassed": true,
          "lines": {
            "asserted": 3,
            "declared": 3,
            "total": 5,
            "percentage": 60
          },
          "excludedStatements": 0
        }
      },
      "decision": "py:decision:a94ffdcd7ac46d369f59ccff  src/session.py:2:7\nsigned_in and not expired\nC1 covered: signed_in\nC2 MISSING: not expired\nconfidence executed\nvectors:\n  TT -> T  tests=1 confidence=executed\n  F- -> F  tests=1 confidence=executed\nshowing 1-2 of 2 conditions/vectors/tests per decision\n",
      "after": {
        "run": "run_0ca9d907e6f80621",
        "map": {
          "schemaVersion": 2,
          "assertions": [
            {
              "id": "a_c91aecfcdecfb04b7f97",
              "at": {
                "file": "tests/test_session.py",
                "line": 7,
                "column": 9,
                "text": "self.assertEqual(order[\"status\"], \"confirmed\")"
              },
              "observes": [
                "The returned status equals confirmed for this test input."
              ],
              "flows": [
                {
                  "id": "returned-status",
                  "basis": "scov2:add3433069dc4873f002f787a432a29f1d6d4562e6991cf74f206027d6b74686",
                  "appliesTo": [
                    {
                      "file": "tests/test_session.py",
                      "name": "test_session.CheckoutTests.test_confirms_order"
                    }
                  ],
                  "explanation": "The guard chooses the return path. This assertion compares only its status field; it does not check the total field or independently exercise every guard condition.",
                  "nodes": [
                    {
                      "id": "n0",
                      "at": {
                        "file": "src/session.py",
                        "line": 2,
                        "column": 5,
                        "text": "if signed_in and not expired:\n        total = price * quantity\n        return {\"status\": \"confirmed\", \"total\": total}"
                      }
                    },
                    {
                      "id": "n1",
                      "at": {
                        "file": "src/session.py",
                        "line": 4,
                        "column": 9,
                        "text": "return {\"status\": \"confirmed\", \"total\": total}"
                      }
                    }
                  ],
                  "edges": [
                    {
                      "from": "n0",
                      "to": "n1",
                      "kind": "control"
                    },
                    {
                      "from": "n1",
                      "to": "$assertion",
                      "kind": "data"
                    }
                  ],
                  "countsAsAsserted": [
                    "n0",
                    "n1"
                  ],
                  "watch": []
                }
              ]
            },
            {
              "id": "a_a0534dcee7a2605904e2",
              "at": {
                "file": "tests/test_session.py",
                "line": 8,
                "column": 9,
                "text": "self.assertEqual(order[\"total\"], 50)"
              },
              "observes": [
                "The total equals 50 for two items at 25."
              ],
              "flows": [
                {
                  "id": "calculated-total",
                  "basis": "scov2:a98d5596c3a422737bf6ac97cdde0bcc25c73162ca2d346addeff0d301d83772",
                  "appliesTo": [
                    {
                      "file": "tests/test_session.py",
                      "name": "test_session.CheckoutTests.test_confirms_order"
                    }
                  ],
                  "explanation": "The multiplication supplies total in the returned order; this assertion compares that field to 50. It checks the calculation for this input, not every possible price or quantity.",
                  "nodes": [
                    {
                      "id": "n0",
                      "at": {
                        "file": "src/session.py",
                        "line": 3,
                        "column": 9,
                        "text": "total = price * quantity"
                      }
                    },
                    {
                      "id": "n1",
                      "at": {
                        "file": "src/session.py",
                        "line": 4,
                        "column": 9,
                        "text": "return {\"status\": \"confirmed\", \"total\": total}"
                      }
                    }
                  ],
                  "edges": [
                    {
                      "from": "n0",
                      "to": "n1",
                      "kind": "data"
                    },
                    {
                      "from": "n1",
                      "to": "$assertion",
                      "kind": "data"
                    }
                  ],
                  "countsAsAsserted": [
                    "n0",
                    "n1"
                  ],
                  "watch": []
                }
              ]
            },
            {
              "id": "a_85a3b2f2295356273f58",
              "at": {
                "file": "tests/test_session.py",
                "line": 12,
                "column": 9,
                "text": "self.assertEqual(order[\"status\"], \"denied\")"
              },
              "observes": [
                "The returned status equals denied for this test input."
              ],
              "flows": [
                {
                  "id": "returned-status",
                  "basis": "scov2:e6df2468279aa66906179fc39371570a7e5b033264f0fea70664d61b99717e79",
                  "appliesTo": [
                    {
                      "file": "tests/test_session.py",
                      "name": "test_session.CheckoutTests.test_rejects_signed_out_visitor"
                    }
                  ],
                  "explanation": "The guard chooses the return path. This assertion compares only its status field; it does not check the total field or independently exercise every guard condition.",
                  "nodes": [
                    {
                      "id": "n0",
                      "at": {
                        "file": "src/session.py",
                        "line": 2,
                        "column": 5,
                        "text": "if signed_in and not expired:\n        total = price * quantity\n        return {\"status\": \"confirmed\", \"total\": total}"
                      }
                    },
                    {
                      "id": "n1",
                      "at": {
                        "file": "src/session.py",
                        "line": 5,
                        "column": 5,
                        "text": "return {\"status\": \"denied\", \"total\": 0}"
                      }
                    }
                  ],
                  "edges": [
                    {
                      "from": "n0",
                      "to": "n1",
                      "kind": "control"
                    },
                    {
                      "from": "n1",
                      "to": "$assertion",
                      "kind": "data"
                    }
                  ],
                  "countsAsAsserted": [
                    "n0",
                    "n1"
                  ],
                  "watch": []
                }
              ]
            },
            {
              "id": "a_00a51e61087d426ee950",
              "at": {
                "file": "tests/test_session.py",
                "line": 16,
                "column": 9,
                "text": "self.assertEqual(order[\"status\"], \"denied\")"
              },
              "observes": [
                "The returned status equals denied for this test input."
              ],
              "flows": [
                {
                  "id": "returned-status",
                  "basis": "scov2:2449ea70cedcda3d3ada149400a90e6acae321d0454b7df6468a3413a59fe578",
                  "appliesTo": [
                    {
                      "file": "tests/test_session.py",
                      "name": "test_session.CheckoutTests.test_rejects_expired_session"
                    }
                  ],
                  "explanation": "The guard chooses the return path. This assertion compares only its status field; it does not check the total field or independently exercise every guard condition.",
                  "nodes": [
                    {
                      "id": "n0",
                      "at": {
                        "file": "src/session.py",
                        "line": 2,
                        "column": 5,
                        "text": "if signed_in and not expired:\n        total = price * quantity\n        return {\"status\": \"confirmed\", \"total\": total}"
                      }
                    },
                    {
                      "id": "n1",
                      "at": {
                        "file": "src/session.py",
                        "line": 5,
                        "column": 5,
                        "text": "return {\"status\": \"denied\", \"total\": 0}"
                      }
                    }
                  ],
                  "edges": [
                    {
                      "from": "n0",
                      "to": "n1",
                      "kind": "control"
                    },
                    {
                      "from": "n1",
                      "to": "$assertion",
                      "kind": "data"
                    }
                  ],
                  "countsAsAsserted": [
                    "n0",
                    "n1"
                  ],
                  "watch": []
                }
              ]
            }
          ],
          "retiredAssertions": [
            {
              "assertion": {
                "id": "a_cab2328449a4efc43b09",
                "at": {
                  "file": "tests/test_session.py",
                  "line": 11,
                  "column": 9,
                  "text": "self.assertEqual(order[\"status\"], \"denied\")"
                },
                "observes": [
                  "The returned status equals denied for this test input."
                ],
                "flows": [
                  {
                    "id": "returned-status",
                    "basis": "scov2:08bc58a9181651eb40e2df18cba0d7557bb53494ee66ec3469c83930f2ca16bc",
                    "explanation": "The guard chooses the return path. This assertion compares only its status field; it does not check the total field or independently exercise every guard condition.",
                    "appliesTo": [
                      {
                        "file": "tests/test_session.py",
                        "name": "test_session.CheckoutTests.test_rejects_signed_out_visitor"
                      }
                    ],
                    "nodes": [
                      {
                        "id": "n0",
                        "at": {
                          "file": "src/session.py",
                          "line": 2,
                          "column": 5,
                          "text": "if signed_in and not expired:\n        total = price * quantity\n        return {\"status\": \"confirmed\", \"total\": total}"
                        }
                      },
                      {
                        "id": "n1",
                        "at": {
                          "file": "src/session.py",
                          "line": 5,
                          "column": 5,
                          "text": "return {\"status\": \"denied\", \"total\": 0}"
                        }
                      }
                    ],
                    "edges": [
                      {
                        "from": "n0",
                        "to": "n1",
                        "kind": "control"
                      },
                      {
                        "from": "n1",
                        "to": "$assertion",
                        "kind": "data"
                      }
                    ],
                    "countsAsAsserted": [
                      "n0",
                      "n1"
                    ],
                    "watch": []
                  }
                ]
              },
              "reason": "assertion removed, changed or ambiguous; reuse its explanation after review"
            }
          ],
          "changeAssessments": [
            {
              "id": "c_4a086f88ecfe6d449dedf9fc",
              "basis": "scov2:ac5c4d756ed4616285908c00c2d4ddfce1576d3e4eb5c903cefd7706fa7f4b43",
              "affectedFlows": [
                "a_c91aecfcdecfb04b7f97/returned-status"
              ],
              "explanation": "Only the fixture test file changed. The current test inputs and assertions have been reviewed against this run’s mappings. The application source is unchanged."
            }
          ]
        },
        "check": "{\n  \"summary\": {\n    \"status\": \"available\",\n    \"reason\": \"Agent-assessed statements; mapping completeness is unknown\",\n    \"pendingChanges\": 0,\n    \"metric\": \"measured statements\",\n    \"statements\": {\n      \"asserted\": 4,\n      \"declared\": 4,\n      \"total\": 5,\n      \"percentage\": 80.0\n    },\n    \"assertions\": 4,\n    \"inventoryAssertions\": 4,\n    \"missingInventoryAssertions\": 0,\n    \"assertionsWithFlows\": 4,\n    \"assertionsWithoutFlows\": 0,\n    \"observedAssertionsWithoutCurrentExplanation\": 0,\n    \"questions\": 0,\n    \"currentFlows\": 4,\n    \"draftFlows\": 0,\n    \"staleFlows\": 0,\n    \"invalidFlows\": 0,\n    \"eligibleFlows\": 4,\n    \"retiredAssertions\": 1,\n    \"unobservedAssertions\": 0,\n    \"inventoryFailures\": 0,\n    \"unanchoredStatements\": 0,\n    \"runPassed\": true,\n    \"lines\": {\n      \"asserted\": 4,\n      \"declared\": 4,\n      \"total\": 5,\n      \"percentage\": 80.0\n    },\n    \"excludedStatements\": 0\n  },\n  \"basis\": \"agent-assessed; passing assertion identity and same-test execution required; not mutation resistance\",\n  \"validationErrors\": [],\n  \"limitations\": [\n    \"Syntax inventory covers recognized assertion forms, not every possible custom assertion. Agents may add exact source sites; missing runtime identity never earns credit.\"\n  ],\n  \"revision\": \"98e1e041999b98c17775d2936e4467ba25b2f6493426bb731867b49b92e20933\",\n  \"inheritance\": {\n    \"from\": \"run_0aeff513ba4b08b5\",\n    \"skipped\": []\n  },\n  \"view\": \"summary\",\n  \"file\": null,\n  \"needsAttention\": false,\n  \"scope\": \"summary covers the whole run with matching current source; --file filters items only\",\n  \"workingTree\": {\n    \"stale\": false,\n    \"reasons\": []\n  },\n  \"valid\": true,\n  \"failures\": [],\n  \"requirements\": {\n    \"mappings\": true,\n    \"observed\": false,\n    \"minimum\": null\n  },\n  \"run\": \"run_0ca9d907e6f80621\",\n  \"map\": \"<project>/.supercov/runs/run_0ca9d907e6f80621/assertions.json\"\n}\n",
        "report": "run run_0ca9d907e6f80621\ncommand: python3 -m unittest discover -s tests\n\nCoverage\n  Lines      100.00% (5/5)\n  Branches   100.00% (6/6)\n  MC/DC      100.00% (2/2)\nAssertions 80.00% (4/5) — agent-assessed statements, whole run\n  4 assertions with flows; 0 without; 4 current flows; 0 stale; 0 draft\n\nBy test kind\n  unit            3 test(s)  lines 100.00%  branches 100.00%  MC/DC 100.00%\n\nMeasurement\n  Instrumentation  Complete for the measured command and coverage model\n  Scope            Only code reached by the wrapped command is observed; this status does not prove every project test suite was run.\n\nTests\n  Total       3\n  Passed      3\n\nRemaining\n  Files with uncovered code         0\n  Files with measurement limits     0\n\nRuntime action phases (separate from assertion mappings)\n  Recorded within action phases      0 lines\n  Other recorded execution           5 lines\n  These runtime phase counts do not include the agent-assessed assertion coverage shown above.\n\nCommands\n  npx supercov runs 'run_0ca9d907e6f80621' files\n  npx supercov runs 'run_0ca9d907e6f80621' gaps\n  npx supercov runs 'run_0ca9d907e6f80621' kinds\n  npx supercov runs 'run_0ca9d907e6f80621' runners\n  npx supercov runs 'run_0ca9d907e6f80621' scope\n  npx supercov runs run_0ca9d907e6f80621 --help\n",
        "summary": {
          "status": "available",
          "reason": "Agent-assessed statements; mapping completeness is unknown",
          "pendingChanges": 0,
          "metric": "measured statements",
          "statements": {
            "asserted": 4,
            "declared": 4,
            "total": 5,
            "percentage": 80
          },
          "assertions": 4,
          "inventoryAssertions": 4,
          "missingInventoryAssertions": 0,
          "assertionsWithFlows": 4,
          "assertionsWithoutFlows": 0,
          "observedAssertionsWithoutCurrentExplanation": 0,
          "questions": 0,
          "currentFlows": 4,
          "draftFlows": 0,
          "staleFlows": 0,
          "invalidFlows": 0,
          "eligibleFlows": 4,
          "retiredAssertions": 1,
          "unobservedAssertions": 0,
          "inventoryFailures": 0,
          "unanchoredStatements": 0,
          "runPassed": true,
          "lines": {
            "asserted": 4,
            "declared": 4,
            "total": 5,
            "percentage": 80
          },
          "excludedStatements": 0
        }
      },
      "diff": "run_0aeff513ba4b08b5 -> run_0ca9d907e6f80621\nlines +0pp, branches +0pp, MC/DC +50pp\ngained: 0 lines, 0 branches, 1 MC/DC conditions\nlost: 0 lines, 0 branches, 0 MC/DC conditions\n+ MC/DC src/session.py:2 C2 not expired\nshowing 1-1 of 1 per category\n",
      "records": [
        {
          "args": [
            "--",
            "python3",
            "-m",
            "unittest",
            "discover",
            "-s",
            "tests"
          ],
          "stdout": "[coverage] evidence: /private<project>/.supercov/runs/run_22542c0dcded62fa/evidence.raw.gz\n"
        },
        {
          "args": [
            "runs",
            "latest"
          ],
          "stdout": "run run_22542c0dcded62fa\ncommand: python3 -m unittest discover -s tests\n\nCoverage\n  Lines      80.00% (4/5)\n  Branches   50.00% (3/6)\n  MC/DC      0.00% (0/2)\nAssertions not assessed — No recorded flow explanations\n  0 assertions with flows; 1 without; 0 current flows; 0 stale; 0 draft\n\nBy test kind\n  unit            1 test(s)  lines  80.00%  branches  50.00%  MC/DC   0.00%\n\nMeasurement\n  Instrumentation  Complete for the measured command and coverage model\n  Scope            Only code reached by the wrapped command is observed; this status does not prove every project test suite was run.\n\nTests\n  Total       1\n  Passed      1\n\nRemaining\n  Files with uncovered code         1\n  Files with measurement limits     0\n\nRuntime action phases (separate from assertion mappings)\n  Recorded within action phases      0 lines\n  Other recorded execution           4 lines\n  These runtime phase counts do not include the agent-assessed assertion coverage shown above.\n\nCommands\n  npx supercov runs 'run_22542c0dcded62fa' files\n  npx supercov runs 'run_22542c0dcded62fa' gaps\n  npx supercov runs 'run_22542c0dcded62fa' kinds\n  npx supercov runs 'run_22542c0dcded62fa' runners\n  npx supercov runs 'run_22542c0dcded62fa' scope\n  npx supercov runs run_22542c0dcded62fa --help\n"
        },
        {
          "args": [
            "runs",
            "latest",
            "gaps",
            "--limit",
            "5"
          ],
          "stdout": "Coverage gaps — only files with unresolved obligations\n\nsrc/session.py\n  uncovered: lines 1  statements 1  functions 0  branch outcomes 2  MC/DC conditions 2\n\nshowing 1-1 of 1\ninspect file: npx supercov runs 'run_22542c0dcded62fa' file 'src/session.py'\n"
        },
        {
          "args": [
            "runs",
            "latest",
            "file",
            "src/session.py"
          ],
          "stdout": "src/session.py\n\nUncovered\n  Lines not executed              1\n  Statements not executed         1\n  Functions not called            0\n  Branch outcomes not taken       2\n  MC/DC conditions not shown      2\n  Measurement limitations         0\n\nTests touching this file: 2\n\nGaps\n  NOT COVERED = line never executed; PARTIAL = line executed but some behavior remains untested\n LINE  STATUS        SOURCE\n    2  PARTIAL       signed_in and not expired\n       Unobserved: branch outcome not observed: false\n       Unobserved: branch outcome not observed: short-circuited\n       Unobserved: no witness pair shows `signed_in` independently changing the decision result\n       Unobserved: no witness pair shows `not expired` independently changing the decision result\n       Inspect: npx supercov runs 'run_22542c0dcded62fa' line 'src/session.py:2'\n    5  NOT COVERED   return {\"status\": \"denied\", \"total\": 0}\nshowing 1-2 of 2 gap lines\n"
        },
        {
          "args": [
            "runs",
            "latest",
            "line",
            "src/session.py:3"
          ],
          "stdout": "src/session.py:3\n\nSource\n      3 | total = price * quantity\n\nStatus\n  COVERED\n  Evidence: execution only\n\nCoverage details\n  Statement at column 8 — covered (1 covering tests)\n    `total = price * quantity`\n\nCovering tests\n  test_session.CheckoutTests.test_confirms_order [test_session.CheckoutTests.test_confirms_order] — unit/unittest\n\nTest phases\n  unittest assertion (passed) at test_session.CheckoutTests.test_confirms_order\n  unittest call (passed) at test_session.CheckoutTests.test_confirms_order\n"
        },
        {
          "args": [
            "runs",
            "latest",
            "decision",
            "src/session.py:2"
          ],
          "stdout": "py:decision:a94ffdcd7ac46d369f59ccff  src/session.py:2:7\nsigned_in and not expired\nC1 MISSING: signed_in\nC2 MISSING: not expired\nconfidence executed\nvectors:\n  TT -> T  tests=1 confidence=executed\nshowing 1-2 of 2 conditions/vectors/tests per decision\n"
        },
        {
          "args": [
            "runs",
            "latest",
            "assertions",
            "report",
            "--view",
            "statements",
            "--file",
            "src/session.py"
          ],
          "stdout": "{\n  \"items\": [\n    {\n      \"id\": \"py:statement:6da07cf8f13350dc9356814b\",\n      \"file\": \"src/session.py\",\n      \"line\": 1,\n      \"at\": {\n        \"file\": \"src/session.py\",\n        \"line\": 1,\n        \"column\": 1,\n        \"text\": \"def checkout(signed_in, expired, price, quantity):\\n    if signed_in and not expired:\\n        total = price * quantity\\n        return {\\\"status\\\": \\\"confirmed\\\", \\\"total\\\": total}\\n    return {\\\"status\\\": \\\"denied\\\", \\\"total\\\": 0}\"\n      },\n      \"covered\": false,\n      \"tests\": [],\n      \"declared\": false,\n      \"asserted\": false,\n      \"flows\": [],\n      \"executionEvidence\": {\n        \"anyExecution\": true,\n        \"passingTests\": [],\n        \"outsidePassingTests\": [\n          \"__supercov_background__:main\"\n        ]\n      }\n    },\n    {\n      \"id\": \"py:statement:1b9390afd17ef5deb8bd422b\",\n      \"file\": \"src/session.py\",\n      \"line\": 2,\n      \"at\": {\n        \"file\": \"src/session.py\",\n        \"line\": 2,\n        \"column\": 5,\n        \"text\": \"if signed_in and not expired:\\n        total = price * quantity\\n        return {\\\"status\\\": \\\"confirmed\\\", \\\"total\\\": total}\"\n      },\n      \"covered\": true,\n      \"tests\": [\n        \"test_session.CheckoutTests.test_confirms_order\"\n      ],\n      \"declared\": false,\n      \"asserted\": false,\n      \"flows\": [],\n      \"executionEvidence\": {\n        \"anyExecution\": true,\n        \"passingTests\": [\n          \"test_session.CheckoutTests.test_confirms_order\"\n        ],\n        \"outsidePassingTests\": []\n      }\n    },\n    {\n      \"id\": \"py:statement:69cb293942792813a94918b6\",\n      \"file\": \"src/session.py\",\n      \"line\": 3,\n      \"at\": {\n        \"file\": \"src/session.py\",\n        \"line\": 3,\n        \"column\": 9,\n        \"text\": \"total = price * quantity\"\n      },\n      \"covered\": true,\n      \"tests\": [\n        \"test_session.CheckoutTests.test_confirms_order\"\n      ],\n      \"declared\": false,\n      \"asserted\": false,\n      \"flows\": [],\n      \"executionEvidence\": {\n        \"anyExecution\": true,\n        \"passingTests\": [\n          \"test_session.CheckoutTests.test_confirms_order\"\n        ],\n        \"outsidePassingTests\": []\n      }\n    },\n    {\n      \"id\": \"py:statement:42621bd5227cda6a6b688b52\",\n      \"file\": \"src/session.py\",\n      \"line\": 4,\n      \"at\": {\n        \"file\": \"src/session.py\",\n        \"line\": 4,\n        \"column\": 9,\n        \"text\": \"return {\\\"status\\\": \\\"confirmed\\\", \\\"total\\\": total}\"\n      },\n      \"covered\": true,\n      \"tests\": [\n        \"test_session.CheckoutTests.test_confirms_order\"\n      ],\n      \"declared\": false,\n      \"asserted\": false,\n      \"flows\": [],\n      \"executionEvidence\": {\n        \"anyExecution\": true,\n        \"passingTests\": [\n          \"test_session.CheckoutTests.test_confirms_order\"\n        ],\n        \"outsidePassingTests\": []\n      }\n    },\n    {\n      \"id\": \"py:statement:f35f57e149998eeb2e5116f7\",\n      \"file\": \"src/session.py\",\n      \"line\": 5,\n      \"at\": {\n        \"file\": \"src/session.py\",\n        \"line\": 5,\n        \"column\": 5,\n        \"text\": \"return {\\\"status\\\": \\\"denied\\\", \\\"total\\\": 0}\"\n      },\n      \"covered\": false,\n      \"tests\": [],\n      \"declared\": false,\n      \"asserted\": false,\n      \"flows\": [],\n      \"executionEvidence\": {\n        \"anyExecution\": false,\n        \"passingTests\": [],\n        \"outsidePassingTests\": []\n      }\n    }\n  ],\n  \"pagination\": {\n    \"offset\": 0,\n    \"returned\": 5,\n    \"total\": 5,\n    \"nextOffset\": null\n  },\n  \"summary\": {\n    \"status\": \"notAssessed\",\n    \"reason\": \"No recorded flow explanations\",\n    \"pendingChanges\": 0,\n    \"metric\": \"measured statements\",\n    \"statements\": {\n      \"asserted\": 0,\n      \"declared\": 0,\n      \"total\": 5,\n      \"percentage\": null\n    },\n    \"assertions\": 1,\n    \"inventoryAssertions\": 1,\n    \"missingInventoryAssertions\": 0,\n    \"assertionsWithFlows\": 0,\n    \"assertionsWithoutFlows\": 1,\n    \"observedAssertionsWithoutCurrentExplanation\": 1,\n    \"questions\": 0,\n    \"currentFlows\": 0,\n    \"draftFlows\": 0,\n    \"staleFlows\": 0,\n    \"invalidFlows\": 0,\n    \"eligibleFlows\": 0,\n    \"retiredAssertions\": 0,\n    \"unobservedAssertions\": 0,\n    \"inventoryFailures\": 0,\n    \"unanchoredStatements\": 0,\n    \"runPassed\": true,\n    \"lines\": {\n      \"asserted\": 0,\n      \"declared\": 0,\n      \"total\": 5,\n      \"percentage\": null\n    },\n    \"excludedStatements\": 0\n  },\n  \"basis\": \"agent-assessed; passing assertion identity and same-test execution required; not mutation resistance\",\n  \"validationErrors\": [],\n  \"limitations\": [\n    \"Syntax inventory covers recognized assertion forms, not every possible custom assertion. Agents may add exact source sites; missing runtime identity never earns credit.\"\n  ],\n  \"revision\": \"a99caaf977539d0400aa638a1cbe5629e519aeb942f2c23634724a3d0dbcf5ff\",\n  \"inheritance\": {\n    \"from\": null,\n    \"skipped\": []\n  },\n  \"view\": \"statements\",\n  \"file\": \"src/session.py\",\n  \"needsAttention\": false,\n  \"scope\": \"summary covers the whole run with matching current source; --file filters items only\",\n  \"workingTree\": {\n    \"stale\": false,\n    \"reasons\": []\n  },\n  \"run\": \"run_22542c0dcded62fa\",\n  \"map\": \"/private<project>/.supercov/runs/run_22542c0dcded62fa/assertions.json\"\n}\n"
        },
        {
          "args": [
            "--",
            "python3",
            "-m",
            "unittest",
            "discover",
            "-s",
            "tests"
          ],
          "stdout": "[coverage] evidence: /private<project>/.supercov/runs/run_0aeff513ba4b08b5/evidence.raw.gz\n"
        },
        {
          "args": [
            "runs",
            "latest"
          ],
          "stdout": "run run_0aeff513ba4b08b5\ncommand: python3 -m unittest discover -s tests\n\nCoverage\n  Lines      100.00% (5/5)\n  Branches   100.00% (6/6)\n  MC/DC      50.00% (1/2)\nAssertions pending — Source changes need impact assessment\n  0 assertions with flows; 2 without; 0 current flows; 0 stale; 0 draft\n\nBy test kind\n  unit            2 test(s)  lines 100.00%  branches 100.00%  MC/DC  50.00%\n\nMeasurement\n  Instrumentation  Complete for the measured command and coverage model\n  Scope            Only code reached by the wrapped command is observed; this status does not prove every project test suite was run.\n\nTests\n  Total       2\n  Passed      2\n\nRemaining\n  Files with uncovered code         1\n  Files with measurement limits     0\n\nRuntime action phases (separate from assertion mappings)\n  Recorded within action phases      0 lines\n  Other recorded execution           5 lines\n  These runtime phase counts do not include the agent-assessed assertion coverage shown above.\n\nCommands\n  npx supercov runs 'run_0aeff513ba4b08b5' files\n  npx supercov runs 'run_0aeff513ba4b08b5' gaps\n  npx supercov runs 'run_0aeff513ba4b08b5' kinds\n  npx supercov runs 'run_0aeff513ba4b08b5' runners\n  npx supercov runs 'run_0aeff513ba4b08b5' scope\n  npx supercov runs run_0aeff513ba4b08b5 --help\n"
        },
        {
          "args": [
            "runs",
            "latest",
            "assertions",
            "--json"
          ],
          "stdout": "{\"schemaVersion\":1,\"ok\":true,\"command\":\"coverage.assertions\",\"data\":{\"items\":[{\"observation\":\"Passing assertion occurrence recorded.\",\"id\":\"a_c91aecfcdecfb04b7f97\",\"at\":{\"file\":\"tests/test_session.py\",\"line\":7,\"column\":9,\"text\":\"self.assertEqual(order[\\\"status\\\"], \\\"confirmed\\\")\"},\"questions\":[],\"inMap\":true,\"observes\":[],\"operations\":[\"assertEqual\"],\"observedPassingTests\":[\"test_session.CheckoutTests.test_confirms_order\"],\"flows\":[]},{\"observation\":\"Passing assertion occurrence recorded.\",\"id\":\"a_cab2328449a4efc43b09\",\"at\":{\"file\":\"tests/test_session.py\",\"line\":11,\"column\":9,\"text\":\"self.assertEqual(order[\\\"status\\\"], \\\"denied\\\")\"},\"questions\":[],\"inMap\":true,\"observes\":[],\"operations\":[\"assertEqual\"],\"observedPassingTests\":[\"test_session.CheckoutTests.test_rejects_signed_out_visitor\"],\"flows\":[]}],\"pagination\":{\"offset\":0,\"returned\":2,\"total\":2,\"nextOffset\":null},\"summary\":{\"status\":\"pending\",\"reason\":\"Source changes need impact assessment\",\"pendingChanges\":1,\"metric\":\"measured statements\",\"statements\":{\"asserted\":0,\"declared\":0,\"total\":5,\"percentage\":null},\"assertions\":2,\"inventoryAssertions\":2,\"missingInventoryAssertions\":0,\"assertionsWithFlows\":0,\"assertionsWithoutFlows\":2,\"observedAssertionsWithoutCurrentExplanation\":2,\"questions\":0,\"currentFlows\":0,\"draftFlows\":0,\"staleFlows\":0,\"invalidFlows\":0,\"eligibleFlows\":0,\"retiredAssertions\":0,\"unobservedAssertions\":0,\"inventoryFailures\":0,\"unanchoredStatements\":0,\"runPassed\":true,\"lines\":{\"asserted\":0,\"declared\":0,\"total\":5,\"percentage\":null},\"excludedStatements\":0},\"basis\":\"agent-assessed; passing assertion identity and same-test execution required; not mutation resistance\",\"validationErrors\":[],\"limitations\":[\"Syntax inventory covers recognized assertion forms, not every possible custom assertion. Agents may add exact source sites; missing runtime identity never earns credit.\"],\"revision\":\"39cfaf55263fc1b8932fd9d2efd6513b87edefb9ad2d346c0dbc9271d30974ff\",\"inheritance\":{\"from\":\"run_22542c0dcded62fa\",\"skipped\":[]},\"view\":\"assertions\",\"file\":null,\"needsAttention\":false,\"scope\":\"summary covers the whole run with matching current source; --file filters items only\",\"workingTree\":{\"stale\":false,\"reasons\":[]},\"run\":\"run_0aeff513ba4b08b5\",\"map\":\"/private<project>/.supercov/runs/run_0aeff513ba4b08b5/assertions.json\"}}\n"
        },
        {
          "args": [
            "runs",
            "run_0aeff513ba4b08b5",
            "assertions",
            "--json"
          ],
          "stdout": "{\"schemaVersion\":1,\"ok\":true,\"command\":\"coverage.assertions\",\"data\":{\"items\":[{\"observation\":\"Passing assertion occurrence recorded.\",\"id\":\"a_c91aecfcdecfb04b7f97\",\"at\":{\"file\":\"tests/test_session.py\",\"line\":7,\"column\":9,\"text\":\"self.assertEqual(order[\\\"status\\\"], \\\"confirmed\\\")\"},\"questions\":[],\"inMap\":true,\"observes\":[],\"operations\":[\"assertEqual\"],\"observedPassingTests\":[\"test_session.CheckoutTests.test_confirms_order\"],\"flows\":[]},{\"observation\":\"Passing assertion occurrence recorded.\",\"id\":\"a_cab2328449a4efc43b09\",\"at\":{\"file\":\"tests/test_session.py\",\"line\":11,\"column\":9,\"text\":\"self.assertEqual(order[\\\"status\\\"], \\\"denied\\\")\"},\"questions\":[],\"inMap\":true,\"observes\":[],\"operations\":[\"assertEqual\"],\"observedPassingTests\":[\"test_session.CheckoutTests.test_rejects_signed_out_visitor\"],\"flows\":[]}],\"pagination\":{\"offset\":0,\"returned\":2,\"total\":2,\"nextOffset\":null},\"summary\":{\"status\":\"pending\",\"reason\":\"Source changes need impact assessment\",\"pendingChanges\":1,\"metric\":\"measured statements\",\"statements\":{\"asserted\":0,\"declared\":0,\"total\":5,\"percentage\":null},\"assertions\":2,\"inventoryAssertions\":2,\"missingInventoryAssertions\":0,\"assertionsWithFlows\":0,\"assertionsWithoutFlows\":2,\"observedAssertionsWithoutCurrentExplanation\":2,\"questions\":0,\"currentFlows\":0,\"draftFlows\":0,\"staleFlows\":0,\"invalidFlows\":0,\"eligibleFlows\":0,\"retiredAssertions\":0,\"unobservedAssertions\":0,\"inventoryFailures\":0,\"unanchoredStatements\":0,\"runPassed\":true,\"lines\":{\"asserted\":0,\"declared\":0,\"total\":5,\"percentage\":null},\"excludedStatements\":0},\"basis\":\"agent-assessed; passing assertion identity and same-test execution required; not mutation resistance\",\"validationErrors\":[],\"limitations\":[\"Syntax inventory covers recognized assertion forms, not every possible custom assertion. Agents may add exact source sites; missing runtime identity never earns credit.\"],\"revision\":\"39cfaf55263fc1b8932fd9d2efd6513b87edefb9ad2d346c0dbc9271d30974ff\",\"inheritance\":{\"from\":\"run_22542c0dcded62fa\",\"skipped\":[]},\"view\":\"assertions\",\"file\":null,\"needsAttention\":false,\"scope\":\"summary covers the whole run with matching current source; --file filters items only\",\"workingTree\":{\"stale\":false,\"reasons\":[]},\"run\":\"run_0aeff513ba4b08b5\",\"map\":\"/private<project>/.supercov/runs/run_0aeff513ba4b08b5/assertions.json\"}}\n"
        },
        {
          "args": [
            "runs",
            "run_0aeff513ba4b08b5",
            "assertions",
            "report",
            "--view",
            "statements",
            "--json"
          ],
          "stdout": "{\"schemaVersion\":1,\"ok\":true,\"command\":\"coverage.assertions\",\"data\":{\"items\":[{\"id\":\"py:statement:6da07cf8f13350dc9356814b\",\"file\":\"src/session.py\",\"line\":1,\"at\":{\"file\":\"src/session.py\",\"line\":1,\"column\":1,\"text\":\"def checkout(signed_in, expired, price, quantity):\\n    if signed_in and not expired:\\n        total = price * quantity\\n        return {\\\"status\\\": \\\"confirmed\\\", \\\"total\\\": total}\\n    return {\\\"status\\\": \\\"denied\\\", \\\"total\\\": 0}\"},\"covered\":false,\"tests\":[],\"declared\":false,\"asserted\":false,\"flows\":[],\"executionEvidence\":{\"anyExecution\":true,\"passingTests\":[],\"outsidePassingTests\":[\"__supercov_background__:main\"]}},{\"id\":\"py:statement:1b9390afd17ef5deb8bd422b\",\"file\":\"src/session.py\",\"line\":2,\"at\":{\"file\":\"src/session.py\",\"line\":2,\"column\":5,\"text\":\"if signed_in and not expired:\\n        total = price * quantity\\n        return {\\\"status\\\": \\\"confirmed\\\", \\\"total\\\": total}\"},\"covered\":true,\"tests\":[\"test_session.CheckoutTests.test_confirms_order\",\"test_session.CheckoutTests.test_rejects_signed_out_visitor\"],\"declared\":false,\"asserted\":false,\"flows\":[],\"executionEvidence\":{\"anyExecution\":true,\"passingTests\":[\"test_session.CheckoutTests.test_confirms_order\",\"test_session.CheckoutTests.test_rejects_signed_out_visitor\"],\"outsidePassingTests\":[]}},{\"id\":\"py:statement:69cb293942792813a94918b6\",\"file\":\"src/session.py\",\"line\":3,\"at\":{\"file\":\"src/session.py\",\"line\":3,\"column\":9,\"text\":\"total = price * quantity\"},\"covered\":true,\"tests\":[\"test_session.CheckoutTests.test_confirms_order\"],\"declared\":false,\"asserted\":false,\"flows\":[],\"executionEvidence\":{\"anyExecution\":true,\"passingTests\":[\"test_session.CheckoutTests.test_confirms_order\"],\"outsidePassingTests\":[]}},{\"id\":\"py:statement:42621bd5227cda6a6b688b52\",\"file\":\"src/session.py\",\"line\":4,\"at\":{\"file\":\"src/session.py\",\"line\":4,\"column\":9,\"text\":\"return {\\\"status\\\": \\\"confirmed\\\", \\\"total\\\": total}\"},\"covered\":true,\"tests\":[\"test_session.CheckoutTests.test_confirms_order\"],\"declared\":false,\"asserted\":false,\"flows\":[],\"executionEvidence\":{\"anyExecution\":true,\"passingTests\":[\"test_session.CheckoutTests.test_confirms_order\"],\"outsidePassingTests\":[]}},{\"id\":\"py:statement:f35f57e149998eeb2e5116f7\",\"file\":\"src/session.py\",\"line\":5,\"at\":{\"file\":\"src/session.py\",\"line\":5,\"column\":5,\"text\":\"return {\\\"status\\\": \\\"denied\\\", \\\"total\\\": 0}\"},\"covered\":true,\"tests\":[\"test_session.CheckoutTests.test_rejects_signed_out_visitor\"],\"declared\":false,\"asserted\":false,\"flows\":[],\"executionEvidence\":{\"anyExecution\":true,\"passingTests\":[\"test_session.CheckoutTests.test_rejects_signed_out_visitor\"],\"outsidePassingTests\":[]}}],\"pagination\":{\"offset\":0,\"returned\":5,\"total\":5,\"nextOffset\":null},\"summary\":{\"status\":\"pending\",\"reason\":\"Source changes need impact assessment\",\"pendingChanges\":1,\"metric\":\"measured statements\",\"statements\":{\"asserted\":0,\"declared\":0,\"total\":5,\"percentage\":null},\"assertions\":2,\"inventoryAssertions\":2,\"missingInventoryAssertions\":0,\"assertionsWithFlows\":0,\"assertionsWithoutFlows\":2,\"observedAssertionsWithoutCurrentExplanation\":2,\"questions\":0,\"currentFlows\":0,\"draftFlows\":0,\"staleFlows\":0,\"invalidFlows\":0,\"eligibleFlows\":0,\"retiredAssertions\":0,\"unobservedAssertions\":0,\"inventoryFailures\":0,\"unanchoredStatements\":0,\"runPassed\":true,\"lines\":{\"asserted\":0,\"declared\":0,\"total\":5,\"percentage\":null},\"excludedStatements\":0},\"basis\":\"agent-assessed; passing assertion identity and same-test execution required; not mutation resistance\",\"validationErrors\":[],\"limitations\":[\"Syntax inventory covers recognized assertion forms, not every possible custom assertion. Agents may add exact source sites; missing runtime identity never earns credit.\"],\"revision\":\"39cfaf55263fc1b8932fd9d2efd6513b87edefb9ad2d346c0dbc9271d30974ff\",\"inheritance\":{\"from\":\"run_22542c0dcded62fa\",\"skipped\":[]},\"view\":\"statements\",\"file\":null,\"needsAttention\":false,\"scope\":\"summary covers the whole run with matching current source; --file filters items only\",\"workingTree\":{\"stale\":false,\"reasons\":[]},\"run\":\"run_0aeff513ba4b08b5\",\"map\":\"/private<project>/.supercov/runs/run_0aeff513ba4b08b5/assertions.json\"}}\n"
        },
        {
          "args": [
            "runs",
            "run_0aeff513ba4b08b5",
            "assertions",
            "report",
            "--view",
            "tests",
            "--json"
          ],
          "stdout": "{\"schemaVersion\":1,\"ok\":true,\"command\":\"coverage.assertions\",\"data\":{\"items\":[{\"id\":\"__supercov_background__:main\",\"file\":null,\"name\":\"Python import, collection and background execution\",\"role\":\"background\",\"outcome\":\"unknown\",\"provenance\":{\"runner\":\"unittest\",\"kind\":\"unit\",\"source\":\"python-monitoring-v1\"},\"hasExecutionEvidence\":true},{\"id\":\"test_session.CheckoutTests.test_confirms_order\",\"file\":\"tests/test_session.py\",\"name\":\"test_session.CheckoutTests.test_confirms_order\",\"role\":\"test\",\"outcome\":\"passed\",\"provenance\":{\"runner\":\"unittest\",\"kind\":\"unit\",\"source\":\"python-monitoring-v1\"},\"hasExecutionEvidence\":true},{\"id\":\"test_session.CheckoutTests.test_rejects_signed_out_visitor\",\"file\":\"tests/test_session.py\",\"name\":\"test_session.CheckoutTests.test_rejects_signed_out_visitor\",\"role\":\"test\",\"outcome\":\"passed\",\"provenance\":{\"runner\":\"unittest\",\"kind\":\"unit\",\"source\":\"python-monitoring-v1\"},\"hasExecutionEvidence\":true}],\"pagination\":{\"offset\":0,\"returned\":3,\"total\":3,\"nextOffset\":null},\"summary\":{\"status\":\"pending\",\"reason\":\"Source changes need impact assessment\",\"pendingChanges\":1,\"metric\":\"measured statements\",\"statements\":{\"asserted\":0,\"declared\":0,\"total\":5,\"percentage\":null},\"assertions\":2,\"inventoryAssertions\":2,\"missingInventoryAssertions\":0,\"assertionsWithFlows\":0,\"assertionsWithoutFlows\":2,\"observedAssertionsWithoutCurrentExplanation\":2,\"questions\":0,\"currentFlows\":0,\"draftFlows\":0,\"staleFlows\":0,\"invalidFlows\":0,\"eligibleFlows\":0,\"retiredAssertions\":0,\"unobservedAssertions\":0,\"inventoryFailures\":0,\"unanchoredStatements\":0,\"runPassed\":true,\"lines\":{\"asserted\":0,\"declared\":0,\"total\":5,\"percentage\":null},\"excludedStatements\":0},\"basis\":\"agent-assessed; passing assertion identity and same-test execution required; not mutation resistance\",\"validationErrors\":[],\"limitations\":[\"Syntax inventory covers recognized assertion forms, not every possible custom assertion. Agents may add exact source sites; missing runtime identity never earns credit.\"],\"revision\":\"39cfaf55263fc1b8932fd9d2efd6513b87edefb9ad2d346c0dbc9271d30974ff\",\"inheritance\":{\"from\":\"run_22542c0dcded62fa\",\"skipped\":[]},\"view\":\"tests\",\"file\":null,\"needsAttention\":false,\"scope\":\"summary covers the whole run with matching current source; --file filters items only\",\"workingTree\":{\"stale\":false,\"reasons\":[]},\"run\":\"run_0aeff513ba4b08b5\",\"map\":\"/private<project>/.supercov/runs/run_0aeff513ba4b08b5/assertions.json\"}}\n"
        },
        {
          "args": [
            "runs",
            "run_0aeff513ba4b08b5",
            "assertions",
            "report",
            "--view",
            "changes",
            "--json"
          ],
          "stdout": "{\"schemaVersion\":1,\"ok\":true,\"command\":\"coverage.assertions\",\"data\":{\"items\":[{\"id\":\"c_43d73b36c55403604e2a01f7\",\"file\":\"tests/test_session.py\",\"before\":\"63db0819ee53938f00b0923b42b7eb832733ed8dc8a93004cfd131801e227713\",\"after\":\"429d46d2aec33b9c04106f588e10981259a087a63cd1dc519c3475fd910309b7\",\"reason\":\"captured source file changed\",\"knownFlows\":[],\"current\":false,\"assessment\":null,\"errors\":[],\"expectedBasis\":null}],\"pagination\":{\"offset\":0,\"returned\":1,\"total\":1,\"nextOffset\":null},\"summary\":{\"status\":\"pending\",\"reason\":\"Source changes need impact assessment\",\"pendingChanges\":1,\"metric\":\"measured statements\",\"statements\":{\"asserted\":0,\"declared\":0,\"total\":5,\"percentage\":null},\"assertions\":2,\"inventoryAssertions\":2,\"missingInventoryAssertions\":0,\"assertionsWithFlows\":0,\"assertionsWithoutFlows\":2,\"observedAssertionsWithoutCurrentExplanation\":2,\"questions\":0,\"currentFlows\":0,\"draftFlows\":0,\"staleFlows\":0,\"invalidFlows\":0,\"eligibleFlows\":0,\"retiredAssertions\":0,\"unobservedAssertions\":0,\"inventoryFailures\":0,\"unanchoredStatements\":0,\"runPassed\":true,\"lines\":{\"asserted\":0,\"declared\":0,\"total\":5,\"percentage\":null},\"excludedStatements\":0},\"basis\":\"agent-assessed; passing assertion identity and same-test execution required; not mutation resistance\",\"validationErrors\":[],\"limitations\":[\"Syntax inventory covers recognized assertion forms, not every possible custom assertion. Agents may add exact source sites; missing runtime identity never earns credit.\"],\"revision\":\"39cfaf55263fc1b8932fd9d2efd6513b87edefb9ad2d346c0dbc9271d30974ff\",\"inheritance\":{\"from\":\"run_22542c0dcded62fa\",\"skipped\":[]},\"view\":\"changes\",\"file\":null,\"needsAttention\":false,\"scope\":\"summary covers the whole run with matching current source; --file filters items only\",\"workingTree\":{\"stale\":false,\"reasons\":[]},\"run\":\"run_0aeff513ba4b08b5\",\"map\":\"/private<project>/.supercov/runs/run_0aeff513ba4b08b5/assertions.json\"}}\n"
        },
        {
          "args": [
            "runs",
            "run_0aeff513ba4b08b5",
            "assertions",
            "validate",
            "--json"
          ],
          "stdout": "{\"schemaVersion\":1,\"ok\":true,\"command\":\"coverage.assertions\",\"data\":{\"valid\":true,\"stage\":\"references\",\"errors\":[],\"flows\":[{\"id\":\"a_c91aecfcdecfb04b7f97/returned-status\",\"expectedBasis\":\"scov2:a462322f7fb336ae23535ad0ebc51717124b0078c7551fae0377b155ee030265\",\"reasons\":[\"draft: input acknowledgement not recorded\"]},{\"id\":\"a_cab2328449a4efc43b09/returned-status\",\"expectedBasis\":\"scov2:08bc58a9181651eb40e2df18cba0d7557bb53494ee66ec3469c83930f2ca16bc\",\"reasons\":[\"draft: input acknowledgement not recorded\"]}],\"changes\":[{\"id\":\"c_43d73b36c55403604e2a01f7\",\"file\":\"tests/test_session.py\",\"before\":\"63db0819ee53938f00b0923b42b7eb832733ed8dc8a93004cfd131801e227713\",\"after\":\"429d46d2aec33b9c04106f588e10981259a087a63cd1dc519c3475fd910309b7\",\"reason\":\"captured source file changed\",\"knownFlows\":[],\"current\":false,\"assessment\":{\"id\":\"c_43d73b36c55403604e2a01f7\",\"basis\":null,\"affectedFlows\":[],\"explanation\":\"Only the fixture test file changed. The current test inputs and assertions have been reviewed against this run’s mappings. The application source is unchanged.\"},\"errors\":[],\"expectedBasis\":\"scov2:f849e868b42ce12023fbcab88736a2e2e03989ec2b35f581cf22c78fc1cd4522\"}],\"meaning\":\"Authored graph references and input acknowledgements only; no semantic proof or completeness claim\",\"revision\":\"8ee20e48eb0687c6d14e36e268b829cb27da8e5d3daae84b4b76b9df4f6036f6\",\"workingTree\":{\"stale\":false,\"reasons\":[]},\"run\":\"run_0aeff513ba4b08b5\",\"map\":\"/private<project>/.supercov/runs/run_0aeff513ba4b08b5/assertions.json\"}}\n"
        },
        {
          "args": [
            "runs",
            "run_0aeff513ba4b08b5",
            "assertions",
            "validate",
            "--json"
          ],
          "stdout": "{\"schemaVersion\":1,\"ok\":true,\"command\":\"coverage.assertions\",\"data\":{\"valid\":true,\"stage\":\"references\",\"errors\":[],\"flows\":[{\"id\":\"a_c91aecfcdecfb04b7f97/returned-status\",\"expectedBasis\":\"scov2:a462322f7fb336ae23535ad0ebc51717124b0078c7551fae0377b155ee030265\",\"reasons\":[\"draft: input acknowledgement not recorded\"]},{\"id\":\"a_cab2328449a4efc43b09/returned-status\",\"expectedBasis\":\"scov2:08bc58a9181651eb40e2df18cba0d7557bb53494ee66ec3469c83930f2ca16bc\",\"reasons\":[\"draft: input acknowledgement not recorded\"]}],\"changes\":[{\"id\":\"c_43d73b36c55403604e2a01f7\",\"file\":\"tests/test_session.py\",\"before\":\"63db0819ee53938f00b0923b42b7eb832733ed8dc8a93004cfd131801e227713\",\"after\":\"429d46d2aec33b9c04106f588e10981259a087a63cd1dc519c3475fd910309b7\",\"reason\":\"captured source file changed\",\"knownFlows\":[],\"current\":true,\"assessment\":{\"id\":\"c_43d73b36c55403604e2a01f7\",\"basis\":\"scov2:f849e868b42ce12023fbcab88736a2e2e03989ec2b35f581cf22c78fc1cd4522\",\"affectedFlows\":[],\"explanation\":\"Only the fixture test file changed. The current test inputs and assertions have been reviewed against this run’s mappings. The application source is unchanged.\"},\"errors\":[],\"expectedBasis\":\"scov2:f849e868b42ce12023fbcab88736a2e2e03989ec2b35f581cf22c78fc1cd4522\"}],\"meaning\":\"Authored graph references and input acknowledgements only; no semantic proof or completeness claim\",\"revision\":\"868fbe2bbbd76a41c83131b0183a0a078d1bcc8c922e9ac77248a6129c44448d\",\"workingTree\":{\"stale\":false,\"reasons\":[]},\"run\":\"run_0aeff513ba4b08b5\",\"map\":\"/private<project>/.supercov/runs/run_0aeff513ba4b08b5/assertions.json\"}}\n"
        },
        {
          "args": [
            "runs",
            "run_0aeff513ba4b08b5",
            "assertions",
            "check",
            "--require-mappings"
          ],
          "stdout": "{\n  \"summary\": {\n    \"status\": \"available\",\n    \"reason\": \"Agent-assessed statements; mapping completeness is unknown\",\n    \"pendingChanges\": 0,\n    \"metric\": \"measured statements\",\n    \"statements\": {\n      \"asserted\": 3,\n      \"declared\": 3,\n      \"total\": 5,\n      \"percentage\": 60.0\n    },\n    \"assertions\": 2,\n    \"inventoryAssertions\": 2,\n    \"missingInventoryAssertions\": 0,\n    \"assertionsWithFlows\": 2,\n    \"assertionsWithoutFlows\": 0,\n    \"observedAssertionsWithoutCurrentExplanation\": 0,\n    \"questions\": 0,\n    \"currentFlows\": 2,\n    \"draftFlows\": 0,\n    \"staleFlows\": 0,\n    \"invalidFlows\": 0,\n    \"eligibleFlows\": 2,\n    \"retiredAssertions\": 0,\n    \"unobservedAssertions\": 0,\n    \"inventoryFailures\": 0,\n    \"unanchoredStatements\": 0,\n    \"runPassed\": true,\n    \"lines\": {\n      \"asserted\": 3,\n      \"declared\": 3,\n      \"total\": 5,\n      \"percentage\": 60.0\n    },\n    \"excludedStatements\": 0\n  },\n  \"basis\": \"agent-assessed; passing assertion identity and same-test execution required; not mutation resistance\",\n  \"validationErrors\": [],\n  \"limitations\": [\n    \"Syntax inventory covers recognized assertion forms, not every possible custom assertion. Agents may add exact source sites; missing runtime identity never earns credit.\"\n  ],\n  \"revision\": \"39ca9d7d1f39c05065d432c44ec16edcb22abc5b1bb52c452a2f7c9967120344\",\n  \"inheritance\": {\n    \"from\": \"run_22542c0dcded62fa\",\n    \"skipped\": []\n  },\n  \"view\": \"summary\",\n  \"file\": null,\n  \"needsAttention\": false,\n  \"scope\": \"summary covers the whole run with matching current source; --file filters items only\",\n  \"workingTree\": {\n    \"stale\": false,\n    \"reasons\": []\n  },\n  \"valid\": true,\n  \"failures\": [],\n  \"requirements\": {\n    \"mappings\": true,\n    \"observed\": false,\n    \"minimum\": null\n  },\n  \"run\": \"run_0aeff513ba4b08b5\",\n  \"map\": \"/private<project>/.supercov/runs/run_0aeff513ba4b08b5/assertions.json\"\n}\n"
        },
        {
          "args": [
            "runs",
            "run_0aeff513ba4b08b5"
          ],
          "stdout": "run run_0aeff513ba4b08b5\ncommand: python3 -m unittest discover -s tests\n\nCoverage\n  Lines      100.00% (5/5)\n  Branches   100.00% (6/6)\n  MC/DC      50.00% (1/2)\nAssertions 60.00% (3/5) — agent-assessed statements, whole run\n  2 assertions with flows; 0 without; 2 current flows; 0 stale; 0 draft\n\nBy test kind\n  unit            2 test(s)  lines 100.00%  branches 100.00%  MC/DC  50.00%\n\nMeasurement\n  Instrumentation  Complete for the measured command and coverage model\n  Scope            Only code reached by the wrapped command is observed; this status does not prove every project test suite was run.\n\nTests\n  Total       2\n  Passed      2\n\nRemaining\n  Files with uncovered code         1\n  Files with measurement limits     0\n\nRuntime action phases (separate from assertion mappings)\n  Recorded within action phases      0 lines\n  Other recorded execution           5 lines\n  These runtime phase counts do not include the agent-assessed assertion coverage shown above.\n\nCommands\n  npx supercov runs 'run_0aeff513ba4b08b5' files\n  npx supercov runs 'run_0aeff513ba4b08b5' gaps\n  npx supercov runs 'run_0aeff513ba4b08b5' kinds\n  npx supercov runs 'run_0aeff513ba4b08b5' runners\n  npx supercov runs 'run_0aeff513ba4b08b5' scope\n  npx supercov runs run_0aeff513ba4b08b5 --help\n"
        },
        {
          "args": [
            "runs",
            "run_0aeff513ba4b08b5",
            "assertions",
            "--json"
          ],
          "stdout": "{\"schemaVersion\":1,\"ok\":true,\"command\":\"coverage.assertions\",\"data\":{\"items\":[{\"observation\":\"Passing assertion occurrence recorded.\",\"id\":\"a_c91aecfcdecfb04b7f97\",\"at\":{\"file\":\"tests/test_session.py\",\"line\":7,\"column\":9,\"text\":\"self.assertEqual(order[\\\"status\\\"], \\\"confirmed\\\")\"},\"questions\":[],\"inMap\":true,\"observes\":[\"The returned status equals confirmed for this test input.\"],\"operations\":[\"assertEqual\"],\"observedPassingTests\":[\"test_session.CheckoutTests.test_confirms_order\"],\"flows\":[{\"id\":\"returned-status\",\"freshness\":\"current\",\"valid\":true,\"current\":true,\"expectedBasis\":\"scov2:a462322f7fb336ae23535ad0ebc51717124b0078c7551fae0377b155ee030265\",\"selectors\":[{\"file\":\"tests/test_session.py\",\"name\":\"test_session.CheckoutTests.test_confirms_order\",\"status\":\"observed\",\"outcomes\":[\"passed\"],\"reason\":\"A passing assertion occurrence matches this test.\"}],\"questions\":[],\"reasons\":[],\"eligible\":true,\"blockers\":[],\"matchingTests\":[\"test_session.CheckoutTests.test_confirms_order\"],\"creditedStatementLines\":[[\"src/session.py\",2],[\"src/session.py\",4]],\"nodeCredit\":[{\"nodeId\":\"n0\",\"location\":{\"file\":\"src/session.py\",\"line\":2,\"column\":5},\"status\":\"credited\",\"statementIds\":[\"py:statement:1b9390afd17ef5deb8bd422b\"],\"matchingTests\":[\"test_session.CheckoutTests.test_confirms_order\"],\"reasons\":[{\"code\":\"same_test_execution\",\"message\":\"Current agent claim, passing assertion, and statement execution in the same selected test.\"}]},{\"nodeId\":\"n1\",\"location\":{\"file\":\"src/session.py\",\"line\":4,\"column\":9},\"status\":\"credited\",\"statementIds\":[\"py:statement:42621bd5227cda6a6b688b52\"],\"matchingTests\":[\"test_session.CheckoutTests.test_confirms_order\"],\"reasons\":[{\"code\":\"same_test_execution\",\"message\":\"Current agent claim, passing assertion, and statement execution in the same selected test.\"}]}]}]},{\"observation\":\"Passing assertion occurrence recorded.\",\"id\":\"a_cab2328449a4efc43b09\",\"at\":{\"file\":\"tests/test_session.py\",\"line\":11,\"column\":9,\"text\":\"self.assertEqual(order[\\\"status\\\"], \\\"denied\\\")\"},\"questions\":[],\"inMap\":true,\"observes\":[\"The returned status equals denied for this test input.\"],\"operations\":[\"assertEqual\"],\"observedPassingTests\":[\"test_session.CheckoutTests.test_rejects_signed_out_visitor\"],\"flows\":[{\"id\":\"returned-status\",\"freshness\":\"current\",\"valid\":true,\"current\":true,\"expectedBasis\":\"scov2:08bc58a9181651eb40e2df18cba0d7557bb53494ee66ec3469c83930f2ca16bc\",\"selectors\":[{\"file\":\"tests/test_session.py\",\"name\":\"test_session.CheckoutTests.test_rejects_signed_out_visitor\",\"status\":\"observed\",\"outcomes\":[\"passed\"],\"reason\":\"A passing assertion occurrence matches this test.\"}],\"questions\":[],\"reasons\":[],\"eligible\":true,\"blockers\":[],\"matchingTests\":[\"test_session.CheckoutTests.test_rejects_signed_out_visitor\"],\"creditedStatementLines\":[[\"src/session.py\",2],[\"src/session.py\",5]],\"nodeCredit\":[{\"nodeId\":\"n0\",\"location\":{\"file\":\"src/session.py\",\"line\":2,\"column\":5},\"status\":\"credited\",\"statementIds\":[\"py:statement:1b9390afd17ef5deb8bd422b\"],\"matchingTests\":[\"test_session.CheckoutTests.test_rejects_signed_out_visitor\"],\"reasons\":[{\"code\":\"same_test_execution\",\"message\":\"Current agent claim, passing assertion, and statement execution in the same selected test.\"}]},{\"nodeId\":\"n1\",\"location\":{\"file\":\"src/session.py\",\"line\":5,\"column\":5},\"status\":\"credited\",\"statementIds\":[\"py:statement:f35f57e149998eeb2e5116f7\"],\"matchingTests\":[\"test_session.CheckoutTests.test_rejects_signed_out_visitor\"],\"reasons\":[{\"code\":\"same_test_execution\",\"message\":\"Current agent claim, passing assertion, and statement execution in the same selected test.\"}]}]}]}],\"pagination\":{\"offset\":0,\"returned\":2,\"total\":2,\"nextOffset\":null},\"summary\":{\"status\":\"available\",\"reason\":\"Agent-assessed statements; mapping completeness is unknown\",\"pendingChanges\":0,\"metric\":\"measured statements\",\"statements\":{\"asserted\":3,\"declared\":3,\"total\":5,\"percentage\":60.0},\"assertions\":2,\"inventoryAssertions\":2,\"missingInventoryAssertions\":0,\"assertionsWithFlows\":2,\"assertionsWithoutFlows\":0,\"observedAssertionsWithoutCurrentExplanation\":0,\"questions\":0,\"currentFlows\":2,\"draftFlows\":0,\"staleFlows\":0,\"invalidFlows\":0,\"eligibleFlows\":2,\"retiredAssertions\":0,\"unobservedAssertions\":0,\"inventoryFailures\":0,\"unanchoredStatements\":0,\"runPassed\":true,\"lines\":{\"asserted\":3,\"declared\":3,\"total\":5,\"percentage\":60.0},\"excludedStatements\":0},\"basis\":\"agent-assessed; passing assertion identity and same-test execution required; not mutation resistance\",\"validationErrors\":[],\"limitations\":[\"Syntax inventory covers recognized assertion forms, not every possible custom assertion. Agents may add exact source sites; missing runtime identity never earns credit.\"],\"revision\":\"39ca9d7d1f39c05065d432c44ec16edcb22abc5b1bb52c452a2f7c9967120344\",\"inheritance\":{\"from\":\"run_22542c0dcded62fa\",\"skipped\":[]},\"view\":\"assertions\",\"file\":null,\"needsAttention\":false,\"scope\":\"summary covers the whole run with matching current source; --file filters items only\",\"workingTree\":{\"stale\":false,\"reasons\":[]},\"run\":\"run_0aeff513ba4b08b5\",\"map\":\"/private<project>/.supercov/runs/run_0aeff513ba4b08b5/assertions.json\"}}\n"
        },
        {
          "args": [
            "runs",
            "run_0aeff513ba4b08b5"
          ],
          "stdout": "run run_0aeff513ba4b08b5\ncommand: python3 -m unittest discover -s tests\n\nCoverage\n  Lines      100.00% (5/5)\n  Branches   100.00% (6/6)\n  MC/DC      50.00% (1/2)\nAssertions 60.00% (3/5) — agent-assessed statements, whole run\n  2 assertions with flows; 0 without; 2 current flows; 0 stale; 0 draft\n\nBy test kind\n  unit            2 test(s)  lines 100.00%  branches 100.00%  MC/DC  50.00%\n\nMeasurement\n  Instrumentation  Complete for the measured command and coverage model\n  Scope            Only code reached by the wrapped command is observed; this status does not prove every project test suite was run.\n\nTests\n  Total       2\n  Passed      2\n\nRemaining\n  Files with uncovered code         1\n  Files with measurement limits     0\n\nRuntime action phases (separate from assertion mappings)\n  Recorded within action phases      0 lines\n  Other recorded execution           5 lines\n  These runtime phase counts do not include the agent-assessed assertion coverage shown above.\n\nCommands\n  npx supercov runs 'run_0aeff513ba4b08b5' files\n  npx supercov runs 'run_0aeff513ba4b08b5' gaps\n  npx supercov runs 'run_0aeff513ba4b08b5' kinds\n  npx supercov runs 'run_0aeff513ba4b08b5' runners\n  npx supercov runs 'run_0aeff513ba4b08b5' scope\n  npx supercov runs run_0aeff513ba4b08b5 --help\n"
        },
        {
          "args": [
            "runs",
            "run_0aeff513ba4b08b5",
            "gaps",
            "--limit",
            "5"
          ],
          "stdout": "Coverage gaps — only files with unresolved obligations\n\nsrc/session.py\n  uncovered: lines 0  statements 0  functions 0  branch outcomes 0  MC/DC conditions 1\n\nshowing 1-1 of 1\ninspect file: npx supercov runs 'run_0aeff513ba4b08b5' file 'src/session.py'\n"
        },
        {
          "args": [
            "runs",
            "run_0aeff513ba4b08b5",
            "file",
            "src/session.py"
          ],
          "stdout": "src/session.py\n\nUncovered\n  Lines not executed              0\n  Statements not executed         0\n  Functions not called            0\n  Branch outcomes not taken       0\n  MC/DC conditions not shown      1\n  Measurement limitations         0\n\nTests touching this file: 3\n\nGaps\n  NOT COVERED = line never executed; PARTIAL = line executed but some behavior remains untested\n LINE  STATUS        SOURCE\n    2  PARTIAL       signed_in and not expired\n       Unobserved: no witness pair shows `not expired` independently changing the decision result\n       Inspect: npx supercov runs 'run_0aeff513ba4b08b5' line 'src/session.py:2'\nshowing 1-1 of 1 gap lines\n"
        },
        {
          "args": [
            "runs",
            "run_0aeff513ba4b08b5",
            "line",
            "src/session.py:3"
          ],
          "stdout": "src/session.py:3\n\nSource\n      3 | total = price * quantity\n\nStatus\n  COVERED\n  Evidence: execution only\n\nCoverage details\n  Statement at column 8 — covered (1 covering tests)\n    `total = price * quantity`\n\nCovering tests\n  test_session.CheckoutTests.test_confirms_order [test_session.CheckoutTests.test_confirms_order] — unit/unittest\n\nTest phases\n  unittest call (passed) at test_session.CheckoutTests.test_confirms_order\n  unittest assertion (passed) at test_session.CheckoutTests.test_confirms_order\n"
        },
        {
          "args": [
            "runs",
            "run_0aeff513ba4b08b5",
            "decision",
            "src/session.py:2"
          ],
          "stdout": "py:decision:a94ffdcd7ac46d369f59ccff  src/session.py:2:7\nsigned_in and not expired\nC1 covered: signed_in\nC2 MISSING: not expired\nconfidence executed\nvectors:\n  TT -> T  tests=1 confidence=executed\n  F- -> F  tests=1 confidence=executed\nshowing 1-2 of 2 conditions/vectors/tests per decision\n"
        },
        {
          "args": [
            "runs",
            "run_0aeff513ba4b08b5",
            "assertions",
            "report",
            "--view",
            "statements",
            "--file",
            "src/session.py"
          ],
          "stdout": "{\n  \"items\": [\n    {\n      \"id\": \"py:statement:6da07cf8f13350dc9356814b\",\n      \"file\": \"src/session.py\",\n      \"line\": 1,\n      \"at\": {\n        \"file\": \"src/session.py\",\n        \"line\": 1,\n        \"column\": 1,\n        \"text\": \"def checkout(signed_in, expired, price, quantity):\\n    if signed_in and not expired:\\n        total = price * quantity\\n        return {\\\"status\\\": \\\"confirmed\\\", \\\"total\\\": total}\\n    return {\\\"status\\\": \\\"denied\\\", \\\"total\\\": 0}\"\n      },\n      \"covered\": false,\n      \"tests\": [],\n      \"declared\": false,\n      \"asserted\": false,\n      \"flows\": [],\n      \"executionEvidence\": {\n        \"anyExecution\": true,\n        \"passingTests\": [],\n        \"outsidePassingTests\": [\n          \"__supercov_background__:main\"\n        ]\n      }\n    },\n    {\n      \"id\": \"py:statement:1b9390afd17ef5deb8bd422b\",\n      \"file\": \"src/session.py\",\n      \"line\": 2,\n      \"at\": {\n        \"file\": \"src/session.py\",\n        \"line\": 2,\n        \"column\": 5,\n        \"text\": \"if signed_in and not expired:\\n        total = price * quantity\\n        return {\\\"status\\\": \\\"confirmed\\\", \\\"total\\\": total}\"\n      },\n      \"covered\": true,\n      \"tests\": [\n        \"test_session.CheckoutTests.test_confirms_order\",\n        \"test_session.CheckoutTests.test_rejects_signed_out_visitor\"\n      ],\n      \"declared\": true,\n      \"asserted\": true,\n      \"flows\": [\n        \"a_c91aecfcdecfb04b7f97/returned-status\",\n        \"a_cab2328449a4efc43b09/returned-status\"\n      ],\n      \"executionEvidence\": {\n        \"anyExecution\": true,\n        \"passingTests\": [\n          \"test_session.CheckoutTests.test_confirms_order\",\n          \"test_session.CheckoutTests.test_rejects_signed_out_visitor\"\n        ],\n        \"outsidePassingTests\": []\n      }\n    },\n    {\n      \"id\": \"py:statement:69cb293942792813a94918b6\",\n      \"file\": \"src/session.py\",\n      \"line\": 3,\n      \"at\": {\n        \"file\": \"src/session.py\",\n        \"line\": 3,\n        \"column\": 9,\n        \"text\": \"total = price * quantity\"\n      },\n      \"covered\": true,\n      \"tests\": [\n        \"test_session.CheckoutTests.test_confirms_order\"\n      ],\n      \"declared\": false,\n      \"asserted\": false,\n      \"flows\": [],\n      \"executionEvidence\": {\n        \"anyExecution\": true,\n        \"passingTests\": [\n          \"test_session.CheckoutTests.test_confirms_order\"\n        ],\n        \"outsidePassingTests\": []\n      }\n    },\n    {\n      \"id\": \"py:statement:42621bd5227cda6a6b688b52\",\n      \"file\": \"src/session.py\",\n      \"line\": 4,\n      \"at\": {\n        \"file\": \"src/session.py\",\n        \"line\": 4,\n        \"column\": 9,\n        \"text\": \"return {\\\"status\\\": \\\"confirmed\\\", \\\"total\\\": total}\"\n      },\n      \"covered\": true,\n      \"tests\": [\n        \"test_session.CheckoutTests.test_confirms_order\"\n      ],\n      \"declared\": true,\n      \"asserted\": true,\n      \"flows\": [\n        \"a_c91aecfcdecfb04b7f97/returned-status\"\n      ],\n      \"executionEvidence\": {\n        \"anyExecution\": true,\n        \"passingTests\": [\n          \"test_session.CheckoutTests.test_confirms_order\"\n        ],\n        \"outsidePassingTests\": []\n      }\n    },\n    {\n      \"id\": \"py:statement:f35f57e149998eeb2e5116f7\",\n      \"file\": \"src/session.py\",\n      \"line\": 5,\n      \"at\": {\n        \"file\": \"src/session.py\",\n        \"line\": 5,\n        \"column\": 5,\n        \"text\": \"return {\\\"status\\\": \\\"denied\\\", \\\"total\\\": 0}\"\n      },\n      \"covered\": true,\n      \"tests\": [\n        \"test_session.CheckoutTests.test_rejects_signed_out_visitor\"\n      ],\n      \"declared\": true,\n      \"asserted\": true,\n      \"flows\": [\n        \"a_cab2328449a4efc43b09/returned-status\"\n      ],\n      \"executionEvidence\": {\n        \"anyExecution\": true,\n        \"passingTests\": [\n          \"test_session.CheckoutTests.test_rejects_signed_out_visitor\"\n        ],\n        \"outsidePassingTests\": []\n      }\n    }\n  ],\n  \"pagination\": {\n    \"offset\": 0,\n    \"returned\": 5,\n    \"total\": 5,\n    \"nextOffset\": null\n  },\n  \"summary\": {\n    \"status\": \"available\",\n    \"reason\": \"Agent-assessed statements; mapping completeness is unknown\",\n    \"pendingChanges\": 0,\n    \"metric\": \"measured statements\",\n    \"statements\": {\n      \"asserted\": 3,\n      \"declared\": 3,\n      \"total\": 5,\n      \"percentage\": 60.0\n    },\n    \"assertions\": 2,\n    \"inventoryAssertions\": 2,\n    \"missingInventoryAssertions\": 0,\n    \"assertionsWithFlows\": 2,\n    \"assertionsWithoutFlows\": 0,\n    \"observedAssertionsWithoutCurrentExplanation\": 0,\n    \"questions\": 0,\n    \"currentFlows\": 2,\n    \"draftFlows\": 0,\n    \"staleFlows\": 0,\n    \"invalidFlows\": 0,\n    \"eligibleFlows\": 2,\n    \"retiredAssertions\": 0,\n    \"unobservedAssertions\": 0,\n    \"inventoryFailures\": 0,\n    \"unanchoredStatements\": 0,\n    \"runPassed\": true,\n    \"lines\": {\n      \"asserted\": 3,\n      \"declared\": 3,\n      \"total\": 5,\n      \"percentage\": 60.0\n    },\n    \"excludedStatements\": 0\n  },\n  \"basis\": \"agent-assessed; passing assertion identity and same-test execution required; not mutation resistance\",\n  \"validationErrors\": [],\n  \"limitations\": [\n    \"Syntax inventory covers recognized assertion forms, not every possible custom assertion. Agents may add exact source sites; missing runtime identity never earns credit.\"\n  ],\n  \"revision\": \"39ca9d7d1f39c05065d432c44ec16edcb22abc5b1bb52c452a2f7c9967120344\",\n  \"inheritance\": {\n    \"from\": \"run_22542c0dcded62fa\",\n    \"skipped\": []\n  },\n  \"view\": \"statements\",\n  \"file\": \"src/session.py\",\n  \"needsAttention\": false,\n  \"scope\": \"summary covers the whole run with matching current source; --file filters items only\",\n  \"workingTree\": {\n    \"stale\": false,\n    \"reasons\": []\n  },\n  \"run\": \"run_0aeff513ba4b08b5\",\n  \"map\": \"/private<project>/.supercov/runs/run_0aeff513ba4b08b5/assertions.json\"\n}\n"
        },
        {
          "args": [
            "runs",
            "run_0aeff513ba4b08b5",
            "decision",
            "src/session.py:2"
          ],
          "stdout": "py:decision:a94ffdcd7ac46d369f59ccff  src/session.py:2:7\nsigned_in and not expired\nC1 covered: signed_in\nC2 MISSING: not expired\nconfidence executed\nvectors:\n  TT -> T  tests=1 confidence=executed\n  F- -> F  tests=1 confidence=executed\nshowing 1-2 of 2 conditions/vectors/tests per decision\n"
        },
        {
          "args": [
            "--",
            "python3",
            "-m",
            "unittest",
            "discover",
            "-s",
            "tests"
          ],
          "stdout": "[coverage] evidence: /private<project>/.supercov/runs/run_0ca9d907e6f80621/evidence.raw.gz\n"
        },
        {
          "args": [
            "runs",
            "latest",
            "assertions",
            "--json"
          ],
          "stdout": "{\"schemaVersion\":1,\"ok\":true,\"command\":\"coverage.assertions\",\"data\":{\"items\":[{\"observation\":\"Passing assertion occurrence recorded.\",\"id\":\"a_c91aecfcdecfb04b7f97\",\"at\":{\"file\":\"tests/test_session.py\",\"line\":7,\"column\":9,\"text\":\"self.assertEqual(order[\\\"status\\\"], \\\"confirmed\\\")\"},\"questions\":[],\"inMap\":true,\"observes\":[\"The returned status equals confirmed for this test input.\"],\"operations\":[\"assertEqual\"],\"observedPassingTests\":[\"test_session.CheckoutTests.test_confirms_order\"],\"flows\":[{\"id\":\"returned-status\",\"freshness\":\"stale\",\"valid\":true,\"current\":false,\"expectedBasis\":\"scov2:3c7c56bb450f58adb46b77e2122e0bd8dec03973e7f534232afaf7ceefe9d209\",\"selectors\":[{\"file\":\"tests/test_session.py\",\"name\":\"test_session.CheckoutTests.test_confirms_order\",\"status\":\"observed\",\"outcomes\":[\"passed\"],\"reason\":\"A passing assertion occurrence matches this test.\"}],\"questions\":[],\"reasons\":[\"claim or inputs changed; needs rechecking\",\"dependency file changed or removed: tests/test_session.py\"],\"eligible\":false,\"blockers\":[\"flow requires review or reference repair\"],\"matchingTests\":[\"test_session.CheckoutTests.test_confirms_order\"],\"creditedStatementLines\":[],\"nodeCredit\":[{\"nodeId\":\"n0\",\"location\":{\"file\":\"src/session.py\",\"line\":2,\"column\":5},\"status\":\"notCredited\",\"statementIds\":[\"py:statement:1b9390afd17ef5deb8bd422b\"],\"matchingTests\":[\"test_session.CheckoutTests.test_confirms_order\"],\"reasons\":[{\"code\":\"flow_needs_attention\",\"message\":\"Flow needs investigation: claim or inputs changed; needs rechecking; dependency file changed or removed: tests/test_session.py\"}]},{\"nodeId\":\"n1\",\"location\":{\"file\":\"src/session.py\",\"line\":4,\"column\":9},\"status\":\"notCredited\",\"statementIds\":[\"py:statement:42621bd5227cda6a6b688b52\"],\"matchingTests\":[\"test_session.CheckoutTests.test_confirms_order\"],\"reasons\":[{\"code\":\"flow_needs_attention\",\"message\":\"Flow needs investigation: claim or inputs changed; needs rechecking; dependency file changed or removed: tests/test_session.py\"}]}]}]},{\"observation\":\"Passing assertion occurrence recorded.\",\"id\":\"a_a0534dcee7a2605904e2\",\"at\":{\"file\":\"tests/test_session.py\",\"line\":8,\"column\":9,\"text\":\"self.assertEqual(order[\\\"total\\\"], 50)\"},\"questions\":[],\"inMap\":true,\"observes\":[],\"operations\":[\"assertEqual\"],\"observedPassingTests\":[\"test_session.CheckoutTests.test_confirms_order\"],\"flows\":[]},{\"observation\":\"Passing assertion occurrence recorded.\",\"id\":\"a_85a3b2f2295356273f58\",\"at\":{\"file\":\"tests/test_session.py\",\"line\":12,\"column\":9,\"text\":\"self.assertEqual(order[\\\"status\\\"], \\\"denied\\\")\"},\"questions\":[],\"inMap\":true,\"observes\":[],\"operations\":[\"assertEqual\"],\"observedPassingTests\":[\"test_session.CheckoutTests.test_rejects_signed_out_visitor\"],\"flows\":[]},{\"observation\":\"Passing assertion occurrence recorded.\",\"id\":\"a_00a51e61087d426ee950\",\"at\":{\"file\":\"tests/test_session.py\",\"line\":16,\"column\":9,\"text\":\"self.assertEqual(order[\\\"status\\\"], \\\"denied\\\")\"},\"questions\":[],\"inMap\":true,\"observes\":[],\"operations\":[\"assertEqual\"],\"observedPassingTests\":[\"test_session.CheckoutTests.test_rejects_expired_session\"],\"flows\":[]}],\"pagination\":{\"offset\":0,\"returned\":4,\"total\":4,\"nextOffset\":null},\"summary\":{\"status\":\"pending\",\"reason\":\"Source changes need impact assessment\",\"pendingChanges\":1,\"metric\":\"measured statements\",\"statements\":{\"asserted\":0,\"declared\":2,\"total\":5,\"percentage\":null},\"assertions\":4,\"inventoryAssertions\":4,\"missingInventoryAssertions\":0,\"assertionsWithFlows\":1,\"assertionsWithoutFlows\":3,\"observedAssertionsWithoutCurrentExplanation\":4,\"questions\":0,\"currentFlows\":0,\"draftFlows\":0,\"staleFlows\":1,\"invalidFlows\":0,\"eligibleFlows\":0,\"retiredAssertions\":1,\"unobservedAssertions\":0,\"inventoryFailures\":0,\"unanchoredStatements\":0,\"runPassed\":true,\"lines\":{\"asserted\":0,\"declared\":2,\"total\":5,\"percentage\":null},\"excludedStatements\":0},\"basis\":\"agent-assessed; passing assertion identity and same-test execution required; not mutation resistance\",\"validationErrors\":[],\"limitations\":[\"Syntax inventory covers recognized assertion forms, not every possible custom assertion. Agents may add exact source sites; missing runtime identity never earns credit.\"],\"revision\":\"d164cc9b6ccae404acb90003a380c7083ee9dced7019076c857eb251ecfa2894\",\"inheritance\":{\"from\":\"run_0aeff513ba4b08b5\",\"skipped\":[]},\"view\":\"assertions\",\"file\":null,\"needsAttention\":false,\"scope\":\"summary covers the whole run with matching current source; --file filters items only\",\"workingTree\":{\"stale\":false,\"reasons\":[]},\"run\":\"run_0ca9d907e6f80621\",\"map\":\"/private<project>/.supercov/runs/run_0ca9d907e6f80621/assertions.json\"}}\n"
        },
        {
          "args": [
            "runs",
            "run_0ca9d907e6f80621",
            "assertions",
            "--json"
          ],
          "stdout": "{\"schemaVersion\":1,\"ok\":true,\"command\":\"coverage.assertions\",\"data\":{\"items\":[{\"observation\":\"Passing assertion occurrence recorded.\",\"id\":\"a_c91aecfcdecfb04b7f97\",\"at\":{\"file\":\"tests/test_session.py\",\"line\":7,\"column\":9,\"text\":\"self.assertEqual(order[\\\"status\\\"], \\\"confirmed\\\")\"},\"questions\":[],\"inMap\":true,\"observes\":[\"The returned status equals confirmed for this test input.\"],\"operations\":[\"assertEqual\"],\"observedPassingTests\":[\"test_session.CheckoutTests.test_confirms_order\"],\"flows\":[{\"id\":\"returned-status\",\"freshness\":\"stale\",\"valid\":true,\"current\":false,\"expectedBasis\":\"scov2:3c7c56bb450f58adb46b77e2122e0bd8dec03973e7f534232afaf7ceefe9d209\",\"selectors\":[{\"file\":\"tests/test_session.py\",\"name\":\"test_session.CheckoutTests.test_confirms_order\",\"status\":\"observed\",\"outcomes\":[\"passed\"],\"reason\":\"A passing assertion occurrence matches this test.\"}],\"questions\":[],\"reasons\":[\"claim or inputs changed; needs rechecking\",\"dependency file changed or removed: tests/test_session.py\"],\"eligible\":false,\"blockers\":[\"flow requires review or reference repair\"],\"matchingTests\":[\"test_session.CheckoutTests.test_confirms_order\"],\"creditedStatementLines\":[],\"nodeCredit\":[{\"nodeId\":\"n0\",\"location\":{\"file\":\"src/session.py\",\"line\":2,\"column\":5},\"status\":\"notCredited\",\"statementIds\":[\"py:statement:1b9390afd17ef5deb8bd422b\"],\"matchingTests\":[\"test_session.CheckoutTests.test_confirms_order\"],\"reasons\":[{\"code\":\"flow_needs_attention\",\"message\":\"Flow needs investigation: claim or inputs changed; needs rechecking; dependency file changed or removed: tests/test_session.py\"}]},{\"nodeId\":\"n1\",\"location\":{\"file\":\"src/session.py\",\"line\":4,\"column\":9},\"status\":\"notCredited\",\"statementIds\":[\"py:statement:42621bd5227cda6a6b688b52\"],\"matchingTests\":[\"test_session.CheckoutTests.test_confirms_order\"],\"reasons\":[{\"code\":\"flow_needs_attention\",\"message\":\"Flow needs investigation: claim or inputs changed; needs rechecking; dependency file changed or removed: tests/test_session.py\"}]}]}]},{\"observation\":\"Passing assertion occurrence recorded.\",\"id\":\"a_a0534dcee7a2605904e2\",\"at\":{\"file\":\"tests/test_session.py\",\"line\":8,\"column\":9,\"text\":\"self.assertEqual(order[\\\"total\\\"], 50)\"},\"questions\":[],\"inMap\":true,\"observes\":[],\"operations\":[\"assertEqual\"],\"observedPassingTests\":[\"test_session.CheckoutTests.test_confirms_order\"],\"flows\":[]},{\"observation\":\"Passing assertion occurrence recorded.\",\"id\":\"a_85a3b2f2295356273f58\",\"at\":{\"file\":\"tests/test_session.py\",\"line\":12,\"column\":9,\"text\":\"self.assertEqual(order[\\\"status\\\"], \\\"denied\\\")\"},\"questions\":[],\"inMap\":true,\"observes\":[],\"operations\":[\"assertEqual\"],\"observedPassingTests\":[\"test_session.CheckoutTests.test_rejects_signed_out_visitor\"],\"flows\":[]},{\"observation\":\"Passing assertion occurrence recorded.\",\"id\":\"a_00a51e61087d426ee950\",\"at\":{\"file\":\"tests/test_session.py\",\"line\":16,\"column\":9,\"text\":\"self.assertEqual(order[\\\"status\\\"], \\\"denied\\\")\"},\"questions\":[],\"inMap\":true,\"observes\":[],\"operations\":[\"assertEqual\"],\"observedPassingTests\":[\"test_session.CheckoutTests.test_rejects_expired_session\"],\"flows\":[]}],\"pagination\":{\"offset\":0,\"returned\":4,\"total\":4,\"nextOffset\":null},\"summary\":{\"status\":\"pending\",\"reason\":\"Source changes need impact assessment\",\"pendingChanges\":1,\"metric\":\"measured statements\",\"statements\":{\"asserted\":0,\"declared\":2,\"total\":5,\"percentage\":null},\"assertions\":4,\"inventoryAssertions\":4,\"missingInventoryAssertions\":0,\"assertionsWithFlows\":1,\"assertionsWithoutFlows\":3,\"observedAssertionsWithoutCurrentExplanation\":4,\"questions\":0,\"currentFlows\":0,\"draftFlows\":0,\"staleFlows\":1,\"invalidFlows\":0,\"eligibleFlows\":0,\"retiredAssertions\":1,\"unobservedAssertions\":0,\"inventoryFailures\":0,\"unanchoredStatements\":0,\"runPassed\":true,\"lines\":{\"asserted\":0,\"declared\":2,\"total\":5,\"percentage\":null},\"excludedStatements\":0},\"basis\":\"agent-assessed; passing assertion identity and same-test execution required; not mutation resistance\",\"validationErrors\":[],\"limitations\":[\"Syntax inventory covers recognized assertion forms, not every possible custom assertion. Agents may add exact source sites; missing runtime identity never earns credit.\"],\"revision\":\"d164cc9b6ccae404acb90003a380c7083ee9dced7019076c857eb251ecfa2894\",\"inheritance\":{\"from\":\"run_0aeff513ba4b08b5\",\"skipped\":[]},\"view\":\"assertions\",\"file\":null,\"needsAttention\":false,\"scope\":\"summary covers the whole run with matching current source; --file filters items only\",\"workingTree\":{\"stale\":false,\"reasons\":[]},\"run\":\"run_0ca9d907e6f80621\",\"map\":\"/private<project>/.supercov/runs/run_0ca9d907e6f80621/assertions.json\"}}\n"
        },
        {
          "args": [
            "runs",
            "run_0ca9d907e6f80621",
            "assertions",
            "report",
            "--view",
            "statements",
            "--json"
          ],
          "stdout": "{\"schemaVersion\":1,\"ok\":true,\"command\":\"coverage.assertions\",\"data\":{\"items\":[{\"id\":\"py:statement:6da07cf8f13350dc9356814b\",\"file\":\"src/session.py\",\"line\":1,\"at\":{\"file\":\"src/session.py\",\"line\":1,\"column\":1,\"text\":\"def checkout(signed_in, expired, price, quantity):\\n    if signed_in and not expired:\\n        total = price * quantity\\n        return {\\\"status\\\": \\\"confirmed\\\", \\\"total\\\": total}\\n    return {\\\"status\\\": \\\"denied\\\", \\\"total\\\": 0}\"},\"covered\":false,\"tests\":[],\"declared\":false,\"asserted\":false,\"flows\":[],\"executionEvidence\":{\"anyExecution\":true,\"passingTests\":[],\"outsidePassingTests\":[\"__supercov_background__:main\"]}},{\"id\":\"py:statement:1b9390afd17ef5deb8bd422b\",\"file\":\"src/session.py\",\"line\":2,\"at\":{\"file\":\"src/session.py\",\"line\":2,\"column\":5,\"text\":\"if signed_in and not expired:\\n        total = price * quantity\\n        return {\\\"status\\\": \\\"confirmed\\\", \\\"total\\\": total}\"},\"covered\":true,\"tests\":[\"test_session.CheckoutTests.test_confirms_order\",\"test_session.CheckoutTests.test_rejects_expired_session\",\"test_session.CheckoutTests.test_rejects_signed_out_visitor\"],\"declared\":true,\"asserted\":false,\"flows\":[],\"executionEvidence\":{\"anyExecution\":true,\"passingTests\":[\"test_session.CheckoutTests.test_confirms_order\",\"test_session.CheckoutTests.test_rejects_expired_session\",\"test_session.CheckoutTests.test_rejects_signed_out_visitor\"],\"outsidePassingTests\":[]}},{\"id\":\"py:statement:69cb293942792813a94918b6\",\"file\":\"src/session.py\",\"line\":3,\"at\":{\"file\":\"src/session.py\",\"line\":3,\"column\":9,\"text\":\"total = price * quantity\"},\"covered\":true,\"tests\":[\"test_session.CheckoutTests.test_confirms_order\"],\"declared\":false,\"asserted\":false,\"flows\":[],\"executionEvidence\":{\"anyExecution\":true,\"passingTests\":[\"test_session.CheckoutTests.test_confirms_order\"],\"outsidePassingTests\":[]}},{\"id\":\"py:statement:42621bd5227cda6a6b688b52\",\"file\":\"src/session.py\",\"line\":4,\"at\":{\"file\":\"src/session.py\",\"line\":4,\"column\":9,\"text\":\"return {\\\"status\\\": \\\"confirmed\\\", \\\"total\\\": total}\"},\"covered\":true,\"tests\":[\"test_session.CheckoutTests.test_confirms_order\"],\"declared\":true,\"asserted\":false,\"flows\":[],\"executionEvidence\":{\"anyExecution\":true,\"passingTests\":[\"test_session.CheckoutTests.test_confirms_order\"],\"outsidePassingTests\":[]}},{\"id\":\"py:statement:f35f57e149998eeb2e5116f7\",\"file\":\"src/session.py\",\"line\":5,\"at\":{\"file\":\"src/session.py\",\"line\":5,\"column\":5,\"text\":\"return {\\\"status\\\": \\\"denied\\\", \\\"total\\\": 0}\"},\"covered\":true,\"tests\":[\"test_session.CheckoutTests.test_rejects_expired_session\",\"test_session.CheckoutTests.test_rejects_signed_out_visitor\"],\"declared\":false,\"asserted\":false,\"flows\":[],\"executionEvidence\":{\"anyExecution\":true,\"passingTests\":[\"test_session.CheckoutTests.test_rejects_expired_session\",\"test_session.CheckoutTests.test_rejects_signed_out_visitor\"],\"outsidePassingTests\":[]}}],\"pagination\":{\"offset\":0,\"returned\":5,\"total\":5,\"nextOffset\":null},\"summary\":{\"status\":\"pending\",\"reason\":\"Source changes need impact assessment\",\"pendingChanges\":1,\"metric\":\"measured statements\",\"statements\":{\"asserted\":0,\"declared\":2,\"total\":5,\"percentage\":null},\"assertions\":4,\"inventoryAssertions\":4,\"missingInventoryAssertions\":0,\"assertionsWithFlows\":1,\"assertionsWithoutFlows\":3,\"observedAssertionsWithoutCurrentExplanation\":4,\"questions\":0,\"currentFlows\":0,\"draftFlows\":0,\"staleFlows\":1,\"invalidFlows\":0,\"eligibleFlows\":0,\"retiredAssertions\":1,\"unobservedAssertions\":0,\"inventoryFailures\":0,\"unanchoredStatements\":0,\"runPassed\":true,\"lines\":{\"asserted\":0,\"declared\":2,\"total\":5,\"percentage\":null},\"excludedStatements\":0},\"basis\":\"agent-assessed; passing assertion identity and same-test execution required; not mutation resistance\",\"validationErrors\":[],\"limitations\":[\"Syntax inventory covers recognized assertion forms, not every possible custom assertion. Agents may add exact source sites; missing runtime identity never earns credit.\"],\"revision\":\"d164cc9b6ccae404acb90003a380c7083ee9dced7019076c857eb251ecfa2894\",\"inheritance\":{\"from\":\"run_0aeff513ba4b08b5\",\"skipped\":[]},\"view\":\"statements\",\"file\":null,\"needsAttention\":false,\"scope\":\"summary covers the whole run with matching current source; --file filters items only\",\"workingTree\":{\"stale\":false,\"reasons\":[]},\"run\":\"run_0ca9d907e6f80621\",\"map\":\"/private<project>/.supercov/runs/run_0ca9d907e6f80621/assertions.json\"}}\n"
        },
        {
          "args": [
            "runs",
            "run_0ca9d907e6f80621",
            "assertions",
            "report",
            "--view",
            "tests",
            "--json"
          ],
          "stdout": "{\"schemaVersion\":1,\"ok\":true,\"command\":\"coverage.assertions\",\"data\":{\"items\":[{\"id\":\"__supercov_background__:main\",\"file\":null,\"name\":\"Python import, collection and background execution\",\"role\":\"background\",\"outcome\":\"unknown\",\"provenance\":{\"runner\":\"unittest\",\"kind\":\"unit\",\"source\":\"python-monitoring-v1\"},\"hasExecutionEvidence\":true},{\"id\":\"test_session.CheckoutTests.test_confirms_order\",\"file\":\"tests/test_session.py\",\"name\":\"test_session.CheckoutTests.test_confirms_order\",\"role\":\"test\",\"outcome\":\"passed\",\"provenance\":{\"runner\":\"unittest\",\"kind\":\"unit\",\"source\":\"python-monitoring-v1\"},\"hasExecutionEvidence\":true},{\"id\":\"test_session.CheckoutTests.test_rejects_expired_session\",\"file\":\"tests/test_session.py\",\"name\":\"test_session.CheckoutTests.test_rejects_expired_session\",\"role\":\"test\",\"outcome\":\"passed\",\"provenance\":{\"runner\":\"unittest\",\"kind\":\"unit\",\"source\":\"python-monitoring-v1\"},\"hasExecutionEvidence\":true},{\"id\":\"test_session.CheckoutTests.test_rejects_signed_out_visitor\",\"file\":\"tests/test_session.py\",\"name\":\"test_session.CheckoutTests.test_rejects_signed_out_visitor\",\"role\":\"test\",\"outcome\":\"passed\",\"provenance\":{\"runner\":\"unittest\",\"kind\":\"unit\",\"source\":\"python-monitoring-v1\"},\"hasExecutionEvidence\":true}],\"pagination\":{\"offset\":0,\"returned\":4,\"total\":4,\"nextOffset\":null},\"summary\":{\"status\":\"pending\",\"reason\":\"Source changes need impact assessment\",\"pendingChanges\":1,\"metric\":\"measured statements\",\"statements\":{\"asserted\":0,\"declared\":2,\"total\":5,\"percentage\":null},\"assertions\":4,\"inventoryAssertions\":4,\"missingInventoryAssertions\":0,\"assertionsWithFlows\":1,\"assertionsWithoutFlows\":3,\"observedAssertionsWithoutCurrentExplanation\":4,\"questions\":0,\"currentFlows\":0,\"draftFlows\":0,\"staleFlows\":1,\"invalidFlows\":0,\"eligibleFlows\":0,\"retiredAssertions\":1,\"unobservedAssertions\":0,\"inventoryFailures\":0,\"unanchoredStatements\":0,\"runPassed\":true,\"lines\":{\"asserted\":0,\"declared\":2,\"total\":5,\"percentage\":null},\"excludedStatements\":0},\"basis\":\"agent-assessed; passing assertion identity and same-test execution required; not mutation resistance\",\"validationErrors\":[],\"limitations\":[\"Syntax inventory covers recognized assertion forms, not every possible custom assertion. Agents may add exact source sites; missing runtime identity never earns credit.\"],\"revision\":\"d164cc9b6ccae404acb90003a380c7083ee9dced7019076c857eb251ecfa2894\",\"inheritance\":{\"from\":\"run_0aeff513ba4b08b5\",\"skipped\":[]},\"view\":\"tests\",\"file\":null,\"needsAttention\":false,\"scope\":\"summary covers the whole run with matching current source; --file filters items only\",\"workingTree\":{\"stale\":false,\"reasons\":[]},\"run\":\"run_0ca9d907e6f80621\",\"map\":\"/private<project>/.supercov/runs/run_0ca9d907e6f80621/assertions.json\"}}\n"
        },
        {
          "args": [
            "runs",
            "run_0ca9d907e6f80621",
            "assertions",
            "report",
            "--view",
            "changes",
            "--json"
          ],
          "stdout": "{\"schemaVersion\":1,\"ok\":true,\"command\":\"coverage.assertions\",\"data\":{\"items\":[{\"id\":\"c_4a086f88ecfe6d449dedf9fc\",\"file\":\"tests/test_session.py\",\"before\":\"429d46d2aec33b9c04106f588e10981259a087a63cd1dc519c3475fd910309b7\",\"after\":\"d234da3de308cf228b8dc4c51c3f0c2edf4505deae832d7dd98611c45abca2f0\",\"reason\":\"captured source file changed\",\"knownFlows\":[\"a_c91aecfcdecfb04b7f97/returned-status\",\"a_cab2328449a4efc43b09/returned-status\"],\"current\":false,\"assessment\":null,\"errors\":[],\"expectedBasis\":null}],\"pagination\":{\"offset\":0,\"returned\":1,\"total\":1,\"nextOffset\":null},\"summary\":{\"status\":\"pending\",\"reason\":\"Source changes need impact assessment\",\"pendingChanges\":1,\"metric\":\"measured statements\",\"statements\":{\"asserted\":0,\"declared\":2,\"total\":5,\"percentage\":null},\"assertions\":4,\"inventoryAssertions\":4,\"missingInventoryAssertions\":0,\"assertionsWithFlows\":1,\"assertionsWithoutFlows\":3,\"observedAssertionsWithoutCurrentExplanation\":4,\"questions\":0,\"currentFlows\":0,\"draftFlows\":0,\"staleFlows\":1,\"invalidFlows\":0,\"eligibleFlows\":0,\"retiredAssertions\":1,\"unobservedAssertions\":0,\"inventoryFailures\":0,\"unanchoredStatements\":0,\"runPassed\":true,\"lines\":{\"asserted\":0,\"declared\":2,\"total\":5,\"percentage\":null},\"excludedStatements\":0},\"basis\":\"agent-assessed; passing assertion identity and same-test execution required; not mutation resistance\",\"validationErrors\":[],\"limitations\":[\"Syntax inventory covers recognized assertion forms, not every possible custom assertion. Agents may add exact source sites; missing runtime identity never earns credit.\"],\"revision\":\"d164cc9b6ccae404acb90003a380c7083ee9dced7019076c857eb251ecfa2894\",\"inheritance\":{\"from\":\"run_0aeff513ba4b08b5\",\"skipped\":[]},\"view\":\"changes\",\"file\":null,\"needsAttention\":false,\"scope\":\"summary covers the whole run with matching current source; --file filters items only\",\"workingTree\":{\"stale\":false,\"reasons\":[]},\"run\":\"run_0ca9d907e6f80621\",\"map\":\"/private<project>/.supercov/runs/run_0ca9d907e6f80621/assertions.json\"}}\n"
        },
        {
          "args": [
            "runs",
            "run_0ca9d907e6f80621",
            "assertions",
            "validate",
            "--json"
          ],
          "stdout": "{\"schemaVersion\":1,\"ok\":true,\"command\":\"coverage.assertions\",\"data\":{\"valid\":true,\"stage\":\"references\",\"errors\":[],\"flows\":[{\"id\":\"a_c91aecfcdecfb04b7f97/returned-status\",\"expectedBasis\":\"scov2:3c7c56bb450f58adb46b77e2122e0bd8dec03973e7f534232afaf7ceefe9d209\",\"reasons\":[\"dependency file changed or removed: tests/test_session.py\",\"draft: input acknowledgement not recorded\"]},{\"id\":\"a_a0534dcee7a2605904e2/calculated-total\",\"expectedBasis\":\"scov2:a98d5596c3a422737bf6ac97cdde0bcc25c73162ca2d346addeff0d301d83772\",\"reasons\":[\"draft: input acknowledgement not recorded\"]},{\"id\":\"a_85a3b2f2295356273f58/returned-status\",\"expectedBasis\":\"scov2:e6df2468279aa66906179fc39371570a7e5b033264f0fea70664d61b99717e79\",\"reasons\":[\"draft: input acknowledgement not recorded\"]},{\"id\":\"a_00a51e61087d426ee950/returned-status\",\"expectedBasis\":\"scov2:2449ea70cedcda3d3ada149400a90e6acae321d0454b7df6468a3413a59fe578\",\"reasons\":[\"draft: input acknowledgement not recorded\"]}],\"changes\":[{\"id\":\"c_4a086f88ecfe6d449dedf9fc\",\"file\":\"tests/test_session.py\",\"before\":\"429d46d2aec33b9c04106f588e10981259a087a63cd1dc519c3475fd910309b7\",\"after\":\"d234da3de308cf228b8dc4c51c3f0c2edf4505deae832d7dd98611c45abca2f0\",\"reason\":\"captured source file changed\",\"knownFlows\":[\"a_c91aecfcdecfb04b7f97/returned-status\",\"a_cab2328449a4efc43b09/returned-status\"],\"current\":false,\"assessment\":{\"id\":\"c_4a086f88ecfe6d449dedf9fc\",\"basis\":null,\"affectedFlows\":[\"a_c91aecfcdecfb04b7f97/returned-status\"],\"explanation\":\"Only the fixture test file changed. The current test inputs and assertions have been reviewed against this run’s mappings. The application source is unchanged.\"},\"errors\":[],\"expectedBasis\":\"scov2:ac5c4d756ed4616285908c00c2d4ddfce1576d3e4eb5c903cefd7706fa7f4b43\"}],\"meaning\":\"Authored graph references and input acknowledgements only; no semantic proof or completeness claim\",\"revision\":\"b4c9197f48cd96405d47187987277402d96a948f3fcc3e12bd128c6f53e0c6e9\",\"workingTree\":{\"stale\":false,\"reasons\":[]},\"run\":\"run_0ca9d907e6f80621\",\"map\":\"/private<project>/.supercov/runs/run_0ca9d907e6f80621/assertions.json\"}}\n"
        },
        {
          "args": [
            "runs",
            "run_0ca9d907e6f80621",
            "assertions",
            "validate",
            "--json"
          ],
          "stdout": "{\"schemaVersion\":1,\"ok\":true,\"command\":\"coverage.assertions\",\"data\":{\"valid\":true,\"stage\":\"references\",\"errors\":[],\"flows\":[{\"id\":\"a_c91aecfcdecfb04b7f97/returned-status\",\"expectedBasis\":\"scov2:add3433069dc4873f002f787a432a29f1d6d4562e6991cf74f206027d6b74686\",\"reasons\":[\"dependency file changed or removed: tests/test_session.py\",\"draft: input acknowledgement not recorded\"]},{\"id\":\"a_a0534dcee7a2605904e2/calculated-total\",\"expectedBasis\":\"scov2:a98d5596c3a422737bf6ac97cdde0bcc25c73162ca2d346addeff0d301d83772\",\"reasons\":[\"draft: input acknowledgement not recorded\"]},{\"id\":\"a_85a3b2f2295356273f58/returned-status\",\"expectedBasis\":\"scov2:e6df2468279aa66906179fc39371570a7e5b033264f0fea70664d61b99717e79\",\"reasons\":[\"draft: input acknowledgement not recorded\"]},{\"id\":\"a_00a51e61087d426ee950/returned-status\",\"expectedBasis\":\"scov2:2449ea70cedcda3d3ada149400a90e6acae321d0454b7df6468a3413a59fe578\",\"reasons\":[\"draft: input acknowledgement not recorded\"]}],\"changes\":[{\"id\":\"c_4a086f88ecfe6d449dedf9fc\",\"file\":\"tests/test_session.py\",\"before\":\"429d46d2aec33b9c04106f588e10981259a087a63cd1dc519c3475fd910309b7\",\"after\":\"d234da3de308cf228b8dc4c51c3f0c2edf4505deae832d7dd98611c45abca2f0\",\"reason\":\"captured source file changed\",\"knownFlows\":[\"a_c91aecfcdecfb04b7f97/returned-status\",\"a_cab2328449a4efc43b09/returned-status\"],\"current\":true,\"assessment\":{\"id\":\"c_4a086f88ecfe6d449dedf9fc\",\"basis\":\"scov2:ac5c4d756ed4616285908c00c2d4ddfce1576d3e4eb5c903cefd7706fa7f4b43\",\"affectedFlows\":[\"a_c91aecfcdecfb04b7f97/returned-status\"],\"explanation\":\"Only the fixture test file changed. The current test inputs and assertions have been reviewed against this run’s mappings. The application source is unchanged.\"},\"errors\":[],\"expectedBasis\":\"scov2:ac5c4d756ed4616285908c00c2d4ddfce1576d3e4eb5c903cefd7706fa7f4b43\"}],\"meaning\":\"Authored graph references and input acknowledgements only; no semantic proof or completeness claim\",\"revision\":\"7e7118bd7d3846b12365af77720da24182f71fa2174fc87840b72ba0d5fdefe1\",\"workingTree\":{\"stale\":false,\"reasons\":[]},\"run\":\"run_0ca9d907e6f80621\",\"map\":\"/private<project>/.supercov/runs/run_0ca9d907e6f80621/assertions.json\"}}\n"
        },
        {
          "args": [
            "runs",
            "run_0ca9d907e6f80621",
            "assertions",
            "check",
            "--require-mappings"
          ],
          "stdout": "{\n  \"summary\": {\n    \"status\": \"available\",\n    \"reason\": \"Agent-assessed statements; mapping completeness is unknown\",\n    \"pendingChanges\": 0,\n    \"metric\": \"measured statements\",\n    \"statements\": {\n      \"asserted\": 4,\n      \"declared\": 4,\n      \"total\": 5,\n      \"percentage\": 80.0\n    },\n    \"assertions\": 4,\n    \"inventoryAssertions\": 4,\n    \"missingInventoryAssertions\": 0,\n    \"assertionsWithFlows\": 4,\n    \"assertionsWithoutFlows\": 0,\n    \"observedAssertionsWithoutCurrentExplanation\": 0,\n    \"questions\": 0,\n    \"currentFlows\": 4,\n    \"draftFlows\": 0,\n    \"staleFlows\": 0,\n    \"invalidFlows\": 0,\n    \"eligibleFlows\": 4,\n    \"retiredAssertions\": 1,\n    \"unobservedAssertions\": 0,\n    \"inventoryFailures\": 0,\n    \"unanchoredStatements\": 0,\n    \"runPassed\": true,\n    \"lines\": {\n      \"asserted\": 4,\n      \"declared\": 4,\n      \"total\": 5,\n      \"percentage\": 80.0\n    },\n    \"excludedStatements\": 0\n  },\n  \"basis\": \"agent-assessed; passing assertion identity and same-test execution required; not mutation resistance\",\n  \"validationErrors\": [],\n  \"limitations\": [\n    \"Syntax inventory covers recognized assertion forms, not every possible custom assertion. Agents may add exact source sites; missing runtime identity never earns credit.\"\n  ],\n  \"revision\": \"98e1e041999b98c17775d2936e4467ba25b2f6493426bb731867b49b92e20933\",\n  \"inheritance\": {\n    \"from\": \"run_0aeff513ba4b08b5\",\n    \"skipped\": []\n  },\n  \"view\": \"summary\",\n  \"file\": null,\n  \"needsAttention\": false,\n  \"scope\": \"summary covers the whole run with matching current source; --file filters items only\",\n  \"workingTree\": {\n    \"stale\": false,\n    \"reasons\": []\n  },\n  \"valid\": true,\n  \"failures\": [],\n  \"requirements\": {\n    \"mappings\": true,\n    \"observed\": false,\n    \"minimum\": null\n  },\n  \"run\": \"run_0ca9d907e6f80621\",\n  \"map\": \"/private<project>/.supercov/runs/run_0ca9d907e6f80621/assertions.json\"\n}\n"
        },
        {
          "args": [
            "runs",
            "run_0ca9d907e6f80621"
          ],
          "stdout": "run run_0ca9d907e6f80621\ncommand: python3 -m unittest discover -s tests\n\nCoverage\n  Lines      100.00% (5/5)\n  Branches   100.00% (6/6)\n  MC/DC      100.00% (2/2)\nAssertions 80.00% (4/5) — agent-assessed statements, whole run\n  4 assertions with flows; 0 without; 4 current flows; 0 stale; 0 draft\n\nBy test kind\n  unit            3 test(s)  lines 100.00%  branches 100.00%  MC/DC 100.00%\n\nMeasurement\n  Instrumentation  Complete for the measured command and coverage model\n  Scope            Only code reached by the wrapped command is observed; this status does not prove every project test suite was run.\n\nTests\n  Total       3\n  Passed      3\n\nRemaining\n  Files with uncovered code         0\n  Files with measurement limits     0\n\nRuntime action phases (separate from assertion mappings)\n  Recorded within action phases      0 lines\n  Other recorded execution           5 lines\n  These runtime phase counts do not include the agent-assessed assertion coverage shown above.\n\nCommands\n  npx supercov runs 'run_0ca9d907e6f80621' files\n  npx supercov runs 'run_0ca9d907e6f80621' gaps\n  npx supercov runs 'run_0ca9d907e6f80621' kinds\n  npx supercov runs 'run_0ca9d907e6f80621' runners\n  npx supercov runs 'run_0ca9d907e6f80621' scope\n  npx supercov runs run_0ca9d907e6f80621 --help\n"
        },
        {
          "args": [
            "runs",
            "run_0ca9d907e6f80621",
            "assertions",
            "--json"
          ],
          "stdout": "{\"schemaVersion\":1,\"ok\":true,\"command\":\"coverage.assertions\",\"data\":{\"items\":[{\"observation\":\"Passing assertion occurrence recorded.\",\"id\":\"a_c91aecfcdecfb04b7f97\",\"at\":{\"file\":\"tests/test_session.py\",\"line\":7,\"column\":9,\"text\":\"self.assertEqual(order[\\\"status\\\"], \\\"confirmed\\\")\"},\"questions\":[],\"inMap\":true,\"observes\":[\"The returned status equals confirmed for this test input.\"],\"operations\":[\"assertEqual\"],\"observedPassingTests\":[\"test_session.CheckoutTests.test_confirms_order\"],\"flows\":[{\"id\":\"returned-status\",\"freshness\":\"current\",\"valid\":true,\"current\":true,\"expectedBasis\":\"scov2:add3433069dc4873f002f787a432a29f1d6d4562e6991cf74f206027d6b74686\",\"selectors\":[{\"file\":\"tests/test_session.py\",\"name\":\"test_session.CheckoutTests.test_confirms_order\",\"status\":\"observed\",\"outcomes\":[\"passed\"],\"reason\":\"A passing assertion occurrence matches this test.\"}],\"questions\":[],\"reasons\":[],\"eligible\":true,\"blockers\":[],\"matchingTests\":[\"test_session.CheckoutTests.test_confirms_order\"],\"creditedStatementLines\":[[\"src/session.py\",2],[\"src/session.py\",4]],\"nodeCredit\":[{\"nodeId\":\"n0\",\"location\":{\"file\":\"src/session.py\",\"line\":2,\"column\":5},\"status\":\"credited\",\"statementIds\":[\"py:statement:1b9390afd17ef5deb8bd422b\"],\"matchingTests\":[\"test_session.CheckoutTests.test_confirms_order\"],\"reasons\":[{\"code\":\"same_test_execution\",\"message\":\"Current agent claim, passing assertion, and statement execution in the same selected test.\"}]},{\"nodeId\":\"n1\",\"location\":{\"file\":\"src/session.py\",\"line\":4,\"column\":9},\"status\":\"credited\",\"statementIds\":[\"py:statement:42621bd5227cda6a6b688b52\"],\"matchingTests\":[\"test_session.CheckoutTests.test_confirms_order\"],\"reasons\":[{\"code\":\"same_test_execution\",\"message\":\"Current agent claim, passing assertion, and statement execution in the same selected test.\"}]}]}]},{\"observation\":\"Passing assertion occurrence recorded.\",\"id\":\"a_a0534dcee7a2605904e2\",\"at\":{\"file\":\"tests/test_session.py\",\"line\":8,\"column\":9,\"text\":\"self.assertEqual(order[\\\"total\\\"], 50)\"},\"questions\":[],\"inMap\":true,\"observes\":[\"The total equals 50 for two items at 25.\"],\"operations\":[\"assertEqual\"],\"observedPassingTests\":[\"test_session.CheckoutTests.test_confirms_order\"],\"flows\":[{\"id\":\"calculated-total\",\"freshness\":\"current\",\"valid\":true,\"current\":true,\"expectedBasis\":\"scov2:a98d5596c3a422737bf6ac97cdde0bcc25c73162ca2d346addeff0d301d83772\",\"selectors\":[{\"file\":\"tests/test_session.py\",\"name\":\"test_session.CheckoutTests.test_confirms_order\",\"status\":\"observed\",\"outcomes\":[\"passed\"],\"reason\":\"A passing assertion occurrence matches this test.\"}],\"questions\":[],\"reasons\":[],\"eligible\":true,\"blockers\":[],\"matchingTests\":[\"test_session.CheckoutTests.test_confirms_order\"],\"creditedStatementLines\":[[\"src/session.py\",3],[\"src/session.py\",4]],\"nodeCredit\":[{\"nodeId\":\"n0\",\"location\":{\"file\":\"src/session.py\",\"line\":3,\"column\":9},\"status\":\"credited\",\"statementIds\":[\"py:statement:69cb293942792813a94918b6\"],\"matchingTests\":[\"test_session.CheckoutTests.test_confirms_order\"],\"reasons\":[{\"code\":\"same_test_execution\",\"message\":\"Current agent claim, passing assertion, and statement execution in the same selected test.\"}]},{\"nodeId\":\"n1\",\"location\":{\"file\":\"src/session.py\",\"line\":4,\"column\":9},\"status\":\"credited\",\"statementIds\":[\"py:statement:42621bd5227cda6a6b688b52\"],\"matchingTests\":[\"test_session.CheckoutTests.test_confirms_order\"],\"reasons\":[{\"code\":\"same_test_execution\",\"message\":\"Current agent claim, passing assertion, and statement execution in the same selected test.\"}]}]}]},{\"observation\":\"Passing assertion occurrence recorded.\",\"id\":\"a_85a3b2f2295356273f58\",\"at\":{\"file\":\"tests/test_session.py\",\"line\":12,\"column\":9,\"text\":\"self.assertEqual(order[\\\"status\\\"], \\\"denied\\\")\"},\"questions\":[],\"inMap\":true,\"observes\":[\"The returned status equals denied for this test input.\"],\"operations\":[\"assertEqual\"],\"observedPassingTests\":[\"test_session.CheckoutTests.test_rejects_signed_out_visitor\"],\"flows\":[{\"id\":\"returned-status\",\"freshness\":\"current\",\"valid\":true,\"current\":true,\"expectedBasis\":\"scov2:e6df2468279aa66906179fc39371570a7e5b033264f0fea70664d61b99717e79\",\"selectors\":[{\"file\":\"tests/test_session.py\",\"name\":\"test_session.CheckoutTests.test_rejects_signed_out_visitor\",\"status\":\"observed\",\"outcomes\":[\"passed\"],\"reason\":\"A passing assertion occurrence matches this test.\"}],\"questions\":[],\"reasons\":[],\"eligible\":true,\"blockers\":[],\"matchingTests\":[\"test_session.CheckoutTests.test_rejects_signed_out_visitor\"],\"creditedStatementLines\":[[\"src/session.py\",2],[\"src/session.py\",5]],\"nodeCredit\":[{\"nodeId\":\"n0\",\"location\":{\"file\":\"src/session.py\",\"line\":2,\"column\":5},\"status\":\"credited\",\"statementIds\":[\"py:statement:1b9390afd17ef5deb8bd422b\"],\"matchingTests\":[\"test_session.CheckoutTests.test_rejects_signed_out_visitor\"],\"reasons\":[{\"code\":\"same_test_execution\",\"message\":\"Current agent claim, passing assertion, and statement execution in the same selected test.\"}]},{\"nodeId\":\"n1\",\"location\":{\"file\":\"src/session.py\",\"line\":5,\"column\":5},\"status\":\"credited\",\"statementIds\":[\"py:statement:f35f57e149998eeb2e5116f7\"],\"matchingTests\":[\"test_session.CheckoutTests.test_rejects_signed_out_visitor\"],\"reasons\":[{\"code\":\"same_test_execution\",\"message\":\"Current agent claim, passing assertion, and statement execution in the same selected test.\"}]}]}]},{\"observation\":\"Passing assertion occurrence recorded.\",\"id\":\"a_00a51e61087d426ee950\",\"at\":{\"file\":\"tests/test_session.py\",\"line\":16,\"column\":9,\"text\":\"self.assertEqual(order[\\\"status\\\"], \\\"denied\\\")\"},\"questions\":[],\"inMap\":true,\"observes\":[\"The returned status equals denied for this test input.\"],\"operations\":[\"assertEqual\"],\"observedPassingTests\":[\"test_session.CheckoutTests.test_rejects_expired_session\"],\"flows\":[{\"id\":\"returned-status\",\"freshness\":\"current\",\"valid\":true,\"current\":true,\"expectedBasis\":\"scov2:2449ea70cedcda3d3ada149400a90e6acae321d0454b7df6468a3413a59fe578\",\"selectors\":[{\"file\":\"tests/test_session.py\",\"name\":\"test_session.CheckoutTests.test_rejects_expired_session\",\"status\":\"observed\",\"outcomes\":[\"passed\"],\"reason\":\"A passing assertion occurrence matches this test.\"}],\"questions\":[],\"reasons\":[],\"eligible\":true,\"blockers\":[],\"matchingTests\":[\"test_session.CheckoutTests.test_rejects_expired_session\"],\"creditedStatementLines\":[[\"src/session.py\",2],[\"src/session.py\",5]],\"nodeCredit\":[{\"nodeId\":\"n0\",\"location\":{\"file\":\"src/session.py\",\"line\":2,\"column\":5},\"status\":\"credited\",\"statementIds\":[\"py:statement:1b9390afd17ef5deb8bd422b\"],\"matchingTests\":[\"test_session.CheckoutTests.test_rejects_expired_session\"],\"reasons\":[{\"code\":\"same_test_execution\",\"message\":\"Current agent claim, passing assertion, and statement execution in the same selected test.\"}]},{\"nodeId\":\"n1\",\"location\":{\"file\":\"src/session.py\",\"line\":5,\"column\":5},\"status\":\"credited\",\"statementIds\":[\"py:statement:f35f57e149998eeb2e5116f7\"],\"matchingTests\":[\"test_session.CheckoutTests.test_rejects_expired_session\"],\"reasons\":[{\"code\":\"same_test_execution\",\"message\":\"Current agent claim, passing assertion, and statement execution in the same selected test.\"}]}]}]}],\"pagination\":{\"offset\":0,\"returned\":4,\"total\":4,\"nextOffset\":null},\"summary\":{\"status\":\"available\",\"reason\":\"Agent-assessed statements; mapping completeness is unknown\",\"pendingChanges\":0,\"metric\":\"measured statements\",\"statements\":{\"asserted\":4,\"declared\":4,\"total\":5,\"percentage\":80.0},\"assertions\":4,\"inventoryAssertions\":4,\"missingInventoryAssertions\":0,\"assertionsWithFlows\":4,\"assertionsWithoutFlows\":0,\"observedAssertionsWithoutCurrentExplanation\":0,\"questions\":0,\"currentFlows\":4,\"draftFlows\":0,\"staleFlows\":0,\"invalidFlows\":0,\"eligibleFlows\":4,\"retiredAssertions\":1,\"unobservedAssertions\":0,\"inventoryFailures\":0,\"unanchoredStatements\":0,\"runPassed\":true,\"lines\":{\"asserted\":4,\"declared\":4,\"total\":5,\"percentage\":80.0},\"excludedStatements\":0},\"basis\":\"agent-assessed; passing assertion identity and same-test execution required; not mutation resistance\",\"validationErrors\":[],\"limitations\":[\"Syntax inventory covers recognized assertion forms, not every possible custom assertion. Agents may add exact source sites; missing runtime identity never earns credit.\"],\"revision\":\"98e1e041999b98c17775d2936e4467ba25b2f6493426bb731867b49b92e20933\",\"inheritance\":{\"from\":\"run_0aeff513ba4b08b5\",\"skipped\":[]},\"view\":\"assertions\",\"file\":null,\"needsAttention\":false,\"scope\":\"summary covers the whole run with matching current source; --file filters items only\",\"workingTree\":{\"stale\":false,\"reasons\":[]},\"run\":\"run_0ca9d907e6f80621\",\"map\":\"/private<project>/.supercov/runs/run_0ca9d907e6f80621/assertions.json\"}}\n"
        },
        {
          "args": [
            "runs",
            "run_0ca9d907e6f80621"
          ],
          "stdout": "run run_0ca9d907e6f80621\ncommand: python3 -m unittest discover -s tests\n\nCoverage\n  Lines      100.00% (5/5)\n  Branches   100.00% (6/6)\n  MC/DC      100.00% (2/2)\nAssertions 80.00% (4/5) — agent-assessed statements, whole run\n  4 assertions with flows; 0 without; 4 current flows; 0 stale; 0 draft\n\nBy test kind\n  unit            3 test(s)  lines 100.00%  branches 100.00%  MC/DC 100.00%\n\nMeasurement\n  Instrumentation  Complete for the measured command and coverage model\n  Scope            Only code reached by the wrapped command is observed; this status does not prove every project test suite was run.\n\nTests\n  Total       3\n  Passed      3\n\nRemaining\n  Files with uncovered code         0\n  Files with measurement limits     0\n\nRuntime action phases (separate from assertion mappings)\n  Recorded within action phases      0 lines\n  Other recorded execution           5 lines\n  These runtime phase counts do not include the agent-assessed assertion coverage shown above.\n\nCommands\n  npx supercov runs 'run_0ca9d907e6f80621' files\n  npx supercov runs 'run_0ca9d907e6f80621' gaps\n  npx supercov runs 'run_0ca9d907e6f80621' kinds\n  npx supercov runs 'run_0ca9d907e6f80621' runners\n  npx supercov runs 'run_0ca9d907e6f80621' scope\n  npx supercov runs run_0ca9d907e6f80621 --help\n"
        },
        {
          "args": [
            "runs",
            "run_0ca9d907e6f80621",
            "gaps",
            "--limit",
            "5"
          ],
          "stdout": "Coverage gaps — only files with unresolved obligations\n\n\n\nshowing 0-0 of 0\n"
        },
        {
          "args": [
            "runs",
            "run_0ca9d907e6f80621",
            "file",
            "src/session.py"
          ],
          "stdout": "src/session.py\n\nUncovered\n  Lines not executed              0\n  Statements not executed         0\n  Functions not called            0\n  Branch outcomes not taken       0\n  MC/DC conditions not shown      0\n  Measurement limitations         0\n\nTests touching this file: 4\n\nGaps\n  NOT COVERED = line never executed; PARTIAL = line executed but some behavior remains untested\n LINE  STATUS        SOURCE\nshowing 0-0 of 0 gap lines\n"
        },
        {
          "args": [
            "runs",
            "run_0ca9d907e6f80621",
            "line",
            "src/session.py:3"
          ],
          "stdout": "src/session.py:3\n\nSource\n      3 | total = price * quantity\n\nStatus\n  COVERED\n  Evidence: execution only\n\nCoverage details\n  Statement at column 8 — covered (1 covering tests)\n    `total = price * quantity`\n\nCovering tests\n  test_session.CheckoutTests.test_confirms_order [test_session.CheckoutTests.test_confirms_order] — unit/unittest\n\nTest phases\n  unittest assertion (passed) at test_session.CheckoutTests.test_confirms_order\n  unittest call (passed) at test_session.CheckoutTests.test_confirms_order\n"
        },
        {
          "args": [
            "runs",
            "run_0ca9d907e6f80621",
            "decision",
            "src/session.py:2"
          ],
          "stdout": "py:decision:a94ffdcd7ac46d369f59ccff  src/session.py:2:7\nsigned_in and not expired\nC1 covered: signed_in\nC2 covered: not expired\nconfidence executed\nvectors:\n  TT -> T  tests=1 confidence=executed\n  TF -> F  tests=1 confidence=executed\n  F- -> F  tests=1 confidence=executed\nshowing 1-3 of 3 conditions/vectors/tests per decision\n"
        },
        {
          "args": [
            "runs",
            "run_0ca9d907e6f80621",
            "assertions",
            "report",
            "--view",
            "statements",
            "--file",
            "src/session.py"
          ],
          "stdout": "{\n  \"items\": [\n    {\n      \"id\": \"py:statement:6da07cf8f13350dc9356814b\",\n      \"file\": \"src/session.py\",\n      \"line\": 1,\n      \"at\": {\n        \"file\": \"src/session.py\",\n        \"line\": 1,\n        \"column\": 1,\n        \"text\": \"def checkout(signed_in, expired, price, quantity):\\n    if signed_in and not expired:\\n        total = price * quantity\\n        return {\\\"status\\\": \\\"confirmed\\\", \\\"total\\\": total}\\n    return {\\\"status\\\": \\\"denied\\\", \\\"total\\\": 0}\"\n      },\n      \"covered\": false,\n      \"tests\": [],\n      \"declared\": false,\n      \"asserted\": false,\n      \"flows\": [],\n      \"executionEvidence\": {\n        \"anyExecution\": true,\n        \"passingTests\": [],\n        \"outsidePassingTests\": [\n          \"__supercov_background__:main\"\n        ]\n      }\n    },\n    {\n      \"id\": \"py:statement:1b9390afd17ef5deb8bd422b\",\n      \"file\": \"src/session.py\",\n      \"line\": 2,\n      \"at\": {\n        \"file\": \"src/session.py\",\n        \"line\": 2,\n        \"column\": 5,\n        \"text\": \"if signed_in and not expired:\\n        total = price * quantity\\n        return {\\\"status\\\": \\\"confirmed\\\", \\\"total\\\": total}\"\n      },\n      \"covered\": true,\n      \"tests\": [\n        \"test_session.CheckoutTests.test_confirms_order\",\n        \"test_session.CheckoutTests.test_rejects_expired_session\",\n        \"test_session.CheckoutTests.test_rejects_signed_out_visitor\"\n      ],\n      \"declared\": true,\n      \"asserted\": true,\n      \"flows\": [\n        \"a_00a51e61087d426ee950/returned-status\",\n        \"a_85a3b2f2295356273f58/returned-status\",\n        \"a_c91aecfcdecfb04b7f97/returned-status\"\n      ],\n      \"executionEvidence\": {\n        \"anyExecution\": true,\n        \"passingTests\": [\n          \"test_session.CheckoutTests.test_confirms_order\",\n          \"test_session.CheckoutTests.test_rejects_expired_session\",\n          \"test_session.CheckoutTests.test_rejects_signed_out_visitor\"\n        ],\n        \"outsidePassingTests\": []\n      }\n    },\n    {\n      \"id\": \"py:statement:69cb293942792813a94918b6\",\n      \"file\": \"src/session.py\",\n      \"line\": 3,\n      \"at\": {\n        \"file\": \"src/session.py\",\n        \"line\": 3,\n        \"column\": 9,\n        \"text\": \"total = price * quantity\"\n      },\n      \"covered\": true,\n      \"tests\": [\n        \"test_session.CheckoutTests.test_confirms_order\"\n      ],\n      \"declared\": true,\n      \"asserted\": true,\n      \"flows\": [\n        \"a_a0534dcee7a2605904e2/calculated-total\"\n      ],\n      \"executionEvidence\": {\n        \"anyExecution\": true,\n        \"passingTests\": [\n          \"test_session.CheckoutTests.test_confirms_order\"\n        ],\n        \"outsidePassingTests\": []\n      }\n    },\n    {\n      \"id\": \"py:statement:42621bd5227cda6a6b688b52\",\n      \"file\": \"src/session.py\",\n      \"line\": 4,\n      \"at\": {\n        \"file\": \"src/session.py\",\n        \"line\": 4,\n        \"column\": 9,\n        \"text\": \"return {\\\"status\\\": \\\"confirmed\\\", \\\"total\\\": total}\"\n      },\n      \"covered\": true,\n      \"tests\": [\n        \"test_session.CheckoutTests.test_confirms_order\"\n      ],\n      \"declared\": true,\n      \"asserted\": true,\n      \"flows\": [\n        \"a_a0534dcee7a2605904e2/calculated-total\",\n        \"a_c91aecfcdecfb04b7f97/returned-status\"\n      ],\n      \"executionEvidence\": {\n        \"anyExecution\": true,\n        \"passingTests\": [\n          \"test_session.CheckoutTests.test_confirms_order\"\n        ],\n        \"outsidePassingTests\": []\n      }\n    },\n    {\n      \"id\": \"py:statement:f35f57e149998eeb2e5116f7\",\n      \"file\": \"src/session.py\",\n      \"line\": 5,\n      \"at\": {\n        \"file\": \"src/session.py\",\n        \"line\": 5,\n        \"column\": 5,\n        \"text\": \"return {\\\"status\\\": \\\"denied\\\", \\\"total\\\": 0}\"\n      },\n      \"covered\": true,\n      \"tests\": [\n        \"test_session.CheckoutTests.test_rejects_expired_session\",\n        \"test_session.CheckoutTests.test_rejects_signed_out_visitor\"\n      ],\n      \"declared\": true,\n      \"asserted\": true,\n      \"flows\": [\n        \"a_00a51e61087d426ee950/returned-status\",\n        \"a_85a3b2f2295356273f58/returned-status\"\n      ],\n      \"executionEvidence\": {\n        \"anyExecution\": true,\n        \"passingTests\": [\n          \"test_session.CheckoutTests.test_rejects_expired_session\",\n          \"test_session.CheckoutTests.test_rejects_signed_out_visitor\"\n        ],\n        \"outsidePassingTests\": []\n      }\n    }\n  ],\n  \"pagination\": {\n    \"offset\": 0,\n    \"returned\": 5,\n    \"total\": 5,\n    \"nextOffset\": null\n  },\n  \"summary\": {\n    \"status\": \"available\",\n    \"reason\": \"Agent-assessed statements; mapping completeness is unknown\",\n    \"pendingChanges\": 0,\n    \"metric\": \"measured statements\",\n    \"statements\": {\n      \"asserted\": 4,\n      \"declared\": 4,\n      \"total\": 5,\n      \"percentage\": 80.0\n    },\n    \"assertions\": 4,\n    \"inventoryAssertions\": 4,\n    \"missingInventoryAssertions\": 0,\n    \"assertionsWithFlows\": 4,\n    \"assertionsWithoutFlows\": 0,\n    \"observedAssertionsWithoutCurrentExplanation\": 0,\n    \"questions\": 0,\n    \"currentFlows\": 4,\n    \"draftFlows\": 0,\n    \"staleFlows\": 0,\n    \"invalidFlows\": 0,\n    \"eligibleFlows\": 4,\n    \"retiredAssertions\": 1,\n    \"unobservedAssertions\": 0,\n    \"inventoryFailures\": 0,\n    \"unanchoredStatements\": 0,\n    \"runPassed\": true,\n    \"lines\": {\n      \"asserted\": 4,\n      \"declared\": 4,\n      \"total\": 5,\n      \"percentage\": 80.0\n    },\n    \"excludedStatements\": 0\n  },\n  \"basis\": \"agent-assessed; passing assertion identity and same-test execution required; not mutation resistance\",\n  \"validationErrors\": [],\n  \"limitations\": [\n    \"Syntax inventory covers recognized assertion forms, not every possible custom assertion. Agents may add exact source sites; missing runtime identity never earns credit.\"\n  ],\n  \"revision\": \"98e1e041999b98c17775d2936e4467ba25b2f6493426bb731867b49b92e20933\",\n  \"inheritance\": {\n    \"from\": \"run_0aeff513ba4b08b5\",\n    \"skipped\": []\n  },\n  \"view\": \"statements\",\n  \"file\": \"src/session.py\",\n  \"needsAttention\": false,\n  \"scope\": \"summary covers the whole run with matching current source; --file filters items only\",\n  \"workingTree\": {\n    \"stale\": false,\n    \"reasons\": []\n  },\n  \"run\": \"run_0ca9d907e6f80621\",\n  \"map\": \"/private<project>/.supercov/runs/run_0ca9d907e6f80621/assertions.json\"\n}\n"
        },
        {
          "args": [
            "diff",
            "run_0aeff513ba4b08b5",
            "run_0ca9d907e6f80621"
          ],
          "stdout": "run_0aeff513ba4b08b5 -> run_0ca9d907e6f80621\nlines +0pp, branches +0pp, MC/DC +50pp\ngained: 0 lines, 0 branches, 1 MC/DC conditions\nlost: 0 lines, 0 branches, 0 MC/DC conditions\n+ MC/DC src/session.py:2 C2 not expired\nshowing 1-1 of 1 per category\n"
        }
      ],
      "structural": {
        "test": "import unittest\nfrom src.session import checkout\n\nclass CheckoutTests(unittest.TestCase):\n    def test_confirms_order(self):\n        order = checkout(True, False, 25, 2)\n        self.assertEqual(order[\"status\"], \"confirmed\")\n\n",
        "summary": "run run_22542c0dcded62fa\ncommand: python3 -m unittest discover -s tests\n\nCoverage\n  Lines      80.00% (4/5)\n  Branches   50.00% (3/6)\n  MC/DC      0.00% (0/2)\nAssertions not assessed — No recorded flow explanations\n  0 assertions with flows; 1 without; 0 current flows; 0 stale; 0 draft\n\nBy test kind\n  unit            1 test(s)  lines  80.00%  branches  50.00%  MC/DC   0.00%\n\nMeasurement\n  Instrumentation  Complete for the measured command and coverage model\n  Scope            Only code reached by the wrapped command is observed; this status does not prove every project test suite was run.\n\nTests\n  Total       1\n  Passed      1\n\nRemaining\n  Files with uncovered code         1\n  Files with measurement limits     0\n\nRuntime action phases (separate from assertion mappings)\n  Recorded within action phases      0 lines\n  Other recorded execution           4 lines\n  These runtime phase counts do not include the agent-assessed assertion coverage shown above.\n\nCommands\n  npx supercov runs 'run_22542c0dcded62fa' files\n  npx supercov runs 'run_22542c0dcded62fa' gaps\n  npx supercov runs 'run_22542c0dcded62fa' kinds\n  npx supercov runs 'run_22542c0dcded62fa' runners\n  npx supercov runs 'run_22542c0dcded62fa' scope\n  npx supercov runs run_22542c0dcded62fa --help\n",
        "gaps": "Coverage gaps — only files with unresolved obligations\n\nsrc/session.py\n  uncovered: lines 1  statements 1  functions 0  branch outcomes 2  MC/DC conditions 2\n\nshowing 1-1 of 1\ninspect file: npx supercov runs 'run_22542c0dcded62fa' file 'src/session.py'\n",
        "file": "src/session.py\n\nUncovered\n  Lines not executed              1\n  Statements not executed         1\n  Functions not called            0\n  Branch outcomes not taken       2\n  MC/DC conditions not shown      2\n  Measurement limitations         0\n\nTests touching this file: 2\n\nGaps\n  NOT COVERED = line never executed; PARTIAL = line executed but some behavior remains untested\n LINE  STATUS        SOURCE\n    2  PARTIAL       signed_in and not expired\n       Unobserved: branch outcome not observed: false\n       Unobserved: branch outcome not observed: short-circuited\n       Unobserved: no witness pair shows `signed_in` independently changing the decision result\n       Unobserved: no witness pair shows `not expired` independently changing the decision result\n       Inspect: npx supercov runs 'run_22542c0dcded62fa' line 'src/session.py:2'\n    5  NOT COVERED   return {\"status\": \"denied\", \"total\": 0}\nshowing 1-2 of 2 gap lines\n",
        "line": "src/session.py:3\n\nSource\n      3 | total = price * quantity\n\nStatus\n  COVERED\n  Evidence: execution only\n\nCoverage details\n  Statement at column 8 — covered (1 covering tests)\n    `total = price * quantity`\n\nCovering tests\n  test_session.CheckoutTests.test_confirms_order [test_session.CheckoutTests.test_confirms_order] — unit/unittest\n\nTest phases\n  unittest assertion (passed) at test_session.CheckoutTests.test_confirms_order\n  unittest call (passed) at test_session.CheckoutTests.test_confirms_order\n",
        "decision": "py:decision:a94ffdcd7ac46d369f59ccff  src/session.py:2:7\nsigned_in and not expired\nC1 MISSING: signed_in\nC2 MISSING: not expired\nconfidence executed\nvectors:\n  TT -> T  tests=1 confidence=executed\nshowing 1-2 of 2 conditions/vectors/tests per decision\n",
        "assertions": "{\n  \"items\": [\n    {\n      \"id\": \"py:statement:6da07cf8f13350dc9356814b\",\n      \"file\": \"src/session.py\",\n      \"line\": 1,\n      \"at\": {\n        \"file\": \"src/session.py\",\n        \"line\": 1,\n        \"column\": 1,\n        \"text\": \"def checkout(signed_in, expired, price, quantity):\\n    if signed_in and not expired:\\n        total = price * quantity\\n        return {\\\"status\\\": \\\"confirmed\\\", \\\"total\\\": total}\\n    return {\\\"status\\\": \\\"denied\\\", \\\"total\\\": 0}\"\n      },\n      \"covered\": false,\n      \"tests\": [],\n      \"declared\": false,\n      \"asserted\": false,\n      \"flows\": [],\n      \"executionEvidence\": {\n        \"anyExecution\": true,\n        \"passingTests\": [],\n        \"outsidePassingTests\": [\n          \"__supercov_background__:main\"\n        ]\n      }\n    },\n    {\n      \"id\": \"py:statement:1b9390afd17ef5deb8bd422b\",\n      \"file\": \"src/session.py\",\n      \"line\": 2,\n      \"at\": {\n        \"file\": \"src/session.py\",\n        \"line\": 2,\n        \"column\": 5,\n        \"text\": \"if signed_in and not expired:\\n        total = price * quantity\\n        return {\\\"status\\\": \\\"confirmed\\\", \\\"total\\\": total}\"\n      },\n      \"covered\": true,\n      \"tests\": [\n        \"test_session.CheckoutTests.test_confirms_order\"\n      ],\n      \"declared\": false,\n      \"asserted\": false,\n      \"flows\": [],\n      \"executionEvidence\": {\n        \"anyExecution\": true,\n        \"passingTests\": [\n          \"test_session.CheckoutTests.test_confirms_order\"\n        ],\n        \"outsidePassingTests\": []\n      }\n    },\n    {\n      \"id\": \"py:statement:69cb293942792813a94918b6\",\n      \"file\": \"src/session.py\",\n      \"line\": 3,\n      \"at\": {\n        \"file\": \"src/session.py\",\n        \"line\": 3,\n        \"column\": 9,\n        \"text\": \"total = price * quantity\"\n      },\n      \"covered\": true,\n      \"tests\": [\n        \"test_session.CheckoutTests.test_confirms_order\"\n      ],\n      \"declared\": false,\n      \"asserted\": false,\n      \"flows\": [],\n      \"executionEvidence\": {\n        \"anyExecution\": true,\n        \"passingTests\": [\n          \"test_session.CheckoutTests.test_confirms_order\"\n        ],\n        \"outsidePassingTests\": []\n      }\n    },\n    {\n      \"id\": \"py:statement:42621bd5227cda6a6b688b52\",\n      \"file\": \"src/session.py\",\n      \"line\": 4,\n      \"at\": {\n        \"file\": \"src/session.py\",\n        \"line\": 4,\n        \"column\": 9,\n        \"text\": \"return {\\\"status\\\": \\\"confirmed\\\", \\\"total\\\": total}\"\n      },\n      \"covered\": true,\n      \"tests\": [\n        \"test_session.CheckoutTests.test_confirms_order\"\n      ],\n      \"declared\": false,\n      \"asserted\": false,\n      \"flows\": [],\n      \"executionEvidence\": {\n        \"anyExecution\": true,\n        \"passingTests\": [\n          \"test_session.CheckoutTests.test_confirms_order\"\n        ],\n        \"outsidePassingTests\": []\n      }\n    },\n    {\n      \"id\": \"py:statement:f35f57e149998eeb2e5116f7\",\n      \"file\": \"src/session.py\",\n      \"line\": 5,\n      \"at\": {\n        \"file\": \"src/session.py\",\n        \"line\": 5,\n        \"column\": 5,\n        \"text\": \"return {\\\"status\\\": \\\"denied\\\", \\\"total\\\": 0}\"\n      },\n      \"covered\": false,\n      \"tests\": [],\n      \"declared\": false,\n      \"asserted\": false,\n      \"flows\": [],\n      \"executionEvidence\": {\n        \"anyExecution\": false,\n        \"passingTests\": [],\n        \"outsidePassingTests\": []\n      }\n    }\n  ],\n  \"pagination\": {\n    \"offset\": 0,\n    \"returned\": 5,\n    \"total\": 5,\n    \"nextOffset\": null\n  },\n  \"summary\": {\n    \"status\": \"notAssessed\",\n    \"reason\": \"No recorded flow explanations\",\n    \"pendingChanges\": 0,\n    \"metric\": \"measured statements\",\n    \"statements\": {\n      \"asserted\": 0,\n      \"declared\": 0,\n      \"total\": 5,\n      \"percentage\": null\n    },\n    \"assertions\": 1,\n    \"inventoryAssertions\": 1,\n    \"missingInventoryAssertions\": 0,\n    \"assertionsWithFlows\": 0,\n    \"assertionsWithoutFlows\": 1,\n    \"observedAssertionsWithoutCurrentExplanation\": 1,\n    \"questions\": 0,\n    \"currentFlows\": 0,\n    \"draftFlows\": 0,\n    \"staleFlows\": 0,\n    \"invalidFlows\": 0,\n    \"eligibleFlows\": 0,\n    \"retiredAssertions\": 0,\n    \"unobservedAssertions\": 0,\n    \"inventoryFailures\": 0,\n    \"unanchoredStatements\": 0,\n    \"runPassed\": true,\n    \"lines\": {\n      \"asserted\": 0,\n      \"declared\": 0,\n      \"total\": 5,\n      \"percentage\": null\n    },\n    \"excludedStatements\": 0\n  },\n  \"basis\": \"agent-assessed; passing assertion identity and same-test execution required; not mutation resistance\",\n  \"validationErrors\": [],\n  \"limitations\": [\n    \"Syntax inventory covers recognized assertion forms, not every possible custom assertion. Agents may add exact source sites; missing runtime identity never earns credit.\"\n  ],\n  \"revision\": \"a99caaf977539d0400aa638a1cbe5629e519aeb942f2c23634724a3d0dbcf5ff\",\n  \"inheritance\": {\n    \"from\": null,\n    \"skipped\": []\n  },\n  \"view\": \"statements\",\n  \"file\": \"src/session.py\",\n  \"needsAttention\": false,\n  \"scope\": \"summary covers the whole run with matching current source; --file filters items only\",\n  \"workingTree\": {\n    \"stale\": false,\n    \"reasons\": []\n  },\n  \"run\": \"run_22542c0dcded62fa\",\n  \"map\": \"<project>/.supercov/runs/run_22542c0dcded62fa/assertions.json\"\n}\n"
      },
      "beforeQueries": {
        "summary": "run run_0aeff513ba4b08b5\ncommand: python3 -m unittest discover -s tests\n\nCoverage\n  Lines      100.00% (5/5)\n  Branches   100.00% (6/6)\n  MC/DC      50.00% (1/2)\nAssertions 60.00% (3/5) — agent-assessed statements, whole run\n  2 assertions with flows; 0 without; 2 current flows; 0 stale; 0 draft\n\nBy test kind\n  unit            2 test(s)  lines 100.00%  branches 100.00%  MC/DC  50.00%\n\nMeasurement\n  Instrumentation  Complete for the measured command and coverage model\n  Scope            Only code reached by the wrapped command is observed; this status does not prove every project test suite was run.\n\nTests\n  Total       2\n  Passed      2\n\nRemaining\n  Files with uncovered code         1\n  Files with measurement limits     0\n\nRuntime action phases (separate from assertion mappings)\n  Recorded within action phases      0 lines\n  Other recorded execution           5 lines\n  These runtime phase counts do not include the agent-assessed assertion coverage shown above.\n\nCommands\n  npx supercov runs 'run_0aeff513ba4b08b5' files\n  npx supercov runs 'run_0aeff513ba4b08b5' gaps\n  npx supercov runs 'run_0aeff513ba4b08b5' kinds\n  npx supercov runs 'run_0aeff513ba4b08b5' runners\n  npx supercov runs 'run_0aeff513ba4b08b5' scope\n  npx supercov runs run_0aeff513ba4b08b5 --help\n",
        "gaps": "Coverage gaps — only files with unresolved obligations\n\nsrc/session.py\n  uncovered: lines 0  statements 0  functions 0  branch outcomes 0  MC/DC conditions 1\n\nshowing 1-1 of 1\ninspect file: npx supercov runs 'run_0aeff513ba4b08b5' file 'src/session.py'\n",
        "file": "src/session.py\n\nUncovered\n  Lines not executed              0\n  Statements not executed         0\n  Functions not called            0\n  Branch outcomes not taken       0\n  MC/DC conditions not shown      1\n  Measurement limitations         0\n\nTests touching this file: 3\n\nGaps\n  NOT COVERED = line never executed; PARTIAL = line executed but some behavior remains untested\n LINE  STATUS        SOURCE\n    2  PARTIAL       signed_in and not expired\n       Unobserved: no witness pair shows `not expired` independently changing the decision result\n       Inspect: npx supercov runs 'run_0aeff513ba4b08b5' line 'src/session.py:2'\nshowing 1-1 of 1 gap lines\n",
        "line": "src/session.py:3\n\nSource\n      3 | total = price * quantity\n\nStatus\n  COVERED\n  Evidence: execution only\n\nCoverage details\n  Statement at column 8 — covered (1 covering tests)\n    `total = price * quantity`\n\nCovering tests\n  test_session.CheckoutTests.test_confirms_order [test_session.CheckoutTests.test_confirms_order] — unit/unittest\n\nTest phases\n  unittest call (passed) at test_session.CheckoutTests.test_confirms_order\n  unittest assertion (passed) at test_session.CheckoutTests.test_confirms_order\n",
        "decision": "py:decision:a94ffdcd7ac46d369f59ccff  src/session.py:2:7\nsigned_in and not expired\nC1 covered: signed_in\nC2 MISSING: not expired\nconfidence executed\nvectors:\n  TT -> T  tests=1 confidence=executed\n  F- -> F  tests=1 confidence=executed\nshowing 1-2 of 2 conditions/vectors/tests per decision\n",
        "assertions": "{\n  \"items\": [\n    {\n      \"id\": \"py:statement:6da07cf8f13350dc9356814b\",\n      \"file\": \"src/session.py\",\n      \"line\": 1,\n      \"at\": {\n        \"file\": \"src/session.py\",\n        \"line\": 1,\n        \"column\": 1,\n        \"text\": \"def checkout(signed_in, expired, price, quantity):\\n    if signed_in and not expired:\\n        total = price * quantity\\n        return {\\\"status\\\": \\\"confirmed\\\", \\\"total\\\": total}\\n    return {\\\"status\\\": \\\"denied\\\", \\\"total\\\": 0}\"\n      },\n      \"covered\": false,\n      \"tests\": [],\n      \"declared\": false,\n      \"asserted\": false,\n      \"flows\": [],\n      \"executionEvidence\": {\n        \"anyExecution\": true,\n        \"passingTests\": [],\n        \"outsidePassingTests\": [\n          \"__supercov_background__:main\"\n        ]\n      }\n    },\n    {\n      \"id\": \"py:statement:1b9390afd17ef5deb8bd422b\",\n      \"file\": \"src/session.py\",\n      \"line\": 2,\n      \"at\": {\n        \"file\": \"src/session.py\",\n        \"line\": 2,\n        \"column\": 5,\n        \"text\": \"if signed_in and not expired:\\n        total = price * quantity\\n        return {\\\"status\\\": \\\"confirmed\\\", \\\"total\\\": total}\"\n      },\n      \"covered\": true,\n      \"tests\": [\n        \"test_session.CheckoutTests.test_confirms_order\",\n        \"test_session.CheckoutTests.test_rejects_signed_out_visitor\"\n      ],\n      \"declared\": true,\n      \"asserted\": true,\n      \"flows\": [\n        \"a_c91aecfcdecfb04b7f97/returned-status\",\n        \"a_cab2328449a4efc43b09/returned-status\"\n      ],\n      \"executionEvidence\": {\n        \"anyExecution\": true,\n        \"passingTests\": [\n          \"test_session.CheckoutTests.test_confirms_order\",\n          \"test_session.CheckoutTests.test_rejects_signed_out_visitor\"\n        ],\n        \"outsidePassingTests\": []\n      }\n    },\n    {\n      \"id\": \"py:statement:69cb293942792813a94918b6\",\n      \"file\": \"src/session.py\",\n      \"line\": 3,\n      \"at\": {\n        \"file\": \"src/session.py\",\n        \"line\": 3,\n        \"column\": 9,\n        \"text\": \"total = price * quantity\"\n      },\n      \"covered\": true,\n      \"tests\": [\n        \"test_session.CheckoutTests.test_confirms_order\"\n      ],\n      \"declared\": false,\n      \"asserted\": false,\n      \"flows\": [],\n      \"executionEvidence\": {\n        \"anyExecution\": true,\n        \"passingTests\": [\n          \"test_session.CheckoutTests.test_confirms_order\"\n        ],\n        \"outsidePassingTests\": []\n      }\n    },\n    {\n      \"id\": \"py:statement:42621bd5227cda6a6b688b52\",\n      \"file\": \"src/session.py\",\n      \"line\": 4,\n      \"at\": {\n        \"file\": \"src/session.py\",\n        \"line\": 4,\n        \"column\": 9,\n        \"text\": \"return {\\\"status\\\": \\\"confirmed\\\", \\\"total\\\": total}\"\n      },\n      \"covered\": true,\n      \"tests\": [\n        \"test_session.CheckoutTests.test_confirms_order\"\n      ],\n      \"declared\": true,\n      \"asserted\": true,\n      \"flows\": [\n        \"a_c91aecfcdecfb04b7f97/returned-status\"\n      ],\n      \"executionEvidence\": {\n        \"anyExecution\": true,\n        \"passingTests\": [\n          \"test_session.CheckoutTests.test_confirms_order\"\n        ],\n        \"outsidePassingTests\": []\n      }\n    },\n    {\n      \"id\": \"py:statement:f35f57e149998eeb2e5116f7\",\n      \"file\": \"src/session.py\",\n      \"line\": 5,\n      \"at\": {\n        \"file\": \"src/session.py\",\n        \"line\": 5,\n        \"column\": 5,\n        \"text\": \"return {\\\"status\\\": \\\"denied\\\", \\\"total\\\": 0}\"\n      },\n      \"covered\": true,\n      \"tests\": [\n        \"test_session.CheckoutTests.test_rejects_signed_out_visitor\"\n      ],\n      \"declared\": true,\n      \"asserted\": true,\n      \"flows\": [\n        \"a_cab2328449a4efc43b09/returned-status\"\n      ],\n      \"executionEvidence\": {\n        \"anyExecution\": true,\n        \"passingTests\": [\n          \"test_session.CheckoutTests.test_rejects_signed_out_visitor\"\n        ],\n        \"outsidePassingTests\": []\n      }\n    }\n  ],\n  \"pagination\": {\n    \"offset\": 0,\n    \"returned\": 5,\n    \"total\": 5,\n    \"nextOffset\": null\n  },\n  \"summary\": {\n    \"status\": \"available\",\n    \"reason\": \"Agent-assessed statements; mapping completeness is unknown\",\n    \"pendingChanges\": 0,\n    \"metric\": \"measured statements\",\n    \"statements\": {\n      \"asserted\": 3,\n      \"declared\": 3,\n      \"total\": 5,\n      \"percentage\": 60.0\n    },\n    \"assertions\": 2,\n    \"inventoryAssertions\": 2,\n    \"missingInventoryAssertions\": 0,\n    \"assertionsWithFlows\": 2,\n    \"assertionsWithoutFlows\": 0,\n    \"observedAssertionsWithoutCurrentExplanation\": 0,\n    \"questions\": 0,\n    \"currentFlows\": 2,\n    \"draftFlows\": 0,\n    \"staleFlows\": 0,\n    \"invalidFlows\": 0,\n    \"eligibleFlows\": 2,\n    \"retiredAssertions\": 0,\n    \"unobservedAssertions\": 0,\n    \"inventoryFailures\": 0,\n    \"unanchoredStatements\": 0,\n    \"runPassed\": true,\n    \"lines\": {\n      \"asserted\": 3,\n      \"declared\": 3,\n      \"total\": 5,\n      \"percentage\": 60.0\n    },\n    \"excludedStatements\": 0\n  },\n  \"basis\": \"agent-assessed; passing assertion identity and same-test execution required; not mutation resistance\",\n  \"validationErrors\": [],\n  \"limitations\": [\n    \"Syntax inventory covers recognized assertion forms, not every possible custom assertion. Agents may add exact source sites; missing runtime identity never earns credit.\"\n  ],\n  \"revision\": \"39ca9d7d1f39c05065d432c44ec16edcb22abc5b1bb52c452a2f7c9967120344\",\n  \"inheritance\": {\n    \"from\": \"run_22542c0dcded62fa\",\n    \"skipped\": []\n  },\n  \"view\": \"statements\",\n  \"file\": \"src/session.py\",\n  \"needsAttention\": false,\n  \"scope\": \"summary covers the whole run with matching current source; --file filters items only\",\n  \"workingTree\": {\n    \"stale\": false,\n    \"reasons\": []\n  },\n  \"run\": \"run_0aeff513ba4b08b5\",\n  \"map\": \"<project>/.supercov/runs/run_0aeff513ba4b08b5/assertions.json\"\n}\n"
      },
      "afterQueries": {
        "summary": "run run_0ca9d907e6f80621\ncommand: python3 -m unittest discover -s tests\n\nCoverage\n  Lines      100.00% (5/5)\n  Branches   100.00% (6/6)\n  MC/DC      100.00% (2/2)\nAssertions 80.00% (4/5) — agent-assessed statements, whole run\n  4 assertions with flows; 0 without; 4 current flows; 0 stale; 0 draft\n\nBy test kind\n  unit            3 test(s)  lines 100.00%  branches 100.00%  MC/DC 100.00%\n\nMeasurement\n  Instrumentation  Complete for the measured command and coverage model\n  Scope            Only code reached by the wrapped command is observed; this status does not prove every project test suite was run.\n\nTests\n  Total       3\n  Passed      3\n\nRemaining\n  Files with uncovered code         0\n  Files with measurement limits     0\n\nRuntime action phases (separate from assertion mappings)\n  Recorded within action phases      0 lines\n  Other recorded execution           5 lines\n  These runtime phase counts do not include the agent-assessed assertion coverage shown above.\n\nCommands\n  npx supercov runs 'run_0ca9d907e6f80621' files\n  npx supercov runs 'run_0ca9d907e6f80621' gaps\n  npx supercov runs 'run_0ca9d907e6f80621' kinds\n  npx supercov runs 'run_0ca9d907e6f80621' runners\n  npx supercov runs 'run_0ca9d907e6f80621' scope\n  npx supercov runs run_0ca9d907e6f80621 --help\n",
        "gaps": "Coverage gaps — only files with unresolved obligations\n\n\n\nshowing 0-0 of 0\n",
        "file": "src/session.py\n\nUncovered\n  Lines not executed              0\n  Statements not executed         0\n  Functions not called            0\n  Branch outcomes not taken       0\n  MC/DC conditions not shown      0\n  Measurement limitations         0\n\nTests touching this file: 4\n\nGaps\n  NOT COVERED = line never executed; PARTIAL = line executed but some behavior remains untested\n LINE  STATUS        SOURCE\nshowing 0-0 of 0 gap lines\n",
        "line": "src/session.py:3\n\nSource\n      3 | total = price * quantity\n\nStatus\n  COVERED\n  Evidence: execution only\n\nCoverage details\n  Statement at column 8 — covered (1 covering tests)\n    `total = price * quantity`\n\nCovering tests\n  test_session.CheckoutTests.test_confirms_order [test_session.CheckoutTests.test_confirms_order] — unit/unittest\n\nTest phases\n  unittest assertion (passed) at test_session.CheckoutTests.test_confirms_order\n  unittest call (passed) at test_session.CheckoutTests.test_confirms_order\n",
        "decision": "py:decision:a94ffdcd7ac46d369f59ccff  src/session.py:2:7\nsigned_in and not expired\nC1 covered: signed_in\nC2 covered: not expired\nconfidence executed\nvectors:\n  TT -> T  tests=1 confidence=executed\n  TF -> F  tests=1 confidence=executed\n  F- -> F  tests=1 confidence=executed\nshowing 1-3 of 3 conditions/vectors/tests per decision\n",
        "assertions": "{\n  \"items\": [\n    {\n      \"id\": \"py:statement:6da07cf8f13350dc9356814b\",\n      \"file\": \"src/session.py\",\n      \"line\": 1,\n      \"at\": {\n        \"file\": \"src/session.py\",\n        \"line\": 1,\n        \"column\": 1,\n        \"text\": \"def checkout(signed_in, expired, price, quantity):\\n    if signed_in and not expired:\\n        total = price * quantity\\n        return {\\\"status\\\": \\\"confirmed\\\", \\\"total\\\": total}\\n    return {\\\"status\\\": \\\"denied\\\", \\\"total\\\": 0}\"\n      },\n      \"covered\": false,\n      \"tests\": [],\n      \"declared\": false,\n      \"asserted\": false,\n      \"flows\": [],\n      \"executionEvidence\": {\n        \"anyExecution\": true,\n        \"passingTests\": [],\n        \"outsidePassingTests\": [\n          \"__supercov_background__:main\"\n        ]\n      }\n    },\n    {\n      \"id\": \"py:statement:1b9390afd17ef5deb8bd422b\",\n      \"file\": \"src/session.py\",\n      \"line\": 2,\n      \"at\": {\n        \"file\": \"src/session.py\",\n        \"line\": 2,\n        \"column\": 5,\n        \"text\": \"if signed_in and not expired:\\n        total = price * quantity\\n        return {\\\"status\\\": \\\"confirmed\\\", \\\"total\\\": total}\"\n      },\n      \"covered\": true,\n      \"tests\": [\n        \"test_session.CheckoutTests.test_confirms_order\",\n        \"test_session.CheckoutTests.test_rejects_expired_session\",\n        \"test_session.CheckoutTests.test_rejects_signed_out_visitor\"\n      ],\n      \"declared\": true,\n      \"asserted\": true,\n      \"flows\": [\n        \"a_00a51e61087d426ee950/returned-status\",\n        \"a_85a3b2f2295356273f58/returned-status\",\n        \"a_c91aecfcdecfb04b7f97/returned-status\"\n      ],\n      \"executionEvidence\": {\n        \"anyExecution\": true,\n        \"passingTests\": [\n          \"test_session.CheckoutTests.test_confirms_order\",\n          \"test_session.CheckoutTests.test_rejects_expired_session\",\n          \"test_session.CheckoutTests.test_rejects_signed_out_visitor\"\n        ],\n        \"outsidePassingTests\": []\n      }\n    },\n    {\n      \"id\": \"py:statement:69cb293942792813a94918b6\",\n      \"file\": \"src/session.py\",\n      \"line\": 3,\n      \"at\": {\n        \"file\": \"src/session.py\",\n        \"line\": 3,\n        \"column\": 9,\n        \"text\": \"total = price * quantity\"\n      },\n      \"covered\": true,\n      \"tests\": [\n        \"test_session.CheckoutTests.test_confirms_order\"\n      ],\n      \"declared\": true,\n      \"asserted\": true,\n      \"flows\": [\n        \"a_a0534dcee7a2605904e2/calculated-total\"\n      ],\n      \"executionEvidence\": {\n        \"anyExecution\": true,\n        \"passingTests\": [\n          \"test_session.CheckoutTests.test_confirms_order\"\n        ],\n        \"outsidePassingTests\": []\n      }\n    },\n    {\n      \"id\": \"py:statement:42621bd5227cda6a6b688b52\",\n      \"file\": \"src/session.py\",\n      \"line\": 4,\n      \"at\": {\n        \"file\": \"src/session.py\",\n        \"line\": 4,\n        \"column\": 9,\n        \"text\": \"return {\\\"status\\\": \\\"confirmed\\\", \\\"total\\\": total}\"\n      },\n      \"covered\": true,\n      \"tests\": [\n        \"test_session.CheckoutTests.test_confirms_order\"\n      ],\n      \"declared\": true,\n      \"asserted\": true,\n      \"flows\": [\n        \"a_a0534dcee7a2605904e2/calculated-total\",\n        \"a_c91aecfcdecfb04b7f97/returned-status\"\n      ],\n      \"executionEvidence\": {\n        \"anyExecution\": true,\n        \"passingTests\": [\n          \"test_session.CheckoutTests.test_confirms_order\"\n        ],\n        \"outsidePassingTests\": []\n      }\n    },\n    {\n      \"id\": \"py:statement:f35f57e149998eeb2e5116f7\",\n      \"file\": \"src/session.py\",\n      \"line\": 5,\n      \"at\": {\n        \"file\": \"src/session.py\",\n        \"line\": 5,\n        \"column\": 5,\n        \"text\": \"return {\\\"status\\\": \\\"denied\\\", \\\"total\\\": 0}\"\n      },\n      \"covered\": true,\n      \"tests\": [\n        \"test_session.CheckoutTests.test_rejects_expired_session\",\n        \"test_session.CheckoutTests.test_rejects_signed_out_visitor\"\n      ],\n      \"declared\": true,\n      \"asserted\": true,\n      \"flows\": [\n        \"a_00a51e61087d426ee950/returned-status\",\n        \"a_85a3b2f2295356273f58/returned-status\"\n      ],\n      \"executionEvidence\": {\n        \"anyExecution\": true,\n        \"passingTests\": [\n          \"test_session.CheckoutTests.test_rejects_expired_session\",\n          \"test_session.CheckoutTests.test_rejects_signed_out_visitor\"\n        ],\n        \"outsidePassingTests\": []\n      }\n    }\n  ],\n  \"pagination\": {\n    \"offset\": 0,\n    \"returned\": 5,\n    \"total\": 5,\n    \"nextOffset\": null\n  },\n  \"summary\": {\n    \"status\": \"available\",\n    \"reason\": \"Agent-assessed statements; mapping completeness is unknown\",\n    \"pendingChanges\": 0,\n    \"metric\": \"measured statements\",\n    \"statements\": {\n      \"asserted\": 4,\n      \"declared\": 4,\n      \"total\": 5,\n      \"percentage\": 80.0\n    },\n    \"assertions\": 4,\n    \"inventoryAssertions\": 4,\n    \"missingInventoryAssertions\": 0,\n    \"assertionsWithFlows\": 4,\n    \"assertionsWithoutFlows\": 0,\n    \"observedAssertionsWithoutCurrentExplanation\": 0,\n    \"questions\": 0,\n    \"currentFlows\": 4,\n    \"draftFlows\": 0,\n    \"staleFlows\": 0,\n    \"invalidFlows\": 0,\n    \"eligibleFlows\": 4,\n    \"retiredAssertions\": 1,\n    \"unobservedAssertions\": 0,\n    \"inventoryFailures\": 0,\n    \"unanchoredStatements\": 0,\n    \"runPassed\": true,\n    \"lines\": {\n      \"asserted\": 4,\n      \"declared\": 4,\n      \"total\": 5,\n      \"percentage\": 80.0\n    },\n    \"excludedStatements\": 0\n  },\n  \"basis\": \"agent-assessed; passing assertion identity and same-test execution required; not mutation resistance\",\n  \"validationErrors\": [],\n  \"limitations\": [\n    \"Syntax inventory covers recognized assertion forms, not every possible custom assertion. Agents may add exact source sites; missing runtime identity never earns credit.\"\n  ],\n  \"revision\": \"98e1e041999b98c17775d2936e4467ba25b2f6493426bb731867b49b92e20933\",\n  \"inheritance\": {\n    \"from\": \"run_0aeff513ba4b08b5\",\n    \"skipped\": []\n  },\n  \"view\": \"statements\",\n  \"file\": \"src/session.py\",\n  \"needsAttention\": false,\n  \"scope\": \"summary covers the whole run with matching current source; --file filters items only\",\n  \"workingTree\": {\n    \"stale\": false,\n    \"reasons\": []\n  },\n  \"run\": \"run_0ca9d907e6f80621\",\n  \"map\": \"<project>/.supercov/runs/run_0ca9d907e6f80621/assertions.json\"\n}\n"
      }
    },
    "ruby": {
      "version": "0.0.48",
      "language": "ruby",
      "recordedAt": "2026-09-14T12:02:38.085Z",
      "runtime": "v24.21.0",
      "runner": "ruby -Itest test/test_session.rb",
      "sourceFile": "lib/session.rb",
      "testFile": "test/test_session.rb",
      "decisionAt": "lib/session.rb:2",
      "filesBefore": {
        "lib/session.rb": "def checkout(signed_in, expired, price, quantity)\n  if signed_in && !expired\n    total = price * quantity\n    return { status: 'confirmed', total: total }\n  end\n  { status: 'denied', total: 0 }\nend\n",
        "test/test_session.rb": "require 'minitest/autorun'\nrequire_relative '../lib/session'\n\nclass CheckoutTest < Minitest::Test\n  def test_confirms_order\n    order = checkout(true, false, 25, 2)\n    assert_equal 'confirmed', order[:status]\n  end\n\n  def test_rejects_signed_out_visitor\n    order = checkout(false, false, 25, 2)\n    assert_equal 'denied', order[:status]\n  end\nend\n"
      },
      "testAfter": "require 'minitest/autorun'\nrequire_relative '../lib/session'\n\nclass CheckoutTest < Minitest::Test\n  def test_confirms_order\n    order = checkout(true, false, 25, 2)\n    assert_equal 'confirmed', order[:status]\n    assert_equal 50, order[:total]\n  end\n\n  def test_rejects_signed_out_visitor\n    order = checkout(false, false, 25, 2)\n    assert_equal 'denied', order[:status]\n  end\n  def test_rejects_expired_session\n    order = checkout(true, true, 25, 2)\n    assert_equal 'denied', order[:status]\n  end\nend\n",
      "initialReport": "run run_6602df00c1549b81\ncommand: ruby -Itest test/test_session.rb\n\nCoverage\n  Lines      100.00% (5/5)\n  Branches   100.00% (6/6)\n  MC/DC      50.00% (1/2)\nAssertions pending — Source changes need impact assessment\n  0 assertions with flows; 2 without; 0 current flows; 0 stale; 0 draft\n\nBy test kind\n  unit            2 test(s)  lines 100.00%  branches 100.00%  MC/DC  50.00%\n\nMeasurement\n  Instrumentation  Complete for the measured command and coverage model\n  Scope            Only code reached by the wrapped command is observed; this status does not prove every project test suite was run.\n\nTests\n  Total       2\n  Passed      2\n\nRemaining\n  Files with uncovered code         1\n  Files with measurement limits     0\n\nRuntime action phases (separate from assertion mappings)\n  Recorded within action phases      0 lines\n  Other recorded execution           5 lines\n  These runtime phase counts do not include the agent-assessed assertion coverage shown above.\n\nCommands\n  npx supercov runs 'run_6602df00c1549b81' files\n  npx supercov runs 'run_6602df00c1549b81' gaps\n  npx supercov runs 'run_6602df00c1549b81' kinds\n  npx supercov runs 'run_6602df00c1549b81' runners\n  npx supercov runs 'run_6602df00c1549b81' scope\n  npx supercov runs run_6602df00c1549b81 --help\n",
      "initial": {
        "status": "pending",
        "reason": "Source changes need impact assessment",
        "pendingChanges": 1,
        "metric": "measured statements",
        "statements": {
          "asserted": 0,
          "declared": 0,
          "total": 5,
          "percentage": null
        },
        "assertions": 2,
        "inventoryAssertions": 2,
        "missingInventoryAssertions": 0,
        "assertionsWithFlows": 0,
        "assertionsWithoutFlows": 2,
        "observedAssertionsWithoutCurrentExplanation": 2,
        "questions": 0,
        "currentFlows": 0,
        "draftFlows": 0,
        "staleFlows": 0,
        "invalidFlows": 0,
        "eligibleFlows": 0,
        "retiredAssertions": 0,
        "unobservedAssertions": 0,
        "inventoryFailures": 0,
        "unanchoredStatements": 0,
        "runPassed": true,
        "lines": {
          "asserted": 0,
          "declared": 0,
          "total": 5,
          "percentage": null
        },
        "excludedStatements": 0
      },
      "before": {
        "run": "run_6602df00c1549b81",
        "map": {
          "schemaVersion": 2,
          "assertions": [
            {
              "id": "a_e2b421189457195c783b",
              "at": {
                "file": "test/test_session.rb",
                "line": 7,
                "column": 5,
                "text": "assert_equal 'confirmed', order[:status]"
              },
              "observes": [
                "The returned status equals confirmed for this test input."
              ],
              "flows": [
                {
                  "id": "returned-status",
                  "basis": "scov2:57b0bb2564c23bb93cccd323e30511503ed8cf7ce8b960652252f3c4bebed1eb",
                  "appliesTo": [
                    {
                      "file": "test/test_session.rb",
                      "name": "CheckoutTest#test_confirms_order"
                    }
                  ],
                  "explanation": "The guard chooses the return path. This assertion compares only its status field; it does not check the total field or independently exercise every guard condition.",
                  "nodes": [
                    {
                      "id": "n0",
                      "at": {
                        "file": "lib/session.rb",
                        "line": 2,
                        "column": 3,
                        "text": "if signed_in && !expired\n    total = price * quantity\n    return { status: 'confirmed', total: total }\n  end"
                      }
                    },
                    {
                      "id": "n1",
                      "at": {
                        "file": "lib/session.rb",
                        "line": 4,
                        "column": 5,
                        "text": "return { status: 'confirmed', total: total }"
                      }
                    }
                  ],
                  "edges": [
                    {
                      "from": "n0",
                      "to": "n1",
                      "kind": "control"
                    },
                    {
                      "from": "n1",
                      "to": "$assertion",
                      "kind": "data"
                    }
                  ],
                  "countsAsAsserted": [
                    "n0",
                    "n1"
                  ],
                  "watch": []
                }
              ]
            },
            {
              "id": "a_5f4bf5c17ad017d56dc0",
              "at": {
                "file": "test/test_session.rb",
                "line": 12,
                "column": 5,
                "text": "assert_equal 'denied', order[:status]"
              },
              "observes": [
                "The returned status equals denied for this test input."
              ],
              "flows": [
                {
                  "id": "returned-status",
                  "basis": "scov2:f817192159f61ff2e7e03e7af1e01c654ca834cb6a3ba9a995974b7d7d79ed14",
                  "appliesTo": [
                    {
                      "file": "test/test_session.rb",
                      "name": "CheckoutTest#test_rejects_signed_out_visitor"
                    }
                  ],
                  "explanation": "The guard chooses the return path. This assertion compares only its status field; it does not check the total field or independently exercise every guard condition.",
                  "nodes": [
                    {
                      "id": "n0",
                      "at": {
                        "file": "lib/session.rb",
                        "line": 2,
                        "column": 3,
                        "text": "if signed_in && !expired\n    total = price * quantity\n    return { status: 'confirmed', total: total }\n  end"
                      }
                    },
                    {
                      "id": "n1",
                      "at": {
                        "file": "lib/session.rb",
                        "line": 6,
                        "column": 3,
                        "text": "{ status: 'denied', total: 0 }"
                      }
                    }
                  ],
                  "edges": [
                    {
                      "from": "n0",
                      "to": "n1",
                      "kind": "control"
                    },
                    {
                      "from": "n1",
                      "to": "$assertion",
                      "kind": "data"
                    }
                  ],
                  "countsAsAsserted": [
                    "n0",
                    "n1"
                  ],
                  "watch": []
                }
              ]
            }
          ],
          "changeAssessments": [
            {
              "id": "c_0b0b77b84491b45c9cba9c00",
              "basis": "scov2:177ff0b820b32bcd329cd14fac7e9f3928c20267f86a2ba8e94565242d1ffe96",
              "affectedFlows": [],
              "explanation": "Only the fixture test file changed. The current test inputs and assertions have been reviewed against this run’s mappings. The application source is unchanged."
            }
          ]
        },
        "check": "{\n  \"summary\": {\n    \"status\": \"available\",\n    \"reason\": \"Agent-assessed statements; mapping completeness is unknown\",\n    \"pendingChanges\": 0,\n    \"metric\": \"measured statements\",\n    \"statements\": {\n      \"asserted\": 3,\n      \"declared\": 3,\n      \"total\": 5,\n      \"percentage\": 60.0\n    },\n    \"assertions\": 2,\n    \"inventoryAssertions\": 2,\n    \"missingInventoryAssertions\": 0,\n    \"assertionsWithFlows\": 2,\n    \"assertionsWithoutFlows\": 0,\n    \"observedAssertionsWithoutCurrentExplanation\": 0,\n    \"questions\": 0,\n    \"currentFlows\": 2,\n    \"draftFlows\": 0,\n    \"staleFlows\": 0,\n    \"invalidFlows\": 0,\n    \"eligibleFlows\": 2,\n    \"retiredAssertions\": 0,\n    \"unobservedAssertions\": 0,\n    \"inventoryFailures\": 0,\n    \"unanchoredStatements\": 0,\n    \"runPassed\": true,\n    \"lines\": {\n      \"asserted\": 3,\n      \"declared\": 3,\n      \"total\": 5,\n      \"percentage\": 60.0\n    },\n    \"excludedStatements\": 0\n  },\n  \"basis\": \"agent-assessed; passing assertion identity and same-test execution required; not mutation resistance\",\n  \"validationErrors\": [],\n  \"limitations\": [\n    \"Syntax inventory covers recognized assertion forms, not every possible custom assertion. Agents may add exact source sites; missing runtime identity never earns credit.\"\n  ],\n  \"revision\": \"ecd4e57d52a40e72669687e287a36e4793b202b066b4b64c8b7a03014a886b22\",\n  \"inheritance\": {\n    \"from\": \"run_c74a05f4bb7f07ef\",\n    \"skipped\": []\n  },\n  \"view\": \"summary\",\n  \"file\": null,\n  \"needsAttention\": false,\n  \"scope\": \"summary covers the whole run with matching current source; --file filters items only\",\n  \"workingTree\": {\n    \"stale\": false,\n    \"reasons\": []\n  },\n  \"valid\": true,\n  \"failures\": [],\n  \"requirements\": {\n    \"mappings\": true,\n    \"observed\": false,\n    \"minimum\": null\n  },\n  \"run\": \"run_6602df00c1549b81\",\n  \"map\": \"<project>/.supercov/runs/run_6602df00c1549b81/assertions.json\"\n}\n",
        "report": "run run_6602df00c1549b81\ncommand: ruby -Itest test/test_session.rb\n\nCoverage\n  Lines      100.00% (5/5)\n  Branches   100.00% (6/6)\n  MC/DC      50.00% (1/2)\nAssertions 60.00% (3/5) — agent-assessed statements, whole run\n  2 assertions with flows; 0 without; 2 current flows; 0 stale; 0 draft\n\nBy test kind\n  unit            2 test(s)  lines 100.00%  branches 100.00%  MC/DC  50.00%\n\nMeasurement\n  Instrumentation  Complete for the measured command and coverage model\n  Scope            Only code reached by the wrapped command is observed; this status does not prove every project test suite was run.\n\nTests\n  Total       2\n  Passed      2\n\nRemaining\n  Files with uncovered code         1\n  Files with measurement limits     0\n\nRuntime action phases (separate from assertion mappings)\n  Recorded within action phases      0 lines\n  Other recorded execution           5 lines\n  These runtime phase counts do not include the agent-assessed assertion coverage shown above.\n\nCommands\n  npx supercov runs 'run_6602df00c1549b81' files\n  npx supercov runs 'run_6602df00c1549b81' gaps\n  npx supercov runs 'run_6602df00c1549b81' kinds\n  npx supercov runs 'run_6602df00c1549b81' runners\n  npx supercov runs 'run_6602df00c1549b81' scope\n  npx supercov runs run_6602df00c1549b81 --help\n",
        "summary": {
          "status": "available",
          "reason": "Agent-assessed statements; mapping completeness is unknown",
          "pendingChanges": 0,
          "metric": "measured statements",
          "statements": {
            "asserted": 3,
            "declared": 3,
            "total": 5,
            "percentage": 60
          },
          "assertions": 2,
          "inventoryAssertions": 2,
          "missingInventoryAssertions": 0,
          "assertionsWithFlows": 2,
          "assertionsWithoutFlows": 0,
          "observedAssertionsWithoutCurrentExplanation": 0,
          "questions": 0,
          "currentFlows": 2,
          "draftFlows": 0,
          "staleFlows": 0,
          "invalidFlows": 0,
          "eligibleFlows": 2,
          "retiredAssertions": 0,
          "unobservedAssertions": 0,
          "inventoryFailures": 0,
          "unanchoredStatements": 0,
          "runPassed": true,
          "lines": {
            "asserted": 3,
            "declared": 3,
            "total": 5,
            "percentage": 60
          },
          "excludedStatements": 0
        }
      },
      "decision": "rb:decision:aa870ea298c48db7bba71411  lib/session.rb:2:5\nsigned_in && !expired\nC1 covered: signed_in\nC2 MISSING: !expired\nconfidence executed\nvectors:\n  TT -> T  tests=1 confidence=executed\n  F- -> F  tests=1 confidence=executed\nshowing 1-2 of 2 conditions/vectors/tests per decision\n",
      "after": {
        "run": "run_bc069ae83c05822a",
        "map": {
          "schemaVersion": 2,
          "assertions": [
            {
              "id": "a_e2b421189457195c783b",
              "at": {
                "file": "test/test_session.rb",
                "line": 7,
                "column": 5,
                "text": "assert_equal 'confirmed', order[:status]"
              },
              "observes": [
                "The returned status equals confirmed for this test input."
              ],
              "flows": [
                {
                  "id": "returned-status",
                  "basis": "scov2:a067abcc4e561c76627b6946bde8909d224e7cb3494ed1943c2b67b1239bc61d",
                  "appliesTo": [
                    {
                      "file": "test/test_session.rb",
                      "name": "CheckoutTest#test_confirms_order"
                    }
                  ],
                  "explanation": "The guard chooses the return path. This assertion compares only its status field; it does not check the total field or independently exercise every guard condition.",
                  "nodes": [
                    {
                      "id": "n0",
                      "at": {
                        "file": "lib/session.rb",
                        "line": 2,
                        "column": 3,
                        "text": "if signed_in && !expired\n    total = price * quantity\n    return { status: 'confirmed', total: total }\n  end"
                      }
                    },
                    {
                      "id": "n1",
                      "at": {
                        "file": "lib/session.rb",
                        "line": 4,
                        "column": 5,
                        "text": "return { status: 'confirmed', total: total }"
                      }
                    }
                  ],
                  "edges": [
                    {
                      "from": "n0",
                      "to": "n1",
                      "kind": "control"
                    },
                    {
                      "from": "n1",
                      "to": "$assertion",
                      "kind": "data"
                    }
                  ],
                  "countsAsAsserted": [
                    "n0",
                    "n1"
                  ],
                  "watch": []
                }
              ]
            },
            {
              "id": "a_a33be83687d756c13386",
              "at": {
                "file": "test/test_session.rb",
                "line": 8,
                "column": 5,
                "text": "assert_equal 50, order[:total]"
              },
              "observes": [
                "The total equals 50 for two items at 25."
              ],
              "flows": [
                {
                  "id": "calculated-total",
                  "basis": "scov2:425f5dd1a70e7625261ce9254f07852644e5ce8e14d35e875c446ba8fec5331b",
                  "appliesTo": [
                    {
                      "file": "test/test_session.rb",
                      "name": "CheckoutTest#test_confirms_order"
                    }
                  ],
                  "explanation": "The multiplication supplies total in the returned order; this assertion compares that field to 50. It checks the calculation for this input, not every possible price or quantity.",
                  "nodes": [
                    {
                      "id": "n0",
                      "at": {
                        "file": "lib/session.rb",
                        "line": 3,
                        "column": 5,
                        "text": "total = price * quantity"
                      }
                    },
                    {
                      "id": "n1",
                      "at": {
                        "file": "lib/session.rb",
                        "line": 4,
                        "column": 5,
                        "text": "return { status: 'confirmed', total: total }"
                      }
                    }
                  ],
                  "edges": [
                    {
                      "from": "n0",
                      "to": "n1",
                      "kind": "data"
                    },
                    {
                      "from": "n1",
                      "to": "$assertion",
                      "kind": "data"
                    }
                  ],
                  "countsAsAsserted": [
                    "n0",
                    "n1"
                  ],
                  "watch": []
                }
              ]
            },
            {
              "id": "a_ad967816a701a1a25664",
              "at": {
                "file": "test/test_session.rb",
                "line": 13,
                "column": 5,
                "text": "assert_equal 'denied', order[:status]"
              },
              "observes": [
                "The returned status equals denied for this test input."
              ],
              "flows": [
                {
                  "id": "returned-status",
                  "basis": "scov2:e024b9c875c5b938b0b08215984a25cdac94a77979e892741fd13e92f20b8d22",
                  "appliesTo": [
                    {
                      "file": "test/test_session.rb",
                      "name": "CheckoutTest#test_rejects_signed_out_visitor"
                    }
                  ],
                  "explanation": "The guard chooses the return path. This assertion compares only its status field; it does not check the total field or independently exercise every guard condition.",
                  "nodes": [
                    {
                      "id": "n0",
                      "at": {
                        "file": "lib/session.rb",
                        "line": 2,
                        "column": 3,
                        "text": "if signed_in && !expired\n    total = price * quantity\n    return { status: 'confirmed', total: total }\n  end"
                      }
                    },
                    {
                      "id": "n1",
                      "at": {
                        "file": "lib/session.rb",
                        "line": 6,
                        "column": 3,
                        "text": "{ status: 'denied', total: 0 }"
                      }
                    }
                  ],
                  "edges": [
                    {
                      "from": "n0",
                      "to": "n1",
                      "kind": "control"
                    },
                    {
                      "from": "n1",
                      "to": "$assertion",
                      "kind": "data"
                    }
                  ],
                  "countsAsAsserted": [
                    "n0",
                    "n1"
                  ],
                  "watch": []
                }
              ]
            },
            {
              "id": "a_9913a590644738f464c5",
              "at": {
                "file": "test/test_session.rb",
                "line": 17,
                "column": 5,
                "text": "assert_equal 'denied', order[:status]"
              },
              "observes": [
                "The returned status equals denied for this test input."
              ],
              "flows": [
                {
                  "id": "returned-status",
                  "basis": "scov2:1342b690b6a3bbeec13af23bdd4c04b2cfac9cdd3ddcd9fb772851520e8107ca",
                  "appliesTo": [
                    {
                      "file": "test/test_session.rb",
                      "name": "CheckoutTest#test_rejects_expired_session"
                    }
                  ],
                  "explanation": "The guard chooses the return path. This assertion compares only its status field; it does not check the total field or independently exercise every guard condition.",
                  "nodes": [
                    {
                      "id": "n0",
                      "at": {
                        "file": "lib/session.rb",
                        "line": 2,
                        "column": 3,
                        "text": "if signed_in && !expired\n    total = price * quantity\n    return { status: 'confirmed', total: total }\n  end"
                      }
                    },
                    {
                      "id": "n1",
                      "at": {
                        "file": "lib/session.rb",
                        "line": 6,
                        "column": 3,
                        "text": "{ status: 'denied', total: 0 }"
                      }
                    }
                  ],
                  "edges": [
                    {
                      "from": "n0",
                      "to": "n1",
                      "kind": "control"
                    },
                    {
                      "from": "n1",
                      "to": "$assertion",
                      "kind": "data"
                    }
                  ],
                  "countsAsAsserted": [
                    "n0",
                    "n1"
                  ],
                  "watch": []
                }
              ]
            }
          ],
          "retiredAssertions": [
            {
              "assertion": {
                "id": "a_5f4bf5c17ad017d56dc0",
                "at": {
                  "file": "test/test_session.rb",
                  "line": 12,
                  "column": 5,
                  "text": "assert_equal 'denied', order[:status]"
                },
                "observes": [
                  "The returned status equals denied for this test input."
                ],
                "flows": [
                  {
                    "id": "returned-status",
                    "basis": "scov2:f817192159f61ff2e7e03e7af1e01c654ca834cb6a3ba9a995974b7d7d79ed14",
                    "explanation": "The guard chooses the return path. This assertion compares only its status field; it does not check the total field or independently exercise every guard condition.",
                    "appliesTo": [
                      {
                        "file": "test/test_session.rb",
                        "name": "CheckoutTest#test_rejects_signed_out_visitor"
                      }
                    ],
                    "nodes": [
                      {
                        "id": "n0",
                        "at": {
                          "file": "lib/session.rb",
                          "line": 2,
                          "column": 3,
                          "text": "if signed_in && !expired\n    total = price * quantity\n    return { status: 'confirmed', total: total }\n  end"
                        }
                      },
                      {
                        "id": "n1",
                        "at": {
                          "file": "lib/session.rb",
                          "line": 6,
                          "column": 3,
                          "text": "{ status: 'denied', total: 0 }"
                        }
                      }
                    ],
                    "edges": [
                      {
                        "from": "n0",
                        "to": "n1",
                        "kind": "control"
                      },
                      {
                        "from": "n1",
                        "to": "$assertion",
                        "kind": "data"
                      }
                    ],
                    "countsAsAsserted": [
                      "n0",
                      "n1"
                    ],
                    "watch": []
                  }
                ]
              },
              "reason": "assertion removed, changed or ambiguous; reuse its explanation after review"
            }
          ],
          "changeAssessments": [
            {
              "id": "c_5577d71b86a66a23d12e4616",
              "basis": "scov2:3004945034fdaaa52b9ed889d91dbb5b9cbb1ffbb4fc71fe9994f3e9e2e28b7f",
              "affectedFlows": [
                "a_e2b421189457195c783b/returned-status"
              ],
              "explanation": "Only the fixture test file changed. The current test inputs and assertions have been reviewed against this run’s mappings. The application source is unchanged."
            }
          ]
        },
        "check": "{\n  \"summary\": {\n    \"status\": \"available\",\n    \"reason\": \"Agent-assessed statements; mapping completeness is unknown\",\n    \"pendingChanges\": 0,\n    \"metric\": \"measured statements\",\n    \"statements\": {\n      \"asserted\": 4,\n      \"declared\": 4,\n      \"total\": 5,\n      \"percentage\": 80.0\n    },\n    \"assertions\": 4,\n    \"inventoryAssertions\": 4,\n    \"missingInventoryAssertions\": 0,\n    \"assertionsWithFlows\": 4,\n    \"assertionsWithoutFlows\": 0,\n    \"observedAssertionsWithoutCurrentExplanation\": 0,\n    \"questions\": 0,\n    \"currentFlows\": 4,\n    \"draftFlows\": 0,\n    \"staleFlows\": 0,\n    \"invalidFlows\": 0,\n    \"eligibleFlows\": 4,\n    \"retiredAssertions\": 1,\n    \"unobservedAssertions\": 0,\n    \"inventoryFailures\": 0,\n    \"unanchoredStatements\": 0,\n    \"runPassed\": true,\n    \"lines\": {\n      \"asserted\": 4,\n      \"declared\": 4,\n      \"total\": 5,\n      \"percentage\": 80.0\n    },\n    \"excludedStatements\": 0\n  },\n  \"basis\": \"agent-assessed; passing assertion identity and same-test execution required; not mutation resistance\",\n  \"validationErrors\": [],\n  \"limitations\": [\n    \"Syntax inventory covers recognized assertion forms, not every possible custom assertion. Agents may add exact source sites; missing runtime identity never earns credit.\"\n  ],\n  \"revision\": \"67b3e32b90a3e2314f29485e113eca5ece6ec7c1c0bbd3a88806133990842ff1\",\n  \"inheritance\": {\n    \"from\": \"run_6602df00c1549b81\",\n    \"skipped\": []\n  },\n  \"view\": \"summary\",\n  \"file\": null,\n  \"needsAttention\": false,\n  \"scope\": \"summary covers the whole run with matching current source; --file filters items only\",\n  \"workingTree\": {\n    \"stale\": false,\n    \"reasons\": []\n  },\n  \"valid\": true,\n  \"failures\": [],\n  \"requirements\": {\n    \"mappings\": true,\n    \"observed\": false,\n    \"minimum\": null\n  },\n  \"run\": \"run_bc069ae83c05822a\",\n  \"map\": \"<project>/.supercov/runs/run_bc069ae83c05822a/assertions.json\"\n}\n",
        "report": "run run_bc069ae83c05822a\ncommand: ruby -Itest test/test_session.rb\n\nCoverage\n  Lines      100.00% (5/5)\n  Branches   100.00% (6/6)\n  MC/DC      100.00% (2/2)\nAssertions 80.00% (4/5) — agent-assessed statements, whole run\n  4 assertions with flows; 0 without; 4 current flows; 0 stale; 0 draft\n\nBy test kind\n  unit            3 test(s)  lines 100.00%  branches 100.00%  MC/DC 100.00%\n\nMeasurement\n  Instrumentation  Complete for the measured command and coverage model\n  Scope            Only code reached by the wrapped command is observed; this status does not prove every project test suite was run.\n\nTests\n  Total       3\n  Passed      3\n\nRemaining\n  Files with uncovered code         0\n  Files with measurement limits     0\n\nRuntime action phases (separate from assertion mappings)\n  Recorded within action phases      0 lines\n  Other recorded execution           5 lines\n  These runtime phase counts do not include the agent-assessed assertion coverage shown above.\n\nCommands\n  npx supercov runs 'run_bc069ae83c05822a' files\n  npx supercov runs 'run_bc069ae83c05822a' gaps\n  npx supercov runs 'run_bc069ae83c05822a' kinds\n  npx supercov runs 'run_bc069ae83c05822a' runners\n  npx supercov runs 'run_bc069ae83c05822a' scope\n  npx supercov runs run_bc069ae83c05822a --help\n",
        "summary": {
          "status": "available",
          "reason": "Agent-assessed statements; mapping completeness is unknown",
          "pendingChanges": 0,
          "metric": "measured statements",
          "statements": {
            "asserted": 4,
            "declared": 4,
            "total": 5,
            "percentage": 80
          },
          "assertions": 4,
          "inventoryAssertions": 4,
          "missingInventoryAssertions": 0,
          "assertionsWithFlows": 4,
          "assertionsWithoutFlows": 0,
          "observedAssertionsWithoutCurrentExplanation": 0,
          "questions": 0,
          "currentFlows": 4,
          "draftFlows": 0,
          "staleFlows": 0,
          "invalidFlows": 0,
          "eligibleFlows": 4,
          "retiredAssertions": 1,
          "unobservedAssertions": 0,
          "inventoryFailures": 0,
          "unanchoredStatements": 0,
          "runPassed": true,
          "lines": {
            "asserted": 4,
            "declared": 4,
            "total": 5,
            "percentage": 80
          },
          "excludedStatements": 0
        }
      },
      "diff": "run_6602df00c1549b81 -> run_bc069ae83c05822a\nlines +0pp, branches +0pp, MC/DC +50pp\ngained: 0 lines, 0 branches, 1 MC/DC conditions\nlost: 0 lines, 0 branches, 0 MC/DC conditions\n+ MC/DC lib/session.rb:2 C2 !expired\nshowing 1-1 of 1 per category\n",
      "records": [
        {
          "args": [
            "--",
            "ruby",
            "-Itest",
            "test/test_session.rb"
          ],
          "stdout": "Run options: --seed 17769\n\n# Running:\n\n.\n\nFinished in 0.001524s, 656.1680 runs/s, 656.1680 assertions/s.\n\n1 runs, 1 assertions, 0 failures, 0 errors, 0 skips\n[coverage] evidence: /private<project>/.supercov/runs/run_c74a05f4bb7f07ef/evidence.raw.gz\n"
        },
        {
          "args": [
            "runs",
            "latest"
          ],
          "stdout": "run run_c74a05f4bb7f07ef\ncommand: ruby -Itest test/test_session.rb\n\nCoverage\n  Lines      80.00% (4/5)\n  Branches   50.00% (3/6)\n  MC/DC      0.00% (0/2)\nAssertions not assessed — No recorded flow explanations\n  0 assertions with flows; 1 without; 0 current flows; 0 stale; 0 draft\n\nBy test kind\n  unit            1 test(s)  lines  80.00%  branches  50.00%  MC/DC   0.00%\n\nMeasurement\n  Instrumentation  Complete for the measured command and coverage model\n  Scope            Only code reached by the wrapped command is observed; this status does not prove every project test suite was run.\n\nTests\n  Total       1\n  Passed      1\n\nRemaining\n  Files with uncovered code         1\n  Files with measurement limits     0\n\nRuntime action phases (separate from assertion mappings)\n  Recorded within action phases      0 lines\n  Other recorded execution           4 lines\n  These runtime phase counts do not include the agent-assessed assertion coverage shown above.\n\nCommands\n  npx supercov runs 'run_c74a05f4bb7f07ef' files\n  npx supercov runs 'run_c74a05f4bb7f07ef' gaps\n  npx supercov runs 'run_c74a05f4bb7f07ef' kinds\n  npx supercov runs 'run_c74a05f4bb7f07ef' runners\n  npx supercov runs 'run_c74a05f4bb7f07ef' scope\n  npx supercov runs run_c74a05f4bb7f07ef --help\n"
        },
        {
          "args": [
            "runs",
            "latest",
            "gaps",
            "--limit",
            "5"
          ],
          "stdout": "Coverage gaps — only files with unresolved obligations\n\nlib/session.rb\n  uncovered: lines 1  statements 1  functions 0  branch outcomes 2  MC/DC conditions 2\n\nshowing 1-1 of 1\ninspect file: npx supercov runs 'run_c74a05f4bb7f07ef' file 'lib/session.rb'\n"
        },
        {
          "args": [
            "runs",
            "latest",
            "file",
            "lib/session.rb"
          ],
          "stdout": "lib/session.rb\n\nUncovered\n  Lines not executed              1\n  Statements not executed         1\n  Functions not called            0\n  Branch outcomes not taken       2\n  MC/DC conditions not shown      2\n  Measurement limitations         0\n\nTests touching this file: 2\n\nGaps\n  NOT COVERED = line never executed; PARTIAL = line executed but some behavior remains untested\n LINE  STATUS        SOURCE\n    2  PARTIAL       signed_in && !expired\n       Unobserved: branch outcome not observed: false\n       Unobserved: branch outcome not observed: short-circuited\n       Unobserved: no witness pair shows `signed_in` independently changing the decision result\n       Unobserved: no witness pair shows `!expired` independently changing the decision result\n       Inspect: npx supercov runs 'run_c74a05f4bb7f07ef' line 'lib/session.rb:2'\n    6  NOT COVERED   { status: 'denied', total: 0 }\nshowing 1-2 of 2 gap lines\n"
        },
        {
          "args": [
            "runs",
            "latest",
            "line",
            "lib/session.rb:3"
          ],
          "stdout": "lib/session.rb:3\n\nSource\n      3 | total = price * quantity\n\nStatus\n  COVERED\n  Evidence: execution only\n\nCoverage details\n  Statement at column 4 — covered (1 covering tests)\n    `total = price * quantity`\n\nCovering tests\n  CheckoutTest#test_confirms_order [CheckoutTest#test_confirms_order] — unit/minitest\n\nTest phases\n  minitest call (passed) at CheckoutTest#test_confirms_order\n  minitest assertion (passed) at CheckoutTest#test_confirms_order\n"
        },
        {
          "args": [
            "runs",
            "latest",
            "decision",
            "lib/session.rb:2"
          ],
          "stdout": "rb:decision:aa870ea298c48db7bba71411  lib/session.rb:2:5\nsigned_in && !expired\nC1 MISSING: signed_in\nC2 MISSING: !expired\nconfidence executed\nvectors:\n  TT -> T  tests=1 confidence=executed\nshowing 1-2 of 2 conditions/vectors/tests per decision\n"
        },
        {
          "args": [
            "runs",
            "latest",
            "assertions",
            "report",
            "--view",
            "statements",
            "--file",
            "lib/session.rb"
          ],
          "stdout": "{\n  \"items\": [\n    {\n      \"id\": \"rb:statement:c8e1a9d1a80770684dee1591\",\n      \"file\": \"lib/session.rb\",\n      \"line\": 1,\n      \"at\": {\n        \"file\": \"lib/session.rb\",\n        \"line\": 1,\n        \"column\": 1,\n        \"text\": \"def checkout(signed_in, expired, price, quantity)\\n  if signed_in && !expired\\n    total = price * quantity\\n    return { status: 'confirmed', total: total }\\n  end\\n  { status: 'denied', total: 0 }\\nend\"\n      },\n      \"covered\": false,\n      \"tests\": [],\n      \"declared\": false,\n      \"asserted\": false,\n      \"flows\": [],\n      \"executionEvidence\": {\n        \"anyExecution\": true,\n        \"passingTests\": [],\n        \"outsidePassingTests\": [\n          \"__supercov_background__:main\"\n        ]\n      }\n    },\n    {\n      \"id\": \"rb:statement:53a073d5ef82300b62035a39\",\n      \"file\": \"lib/session.rb\",\n      \"line\": 2,\n      \"at\": {\n        \"file\": \"lib/session.rb\",\n        \"line\": 2,\n        \"column\": 3,\n        \"text\": \"if signed_in && !expired\\n    total = price * quantity\\n    return { status: 'confirmed', total: total }\\n  end\"\n      },\n      \"covered\": true,\n      \"tests\": [\n        \"CheckoutTest#test_confirms_order\"\n      ],\n      \"declared\": false,\n      \"asserted\": false,\n      \"flows\": [],\n      \"executionEvidence\": {\n        \"anyExecution\": true,\n        \"passingTests\": [\n          \"CheckoutTest#test_confirms_order\"\n        ],\n        \"outsidePassingTests\": []\n      }\n    },\n    {\n      \"id\": \"rb:statement:edc3887454938b9edb51e0e5\",\n      \"file\": \"lib/session.rb\",\n      \"line\": 6,\n      \"at\": {\n        \"file\": \"lib/session.rb\",\n        \"line\": 6,\n        \"column\": 3,\n        \"text\": \"{ status: 'denied', total: 0 }\"\n      },\n      \"covered\": false,\n      \"tests\": [],\n      \"declared\": false,\n      \"asserted\": false,\n      \"flows\": [],\n      \"executionEvidence\": {\n        \"anyExecution\": false,\n        \"passingTests\": [],\n        \"outsidePassingTests\": []\n      }\n    },\n    {\n      \"id\": \"rb:statement:1695cab5af182d8232cf23e1\",\n      \"file\": \"lib/session.rb\",\n      \"line\": 3,\n      \"at\": {\n        \"file\": \"lib/session.rb\",\n        \"line\": 3,\n        \"column\": 5,\n        \"text\": \"total = price * quantity\"\n      },\n      \"covered\": true,\n      \"tests\": [\n        \"CheckoutTest#test_confirms_order\"\n      ],\n      \"declared\": false,\n      \"asserted\": false,\n      \"flows\": [],\n      \"executionEvidence\": {\n        \"anyExecution\": true,\n        \"passingTests\": [\n          \"CheckoutTest#test_confirms_order\"\n        ],\n        \"outsidePassingTests\": []\n      }\n    },\n    {\n      \"id\": \"rb:statement:f137aa6addb2a77c8dd64d12\",\n      \"file\": \"lib/session.rb\",\n      \"line\": 4,\n      \"at\": {\n        \"file\": \"lib/session.rb\",\n        \"line\": 4,\n        \"column\": 5,\n        \"text\": \"return { status: 'confirmed', total: total }\"\n      },\n      \"covered\": true,\n      \"tests\": [\n        \"CheckoutTest#test_confirms_order\"\n      ],\n      \"declared\": false,\n      \"asserted\": false,\n      \"flows\": [],\n      \"executionEvidence\": {\n        \"anyExecution\": true,\n        \"passingTests\": [\n          \"CheckoutTest#test_confirms_order\"\n        ],\n        \"outsidePassingTests\": []\n      }\n    }\n  ],\n  \"pagination\": {\n    \"offset\": 0,\n    \"returned\": 5,\n    \"total\": 5,\n    \"nextOffset\": null\n  },\n  \"summary\": {\n    \"status\": \"notAssessed\",\n    \"reason\": \"No recorded flow explanations\",\n    \"pendingChanges\": 0,\n    \"metric\": \"measured statements\",\n    \"statements\": {\n      \"asserted\": 0,\n      \"declared\": 0,\n      \"total\": 5,\n      \"percentage\": null\n    },\n    \"assertions\": 1,\n    \"inventoryAssertions\": 1,\n    \"missingInventoryAssertions\": 0,\n    \"assertionsWithFlows\": 0,\n    \"assertionsWithoutFlows\": 1,\n    \"observedAssertionsWithoutCurrentExplanation\": 1,\n    \"questions\": 0,\n    \"currentFlows\": 0,\n    \"draftFlows\": 0,\n    \"staleFlows\": 0,\n    \"invalidFlows\": 0,\n    \"eligibleFlows\": 0,\n    \"retiredAssertions\": 0,\n    \"unobservedAssertions\": 0,\n    \"inventoryFailures\": 0,\n    \"unanchoredStatements\": 0,\n    \"runPassed\": true,\n    \"lines\": {\n      \"asserted\": 0,\n      \"declared\": 0,\n      \"total\": 5,\n      \"percentage\": null\n    },\n    \"excludedStatements\": 0\n  },\n  \"basis\": \"agent-assessed; passing assertion identity and same-test execution required; not mutation resistance\",\n  \"validationErrors\": [],\n  \"limitations\": [\n    \"Syntax inventory covers recognized assertion forms, not every possible custom assertion. Agents may add exact source sites; missing runtime identity never earns credit.\"\n  ],\n  \"revision\": \"3de628773d3aa29adc5b4dd43362552a87932c5e0f3af9b7c0db845adf2d72fb\",\n  \"inheritance\": {\n    \"from\": null,\n    \"skipped\": []\n  },\n  \"view\": \"statements\",\n  \"file\": \"lib/session.rb\",\n  \"needsAttention\": false,\n  \"scope\": \"summary covers the whole run with matching current source; --file filters items only\",\n  \"workingTree\": {\n    \"stale\": false,\n    \"reasons\": []\n  },\n  \"run\": \"run_c74a05f4bb7f07ef\",\n  \"map\": \"/private<project>/.supercov/runs/run_c74a05f4bb7f07ef/assertions.json\"\n}\n"
        },
        {
          "args": [
            "--",
            "ruby",
            "-Itest",
            "test/test_session.rb"
          ],
          "stdout": "Run options: --seed 45290\n\n# Running:\n\n..\n\nFinished in 0.001329s, 1504.8909 runs/s, 1504.8909 assertions/s.\n\n2 runs, 2 assertions, 0 failures, 0 errors, 0 skips\n[coverage] evidence: /private<project>/.supercov/runs/run_6602df00c1549b81/evidence.raw.gz\n"
        },
        {
          "args": [
            "runs",
            "latest"
          ],
          "stdout": "run run_6602df00c1549b81\ncommand: ruby -Itest test/test_session.rb\n\nCoverage\n  Lines      100.00% (5/5)\n  Branches   100.00% (6/6)\n  MC/DC      50.00% (1/2)\nAssertions pending — Source changes need impact assessment\n  0 assertions with flows; 2 without; 0 current flows; 0 stale; 0 draft\n\nBy test kind\n  unit            2 test(s)  lines 100.00%  branches 100.00%  MC/DC  50.00%\n\nMeasurement\n  Instrumentation  Complete for the measured command and coverage model\n  Scope            Only code reached by the wrapped command is observed; this status does not prove every project test suite was run.\n\nTests\n  Total       2\n  Passed      2\n\nRemaining\n  Files with uncovered code         1\n  Files with measurement limits     0\n\nRuntime action phases (separate from assertion mappings)\n  Recorded within action phases      0 lines\n  Other recorded execution           5 lines\n  These runtime phase counts do not include the agent-assessed assertion coverage shown above.\n\nCommands\n  npx supercov runs 'run_6602df00c1549b81' files\n  npx supercov runs 'run_6602df00c1549b81' gaps\n  npx supercov runs 'run_6602df00c1549b81' kinds\n  npx supercov runs 'run_6602df00c1549b81' runners\n  npx supercov runs 'run_6602df00c1549b81' scope\n  npx supercov runs run_6602df00c1549b81 --help\n"
        },
        {
          "args": [
            "runs",
            "latest",
            "assertions",
            "--json"
          ],
          "stdout": "{\"schemaVersion\":1,\"ok\":true,\"command\":\"coverage.assertions\",\"data\":{\"items\":[{\"observation\":\"Passing assertion occurrence recorded.\",\"id\":\"a_e2b421189457195c783b\",\"at\":{\"file\":\"test/test_session.rb\",\"line\":7,\"column\":5,\"text\":\"assert_equal 'confirmed', order[:status]\"},\"questions\":[],\"inMap\":true,\"observes\":[],\"operations\":[\"assert_equal\"],\"observedPassingTests\":[\"CheckoutTest#test_confirms_order\"],\"flows\":[]},{\"observation\":\"Passing assertion occurrence recorded.\",\"id\":\"a_5f4bf5c17ad017d56dc0\",\"at\":{\"file\":\"test/test_session.rb\",\"line\":12,\"column\":5,\"text\":\"assert_equal 'denied', order[:status]\"},\"questions\":[],\"inMap\":true,\"observes\":[],\"operations\":[\"assert_equal\"],\"observedPassingTests\":[\"CheckoutTest#test_rejects_signed_out_visitor\"],\"flows\":[]}],\"pagination\":{\"offset\":0,\"returned\":2,\"total\":2,\"nextOffset\":null},\"summary\":{\"status\":\"pending\",\"reason\":\"Source changes need impact assessment\",\"pendingChanges\":1,\"metric\":\"measured statements\",\"statements\":{\"asserted\":0,\"declared\":0,\"total\":5,\"percentage\":null},\"assertions\":2,\"inventoryAssertions\":2,\"missingInventoryAssertions\":0,\"assertionsWithFlows\":0,\"assertionsWithoutFlows\":2,\"observedAssertionsWithoutCurrentExplanation\":2,\"questions\":0,\"currentFlows\":0,\"draftFlows\":0,\"staleFlows\":0,\"invalidFlows\":0,\"eligibleFlows\":0,\"retiredAssertions\":0,\"unobservedAssertions\":0,\"inventoryFailures\":0,\"unanchoredStatements\":0,\"runPassed\":true,\"lines\":{\"asserted\":0,\"declared\":0,\"total\":5,\"percentage\":null},\"excludedStatements\":0},\"basis\":\"agent-assessed; passing assertion identity and same-test execution required; not mutation resistance\",\"validationErrors\":[],\"limitations\":[\"Syntax inventory covers recognized assertion forms, not every possible custom assertion. Agents may add exact source sites; missing runtime identity never earns credit.\"],\"revision\":\"1227858548eee44b7e8764742902dea6d8d43583db104f84333d6ffa6b606ff5\",\"inheritance\":{\"from\":\"run_c74a05f4bb7f07ef\",\"skipped\":[]},\"view\":\"assertions\",\"file\":null,\"needsAttention\":false,\"scope\":\"summary covers the whole run with matching current source; --file filters items only\",\"workingTree\":{\"stale\":false,\"reasons\":[]},\"run\":\"run_6602df00c1549b81\",\"map\":\"/private<project>/.supercov/runs/run_6602df00c1549b81/assertions.json\"}}\n"
        },
        {
          "args": [
            "runs",
            "run_6602df00c1549b81",
            "assertions",
            "--json"
          ],
          "stdout": "{\"schemaVersion\":1,\"ok\":true,\"command\":\"coverage.assertions\",\"data\":{\"items\":[{\"observation\":\"Passing assertion occurrence recorded.\",\"id\":\"a_e2b421189457195c783b\",\"at\":{\"file\":\"test/test_session.rb\",\"line\":7,\"column\":5,\"text\":\"assert_equal 'confirmed', order[:status]\"},\"questions\":[],\"inMap\":true,\"observes\":[],\"operations\":[\"assert_equal\"],\"observedPassingTests\":[\"CheckoutTest#test_confirms_order\"],\"flows\":[]},{\"observation\":\"Passing assertion occurrence recorded.\",\"id\":\"a_5f4bf5c17ad017d56dc0\",\"at\":{\"file\":\"test/test_session.rb\",\"line\":12,\"column\":5,\"text\":\"assert_equal 'denied', order[:status]\"},\"questions\":[],\"inMap\":true,\"observes\":[],\"operations\":[\"assert_equal\"],\"observedPassingTests\":[\"CheckoutTest#test_rejects_signed_out_visitor\"],\"flows\":[]}],\"pagination\":{\"offset\":0,\"returned\":2,\"total\":2,\"nextOffset\":null},\"summary\":{\"status\":\"pending\",\"reason\":\"Source changes need impact assessment\",\"pendingChanges\":1,\"metric\":\"measured statements\",\"statements\":{\"asserted\":0,\"declared\":0,\"total\":5,\"percentage\":null},\"assertions\":2,\"inventoryAssertions\":2,\"missingInventoryAssertions\":0,\"assertionsWithFlows\":0,\"assertionsWithoutFlows\":2,\"observedAssertionsWithoutCurrentExplanation\":2,\"questions\":0,\"currentFlows\":0,\"draftFlows\":0,\"staleFlows\":0,\"invalidFlows\":0,\"eligibleFlows\":0,\"retiredAssertions\":0,\"unobservedAssertions\":0,\"inventoryFailures\":0,\"unanchoredStatements\":0,\"runPassed\":true,\"lines\":{\"asserted\":0,\"declared\":0,\"total\":5,\"percentage\":null},\"excludedStatements\":0},\"basis\":\"agent-assessed; passing assertion identity and same-test execution required; not mutation resistance\",\"validationErrors\":[],\"limitations\":[\"Syntax inventory covers recognized assertion forms, not every possible custom assertion. Agents may add exact source sites; missing runtime identity never earns credit.\"],\"revision\":\"1227858548eee44b7e8764742902dea6d8d43583db104f84333d6ffa6b606ff5\",\"inheritance\":{\"from\":\"run_c74a05f4bb7f07ef\",\"skipped\":[]},\"view\":\"assertions\",\"file\":null,\"needsAttention\":false,\"scope\":\"summary covers the whole run with matching current source; --file filters items only\",\"workingTree\":{\"stale\":false,\"reasons\":[]},\"run\":\"run_6602df00c1549b81\",\"map\":\"/private<project>/.supercov/runs/run_6602df00c1549b81/assertions.json\"}}\n"
        },
        {
          "args": [
            "runs",
            "run_6602df00c1549b81",
            "assertions",
            "report",
            "--view",
            "statements",
            "--json"
          ],
          "stdout": "{\"schemaVersion\":1,\"ok\":true,\"command\":\"coverage.assertions\",\"data\":{\"items\":[{\"id\":\"rb:statement:c8e1a9d1a80770684dee1591\",\"file\":\"lib/session.rb\",\"line\":1,\"at\":{\"file\":\"lib/session.rb\",\"line\":1,\"column\":1,\"text\":\"def checkout(signed_in, expired, price, quantity)\\n  if signed_in && !expired\\n    total = price * quantity\\n    return { status: 'confirmed', total: total }\\n  end\\n  { status: 'denied', total: 0 }\\nend\"},\"covered\":false,\"tests\":[],\"declared\":false,\"asserted\":false,\"flows\":[],\"executionEvidence\":{\"anyExecution\":true,\"passingTests\":[],\"outsidePassingTests\":[\"__supercov_background__:main\"]}},{\"id\":\"rb:statement:53a073d5ef82300b62035a39\",\"file\":\"lib/session.rb\",\"line\":2,\"at\":{\"file\":\"lib/session.rb\",\"line\":2,\"column\":3,\"text\":\"if signed_in && !expired\\n    total = price * quantity\\n    return { status: 'confirmed', total: total }\\n  end\"},\"covered\":true,\"tests\":[\"CheckoutTest#test_rejects_signed_out_visitor\"],\"declared\":false,\"asserted\":false,\"flows\":[],\"executionEvidence\":{\"anyExecution\":true,\"passingTests\":[\"CheckoutTest#test_rejects_signed_out_visitor\"],\"outsidePassingTests\":[]}},{\"id\":\"rb:statement:edc3887454938b9edb51e0e5\",\"file\":\"lib/session.rb\",\"line\":6,\"at\":{\"file\":\"lib/session.rb\",\"line\":6,\"column\":3,\"text\":\"{ status: 'denied', total: 0 }\"},\"covered\":true,\"tests\":[\"CheckoutTest#test_rejects_signed_out_visitor\"],\"declared\":false,\"asserted\":false,\"flows\":[],\"executionEvidence\":{\"anyExecution\":true,\"passingTests\":[\"CheckoutTest#test_rejects_signed_out_visitor\"],\"outsidePassingTests\":[]}},{\"id\":\"rb:statement:1695cab5af182d8232cf23e1\",\"file\":\"lib/session.rb\",\"line\":3,\"at\":{\"file\":\"lib/session.rb\",\"line\":3,\"column\":5,\"text\":\"total = price * quantity\"},\"covered\":true,\"tests\":[\"CheckoutTest#test_confirms_order\"],\"declared\":false,\"asserted\":false,\"flows\":[],\"executionEvidence\":{\"anyExecution\":true,\"passingTests\":[\"CheckoutTest#test_confirms_order\"],\"outsidePassingTests\":[]}},{\"id\":\"rb:statement:f137aa6addb2a77c8dd64d12\",\"file\":\"lib/session.rb\",\"line\":4,\"at\":{\"file\":\"lib/session.rb\",\"line\":4,\"column\":5,\"text\":\"return { status: 'confirmed', total: total }\"},\"covered\":true,\"tests\":[\"CheckoutTest#test_confirms_order\"],\"declared\":false,\"asserted\":false,\"flows\":[],\"executionEvidence\":{\"anyExecution\":true,\"passingTests\":[\"CheckoutTest#test_confirms_order\"],\"outsidePassingTests\":[]}}],\"pagination\":{\"offset\":0,\"returned\":5,\"total\":5,\"nextOffset\":null},\"summary\":{\"status\":\"pending\",\"reason\":\"Source changes need impact assessment\",\"pendingChanges\":1,\"metric\":\"measured statements\",\"statements\":{\"asserted\":0,\"declared\":0,\"total\":5,\"percentage\":null},\"assertions\":2,\"inventoryAssertions\":2,\"missingInventoryAssertions\":0,\"assertionsWithFlows\":0,\"assertionsWithoutFlows\":2,\"observedAssertionsWithoutCurrentExplanation\":2,\"questions\":0,\"currentFlows\":0,\"draftFlows\":0,\"staleFlows\":0,\"invalidFlows\":0,\"eligibleFlows\":0,\"retiredAssertions\":0,\"unobservedAssertions\":0,\"inventoryFailures\":0,\"unanchoredStatements\":0,\"runPassed\":true,\"lines\":{\"asserted\":0,\"declared\":0,\"total\":5,\"percentage\":null},\"excludedStatements\":0},\"basis\":\"agent-assessed; passing assertion identity and same-test execution required; not mutation resistance\",\"validationErrors\":[],\"limitations\":[\"Syntax inventory covers recognized assertion forms, not every possible custom assertion. Agents may add exact source sites; missing runtime identity never earns credit.\"],\"revision\":\"1227858548eee44b7e8764742902dea6d8d43583db104f84333d6ffa6b606ff5\",\"inheritance\":{\"from\":\"run_c74a05f4bb7f07ef\",\"skipped\":[]},\"view\":\"statements\",\"file\":null,\"needsAttention\":false,\"scope\":\"summary covers the whole run with matching current source; --file filters items only\",\"workingTree\":{\"stale\":false,\"reasons\":[]},\"run\":\"run_6602df00c1549b81\",\"map\":\"/private<project>/.supercov/runs/run_6602df00c1549b81/assertions.json\"}}\n"
        },
        {
          "args": [
            "runs",
            "run_6602df00c1549b81",
            "assertions",
            "report",
            "--view",
            "tests",
            "--json"
          ],
          "stdout": "{\"schemaVersion\":1,\"ok\":true,\"command\":\"coverage.assertions\",\"data\":{\"items\":[{\"id\":\"CheckoutTest#test_confirms_order\",\"file\":\"test/test_session.rb\",\"name\":\"CheckoutTest#test_confirms_order\",\"role\":\"test\",\"outcome\":\"passed\",\"provenance\":{\"runner\":\"minitest\",\"kind\":\"unit\",\"source\":\"ruby-coverage-v1\"},\"hasExecutionEvidence\":true},{\"id\":\"CheckoutTest#test_rejects_signed_out_visitor\",\"file\":\"test/test_session.rb\",\"name\":\"CheckoutTest#test_rejects_signed_out_visitor\",\"role\":\"test\",\"outcome\":\"passed\",\"provenance\":{\"runner\":\"minitest\",\"kind\":\"unit\",\"source\":\"ruby-coverage-v1\"},\"hasExecutionEvidence\":true},{\"id\":\"__supercov_background__:main\",\"file\":null,\"name\":\"Ruby load and background execution\",\"role\":\"background\",\"outcome\":\"unknown\",\"provenance\":{\"runner\":\"minitest\",\"kind\":\"unit\",\"source\":\"ruby-coverage-v1\"},\"hasExecutionEvidence\":true}],\"pagination\":{\"offset\":0,\"returned\":3,\"total\":3,\"nextOffset\":null},\"summary\":{\"status\":\"pending\",\"reason\":\"Source changes need impact assessment\",\"pendingChanges\":1,\"metric\":\"measured statements\",\"statements\":{\"asserted\":0,\"declared\":0,\"total\":5,\"percentage\":null},\"assertions\":2,\"inventoryAssertions\":2,\"missingInventoryAssertions\":0,\"assertionsWithFlows\":0,\"assertionsWithoutFlows\":2,\"observedAssertionsWithoutCurrentExplanation\":2,\"questions\":0,\"currentFlows\":0,\"draftFlows\":0,\"staleFlows\":0,\"invalidFlows\":0,\"eligibleFlows\":0,\"retiredAssertions\":0,\"unobservedAssertions\":0,\"inventoryFailures\":0,\"unanchoredStatements\":0,\"runPassed\":true,\"lines\":{\"asserted\":0,\"declared\":0,\"total\":5,\"percentage\":null},\"excludedStatements\":0},\"basis\":\"agent-assessed; passing assertion identity and same-test execution required; not mutation resistance\",\"validationErrors\":[],\"limitations\":[\"Syntax inventory covers recognized assertion forms, not every possible custom assertion. Agents may add exact source sites; missing runtime identity never earns credit.\"],\"revision\":\"1227858548eee44b7e8764742902dea6d8d43583db104f84333d6ffa6b606ff5\",\"inheritance\":{\"from\":\"run_c74a05f4bb7f07ef\",\"skipped\":[]},\"view\":\"tests\",\"file\":null,\"needsAttention\":false,\"scope\":\"summary covers the whole run with matching current source; --file filters items only\",\"workingTree\":{\"stale\":false,\"reasons\":[]},\"run\":\"run_6602df00c1549b81\",\"map\":\"/private<project>/.supercov/runs/run_6602df00c1549b81/assertions.json\"}}\n"
        },
        {
          "args": [
            "runs",
            "run_6602df00c1549b81",
            "assertions",
            "report",
            "--view",
            "changes",
            "--json"
          ],
          "stdout": "{\"schemaVersion\":1,\"ok\":true,\"command\":\"coverage.assertions\",\"data\":{\"items\":[{\"id\":\"c_0b0b77b84491b45c9cba9c00\",\"file\":\"test/test_session.rb\",\"before\":\"384825bdfe68ae376a1eb0e614122c295ea1ac5b5ef9a9412d712a12aea7b694\",\"after\":\"f1ef06aa124c023d6f2d7d5eb4184fc47f66e835944acd94979a739943407253\",\"reason\":\"captured source file changed\",\"knownFlows\":[],\"current\":false,\"assessment\":null,\"errors\":[],\"expectedBasis\":null}],\"pagination\":{\"offset\":0,\"returned\":1,\"total\":1,\"nextOffset\":null},\"summary\":{\"status\":\"pending\",\"reason\":\"Source changes need impact assessment\",\"pendingChanges\":1,\"metric\":\"measured statements\",\"statements\":{\"asserted\":0,\"declared\":0,\"total\":5,\"percentage\":null},\"assertions\":2,\"inventoryAssertions\":2,\"missingInventoryAssertions\":0,\"assertionsWithFlows\":0,\"assertionsWithoutFlows\":2,\"observedAssertionsWithoutCurrentExplanation\":2,\"questions\":0,\"currentFlows\":0,\"draftFlows\":0,\"staleFlows\":0,\"invalidFlows\":0,\"eligibleFlows\":0,\"retiredAssertions\":0,\"unobservedAssertions\":0,\"inventoryFailures\":0,\"unanchoredStatements\":0,\"runPassed\":true,\"lines\":{\"asserted\":0,\"declared\":0,\"total\":5,\"percentage\":null},\"excludedStatements\":0},\"basis\":\"agent-assessed; passing assertion identity and same-test execution required; not mutation resistance\",\"validationErrors\":[],\"limitations\":[\"Syntax inventory covers recognized assertion forms, not every possible custom assertion. Agents may add exact source sites; missing runtime identity never earns credit.\"],\"revision\":\"1227858548eee44b7e8764742902dea6d8d43583db104f84333d6ffa6b606ff5\",\"inheritance\":{\"from\":\"run_c74a05f4bb7f07ef\",\"skipped\":[]},\"view\":\"changes\",\"file\":null,\"needsAttention\":false,\"scope\":\"summary covers the whole run with matching current source; --file filters items only\",\"workingTree\":{\"stale\":false,\"reasons\":[]},\"run\":\"run_6602df00c1549b81\",\"map\":\"/private<project>/.supercov/runs/run_6602df00c1549b81/assertions.json\"}}\n"
        },
        {
          "args": [
            "runs",
            "run_6602df00c1549b81",
            "assertions",
            "validate",
            "--json"
          ],
          "stdout": "{\"schemaVersion\":1,\"ok\":true,\"command\":\"coverage.assertions\",\"data\":{\"valid\":true,\"stage\":\"references\",\"errors\":[],\"flows\":[{\"id\":\"a_e2b421189457195c783b/returned-status\",\"expectedBasis\":\"scov2:57b0bb2564c23bb93cccd323e30511503ed8cf7ce8b960652252f3c4bebed1eb\",\"reasons\":[\"draft: input acknowledgement not recorded\"]},{\"id\":\"a_5f4bf5c17ad017d56dc0/returned-status\",\"expectedBasis\":\"scov2:f817192159f61ff2e7e03e7af1e01c654ca834cb6a3ba9a995974b7d7d79ed14\",\"reasons\":[\"draft: input acknowledgement not recorded\"]}],\"changes\":[{\"id\":\"c_0b0b77b84491b45c9cba9c00\",\"file\":\"test/test_session.rb\",\"before\":\"384825bdfe68ae376a1eb0e614122c295ea1ac5b5ef9a9412d712a12aea7b694\",\"after\":\"f1ef06aa124c023d6f2d7d5eb4184fc47f66e835944acd94979a739943407253\",\"reason\":\"captured source file changed\",\"knownFlows\":[],\"current\":false,\"assessment\":{\"id\":\"c_0b0b77b84491b45c9cba9c00\",\"basis\":null,\"affectedFlows\":[],\"explanation\":\"Only the fixture test file changed. The current test inputs and assertions have been reviewed against this run’s mappings. The application source is unchanged.\"},\"errors\":[],\"expectedBasis\":\"scov2:177ff0b820b32bcd329cd14fac7e9f3928c20267f86a2ba8e94565242d1ffe96\"}],\"meaning\":\"Authored graph references and input acknowledgements only; no semantic proof or completeness claim\",\"revision\":\"532397c4a3ff26270a704c5742841690ea36a780dac360796d9a5dbe89d39bab\",\"workingTree\":{\"stale\":false,\"reasons\":[]},\"run\":\"run_6602df00c1549b81\",\"map\":\"/private<project>/.supercov/runs/run_6602df00c1549b81/assertions.json\"}}\n"
        },
        {
          "args": [
            "runs",
            "run_6602df00c1549b81",
            "assertions",
            "validate",
            "--json"
          ],
          "stdout": "{\"schemaVersion\":1,\"ok\":true,\"command\":\"coverage.assertions\",\"data\":{\"valid\":true,\"stage\":\"references\",\"errors\":[],\"flows\":[{\"id\":\"a_e2b421189457195c783b/returned-status\",\"expectedBasis\":\"scov2:57b0bb2564c23bb93cccd323e30511503ed8cf7ce8b960652252f3c4bebed1eb\",\"reasons\":[\"draft: input acknowledgement not recorded\"]},{\"id\":\"a_5f4bf5c17ad017d56dc0/returned-status\",\"expectedBasis\":\"scov2:f817192159f61ff2e7e03e7af1e01c654ca834cb6a3ba9a995974b7d7d79ed14\",\"reasons\":[\"draft: input acknowledgement not recorded\"]}],\"changes\":[{\"id\":\"c_0b0b77b84491b45c9cba9c00\",\"file\":\"test/test_session.rb\",\"before\":\"384825bdfe68ae376a1eb0e614122c295ea1ac5b5ef9a9412d712a12aea7b694\",\"after\":\"f1ef06aa124c023d6f2d7d5eb4184fc47f66e835944acd94979a739943407253\",\"reason\":\"captured source file changed\",\"knownFlows\":[],\"current\":true,\"assessment\":{\"id\":\"c_0b0b77b84491b45c9cba9c00\",\"basis\":\"scov2:177ff0b820b32bcd329cd14fac7e9f3928c20267f86a2ba8e94565242d1ffe96\",\"affectedFlows\":[],\"explanation\":\"Only the fixture test file changed. The current test inputs and assertions have been reviewed against this run’s mappings. The application source is unchanged.\"},\"errors\":[],\"expectedBasis\":\"scov2:177ff0b820b32bcd329cd14fac7e9f3928c20267f86a2ba8e94565242d1ffe96\"}],\"meaning\":\"Authored graph references and input acknowledgements only; no semantic proof or completeness claim\",\"revision\":\"c110a56f353f269a4009129bcb2fad29cc92e87c13b81f330e7e6308f45d9b27\",\"workingTree\":{\"stale\":false,\"reasons\":[]},\"run\":\"run_6602df00c1549b81\",\"map\":\"/private<project>/.supercov/runs/run_6602df00c1549b81/assertions.json\"}}\n"
        },
        {
          "args": [
            "runs",
            "run_6602df00c1549b81",
            "assertions",
            "check",
            "--require-mappings"
          ],
          "stdout": "{\n  \"summary\": {\n    \"status\": \"available\",\n    \"reason\": \"Agent-assessed statements; mapping completeness is unknown\",\n    \"pendingChanges\": 0,\n    \"metric\": \"measured statements\",\n    \"statements\": {\n      \"asserted\": 3,\n      \"declared\": 3,\n      \"total\": 5,\n      \"percentage\": 60.0\n    },\n    \"assertions\": 2,\n    \"inventoryAssertions\": 2,\n    \"missingInventoryAssertions\": 0,\n    \"assertionsWithFlows\": 2,\n    \"assertionsWithoutFlows\": 0,\n    \"observedAssertionsWithoutCurrentExplanation\": 0,\n    \"questions\": 0,\n    \"currentFlows\": 2,\n    \"draftFlows\": 0,\n    \"staleFlows\": 0,\n    \"invalidFlows\": 0,\n    \"eligibleFlows\": 2,\n    \"retiredAssertions\": 0,\n    \"unobservedAssertions\": 0,\n    \"inventoryFailures\": 0,\n    \"unanchoredStatements\": 0,\n    \"runPassed\": true,\n    \"lines\": {\n      \"asserted\": 3,\n      \"declared\": 3,\n      \"total\": 5,\n      \"percentage\": 60.0\n    },\n    \"excludedStatements\": 0\n  },\n  \"basis\": \"agent-assessed; passing assertion identity and same-test execution required; not mutation resistance\",\n  \"validationErrors\": [],\n  \"limitations\": [\n    \"Syntax inventory covers recognized assertion forms, not every possible custom assertion. Agents may add exact source sites; missing runtime identity never earns credit.\"\n  ],\n  \"revision\": \"ecd4e57d52a40e72669687e287a36e4793b202b066b4b64c8b7a03014a886b22\",\n  \"inheritance\": {\n    \"from\": \"run_c74a05f4bb7f07ef\",\n    \"skipped\": []\n  },\n  \"view\": \"summary\",\n  \"file\": null,\n  \"needsAttention\": false,\n  \"scope\": \"summary covers the whole run with matching current source; --file filters items only\",\n  \"workingTree\": {\n    \"stale\": false,\n    \"reasons\": []\n  },\n  \"valid\": true,\n  \"failures\": [],\n  \"requirements\": {\n    \"mappings\": true,\n    \"observed\": false,\n    \"minimum\": null\n  },\n  \"run\": \"run_6602df00c1549b81\",\n  \"map\": \"/private<project>/.supercov/runs/run_6602df00c1549b81/assertions.json\"\n}\n"
        },
        {
          "args": [
            "runs",
            "run_6602df00c1549b81"
          ],
          "stdout": "run run_6602df00c1549b81\ncommand: ruby -Itest test/test_session.rb\n\nCoverage\n  Lines      100.00% (5/5)\n  Branches   100.00% (6/6)\n  MC/DC      50.00% (1/2)\nAssertions 60.00% (3/5) — agent-assessed statements, whole run\n  2 assertions with flows; 0 without; 2 current flows; 0 stale; 0 draft\n\nBy test kind\n  unit            2 test(s)  lines 100.00%  branches 100.00%  MC/DC  50.00%\n\nMeasurement\n  Instrumentation  Complete for the measured command and coverage model\n  Scope            Only code reached by the wrapped command is observed; this status does not prove every project test suite was run.\n\nTests\n  Total       2\n  Passed      2\n\nRemaining\n  Files with uncovered code         1\n  Files with measurement limits     0\n\nRuntime action phases (separate from assertion mappings)\n  Recorded within action phases      0 lines\n  Other recorded execution           5 lines\n  These runtime phase counts do not include the agent-assessed assertion coverage shown above.\n\nCommands\n  npx supercov runs 'run_6602df00c1549b81' files\n  npx supercov runs 'run_6602df00c1549b81' gaps\n  npx supercov runs 'run_6602df00c1549b81' kinds\n  npx supercov runs 'run_6602df00c1549b81' runners\n  npx supercov runs 'run_6602df00c1549b81' scope\n  npx supercov runs run_6602df00c1549b81 --help\n"
        },
        {
          "args": [
            "runs",
            "run_6602df00c1549b81",
            "assertions",
            "--json"
          ],
          "stdout": "{\"schemaVersion\":1,\"ok\":true,\"command\":\"coverage.assertions\",\"data\":{\"items\":[{\"observation\":\"Passing assertion occurrence recorded.\",\"id\":\"a_e2b421189457195c783b\",\"at\":{\"file\":\"test/test_session.rb\",\"line\":7,\"column\":5,\"text\":\"assert_equal 'confirmed', order[:status]\"},\"questions\":[],\"inMap\":true,\"observes\":[\"The returned status equals confirmed for this test input.\"],\"operations\":[\"assert_equal\"],\"observedPassingTests\":[\"CheckoutTest#test_confirms_order\"],\"flows\":[{\"id\":\"returned-status\",\"freshness\":\"current\",\"valid\":true,\"current\":true,\"expectedBasis\":\"scov2:57b0bb2564c23bb93cccd323e30511503ed8cf7ce8b960652252f3c4bebed1eb\",\"selectors\":[{\"file\":\"test/test_session.rb\",\"name\":\"CheckoutTest#test_confirms_order\",\"status\":\"observed\",\"outcomes\":[\"passed\"],\"reason\":\"A passing assertion occurrence matches this test.\"}],\"questions\":[],\"reasons\":[],\"eligible\":true,\"blockers\":[],\"matchingTests\":[\"CheckoutTest#test_confirms_order\"],\"creditedStatementLines\":[[\"lib/session.rb\",4]],\"nodeCredit\":[{\"nodeId\":\"n0\",\"location\":{\"file\":\"lib/session.rb\",\"line\":2,\"column\":3},\"status\":\"notCredited\",\"statementIds\":[\"rb:statement:53a073d5ef82300b62035a39\"],\"matchingTests\":[],\"reasons\":[{\"code\":\"no_same_test_execution\",\"message\":\"No execution evidence attributed to a selected passing test for this assertion.\"}]},{\"nodeId\":\"n1\",\"location\":{\"file\":\"lib/session.rb\",\"line\":4,\"column\":5},\"status\":\"credited\",\"statementIds\":[\"rb:statement:f137aa6addb2a77c8dd64d12\"],\"matchingTests\":[\"CheckoutTest#test_confirms_order\"],\"reasons\":[{\"code\":\"same_test_execution\",\"message\":\"Current agent claim, passing assertion, and statement execution in the same selected test.\"}]}]}]},{\"observation\":\"Passing assertion occurrence recorded.\",\"id\":\"a_5f4bf5c17ad017d56dc0\",\"at\":{\"file\":\"test/test_session.rb\",\"line\":12,\"column\":5,\"text\":\"assert_equal 'denied', order[:status]\"},\"questions\":[],\"inMap\":true,\"observes\":[\"The returned status equals denied for this test input.\"],\"operations\":[\"assert_equal\"],\"observedPassingTests\":[\"CheckoutTest#test_rejects_signed_out_visitor\"],\"flows\":[{\"id\":\"returned-status\",\"freshness\":\"current\",\"valid\":true,\"current\":true,\"expectedBasis\":\"scov2:f817192159f61ff2e7e03e7af1e01c654ca834cb6a3ba9a995974b7d7d79ed14\",\"selectors\":[{\"file\":\"test/test_session.rb\",\"name\":\"CheckoutTest#test_rejects_signed_out_visitor\",\"status\":\"observed\",\"outcomes\":[\"passed\"],\"reason\":\"A passing assertion occurrence matches this test.\"}],\"questions\":[],\"reasons\":[],\"eligible\":true,\"blockers\":[],\"matchingTests\":[\"CheckoutTest#test_rejects_signed_out_visitor\"],\"creditedStatementLines\":[[\"lib/session.rb\",2],[\"lib/session.rb\",6]],\"nodeCredit\":[{\"nodeId\":\"n0\",\"location\":{\"file\":\"lib/session.rb\",\"line\":2,\"column\":3},\"status\":\"credited\",\"statementIds\":[\"rb:statement:53a073d5ef82300b62035a39\"],\"matchingTests\":[\"CheckoutTest#test_rejects_signed_out_visitor\"],\"reasons\":[{\"code\":\"same_test_execution\",\"message\":\"Current agent claim, passing assertion, and statement execution in the same selected test.\"}]},{\"nodeId\":\"n1\",\"location\":{\"file\":\"lib/session.rb\",\"line\":6,\"column\":3},\"status\":\"credited\",\"statementIds\":[\"rb:statement:edc3887454938b9edb51e0e5\"],\"matchingTests\":[\"CheckoutTest#test_rejects_signed_out_visitor\"],\"reasons\":[{\"code\":\"same_test_execution\",\"message\":\"Current agent claim, passing assertion, and statement execution in the same selected test.\"}]}]}]}],\"pagination\":{\"offset\":0,\"returned\":2,\"total\":2,\"nextOffset\":null},\"summary\":{\"status\":\"available\",\"reason\":\"Agent-assessed statements; mapping completeness is unknown\",\"pendingChanges\":0,\"metric\":\"measured statements\",\"statements\":{\"asserted\":3,\"declared\":3,\"total\":5,\"percentage\":60.0},\"assertions\":2,\"inventoryAssertions\":2,\"missingInventoryAssertions\":0,\"assertionsWithFlows\":2,\"assertionsWithoutFlows\":0,\"observedAssertionsWithoutCurrentExplanation\":0,\"questions\":0,\"currentFlows\":2,\"draftFlows\":0,\"staleFlows\":0,\"invalidFlows\":0,\"eligibleFlows\":2,\"retiredAssertions\":0,\"unobservedAssertions\":0,\"inventoryFailures\":0,\"unanchoredStatements\":0,\"runPassed\":true,\"lines\":{\"asserted\":3,\"declared\":3,\"total\":5,\"percentage\":60.0},\"excludedStatements\":0},\"basis\":\"agent-assessed; passing assertion identity and same-test execution required; not mutation resistance\",\"validationErrors\":[],\"limitations\":[\"Syntax inventory covers recognized assertion forms, not every possible custom assertion. Agents may add exact source sites; missing runtime identity never earns credit.\"],\"revision\":\"ecd4e57d52a40e72669687e287a36e4793b202b066b4b64c8b7a03014a886b22\",\"inheritance\":{\"from\":\"run_c74a05f4bb7f07ef\",\"skipped\":[]},\"view\":\"assertions\",\"file\":null,\"needsAttention\":false,\"scope\":\"summary covers the whole run with matching current source; --file filters items only\",\"workingTree\":{\"stale\":false,\"reasons\":[]},\"run\":\"run_6602df00c1549b81\",\"map\":\"/private<project>/.supercov/runs/run_6602df00c1549b81/assertions.json\"}}\n"
        },
        {
          "args": [
            "runs",
            "run_6602df00c1549b81"
          ],
          "stdout": "run run_6602df00c1549b81\ncommand: ruby -Itest test/test_session.rb\n\nCoverage\n  Lines      100.00% (5/5)\n  Branches   100.00% (6/6)\n  MC/DC      50.00% (1/2)\nAssertions 60.00% (3/5) — agent-assessed statements, whole run\n  2 assertions with flows; 0 without; 2 current flows; 0 stale; 0 draft\n\nBy test kind\n  unit            2 test(s)  lines 100.00%  branches 100.00%  MC/DC  50.00%\n\nMeasurement\n  Instrumentation  Complete for the measured command and coverage model\n  Scope            Only code reached by the wrapped command is observed; this status does not prove every project test suite was run.\n\nTests\n  Total       2\n  Passed      2\n\nRemaining\n  Files with uncovered code         1\n  Files with measurement limits     0\n\nRuntime action phases (separate from assertion mappings)\n  Recorded within action phases      0 lines\n  Other recorded execution           5 lines\n  These runtime phase counts do not include the agent-assessed assertion coverage shown above.\n\nCommands\n  npx supercov runs 'run_6602df00c1549b81' files\n  npx supercov runs 'run_6602df00c1549b81' gaps\n  npx supercov runs 'run_6602df00c1549b81' kinds\n  npx supercov runs 'run_6602df00c1549b81' runners\n  npx supercov runs 'run_6602df00c1549b81' scope\n  npx supercov runs run_6602df00c1549b81 --help\n"
        },
        {
          "args": [
            "runs",
            "run_6602df00c1549b81",
            "gaps",
            "--limit",
            "5"
          ],
          "stdout": "Coverage gaps — only files with unresolved obligations\n\nlib/session.rb\n  uncovered: lines 0  statements 0  functions 0  branch outcomes 0  MC/DC conditions 1\n\nshowing 1-1 of 1\ninspect file: npx supercov runs 'run_6602df00c1549b81' file 'lib/session.rb'\n"
        },
        {
          "args": [
            "runs",
            "run_6602df00c1549b81",
            "file",
            "lib/session.rb"
          ],
          "stdout": "lib/session.rb\n\nUncovered\n  Lines not executed              0\n  Statements not executed         0\n  Functions not called            0\n  Branch outcomes not taken       0\n  MC/DC conditions not shown      1\n  Measurement limitations         0\n\nTests touching this file: 3\n\nGaps\n  NOT COVERED = line never executed; PARTIAL = line executed but some behavior remains untested\n LINE  STATUS        SOURCE\n    2  PARTIAL       signed_in && !expired\n       Unobserved: no witness pair shows `!expired` independently changing the decision result\n       Inspect: npx supercov runs 'run_6602df00c1549b81' line 'lib/session.rb:2'\nshowing 1-1 of 1 gap lines\n"
        },
        {
          "args": [
            "runs",
            "run_6602df00c1549b81",
            "line",
            "lib/session.rb:3"
          ],
          "stdout": "lib/session.rb:3\n\nSource\n      3 | total = price * quantity\n\nStatus\n  COVERED\n  Evidence: execution only\n\nCoverage details\n  Statement at column 4 — covered (1 covering tests)\n    `total = price * quantity`\n\nCovering tests\n  CheckoutTest#test_confirms_order [CheckoutTest#test_confirms_order] — unit/minitest\n\nTest phases\n  minitest call (passed) at CheckoutTest#test_confirms_order\n  minitest assertion (passed) at CheckoutTest#test_confirms_order\n"
        },
        {
          "args": [
            "runs",
            "run_6602df00c1549b81",
            "decision",
            "lib/session.rb:2"
          ],
          "stdout": "rb:decision:aa870ea298c48db7bba71411  lib/session.rb:2:5\nsigned_in && !expired\nC1 covered: signed_in\nC2 MISSING: !expired\nconfidence executed\nvectors:\n  TT -> T  tests=1 confidence=executed\n  F- -> F  tests=1 confidence=executed\nshowing 1-2 of 2 conditions/vectors/tests per decision\n"
        },
        {
          "args": [
            "runs",
            "run_6602df00c1549b81",
            "assertions",
            "report",
            "--view",
            "statements",
            "--file",
            "lib/session.rb"
          ],
          "stdout": "{\n  \"items\": [\n    {\n      \"id\": \"rb:statement:c8e1a9d1a80770684dee1591\",\n      \"file\": \"lib/session.rb\",\n      \"line\": 1,\n      \"at\": {\n        \"file\": \"lib/session.rb\",\n        \"line\": 1,\n        \"column\": 1,\n        \"text\": \"def checkout(signed_in, expired, price, quantity)\\n  if signed_in && !expired\\n    total = price * quantity\\n    return { status: 'confirmed', total: total }\\n  end\\n  { status: 'denied', total: 0 }\\nend\"\n      },\n      \"covered\": false,\n      \"tests\": [],\n      \"declared\": false,\n      \"asserted\": false,\n      \"flows\": [],\n      \"executionEvidence\": {\n        \"anyExecution\": true,\n        \"passingTests\": [],\n        \"outsidePassingTests\": [\n          \"__supercov_background__:main\"\n        ]\n      }\n    },\n    {\n      \"id\": \"rb:statement:53a073d5ef82300b62035a39\",\n      \"file\": \"lib/session.rb\",\n      \"line\": 2,\n      \"at\": {\n        \"file\": \"lib/session.rb\",\n        \"line\": 2,\n        \"column\": 3,\n        \"text\": \"if signed_in && !expired\\n    total = price * quantity\\n    return { status: 'confirmed', total: total }\\n  end\"\n      },\n      \"covered\": true,\n      \"tests\": [\n        \"CheckoutTest#test_rejects_signed_out_visitor\"\n      ],\n      \"declared\": true,\n      \"asserted\": true,\n      \"flows\": [\n        \"a_5f4bf5c17ad017d56dc0/returned-status\"\n      ],\n      \"executionEvidence\": {\n        \"anyExecution\": true,\n        \"passingTests\": [\n          \"CheckoutTest#test_rejects_signed_out_visitor\"\n        ],\n        \"outsidePassingTests\": []\n      }\n    },\n    {\n      \"id\": \"rb:statement:edc3887454938b9edb51e0e5\",\n      \"file\": \"lib/session.rb\",\n      \"line\": 6,\n      \"at\": {\n        \"file\": \"lib/session.rb\",\n        \"line\": 6,\n        \"column\": 3,\n        \"text\": \"{ status: 'denied', total: 0 }\"\n      },\n      \"covered\": true,\n      \"tests\": [\n        \"CheckoutTest#test_rejects_signed_out_visitor\"\n      ],\n      \"declared\": true,\n      \"asserted\": true,\n      \"flows\": [\n        \"a_5f4bf5c17ad017d56dc0/returned-status\"\n      ],\n      \"executionEvidence\": {\n        \"anyExecution\": true,\n        \"passingTests\": [\n          \"CheckoutTest#test_rejects_signed_out_visitor\"\n        ],\n        \"outsidePassingTests\": []\n      }\n    },\n    {\n      \"id\": \"rb:statement:1695cab5af182d8232cf23e1\",\n      \"file\": \"lib/session.rb\",\n      \"line\": 3,\n      \"at\": {\n        \"file\": \"lib/session.rb\",\n        \"line\": 3,\n        \"column\": 5,\n        \"text\": \"total = price * quantity\"\n      },\n      \"covered\": true,\n      \"tests\": [\n        \"CheckoutTest#test_confirms_order\"\n      ],\n      \"declared\": false,\n      \"asserted\": false,\n      \"flows\": [],\n      \"executionEvidence\": {\n        \"anyExecution\": true,\n        \"passingTests\": [\n          \"CheckoutTest#test_confirms_order\"\n        ],\n        \"outsidePassingTests\": []\n      }\n    },\n    {\n      \"id\": \"rb:statement:f137aa6addb2a77c8dd64d12\",\n      \"file\": \"lib/session.rb\",\n      \"line\": 4,\n      \"at\": {\n        \"file\": \"lib/session.rb\",\n        \"line\": 4,\n        \"column\": 5,\n        \"text\": \"return { status: 'confirmed', total: total }\"\n      },\n      \"covered\": true,\n      \"tests\": [\n        \"CheckoutTest#test_confirms_order\"\n      ],\n      \"declared\": true,\n      \"asserted\": true,\n      \"flows\": [\n        \"a_e2b421189457195c783b/returned-status\"\n      ],\n      \"executionEvidence\": {\n        \"anyExecution\": true,\n        \"passingTests\": [\n          \"CheckoutTest#test_confirms_order\"\n        ],\n        \"outsidePassingTests\": []\n      }\n    }\n  ],\n  \"pagination\": {\n    \"offset\": 0,\n    \"returned\": 5,\n    \"total\": 5,\n    \"nextOffset\": null\n  },\n  \"summary\": {\n    \"status\": \"available\",\n    \"reason\": \"Agent-assessed statements; mapping completeness is unknown\",\n    \"pendingChanges\": 0,\n    \"metric\": \"measured statements\",\n    \"statements\": {\n      \"asserted\": 3,\n      \"declared\": 3,\n      \"total\": 5,\n      \"percentage\": 60.0\n    },\n    \"assertions\": 2,\n    \"inventoryAssertions\": 2,\n    \"missingInventoryAssertions\": 0,\n    \"assertionsWithFlows\": 2,\n    \"assertionsWithoutFlows\": 0,\n    \"observedAssertionsWithoutCurrentExplanation\": 0,\n    \"questions\": 0,\n    \"currentFlows\": 2,\n    \"draftFlows\": 0,\n    \"staleFlows\": 0,\n    \"invalidFlows\": 0,\n    \"eligibleFlows\": 2,\n    \"retiredAssertions\": 0,\n    \"unobservedAssertions\": 0,\n    \"inventoryFailures\": 0,\n    \"unanchoredStatements\": 0,\n    \"runPassed\": true,\n    \"lines\": {\n      \"asserted\": 3,\n      \"declared\": 3,\n      \"total\": 5,\n      \"percentage\": 60.0\n    },\n    \"excludedStatements\": 0\n  },\n  \"basis\": \"agent-assessed; passing assertion identity and same-test execution required; not mutation resistance\",\n  \"validationErrors\": [],\n  \"limitations\": [\n    \"Syntax inventory covers recognized assertion forms, not every possible custom assertion. Agents may add exact source sites; missing runtime identity never earns credit.\"\n  ],\n  \"revision\": \"ecd4e57d52a40e72669687e287a36e4793b202b066b4b64c8b7a03014a886b22\",\n  \"inheritance\": {\n    \"from\": \"run_c74a05f4bb7f07ef\",\n    \"skipped\": []\n  },\n  \"view\": \"statements\",\n  \"file\": \"lib/session.rb\",\n  \"needsAttention\": false,\n  \"scope\": \"summary covers the whole run with matching current source; --file filters items only\",\n  \"workingTree\": {\n    \"stale\": false,\n    \"reasons\": []\n  },\n  \"run\": \"run_6602df00c1549b81\",\n  \"map\": \"/private<project>/.supercov/runs/run_6602df00c1549b81/assertions.json\"\n}\n"
        },
        {
          "args": [
            "runs",
            "run_6602df00c1549b81",
            "decision",
            "lib/session.rb:2"
          ],
          "stdout": "rb:decision:aa870ea298c48db7bba71411  lib/session.rb:2:5\nsigned_in && !expired\nC1 covered: signed_in\nC2 MISSING: !expired\nconfidence executed\nvectors:\n  TT -> T  tests=1 confidence=executed\n  F- -> F  tests=1 confidence=executed\nshowing 1-2 of 2 conditions/vectors/tests per decision\n"
        },
        {
          "args": [
            "--",
            "ruby",
            "-Itest",
            "test/test_session.rb"
          ],
          "stdout": "Run options: --seed 31689\n\n# Running:\n\n...\n\nFinished in 0.001673s, 1793.1860 runs/s, 2390.9146 assertions/s.\n\n3 runs, 4 assertions, 0 failures, 0 errors, 0 skips\n[coverage] evidence: /private<project>/.supercov/runs/run_bc069ae83c05822a/evidence.raw.gz\n"
        },
        {
          "args": [
            "runs",
            "latest",
            "assertions",
            "--json"
          ],
          "stdout": "{\"schemaVersion\":1,\"ok\":true,\"command\":\"coverage.assertions\",\"data\":{\"items\":[{\"observation\":\"Passing assertion occurrence recorded.\",\"id\":\"a_e2b421189457195c783b\",\"at\":{\"file\":\"test/test_session.rb\",\"line\":7,\"column\":5,\"text\":\"assert_equal 'confirmed', order[:status]\"},\"questions\":[],\"inMap\":true,\"observes\":[\"The returned status equals confirmed for this test input.\"],\"operations\":[\"assert_equal\"],\"observedPassingTests\":[\"CheckoutTest#test_confirms_order\"],\"flows\":[{\"id\":\"returned-status\",\"freshness\":\"stale\",\"valid\":true,\"current\":false,\"expectedBasis\":\"scov2:7caad64320fd2e9dad9143c2deb6531f74e2bade469e2a4d2d44256c3c764551\",\"selectors\":[{\"file\":\"test/test_session.rb\",\"name\":\"CheckoutTest#test_confirms_order\",\"status\":\"observed\",\"outcomes\":[\"passed\"],\"reason\":\"A passing assertion occurrence matches this test.\"}],\"questions\":[],\"reasons\":[\"claim or inputs changed; needs rechecking\",\"dependency file changed or removed: test/test_session.rb\"],\"eligible\":false,\"blockers\":[\"flow requires review or reference repair\"],\"matchingTests\":[\"CheckoutTest#test_confirms_order\"],\"creditedStatementLines\":[],\"nodeCredit\":[{\"nodeId\":\"n0\",\"location\":{\"file\":\"lib/session.rb\",\"line\":2,\"column\":3},\"status\":\"notCredited\",\"statementIds\":[\"rb:statement:53a073d5ef82300b62035a39\"],\"matchingTests\":[],\"reasons\":[{\"code\":\"flow_needs_attention\",\"message\":\"Flow needs investigation: claim or inputs changed; needs rechecking; dependency file changed or removed: test/test_session.rb\"},{\"code\":\"no_same_test_execution\",\"message\":\"No execution evidence attributed to a selected passing test for this assertion.\"}]},{\"nodeId\":\"n1\",\"location\":{\"file\":\"lib/session.rb\",\"line\":4,\"column\":5},\"status\":\"notCredited\",\"statementIds\":[\"rb:statement:f137aa6addb2a77c8dd64d12\"],\"matchingTests\":[\"CheckoutTest#test_confirms_order\"],\"reasons\":[{\"code\":\"flow_needs_attention\",\"message\":\"Flow needs investigation: claim or inputs changed; needs rechecking; dependency file changed or removed: test/test_session.rb\"}]}]}]},{\"observation\":\"Passing assertion occurrence recorded.\",\"id\":\"a_a33be83687d756c13386\",\"at\":{\"file\":\"test/test_session.rb\",\"line\":8,\"column\":5,\"text\":\"assert_equal 50, order[:total]\"},\"questions\":[],\"inMap\":true,\"observes\":[],\"operations\":[\"assert_equal\"],\"observedPassingTests\":[\"CheckoutTest#test_confirms_order\"],\"flows\":[]},{\"observation\":\"Passing assertion occurrence recorded.\",\"id\":\"a_ad967816a701a1a25664\",\"at\":{\"file\":\"test/test_session.rb\",\"line\":13,\"column\":5,\"text\":\"assert_equal 'denied', order[:status]\"},\"questions\":[],\"inMap\":true,\"observes\":[],\"operations\":[\"assert_equal\"],\"observedPassingTests\":[\"CheckoutTest#test_rejects_signed_out_visitor\"],\"flows\":[]},{\"observation\":\"Passing assertion occurrence recorded.\",\"id\":\"a_9913a590644738f464c5\",\"at\":{\"file\":\"test/test_session.rb\",\"line\":17,\"column\":5,\"text\":\"assert_equal 'denied', order[:status]\"},\"questions\":[],\"inMap\":true,\"observes\":[],\"operations\":[\"assert_equal\"],\"observedPassingTests\":[\"CheckoutTest#test_rejects_expired_session\"],\"flows\":[]}],\"pagination\":{\"offset\":0,\"returned\":4,\"total\":4,\"nextOffset\":null},\"summary\":{\"status\":\"pending\",\"reason\":\"Source changes need impact assessment\",\"pendingChanges\":1,\"metric\":\"measured statements\",\"statements\":{\"asserted\":0,\"declared\":2,\"total\":5,\"percentage\":null},\"assertions\":4,\"inventoryAssertions\":4,\"missingInventoryAssertions\":0,\"assertionsWithFlows\":1,\"assertionsWithoutFlows\":3,\"observedAssertionsWithoutCurrentExplanation\":4,\"questions\":0,\"currentFlows\":0,\"draftFlows\":0,\"staleFlows\":1,\"invalidFlows\":0,\"eligibleFlows\":0,\"retiredAssertions\":1,\"unobservedAssertions\":0,\"inventoryFailures\":0,\"unanchoredStatements\":0,\"runPassed\":true,\"lines\":{\"asserted\":0,\"declared\":2,\"total\":5,\"percentage\":null},\"excludedStatements\":0},\"basis\":\"agent-assessed; passing assertion identity and same-test execution required; not mutation resistance\",\"validationErrors\":[],\"limitations\":[\"Syntax inventory covers recognized assertion forms, not every possible custom assertion. Agents may add exact source sites; missing runtime identity never earns credit.\"],\"revision\":\"f32a5a3d4d51e5439564b4861b7b4e00a76a9377be7ce0cd18e7a1c1849dc902\",\"inheritance\":{\"from\":\"run_6602df00c1549b81\",\"skipped\":[]},\"view\":\"assertions\",\"file\":null,\"needsAttention\":false,\"scope\":\"summary covers the whole run with matching current source; --file filters items only\",\"workingTree\":{\"stale\":false,\"reasons\":[]},\"run\":\"run_bc069ae83c05822a\",\"map\":\"/private<project>/.supercov/runs/run_bc069ae83c05822a/assertions.json\"}}\n"
        },
        {
          "args": [
            "runs",
            "run_bc069ae83c05822a",
            "assertions",
            "--json"
          ],
          "stdout": "{\"schemaVersion\":1,\"ok\":true,\"command\":\"coverage.assertions\",\"data\":{\"items\":[{\"observation\":\"Passing assertion occurrence recorded.\",\"id\":\"a_e2b421189457195c783b\",\"at\":{\"file\":\"test/test_session.rb\",\"line\":7,\"column\":5,\"text\":\"assert_equal 'confirmed', order[:status]\"},\"questions\":[],\"inMap\":true,\"observes\":[\"The returned status equals confirmed for this test input.\"],\"operations\":[\"assert_equal\"],\"observedPassingTests\":[\"CheckoutTest#test_confirms_order\"],\"flows\":[{\"id\":\"returned-status\",\"freshness\":\"stale\",\"valid\":true,\"current\":false,\"expectedBasis\":\"scov2:7caad64320fd2e9dad9143c2deb6531f74e2bade469e2a4d2d44256c3c764551\",\"selectors\":[{\"file\":\"test/test_session.rb\",\"name\":\"CheckoutTest#test_confirms_order\",\"status\":\"observed\",\"outcomes\":[\"passed\"],\"reason\":\"A passing assertion occurrence matches this test.\"}],\"questions\":[],\"reasons\":[\"claim or inputs changed; needs rechecking\",\"dependency file changed or removed: test/test_session.rb\"],\"eligible\":false,\"blockers\":[\"flow requires review or reference repair\"],\"matchingTests\":[\"CheckoutTest#test_confirms_order\"],\"creditedStatementLines\":[],\"nodeCredit\":[{\"nodeId\":\"n0\",\"location\":{\"file\":\"lib/session.rb\",\"line\":2,\"column\":3},\"status\":\"notCredited\",\"statementIds\":[\"rb:statement:53a073d5ef82300b62035a39\"],\"matchingTests\":[],\"reasons\":[{\"code\":\"flow_needs_attention\",\"message\":\"Flow needs investigation: claim or inputs changed; needs rechecking; dependency file changed or removed: test/test_session.rb\"},{\"code\":\"no_same_test_execution\",\"message\":\"No execution evidence attributed to a selected passing test for this assertion.\"}]},{\"nodeId\":\"n1\",\"location\":{\"file\":\"lib/session.rb\",\"line\":4,\"column\":5},\"status\":\"notCredited\",\"statementIds\":[\"rb:statement:f137aa6addb2a77c8dd64d12\"],\"matchingTests\":[\"CheckoutTest#test_confirms_order\"],\"reasons\":[{\"code\":\"flow_needs_attention\",\"message\":\"Flow needs investigation: claim or inputs changed; needs rechecking; dependency file changed or removed: test/test_session.rb\"}]}]}]},{\"observation\":\"Passing assertion occurrence recorded.\",\"id\":\"a_a33be83687d756c13386\",\"at\":{\"file\":\"test/test_session.rb\",\"line\":8,\"column\":5,\"text\":\"assert_equal 50, order[:total]\"},\"questions\":[],\"inMap\":true,\"observes\":[],\"operations\":[\"assert_equal\"],\"observedPassingTests\":[\"CheckoutTest#test_confirms_order\"],\"flows\":[]},{\"observation\":\"Passing assertion occurrence recorded.\",\"id\":\"a_ad967816a701a1a25664\",\"at\":{\"file\":\"test/test_session.rb\",\"line\":13,\"column\":5,\"text\":\"assert_equal 'denied', order[:status]\"},\"questions\":[],\"inMap\":true,\"observes\":[],\"operations\":[\"assert_equal\"],\"observedPassingTests\":[\"CheckoutTest#test_rejects_signed_out_visitor\"],\"flows\":[]},{\"observation\":\"Passing assertion occurrence recorded.\",\"id\":\"a_9913a590644738f464c5\",\"at\":{\"file\":\"test/test_session.rb\",\"line\":17,\"column\":5,\"text\":\"assert_equal 'denied', order[:status]\"},\"questions\":[],\"inMap\":true,\"observes\":[],\"operations\":[\"assert_equal\"],\"observedPassingTests\":[\"CheckoutTest#test_rejects_expired_session\"],\"flows\":[]}],\"pagination\":{\"offset\":0,\"returned\":4,\"total\":4,\"nextOffset\":null},\"summary\":{\"status\":\"pending\",\"reason\":\"Source changes need impact assessment\",\"pendingChanges\":1,\"metric\":\"measured statements\",\"statements\":{\"asserted\":0,\"declared\":2,\"total\":5,\"percentage\":null},\"assertions\":4,\"inventoryAssertions\":4,\"missingInventoryAssertions\":0,\"assertionsWithFlows\":1,\"assertionsWithoutFlows\":3,\"observedAssertionsWithoutCurrentExplanation\":4,\"questions\":0,\"currentFlows\":0,\"draftFlows\":0,\"staleFlows\":1,\"invalidFlows\":0,\"eligibleFlows\":0,\"retiredAssertions\":1,\"unobservedAssertions\":0,\"inventoryFailures\":0,\"unanchoredStatements\":0,\"runPassed\":true,\"lines\":{\"asserted\":0,\"declared\":2,\"total\":5,\"percentage\":null},\"excludedStatements\":0},\"basis\":\"agent-assessed; passing assertion identity and same-test execution required; not mutation resistance\",\"validationErrors\":[],\"limitations\":[\"Syntax inventory covers recognized assertion forms, not every possible custom assertion. Agents may add exact source sites; missing runtime identity never earns credit.\"],\"revision\":\"f32a5a3d4d51e5439564b4861b7b4e00a76a9377be7ce0cd18e7a1c1849dc902\",\"inheritance\":{\"from\":\"run_6602df00c1549b81\",\"skipped\":[]},\"view\":\"assertions\",\"file\":null,\"needsAttention\":false,\"scope\":\"summary covers the whole run with matching current source; --file filters items only\",\"workingTree\":{\"stale\":false,\"reasons\":[]},\"run\":\"run_bc069ae83c05822a\",\"map\":\"/private<project>/.supercov/runs/run_bc069ae83c05822a/assertions.json\"}}\n"
        },
        {
          "args": [
            "runs",
            "run_bc069ae83c05822a",
            "assertions",
            "report",
            "--view",
            "statements",
            "--json"
          ],
          "stdout": "{\"schemaVersion\":1,\"ok\":true,\"command\":\"coverage.assertions\",\"data\":{\"items\":[{\"id\":\"rb:statement:c8e1a9d1a80770684dee1591\",\"file\":\"lib/session.rb\",\"line\":1,\"at\":{\"file\":\"lib/session.rb\",\"line\":1,\"column\":1,\"text\":\"def checkout(signed_in, expired, price, quantity)\\n  if signed_in && !expired\\n    total = price * quantity\\n    return { status: 'confirmed', total: total }\\n  end\\n  { status: 'denied', total: 0 }\\nend\"},\"covered\":false,\"tests\":[],\"declared\":false,\"asserted\":false,\"flows\":[],\"executionEvidence\":{\"anyExecution\":true,\"passingTests\":[],\"outsidePassingTests\":[\"__supercov_background__:main\"]}},{\"id\":\"rb:statement:53a073d5ef82300b62035a39\",\"file\":\"lib/session.rb\",\"line\":2,\"at\":{\"file\":\"lib/session.rb\",\"line\":2,\"column\":3,\"text\":\"if signed_in && !expired\\n    total = price * quantity\\n    return { status: 'confirmed', total: total }\\n  end\"},\"covered\":true,\"tests\":[\"CheckoutTest#test_rejects_signed_out_visitor\"],\"declared\":true,\"asserted\":false,\"flows\":[],\"executionEvidence\":{\"anyExecution\":true,\"passingTests\":[\"CheckoutTest#test_rejects_signed_out_visitor\"],\"outsidePassingTests\":[]}},{\"id\":\"rb:statement:edc3887454938b9edb51e0e5\",\"file\":\"lib/session.rb\",\"line\":6,\"at\":{\"file\":\"lib/session.rb\",\"line\":6,\"column\":3,\"text\":\"{ status: 'denied', total: 0 }\"},\"covered\":true,\"tests\":[\"CheckoutTest#test_rejects_signed_out_visitor\"],\"declared\":false,\"asserted\":false,\"flows\":[],\"executionEvidence\":{\"anyExecution\":true,\"passingTests\":[\"CheckoutTest#test_rejects_signed_out_visitor\"],\"outsidePassingTests\":[]}},{\"id\":\"rb:statement:1695cab5af182d8232cf23e1\",\"file\":\"lib/session.rb\",\"line\":3,\"at\":{\"file\":\"lib/session.rb\",\"line\":3,\"column\":5,\"text\":\"total = price * quantity\"},\"covered\":true,\"tests\":[\"CheckoutTest#test_confirms_order\"],\"declared\":false,\"asserted\":false,\"flows\":[],\"executionEvidence\":{\"anyExecution\":true,\"passingTests\":[\"CheckoutTest#test_confirms_order\"],\"outsidePassingTests\":[]}},{\"id\":\"rb:statement:f137aa6addb2a77c8dd64d12\",\"file\":\"lib/session.rb\",\"line\":4,\"at\":{\"file\":\"lib/session.rb\",\"line\":4,\"column\":5,\"text\":\"return { status: 'confirmed', total: total }\"},\"covered\":true,\"tests\":[\"CheckoutTest#test_confirms_order\"],\"declared\":true,\"asserted\":false,\"flows\":[],\"executionEvidence\":{\"anyExecution\":true,\"passingTests\":[\"CheckoutTest#test_confirms_order\"],\"outsidePassingTests\":[]}}],\"pagination\":{\"offset\":0,\"returned\":5,\"total\":5,\"nextOffset\":null},\"summary\":{\"status\":\"pending\",\"reason\":\"Source changes need impact assessment\",\"pendingChanges\":1,\"metric\":\"measured statements\",\"statements\":{\"asserted\":0,\"declared\":2,\"total\":5,\"percentage\":null},\"assertions\":4,\"inventoryAssertions\":4,\"missingInventoryAssertions\":0,\"assertionsWithFlows\":1,\"assertionsWithoutFlows\":3,\"observedAssertionsWithoutCurrentExplanation\":4,\"questions\":0,\"currentFlows\":0,\"draftFlows\":0,\"staleFlows\":1,\"invalidFlows\":0,\"eligibleFlows\":0,\"retiredAssertions\":1,\"unobservedAssertions\":0,\"inventoryFailures\":0,\"unanchoredStatements\":0,\"runPassed\":true,\"lines\":{\"asserted\":0,\"declared\":2,\"total\":5,\"percentage\":null},\"excludedStatements\":0},\"basis\":\"agent-assessed; passing assertion identity and same-test execution required; not mutation resistance\",\"validationErrors\":[],\"limitations\":[\"Syntax inventory covers recognized assertion forms, not every possible custom assertion. Agents may add exact source sites; missing runtime identity never earns credit.\"],\"revision\":\"f32a5a3d4d51e5439564b4861b7b4e00a76a9377be7ce0cd18e7a1c1849dc902\",\"inheritance\":{\"from\":\"run_6602df00c1549b81\",\"skipped\":[]},\"view\":\"statements\",\"file\":null,\"needsAttention\":false,\"scope\":\"summary covers the whole run with matching current source; --file filters items only\",\"workingTree\":{\"stale\":false,\"reasons\":[]},\"run\":\"run_bc069ae83c05822a\",\"map\":\"/private<project>/.supercov/runs/run_bc069ae83c05822a/assertions.json\"}}\n"
        },
        {
          "args": [
            "runs",
            "run_bc069ae83c05822a",
            "assertions",
            "report",
            "--view",
            "tests",
            "--json"
          ],
          "stdout": "{\"schemaVersion\":1,\"ok\":true,\"command\":\"coverage.assertions\",\"data\":{\"items\":[{\"id\":\"CheckoutTest#test_confirms_order\",\"file\":\"test/test_session.rb\",\"name\":\"CheckoutTest#test_confirms_order\",\"role\":\"test\",\"outcome\":\"passed\",\"provenance\":{\"runner\":\"minitest\",\"kind\":\"unit\",\"source\":\"ruby-coverage-v1\"},\"hasExecutionEvidence\":true},{\"id\":\"CheckoutTest#test_rejects_expired_session\",\"file\":\"test/test_session.rb\",\"name\":\"CheckoutTest#test_rejects_expired_session\",\"role\":\"test\",\"outcome\":\"passed\",\"provenance\":{\"runner\":\"minitest\",\"kind\":\"unit\",\"source\":\"ruby-coverage-v1\"},\"hasExecutionEvidence\":true},{\"id\":\"CheckoutTest#test_rejects_signed_out_visitor\",\"file\":\"test/test_session.rb\",\"name\":\"CheckoutTest#test_rejects_signed_out_visitor\",\"role\":\"test\",\"outcome\":\"passed\",\"provenance\":{\"runner\":\"minitest\",\"kind\":\"unit\",\"source\":\"ruby-coverage-v1\"},\"hasExecutionEvidence\":true},{\"id\":\"__supercov_background__:main\",\"file\":null,\"name\":\"Ruby load and background execution\",\"role\":\"background\",\"outcome\":\"unknown\",\"provenance\":{\"runner\":\"minitest\",\"kind\":\"unit\",\"source\":\"ruby-coverage-v1\"},\"hasExecutionEvidence\":true}],\"pagination\":{\"offset\":0,\"returned\":4,\"total\":4,\"nextOffset\":null},\"summary\":{\"status\":\"pending\",\"reason\":\"Source changes need impact assessment\",\"pendingChanges\":1,\"metric\":\"measured statements\",\"statements\":{\"asserted\":0,\"declared\":2,\"total\":5,\"percentage\":null},\"assertions\":4,\"inventoryAssertions\":4,\"missingInventoryAssertions\":0,\"assertionsWithFlows\":1,\"assertionsWithoutFlows\":3,\"observedAssertionsWithoutCurrentExplanation\":4,\"questions\":0,\"currentFlows\":0,\"draftFlows\":0,\"staleFlows\":1,\"invalidFlows\":0,\"eligibleFlows\":0,\"retiredAssertions\":1,\"unobservedAssertions\":0,\"inventoryFailures\":0,\"unanchoredStatements\":0,\"runPassed\":true,\"lines\":{\"asserted\":0,\"declared\":2,\"total\":5,\"percentage\":null},\"excludedStatements\":0},\"basis\":\"agent-assessed; passing assertion identity and same-test execution required; not mutation resistance\",\"validationErrors\":[],\"limitations\":[\"Syntax inventory covers recognized assertion forms, not every possible custom assertion. Agents may add exact source sites; missing runtime identity never earns credit.\"],\"revision\":\"f32a5a3d4d51e5439564b4861b7b4e00a76a9377be7ce0cd18e7a1c1849dc902\",\"inheritance\":{\"from\":\"run_6602df00c1549b81\",\"skipped\":[]},\"view\":\"tests\",\"file\":null,\"needsAttention\":false,\"scope\":\"summary covers the whole run with matching current source; --file filters items only\",\"workingTree\":{\"stale\":false,\"reasons\":[]},\"run\":\"run_bc069ae83c05822a\",\"map\":\"/private<project>/.supercov/runs/run_bc069ae83c05822a/assertions.json\"}}\n"
        },
        {
          "args": [
            "runs",
            "run_bc069ae83c05822a",
            "assertions",
            "report",
            "--view",
            "changes",
            "--json"
          ],
          "stdout": "{\"schemaVersion\":1,\"ok\":true,\"command\":\"coverage.assertions\",\"data\":{\"items\":[{\"id\":\"c_5577d71b86a66a23d12e4616\",\"file\":\"test/test_session.rb\",\"before\":\"f1ef06aa124c023d6f2d7d5eb4184fc47f66e835944acd94979a739943407253\",\"after\":\"8388cb016404d0a6ba83829a1ab1b18d6f95a4682fd80c093c5777f241bdc9fd\",\"reason\":\"captured source file changed\",\"knownFlows\":[\"a_5f4bf5c17ad017d56dc0/returned-status\",\"a_e2b421189457195c783b/returned-status\"],\"current\":false,\"assessment\":null,\"errors\":[],\"expectedBasis\":null}],\"pagination\":{\"offset\":0,\"returned\":1,\"total\":1,\"nextOffset\":null},\"summary\":{\"status\":\"pending\",\"reason\":\"Source changes need impact assessment\",\"pendingChanges\":1,\"metric\":\"measured statements\",\"statements\":{\"asserted\":0,\"declared\":2,\"total\":5,\"percentage\":null},\"assertions\":4,\"inventoryAssertions\":4,\"missingInventoryAssertions\":0,\"assertionsWithFlows\":1,\"assertionsWithoutFlows\":3,\"observedAssertionsWithoutCurrentExplanation\":4,\"questions\":0,\"currentFlows\":0,\"draftFlows\":0,\"staleFlows\":1,\"invalidFlows\":0,\"eligibleFlows\":0,\"retiredAssertions\":1,\"unobservedAssertions\":0,\"inventoryFailures\":0,\"unanchoredStatements\":0,\"runPassed\":true,\"lines\":{\"asserted\":0,\"declared\":2,\"total\":5,\"percentage\":null},\"excludedStatements\":0},\"basis\":\"agent-assessed; passing assertion identity and same-test execution required; not mutation resistance\",\"validationErrors\":[],\"limitations\":[\"Syntax inventory covers recognized assertion forms, not every possible custom assertion. Agents may add exact source sites; missing runtime identity never earns credit.\"],\"revision\":\"f32a5a3d4d51e5439564b4861b7b4e00a76a9377be7ce0cd18e7a1c1849dc902\",\"inheritance\":{\"from\":\"run_6602df00c1549b81\",\"skipped\":[]},\"view\":\"changes\",\"file\":null,\"needsAttention\":false,\"scope\":\"summary covers the whole run with matching current source; --file filters items only\",\"workingTree\":{\"stale\":false,\"reasons\":[]},\"run\":\"run_bc069ae83c05822a\",\"map\":\"/private<project>/.supercov/runs/run_bc069ae83c05822a/assertions.json\"}}\n"
        },
        {
          "args": [
            "runs",
            "run_bc069ae83c05822a",
            "assertions",
            "validate",
            "--json"
          ],
          "stdout": "{\"schemaVersion\":1,\"ok\":true,\"command\":\"coverage.assertions\",\"data\":{\"valid\":true,\"stage\":\"references\",\"errors\":[],\"flows\":[{\"id\":\"a_e2b421189457195c783b/returned-status\",\"expectedBasis\":\"scov2:7caad64320fd2e9dad9143c2deb6531f74e2bade469e2a4d2d44256c3c764551\",\"reasons\":[\"dependency file changed or removed: test/test_session.rb\",\"draft: input acknowledgement not recorded\"]},{\"id\":\"a_a33be83687d756c13386/calculated-total\",\"expectedBasis\":\"scov2:425f5dd1a70e7625261ce9254f07852644e5ce8e14d35e875c446ba8fec5331b\",\"reasons\":[\"draft: input acknowledgement not recorded\"]},{\"id\":\"a_ad967816a701a1a25664/returned-status\",\"expectedBasis\":\"scov2:e024b9c875c5b938b0b08215984a25cdac94a77979e892741fd13e92f20b8d22\",\"reasons\":[\"draft: input acknowledgement not recorded\"]},{\"id\":\"a_9913a590644738f464c5/returned-status\",\"expectedBasis\":\"scov2:1342b690b6a3bbeec13af23bdd4c04b2cfac9cdd3ddcd9fb772851520e8107ca\",\"reasons\":[\"draft: input acknowledgement not recorded\"]}],\"changes\":[{\"id\":\"c_5577d71b86a66a23d12e4616\",\"file\":\"test/test_session.rb\",\"before\":\"f1ef06aa124c023d6f2d7d5eb4184fc47f66e835944acd94979a739943407253\",\"after\":\"8388cb016404d0a6ba83829a1ab1b18d6f95a4682fd80c093c5777f241bdc9fd\",\"reason\":\"captured source file changed\",\"knownFlows\":[\"a_5f4bf5c17ad017d56dc0/returned-status\",\"a_e2b421189457195c783b/returned-status\"],\"current\":false,\"assessment\":{\"id\":\"c_5577d71b86a66a23d12e4616\",\"basis\":null,\"affectedFlows\":[\"a_e2b421189457195c783b/returned-status\"],\"explanation\":\"Only the fixture test file changed. The current test inputs and assertions have been reviewed against this run’s mappings. The application source is unchanged.\"},\"errors\":[],\"expectedBasis\":\"scov2:3004945034fdaaa52b9ed889d91dbb5b9cbb1ffbb4fc71fe9994f3e9e2e28b7f\"}],\"meaning\":\"Authored graph references and input acknowledgements only; no semantic proof or completeness claim\",\"revision\":\"273d202488def138a552bdd3fbc336ec791c8a569c475251edd2310830d1adb9\",\"workingTree\":{\"stale\":false,\"reasons\":[]},\"run\":\"run_bc069ae83c05822a\",\"map\":\"/private<project>/.supercov/runs/run_bc069ae83c05822a/assertions.json\"}}\n"
        },
        {
          "args": [
            "runs",
            "run_bc069ae83c05822a",
            "assertions",
            "validate",
            "--json"
          ],
          "stdout": "{\"schemaVersion\":1,\"ok\":true,\"command\":\"coverage.assertions\",\"data\":{\"valid\":true,\"stage\":\"references\",\"errors\":[],\"flows\":[{\"id\":\"a_e2b421189457195c783b/returned-status\",\"expectedBasis\":\"scov2:a067abcc4e561c76627b6946bde8909d224e7cb3494ed1943c2b67b1239bc61d\",\"reasons\":[\"dependency file changed or removed: test/test_session.rb\",\"draft: input acknowledgement not recorded\"]},{\"id\":\"a_a33be83687d756c13386/calculated-total\",\"expectedBasis\":\"scov2:425f5dd1a70e7625261ce9254f07852644e5ce8e14d35e875c446ba8fec5331b\",\"reasons\":[\"draft: input acknowledgement not recorded\"]},{\"id\":\"a_ad967816a701a1a25664/returned-status\",\"expectedBasis\":\"scov2:e024b9c875c5b938b0b08215984a25cdac94a77979e892741fd13e92f20b8d22\",\"reasons\":[\"draft: input acknowledgement not recorded\"]},{\"id\":\"a_9913a590644738f464c5/returned-status\",\"expectedBasis\":\"scov2:1342b690b6a3bbeec13af23bdd4c04b2cfac9cdd3ddcd9fb772851520e8107ca\",\"reasons\":[\"draft: input acknowledgement not recorded\"]}],\"changes\":[{\"id\":\"c_5577d71b86a66a23d12e4616\",\"file\":\"test/test_session.rb\",\"before\":\"f1ef06aa124c023d6f2d7d5eb4184fc47f66e835944acd94979a739943407253\",\"after\":\"8388cb016404d0a6ba83829a1ab1b18d6f95a4682fd80c093c5777f241bdc9fd\",\"reason\":\"captured source file changed\",\"knownFlows\":[\"a_5f4bf5c17ad017d56dc0/returned-status\",\"a_e2b421189457195c783b/returned-status\"],\"current\":true,\"assessment\":{\"id\":\"c_5577d71b86a66a23d12e4616\",\"basis\":\"scov2:3004945034fdaaa52b9ed889d91dbb5b9cbb1ffbb4fc71fe9994f3e9e2e28b7f\",\"affectedFlows\":[\"a_e2b421189457195c783b/returned-status\"],\"explanation\":\"Only the fixture test file changed. The current test inputs and assertions have been reviewed against this run’s mappings. The application source is unchanged.\"},\"errors\":[],\"expectedBasis\":\"scov2:3004945034fdaaa52b9ed889d91dbb5b9cbb1ffbb4fc71fe9994f3e9e2e28b7f\"}],\"meaning\":\"Authored graph references and input acknowledgements only; no semantic proof or completeness claim\",\"revision\":\"115a6a86c2fc9168aa6bbcca02aaba5f953c5e92874f37d91b81b7c2153ddfee\",\"workingTree\":{\"stale\":false,\"reasons\":[]},\"run\":\"run_bc069ae83c05822a\",\"map\":\"/private<project>/.supercov/runs/run_bc069ae83c05822a/assertions.json\"}}\n"
        },
        {
          "args": [
            "runs",
            "run_bc069ae83c05822a",
            "assertions",
            "check",
            "--require-mappings"
          ],
          "stdout": "{\n  \"summary\": {\n    \"status\": \"available\",\n    \"reason\": \"Agent-assessed statements; mapping completeness is unknown\",\n    \"pendingChanges\": 0,\n    \"metric\": \"measured statements\",\n    \"statements\": {\n      \"asserted\": 4,\n      \"declared\": 4,\n      \"total\": 5,\n      \"percentage\": 80.0\n    },\n    \"assertions\": 4,\n    \"inventoryAssertions\": 4,\n    \"missingInventoryAssertions\": 0,\n    \"assertionsWithFlows\": 4,\n    \"assertionsWithoutFlows\": 0,\n    \"observedAssertionsWithoutCurrentExplanation\": 0,\n    \"questions\": 0,\n    \"currentFlows\": 4,\n    \"draftFlows\": 0,\n    \"staleFlows\": 0,\n    \"invalidFlows\": 0,\n    \"eligibleFlows\": 4,\n    \"retiredAssertions\": 1,\n    \"unobservedAssertions\": 0,\n    \"inventoryFailures\": 0,\n    \"unanchoredStatements\": 0,\n    \"runPassed\": true,\n    \"lines\": {\n      \"asserted\": 4,\n      \"declared\": 4,\n      \"total\": 5,\n      \"percentage\": 80.0\n    },\n    \"excludedStatements\": 0\n  },\n  \"basis\": \"agent-assessed; passing assertion identity and same-test execution required; not mutation resistance\",\n  \"validationErrors\": [],\n  \"limitations\": [\n    \"Syntax inventory covers recognized assertion forms, not every possible custom assertion. Agents may add exact source sites; missing runtime identity never earns credit.\"\n  ],\n  \"revision\": \"67b3e32b90a3e2314f29485e113eca5ece6ec7c1c0bbd3a88806133990842ff1\",\n  \"inheritance\": {\n    \"from\": \"run_6602df00c1549b81\",\n    \"skipped\": []\n  },\n  \"view\": \"summary\",\n  \"file\": null,\n  \"needsAttention\": false,\n  \"scope\": \"summary covers the whole run with matching current source; --file filters items only\",\n  \"workingTree\": {\n    \"stale\": false,\n    \"reasons\": []\n  },\n  \"valid\": true,\n  \"failures\": [],\n  \"requirements\": {\n    \"mappings\": true,\n    \"observed\": false,\n    \"minimum\": null\n  },\n  \"run\": \"run_bc069ae83c05822a\",\n  \"map\": \"/private<project>/.supercov/runs/run_bc069ae83c05822a/assertions.json\"\n}\n"
        },
        {
          "args": [
            "runs",
            "run_bc069ae83c05822a"
          ],
          "stdout": "run run_bc069ae83c05822a\ncommand: ruby -Itest test/test_session.rb\n\nCoverage\n  Lines      100.00% (5/5)\n  Branches   100.00% (6/6)\n  MC/DC      100.00% (2/2)\nAssertions 80.00% (4/5) — agent-assessed statements, whole run\n  4 assertions with flows; 0 without; 4 current flows; 0 stale; 0 draft\n\nBy test kind\n  unit            3 test(s)  lines 100.00%  branches 100.00%  MC/DC 100.00%\n\nMeasurement\n  Instrumentation  Complete for the measured command and coverage model\n  Scope            Only code reached by the wrapped command is observed; this status does not prove every project test suite was run.\n\nTests\n  Total       3\n  Passed      3\n\nRemaining\n  Files with uncovered code         0\n  Files with measurement limits     0\n\nRuntime action phases (separate from assertion mappings)\n  Recorded within action phases      0 lines\n  Other recorded execution           5 lines\n  These runtime phase counts do not include the agent-assessed assertion coverage shown above.\n\nCommands\n  npx supercov runs 'run_bc069ae83c05822a' files\n  npx supercov runs 'run_bc069ae83c05822a' gaps\n  npx supercov runs 'run_bc069ae83c05822a' kinds\n  npx supercov runs 'run_bc069ae83c05822a' runners\n  npx supercov runs 'run_bc069ae83c05822a' scope\n  npx supercov runs run_bc069ae83c05822a --help\n"
        },
        {
          "args": [
            "runs",
            "run_bc069ae83c05822a",
            "assertions",
            "--json"
          ],
          "stdout": "{\"schemaVersion\":1,\"ok\":true,\"command\":\"coverage.assertions\",\"data\":{\"items\":[{\"observation\":\"Passing assertion occurrence recorded.\",\"id\":\"a_e2b421189457195c783b\",\"at\":{\"file\":\"test/test_session.rb\",\"line\":7,\"column\":5,\"text\":\"assert_equal 'confirmed', order[:status]\"},\"questions\":[],\"inMap\":true,\"observes\":[\"The returned status equals confirmed for this test input.\"],\"operations\":[\"assert_equal\"],\"observedPassingTests\":[\"CheckoutTest#test_confirms_order\"],\"flows\":[{\"id\":\"returned-status\",\"freshness\":\"current\",\"valid\":true,\"current\":true,\"expectedBasis\":\"scov2:a067abcc4e561c76627b6946bde8909d224e7cb3494ed1943c2b67b1239bc61d\",\"selectors\":[{\"file\":\"test/test_session.rb\",\"name\":\"CheckoutTest#test_confirms_order\",\"status\":\"observed\",\"outcomes\":[\"passed\"],\"reason\":\"A passing assertion occurrence matches this test.\"}],\"questions\":[],\"reasons\":[],\"eligible\":true,\"blockers\":[],\"matchingTests\":[\"CheckoutTest#test_confirms_order\"],\"creditedStatementLines\":[[\"lib/session.rb\",4]],\"nodeCredit\":[{\"nodeId\":\"n0\",\"location\":{\"file\":\"lib/session.rb\",\"line\":2,\"column\":3},\"status\":\"notCredited\",\"statementIds\":[\"rb:statement:53a073d5ef82300b62035a39\"],\"matchingTests\":[],\"reasons\":[{\"code\":\"no_same_test_execution\",\"message\":\"No execution evidence attributed to a selected passing test for this assertion.\"}]},{\"nodeId\":\"n1\",\"location\":{\"file\":\"lib/session.rb\",\"line\":4,\"column\":5},\"status\":\"credited\",\"statementIds\":[\"rb:statement:f137aa6addb2a77c8dd64d12\"],\"matchingTests\":[\"CheckoutTest#test_confirms_order\"],\"reasons\":[{\"code\":\"same_test_execution\",\"message\":\"Current agent claim, passing assertion, and statement execution in the same selected test.\"}]}]}]},{\"observation\":\"Passing assertion occurrence recorded.\",\"id\":\"a_a33be83687d756c13386\",\"at\":{\"file\":\"test/test_session.rb\",\"line\":8,\"column\":5,\"text\":\"assert_equal 50, order[:total]\"},\"questions\":[],\"inMap\":true,\"observes\":[\"The total equals 50 for two items at 25.\"],\"operations\":[\"assert_equal\"],\"observedPassingTests\":[\"CheckoutTest#test_confirms_order\"],\"flows\":[{\"id\":\"calculated-total\",\"freshness\":\"current\",\"valid\":true,\"current\":true,\"expectedBasis\":\"scov2:425f5dd1a70e7625261ce9254f07852644e5ce8e14d35e875c446ba8fec5331b\",\"selectors\":[{\"file\":\"test/test_session.rb\",\"name\":\"CheckoutTest#test_confirms_order\",\"status\":\"observed\",\"outcomes\":[\"passed\"],\"reason\":\"A passing assertion occurrence matches this test.\"}],\"questions\":[],\"reasons\":[],\"eligible\":true,\"blockers\":[],\"matchingTests\":[\"CheckoutTest#test_confirms_order\"],\"creditedStatementLines\":[[\"lib/session.rb\",3],[\"lib/session.rb\",4]],\"nodeCredit\":[{\"nodeId\":\"n0\",\"location\":{\"file\":\"lib/session.rb\",\"line\":3,\"column\":5},\"status\":\"credited\",\"statementIds\":[\"rb:statement:1695cab5af182d8232cf23e1\"],\"matchingTests\":[\"CheckoutTest#test_confirms_order\"],\"reasons\":[{\"code\":\"same_test_execution\",\"message\":\"Current agent claim, passing assertion, and statement execution in the same selected test.\"}]},{\"nodeId\":\"n1\",\"location\":{\"file\":\"lib/session.rb\",\"line\":4,\"column\":5},\"status\":\"credited\",\"statementIds\":[\"rb:statement:f137aa6addb2a77c8dd64d12\"],\"matchingTests\":[\"CheckoutTest#test_confirms_order\"],\"reasons\":[{\"code\":\"same_test_execution\",\"message\":\"Current agent claim, passing assertion, and statement execution in the same selected test.\"}]}]}]},{\"observation\":\"Passing assertion occurrence recorded.\",\"id\":\"a_ad967816a701a1a25664\",\"at\":{\"file\":\"test/test_session.rb\",\"line\":13,\"column\":5,\"text\":\"assert_equal 'denied', order[:status]\"},\"questions\":[],\"inMap\":true,\"observes\":[\"The returned status equals denied for this test input.\"],\"operations\":[\"assert_equal\"],\"observedPassingTests\":[\"CheckoutTest#test_rejects_signed_out_visitor\"],\"flows\":[{\"id\":\"returned-status\",\"freshness\":\"current\",\"valid\":true,\"current\":true,\"expectedBasis\":\"scov2:e024b9c875c5b938b0b08215984a25cdac94a77979e892741fd13e92f20b8d22\",\"selectors\":[{\"file\":\"test/test_session.rb\",\"name\":\"CheckoutTest#test_rejects_signed_out_visitor\",\"status\":\"observed\",\"outcomes\":[\"passed\"],\"reason\":\"A passing assertion occurrence matches this test.\"}],\"questions\":[],\"reasons\":[],\"eligible\":true,\"blockers\":[],\"matchingTests\":[\"CheckoutTest#test_rejects_signed_out_visitor\"],\"creditedStatementLines\":[[\"lib/session.rb\",2],[\"lib/session.rb\",6]],\"nodeCredit\":[{\"nodeId\":\"n0\",\"location\":{\"file\":\"lib/session.rb\",\"line\":2,\"column\":3},\"status\":\"credited\",\"statementIds\":[\"rb:statement:53a073d5ef82300b62035a39\"],\"matchingTests\":[\"CheckoutTest#test_rejects_signed_out_visitor\"],\"reasons\":[{\"code\":\"same_test_execution\",\"message\":\"Current agent claim, passing assertion, and statement execution in the same selected test.\"}]},{\"nodeId\":\"n1\",\"location\":{\"file\":\"lib/session.rb\",\"line\":6,\"column\":3},\"status\":\"credited\",\"statementIds\":[\"rb:statement:edc3887454938b9edb51e0e5\"],\"matchingTests\":[\"CheckoutTest#test_rejects_signed_out_visitor\"],\"reasons\":[{\"code\":\"same_test_execution\",\"message\":\"Current agent claim, passing assertion, and statement execution in the same selected test.\"}]}]}]},{\"observation\":\"Passing assertion occurrence recorded.\",\"id\":\"a_9913a590644738f464c5\",\"at\":{\"file\":\"test/test_session.rb\",\"line\":17,\"column\":5,\"text\":\"assert_equal 'denied', order[:status]\"},\"questions\":[],\"inMap\":true,\"observes\":[\"The returned status equals denied for this test input.\"],\"operations\":[\"assert_equal\"],\"observedPassingTests\":[\"CheckoutTest#test_rejects_expired_session\"],\"flows\":[{\"id\":\"returned-status\",\"freshness\":\"current\",\"valid\":true,\"current\":true,\"expectedBasis\":\"scov2:1342b690b6a3bbeec13af23bdd4c04b2cfac9cdd3ddcd9fb772851520e8107ca\",\"selectors\":[{\"file\":\"test/test_session.rb\",\"name\":\"CheckoutTest#test_rejects_expired_session\",\"status\":\"observed\",\"outcomes\":[\"passed\"],\"reason\":\"A passing assertion occurrence matches this test.\"}],\"questions\":[],\"reasons\":[],\"eligible\":true,\"blockers\":[],\"matchingTests\":[\"CheckoutTest#test_rejects_expired_session\"],\"creditedStatementLines\":[],\"nodeCredit\":[{\"nodeId\":\"n0\",\"location\":{\"file\":\"lib/session.rb\",\"line\":2,\"column\":3},\"status\":\"notCredited\",\"statementIds\":[\"rb:statement:53a073d5ef82300b62035a39\"],\"matchingTests\":[],\"reasons\":[{\"code\":\"no_same_test_execution\",\"message\":\"No execution evidence attributed to a selected passing test for this assertion.\"}]},{\"nodeId\":\"n1\",\"location\":{\"file\":\"lib/session.rb\",\"line\":6,\"column\":3},\"status\":\"notCredited\",\"statementIds\":[\"rb:statement:edc3887454938b9edb51e0e5\"],\"matchingTests\":[],\"reasons\":[{\"code\":\"no_same_test_execution\",\"message\":\"No execution evidence attributed to a selected passing test for this assertion.\"}]}]}]}],\"pagination\":{\"offset\":0,\"returned\":4,\"total\":4,\"nextOffset\":null},\"summary\":{\"status\":\"available\",\"reason\":\"Agent-assessed statements; mapping completeness is unknown\",\"pendingChanges\":0,\"metric\":\"measured statements\",\"statements\":{\"asserted\":4,\"declared\":4,\"total\":5,\"percentage\":80.0},\"assertions\":4,\"inventoryAssertions\":4,\"missingInventoryAssertions\":0,\"assertionsWithFlows\":4,\"assertionsWithoutFlows\":0,\"observedAssertionsWithoutCurrentExplanation\":0,\"questions\":0,\"currentFlows\":4,\"draftFlows\":0,\"staleFlows\":0,\"invalidFlows\":0,\"eligibleFlows\":4,\"retiredAssertions\":1,\"unobservedAssertions\":0,\"inventoryFailures\":0,\"unanchoredStatements\":0,\"runPassed\":true,\"lines\":{\"asserted\":4,\"declared\":4,\"total\":5,\"percentage\":80.0},\"excludedStatements\":0},\"basis\":\"agent-assessed; passing assertion identity and same-test execution required; not mutation resistance\",\"validationErrors\":[],\"limitations\":[\"Syntax inventory covers recognized assertion forms, not every possible custom assertion. Agents may add exact source sites; missing runtime identity never earns credit.\"],\"revision\":\"67b3e32b90a3e2314f29485e113eca5ece6ec7c1c0bbd3a88806133990842ff1\",\"inheritance\":{\"from\":\"run_6602df00c1549b81\",\"skipped\":[]},\"view\":\"assertions\",\"file\":null,\"needsAttention\":false,\"scope\":\"summary covers the whole run with matching current source; --file filters items only\",\"workingTree\":{\"stale\":false,\"reasons\":[]},\"run\":\"run_bc069ae83c05822a\",\"map\":\"/private<project>/.supercov/runs/run_bc069ae83c05822a/assertions.json\"}}\n"
        },
        {
          "args": [
            "runs",
            "run_bc069ae83c05822a"
          ],
          "stdout": "run run_bc069ae83c05822a\ncommand: ruby -Itest test/test_session.rb\n\nCoverage\n  Lines      100.00% (5/5)\n  Branches   100.00% (6/6)\n  MC/DC      100.00% (2/2)\nAssertions 80.00% (4/5) — agent-assessed statements, whole run\n  4 assertions with flows; 0 without; 4 current flows; 0 stale; 0 draft\n\nBy test kind\n  unit            3 test(s)  lines 100.00%  branches 100.00%  MC/DC 100.00%\n\nMeasurement\n  Instrumentation  Complete for the measured command and coverage model\n  Scope            Only code reached by the wrapped command is observed; this status does not prove every project test suite was run.\n\nTests\n  Total       3\n  Passed      3\n\nRemaining\n  Files with uncovered code         0\n  Files with measurement limits     0\n\nRuntime action phases (separate from assertion mappings)\n  Recorded within action phases      0 lines\n  Other recorded execution           5 lines\n  These runtime phase counts do not include the agent-assessed assertion coverage shown above.\n\nCommands\n  npx supercov runs 'run_bc069ae83c05822a' files\n  npx supercov runs 'run_bc069ae83c05822a' gaps\n  npx supercov runs 'run_bc069ae83c05822a' kinds\n  npx supercov runs 'run_bc069ae83c05822a' runners\n  npx supercov runs 'run_bc069ae83c05822a' scope\n  npx supercov runs run_bc069ae83c05822a --help\n"
        },
        {
          "args": [
            "runs",
            "run_bc069ae83c05822a",
            "gaps",
            "--limit",
            "5"
          ],
          "stdout": "Coverage gaps — only files with unresolved obligations\n\n\n\nshowing 0-0 of 0\n"
        },
        {
          "args": [
            "runs",
            "run_bc069ae83c05822a",
            "file",
            "lib/session.rb"
          ],
          "stdout": "lib/session.rb\n\nUncovered\n  Lines not executed              0\n  Statements not executed         0\n  Functions not called            0\n  Branch outcomes not taken       0\n  MC/DC conditions not shown      0\n  Measurement limitations         0\n\nTests touching this file: 3\n\nGaps\n  NOT COVERED = line never executed; PARTIAL = line executed but some behavior remains untested\n LINE  STATUS        SOURCE\nshowing 0-0 of 0 gap lines\n"
        },
        {
          "args": [
            "runs",
            "run_bc069ae83c05822a",
            "line",
            "lib/session.rb:3"
          ],
          "stdout": "lib/session.rb:3\n\nSource\n      3 | total = price * quantity\n\nStatus\n  COVERED\n  Evidence: execution only\n\nCoverage details\n  Statement at column 4 — covered (1 covering tests)\n    `total = price * quantity`\n\nCovering tests\n  CheckoutTest#test_confirms_order [CheckoutTest#test_confirms_order] — unit/minitest\n\nTest phases\n  minitest assertion (passed) at CheckoutTest#test_confirms_order\n  minitest call (passed) at CheckoutTest#test_confirms_order\n"
        },
        {
          "args": [
            "runs",
            "run_bc069ae83c05822a",
            "decision",
            "lib/session.rb:2"
          ],
          "stdout": "rb:decision:aa870ea298c48db7bba71411  lib/session.rb:2:5\nsigned_in && !expired\nC1 covered: signed_in\nC2 covered: !expired\nconfidence executed\nvectors:\n  TT -> T  tests=1 confidence=executed\n  TF -> F  tests=1 confidence=executed\n  F- -> F  tests=1 confidence=executed\nshowing 1-3 of 3 conditions/vectors/tests per decision\n"
        },
        {
          "args": [
            "runs",
            "run_bc069ae83c05822a",
            "assertions",
            "report",
            "--view",
            "statements",
            "--file",
            "lib/session.rb"
          ],
          "stdout": "{\n  \"items\": [\n    {\n      \"id\": \"rb:statement:c8e1a9d1a80770684dee1591\",\n      \"file\": \"lib/session.rb\",\n      \"line\": 1,\n      \"at\": {\n        \"file\": \"lib/session.rb\",\n        \"line\": 1,\n        \"column\": 1,\n        \"text\": \"def checkout(signed_in, expired, price, quantity)\\n  if signed_in && !expired\\n    total = price * quantity\\n    return { status: 'confirmed', total: total }\\n  end\\n  { status: 'denied', total: 0 }\\nend\"\n      },\n      \"covered\": false,\n      \"tests\": [],\n      \"declared\": false,\n      \"asserted\": false,\n      \"flows\": [],\n      \"executionEvidence\": {\n        \"anyExecution\": true,\n        \"passingTests\": [],\n        \"outsidePassingTests\": [\n          \"__supercov_background__:main\"\n        ]\n      }\n    },\n    {\n      \"id\": \"rb:statement:53a073d5ef82300b62035a39\",\n      \"file\": \"lib/session.rb\",\n      \"line\": 2,\n      \"at\": {\n        \"file\": \"lib/session.rb\",\n        \"line\": 2,\n        \"column\": 3,\n        \"text\": \"if signed_in && !expired\\n    total = price * quantity\\n    return { status: 'confirmed', total: total }\\n  end\"\n      },\n      \"covered\": true,\n      \"tests\": [\n        \"CheckoutTest#test_rejects_signed_out_visitor\"\n      ],\n      \"declared\": true,\n      \"asserted\": true,\n      \"flows\": [\n        \"a_ad967816a701a1a25664/returned-status\"\n      ],\n      \"executionEvidence\": {\n        \"anyExecution\": true,\n        \"passingTests\": [\n          \"CheckoutTest#test_rejects_signed_out_visitor\"\n        ],\n        \"outsidePassingTests\": []\n      }\n    },\n    {\n      \"id\": \"rb:statement:edc3887454938b9edb51e0e5\",\n      \"file\": \"lib/session.rb\",\n      \"line\": 6,\n      \"at\": {\n        \"file\": \"lib/session.rb\",\n        \"line\": 6,\n        \"column\": 3,\n        \"text\": \"{ status: 'denied', total: 0 }\"\n      },\n      \"covered\": true,\n      \"tests\": [\n        \"CheckoutTest#test_rejects_signed_out_visitor\"\n      ],\n      \"declared\": true,\n      \"asserted\": true,\n      \"flows\": [\n        \"a_ad967816a701a1a25664/returned-status\"\n      ],\n      \"executionEvidence\": {\n        \"anyExecution\": true,\n        \"passingTests\": [\n          \"CheckoutTest#test_rejects_signed_out_visitor\"\n        ],\n        \"outsidePassingTests\": []\n      }\n    },\n    {\n      \"id\": \"rb:statement:1695cab5af182d8232cf23e1\",\n      \"file\": \"lib/session.rb\",\n      \"line\": 3,\n      \"at\": {\n        \"file\": \"lib/session.rb\",\n        \"line\": 3,\n        \"column\": 5,\n        \"text\": \"total = price * quantity\"\n      },\n      \"covered\": true,\n      \"tests\": [\n        \"CheckoutTest#test_confirms_order\"\n      ],\n      \"declared\": true,\n      \"asserted\": true,\n      \"flows\": [\n        \"a_a33be83687d756c13386/calculated-total\"\n      ],\n      \"executionEvidence\": {\n        \"anyExecution\": true,\n        \"passingTests\": [\n          \"CheckoutTest#test_confirms_order\"\n        ],\n        \"outsidePassingTests\": []\n      }\n    },\n    {\n      \"id\": \"rb:statement:f137aa6addb2a77c8dd64d12\",\n      \"file\": \"lib/session.rb\",\n      \"line\": 4,\n      \"at\": {\n        \"file\": \"lib/session.rb\",\n        \"line\": 4,\n        \"column\": 5,\n        \"text\": \"return { status: 'confirmed', total: total }\"\n      },\n      \"covered\": true,\n      \"tests\": [\n        \"CheckoutTest#test_confirms_order\"\n      ],\n      \"declared\": true,\n      \"asserted\": true,\n      \"flows\": [\n        \"a_a33be83687d756c13386/calculated-total\",\n        \"a_e2b421189457195c783b/returned-status\"\n      ],\n      \"executionEvidence\": {\n        \"anyExecution\": true,\n        \"passingTests\": [\n          \"CheckoutTest#test_confirms_order\"\n        ],\n        \"outsidePassingTests\": []\n      }\n    }\n  ],\n  \"pagination\": {\n    \"offset\": 0,\n    \"returned\": 5,\n    \"total\": 5,\n    \"nextOffset\": null\n  },\n  \"summary\": {\n    \"status\": \"available\",\n    \"reason\": \"Agent-assessed statements; mapping completeness is unknown\",\n    \"pendingChanges\": 0,\n    \"metric\": \"measured statements\",\n    \"statements\": {\n      \"asserted\": 4,\n      \"declared\": 4,\n      \"total\": 5,\n      \"percentage\": 80.0\n    },\n    \"assertions\": 4,\n    \"inventoryAssertions\": 4,\n    \"missingInventoryAssertions\": 0,\n    \"assertionsWithFlows\": 4,\n    \"assertionsWithoutFlows\": 0,\n    \"observedAssertionsWithoutCurrentExplanation\": 0,\n    \"questions\": 0,\n    \"currentFlows\": 4,\n    \"draftFlows\": 0,\n    \"staleFlows\": 0,\n    \"invalidFlows\": 0,\n    \"eligibleFlows\": 4,\n    \"retiredAssertions\": 1,\n    \"unobservedAssertions\": 0,\n    \"inventoryFailures\": 0,\n    \"unanchoredStatements\": 0,\n    \"runPassed\": true,\n    \"lines\": {\n      \"asserted\": 4,\n      \"declared\": 4,\n      \"total\": 5,\n      \"percentage\": 80.0\n    },\n    \"excludedStatements\": 0\n  },\n  \"basis\": \"agent-assessed; passing assertion identity and same-test execution required; not mutation resistance\",\n  \"validationErrors\": [],\n  \"limitations\": [\n    \"Syntax inventory covers recognized assertion forms, not every possible custom assertion. Agents may add exact source sites; missing runtime identity never earns credit.\"\n  ],\n  \"revision\": \"67b3e32b90a3e2314f29485e113eca5ece6ec7c1c0bbd3a88806133990842ff1\",\n  \"inheritance\": {\n    \"from\": \"run_6602df00c1549b81\",\n    \"skipped\": []\n  },\n  \"view\": \"statements\",\n  \"file\": \"lib/session.rb\",\n  \"needsAttention\": false,\n  \"scope\": \"summary covers the whole run with matching current source; --file filters items only\",\n  \"workingTree\": {\n    \"stale\": false,\n    \"reasons\": []\n  },\n  \"run\": \"run_bc069ae83c05822a\",\n  \"map\": \"/private<project>/.supercov/runs/run_bc069ae83c05822a/assertions.json\"\n}\n"
        },
        {
          "args": [
            "diff",
            "run_6602df00c1549b81",
            "run_bc069ae83c05822a"
          ],
          "stdout": "run_6602df00c1549b81 -> run_bc069ae83c05822a\nlines +0pp, branches +0pp, MC/DC +50pp\ngained: 0 lines, 0 branches, 1 MC/DC conditions\nlost: 0 lines, 0 branches, 0 MC/DC conditions\n+ MC/DC lib/session.rb:2 C2 !expired\nshowing 1-1 of 1 per category\n"
        }
      ],
      "structural": {
        "test": "require 'minitest/autorun'\nrequire_relative '../lib/session'\n\nclass CheckoutTest < Minitest::Test\n  def test_confirms_order\n    order = checkout(true, false, 25, 2)\n    assert_equal 'confirmed', order[:status]\n  end\n\nend\n",
        "summary": "run run_c74a05f4bb7f07ef\ncommand: ruby -Itest test/test_session.rb\n\nCoverage\n  Lines      80.00% (4/5)\n  Branches   50.00% (3/6)\n  MC/DC      0.00% (0/2)\nAssertions not assessed — No recorded flow explanations\n  0 assertions with flows; 1 without; 0 current flows; 0 stale; 0 draft\n\nBy test kind\n  unit            1 test(s)  lines  80.00%  branches  50.00%  MC/DC   0.00%\n\nMeasurement\n  Instrumentation  Complete for the measured command and coverage model\n  Scope            Only code reached by the wrapped command is observed; this status does not prove every project test suite was run.\n\nTests\n  Total       1\n  Passed      1\n\nRemaining\n  Files with uncovered code         1\n  Files with measurement limits     0\n\nRuntime action phases (separate from assertion mappings)\n  Recorded within action phases      0 lines\n  Other recorded execution           4 lines\n  These runtime phase counts do not include the agent-assessed assertion coverage shown above.\n\nCommands\n  npx supercov runs 'run_c74a05f4bb7f07ef' files\n  npx supercov runs 'run_c74a05f4bb7f07ef' gaps\n  npx supercov runs 'run_c74a05f4bb7f07ef' kinds\n  npx supercov runs 'run_c74a05f4bb7f07ef' runners\n  npx supercov runs 'run_c74a05f4bb7f07ef' scope\n  npx supercov runs run_c74a05f4bb7f07ef --help\n",
        "gaps": "Coverage gaps — only files with unresolved obligations\n\nlib/session.rb\n  uncovered: lines 1  statements 1  functions 0  branch outcomes 2  MC/DC conditions 2\n\nshowing 1-1 of 1\ninspect file: npx supercov runs 'run_c74a05f4bb7f07ef' file 'lib/session.rb'\n",
        "file": "lib/session.rb\n\nUncovered\n  Lines not executed              1\n  Statements not executed         1\n  Functions not called            0\n  Branch outcomes not taken       2\n  MC/DC conditions not shown      2\n  Measurement limitations         0\n\nTests touching this file: 2\n\nGaps\n  NOT COVERED = line never executed; PARTIAL = line executed but some behavior remains untested\n LINE  STATUS        SOURCE\n    2  PARTIAL       signed_in && !expired\n       Unobserved: branch outcome not observed: false\n       Unobserved: branch outcome not observed: short-circuited\n       Unobserved: no witness pair shows `signed_in` independently changing the decision result\n       Unobserved: no witness pair shows `!expired` independently changing the decision result\n       Inspect: npx supercov runs 'run_c74a05f4bb7f07ef' line 'lib/session.rb:2'\n    6  NOT COVERED   { status: 'denied', total: 0 }\nshowing 1-2 of 2 gap lines\n",
        "line": "lib/session.rb:3\n\nSource\n      3 | total = price * quantity\n\nStatus\n  COVERED\n  Evidence: execution only\n\nCoverage details\n  Statement at column 4 — covered (1 covering tests)\n    `total = price * quantity`\n\nCovering tests\n  CheckoutTest#test_confirms_order [CheckoutTest#test_confirms_order] — unit/minitest\n\nTest phases\n  minitest call (passed) at CheckoutTest#test_confirms_order\n  minitest assertion (passed) at CheckoutTest#test_confirms_order\n",
        "decision": "rb:decision:aa870ea298c48db7bba71411  lib/session.rb:2:5\nsigned_in && !expired\nC1 MISSING: signed_in\nC2 MISSING: !expired\nconfidence executed\nvectors:\n  TT -> T  tests=1 confidence=executed\nshowing 1-2 of 2 conditions/vectors/tests per decision\n",
        "assertions": "{\n  \"items\": [\n    {\n      \"id\": \"rb:statement:c8e1a9d1a80770684dee1591\",\n      \"file\": \"lib/session.rb\",\n      \"line\": 1,\n      \"at\": {\n        \"file\": \"lib/session.rb\",\n        \"line\": 1,\n        \"column\": 1,\n        \"text\": \"def checkout(signed_in, expired, price, quantity)\\n  if signed_in && !expired\\n    total = price * quantity\\n    return { status: 'confirmed', total: total }\\n  end\\n  { status: 'denied', total: 0 }\\nend\"\n      },\n      \"covered\": false,\n      \"tests\": [],\n      \"declared\": false,\n      \"asserted\": false,\n      \"flows\": [],\n      \"executionEvidence\": {\n        \"anyExecution\": true,\n        \"passingTests\": [],\n        \"outsidePassingTests\": [\n          \"__supercov_background__:main\"\n        ]\n      }\n    },\n    {\n      \"id\": \"rb:statement:53a073d5ef82300b62035a39\",\n      \"file\": \"lib/session.rb\",\n      \"line\": 2,\n      \"at\": {\n        \"file\": \"lib/session.rb\",\n        \"line\": 2,\n        \"column\": 3,\n        \"text\": \"if signed_in && !expired\\n    total = price * quantity\\n    return { status: 'confirmed', total: total }\\n  end\"\n      },\n      \"covered\": true,\n      \"tests\": [\n        \"CheckoutTest#test_confirms_order\"\n      ],\n      \"declared\": false,\n      \"asserted\": false,\n      \"flows\": [],\n      \"executionEvidence\": {\n        \"anyExecution\": true,\n        \"passingTests\": [\n          \"CheckoutTest#test_confirms_order\"\n        ],\n        \"outsidePassingTests\": []\n      }\n    },\n    {\n      \"id\": \"rb:statement:edc3887454938b9edb51e0e5\",\n      \"file\": \"lib/session.rb\",\n      \"line\": 6,\n      \"at\": {\n        \"file\": \"lib/session.rb\",\n        \"line\": 6,\n        \"column\": 3,\n        \"text\": \"{ status: 'denied', total: 0 }\"\n      },\n      \"covered\": false,\n      \"tests\": [],\n      \"declared\": false,\n      \"asserted\": false,\n      \"flows\": [],\n      \"executionEvidence\": {\n        \"anyExecution\": false,\n        \"passingTests\": [],\n        \"outsidePassingTests\": []\n      }\n    },\n    {\n      \"id\": \"rb:statement:1695cab5af182d8232cf23e1\",\n      \"file\": \"lib/session.rb\",\n      \"line\": 3,\n      \"at\": {\n        \"file\": \"lib/session.rb\",\n        \"line\": 3,\n        \"column\": 5,\n        \"text\": \"total = price * quantity\"\n      },\n      \"covered\": true,\n      \"tests\": [\n        \"CheckoutTest#test_confirms_order\"\n      ],\n      \"declared\": false,\n      \"asserted\": false,\n      \"flows\": [],\n      \"executionEvidence\": {\n        \"anyExecution\": true,\n        \"passingTests\": [\n          \"CheckoutTest#test_confirms_order\"\n        ],\n        \"outsidePassingTests\": []\n      }\n    },\n    {\n      \"id\": \"rb:statement:f137aa6addb2a77c8dd64d12\",\n      \"file\": \"lib/session.rb\",\n      \"line\": 4,\n      \"at\": {\n        \"file\": \"lib/session.rb\",\n        \"line\": 4,\n        \"column\": 5,\n        \"text\": \"return { status: 'confirmed', total: total }\"\n      },\n      \"covered\": true,\n      \"tests\": [\n        \"CheckoutTest#test_confirms_order\"\n      ],\n      \"declared\": false,\n      \"asserted\": false,\n      \"flows\": [],\n      \"executionEvidence\": {\n        \"anyExecution\": true,\n        \"passingTests\": [\n          \"CheckoutTest#test_confirms_order\"\n        ],\n        \"outsidePassingTests\": []\n      }\n    }\n  ],\n  \"pagination\": {\n    \"offset\": 0,\n    \"returned\": 5,\n    \"total\": 5,\n    \"nextOffset\": null\n  },\n  \"summary\": {\n    \"status\": \"notAssessed\",\n    \"reason\": \"No recorded flow explanations\",\n    \"pendingChanges\": 0,\n    \"metric\": \"measured statements\",\n    \"statements\": {\n      \"asserted\": 0,\n      \"declared\": 0,\n      \"total\": 5,\n      \"percentage\": null\n    },\n    \"assertions\": 1,\n    \"inventoryAssertions\": 1,\n    \"missingInventoryAssertions\": 0,\n    \"assertionsWithFlows\": 0,\n    \"assertionsWithoutFlows\": 1,\n    \"observedAssertionsWithoutCurrentExplanation\": 1,\n    \"questions\": 0,\n    \"currentFlows\": 0,\n    \"draftFlows\": 0,\n    \"staleFlows\": 0,\n    \"invalidFlows\": 0,\n    \"eligibleFlows\": 0,\n    \"retiredAssertions\": 0,\n    \"unobservedAssertions\": 0,\n    \"inventoryFailures\": 0,\n    \"unanchoredStatements\": 0,\n    \"runPassed\": true,\n    \"lines\": {\n      \"asserted\": 0,\n      \"declared\": 0,\n      \"total\": 5,\n      \"percentage\": null\n    },\n    \"excludedStatements\": 0\n  },\n  \"basis\": \"agent-assessed; passing assertion identity and same-test execution required; not mutation resistance\",\n  \"validationErrors\": [],\n  \"limitations\": [\n    \"Syntax inventory covers recognized assertion forms, not every possible custom assertion. Agents may add exact source sites; missing runtime identity never earns credit.\"\n  ],\n  \"revision\": \"3de628773d3aa29adc5b4dd43362552a87932c5e0f3af9b7c0db845adf2d72fb\",\n  \"inheritance\": {\n    \"from\": null,\n    \"skipped\": []\n  },\n  \"view\": \"statements\",\n  \"file\": \"lib/session.rb\",\n  \"needsAttention\": false,\n  \"scope\": \"summary covers the whole run with matching current source; --file filters items only\",\n  \"workingTree\": {\n    \"stale\": false,\n    \"reasons\": []\n  },\n  \"run\": \"run_c74a05f4bb7f07ef\",\n  \"map\": \"<project>/.supercov/runs/run_c74a05f4bb7f07ef/assertions.json\"\n}\n"
      },
      "beforeQueries": {
        "summary": "run run_6602df00c1549b81\ncommand: ruby -Itest test/test_session.rb\n\nCoverage\n  Lines      100.00% (5/5)\n  Branches   100.00% (6/6)\n  MC/DC      50.00% (1/2)\nAssertions 60.00% (3/5) — agent-assessed statements, whole run\n  2 assertions with flows; 0 without; 2 current flows; 0 stale; 0 draft\n\nBy test kind\n  unit            2 test(s)  lines 100.00%  branches 100.00%  MC/DC  50.00%\n\nMeasurement\n  Instrumentation  Complete for the measured command and coverage model\n  Scope            Only code reached by the wrapped command is observed; this status does not prove every project test suite was run.\n\nTests\n  Total       2\n  Passed      2\n\nRemaining\n  Files with uncovered code         1\n  Files with measurement limits     0\n\nRuntime action phases (separate from assertion mappings)\n  Recorded within action phases      0 lines\n  Other recorded execution           5 lines\n  These runtime phase counts do not include the agent-assessed assertion coverage shown above.\n\nCommands\n  npx supercov runs 'run_6602df00c1549b81' files\n  npx supercov runs 'run_6602df00c1549b81' gaps\n  npx supercov runs 'run_6602df00c1549b81' kinds\n  npx supercov runs 'run_6602df00c1549b81' runners\n  npx supercov runs 'run_6602df00c1549b81' scope\n  npx supercov runs run_6602df00c1549b81 --help\n",
        "gaps": "Coverage gaps — only files with unresolved obligations\n\nlib/session.rb\n  uncovered: lines 0  statements 0  functions 0  branch outcomes 0  MC/DC conditions 1\n\nshowing 1-1 of 1\ninspect file: npx supercov runs 'run_6602df00c1549b81' file 'lib/session.rb'\n",
        "file": "lib/session.rb\n\nUncovered\n  Lines not executed              0\n  Statements not executed         0\n  Functions not called            0\n  Branch outcomes not taken       0\n  MC/DC conditions not shown      1\n  Measurement limitations         0\n\nTests touching this file: 3\n\nGaps\n  NOT COVERED = line never executed; PARTIAL = line executed but some behavior remains untested\n LINE  STATUS        SOURCE\n    2  PARTIAL       signed_in && !expired\n       Unobserved: no witness pair shows `!expired` independently changing the decision result\n       Inspect: npx supercov runs 'run_6602df00c1549b81' line 'lib/session.rb:2'\nshowing 1-1 of 1 gap lines\n",
        "line": "lib/session.rb:3\n\nSource\n      3 | total = price * quantity\n\nStatus\n  COVERED\n  Evidence: execution only\n\nCoverage details\n  Statement at column 4 — covered (1 covering tests)\n    `total = price * quantity`\n\nCovering tests\n  CheckoutTest#test_confirms_order [CheckoutTest#test_confirms_order] — unit/minitest\n\nTest phases\n  minitest call (passed) at CheckoutTest#test_confirms_order\n  minitest assertion (passed) at CheckoutTest#test_confirms_order\n",
        "decision": "rb:decision:aa870ea298c48db7bba71411  lib/session.rb:2:5\nsigned_in && !expired\nC1 covered: signed_in\nC2 MISSING: !expired\nconfidence executed\nvectors:\n  TT -> T  tests=1 confidence=executed\n  F- -> F  tests=1 confidence=executed\nshowing 1-2 of 2 conditions/vectors/tests per decision\n",
        "assertions": "{\n  \"items\": [\n    {\n      \"id\": \"rb:statement:c8e1a9d1a80770684dee1591\",\n      \"file\": \"lib/session.rb\",\n      \"line\": 1,\n      \"at\": {\n        \"file\": \"lib/session.rb\",\n        \"line\": 1,\n        \"column\": 1,\n        \"text\": \"def checkout(signed_in, expired, price, quantity)\\n  if signed_in && !expired\\n    total = price * quantity\\n    return { status: 'confirmed', total: total }\\n  end\\n  { status: 'denied', total: 0 }\\nend\"\n      },\n      \"covered\": false,\n      \"tests\": [],\n      \"declared\": false,\n      \"asserted\": false,\n      \"flows\": [],\n      \"executionEvidence\": {\n        \"anyExecution\": true,\n        \"passingTests\": [],\n        \"outsidePassingTests\": [\n          \"__supercov_background__:main\"\n        ]\n      }\n    },\n    {\n      \"id\": \"rb:statement:53a073d5ef82300b62035a39\",\n      \"file\": \"lib/session.rb\",\n      \"line\": 2,\n      \"at\": {\n        \"file\": \"lib/session.rb\",\n        \"line\": 2,\n        \"column\": 3,\n        \"text\": \"if signed_in && !expired\\n    total = price * quantity\\n    return { status: 'confirmed', total: total }\\n  end\"\n      },\n      \"covered\": true,\n      \"tests\": [\n        \"CheckoutTest#test_rejects_signed_out_visitor\"\n      ],\n      \"declared\": true,\n      \"asserted\": true,\n      \"flows\": [\n        \"a_5f4bf5c17ad017d56dc0/returned-status\"\n      ],\n      \"executionEvidence\": {\n        \"anyExecution\": true,\n        \"passingTests\": [\n          \"CheckoutTest#test_rejects_signed_out_visitor\"\n        ],\n        \"outsidePassingTests\": []\n      }\n    },\n    {\n      \"id\": \"rb:statement:edc3887454938b9edb51e0e5\",\n      \"file\": \"lib/session.rb\",\n      \"line\": 6,\n      \"at\": {\n        \"file\": \"lib/session.rb\",\n        \"line\": 6,\n        \"column\": 3,\n        \"text\": \"{ status: 'denied', total: 0 }\"\n      },\n      \"covered\": true,\n      \"tests\": [\n        \"CheckoutTest#test_rejects_signed_out_visitor\"\n      ],\n      \"declared\": true,\n      \"asserted\": true,\n      \"flows\": [\n        \"a_5f4bf5c17ad017d56dc0/returned-status\"\n      ],\n      \"executionEvidence\": {\n        \"anyExecution\": true,\n        \"passingTests\": [\n          \"CheckoutTest#test_rejects_signed_out_visitor\"\n        ],\n        \"outsidePassingTests\": []\n      }\n    },\n    {\n      \"id\": \"rb:statement:1695cab5af182d8232cf23e1\",\n      \"file\": \"lib/session.rb\",\n      \"line\": 3,\n      \"at\": {\n        \"file\": \"lib/session.rb\",\n        \"line\": 3,\n        \"column\": 5,\n        \"text\": \"total = price * quantity\"\n      },\n      \"covered\": true,\n      \"tests\": [\n        \"CheckoutTest#test_confirms_order\"\n      ],\n      \"declared\": false,\n      \"asserted\": false,\n      \"flows\": [],\n      \"executionEvidence\": {\n        \"anyExecution\": true,\n        \"passingTests\": [\n          \"CheckoutTest#test_confirms_order\"\n        ],\n        \"outsidePassingTests\": []\n      }\n    },\n    {\n      \"id\": \"rb:statement:f137aa6addb2a77c8dd64d12\",\n      \"file\": \"lib/session.rb\",\n      \"line\": 4,\n      \"at\": {\n        \"file\": \"lib/session.rb\",\n        \"line\": 4,\n        \"column\": 5,\n        \"text\": \"return { status: 'confirmed', total: total }\"\n      },\n      \"covered\": true,\n      \"tests\": [\n        \"CheckoutTest#test_confirms_order\"\n      ],\n      \"declared\": true,\n      \"asserted\": true,\n      \"flows\": [\n        \"a_e2b421189457195c783b/returned-status\"\n      ],\n      \"executionEvidence\": {\n        \"anyExecution\": true,\n        \"passingTests\": [\n          \"CheckoutTest#test_confirms_order\"\n        ],\n        \"outsidePassingTests\": []\n      }\n    }\n  ],\n  \"pagination\": {\n    \"offset\": 0,\n    \"returned\": 5,\n    \"total\": 5,\n    \"nextOffset\": null\n  },\n  \"summary\": {\n    \"status\": \"available\",\n    \"reason\": \"Agent-assessed statements; mapping completeness is unknown\",\n    \"pendingChanges\": 0,\n    \"metric\": \"measured statements\",\n    \"statements\": {\n      \"asserted\": 3,\n      \"declared\": 3,\n      \"total\": 5,\n      \"percentage\": 60.0\n    },\n    \"assertions\": 2,\n    \"inventoryAssertions\": 2,\n    \"missingInventoryAssertions\": 0,\n    \"assertionsWithFlows\": 2,\n    \"assertionsWithoutFlows\": 0,\n    \"observedAssertionsWithoutCurrentExplanation\": 0,\n    \"questions\": 0,\n    \"currentFlows\": 2,\n    \"draftFlows\": 0,\n    \"staleFlows\": 0,\n    \"invalidFlows\": 0,\n    \"eligibleFlows\": 2,\n    \"retiredAssertions\": 0,\n    \"unobservedAssertions\": 0,\n    \"inventoryFailures\": 0,\n    \"unanchoredStatements\": 0,\n    \"runPassed\": true,\n    \"lines\": {\n      \"asserted\": 3,\n      \"declared\": 3,\n      \"total\": 5,\n      \"percentage\": 60.0\n    },\n    \"excludedStatements\": 0\n  },\n  \"basis\": \"agent-assessed; passing assertion identity and same-test execution required; not mutation resistance\",\n  \"validationErrors\": [],\n  \"limitations\": [\n    \"Syntax inventory covers recognized assertion forms, not every possible custom assertion. Agents may add exact source sites; missing runtime identity never earns credit.\"\n  ],\n  \"revision\": \"ecd4e57d52a40e72669687e287a36e4793b202b066b4b64c8b7a03014a886b22\",\n  \"inheritance\": {\n    \"from\": \"run_c74a05f4bb7f07ef\",\n    \"skipped\": []\n  },\n  \"view\": \"statements\",\n  \"file\": \"lib/session.rb\",\n  \"needsAttention\": false,\n  \"scope\": \"summary covers the whole run with matching current source; --file filters items only\",\n  \"workingTree\": {\n    \"stale\": false,\n    \"reasons\": []\n  },\n  \"run\": \"run_6602df00c1549b81\",\n  \"map\": \"<project>/.supercov/runs/run_6602df00c1549b81/assertions.json\"\n}\n"
      },
      "afterQueries": {
        "summary": "run run_bc069ae83c05822a\ncommand: ruby -Itest test/test_session.rb\n\nCoverage\n  Lines      100.00% (5/5)\n  Branches   100.00% (6/6)\n  MC/DC      100.00% (2/2)\nAssertions 80.00% (4/5) — agent-assessed statements, whole run\n  4 assertions with flows; 0 without; 4 current flows; 0 stale; 0 draft\n\nBy test kind\n  unit            3 test(s)  lines 100.00%  branches 100.00%  MC/DC 100.00%\n\nMeasurement\n  Instrumentation  Complete for the measured command and coverage model\n  Scope            Only code reached by the wrapped command is observed; this status does not prove every project test suite was run.\n\nTests\n  Total       3\n  Passed      3\n\nRemaining\n  Files with uncovered code         0\n  Files with measurement limits     0\n\nRuntime action phases (separate from assertion mappings)\n  Recorded within action phases      0 lines\n  Other recorded execution           5 lines\n  These runtime phase counts do not include the agent-assessed assertion coverage shown above.\n\nCommands\n  npx supercov runs 'run_bc069ae83c05822a' files\n  npx supercov runs 'run_bc069ae83c05822a' gaps\n  npx supercov runs 'run_bc069ae83c05822a' kinds\n  npx supercov runs 'run_bc069ae83c05822a' runners\n  npx supercov runs 'run_bc069ae83c05822a' scope\n  npx supercov runs run_bc069ae83c05822a --help\n",
        "gaps": "Coverage gaps — only files with unresolved obligations\n\n\n\nshowing 0-0 of 0\n",
        "file": "lib/session.rb\n\nUncovered\n  Lines not executed              0\n  Statements not executed         0\n  Functions not called            0\n  Branch outcomes not taken       0\n  MC/DC conditions not shown      0\n  Measurement limitations         0\n\nTests touching this file: 3\n\nGaps\n  NOT COVERED = line never executed; PARTIAL = line executed but some behavior remains untested\n LINE  STATUS        SOURCE\nshowing 0-0 of 0 gap lines\n",
        "line": "lib/session.rb:3\n\nSource\n      3 | total = price * quantity\n\nStatus\n  COVERED\n  Evidence: execution only\n\nCoverage details\n  Statement at column 4 — covered (1 covering tests)\n    `total = price * quantity`\n\nCovering tests\n  CheckoutTest#test_confirms_order [CheckoutTest#test_confirms_order] — unit/minitest\n\nTest phases\n  minitest assertion (passed) at CheckoutTest#test_confirms_order\n  minitest call (passed) at CheckoutTest#test_confirms_order\n",
        "decision": "rb:decision:aa870ea298c48db7bba71411  lib/session.rb:2:5\nsigned_in && !expired\nC1 covered: signed_in\nC2 covered: !expired\nconfidence executed\nvectors:\n  TT -> T  tests=1 confidence=executed\n  TF -> F  tests=1 confidence=executed\n  F- -> F  tests=1 confidence=executed\nshowing 1-3 of 3 conditions/vectors/tests per decision\n",
        "assertions": "{\n  \"items\": [\n    {\n      \"id\": \"rb:statement:c8e1a9d1a80770684dee1591\",\n      \"file\": \"lib/session.rb\",\n      \"line\": 1,\n      \"at\": {\n        \"file\": \"lib/session.rb\",\n        \"line\": 1,\n        \"column\": 1,\n        \"text\": \"def checkout(signed_in, expired, price, quantity)\\n  if signed_in && !expired\\n    total = price * quantity\\n    return { status: 'confirmed', total: total }\\n  end\\n  { status: 'denied', total: 0 }\\nend\"\n      },\n      \"covered\": false,\n      \"tests\": [],\n      \"declared\": false,\n      \"asserted\": false,\n      \"flows\": [],\n      \"executionEvidence\": {\n        \"anyExecution\": true,\n        \"passingTests\": [],\n        \"outsidePassingTests\": [\n          \"__supercov_background__:main\"\n        ]\n      }\n    },\n    {\n      \"id\": \"rb:statement:53a073d5ef82300b62035a39\",\n      \"file\": \"lib/session.rb\",\n      \"line\": 2,\n      \"at\": {\n        \"file\": \"lib/session.rb\",\n        \"line\": 2,\n        \"column\": 3,\n        \"text\": \"if signed_in && !expired\\n    total = price * quantity\\n    return { status: 'confirmed', total: total }\\n  end\"\n      },\n      \"covered\": true,\n      \"tests\": [\n        \"CheckoutTest#test_rejects_signed_out_visitor\"\n      ],\n      \"declared\": true,\n      \"asserted\": true,\n      \"flows\": [\n        \"a_ad967816a701a1a25664/returned-status\"\n      ],\n      \"executionEvidence\": {\n        \"anyExecution\": true,\n        \"passingTests\": [\n          \"CheckoutTest#test_rejects_signed_out_visitor\"\n        ],\n        \"outsidePassingTests\": []\n      }\n    },\n    {\n      \"id\": \"rb:statement:edc3887454938b9edb51e0e5\",\n      \"file\": \"lib/session.rb\",\n      \"line\": 6,\n      \"at\": {\n        \"file\": \"lib/session.rb\",\n        \"line\": 6,\n        \"column\": 3,\n        \"text\": \"{ status: 'denied', total: 0 }\"\n      },\n      \"covered\": true,\n      \"tests\": [\n        \"CheckoutTest#test_rejects_signed_out_visitor\"\n      ],\n      \"declared\": true,\n      \"asserted\": true,\n      \"flows\": [\n        \"a_ad967816a701a1a25664/returned-status\"\n      ],\n      \"executionEvidence\": {\n        \"anyExecution\": true,\n        \"passingTests\": [\n          \"CheckoutTest#test_rejects_signed_out_visitor\"\n        ],\n        \"outsidePassingTests\": []\n      }\n    },\n    {\n      \"id\": \"rb:statement:1695cab5af182d8232cf23e1\",\n      \"file\": \"lib/session.rb\",\n      \"line\": 3,\n      \"at\": {\n        \"file\": \"lib/session.rb\",\n        \"line\": 3,\n        \"column\": 5,\n        \"text\": \"total = price * quantity\"\n      },\n      \"covered\": true,\n      \"tests\": [\n        \"CheckoutTest#test_confirms_order\"\n      ],\n      \"declared\": true,\n      \"asserted\": true,\n      \"flows\": [\n        \"a_a33be83687d756c13386/calculated-total\"\n      ],\n      \"executionEvidence\": {\n        \"anyExecution\": true,\n        \"passingTests\": [\n          \"CheckoutTest#test_confirms_order\"\n        ],\n        \"outsidePassingTests\": []\n      }\n    },\n    {\n      \"id\": \"rb:statement:f137aa6addb2a77c8dd64d12\",\n      \"file\": \"lib/session.rb\",\n      \"line\": 4,\n      \"at\": {\n        \"file\": \"lib/session.rb\",\n        \"line\": 4,\n        \"column\": 5,\n        \"text\": \"return { status: 'confirmed', total: total }\"\n      },\n      \"covered\": true,\n      \"tests\": [\n        \"CheckoutTest#test_confirms_order\"\n      ],\n      \"declared\": true,\n      \"asserted\": true,\n      \"flows\": [\n        \"a_a33be83687d756c13386/calculated-total\",\n        \"a_e2b421189457195c783b/returned-status\"\n      ],\n      \"executionEvidence\": {\n        \"anyExecution\": true,\n        \"passingTests\": [\n          \"CheckoutTest#test_confirms_order\"\n        ],\n        \"outsidePassingTests\": []\n      }\n    }\n  ],\n  \"pagination\": {\n    \"offset\": 0,\n    \"returned\": 5,\n    \"total\": 5,\n    \"nextOffset\": null\n  },\n  \"summary\": {\n    \"status\": \"available\",\n    \"reason\": \"Agent-assessed statements; mapping completeness is unknown\",\n    \"pendingChanges\": 0,\n    \"metric\": \"measured statements\",\n    \"statements\": {\n      \"asserted\": 4,\n      \"declared\": 4,\n      \"total\": 5,\n      \"percentage\": 80.0\n    },\n    \"assertions\": 4,\n    \"inventoryAssertions\": 4,\n    \"missingInventoryAssertions\": 0,\n    \"assertionsWithFlows\": 4,\n    \"assertionsWithoutFlows\": 0,\n    \"observedAssertionsWithoutCurrentExplanation\": 0,\n    \"questions\": 0,\n    \"currentFlows\": 4,\n    \"draftFlows\": 0,\n    \"staleFlows\": 0,\n    \"invalidFlows\": 0,\n    \"eligibleFlows\": 4,\n    \"retiredAssertions\": 1,\n    \"unobservedAssertions\": 0,\n    \"inventoryFailures\": 0,\n    \"unanchoredStatements\": 0,\n    \"runPassed\": true,\n    \"lines\": {\n      \"asserted\": 4,\n      \"declared\": 4,\n      \"total\": 5,\n      \"percentage\": 80.0\n    },\n    \"excludedStatements\": 0\n  },\n  \"basis\": \"agent-assessed; passing assertion identity and same-test execution required; not mutation resistance\",\n  \"validationErrors\": [],\n  \"limitations\": [\n    \"Syntax inventory covers recognized assertion forms, not every possible custom assertion. Agents may add exact source sites; missing runtime identity never earns credit.\"\n  ],\n  \"revision\": \"67b3e32b90a3e2314f29485e113eca5ece6ec7c1c0bbd3a88806133990842ff1\",\n  \"inheritance\": {\n    \"from\": \"run_6602df00c1549b81\",\n    \"skipped\": []\n  },\n  \"view\": \"statements\",\n  \"file\": \"lib/session.rb\",\n  \"needsAttention\": false,\n  \"scope\": \"summary covers the whole run with matching current source; --file filters items only\",\n  \"workingTree\": {\n    \"stale\": false,\n    \"reasons\": []\n  },\n  \"run\": \"run_bc069ae83c05822a\",\n  \"map\": \"<project>/.supercov/runs/run_bc069ae83c05822a/assertions.json\"\n}\n"
      }
    },
    "rust": {
      "version": "0.0.48",
      "language": "rust",
      "recordedAt": "2026-09-14T12:02:41.607Z",
      "runtime": "v24.21.0",
      "runner": "cargo test",
      "sourceFile": "src/lib.rs",
      "testFile": "tests/session.rs",
      "decisionAt": "src/lib.rs:3",
      "filesBefore": {
        "Cargo.toml": "[package]\nname = \"checkout-demo\"\nversion = \"0.1.0\"\nedition = \"2024\"\n",
        "src/lib.rs": "pub struct Order { pub status: &'static str, pub total: i32 }\npub fn checkout(signed_in: bool, expired: bool, price: i32, quantity: i32) -> Order {\n    if signed_in && !expired {\n        let total = price * quantity;\n        return Order { status: \"confirmed\", total };\n    }\n    Order { status: \"denied\", total: 0 }\n}\n",
        "tests/session.rs": "use checkout_demo::checkout;\n\n#[test]\nfn confirms_order() {\n    let order = checkout(true, false, 25, 2);\n    assert_eq!(order.status, \"confirmed\");\n}\n\n#[test]\nfn rejects_signed_out_visitor() {\n    let order = checkout(false, false, 25, 2);\n    assert_eq!(order.status, \"denied\");\n}\n"
      },
      "testAfter": "use checkout_demo::checkout;\n\n#[test]\nfn confirms_order() {\n    let order = checkout(true, false, 25, 2);\n    assert_eq!(order.status, \"confirmed\");\n    assert_eq!(order.total, 50);\n}\n\n#[test]\nfn rejects_signed_out_visitor() {\n    let order = checkout(false, false, 25, 2);\n    assert_eq!(order.status, \"denied\");\n}\n\n#[test]\nfn rejects_expired_session() {\n    let order = checkout(true, true, 25, 2);\n    assert_eq!(order.status, \"denied\");\n}\n",
      "initialReport": "run run_69917813fb941a83\ncommand: cargo test\n\nCoverage\n  Lines      100.00% (11/11)\n  Branches   100.00% (6/6)\n  MC/DC      50.00% (1/2)\nAssertions pending — Source changes need impact assessment\n  0 assertions with flows; 2 without; 0 current flows; 0 stale; 0 draft\n\nBy test kind\n  integration     2 test(s)  lines 100.00%  branches 100.00%  MC/DC  50.00%\n\nMeasurement\n  Instrumentation  Complete for the measured command and coverage model\n  Scope            Only code reached by the wrapped command is observed; this status does not prove every project test suite was run.\n  Command outputs  <project>/.supercov/workspaces/workspace/supercov-homepage-recording-WMtsOF\n\nTests\n  Total       2\n  Passed      2\n\nRemaining\n  Files with uncovered code         1\n  Files with measurement limits     0\n\nRuntime action phases (separate from assertion mappings)\n  Recorded within action phases      0 lines\n  Other recorded execution           11 lines\n  These runtime phase counts do not include the agent-assessed assertion coverage shown above.\n\nCommands\n  npx supercov runs 'run_69917813fb941a83' files\n  npx supercov runs 'run_69917813fb941a83' gaps\n  npx supercov runs 'run_69917813fb941a83' kinds\n  npx supercov runs 'run_69917813fb941a83' runners\n  npx supercov runs 'run_69917813fb941a83' scope\n  npx supercov runs run_69917813fb941a83 --help\n",
      "initial": {
        "status": "pending",
        "reason": "Source changes need impact assessment",
        "pendingChanges": 1,
        "metric": "measured statements",
        "statements": {
          "asserted": 0,
          "declared": 0,
          "total": 8,
          "percentage": null
        },
        "assertions": 2,
        "inventoryAssertions": 2,
        "missingInventoryAssertions": 0,
        "assertionsWithFlows": 0,
        "assertionsWithoutFlows": 2,
        "observedAssertionsWithoutCurrentExplanation": 2,
        "questions": 0,
        "currentFlows": 0,
        "draftFlows": 0,
        "staleFlows": 0,
        "invalidFlows": 0,
        "eligibleFlows": 0,
        "retiredAssertions": 0,
        "unobservedAssertions": 0,
        "inventoryFailures": 0,
        "unanchoredStatements": 0,
        "runPassed": true,
        "lines": {
          "asserted": 0,
          "declared": 0,
          "total": 8,
          "percentage": null
        },
        "excludedStatements": 0
      },
      "before": {
        "run": "run_69917813fb941a83",
        "map": {
          "schemaVersion": 2,
          "assertions": [
            {
              "id": "a_e46730a73a917875080d",
              "at": {
                "file": "tests/session.rs",
                "line": 6,
                "column": 5,
                "text": "assert_eq!(order.status, \"confirmed\")"
              },
              "observes": [
                "The returned status equals confirmed for this test input."
              ],
              "flows": [
                {
                  "id": "returned-status",
                  "basis": "scov2:2a3d44545b3bf50f008ddf34b655118760fb0dc04ee39f1ab10174dbb9ac8fb5",
                  "appliesTo": [
                    {
                      "file": "tests/session.rs",
                      "name": "tests/session.rs::confirms_order"
                    }
                  ],
                  "explanation": "The guard chooses the return path. This assertion compares only its status field; it does not check the total field or independently exercise every guard condition.",
                  "nodes": [
                    {
                      "id": "n0",
                      "at": {
                        "file": "src/lib.rs",
                        "line": 3,
                        "column": 5,
                        "text": "if signed_in && !expired {\n        let total = price * quantity;\n        return Order { status: \"confirmed\", total };\n    }"
                      }
                    },
                    {
                      "id": "n1",
                      "at": {
                        "file": "src/lib.rs",
                        "line": 5,
                        "column": 9,
                        "text": "return Order { status: \"confirmed\", total };"
                      }
                    },
                    {
                      "id": "n2",
                      "at": {
                        "file": "tests/session.rs",
                        "line": 5,
                        "column": 5,
                        "text": "let order = checkout(true, false, 25, 2);"
                      }
                    }
                  ],
                  "edges": [
                    {
                      "from": "n0",
                      "to": "n1",
                      "kind": "control"
                    },
                    {
                      "from": "n1",
                      "to": "n2",
                      "kind": "data"
                    },
                    {
                      "from": "n2",
                      "to": "$assertion",
                      "kind": "data"
                    }
                  ],
                  "countsAsAsserted": [
                    "n0",
                    "n1",
                    "n2"
                  ],
                  "watch": []
                }
              ]
            },
            {
              "id": "a_cc7afd93fd562becf44d",
              "at": {
                "file": "tests/session.rs",
                "line": 12,
                "column": 5,
                "text": "assert_eq!(order.status, \"denied\")"
              },
              "observes": [
                "The returned status equals denied for this test input."
              ],
              "flows": [
                {
                  "id": "returned-status",
                  "basis": "scov2:fd4feac5b0ba658400d7e6c4bfa5cbf82f8f5a2538b6d1864349fb8dd7f52960",
                  "appliesTo": [
                    {
                      "file": "tests/session.rs",
                      "name": "tests/session.rs::rejects_signed_out_visitor"
                    }
                  ],
                  "explanation": "The guard chooses the return path. This assertion compares only its status field; it does not check the total field or independently exercise every guard condition.",
                  "nodes": [
                    {
                      "id": "n0",
                      "at": {
                        "file": "src/lib.rs",
                        "line": 3,
                        "column": 5,
                        "text": "if signed_in && !expired {\n        let total = price * quantity;\n        return Order { status: \"confirmed\", total };\n    }"
                      }
                    },
                    {
                      "id": "n1",
                      "at": {
                        "file": "src/lib.rs",
                        "line": 7,
                        "column": 5,
                        "text": "Order { status: \"denied\", total: 0 }"
                      }
                    },
                    {
                      "id": "n2",
                      "at": {
                        "file": "tests/session.rs",
                        "line": 11,
                        "column": 5,
                        "text": "let order = checkout(false, false, 25, 2);"
                      }
                    }
                  ],
                  "edges": [
                    {
                      "from": "n0",
                      "to": "n1",
                      "kind": "control"
                    },
                    {
                      "from": "n1",
                      "to": "n2",
                      "kind": "data"
                    },
                    {
                      "from": "n2",
                      "to": "$assertion",
                      "kind": "data"
                    }
                  ],
                  "countsAsAsserted": [
                    "n0",
                    "n1",
                    "n2"
                  ],
                  "watch": []
                }
              ]
            }
          ],
          "changeAssessments": [
            {
              "id": "c_180c7e68e6d49a77fea8e2f9",
              "basis": "scov2:84d5a30766ce77279356427d5a4c890606e6f8113b7be10153ca46e1854a1e94",
              "affectedFlows": [],
              "explanation": "Only the fixture test file changed. The current test inputs and assertions have been reviewed against this run’s mappings. The application source is unchanged."
            }
          ]
        },
        "check": "{\n  \"summary\": {\n    \"status\": \"available\",\n    \"reason\": \"Agent-assessed statements; mapping completeness is unknown\",\n    \"pendingChanges\": 0,\n    \"metric\": \"measured statements\",\n    \"statements\": {\n      \"asserted\": 5,\n      \"declared\": 5,\n      \"total\": 8,\n      \"percentage\": 62.5\n    },\n    \"assertions\": 2,\n    \"inventoryAssertions\": 2,\n    \"missingInventoryAssertions\": 0,\n    \"assertionsWithFlows\": 2,\n    \"assertionsWithoutFlows\": 0,\n    \"observedAssertionsWithoutCurrentExplanation\": 0,\n    \"questions\": 0,\n    \"currentFlows\": 2,\n    \"draftFlows\": 0,\n    \"staleFlows\": 0,\n    \"invalidFlows\": 0,\n    \"eligibleFlows\": 2,\n    \"retiredAssertions\": 0,\n    \"unobservedAssertions\": 0,\n    \"inventoryFailures\": 0,\n    \"unanchoredStatements\": 0,\n    \"runPassed\": true,\n    \"lines\": {\n      \"asserted\": 5,\n      \"declared\": 5,\n      \"total\": 8,\n      \"percentage\": 62.5\n    },\n    \"excludedStatements\": 0\n  },\n  \"basis\": \"agent-assessed; passing assertion identity and same-test execution required; not mutation resistance\",\n  \"validationErrors\": [],\n  \"limitations\": [\n    \"Syntax inventory covers recognized assertion forms, not every possible custom assertion. Agents may add exact source sites; missing runtime identity never earns credit.\"\n  ],\n  \"revision\": \"7ddb371e6e956f1248f7a0bd195b242512047830c5454ea9a55c051f66a8434f\",\n  \"inheritance\": {\n    \"from\": \"run_fb9660954ad3d437\",\n    \"skipped\": []\n  },\n  \"view\": \"summary\",\n  \"file\": null,\n  \"needsAttention\": false,\n  \"scope\": \"summary covers the whole run with matching current source; --file filters items only\",\n  \"workingTree\": {\n    \"stale\": false,\n    \"reasons\": []\n  },\n  \"valid\": true,\n  \"failures\": [],\n  \"requirements\": {\n    \"mappings\": true,\n    \"observed\": false,\n    \"minimum\": null\n  },\n  \"run\": \"run_69917813fb941a83\",\n  \"map\": \"<project>/.supercov/runs/run_69917813fb941a83/assertions.json\"\n}\n",
        "report": "run run_69917813fb941a83\ncommand: cargo test\n\nCoverage\n  Lines      100.00% (11/11)\n  Branches   100.00% (6/6)\n  MC/DC      50.00% (1/2)\nAssertions 62.50% (5/8) — agent-assessed statements, whole run\n  2 assertions with flows; 0 without; 2 current flows; 0 stale; 0 draft\n\nBy test kind\n  integration     2 test(s)  lines 100.00%  branches 100.00%  MC/DC  50.00%\n\nMeasurement\n  Instrumentation  Complete for the measured command and coverage model\n  Scope            Only code reached by the wrapped command is observed; this status does not prove every project test suite was run.\n  Command outputs  <project>/.supercov/workspaces/workspace/supercov-homepage-recording-WMtsOF\n\nTests\n  Total       2\n  Passed      2\n\nRemaining\n  Files with uncovered code         1\n  Files with measurement limits     0\n\nRuntime action phases (separate from assertion mappings)\n  Recorded within action phases      0 lines\n  Other recorded execution           11 lines\n  These runtime phase counts do not include the agent-assessed assertion coverage shown above.\n\nCommands\n  npx supercov runs 'run_69917813fb941a83' files\n  npx supercov runs 'run_69917813fb941a83' gaps\n  npx supercov runs 'run_69917813fb941a83' kinds\n  npx supercov runs 'run_69917813fb941a83' runners\n  npx supercov runs 'run_69917813fb941a83' scope\n  npx supercov runs run_69917813fb941a83 --help\n",
        "summary": {
          "status": "available",
          "reason": "Agent-assessed statements; mapping completeness is unknown",
          "pendingChanges": 0,
          "metric": "measured statements",
          "statements": {
            "asserted": 5,
            "declared": 5,
            "total": 8,
            "percentage": 62.5
          },
          "assertions": 2,
          "inventoryAssertions": 2,
          "missingInventoryAssertions": 0,
          "assertionsWithFlows": 2,
          "assertionsWithoutFlows": 0,
          "observedAssertionsWithoutCurrentExplanation": 0,
          "questions": 0,
          "currentFlows": 2,
          "draftFlows": 0,
          "staleFlows": 0,
          "invalidFlows": 0,
          "eligibleFlows": 2,
          "retiredAssertions": 0,
          "unobservedAssertions": 0,
          "inventoryFailures": 0,
          "unanchoredStatements": 0,
          "runPassed": true,
          "lines": {
            "asserted": 5,
            "declared": 5,
            "total": 8,
            "percentage": 62.5
          },
          "excludedStatements": 0
        }
      },
      "decision": "rs:decision:af214c70a2296205a734dadf  src/lib.rs:3:7\nsigned_in && !expired\nC1 covered: signed_in\nC2 MISSING: !expired\nconfidence executed\nvectors:\n  TT -> T  tests=1 confidence=executed\n  F- -> F  tests=1 confidence=executed\nshowing 1-2 of 2 conditions/vectors/tests per decision\n",
      "after": {
        "run": "run_27c6de876970ebd0",
        "map": {
          "schemaVersion": 2,
          "assertions": [
            {
              "id": "a_e46730a73a917875080d",
              "at": {
                "file": "tests/session.rs",
                "line": 6,
                "column": 5,
                "text": "assert_eq!(order.status, \"confirmed\")"
              },
              "observes": [
                "The returned status equals confirmed for this test input."
              ],
              "flows": [
                {
                  "id": "returned-status",
                  "basis": "scov2:6e9c78cefe075ee092e240b0ee0fc87c20f92c265251dacd071747d6c53d07d1",
                  "appliesTo": [
                    {
                      "file": "tests/session.rs",
                      "name": "tests/session.rs::confirms_order"
                    }
                  ],
                  "explanation": "The guard chooses the return path. This assertion compares only its status field; it does not check the total field or independently exercise every guard condition.",
                  "nodes": [
                    {
                      "id": "n0",
                      "at": {
                        "file": "src/lib.rs",
                        "line": 3,
                        "column": 5,
                        "text": "if signed_in && !expired {\n        let total = price * quantity;\n        return Order { status: \"confirmed\", total };\n    }"
                      }
                    },
                    {
                      "id": "n1",
                      "at": {
                        "file": "src/lib.rs",
                        "line": 5,
                        "column": 9,
                        "text": "return Order { status: \"confirmed\", total };"
                      }
                    },
                    {
                      "id": "n2",
                      "at": {
                        "file": "tests/session.rs",
                        "line": 5,
                        "column": 5,
                        "text": "let order = checkout(true, false, 25, 2);"
                      }
                    }
                  ],
                  "edges": [
                    {
                      "from": "n0",
                      "to": "n1",
                      "kind": "control"
                    },
                    {
                      "from": "n1",
                      "to": "n2",
                      "kind": "data"
                    },
                    {
                      "from": "n2",
                      "to": "$assertion",
                      "kind": "data"
                    }
                  ],
                  "countsAsAsserted": [
                    "n0",
                    "n1",
                    "n2"
                  ],
                  "watch": []
                }
              ]
            },
            {
              "id": "a_2dabf2d7f3d34c9085ec",
              "at": {
                "file": "tests/session.rs",
                "line": 7,
                "column": 5,
                "text": "assert_eq!(order.total, 50)"
              },
              "observes": [
                "The total equals 50 for two items at 25."
              ],
              "flows": [
                {
                  "id": "calculated-total",
                  "basis": "scov2:6b062b7802b9308374a39ba958c08b3a8a5f9dba94072818cadf51cb48e8347e",
                  "appliesTo": [
                    {
                      "file": "tests/session.rs",
                      "name": "tests/session.rs::confirms_order"
                    }
                  ],
                  "explanation": "The multiplication supplies total in the returned order; this assertion compares that field to 50. It checks the calculation for this input, not every possible price or quantity.",
                  "nodes": [
                    {
                      "id": "n0",
                      "at": {
                        "file": "src/lib.rs",
                        "line": 4,
                        "column": 9,
                        "text": "let total = price * quantity;"
                      }
                    },
                    {
                      "id": "n1",
                      "at": {
                        "file": "src/lib.rs",
                        "line": 5,
                        "column": 9,
                        "text": "return Order { status: \"confirmed\", total };"
                      }
                    },
                    {
                      "id": "n2",
                      "at": {
                        "file": "tests/session.rs",
                        "line": 5,
                        "column": 5,
                        "text": "let order = checkout(true, false, 25, 2);"
                      }
                    }
                  ],
                  "edges": [
                    {
                      "from": "n0",
                      "to": "n1",
                      "kind": "data"
                    },
                    {
                      "from": "n1",
                      "to": "n2",
                      "kind": "data"
                    },
                    {
                      "from": "n2",
                      "to": "$assertion",
                      "kind": "data"
                    }
                  ],
                  "countsAsAsserted": [
                    "n0",
                    "n1",
                    "n2"
                  ],
                  "watch": []
                }
              ]
            },
            {
              "id": "a_23bf894d3d454c4563ba",
              "at": {
                "file": "tests/session.rs",
                "line": 13,
                "column": 5,
                "text": "assert_eq!(order.status, \"denied\")"
              },
              "observes": [
                "The returned status equals denied for this test input."
              ],
              "flows": [
                {
                  "id": "returned-status",
                  "basis": "scov2:51667df2ae46e6491706d7af7baa0160fd2651f3f461d30c6b0d060e55ef2382",
                  "appliesTo": [
                    {
                      "file": "tests/session.rs",
                      "name": "tests/session.rs::rejects_signed_out_visitor"
                    }
                  ],
                  "explanation": "The guard chooses the return path. This assertion compares only its status field; it does not check the total field or independently exercise every guard condition.",
                  "nodes": [
                    {
                      "id": "n0",
                      "at": {
                        "file": "src/lib.rs",
                        "line": 3,
                        "column": 5,
                        "text": "if signed_in && !expired {\n        let total = price * quantity;\n        return Order { status: \"confirmed\", total };\n    }"
                      }
                    },
                    {
                      "id": "n1",
                      "at": {
                        "file": "src/lib.rs",
                        "line": 7,
                        "column": 5,
                        "text": "Order { status: \"denied\", total: 0 }"
                      }
                    },
                    {
                      "id": "n2",
                      "at": {
                        "file": "tests/session.rs",
                        "line": 12,
                        "column": 5,
                        "text": "let order = checkout(false, false, 25, 2);"
                      }
                    }
                  ],
                  "edges": [
                    {
                      "from": "n0",
                      "to": "n1",
                      "kind": "control"
                    },
                    {
                      "from": "n1",
                      "to": "n2",
                      "kind": "data"
                    },
                    {
                      "from": "n2",
                      "to": "$assertion",
                      "kind": "data"
                    }
                  ],
                  "countsAsAsserted": [
                    "n0",
                    "n1",
                    "n2"
                  ],
                  "watch": []
                }
              ]
            },
            {
              "id": "a_4c95b2143d90a8c7bb15",
              "at": {
                "file": "tests/session.rs",
                "line": 19,
                "column": 5,
                "text": "assert_eq!(order.status, \"denied\")"
              },
              "observes": [
                "The returned status equals denied for this test input."
              ],
              "flows": [
                {
                  "id": "returned-status",
                  "basis": "scov2:f7f5187f2fb0ad46eecdfb38a932bf52ae2737b5813813de2fb81e77f04d3a27",
                  "appliesTo": [
                    {
                      "file": "tests/session.rs",
                      "name": "tests/session.rs::rejects_expired_session"
                    }
                  ],
                  "explanation": "The guard chooses the return path. This assertion compares only its status field; it does not check the total field or independently exercise every guard condition.",
                  "nodes": [
                    {
                      "id": "n0",
                      "at": {
                        "file": "src/lib.rs",
                        "line": 3,
                        "column": 5,
                        "text": "if signed_in && !expired {\n        let total = price * quantity;\n        return Order { status: \"confirmed\", total };\n    }"
                      }
                    },
                    {
                      "id": "n1",
                      "at": {
                        "file": "src/lib.rs",
                        "line": 7,
                        "column": 5,
                        "text": "Order { status: \"denied\", total: 0 }"
                      }
                    },
                    {
                      "id": "n2",
                      "at": {
                        "file": "tests/session.rs",
                        "line": 18,
                        "column": 5,
                        "text": "let order = checkout(true, true, 25, 2);"
                      }
                    }
                  ],
                  "edges": [
                    {
                      "from": "n0",
                      "to": "n1",
                      "kind": "control"
                    },
                    {
                      "from": "n1",
                      "to": "n2",
                      "kind": "data"
                    },
                    {
                      "from": "n2",
                      "to": "$assertion",
                      "kind": "data"
                    }
                  ],
                  "countsAsAsserted": [
                    "n0",
                    "n1",
                    "n2"
                  ],
                  "watch": []
                }
              ]
            }
          ],
          "retiredAssertions": [
            {
              "assertion": {
                "id": "a_cc7afd93fd562becf44d",
                "at": {
                  "file": "tests/session.rs",
                  "line": 12,
                  "column": 5,
                  "text": "assert_eq!(order.status, \"denied\")"
                },
                "observes": [
                  "The returned status equals denied for this test input."
                ],
                "flows": [
                  {
                    "id": "returned-status",
                    "basis": "scov2:fd4feac5b0ba658400d7e6c4bfa5cbf82f8f5a2538b6d1864349fb8dd7f52960",
                    "explanation": "The guard chooses the return path. This assertion compares only its status field; it does not check the total field or independently exercise every guard condition.",
                    "appliesTo": [
                      {
                        "file": "tests/session.rs",
                        "name": "tests/session.rs::rejects_signed_out_visitor"
                      }
                    ],
                    "nodes": [
                      {
                        "id": "n0",
                        "at": {
                          "file": "src/lib.rs",
                          "line": 3,
                          "column": 5,
                          "text": "if signed_in && !expired {\n        let total = price * quantity;\n        return Order { status: \"confirmed\", total };\n    }"
                        }
                      },
                      {
                        "id": "n1",
                        "at": {
                          "file": "src/lib.rs",
                          "line": 7,
                          "column": 5,
                          "text": "Order { status: \"denied\", total: 0 }"
                        }
                      },
                      {
                        "id": "n2",
                        "at": {
                          "file": "tests/session.rs",
                          "line": 11,
                          "column": 5,
                          "text": "let order = checkout(false, false, 25, 2);"
                        }
                      }
                    ],
                    "edges": [
                      {
                        "from": "n0",
                        "to": "n1",
                        "kind": "control"
                      },
                      {
                        "from": "n1",
                        "to": "n2",
                        "kind": "data"
                      },
                      {
                        "from": "n2",
                        "to": "$assertion",
                        "kind": "data"
                      }
                    ],
                    "countsAsAsserted": [
                      "n0",
                      "n1",
                      "n2"
                    ],
                    "watch": []
                  }
                ]
              },
              "reason": "assertion removed, changed or ambiguous; reuse its explanation after review"
            }
          ],
          "changeAssessments": [
            {
              "id": "c_d975342b2ebca53328f571aa",
              "basis": "scov2:ba6c6b97b819146d45fee1679780be518e3bf1b24fe833f06658f084bf9b61f1",
              "affectedFlows": [
                "a_e46730a73a917875080d/returned-status"
              ],
              "explanation": "Only the fixture test file changed. The current test inputs and assertions have been reviewed against this run’s mappings. The application source is unchanged."
            }
          ]
        },
        "check": "{\n  \"summary\": {\n    \"status\": \"available\",\n    \"reason\": \"Agent-assessed statements; mapping completeness is unknown\",\n    \"pendingChanges\": 0,\n    \"metric\": \"measured statements\",\n    \"statements\": {\n      \"asserted\": 7,\n      \"declared\": 7,\n      \"total\": 11,\n      \"percentage\": 63.63636363636363\n    },\n    \"assertions\": 4,\n    \"inventoryAssertions\": 4,\n    \"missingInventoryAssertions\": 0,\n    \"assertionsWithFlows\": 4,\n    \"assertionsWithoutFlows\": 0,\n    \"observedAssertionsWithoutCurrentExplanation\": 0,\n    \"questions\": 0,\n    \"currentFlows\": 4,\n    \"draftFlows\": 0,\n    \"staleFlows\": 0,\n    \"invalidFlows\": 0,\n    \"eligibleFlows\": 4,\n    \"retiredAssertions\": 1,\n    \"unobservedAssertions\": 0,\n    \"inventoryFailures\": 0,\n    \"unanchoredStatements\": 0,\n    \"runPassed\": true,\n    \"lines\": {\n      \"asserted\": 7,\n      \"declared\": 7,\n      \"total\": 11,\n      \"percentage\": 63.63636363636363\n    },\n    \"excludedStatements\": 0\n  },\n  \"basis\": \"agent-assessed; passing assertion identity and same-test execution required; not mutation resistance\",\n  \"validationErrors\": [],\n  \"limitations\": [\n    \"Syntax inventory covers recognized assertion forms, not every possible custom assertion. Agents may add exact source sites; missing runtime identity never earns credit.\"\n  ],\n  \"revision\": \"49d66c678c9524212bb15dae286d69f40c05b2911faa8c6ea3600656f46c3724\",\n  \"inheritance\": {\n    \"from\": \"run_69917813fb941a83\",\n    \"skipped\": []\n  },\n  \"view\": \"summary\",\n  \"file\": null,\n  \"needsAttention\": false,\n  \"scope\": \"summary covers the whole run with matching current source; --file filters items only\",\n  \"workingTree\": {\n    \"stale\": false,\n    \"reasons\": []\n  },\n  \"valid\": true,\n  \"failures\": [],\n  \"requirements\": {\n    \"mappings\": true,\n    \"observed\": false,\n    \"minimum\": null\n  },\n  \"run\": \"run_27c6de876970ebd0\",\n  \"map\": \"<project>/.supercov/runs/run_27c6de876970ebd0/assertions.json\"\n}\n",
        "report": "run run_27c6de876970ebd0\ncommand: cargo test\n\nCoverage\n  Lines      100.00% (15/15)\n  Branches   100.00% (6/6)\n  MC/DC      100.00% (2/2)\nAssertions 63.64% (7/11) — agent-assessed statements, whole run\n  4 assertions with flows; 0 without; 4 current flows; 0 stale; 0 draft\n\nBy test kind\n  integration     3 test(s)  lines 100.00%  branches 100.00%  MC/DC 100.00%\n\nMeasurement\n  Instrumentation  Complete for the measured command and coverage model\n  Scope            Only code reached by the wrapped command is observed; this status does not prove every project test suite was run.\n  Command outputs  <project>/.supercov/workspaces/workspace/supercov-homepage-recording-WMtsOF\n\nTests\n  Total       3\n  Passed      3\n\nRemaining\n  Files with uncovered code         0\n  Files with measurement limits     0\n\nRuntime action phases (separate from assertion mappings)\n  Recorded within action phases      0 lines\n  Other recorded execution           15 lines\n  These runtime phase counts do not include the agent-assessed assertion coverage shown above.\n\nCommands\n  npx supercov runs 'run_27c6de876970ebd0' files\n  npx supercov runs 'run_27c6de876970ebd0' gaps\n  npx supercov runs 'run_27c6de876970ebd0' kinds\n  npx supercov runs 'run_27c6de876970ebd0' runners\n  npx supercov runs 'run_27c6de876970ebd0' scope\n  npx supercov runs run_27c6de876970ebd0 --help\n",
        "summary": {
          "status": "available",
          "reason": "Agent-assessed statements; mapping completeness is unknown",
          "pendingChanges": 0,
          "metric": "measured statements",
          "statements": {
            "asserted": 7,
            "declared": 7,
            "total": 11,
            "percentage": 63.63636363636363
          },
          "assertions": 4,
          "inventoryAssertions": 4,
          "missingInventoryAssertions": 0,
          "assertionsWithFlows": 4,
          "assertionsWithoutFlows": 0,
          "observedAssertionsWithoutCurrentExplanation": 0,
          "questions": 0,
          "currentFlows": 4,
          "draftFlows": 0,
          "staleFlows": 0,
          "invalidFlows": 0,
          "eligibleFlows": 4,
          "retiredAssertions": 1,
          "unobservedAssertions": 0,
          "inventoryFailures": 0,
          "unanchoredStatements": 0,
          "runPassed": true,
          "lines": {
            "asserted": 7,
            "declared": 7,
            "total": 11,
            "percentage": 63.63636363636363
          },
          "excludedStatements": 0
        }
      },
      "diff": "run_69917813fb941a83 -> run_27c6de876970ebd0\nlines +0pp, branches +0pp, MC/DC +50pp\ngained: 5 lines, 0 branches, 1 MC/DC conditions\nlost: 1 lines, 0 branches, 0 MC/DC conditions\n+ line tests/session.rs:13\n+ line tests/session.rs:17\n+ line tests/session.rs:18\n+ line tests/session.rs:19\n+ line tests/session.rs:7\n+ MC/DC src/lib.rs:3 C2 !expired\nshowing 1-5 of 5 per category\n",
      "records": [
        {
          "args": [
            "--",
            "cargo",
            "test"
          ],
          "stdout": "[coverage] evidence: /private<project>/.supercov/runs/run_fb9660954ad3d437/evidence.raw.gz\n"
        },
        {
          "args": [
            "runs",
            "latest"
          ],
          "stdout": "run run_fb9660954ad3d437\ncommand: cargo test\n\nCoverage\n  Lines      87.50% (7/8)\n  Branches   50.00% (3/6)\n  MC/DC      0.00% (0/2)\nAssertions not assessed — No recorded flow explanations\n  0 assertions with flows; 1 without; 0 current flows; 0 stale; 0 draft\n\nBy test kind\n  integration     1 test(s)  lines  87.50%  branches  50.00%  MC/DC   0.00%\n\nMeasurement\n  Instrumentation  Complete for the measured command and coverage model\n  Scope            Only code reached by the wrapped command is observed; this status does not prove every project test suite was run.\n  Command outputs  /private<project>/.supercov/workspaces/workspace/supercov-homepage-recording-WMtsOF\n\nTests\n  Total       1\n  Passed      1\n\nRemaining\n  Files with uncovered code         1\n  Files with measurement limits     0\n\nRuntime action phases (separate from assertion mappings)\n  Recorded within action phases      0 lines\n  Other recorded execution           7 lines\n  These runtime phase counts do not include the agent-assessed assertion coverage shown above.\n\nCommands\n  npx supercov runs 'run_fb9660954ad3d437' files\n  npx supercov runs 'run_fb9660954ad3d437' gaps\n  npx supercov runs 'run_fb9660954ad3d437' kinds\n  npx supercov runs 'run_fb9660954ad3d437' runners\n  npx supercov runs 'run_fb9660954ad3d437' scope\n  npx supercov runs run_fb9660954ad3d437 --help\n"
        },
        {
          "args": [
            "runs",
            "latest",
            "gaps",
            "--limit",
            "5"
          ],
          "stdout": "Coverage gaps — only files with unresolved obligations\n\nsrc/lib.rs\n  uncovered: lines 1  statements 1  functions 0  branch outcomes 2  MC/DC conditions 2\n\nshowing 1-1 of 1\ninspect file: npx supercov runs 'run_fb9660954ad3d437' file 'src/lib.rs'\n"
        },
        {
          "args": [
            "runs",
            "latest",
            "file",
            "src/lib.rs"
          ],
          "stdout": "src/lib.rs\n\nUncovered\n  Lines not executed              1\n  Statements not executed         1\n  Functions not called            0\n  Branch outcomes not taken       2\n  MC/DC conditions not shown      2\n  Measurement limitations         0\n\nTests touching this file: 1\n\nGaps\n  NOT COVERED = line never executed; PARTIAL = line executed but some behavior remains untested\n LINE  STATUS        SOURCE\n    3  PARTIAL       !expired\n       Unobserved: branch outcome not observed: short-circuited\n       Unobserved: branch outcome not observed: false\n       Unobserved: no witness pair shows `signed_in` independently changing the decision result\n       Unobserved: no witness pair shows `!expired` independently changing the decision result\n       Inspect: npx supercov runs 'run_fb9660954ad3d437' line 'src/lib.rs:3'\n    7  NOT COVERED   Order { status: \"denied\", total: 0 }\nshowing 1-2 of 2 gap lines\n"
        },
        {
          "args": [
            "runs",
            "latest",
            "line",
            "src/lib.rs:4"
          ],
          "stdout": "src/lib.rs:4\n\nSource\n      4 | let total = price * quantity;\n\nStatus\n  COVERED\n  Evidence: execution only\n\nCoverage details\n  Statement at column 8 — covered (1 covering tests)\n    `let total = price * quantity;`\n\nCovering tests\n  tests/session.rs::confirms_order [tests/session.rs::confirms_order] — integration/rust-libtest\n"
        },
        {
          "args": [
            "runs",
            "latest",
            "decision",
            "src/lib.rs:3"
          ],
          "stdout": "rs:decision:af214c70a2296205a734dadf  src/lib.rs:3:7\nsigned_in && !expired\nC1 MISSING: signed_in\nC2 MISSING: !expired\nconfidence executed\nvectors:\n  TT -> T  tests=1 confidence=executed\nshowing 1-2 of 2 conditions/vectors/tests per decision\n"
        },
        {
          "args": [
            "runs",
            "latest",
            "assertions",
            "report",
            "--view",
            "statements",
            "--file",
            "src/lib.rs"
          ],
          "stdout": "{\n  \"items\": [\n    {\n      \"id\": \"rs:statement:44a06f5dab182cf8350c65d9\",\n      \"file\": \"src/lib.rs\",\n      \"line\": 7,\n      \"at\": {\n        \"file\": \"src/lib.rs\",\n        \"line\": 7,\n        \"column\": 5,\n        \"text\": \"Order { status: \\\"denied\\\", total: 0 }\"\n      },\n      \"covered\": false,\n      \"tests\": [],\n      \"declared\": false,\n      \"asserted\": false,\n      \"flows\": [],\n      \"executionEvidence\": {\n        \"anyExecution\": false,\n        \"passingTests\": [],\n        \"outsidePassingTests\": []\n      }\n    },\n    {\n      \"id\": \"rs:statement:805b0c8db72a244eca94624f\",\n      \"file\": \"src/lib.rs\",\n      \"line\": 3,\n      \"at\": {\n        \"file\": \"src/lib.rs\",\n        \"line\": 3,\n        \"column\": 5,\n        \"text\": \"if signed_in && !expired {\\n        let total = price * quantity;\\n        return Order { status: \\\"confirmed\\\", total };\\n    }\"\n      },\n      \"covered\": true,\n      \"tests\": [\n        \"tests/session.rs::confirms_order\"\n      ],\n      \"declared\": false,\n      \"asserted\": false,\n      \"flows\": [],\n      \"executionEvidence\": {\n        \"anyExecution\": true,\n        \"passingTests\": [\n          \"tests/session.rs::confirms_order\"\n        ],\n        \"outsidePassingTests\": []\n      }\n    },\n    {\n      \"id\": \"rs:statement:c24ead84cd3c9e860cb7bd92\",\n      \"file\": \"src/lib.rs\",\n      \"line\": 5,\n      \"at\": {\n        \"file\": \"src/lib.rs\",\n        \"line\": 5,\n        \"column\": 9,\n        \"text\": \"return Order { status: \\\"confirmed\\\", total };\"\n      },\n      \"covered\": true,\n      \"tests\": [\n        \"tests/session.rs::confirms_order\"\n      ],\n      \"declared\": false,\n      \"asserted\": false,\n      \"flows\": [],\n      \"executionEvidence\": {\n        \"anyExecution\": true,\n        \"passingTests\": [\n          \"tests/session.rs::confirms_order\"\n        ],\n        \"outsidePassingTests\": []\n      }\n    },\n    {\n      \"id\": \"rs:statement:ddb111362126076b264323cb\",\n      \"file\": \"src/lib.rs\",\n      \"line\": 4,\n      \"at\": {\n        \"file\": \"src/lib.rs\",\n        \"line\": 4,\n        \"column\": 9,\n        \"text\": \"let total = price * quantity;\"\n      },\n      \"covered\": true,\n      \"tests\": [\n        \"tests/session.rs::confirms_order\"\n      ],\n      \"declared\": false,\n      \"asserted\": false,\n      \"flows\": [],\n      \"executionEvidence\": {\n        \"anyExecution\": true,\n        \"passingTests\": [\n          \"tests/session.rs::confirms_order\"\n        ],\n        \"outsidePassingTests\": []\n      }\n    }\n  ],\n  \"pagination\": {\n    \"offset\": 0,\n    \"returned\": 4,\n    \"total\": 4,\n    \"nextOffset\": null\n  },\n  \"summary\": {\n    \"status\": \"notAssessed\",\n    \"reason\": \"No recorded flow explanations\",\n    \"pendingChanges\": 0,\n    \"metric\": \"measured statements\",\n    \"statements\": {\n      \"asserted\": 0,\n      \"declared\": 0,\n      \"total\": 6,\n      \"percentage\": null\n    },\n    \"assertions\": 1,\n    \"inventoryAssertions\": 1,\n    \"missingInventoryAssertions\": 0,\n    \"assertionsWithFlows\": 0,\n    \"assertionsWithoutFlows\": 1,\n    \"observedAssertionsWithoutCurrentExplanation\": 1,\n    \"questions\": 0,\n    \"currentFlows\": 0,\n    \"draftFlows\": 0,\n    \"staleFlows\": 0,\n    \"invalidFlows\": 0,\n    \"eligibleFlows\": 0,\n    \"retiredAssertions\": 0,\n    \"unobservedAssertions\": 0,\n    \"inventoryFailures\": 0,\n    \"unanchoredStatements\": 0,\n    \"runPassed\": true,\n    \"lines\": {\n      \"asserted\": 0,\n      \"declared\": 0,\n      \"total\": 6,\n      \"percentage\": null\n    },\n    \"excludedStatements\": 0\n  },\n  \"basis\": \"agent-assessed; passing assertion identity and same-test execution required; not mutation resistance\",\n  \"validationErrors\": [],\n  \"limitations\": [\n    \"Syntax inventory covers recognized assertion forms, not every possible custom assertion. Agents may add exact source sites; missing runtime identity never earns credit.\"\n  ],\n  \"revision\": \"969363f99855867af5287ec88ce783e5c8d77e2cb54f7243b8b7d2d395e4200d\",\n  \"inheritance\": {\n    \"from\": null,\n    \"skipped\": []\n  },\n  \"view\": \"statements\",\n  \"file\": \"src/lib.rs\",\n  \"needsAttention\": false,\n  \"scope\": \"summary covers the whole run with matching current source; --file filters items only\",\n  \"workingTree\": {\n    \"stale\": false,\n    \"reasons\": []\n  },\n  \"run\": \"run_fb9660954ad3d437\",\n  \"map\": \"/private<project>/.supercov/runs/run_fb9660954ad3d437/assertions.json\"\n}\n"
        },
        {
          "args": [
            "--",
            "cargo",
            "test"
          ],
          "stdout": "[coverage] evidence: /private<project>/.supercov/runs/run_69917813fb941a83/evidence.raw.gz\n"
        },
        {
          "args": [
            "runs",
            "latest"
          ],
          "stdout": "run run_69917813fb941a83\ncommand: cargo test\n\nCoverage\n  Lines      100.00% (11/11)\n  Branches   100.00% (6/6)\n  MC/DC      50.00% (1/2)\nAssertions pending — Source changes need impact assessment\n  0 assertions with flows; 2 without; 0 current flows; 0 stale; 0 draft\n\nBy test kind\n  integration     2 test(s)  lines 100.00%  branches 100.00%  MC/DC  50.00%\n\nMeasurement\n  Instrumentation  Complete for the measured command and coverage model\n  Scope            Only code reached by the wrapped command is observed; this status does not prove every project test suite was run.\n  Command outputs  /private<project>/.supercov/workspaces/workspace/supercov-homepage-recording-WMtsOF\n\nTests\n  Total       2\n  Passed      2\n\nRemaining\n  Files with uncovered code         1\n  Files with measurement limits     0\n\nRuntime action phases (separate from assertion mappings)\n  Recorded within action phases      0 lines\n  Other recorded execution           11 lines\n  These runtime phase counts do not include the agent-assessed assertion coverage shown above.\n\nCommands\n  npx supercov runs 'run_69917813fb941a83' files\n  npx supercov runs 'run_69917813fb941a83' gaps\n  npx supercov runs 'run_69917813fb941a83' kinds\n  npx supercov runs 'run_69917813fb941a83' runners\n  npx supercov runs 'run_69917813fb941a83' scope\n  npx supercov runs run_69917813fb941a83 --help\n"
        },
        {
          "args": [
            "runs",
            "latest",
            "assertions",
            "--json"
          ],
          "stdout": "{\"schemaVersion\":1,\"ok\":true,\"command\":\"coverage.assertions\",\"data\":{\"items\":[{\"observation\":\"Passing assertion occurrence recorded.\",\"id\":\"a_e46730a73a917875080d\",\"at\":{\"file\":\"tests/session.rs\",\"line\":6,\"column\":5,\"text\":\"assert_eq!(order.status, \\\"confirmed\\\")\"},\"questions\":[],\"inMap\":true,\"observes\":[],\"operations\":[\"assert_eq\"],\"observedPassingTests\":[\"tests/session.rs::confirms_order\"],\"flows\":[]},{\"observation\":\"Passing assertion occurrence recorded.\",\"id\":\"a_cc7afd93fd562becf44d\",\"at\":{\"file\":\"tests/session.rs\",\"line\":12,\"column\":5,\"text\":\"assert_eq!(order.status, \\\"denied\\\")\"},\"questions\":[],\"inMap\":true,\"observes\":[],\"operations\":[\"assert_eq\"],\"observedPassingTests\":[\"tests/session.rs::rejects_signed_out_visitor\"],\"flows\":[]}],\"pagination\":{\"offset\":0,\"returned\":2,\"total\":2,\"nextOffset\":null},\"summary\":{\"status\":\"pending\",\"reason\":\"Source changes need impact assessment\",\"pendingChanges\":1,\"metric\":\"measured statements\",\"statements\":{\"asserted\":0,\"declared\":0,\"total\":8,\"percentage\":null},\"assertions\":2,\"inventoryAssertions\":2,\"missingInventoryAssertions\":0,\"assertionsWithFlows\":0,\"assertionsWithoutFlows\":2,\"observedAssertionsWithoutCurrentExplanation\":2,\"questions\":0,\"currentFlows\":0,\"draftFlows\":0,\"staleFlows\":0,\"invalidFlows\":0,\"eligibleFlows\":0,\"retiredAssertions\":0,\"unobservedAssertions\":0,\"inventoryFailures\":0,\"unanchoredStatements\":0,\"runPassed\":true,\"lines\":{\"asserted\":0,\"declared\":0,\"total\":8,\"percentage\":null},\"excludedStatements\":0},\"basis\":\"agent-assessed; passing assertion identity and same-test execution required; not mutation resistance\",\"validationErrors\":[],\"limitations\":[\"Syntax inventory covers recognized assertion forms, not every possible custom assertion. Agents may add exact source sites; missing runtime identity never earns credit.\"],\"revision\":\"4225817424b80733d4730ad4dde58291b9cf1608ae9929d0718595c8c5a5a88c\",\"inheritance\":{\"from\":\"run_fb9660954ad3d437\",\"skipped\":[]},\"view\":\"assertions\",\"file\":null,\"needsAttention\":false,\"scope\":\"summary covers the whole run with matching current source; --file filters items only\",\"workingTree\":{\"stale\":false,\"reasons\":[]},\"run\":\"run_69917813fb941a83\",\"map\":\"/private<project>/.supercov/runs/run_69917813fb941a83/assertions.json\"}}\n"
        },
        {
          "args": [
            "runs",
            "run_69917813fb941a83",
            "assertions",
            "--json"
          ],
          "stdout": "{\"schemaVersion\":1,\"ok\":true,\"command\":\"coverage.assertions\",\"data\":{\"items\":[{\"observation\":\"Passing assertion occurrence recorded.\",\"id\":\"a_e46730a73a917875080d\",\"at\":{\"file\":\"tests/session.rs\",\"line\":6,\"column\":5,\"text\":\"assert_eq!(order.status, \\\"confirmed\\\")\"},\"questions\":[],\"inMap\":true,\"observes\":[],\"operations\":[\"assert_eq\"],\"observedPassingTests\":[\"tests/session.rs::confirms_order\"],\"flows\":[]},{\"observation\":\"Passing assertion occurrence recorded.\",\"id\":\"a_cc7afd93fd562becf44d\",\"at\":{\"file\":\"tests/session.rs\",\"line\":12,\"column\":5,\"text\":\"assert_eq!(order.status, \\\"denied\\\")\"},\"questions\":[],\"inMap\":true,\"observes\":[],\"operations\":[\"assert_eq\"],\"observedPassingTests\":[\"tests/session.rs::rejects_signed_out_visitor\"],\"flows\":[]}],\"pagination\":{\"offset\":0,\"returned\":2,\"total\":2,\"nextOffset\":null},\"summary\":{\"status\":\"pending\",\"reason\":\"Source changes need impact assessment\",\"pendingChanges\":1,\"metric\":\"measured statements\",\"statements\":{\"asserted\":0,\"declared\":0,\"total\":8,\"percentage\":null},\"assertions\":2,\"inventoryAssertions\":2,\"missingInventoryAssertions\":0,\"assertionsWithFlows\":0,\"assertionsWithoutFlows\":2,\"observedAssertionsWithoutCurrentExplanation\":2,\"questions\":0,\"currentFlows\":0,\"draftFlows\":0,\"staleFlows\":0,\"invalidFlows\":0,\"eligibleFlows\":0,\"retiredAssertions\":0,\"unobservedAssertions\":0,\"inventoryFailures\":0,\"unanchoredStatements\":0,\"runPassed\":true,\"lines\":{\"asserted\":0,\"declared\":0,\"total\":8,\"percentage\":null},\"excludedStatements\":0},\"basis\":\"agent-assessed; passing assertion identity and same-test execution required; not mutation resistance\",\"validationErrors\":[],\"limitations\":[\"Syntax inventory covers recognized assertion forms, not every possible custom assertion. Agents may add exact source sites; missing runtime identity never earns credit.\"],\"revision\":\"4225817424b80733d4730ad4dde58291b9cf1608ae9929d0718595c8c5a5a88c\",\"inheritance\":{\"from\":\"run_fb9660954ad3d437\",\"skipped\":[]},\"view\":\"assertions\",\"file\":null,\"needsAttention\":false,\"scope\":\"summary covers the whole run with matching current source; --file filters items only\",\"workingTree\":{\"stale\":false,\"reasons\":[]},\"run\":\"run_69917813fb941a83\",\"map\":\"/private<project>/.supercov/runs/run_69917813fb941a83/assertions.json\"}}\n"
        },
        {
          "args": [
            "runs",
            "run_69917813fb941a83",
            "assertions",
            "report",
            "--view",
            "statements",
            "--json"
          ],
          "stdout": "{\"schemaVersion\":1,\"ok\":true,\"command\":\"coverage.assertions\",\"data\":{\"items\":[{\"id\":\"rs:statement:3822c9fecc66f301e86aaa24\",\"file\":\"tests/session.rs\",\"line\":11,\"at\":{\"file\":\"tests/session.rs\",\"line\":11,\"column\":5,\"text\":\"let order = checkout(false, false, 25, 2);\"},\"covered\":true,\"tests\":[\"tests/session.rs::rejects_signed_out_visitor\"],\"declared\":false,\"asserted\":false,\"flows\":[],\"executionEvidence\":{\"anyExecution\":true,\"passingTests\":[\"tests/session.rs::rejects_signed_out_visitor\"],\"outsidePassingTests\":[]}},{\"id\":\"rs:statement:44a06f5dab182cf8350c65d9\",\"file\":\"src/lib.rs\",\"line\":7,\"at\":{\"file\":\"src/lib.rs\",\"line\":7,\"column\":5,\"text\":\"Order { status: \\\"denied\\\", total: 0 }\"},\"covered\":true,\"tests\":[\"tests/session.rs::rejects_signed_out_visitor\"],\"declared\":false,\"asserted\":false,\"flows\":[],\"executionEvidence\":{\"anyExecution\":true,\"passingTests\":[\"tests/session.rs::rejects_signed_out_visitor\"],\"outsidePassingTests\":[]}},{\"id\":\"rs:statement:7d4841d7d5260481c34e882b\",\"file\":\"tests/session.rs\",\"line\":12,\"at\":{\"file\":\"tests/session.rs\",\"line\":12,\"column\":5,\"text\":\"assert_eq!(order.status, \\\"denied\\\");\"},\"covered\":true,\"tests\":[\"tests/session.rs::rejects_signed_out_visitor\"],\"declared\":false,\"asserted\":false,\"flows\":[],\"executionEvidence\":{\"anyExecution\":true,\"passingTests\":[\"tests/session.rs::rejects_signed_out_visitor\"],\"outsidePassingTests\":[]}},{\"id\":\"rs:statement:805b0c8db72a244eca94624f\",\"file\":\"src/lib.rs\",\"line\":3,\"at\":{\"file\":\"src/lib.rs\",\"line\":3,\"column\":5,\"text\":\"if signed_in && !expired {\\n        let total = price * quantity;\\n        return Order { status: \\\"confirmed\\\", total };\\n    }\"},\"covered\":true,\"tests\":[\"tests/session.rs::confirms_order\",\"tests/session.rs::rejects_signed_out_visitor\"],\"declared\":false,\"asserted\":false,\"flows\":[],\"executionEvidence\":{\"anyExecution\":true,\"passingTests\":[\"tests/session.rs::confirms_order\",\"tests/session.rs::rejects_signed_out_visitor\"],\"outsidePassingTests\":[]}},{\"id\":\"rs:statement:88df00180dd770f27b2e1cd6\",\"file\":\"tests/session.rs\",\"line\":6,\"at\":{\"file\":\"tests/session.rs\",\"line\":6,\"column\":5,\"text\":\"assert_eq!(order.status, \\\"confirmed\\\");\"},\"covered\":true,\"tests\":[\"tests/session.rs::confirms_order\"],\"declared\":false,\"asserted\":false,\"flows\":[],\"executionEvidence\":{\"anyExecution\":true,\"passingTests\":[\"tests/session.rs::confirms_order\"],\"outsidePassingTests\":[]}},{\"id\":\"rs:statement:c24ead84cd3c9e860cb7bd92\",\"file\":\"src/lib.rs\",\"line\":5,\"at\":{\"file\":\"src/lib.rs\",\"line\":5,\"column\":9,\"text\":\"return Order { status: \\\"confirmed\\\", total };\"},\"covered\":true,\"tests\":[\"tests/session.rs::confirms_order\"],\"declared\":false,\"asserted\":false,\"flows\":[],\"executionEvidence\":{\"anyExecution\":true,\"passingTests\":[\"tests/session.rs::confirms_order\"],\"outsidePassingTests\":[]}},{\"id\":\"rs:statement:ddb111362126076b264323cb\",\"file\":\"src/lib.rs\",\"line\":4,\"at\":{\"file\":\"src/lib.rs\",\"line\":4,\"column\":9,\"text\":\"let total = price * quantity;\"},\"covered\":true,\"tests\":[\"tests/session.rs::confirms_order\"],\"declared\":false,\"asserted\":false,\"flows\":[],\"executionEvidence\":{\"anyExecution\":true,\"passingTests\":[\"tests/session.rs::confirms_order\"],\"outsidePassingTests\":[]}},{\"id\":\"rs:statement:fb34957213f76dc77c3880f6\",\"file\":\"tests/session.rs\",\"line\":5,\"at\":{\"file\":\"tests/session.rs\",\"line\":5,\"column\":5,\"text\":\"let order = checkout(true, false, 25, 2);\"},\"covered\":true,\"tests\":[\"tests/session.rs::confirms_order\"],\"declared\":false,\"asserted\":false,\"flows\":[],\"executionEvidence\":{\"anyExecution\":true,\"passingTests\":[\"tests/session.rs::confirms_order\"],\"outsidePassingTests\":[]}}],\"pagination\":{\"offset\":0,\"returned\":8,\"total\":8,\"nextOffset\":null},\"summary\":{\"status\":\"pending\",\"reason\":\"Source changes need impact assessment\",\"pendingChanges\":1,\"metric\":\"measured statements\",\"statements\":{\"asserted\":0,\"declared\":0,\"total\":8,\"percentage\":null},\"assertions\":2,\"inventoryAssertions\":2,\"missingInventoryAssertions\":0,\"assertionsWithFlows\":0,\"assertionsWithoutFlows\":2,\"observedAssertionsWithoutCurrentExplanation\":2,\"questions\":0,\"currentFlows\":0,\"draftFlows\":0,\"staleFlows\":0,\"invalidFlows\":0,\"eligibleFlows\":0,\"retiredAssertions\":0,\"unobservedAssertions\":0,\"inventoryFailures\":0,\"unanchoredStatements\":0,\"runPassed\":true,\"lines\":{\"asserted\":0,\"declared\":0,\"total\":8,\"percentage\":null},\"excludedStatements\":0},\"basis\":\"agent-assessed; passing assertion identity and same-test execution required; not mutation resistance\",\"validationErrors\":[],\"limitations\":[\"Syntax inventory covers recognized assertion forms, not every possible custom assertion. Agents may add exact source sites; missing runtime identity never earns credit.\"],\"revision\":\"4225817424b80733d4730ad4dde58291b9cf1608ae9929d0718595c8c5a5a88c\",\"inheritance\":{\"from\":\"run_fb9660954ad3d437\",\"skipped\":[]},\"view\":\"statements\",\"file\":null,\"needsAttention\":false,\"scope\":\"summary covers the whole run with matching current source; --file filters items only\",\"workingTree\":{\"stale\":false,\"reasons\":[]},\"run\":\"run_69917813fb941a83\",\"map\":\"/private<project>/.supercov/runs/run_69917813fb941a83/assertions.json\"}}\n"
        },
        {
          "args": [
            "runs",
            "run_69917813fb941a83",
            "assertions",
            "report",
            "--view",
            "tests",
            "--json"
          ],
          "stdout": "{\"schemaVersion\":1,\"ok\":true,\"command\":\"coverage.assertions\",\"data\":{\"items\":[{\"id\":\"tests/session.rs::confirms_order\",\"file\":\"tests/session.rs\",\"name\":\"tests/session.rs::confirms_order\",\"role\":\"test\",\"outcome\":\"passed\",\"provenance\":{\"runner\":\"rust-libtest\",\"kind\":\"integration\",\"project\":\"session\",\"source\":\"supercov-owned-process-per-test\"},\"hasExecutionEvidence\":true},{\"id\":\"tests/session.rs::rejects_signed_out_visitor\",\"file\":\"tests/session.rs\",\"name\":\"tests/session.rs::rejects_signed_out_visitor\",\"role\":\"test\",\"outcome\":\"passed\",\"provenance\":{\"runner\":\"rust-libtest\",\"kind\":\"integration\",\"project\":\"session\",\"source\":\"supercov-owned-process-per-test\"},\"hasExecutionEvidence\":true}],\"pagination\":{\"offset\":0,\"returned\":2,\"total\":2,\"nextOffset\":null},\"summary\":{\"status\":\"pending\",\"reason\":\"Source changes need impact assessment\",\"pendingChanges\":1,\"metric\":\"measured statements\",\"statements\":{\"asserted\":0,\"declared\":0,\"total\":8,\"percentage\":null},\"assertions\":2,\"inventoryAssertions\":2,\"missingInventoryAssertions\":0,\"assertionsWithFlows\":0,\"assertionsWithoutFlows\":2,\"observedAssertionsWithoutCurrentExplanation\":2,\"questions\":0,\"currentFlows\":0,\"draftFlows\":0,\"staleFlows\":0,\"invalidFlows\":0,\"eligibleFlows\":0,\"retiredAssertions\":0,\"unobservedAssertions\":0,\"inventoryFailures\":0,\"unanchoredStatements\":0,\"runPassed\":true,\"lines\":{\"asserted\":0,\"declared\":0,\"total\":8,\"percentage\":null},\"excludedStatements\":0},\"basis\":\"agent-assessed; passing assertion identity and same-test execution required; not mutation resistance\",\"validationErrors\":[],\"limitations\":[\"Syntax inventory covers recognized assertion forms, not every possible custom assertion. Agents may add exact source sites; missing runtime identity never earns credit.\"],\"revision\":\"4225817424b80733d4730ad4dde58291b9cf1608ae9929d0718595c8c5a5a88c\",\"inheritance\":{\"from\":\"run_fb9660954ad3d437\",\"skipped\":[]},\"view\":\"tests\",\"file\":null,\"needsAttention\":false,\"scope\":\"summary covers the whole run with matching current source; --file filters items only\",\"workingTree\":{\"stale\":false,\"reasons\":[]},\"run\":\"run_69917813fb941a83\",\"map\":\"/private<project>/.supercov/runs/run_69917813fb941a83/assertions.json\"}}\n"
        },
        {
          "args": [
            "runs",
            "run_69917813fb941a83",
            "assertions",
            "report",
            "--view",
            "changes",
            "--json"
          ],
          "stdout": "{\"schemaVersion\":1,\"ok\":true,\"command\":\"coverage.assertions\",\"data\":{\"items\":[{\"id\":\"c_180c7e68e6d49a77fea8e2f9\",\"file\":\"tests/session.rs\",\"before\":\"5adbd13e2279299940feed17ecf14045118a562a00e307051cfa3e66373d63e5\",\"after\":\"f8e57396ce58e19487a037dd5cd0ba37e306c1bb055ff10d59b47199a65e460e\",\"reason\":\"captured source file changed\",\"knownFlows\":[],\"current\":false,\"assessment\":null,\"errors\":[],\"expectedBasis\":null}],\"pagination\":{\"offset\":0,\"returned\":1,\"total\":1,\"nextOffset\":null},\"summary\":{\"status\":\"pending\",\"reason\":\"Source changes need impact assessment\",\"pendingChanges\":1,\"metric\":\"measured statements\",\"statements\":{\"asserted\":0,\"declared\":0,\"total\":8,\"percentage\":null},\"assertions\":2,\"inventoryAssertions\":2,\"missingInventoryAssertions\":0,\"assertionsWithFlows\":0,\"assertionsWithoutFlows\":2,\"observedAssertionsWithoutCurrentExplanation\":2,\"questions\":0,\"currentFlows\":0,\"draftFlows\":0,\"staleFlows\":0,\"invalidFlows\":0,\"eligibleFlows\":0,\"retiredAssertions\":0,\"unobservedAssertions\":0,\"inventoryFailures\":0,\"unanchoredStatements\":0,\"runPassed\":true,\"lines\":{\"asserted\":0,\"declared\":0,\"total\":8,\"percentage\":null},\"excludedStatements\":0},\"basis\":\"agent-assessed; passing assertion identity and same-test execution required; not mutation resistance\",\"validationErrors\":[],\"limitations\":[\"Syntax inventory covers recognized assertion forms, not every possible custom assertion. Agents may add exact source sites; missing runtime identity never earns credit.\"],\"revision\":\"4225817424b80733d4730ad4dde58291b9cf1608ae9929d0718595c8c5a5a88c\",\"inheritance\":{\"from\":\"run_fb9660954ad3d437\",\"skipped\":[]},\"view\":\"changes\",\"file\":null,\"needsAttention\":false,\"scope\":\"summary covers the whole run with matching current source; --file filters items only\",\"workingTree\":{\"stale\":false,\"reasons\":[]},\"run\":\"run_69917813fb941a83\",\"map\":\"/private<project>/.supercov/runs/run_69917813fb941a83/assertions.json\"}}\n"
        },
        {
          "args": [
            "runs",
            "run_69917813fb941a83",
            "assertions",
            "validate",
            "--json"
          ],
          "stdout": "{\"schemaVersion\":1,\"ok\":true,\"command\":\"coverage.assertions\",\"data\":{\"valid\":true,\"stage\":\"references\",\"errors\":[],\"flows\":[{\"id\":\"a_e46730a73a917875080d/returned-status\",\"expectedBasis\":\"scov2:2a3d44545b3bf50f008ddf34b655118760fb0dc04ee39f1ab10174dbb9ac8fb5\",\"reasons\":[\"draft: input acknowledgement not recorded\"]},{\"id\":\"a_cc7afd93fd562becf44d/returned-status\",\"expectedBasis\":\"scov2:fd4feac5b0ba658400d7e6c4bfa5cbf82f8f5a2538b6d1864349fb8dd7f52960\",\"reasons\":[\"draft: input acknowledgement not recorded\"]}],\"changes\":[{\"id\":\"c_180c7e68e6d49a77fea8e2f9\",\"file\":\"tests/session.rs\",\"before\":\"5adbd13e2279299940feed17ecf14045118a562a00e307051cfa3e66373d63e5\",\"after\":\"f8e57396ce58e19487a037dd5cd0ba37e306c1bb055ff10d59b47199a65e460e\",\"reason\":\"captured source file changed\",\"knownFlows\":[],\"current\":false,\"assessment\":{\"id\":\"c_180c7e68e6d49a77fea8e2f9\",\"basis\":null,\"affectedFlows\":[],\"explanation\":\"Only the fixture test file changed. The current test inputs and assertions have been reviewed against this run’s mappings. The application source is unchanged.\"},\"errors\":[],\"expectedBasis\":\"scov2:84d5a30766ce77279356427d5a4c890606e6f8113b7be10153ca46e1854a1e94\"}],\"meaning\":\"Authored graph references and input acknowledgements only; no semantic proof or completeness claim\",\"revision\":\"8b27b6c3f91a02b4b1bd9437bafdefea38b9574c0b4097bd0e91378c8e4e609b\",\"workingTree\":{\"stale\":false,\"reasons\":[]},\"run\":\"run_69917813fb941a83\",\"map\":\"/private<project>/.supercov/runs/run_69917813fb941a83/assertions.json\"}}\n"
        },
        {
          "args": [
            "runs",
            "run_69917813fb941a83",
            "assertions",
            "validate",
            "--json"
          ],
          "stdout": "{\"schemaVersion\":1,\"ok\":true,\"command\":\"coverage.assertions\",\"data\":{\"valid\":true,\"stage\":\"references\",\"errors\":[],\"flows\":[{\"id\":\"a_e46730a73a917875080d/returned-status\",\"expectedBasis\":\"scov2:2a3d44545b3bf50f008ddf34b655118760fb0dc04ee39f1ab10174dbb9ac8fb5\",\"reasons\":[\"draft: input acknowledgement not recorded\"]},{\"id\":\"a_cc7afd93fd562becf44d/returned-status\",\"expectedBasis\":\"scov2:fd4feac5b0ba658400d7e6c4bfa5cbf82f8f5a2538b6d1864349fb8dd7f52960\",\"reasons\":[\"draft: input acknowledgement not recorded\"]}],\"changes\":[{\"id\":\"c_180c7e68e6d49a77fea8e2f9\",\"file\":\"tests/session.rs\",\"before\":\"5adbd13e2279299940feed17ecf14045118a562a00e307051cfa3e66373d63e5\",\"after\":\"f8e57396ce58e19487a037dd5cd0ba37e306c1bb055ff10d59b47199a65e460e\",\"reason\":\"captured source file changed\",\"knownFlows\":[],\"current\":true,\"assessment\":{\"id\":\"c_180c7e68e6d49a77fea8e2f9\",\"basis\":\"scov2:84d5a30766ce77279356427d5a4c890606e6f8113b7be10153ca46e1854a1e94\",\"affectedFlows\":[],\"explanation\":\"Only the fixture test file changed. The current test inputs and assertions have been reviewed against this run’s mappings. The application source is unchanged.\"},\"errors\":[],\"expectedBasis\":\"scov2:84d5a30766ce77279356427d5a4c890606e6f8113b7be10153ca46e1854a1e94\"}],\"meaning\":\"Authored graph references and input acknowledgements only; no semantic proof or completeness claim\",\"revision\":\"3bf8b62571d67cf6259f4d67becd4c4730c1e6451c6a867a9f825a0ecb7899cc\",\"workingTree\":{\"stale\":false,\"reasons\":[]},\"run\":\"run_69917813fb941a83\",\"map\":\"/private<project>/.supercov/runs/run_69917813fb941a83/assertions.json\"}}\n"
        },
        {
          "args": [
            "runs",
            "run_69917813fb941a83",
            "assertions",
            "check",
            "--require-mappings"
          ],
          "stdout": "{\n  \"summary\": {\n    \"status\": \"available\",\n    \"reason\": \"Agent-assessed statements; mapping completeness is unknown\",\n    \"pendingChanges\": 0,\n    \"metric\": \"measured statements\",\n    \"statements\": {\n      \"asserted\": 5,\n      \"declared\": 5,\n      \"total\": 8,\n      \"percentage\": 62.5\n    },\n    \"assertions\": 2,\n    \"inventoryAssertions\": 2,\n    \"missingInventoryAssertions\": 0,\n    \"assertionsWithFlows\": 2,\n    \"assertionsWithoutFlows\": 0,\n    \"observedAssertionsWithoutCurrentExplanation\": 0,\n    \"questions\": 0,\n    \"currentFlows\": 2,\n    \"draftFlows\": 0,\n    \"staleFlows\": 0,\n    \"invalidFlows\": 0,\n    \"eligibleFlows\": 2,\n    \"retiredAssertions\": 0,\n    \"unobservedAssertions\": 0,\n    \"inventoryFailures\": 0,\n    \"unanchoredStatements\": 0,\n    \"runPassed\": true,\n    \"lines\": {\n      \"asserted\": 5,\n      \"declared\": 5,\n      \"total\": 8,\n      \"percentage\": 62.5\n    },\n    \"excludedStatements\": 0\n  },\n  \"basis\": \"agent-assessed; passing assertion identity and same-test execution required; not mutation resistance\",\n  \"validationErrors\": [],\n  \"limitations\": [\n    \"Syntax inventory covers recognized assertion forms, not every possible custom assertion. Agents may add exact source sites; missing runtime identity never earns credit.\"\n  ],\n  \"revision\": \"7ddb371e6e956f1248f7a0bd195b242512047830c5454ea9a55c051f66a8434f\",\n  \"inheritance\": {\n    \"from\": \"run_fb9660954ad3d437\",\n    \"skipped\": []\n  },\n  \"view\": \"summary\",\n  \"file\": null,\n  \"needsAttention\": false,\n  \"scope\": \"summary covers the whole run with matching current source; --file filters items only\",\n  \"workingTree\": {\n    \"stale\": false,\n    \"reasons\": []\n  },\n  \"valid\": true,\n  \"failures\": [],\n  \"requirements\": {\n    \"mappings\": true,\n    \"observed\": false,\n    \"minimum\": null\n  },\n  \"run\": \"run_69917813fb941a83\",\n  \"map\": \"/private<project>/.supercov/runs/run_69917813fb941a83/assertions.json\"\n}\n"
        },
        {
          "args": [
            "runs",
            "run_69917813fb941a83"
          ],
          "stdout": "run run_69917813fb941a83\ncommand: cargo test\n\nCoverage\n  Lines      100.00% (11/11)\n  Branches   100.00% (6/6)\n  MC/DC      50.00% (1/2)\nAssertions 62.50% (5/8) — agent-assessed statements, whole run\n  2 assertions with flows; 0 without; 2 current flows; 0 stale; 0 draft\n\nBy test kind\n  integration     2 test(s)  lines 100.00%  branches 100.00%  MC/DC  50.00%\n\nMeasurement\n  Instrumentation  Complete for the measured command and coverage model\n  Scope            Only code reached by the wrapped command is observed; this status does not prove every project test suite was run.\n  Command outputs  /private<project>/.supercov/workspaces/workspace/supercov-homepage-recording-WMtsOF\n\nTests\n  Total       2\n  Passed      2\n\nRemaining\n  Files with uncovered code         1\n  Files with measurement limits     0\n\nRuntime action phases (separate from assertion mappings)\n  Recorded within action phases      0 lines\n  Other recorded execution           11 lines\n  These runtime phase counts do not include the agent-assessed assertion coverage shown above.\n\nCommands\n  npx supercov runs 'run_69917813fb941a83' files\n  npx supercov runs 'run_69917813fb941a83' gaps\n  npx supercov runs 'run_69917813fb941a83' kinds\n  npx supercov runs 'run_69917813fb941a83' runners\n  npx supercov runs 'run_69917813fb941a83' scope\n  npx supercov runs run_69917813fb941a83 --help\n"
        },
        {
          "args": [
            "runs",
            "run_69917813fb941a83",
            "assertions",
            "--json"
          ],
          "stdout": "{\"schemaVersion\":1,\"ok\":true,\"command\":\"coverage.assertions\",\"data\":{\"items\":[{\"observation\":\"Passing assertion occurrence recorded.\",\"id\":\"a_e46730a73a917875080d\",\"at\":{\"file\":\"tests/session.rs\",\"line\":6,\"column\":5,\"text\":\"assert_eq!(order.status, \\\"confirmed\\\")\"},\"questions\":[],\"inMap\":true,\"observes\":[\"The returned status equals confirmed for this test input.\"],\"operations\":[\"assert_eq\"],\"observedPassingTests\":[\"tests/session.rs::confirms_order\"],\"flows\":[{\"id\":\"returned-status\",\"freshness\":\"current\",\"valid\":true,\"current\":true,\"expectedBasis\":\"scov2:2a3d44545b3bf50f008ddf34b655118760fb0dc04ee39f1ab10174dbb9ac8fb5\",\"selectors\":[{\"file\":\"tests/session.rs\",\"name\":\"tests/session.rs::confirms_order\",\"status\":\"observed\",\"outcomes\":[\"passed\"],\"reason\":\"A passing assertion occurrence matches this test.\"}],\"questions\":[],\"reasons\":[],\"eligible\":true,\"blockers\":[],\"matchingTests\":[\"tests/session.rs::confirms_order\"],\"creditedStatementLines\":[[\"src/lib.rs\",3],[\"src/lib.rs\",5],[\"tests/session.rs\",5]],\"nodeCredit\":[{\"nodeId\":\"n0\",\"location\":{\"file\":\"src/lib.rs\",\"line\":3,\"column\":5},\"status\":\"credited\",\"statementIds\":[\"rs:statement:805b0c8db72a244eca94624f\"],\"matchingTests\":[\"tests/session.rs::confirms_order\"],\"reasons\":[{\"code\":\"same_test_execution\",\"message\":\"Current agent claim, passing assertion, and statement execution in the same selected test.\"}]},{\"nodeId\":\"n1\",\"location\":{\"file\":\"src/lib.rs\",\"line\":5,\"column\":9},\"status\":\"credited\",\"statementIds\":[\"rs:statement:c24ead84cd3c9e860cb7bd92\"],\"matchingTests\":[\"tests/session.rs::confirms_order\"],\"reasons\":[{\"code\":\"same_test_execution\",\"message\":\"Current agent claim, passing assertion, and statement execution in the same selected test.\"}]},{\"nodeId\":\"n2\",\"location\":{\"file\":\"tests/session.rs\",\"line\":5,\"column\":5},\"status\":\"credited\",\"statementIds\":[\"rs:statement:fb34957213f76dc77c3880f6\"],\"matchingTests\":[\"tests/session.rs::confirms_order\"],\"reasons\":[{\"code\":\"same_test_execution\",\"message\":\"Current agent claim, passing assertion, and statement execution in the same selected test.\"}]}]}]},{\"observation\":\"Passing assertion occurrence recorded.\",\"id\":\"a_cc7afd93fd562becf44d\",\"at\":{\"file\":\"tests/session.rs\",\"line\":12,\"column\":5,\"text\":\"assert_eq!(order.status, \\\"denied\\\")\"},\"questions\":[],\"inMap\":true,\"observes\":[\"The returned status equals denied for this test input.\"],\"operations\":[\"assert_eq\"],\"observedPassingTests\":[\"tests/session.rs::rejects_signed_out_visitor\"],\"flows\":[{\"id\":\"returned-status\",\"freshness\":\"current\",\"valid\":true,\"current\":true,\"expectedBasis\":\"scov2:fd4feac5b0ba658400d7e6c4bfa5cbf82f8f5a2538b6d1864349fb8dd7f52960\",\"selectors\":[{\"file\":\"tests/session.rs\",\"name\":\"tests/session.rs::rejects_signed_out_visitor\",\"status\":\"observed\",\"outcomes\":[\"passed\"],\"reason\":\"A passing assertion occurrence matches this test.\"}],\"questions\":[],\"reasons\":[],\"eligible\":true,\"blockers\":[],\"matchingTests\":[\"tests/session.rs::rejects_signed_out_visitor\"],\"creditedStatementLines\":[[\"src/lib.rs\",3],[\"src/lib.rs\",7],[\"tests/session.rs\",11]],\"nodeCredit\":[{\"nodeId\":\"n0\",\"location\":{\"file\":\"src/lib.rs\",\"line\":3,\"column\":5},\"status\":\"credited\",\"statementIds\":[\"rs:statement:805b0c8db72a244eca94624f\"],\"matchingTests\":[\"tests/session.rs::rejects_signed_out_visitor\"],\"reasons\":[{\"code\":\"same_test_execution\",\"message\":\"Current agent claim, passing assertion, and statement execution in the same selected test.\"}]},{\"nodeId\":\"n1\",\"location\":{\"file\":\"src/lib.rs\",\"line\":7,\"column\":5},\"status\":\"credited\",\"statementIds\":[\"rs:statement:44a06f5dab182cf8350c65d9\"],\"matchingTests\":[\"tests/session.rs::rejects_signed_out_visitor\"],\"reasons\":[{\"code\":\"same_test_execution\",\"message\":\"Current agent claim, passing assertion, and statement execution in the same selected test.\"}]},{\"nodeId\":\"n2\",\"location\":{\"file\":\"tests/session.rs\",\"line\":11,\"column\":5},\"status\":\"credited\",\"statementIds\":[\"rs:statement:3822c9fecc66f301e86aaa24\"],\"matchingTests\":[\"tests/session.rs::rejects_signed_out_visitor\"],\"reasons\":[{\"code\":\"same_test_execution\",\"message\":\"Current agent claim, passing assertion, and statement execution in the same selected test.\"}]}]}]}],\"pagination\":{\"offset\":0,\"returned\":2,\"total\":2,\"nextOffset\":null},\"summary\":{\"status\":\"available\",\"reason\":\"Agent-assessed statements; mapping completeness is unknown\",\"pendingChanges\":0,\"metric\":\"measured statements\",\"statements\":{\"asserted\":5,\"declared\":5,\"total\":8,\"percentage\":62.5},\"assertions\":2,\"inventoryAssertions\":2,\"missingInventoryAssertions\":0,\"assertionsWithFlows\":2,\"assertionsWithoutFlows\":0,\"observedAssertionsWithoutCurrentExplanation\":0,\"questions\":0,\"currentFlows\":2,\"draftFlows\":0,\"staleFlows\":0,\"invalidFlows\":0,\"eligibleFlows\":2,\"retiredAssertions\":0,\"unobservedAssertions\":0,\"inventoryFailures\":0,\"unanchoredStatements\":0,\"runPassed\":true,\"lines\":{\"asserted\":5,\"declared\":5,\"total\":8,\"percentage\":62.5},\"excludedStatements\":0},\"basis\":\"agent-assessed; passing assertion identity and same-test execution required; not mutation resistance\",\"validationErrors\":[],\"limitations\":[\"Syntax inventory covers recognized assertion forms, not every possible custom assertion. Agents may add exact source sites; missing runtime identity never earns credit.\"],\"revision\":\"7ddb371e6e956f1248f7a0bd195b242512047830c5454ea9a55c051f66a8434f\",\"inheritance\":{\"from\":\"run_fb9660954ad3d437\",\"skipped\":[]},\"view\":\"assertions\",\"file\":null,\"needsAttention\":false,\"scope\":\"summary covers the whole run with matching current source; --file filters items only\",\"workingTree\":{\"stale\":false,\"reasons\":[]},\"run\":\"run_69917813fb941a83\",\"map\":\"/private<project>/.supercov/runs/run_69917813fb941a83/assertions.json\"}}\n"
        },
        {
          "args": [
            "runs",
            "run_69917813fb941a83"
          ],
          "stdout": "run run_69917813fb941a83\ncommand: cargo test\n\nCoverage\n  Lines      100.00% (11/11)\n  Branches   100.00% (6/6)\n  MC/DC      50.00% (1/2)\nAssertions 62.50% (5/8) — agent-assessed statements, whole run\n  2 assertions with flows; 0 without; 2 current flows; 0 stale; 0 draft\n\nBy test kind\n  integration     2 test(s)  lines 100.00%  branches 100.00%  MC/DC  50.00%\n\nMeasurement\n  Instrumentation  Complete for the measured command and coverage model\n  Scope            Only code reached by the wrapped command is observed; this status does not prove every project test suite was run.\n  Command outputs  /private<project>/.supercov/workspaces/workspace/supercov-homepage-recording-WMtsOF\n\nTests\n  Total       2\n  Passed      2\n\nRemaining\n  Files with uncovered code         1\n  Files with measurement limits     0\n\nRuntime action phases (separate from assertion mappings)\n  Recorded within action phases      0 lines\n  Other recorded execution           11 lines\n  These runtime phase counts do not include the agent-assessed assertion coverage shown above.\n\nCommands\n  npx supercov runs 'run_69917813fb941a83' files\n  npx supercov runs 'run_69917813fb941a83' gaps\n  npx supercov runs 'run_69917813fb941a83' kinds\n  npx supercov runs 'run_69917813fb941a83' runners\n  npx supercov runs 'run_69917813fb941a83' scope\n  npx supercov runs run_69917813fb941a83 --help\n"
        },
        {
          "args": [
            "runs",
            "run_69917813fb941a83",
            "gaps",
            "--limit",
            "5"
          ],
          "stdout": "Coverage gaps — only files with unresolved obligations\n\nsrc/lib.rs\n  uncovered: lines 0  statements 0  functions 0  branch outcomes 0  MC/DC conditions 1\n\nshowing 1-1 of 1\ninspect file: npx supercov runs 'run_69917813fb941a83' file 'src/lib.rs'\n"
        },
        {
          "args": [
            "runs",
            "run_69917813fb941a83",
            "file",
            "src/lib.rs"
          ],
          "stdout": "src/lib.rs\n\nUncovered\n  Lines not executed              0\n  Statements not executed         0\n  Functions not called            0\n  Branch outcomes not taken       0\n  MC/DC conditions not shown      1\n  Measurement limitations         0\n\nTests touching this file: 2\n\nGaps\n  NOT COVERED = line never executed; PARTIAL = line executed but some behavior remains untested\n LINE  STATUS        SOURCE\n    3  PARTIAL       signed_in && !expired\n       Unobserved: no witness pair shows `!expired` independently changing the decision result\n       Inspect: npx supercov runs 'run_69917813fb941a83' line 'src/lib.rs:3'\nshowing 1-1 of 1 gap lines\n"
        },
        {
          "args": [
            "runs",
            "run_69917813fb941a83",
            "line",
            "src/lib.rs:4"
          ],
          "stdout": "src/lib.rs:4\n\nSource\n      4 | let total = price * quantity;\n\nStatus\n  COVERED\n  Evidence: execution only\n\nCoverage details\n  Statement at column 8 — covered (1 covering tests)\n    `let total = price * quantity;`\n\nCovering tests\n  tests/session.rs::confirms_order [tests/session.rs::confirms_order] — integration/rust-libtest\n"
        },
        {
          "args": [
            "runs",
            "run_69917813fb941a83",
            "decision",
            "src/lib.rs:3"
          ],
          "stdout": "rs:decision:af214c70a2296205a734dadf  src/lib.rs:3:7\nsigned_in && !expired\nC1 covered: signed_in\nC2 MISSING: !expired\nconfidence executed\nvectors:\n  TT -> T  tests=1 confidence=executed\n  F- -> F  tests=1 confidence=executed\nshowing 1-2 of 2 conditions/vectors/tests per decision\n"
        },
        {
          "args": [
            "runs",
            "run_69917813fb941a83",
            "assertions",
            "report",
            "--view",
            "statements",
            "--file",
            "src/lib.rs"
          ],
          "stdout": "{\n  \"items\": [\n    {\n      \"id\": \"rs:statement:44a06f5dab182cf8350c65d9\",\n      \"file\": \"src/lib.rs\",\n      \"line\": 7,\n      \"at\": {\n        \"file\": \"src/lib.rs\",\n        \"line\": 7,\n        \"column\": 5,\n        \"text\": \"Order { status: \\\"denied\\\", total: 0 }\"\n      },\n      \"covered\": true,\n      \"tests\": [\n        \"tests/session.rs::rejects_signed_out_visitor\"\n      ],\n      \"declared\": true,\n      \"asserted\": true,\n      \"flows\": [\n        \"a_cc7afd93fd562becf44d/returned-status\"\n      ],\n      \"executionEvidence\": {\n        \"anyExecution\": true,\n        \"passingTests\": [\n          \"tests/session.rs::rejects_signed_out_visitor\"\n        ],\n        \"outsidePassingTests\": []\n      }\n    },\n    {\n      \"id\": \"rs:statement:805b0c8db72a244eca94624f\",\n      \"file\": \"src/lib.rs\",\n      \"line\": 3,\n      \"at\": {\n        \"file\": \"src/lib.rs\",\n        \"line\": 3,\n        \"column\": 5,\n        \"text\": \"if signed_in && !expired {\\n        let total = price * quantity;\\n        return Order { status: \\\"confirmed\\\", total };\\n    }\"\n      },\n      \"covered\": true,\n      \"tests\": [\n        \"tests/session.rs::confirms_order\",\n        \"tests/session.rs::rejects_signed_out_visitor\"\n      ],\n      \"declared\": true,\n      \"asserted\": true,\n      \"flows\": [\n        \"a_cc7afd93fd562becf44d/returned-status\",\n        \"a_e46730a73a917875080d/returned-status\"\n      ],\n      \"executionEvidence\": {\n        \"anyExecution\": true,\n        \"passingTests\": [\n          \"tests/session.rs::confirms_order\",\n          \"tests/session.rs::rejects_signed_out_visitor\"\n        ],\n        \"outsidePassingTests\": []\n      }\n    },\n    {\n      \"id\": \"rs:statement:c24ead84cd3c9e860cb7bd92\",\n      \"file\": \"src/lib.rs\",\n      \"line\": 5,\n      \"at\": {\n        \"file\": \"src/lib.rs\",\n        \"line\": 5,\n        \"column\": 9,\n        \"text\": \"return Order { status: \\\"confirmed\\\", total };\"\n      },\n      \"covered\": true,\n      \"tests\": [\n        \"tests/session.rs::confirms_order\"\n      ],\n      \"declared\": true,\n      \"asserted\": true,\n      \"flows\": [\n        \"a_e46730a73a917875080d/returned-status\"\n      ],\n      \"executionEvidence\": {\n        \"anyExecution\": true,\n        \"passingTests\": [\n          \"tests/session.rs::confirms_order\"\n        ],\n        \"outsidePassingTests\": []\n      }\n    },\n    {\n      \"id\": \"rs:statement:ddb111362126076b264323cb\",\n      \"file\": \"src/lib.rs\",\n      \"line\": 4,\n      \"at\": {\n        \"file\": \"src/lib.rs\",\n        \"line\": 4,\n        \"column\": 9,\n        \"text\": \"let total = price * quantity;\"\n      },\n      \"covered\": true,\n      \"tests\": [\n        \"tests/session.rs::confirms_order\"\n      ],\n      \"declared\": false,\n      \"asserted\": false,\n      \"flows\": [],\n      \"executionEvidence\": {\n        \"anyExecution\": true,\n        \"passingTests\": [\n          \"tests/session.rs::confirms_order\"\n        ],\n        \"outsidePassingTests\": []\n      }\n    }\n  ],\n  \"pagination\": {\n    \"offset\": 0,\n    \"returned\": 4,\n    \"total\": 4,\n    \"nextOffset\": null\n  },\n  \"summary\": {\n    \"status\": \"available\",\n    \"reason\": \"Agent-assessed statements; mapping completeness is unknown\",\n    \"pendingChanges\": 0,\n    \"metric\": \"measured statements\",\n    \"statements\": {\n      \"asserted\": 5,\n      \"declared\": 5,\n      \"total\": 8,\n      \"percentage\": 62.5\n    },\n    \"assertions\": 2,\n    \"inventoryAssertions\": 2,\n    \"missingInventoryAssertions\": 0,\n    \"assertionsWithFlows\": 2,\n    \"assertionsWithoutFlows\": 0,\n    \"observedAssertionsWithoutCurrentExplanation\": 0,\n    \"questions\": 0,\n    \"currentFlows\": 2,\n    \"draftFlows\": 0,\n    \"staleFlows\": 0,\n    \"invalidFlows\": 0,\n    \"eligibleFlows\": 2,\n    \"retiredAssertions\": 0,\n    \"unobservedAssertions\": 0,\n    \"inventoryFailures\": 0,\n    \"unanchoredStatements\": 0,\n    \"runPassed\": true,\n    \"lines\": {\n      \"asserted\": 5,\n      \"declared\": 5,\n      \"total\": 8,\n      \"percentage\": 62.5\n    },\n    \"excludedStatements\": 0\n  },\n  \"basis\": \"agent-assessed; passing assertion identity and same-test execution required; not mutation resistance\",\n  \"validationErrors\": [],\n  \"limitations\": [\n    \"Syntax inventory covers recognized assertion forms, not every possible custom assertion. Agents may add exact source sites; missing runtime identity never earns credit.\"\n  ],\n  \"revision\": \"7ddb371e6e956f1248f7a0bd195b242512047830c5454ea9a55c051f66a8434f\",\n  \"inheritance\": {\n    \"from\": \"run_fb9660954ad3d437\",\n    \"skipped\": []\n  },\n  \"view\": \"statements\",\n  \"file\": \"src/lib.rs\",\n  \"needsAttention\": false,\n  \"scope\": \"summary covers the whole run with matching current source; --file filters items only\",\n  \"workingTree\": {\n    \"stale\": false,\n    \"reasons\": []\n  },\n  \"run\": \"run_69917813fb941a83\",\n  \"map\": \"/private<project>/.supercov/runs/run_69917813fb941a83/assertions.json\"\n}\n"
        },
        {
          "args": [
            "runs",
            "run_69917813fb941a83",
            "decision",
            "src/lib.rs:3"
          ],
          "stdout": "rs:decision:af214c70a2296205a734dadf  src/lib.rs:3:7\nsigned_in && !expired\nC1 covered: signed_in\nC2 MISSING: !expired\nconfidence executed\nvectors:\n  TT -> T  tests=1 confidence=executed\n  F- -> F  tests=1 confidence=executed\nshowing 1-2 of 2 conditions/vectors/tests per decision\n"
        },
        {
          "args": [
            "--",
            "cargo",
            "test"
          ],
          "stdout": "[coverage] evidence: /private<project>/.supercov/runs/run_27c6de876970ebd0/evidence.raw.gz\n"
        },
        {
          "args": [
            "runs",
            "latest",
            "assertions",
            "--json"
          ],
          "stdout": "{\"schemaVersion\":1,\"ok\":true,\"command\":\"coverage.assertions\",\"data\":{\"items\":[{\"observation\":\"Passing assertion occurrence recorded.\",\"id\":\"a_e46730a73a917875080d\",\"at\":{\"file\":\"tests/session.rs\",\"line\":6,\"column\":5,\"text\":\"assert_eq!(order.status, \\\"confirmed\\\")\"},\"questions\":[],\"inMap\":true,\"observes\":[\"The returned status equals confirmed for this test input.\"],\"operations\":[\"assert_eq\"],\"observedPassingTests\":[\"tests/session.rs::confirms_order\"],\"flows\":[{\"id\":\"returned-status\",\"freshness\":\"stale\",\"valid\":true,\"current\":false,\"expectedBasis\":\"scov2:e45105f1cc0d275754b1fe6866efe1b60e611144d5de2f19a517dcbaeadd1e30\",\"selectors\":[{\"file\":\"tests/session.rs\",\"name\":\"tests/session.rs::confirms_order\",\"status\":\"observed\",\"outcomes\":[\"passed\"],\"reason\":\"A passing assertion occurrence matches this test.\"}],\"questions\":[],\"reasons\":[\"claim or inputs changed; needs rechecking\",\"dependency file changed or removed: tests/session.rs\"],\"eligible\":false,\"blockers\":[\"flow requires review or reference repair\"],\"matchingTests\":[\"tests/session.rs::confirms_order\"],\"creditedStatementLines\":[],\"nodeCredit\":[{\"nodeId\":\"n0\",\"location\":{\"file\":\"src/lib.rs\",\"line\":3,\"column\":5},\"status\":\"notCredited\",\"statementIds\":[\"rs:statement:805b0c8db72a244eca94624f\"],\"matchingTests\":[\"tests/session.rs::confirms_order\"],\"reasons\":[{\"code\":\"flow_needs_attention\",\"message\":\"Flow needs investigation: claim or inputs changed; needs rechecking; dependency file changed or removed: tests/session.rs\"}]},{\"nodeId\":\"n1\",\"location\":{\"file\":\"src/lib.rs\",\"line\":5,\"column\":9},\"status\":\"notCredited\",\"statementIds\":[\"rs:statement:c24ead84cd3c9e860cb7bd92\"],\"matchingTests\":[\"tests/session.rs::confirms_order\"],\"reasons\":[{\"code\":\"flow_needs_attention\",\"message\":\"Flow needs investigation: claim or inputs changed; needs rechecking; dependency file changed or removed: tests/session.rs\"}]},{\"nodeId\":\"n2\",\"location\":{\"file\":\"tests/session.rs\",\"line\":5,\"column\":5},\"status\":\"notCredited\",\"statementIds\":[\"rs:statement:fb34957213f76dc77c3880f6\"],\"matchingTests\":[\"tests/session.rs::confirms_order\"],\"reasons\":[{\"code\":\"flow_needs_attention\",\"message\":\"Flow needs investigation: claim or inputs changed; needs rechecking; dependency file changed or removed: tests/session.rs\"}]}]}]},{\"observation\":\"Passing assertion occurrence recorded.\",\"id\":\"a_2dabf2d7f3d34c9085ec\",\"at\":{\"file\":\"tests/session.rs\",\"line\":7,\"column\":5,\"text\":\"assert_eq!(order.total, 50)\"},\"questions\":[],\"inMap\":true,\"observes\":[],\"operations\":[\"assert_eq\"],\"observedPassingTests\":[\"tests/session.rs::confirms_order\"],\"flows\":[]},{\"observation\":\"Passing assertion occurrence recorded.\",\"id\":\"a_23bf894d3d454c4563ba\",\"at\":{\"file\":\"tests/session.rs\",\"line\":13,\"column\":5,\"text\":\"assert_eq!(order.status, \\\"denied\\\")\"},\"questions\":[],\"inMap\":true,\"observes\":[],\"operations\":[\"assert_eq\"],\"observedPassingTests\":[\"tests/session.rs::rejects_signed_out_visitor\"],\"flows\":[]},{\"observation\":\"Passing assertion occurrence recorded.\",\"id\":\"a_4c95b2143d90a8c7bb15\",\"at\":{\"file\":\"tests/session.rs\",\"line\":19,\"column\":5,\"text\":\"assert_eq!(order.status, \\\"denied\\\")\"},\"questions\":[],\"inMap\":true,\"observes\":[],\"operations\":[\"assert_eq\"],\"observedPassingTests\":[\"tests/session.rs::rejects_expired_session\"],\"flows\":[]}],\"pagination\":{\"offset\":0,\"returned\":4,\"total\":4,\"nextOffset\":null},\"summary\":{\"status\":\"pending\",\"reason\":\"Source changes need impact assessment\",\"pendingChanges\":1,\"metric\":\"measured statements\",\"statements\":{\"asserted\":0,\"declared\":3,\"total\":11,\"percentage\":null},\"assertions\":4,\"inventoryAssertions\":4,\"missingInventoryAssertions\":0,\"assertionsWithFlows\":1,\"assertionsWithoutFlows\":3,\"observedAssertionsWithoutCurrentExplanation\":4,\"questions\":0,\"currentFlows\":0,\"draftFlows\":0,\"staleFlows\":1,\"invalidFlows\":0,\"eligibleFlows\":0,\"retiredAssertions\":1,\"unobservedAssertions\":0,\"inventoryFailures\":0,\"unanchoredStatements\":0,\"runPassed\":true,\"lines\":{\"asserted\":0,\"declared\":3,\"total\":11,\"percentage\":null},\"excludedStatements\":0},\"basis\":\"agent-assessed; passing assertion identity and same-test execution required; not mutation resistance\",\"validationErrors\":[],\"limitations\":[\"Syntax inventory covers recognized assertion forms, not every possible custom assertion. Agents may add exact source sites; missing runtime identity never earns credit.\"],\"revision\":\"307f7e0c11f93094003bef6b566676f605b391f33c46c6498fd3e68e465e3f02\",\"inheritance\":{\"from\":\"run_69917813fb941a83\",\"skipped\":[]},\"view\":\"assertions\",\"file\":null,\"needsAttention\":false,\"scope\":\"summary covers the whole run with matching current source; --file filters items only\",\"workingTree\":{\"stale\":false,\"reasons\":[]},\"run\":\"run_27c6de876970ebd0\",\"map\":\"/private<project>/.supercov/runs/run_27c6de876970ebd0/assertions.json\"}}\n"
        },
        {
          "args": [
            "runs",
            "run_27c6de876970ebd0",
            "assertions",
            "--json"
          ],
          "stdout": "{\"schemaVersion\":1,\"ok\":true,\"command\":\"coverage.assertions\",\"data\":{\"items\":[{\"observation\":\"Passing assertion occurrence recorded.\",\"id\":\"a_e46730a73a917875080d\",\"at\":{\"file\":\"tests/session.rs\",\"line\":6,\"column\":5,\"text\":\"assert_eq!(order.status, \\\"confirmed\\\")\"},\"questions\":[],\"inMap\":true,\"observes\":[\"The returned status equals confirmed for this test input.\"],\"operations\":[\"assert_eq\"],\"observedPassingTests\":[\"tests/session.rs::confirms_order\"],\"flows\":[{\"id\":\"returned-status\",\"freshness\":\"stale\",\"valid\":true,\"current\":false,\"expectedBasis\":\"scov2:e45105f1cc0d275754b1fe6866efe1b60e611144d5de2f19a517dcbaeadd1e30\",\"selectors\":[{\"file\":\"tests/session.rs\",\"name\":\"tests/session.rs::confirms_order\",\"status\":\"observed\",\"outcomes\":[\"passed\"],\"reason\":\"A passing assertion occurrence matches this test.\"}],\"questions\":[],\"reasons\":[\"claim or inputs changed; needs rechecking\",\"dependency file changed or removed: tests/session.rs\"],\"eligible\":false,\"blockers\":[\"flow requires review or reference repair\"],\"matchingTests\":[\"tests/session.rs::confirms_order\"],\"creditedStatementLines\":[],\"nodeCredit\":[{\"nodeId\":\"n0\",\"location\":{\"file\":\"src/lib.rs\",\"line\":3,\"column\":5},\"status\":\"notCredited\",\"statementIds\":[\"rs:statement:805b0c8db72a244eca94624f\"],\"matchingTests\":[\"tests/session.rs::confirms_order\"],\"reasons\":[{\"code\":\"flow_needs_attention\",\"message\":\"Flow needs investigation: claim or inputs changed; needs rechecking; dependency file changed or removed: tests/session.rs\"}]},{\"nodeId\":\"n1\",\"location\":{\"file\":\"src/lib.rs\",\"line\":5,\"column\":9},\"status\":\"notCredited\",\"statementIds\":[\"rs:statement:c24ead84cd3c9e860cb7bd92\"],\"matchingTests\":[\"tests/session.rs::confirms_order\"],\"reasons\":[{\"code\":\"flow_needs_attention\",\"message\":\"Flow needs investigation: claim or inputs changed; needs rechecking; dependency file changed or removed: tests/session.rs\"}]},{\"nodeId\":\"n2\",\"location\":{\"file\":\"tests/session.rs\",\"line\":5,\"column\":5},\"status\":\"notCredited\",\"statementIds\":[\"rs:statement:fb34957213f76dc77c3880f6\"],\"matchingTests\":[\"tests/session.rs::confirms_order\"],\"reasons\":[{\"code\":\"flow_needs_attention\",\"message\":\"Flow needs investigation: claim or inputs changed; needs rechecking; dependency file changed or removed: tests/session.rs\"}]}]}]},{\"observation\":\"Passing assertion occurrence recorded.\",\"id\":\"a_2dabf2d7f3d34c9085ec\",\"at\":{\"file\":\"tests/session.rs\",\"line\":7,\"column\":5,\"text\":\"assert_eq!(order.total, 50)\"},\"questions\":[],\"inMap\":true,\"observes\":[],\"operations\":[\"assert_eq\"],\"observedPassingTests\":[\"tests/session.rs::confirms_order\"],\"flows\":[]},{\"observation\":\"Passing assertion occurrence recorded.\",\"id\":\"a_23bf894d3d454c4563ba\",\"at\":{\"file\":\"tests/session.rs\",\"line\":13,\"column\":5,\"text\":\"assert_eq!(order.status, \\\"denied\\\")\"},\"questions\":[],\"inMap\":true,\"observes\":[],\"operations\":[\"assert_eq\"],\"observedPassingTests\":[\"tests/session.rs::rejects_signed_out_visitor\"],\"flows\":[]},{\"observation\":\"Passing assertion occurrence recorded.\",\"id\":\"a_4c95b2143d90a8c7bb15\",\"at\":{\"file\":\"tests/session.rs\",\"line\":19,\"column\":5,\"text\":\"assert_eq!(order.status, \\\"denied\\\")\"},\"questions\":[],\"inMap\":true,\"observes\":[],\"operations\":[\"assert_eq\"],\"observedPassingTests\":[\"tests/session.rs::rejects_expired_session\"],\"flows\":[]}],\"pagination\":{\"offset\":0,\"returned\":4,\"total\":4,\"nextOffset\":null},\"summary\":{\"status\":\"pending\",\"reason\":\"Source changes need impact assessment\",\"pendingChanges\":1,\"metric\":\"measured statements\",\"statements\":{\"asserted\":0,\"declared\":3,\"total\":11,\"percentage\":null},\"assertions\":4,\"inventoryAssertions\":4,\"missingInventoryAssertions\":0,\"assertionsWithFlows\":1,\"assertionsWithoutFlows\":3,\"observedAssertionsWithoutCurrentExplanation\":4,\"questions\":0,\"currentFlows\":0,\"draftFlows\":0,\"staleFlows\":1,\"invalidFlows\":0,\"eligibleFlows\":0,\"retiredAssertions\":1,\"unobservedAssertions\":0,\"inventoryFailures\":0,\"unanchoredStatements\":0,\"runPassed\":true,\"lines\":{\"asserted\":0,\"declared\":3,\"total\":11,\"percentage\":null},\"excludedStatements\":0},\"basis\":\"agent-assessed; passing assertion identity and same-test execution required; not mutation resistance\",\"validationErrors\":[],\"limitations\":[\"Syntax inventory covers recognized assertion forms, not every possible custom assertion. Agents may add exact source sites; missing runtime identity never earns credit.\"],\"revision\":\"307f7e0c11f93094003bef6b566676f605b391f33c46c6498fd3e68e465e3f02\",\"inheritance\":{\"from\":\"run_69917813fb941a83\",\"skipped\":[]},\"view\":\"assertions\",\"file\":null,\"needsAttention\":false,\"scope\":\"summary covers the whole run with matching current source; --file filters items only\",\"workingTree\":{\"stale\":false,\"reasons\":[]},\"run\":\"run_27c6de876970ebd0\",\"map\":\"/private<project>/.supercov/runs/run_27c6de876970ebd0/assertions.json\"}}\n"
        },
        {
          "args": [
            "runs",
            "run_27c6de876970ebd0",
            "assertions",
            "report",
            "--view",
            "statements",
            "--json"
          ],
          "stdout": "{\"schemaVersion\":1,\"ok\":true,\"command\":\"coverage.assertions\",\"data\":{\"items\":[{\"id\":\"rs:statement:18b619d11d2ef124970410bd\",\"file\":\"tests/session.rs\",\"line\":18,\"at\":{\"file\":\"tests/session.rs\",\"line\":18,\"column\":5,\"text\":\"let order = checkout(true, true, 25, 2);\"},\"covered\":true,\"tests\":[\"tests/session.rs::rejects_expired_session\"],\"declared\":false,\"asserted\":false,\"flows\":[],\"executionEvidence\":{\"anyExecution\":true,\"passingTests\":[\"tests/session.rs::rejects_expired_session\"],\"outsidePassingTests\":[]}},{\"id\":\"rs:statement:3287ecbaf5bebc2648f095a1\",\"file\":\"tests/session.rs\",\"line\":12,\"at\":{\"file\":\"tests/session.rs\",\"line\":12,\"column\":5,\"text\":\"let order = checkout(false, false, 25, 2);\"},\"covered\":true,\"tests\":[\"tests/session.rs::rejects_signed_out_visitor\"],\"declared\":false,\"asserted\":false,\"flows\":[],\"executionEvidence\":{\"anyExecution\":true,\"passingTests\":[\"tests/session.rs::rejects_signed_out_visitor\"],\"outsidePassingTests\":[]}},{\"id\":\"rs:statement:44a06f5dab182cf8350c65d9\",\"file\":\"src/lib.rs\",\"line\":7,\"at\":{\"file\":\"src/lib.rs\",\"line\":7,\"column\":5,\"text\":\"Order { status: \\\"denied\\\", total: 0 }\"},\"covered\":true,\"tests\":[\"tests/session.rs::rejects_expired_session\",\"tests/session.rs::rejects_signed_out_visitor\"],\"declared\":false,\"asserted\":false,\"flows\":[],\"executionEvidence\":{\"anyExecution\":true,\"passingTests\":[\"tests/session.rs::rejects_expired_session\",\"tests/session.rs::rejects_signed_out_visitor\"],\"outsidePassingTests\":[]}},{\"id\":\"rs:statement:64ad2b23943bb4500ebc680d\",\"file\":\"tests/session.rs\",\"line\":19,\"at\":{\"file\":\"tests/session.rs\",\"line\":19,\"column\":5,\"text\":\"assert_eq!(order.status, \\\"denied\\\");\"},\"covered\":true,\"tests\":[\"tests/session.rs::rejects_expired_session\"],\"declared\":false,\"asserted\":false,\"flows\":[],\"executionEvidence\":{\"anyExecution\":true,\"passingTests\":[\"tests/session.rs::rejects_expired_session\"],\"outsidePassingTests\":[]}},{\"id\":\"rs:statement:805b0c8db72a244eca94624f\",\"file\":\"src/lib.rs\",\"line\":3,\"at\":{\"file\":\"src/lib.rs\",\"line\":3,\"column\":5,\"text\":\"if signed_in && !expired {\\n        let total = price * quantity;\\n        return Order { status: \\\"confirmed\\\", total };\\n    }\"},\"covered\":true,\"tests\":[\"tests/session.rs::confirms_order\",\"tests/session.rs::rejects_expired_session\",\"tests/session.rs::rejects_signed_out_visitor\"],\"declared\":true,\"asserted\":false,\"flows\":[],\"executionEvidence\":{\"anyExecution\":true,\"passingTests\":[\"tests/session.rs::confirms_order\",\"tests/session.rs::rejects_expired_session\",\"tests/session.rs::rejects_signed_out_visitor\"],\"outsidePassingTests\":[]}},{\"id\":\"rs:statement:88df00180dd770f27b2e1cd6\",\"file\":\"tests/session.rs\",\"line\":6,\"at\":{\"file\":\"tests/session.rs\",\"line\":6,\"column\":5,\"text\":\"assert_eq!(order.status, \\\"confirmed\\\");\"},\"covered\":true,\"tests\":[\"tests/session.rs::confirms_order\"],\"declared\":false,\"asserted\":false,\"flows\":[],\"executionEvidence\":{\"anyExecution\":true,\"passingTests\":[\"tests/session.rs::confirms_order\"],\"outsidePassingTests\":[]}},{\"id\":\"rs:statement:c24ead84cd3c9e860cb7bd92\",\"file\":\"src/lib.rs\",\"line\":5,\"at\":{\"file\":\"src/lib.rs\",\"line\":5,\"column\":9,\"text\":\"return Order { status: \\\"confirmed\\\", total };\"},\"covered\":true,\"tests\":[\"tests/session.rs::confirms_order\"],\"declared\":true,\"asserted\":false,\"flows\":[],\"executionEvidence\":{\"anyExecution\":true,\"passingTests\":[\"tests/session.rs::confirms_order\"],\"outsidePassingTests\":[]}},{\"id\":\"rs:statement:ddb111362126076b264323cb\",\"file\":\"src/lib.rs\",\"line\":4,\"at\":{\"file\":\"src/lib.rs\",\"line\":4,\"column\":9,\"text\":\"let total = price * quantity;\"},\"covered\":true,\"tests\":[\"tests/session.rs::confirms_order\"],\"declared\":false,\"asserted\":false,\"flows\":[],\"executionEvidence\":{\"anyExecution\":true,\"passingTests\":[\"tests/session.rs::confirms_order\"],\"outsidePassingTests\":[]}},{\"id\":\"rs:statement:e8296ae489b20b2689825053\",\"file\":\"tests/session.rs\",\"line\":7,\"at\":{\"file\":\"tests/session.rs\",\"line\":7,\"column\":5,\"text\":\"assert_eq!(order.total, 50);\"},\"covered\":true,\"tests\":[\"tests/session.rs::confirms_order\"],\"declared\":false,\"asserted\":false,\"flows\":[],\"executionEvidence\":{\"anyExecution\":true,\"passingTests\":[\"tests/session.rs::confirms_order\"],\"outsidePassingTests\":[]}},{\"id\":\"rs:statement:ead26cf0e0a742ac76ca36f1\",\"file\":\"tests/session.rs\",\"line\":13,\"at\":{\"file\":\"tests/session.rs\",\"line\":13,\"column\":5,\"text\":\"assert_eq!(order.status, \\\"denied\\\");\"},\"covered\":true,\"tests\":[\"tests/session.rs::rejects_signed_out_visitor\"],\"declared\":false,\"asserted\":false,\"flows\":[],\"executionEvidence\":{\"anyExecution\":true,\"passingTests\":[\"tests/session.rs::rejects_signed_out_visitor\"],\"outsidePassingTests\":[]}},{\"id\":\"rs:statement:fb34957213f76dc77c3880f6\",\"file\":\"tests/session.rs\",\"line\":5,\"at\":{\"file\":\"tests/session.rs\",\"line\":5,\"column\":5,\"text\":\"let order = checkout(true, false, 25, 2);\"},\"covered\":true,\"tests\":[\"tests/session.rs::confirms_order\"],\"declared\":true,\"asserted\":false,\"flows\":[],\"executionEvidence\":{\"anyExecution\":true,\"passingTests\":[\"tests/session.rs::confirms_order\"],\"outsidePassingTests\":[]}}],\"pagination\":{\"offset\":0,\"returned\":11,\"total\":11,\"nextOffset\":null},\"summary\":{\"status\":\"pending\",\"reason\":\"Source changes need impact assessment\",\"pendingChanges\":1,\"metric\":\"measured statements\",\"statements\":{\"asserted\":0,\"declared\":3,\"total\":11,\"percentage\":null},\"assertions\":4,\"inventoryAssertions\":4,\"missingInventoryAssertions\":0,\"assertionsWithFlows\":1,\"assertionsWithoutFlows\":3,\"observedAssertionsWithoutCurrentExplanation\":4,\"questions\":0,\"currentFlows\":0,\"draftFlows\":0,\"staleFlows\":1,\"invalidFlows\":0,\"eligibleFlows\":0,\"retiredAssertions\":1,\"unobservedAssertions\":0,\"inventoryFailures\":0,\"unanchoredStatements\":0,\"runPassed\":true,\"lines\":{\"asserted\":0,\"declared\":3,\"total\":11,\"percentage\":null},\"excludedStatements\":0},\"basis\":\"agent-assessed; passing assertion identity and same-test execution required; not mutation resistance\",\"validationErrors\":[],\"limitations\":[\"Syntax inventory covers recognized assertion forms, not every possible custom assertion. Agents may add exact source sites; missing runtime identity never earns credit.\"],\"revision\":\"307f7e0c11f93094003bef6b566676f605b391f33c46c6498fd3e68e465e3f02\",\"inheritance\":{\"from\":\"run_69917813fb941a83\",\"skipped\":[]},\"view\":\"statements\",\"file\":null,\"needsAttention\":false,\"scope\":\"summary covers the whole run with matching current source; --file filters items only\",\"workingTree\":{\"stale\":false,\"reasons\":[]},\"run\":\"run_27c6de876970ebd0\",\"map\":\"/private<project>/.supercov/runs/run_27c6de876970ebd0/assertions.json\"}}\n"
        },
        {
          "args": [
            "runs",
            "run_27c6de876970ebd0",
            "assertions",
            "report",
            "--view",
            "tests",
            "--json"
          ],
          "stdout": "{\"schemaVersion\":1,\"ok\":true,\"command\":\"coverage.assertions\",\"data\":{\"items\":[{\"id\":\"tests/session.rs::confirms_order\",\"file\":\"tests/session.rs\",\"name\":\"tests/session.rs::confirms_order\",\"role\":\"test\",\"outcome\":\"passed\",\"provenance\":{\"runner\":\"rust-libtest\",\"kind\":\"integration\",\"project\":\"session\",\"source\":\"supercov-owned-process-per-test\"},\"hasExecutionEvidence\":true},{\"id\":\"tests/session.rs::rejects_expired_session\",\"file\":\"tests/session.rs\",\"name\":\"tests/session.rs::rejects_expired_session\",\"role\":\"test\",\"outcome\":\"passed\",\"provenance\":{\"runner\":\"rust-libtest\",\"kind\":\"integration\",\"project\":\"session\",\"source\":\"supercov-owned-process-per-test\"},\"hasExecutionEvidence\":true},{\"id\":\"tests/session.rs::rejects_signed_out_visitor\",\"file\":\"tests/session.rs\",\"name\":\"tests/session.rs::rejects_signed_out_visitor\",\"role\":\"test\",\"outcome\":\"passed\",\"provenance\":{\"runner\":\"rust-libtest\",\"kind\":\"integration\",\"project\":\"session\",\"source\":\"supercov-owned-process-per-test\"},\"hasExecutionEvidence\":true}],\"pagination\":{\"offset\":0,\"returned\":3,\"total\":3,\"nextOffset\":null},\"summary\":{\"status\":\"pending\",\"reason\":\"Source changes need impact assessment\",\"pendingChanges\":1,\"metric\":\"measured statements\",\"statements\":{\"asserted\":0,\"declared\":3,\"total\":11,\"percentage\":null},\"assertions\":4,\"inventoryAssertions\":4,\"missingInventoryAssertions\":0,\"assertionsWithFlows\":1,\"assertionsWithoutFlows\":3,\"observedAssertionsWithoutCurrentExplanation\":4,\"questions\":0,\"currentFlows\":0,\"draftFlows\":0,\"staleFlows\":1,\"invalidFlows\":0,\"eligibleFlows\":0,\"retiredAssertions\":1,\"unobservedAssertions\":0,\"inventoryFailures\":0,\"unanchoredStatements\":0,\"runPassed\":true,\"lines\":{\"asserted\":0,\"declared\":3,\"total\":11,\"percentage\":null},\"excludedStatements\":0},\"basis\":\"agent-assessed; passing assertion identity and same-test execution required; not mutation resistance\",\"validationErrors\":[],\"limitations\":[\"Syntax inventory covers recognized assertion forms, not every possible custom assertion. Agents may add exact source sites; missing runtime identity never earns credit.\"],\"revision\":\"307f7e0c11f93094003bef6b566676f605b391f33c46c6498fd3e68e465e3f02\",\"inheritance\":{\"from\":\"run_69917813fb941a83\",\"skipped\":[]},\"view\":\"tests\",\"file\":null,\"needsAttention\":false,\"scope\":\"summary covers the whole run with matching current source; --file filters items only\",\"workingTree\":{\"stale\":false,\"reasons\":[]},\"run\":\"run_27c6de876970ebd0\",\"map\":\"/private<project>/.supercov/runs/run_27c6de876970ebd0/assertions.json\"}}\n"
        },
        {
          "args": [
            "runs",
            "run_27c6de876970ebd0",
            "assertions",
            "report",
            "--view",
            "changes",
            "--json"
          ],
          "stdout": "{\"schemaVersion\":1,\"ok\":true,\"command\":\"coverage.assertions\",\"data\":{\"items\":[{\"id\":\"c_d975342b2ebca53328f571aa\",\"file\":\"tests/session.rs\",\"before\":\"f8e57396ce58e19487a037dd5cd0ba37e306c1bb055ff10d59b47199a65e460e\",\"after\":\"a525ef91dc1c2f7f3ec259d3158691b925bee54ec8cb9e56de6b76cdce522290\",\"reason\":\"captured source file changed\",\"knownFlows\":[\"a_cc7afd93fd562becf44d/returned-status\",\"a_e46730a73a917875080d/returned-status\"],\"current\":false,\"assessment\":null,\"errors\":[],\"expectedBasis\":null}],\"pagination\":{\"offset\":0,\"returned\":1,\"total\":1,\"nextOffset\":null},\"summary\":{\"status\":\"pending\",\"reason\":\"Source changes need impact assessment\",\"pendingChanges\":1,\"metric\":\"measured statements\",\"statements\":{\"asserted\":0,\"declared\":3,\"total\":11,\"percentage\":null},\"assertions\":4,\"inventoryAssertions\":4,\"missingInventoryAssertions\":0,\"assertionsWithFlows\":1,\"assertionsWithoutFlows\":3,\"observedAssertionsWithoutCurrentExplanation\":4,\"questions\":0,\"currentFlows\":0,\"draftFlows\":0,\"staleFlows\":1,\"invalidFlows\":0,\"eligibleFlows\":0,\"retiredAssertions\":1,\"unobservedAssertions\":0,\"inventoryFailures\":0,\"unanchoredStatements\":0,\"runPassed\":true,\"lines\":{\"asserted\":0,\"declared\":3,\"total\":11,\"percentage\":null},\"excludedStatements\":0},\"basis\":\"agent-assessed; passing assertion identity and same-test execution required; not mutation resistance\",\"validationErrors\":[],\"limitations\":[\"Syntax inventory covers recognized assertion forms, not every possible custom assertion. Agents may add exact source sites; missing runtime identity never earns credit.\"],\"revision\":\"307f7e0c11f93094003bef6b566676f605b391f33c46c6498fd3e68e465e3f02\",\"inheritance\":{\"from\":\"run_69917813fb941a83\",\"skipped\":[]},\"view\":\"changes\",\"file\":null,\"needsAttention\":false,\"scope\":\"summary covers the whole run with matching current source; --file filters items only\",\"workingTree\":{\"stale\":false,\"reasons\":[]},\"run\":\"run_27c6de876970ebd0\",\"map\":\"/private<project>/.supercov/runs/run_27c6de876970ebd0/assertions.json\"}}\n"
        },
        {
          "args": [
            "runs",
            "run_27c6de876970ebd0",
            "assertions",
            "validate",
            "--json"
          ],
          "stdout": "{\"schemaVersion\":1,\"ok\":true,\"command\":\"coverage.assertions\",\"data\":{\"valid\":true,\"stage\":\"references\",\"errors\":[],\"flows\":[{\"id\":\"a_e46730a73a917875080d/returned-status\",\"expectedBasis\":\"scov2:e45105f1cc0d275754b1fe6866efe1b60e611144d5de2f19a517dcbaeadd1e30\",\"reasons\":[\"dependency file changed or removed: tests/session.rs\",\"draft: input acknowledgement not recorded\"]},{\"id\":\"a_2dabf2d7f3d34c9085ec/calculated-total\",\"expectedBasis\":\"scov2:6b062b7802b9308374a39ba958c08b3a8a5f9dba94072818cadf51cb48e8347e\",\"reasons\":[\"draft: input acknowledgement not recorded\"]},{\"id\":\"a_23bf894d3d454c4563ba/returned-status\",\"expectedBasis\":\"scov2:51667df2ae46e6491706d7af7baa0160fd2651f3f461d30c6b0d060e55ef2382\",\"reasons\":[\"draft: input acknowledgement not recorded\"]},{\"id\":\"a_4c95b2143d90a8c7bb15/returned-status\",\"expectedBasis\":\"scov2:f7f5187f2fb0ad46eecdfb38a932bf52ae2737b5813813de2fb81e77f04d3a27\",\"reasons\":[\"draft: input acknowledgement not recorded\"]}],\"changes\":[{\"id\":\"c_d975342b2ebca53328f571aa\",\"file\":\"tests/session.rs\",\"before\":\"f8e57396ce58e19487a037dd5cd0ba37e306c1bb055ff10d59b47199a65e460e\",\"after\":\"a525ef91dc1c2f7f3ec259d3158691b925bee54ec8cb9e56de6b76cdce522290\",\"reason\":\"captured source file changed\",\"knownFlows\":[\"a_cc7afd93fd562becf44d/returned-status\",\"a_e46730a73a917875080d/returned-status\"],\"current\":false,\"assessment\":{\"id\":\"c_d975342b2ebca53328f571aa\",\"basis\":null,\"affectedFlows\":[\"a_e46730a73a917875080d/returned-status\"],\"explanation\":\"Only the fixture test file changed. The current test inputs and assertions have been reviewed against this run’s mappings. The application source is unchanged.\"},\"errors\":[],\"expectedBasis\":\"scov2:ba6c6b97b819146d45fee1679780be518e3bf1b24fe833f06658f084bf9b61f1\"}],\"meaning\":\"Authored graph references and input acknowledgements only; no semantic proof or completeness claim\",\"revision\":\"7c7dd020bf6379c67f13b4c2f610f190a9c879d796a2098cdc5a132ab8b91580\",\"workingTree\":{\"stale\":false,\"reasons\":[]},\"run\":\"run_27c6de876970ebd0\",\"map\":\"/private<project>/.supercov/runs/run_27c6de876970ebd0/assertions.json\"}}\n"
        },
        {
          "args": [
            "runs",
            "run_27c6de876970ebd0",
            "assertions",
            "validate",
            "--json"
          ],
          "stdout": "{\"schemaVersion\":1,\"ok\":true,\"command\":\"coverage.assertions\",\"data\":{\"valid\":true,\"stage\":\"references\",\"errors\":[],\"flows\":[{\"id\":\"a_e46730a73a917875080d/returned-status\",\"expectedBasis\":\"scov2:6e9c78cefe075ee092e240b0ee0fc87c20f92c265251dacd071747d6c53d07d1\",\"reasons\":[\"dependency file changed or removed: tests/session.rs\",\"draft: input acknowledgement not recorded\"]},{\"id\":\"a_2dabf2d7f3d34c9085ec/calculated-total\",\"expectedBasis\":\"scov2:6b062b7802b9308374a39ba958c08b3a8a5f9dba94072818cadf51cb48e8347e\",\"reasons\":[\"draft: input acknowledgement not recorded\"]},{\"id\":\"a_23bf894d3d454c4563ba/returned-status\",\"expectedBasis\":\"scov2:51667df2ae46e6491706d7af7baa0160fd2651f3f461d30c6b0d060e55ef2382\",\"reasons\":[\"draft: input acknowledgement not recorded\"]},{\"id\":\"a_4c95b2143d90a8c7bb15/returned-status\",\"expectedBasis\":\"scov2:f7f5187f2fb0ad46eecdfb38a932bf52ae2737b5813813de2fb81e77f04d3a27\",\"reasons\":[\"draft: input acknowledgement not recorded\"]}],\"changes\":[{\"id\":\"c_d975342b2ebca53328f571aa\",\"file\":\"tests/session.rs\",\"before\":\"f8e57396ce58e19487a037dd5cd0ba37e306c1bb055ff10d59b47199a65e460e\",\"after\":\"a525ef91dc1c2f7f3ec259d3158691b925bee54ec8cb9e56de6b76cdce522290\",\"reason\":\"captured source file changed\",\"knownFlows\":[\"a_cc7afd93fd562becf44d/returned-status\",\"a_e46730a73a917875080d/returned-status\"],\"current\":true,\"assessment\":{\"id\":\"c_d975342b2ebca53328f571aa\",\"basis\":\"scov2:ba6c6b97b819146d45fee1679780be518e3bf1b24fe833f06658f084bf9b61f1\",\"affectedFlows\":[\"a_e46730a73a917875080d/returned-status\"],\"explanation\":\"Only the fixture test file changed. The current test inputs and assertions have been reviewed against this run’s mappings. The application source is unchanged.\"},\"errors\":[],\"expectedBasis\":\"scov2:ba6c6b97b819146d45fee1679780be518e3bf1b24fe833f06658f084bf9b61f1\"}],\"meaning\":\"Authored graph references and input acknowledgements only; no semantic proof or completeness claim\",\"revision\":\"76afc29f6e4c99072ef3642ee3a1ebcc55024e77beafbbf22d572d09bb52540e\",\"workingTree\":{\"stale\":false,\"reasons\":[]},\"run\":\"run_27c6de876970ebd0\",\"map\":\"/private<project>/.supercov/runs/run_27c6de876970ebd0/assertions.json\"}}\n"
        },
        {
          "args": [
            "runs",
            "run_27c6de876970ebd0",
            "assertions",
            "check",
            "--require-mappings"
          ],
          "stdout": "{\n  \"summary\": {\n    \"status\": \"available\",\n    \"reason\": \"Agent-assessed statements; mapping completeness is unknown\",\n    \"pendingChanges\": 0,\n    \"metric\": \"measured statements\",\n    \"statements\": {\n      \"asserted\": 7,\n      \"declared\": 7,\n      \"total\": 11,\n      \"percentage\": 63.63636363636363\n    },\n    \"assertions\": 4,\n    \"inventoryAssertions\": 4,\n    \"missingInventoryAssertions\": 0,\n    \"assertionsWithFlows\": 4,\n    \"assertionsWithoutFlows\": 0,\n    \"observedAssertionsWithoutCurrentExplanation\": 0,\n    \"questions\": 0,\n    \"currentFlows\": 4,\n    \"draftFlows\": 0,\n    \"staleFlows\": 0,\n    \"invalidFlows\": 0,\n    \"eligibleFlows\": 4,\n    \"retiredAssertions\": 1,\n    \"unobservedAssertions\": 0,\n    \"inventoryFailures\": 0,\n    \"unanchoredStatements\": 0,\n    \"runPassed\": true,\n    \"lines\": {\n      \"asserted\": 7,\n      \"declared\": 7,\n      \"total\": 11,\n      \"percentage\": 63.63636363636363\n    },\n    \"excludedStatements\": 0\n  },\n  \"basis\": \"agent-assessed; passing assertion identity and same-test execution required; not mutation resistance\",\n  \"validationErrors\": [],\n  \"limitations\": [\n    \"Syntax inventory covers recognized assertion forms, not every possible custom assertion. Agents may add exact source sites; missing runtime identity never earns credit.\"\n  ],\n  \"revision\": \"49d66c678c9524212bb15dae286d69f40c05b2911faa8c6ea3600656f46c3724\",\n  \"inheritance\": {\n    \"from\": \"run_69917813fb941a83\",\n    \"skipped\": []\n  },\n  \"view\": \"summary\",\n  \"file\": null,\n  \"needsAttention\": false,\n  \"scope\": \"summary covers the whole run with matching current source; --file filters items only\",\n  \"workingTree\": {\n    \"stale\": false,\n    \"reasons\": []\n  },\n  \"valid\": true,\n  \"failures\": [],\n  \"requirements\": {\n    \"mappings\": true,\n    \"observed\": false,\n    \"minimum\": null\n  },\n  \"run\": \"run_27c6de876970ebd0\",\n  \"map\": \"/private<project>/.supercov/runs/run_27c6de876970ebd0/assertions.json\"\n}\n"
        },
        {
          "args": [
            "runs",
            "run_27c6de876970ebd0"
          ],
          "stdout": "run run_27c6de876970ebd0\ncommand: cargo test\n\nCoverage\n  Lines      100.00% (15/15)\n  Branches   100.00% (6/6)\n  MC/DC      100.00% (2/2)\nAssertions 63.64% (7/11) — agent-assessed statements, whole run\n  4 assertions with flows; 0 without; 4 current flows; 0 stale; 0 draft\n\nBy test kind\n  integration     3 test(s)  lines 100.00%  branches 100.00%  MC/DC 100.00%\n\nMeasurement\n  Instrumentation  Complete for the measured command and coverage model\n  Scope            Only code reached by the wrapped command is observed; this status does not prove every project test suite was run.\n  Command outputs  /private<project>/.supercov/workspaces/workspace/supercov-homepage-recording-WMtsOF\n\nTests\n  Total       3\n  Passed      3\n\nRemaining\n  Files with uncovered code         0\n  Files with measurement limits     0\n\nRuntime action phases (separate from assertion mappings)\n  Recorded within action phases      0 lines\n  Other recorded execution           15 lines\n  These runtime phase counts do not include the agent-assessed assertion coverage shown above.\n\nCommands\n  npx supercov runs 'run_27c6de876970ebd0' files\n  npx supercov runs 'run_27c6de876970ebd0' gaps\n  npx supercov runs 'run_27c6de876970ebd0' kinds\n  npx supercov runs 'run_27c6de876970ebd0' runners\n  npx supercov runs 'run_27c6de876970ebd0' scope\n  npx supercov runs run_27c6de876970ebd0 --help\n"
        },
        {
          "args": [
            "runs",
            "run_27c6de876970ebd0",
            "assertions",
            "--json"
          ],
          "stdout": "{\"schemaVersion\":1,\"ok\":true,\"command\":\"coverage.assertions\",\"data\":{\"items\":[{\"observation\":\"Passing assertion occurrence recorded.\",\"id\":\"a_e46730a73a917875080d\",\"at\":{\"file\":\"tests/session.rs\",\"line\":6,\"column\":5,\"text\":\"assert_eq!(order.status, \\\"confirmed\\\")\"},\"questions\":[],\"inMap\":true,\"observes\":[\"The returned status equals confirmed for this test input.\"],\"operations\":[\"assert_eq\"],\"observedPassingTests\":[\"tests/session.rs::confirms_order\"],\"flows\":[{\"id\":\"returned-status\",\"freshness\":\"current\",\"valid\":true,\"current\":true,\"expectedBasis\":\"scov2:6e9c78cefe075ee092e240b0ee0fc87c20f92c265251dacd071747d6c53d07d1\",\"selectors\":[{\"file\":\"tests/session.rs\",\"name\":\"tests/session.rs::confirms_order\",\"status\":\"observed\",\"outcomes\":[\"passed\"],\"reason\":\"A passing assertion occurrence matches this test.\"}],\"questions\":[],\"reasons\":[],\"eligible\":true,\"blockers\":[],\"matchingTests\":[\"tests/session.rs::confirms_order\"],\"creditedStatementLines\":[[\"src/lib.rs\",3],[\"src/lib.rs\",5],[\"tests/session.rs\",5]],\"nodeCredit\":[{\"nodeId\":\"n0\",\"location\":{\"file\":\"src/lib.rs\",\"line\":3,\"column\":5},\"status\":\"credited\",\"statementIds\":[\"rs:statement:805b0c8db72a244eca94624f\"],\"matchingTests\":[\"tests/session.rs::confirms_order\"],\"reasons\":[{\"code\":\"same_test_execution\",\"message\":\"Current agent claim, passing assertion, and statement execution in the same selected test.\"}]},{\"nodeId\":\"n1\",\"location\":{\"file\":\"src/lib.rs\",\"line\":5,\"column\":9},\"status\":\"credited\",\"statementIds\":[\"rs:statement:c24ead84cd3c9e860cb7bd92\"],\"matchingTests\":[\"tests/session.rs::confirms_order\"],\"reasons\":[{\"code\":\"same_test_execution\",\"message\":\"Current agent claim, passing assertion, and statement execution in the same selected test.\"}]},{\"nodeId\":\"n2\",\"location\":{\"file\":\"tests/session.rs\",\"line\":5,\"column\":5},\"status\":\"credited\",\"statementIds\":[\"rs:statement:fb34957213f76dc77c3880f6\"],\"matchingTests\":[\"tests/session.rs::confirms_order\"],\"reasons\":[{\"code\":\"same_test_execution\",\"message\":\"Current agent claim, passing assertion, and statement execution in the same selected test.\"}]}]}]},{\"observation\":\"Passing assertion occurrence recorded.\",\"id\":\"a_2dabf2d7f3d34c9085ec\",\"at\":{\"file\":\"tests/session.rs\",\"line\":7,\"column\":5,\"text\":\"assert_eq!(order.total, 50)\"},\"questions\":[],\"inMap\":true,\"observes\":[\"The total equals 50 for two items at 25.\"],\"operations\":[\"assert_eq\"],\"observedPassingTests\":[\"tests/session.rs::confirms_order\"],\"flows\":[{\"id\":\"calculated-total\",\"freshness\":\"current\",\"valid\":true,\"current\":true,\"expectedBasis\":\"scov2:6b062b7802b9308374a39ba958c08b3a8a5f9dba94072818cadf51cb48e8347e\",\"selectors\":[{\"file\":\"tests/session.rs\",\"name\":\"tests/session.rs::confirms_order\",\"status\":\"observed\",\"outcomes\":[\"passed\"],\"reason\":\"A passing assertion occurrence matches this test.\"}],\"questions\":[],\"reasons\":[],\"eligible\":true,\"blockers\":[],\"matchingTests\":[\"tests/session.rs::confirms_order\"],\"creditedStatementLines\":[[\"src/lib.rs\",4],[\"src/lib.rs\",5],[\"tests/session.rs\",5]],\"nodeCredit\":[{\"nodeId\":\"n0\",\"location\":{\"file\":\"src/lib.rs\",\"line\":4,\"column\":9},\"status\":\"credited\",\"statementIds\":[\"rs:statement:ddb111362126076b264323cb\"],\"matchingTests\":[\"tests/session.rs::confirms_order\"],\"reasons\":[{\"code\":\"same_test_execution\",\"message\":\"Current agent claim, passing assertion, and statement execution in the same selected test.\"}]},{\"nodeId\":\"n1\",\"location\":{\"file\":\"src/lib.rs\",\"line\":5,\"column\":9},\"status\":\"credited\",\"statementIds\":[\"rs:statement:c24ead84cd3c9e860cb7bd92\"],\"matchingTests\":[\"tests/session.rs::confirms_order\"],\"reasons\":[{\"code\":\"same_test_execution\",\"message\":\"Current agent claim, passing assertion, and statement execution in the same selected test.\"}]},{\"nodeId\":\"n2\",\"location\":{\"file\":\"tests/session.rs\",\"line\":5,\"column\":5},\"status\":\"credited\",\"statementIds\":[\"rs:statement:fb34957213f76dc77c3880f6\"],\"matchingTests\":[\"tests/session.rs::confirms_order\"],\"reasons\":[{\"code\":\"same_test_execution\",\"message\":\"Current agent claim, passing assertion, and statement execution in the same selected test.\"}]}]}]},{\"observation\":\"Passing assertion occurrence recorded.\",\"id\":\"a_23bf894d3d454c4563ba\",\"at\":{\"file\":\"tests/session.rs\",\"line\":13,\"column\":5,\"text\":\"assert_eq!(order.status, \\\"denied\\\")\"},\"questions\":[],\"inMap\":true,\"observes\":[\"The returned status equals denied for this test input.\"],\"operations\":[\"assert_eq\"],\"observedPassingTests\":[\"tests/session.rs::rejects_signed_out_visitor\"],\"flows\":[{\"id\":\"returned-status\",\"freshness\":\"current\",\"valid\":true,\"current\":true,\"expectedBasis\":\"scov2:51667df2ae46e6491706d7af7baa0160fd2651f3f461d30c6b0d060e55ef2382\",\"selectors\":[{\"file\":\"tests/session.rs\",\"name\":\"tests/session.rs::rejects_signed_out_visitor\",\"status\":\"observed\",\"outcomes\":[\"passed\"],\"reason\":\"A passing assertion occurrence matches this test.\"}],\"questions\":[],\"reasons\":[],\"eligible\":true,\"blockers\":[],\"matchingTests\":[\"tests/session.rs::rejects_signed_out_visitor\"],\"creditedStatementLines\":[[\"src/lib.rs\",3],[\"src/lib.rs\",7],[\"tests/session.rs\",12]],\"nodeCredit\":[{\"nodeId\":\"n0\",\"location\":{\"file\":\"src/lib.rs\",\"line\":3,\"column\":5},\"status\":\"credited\",\"statementIds\":[\"rs:statement:805b0c8db72a244eca94624f\"],\"matchingTests\":[\"tests/session.rs::rejects_signed_out_visitor\"],\"reasons\":[{\"code\":\"same_test_execution\",\"message\":\"Current agent claim, passing assertion, and statement execution in the same selected test.\"}]},{\"nodeId\":\"n1\",\"location\":{\"file\":\"src/lib.rs\",\"line\":7,\"column\":5},\"status\":\"credited\",\"statementIds\":[\"rs:statement:44a06f5dab182cf8350c65d9\"],\"matchingTests\":[\"tests/session.rs::rejects_signed_out_visitor\"],\"reasons\":[{\"code\":\"same_test_execution\",\"message\":\"Current agent claim, passing assertion, and statement execution in the same selected test.\"}]},{\"nodeId\":\"n2\",\"location\":{\"file\":\"tests/session.rs\",\"line\":12,\"column\":5},\"status\":\"credited\",\"statementIds\":[\"rs:statement:3287ecbaf5bebc2648f095a1\"],\"matchingTests\":[\"tests/session.rs::rejects_signed_out_visitor\"],\"reasons\":[{\"code\":\"same_test_execution\",\"message\":\"Current agent claim, passing assertion, and statement execution in the same selected test.\"}]}]}]},{\"observation\":\"Passing assertion occurrence recorded.\",\"id\":\"a_4c95b2143d90a8c7bb15\",\"at\":{\"file\":\"tests/session.rs\",\"line\":19,\"column\":5,\"text\":\"assert_eq!(order.status, \\\"denied\\\")\"},\"questions\":[],\"inMap\":true,\"observes\":[\"The returned status equals denied for this test input.\"],\"operations\":[\"assert_eq\"],\"observedPassingTests\":[\"tests/session.rs::rejects_expired_session\"],\"flows\":[{\"id\":\"returned-status\",\"freshness\":\"current\",\"valid\":true,\"current\":true,\"expectedBasis\":\"scov2:f7f5187f2fb0ad46eecdfb38a932bf52ae2737b5813813de2fb81e77f04d3a27\",\"selectors\":[{\"file\":\"tests/session.rs\",\"name\":\"tests/session.rs::rejects_expired_session\",\"status\":\"observed\",\"outcomes\":[\"passed\"],\"reason\":\"A passing assertion occurrence matches this test.\"}],\"questions\":[],\"reasons\":[],\"eligible\":true,\"blockers\":[],\"matchingTests\":[\"tests/session.rs::rejects_expired_session\"],\"creditedStatementLines\":[[\"src/lib.rs\",3],[\"src/lib.rs\",7],[\"tests/session.rs\",18]],\"nodeCredit\":[{\"nodeId\":\"n0\",\"location\":{\"file\":\"src/lib.rs\",\"line\":3,\"column\":5},\"status\":\"credited\",\"statementIds\":[\"rs:statement:805b0c8db72a244eca94624f\"],\"matchingTests\":[\"tests/session.rs::rejects_expired_session\"],\"reasons\":[{\"code\":\"same_test_execution\",\"message\":\"Current agent claim, passing assertion, and statement execution in the same selected test.\"}]},{\"nodeId\":\"n1\",\"location\":{\"file\":\"src/lib.rs\",\"line\":7,\"column\":5},\"status\":\"credited\",\"statementIds\":[\"rs:statement:44a06f5dab182cf8350c65d9\"],\"matchingTests\":[\"tests/session.rs::rejects_expired_session\"],\"reasons\":[{\"code\":\"same_test_execution\",\"message\":\"Current agent claim, passing assertion, and statement execution in the same selected test.\"}]},{\"nodeId\":\"n2\",\"location\":{\"file\":\"tests/session.rs\",\"line\":18,\"column\":5},\"status\":\"credited\",\"statementIds\":[\"rs:statement:18b619d11d2ef124970410bd\"],\"matchingTests\":[\"tests/session.rs::rejects_expired_session\"],\"reasons\":[{\"code\":\"same_test_execution\",\"message\":\"Current agent claim, passing assertion, and statement execution in the same selected test.\"}]}]}]}],\"pagination\":{\"offset\":0,\"returned\":4,\"total\":4,\"nextOffset\":null},\"summary\":{\"status\":\"available\",\"reason\":\"Agent-assessed statements; mapping completeness is unknown\",\"pendingChanges\":0,\"metric\":\"measured statements\",\"statements\":{\"asserted\":7,\"declared\":7,\"total\":11,\"percentage\":63.63636363636363},\"assertions\":4,\"inventoryAssertions\":4,\"missingInventoryAssertions\":0,\"assertionsWithFlows\":4,\"assertionsWithoutFlows\":0,\"observedAssertionsWithoutCurrentExplanation\":0,\"questions\":0,\"currentFlows\":4,\"draftFlows\":0,\"staleFlows\":0,\"invalidFlows\":0,\"eligibleFlows\":4,\"retiredAssertions\":1,\"unobservedAssertions\":0,\"inventoryFailures\":0,\"unanchoredStatements\":0,\"runPassed\":true,\"lines\":{\"asserted\":7,\"declared\":7,\"total\":11,\"percentage\":63.63636363636363},\"excludedStatements\":0},\"basis\":\"agent-assessed; passing assertion identity and same-test execution required; not mutation resistance\",\"validationErrors\":[],\"limitations\":[\"Syntax inventory covers recognized assertion forms, not every possible custom assertion. Agents may add exact source sites; missing runtime identity never earns credit.\"],\"revision\":\"49d66c678c9524212bb15dae286d69f40c05b2911faa8c6ea3600656f46c3724\",\"inheritance\":{\"from\":\"run_69917813fb941a83\",\"skipped\":[]},\"view\":\"assertions\",\"file\":null,\"needsAttention\":false,\"scope\":\"summary covers the whole run with matching current source; --file filters items only\",\"workingTree\":{\"stale\":false,\"reasons\":[]},\"run\":\"run_27c6de876970ebd0\",\"map\":\"/private<project>/.supercov/runs/run_27c6de876970ebd0/assertions.json\"}}\n"
        },
        {
          "args": [
            "runs",
            "run_27c6de876970ebd0"
          ],
          "stdout": "run run_27c6de876970ebd0\ncommand: cargo test\n\nCoverage\n  Lines      100.00% (15/15)\n  Branches   100.00% (6/6)\n  MC/DC      100.00% (2/2)\nAssertions 63.64% (7/11) — agent-assessed statements, whole run\n  4 assertions with flows; 0 without; 4 current flows; 0 stale; 0 draft\n\nBy test kind\n  integration     3 test(s)  lines 100.00%  branches 100.00%  MC/DC 100.00%\n\nMeasurement\n  Instrumentation  Complete for the measured command and coverage model\n  Scope            Only code reached by the wrapped command is observed; this status does not prove every project test suite was run.\n  Command outputs  /private<project>/.supercov/workspaces/workspace/supercov-homepage-recording-WMtsOF\n\nTests\n  Total       3\n  Passed      3\n\nRemaining\n  Files with uncovered code         0\n  Files with measurement limits     0\n\nRuntime action phases (separate from assertion mappings)\n  Recorded within action phases      0 lines\n  Other recorded execution           15 lines\n  These runtime phase counts do not include the agent-assessed assertion coverage shown above.\n\nCommands\n  npx supercov runs 'run_27c6de876970ebd0' files\n  npx supercov runs 'run_27c6de876970ebd0' gaps\n  npx supercov runs 'run_27c6de876970ebd0' kinds\n  npx supercov runs 'run_27c6de876970ebd0' runners\n  npx supercov runs 'run_27c6de876970ebd0' scope\n  npx supercov runs run_27c6de876970ebd0 --help\n"
        },
        {
          "args": [
            "runs",
            "run_27c6de876970ebd0",
            "gaps",
            "--limit",
            "5"
          ],
          "stdout": "Coverage gaps — only files with unresolved obligations\n\n\n\nshowing 0-0 of 0\n"
        },
        {
          "args": [
            "runs",
            "run_27c6de876970ebd0",
            "file",
            "src/lib.rs"
          ],
          "stdout": "src/lib.rs\n\nUncovered\n  Lines not executed              0\n  Statements not executed         0\n  Functions not called            0\n  Branch outcomes not taken       0\n  MC/DC conditions not shown      0\n  Measurement limitations         0\n\nTests touching this file: 3\n\nGaps\n  NOT COVERED = line never executed; PARTIAL = line executed but some behavior remains untested\n LINE  STATUS        SOURCE\nshowing 0-0 of 0 gap lines\n"
        },
        {
          "args": [
            "runs",
            "run_27c6de876970ebd0",
            "line",
            "src/lib.rs:4"
          ],
          "stdout": "src/lib.rs:4\n\nSource\n      4 | let total = price * quantity;\n\nStatus\n  COVERED\n  Evidence: execution only\n\nCoverage details\n  Statement at column 8 — covered (1 covering tests)\n    `let total = price * quantity;`\n\nCovering tests\n  tests/session.rs::confirms_order [tests/session.rs::confirms_order] — integration/rust-libtest\n"
        },
        {
          "args": [
            "runs",
            "run_27c6de876970ebd0",
            "decision",
            "src/lib.rs:3"
          ],
          "stdout": "rs:decision:af214c70a2296205a734dadf  src/lib.rs:3:7\nsigned_in && !expired\nC1 covered: signed_in\nC2 covered: !expired\nconfidence executed\nvectors:\n  TT -> T  tests=1 confidence=executed\n  TF -> F  tests=1 confidence=executed\n  F- -> F  tests=1 confidence=executed\nshowing 1-3 of 3 conditions/vectors/tests per decision\n"
        },
        {
          "args": [
            "runs",
            "run_27c6de876970ebd0",
            "assertions",
            "report",
            "--view",
            "statements",
            "--file",
            "src/lib.rs"
          ],
          "stdout": "{\n  \"items\": [\n    {\n      \"id\": \"rs:statement:44a06f5dab182cf8350c65d9\",\n      \"file\": \"src/lib.rs\",\n      \"line\": 7,\n      \"at\": {\n        \"file\": \"src/lib.rs\",\n        \"line\": 7,\n        \"column\": 5,\n        \"text\": \"Order { status: \\\"denied\\\", total: 0 }\"\n      },\n      \"covered\": true,\n      \"tests\": [\n        \"tests/session.rs::rejects_expired_session\",\n        \"tests/session.rs::rejects_signed_out_visitor\"\n      ],\n      \"declared\": true,\n      \"asserted\": true,\n      \"flows\": [\n        \"a_23bf894d3d454c4563ba/returned-status\",\n        \"a_4c95b2143d90a8c7bb15/returned-status\"\n      ],\n      \"executionEvidence\": {\n        \"anyExecution\": true,\n        \"passingTests\": [\n          \"tests/session.rs::rejects_expired_session\",\n          \"tests/session.rs::rejects_signed_out_visitor\"\n        ],\n        \"outsidePassingTests\": []\n      }\n    },\n    {\n      \"id\": \"rs:statement:805b0c8db72a244eca94624f\",\n      \"file\": \"src/lib.rs\",\n      \"line\": 3,\n      \"at\": {\n        \"file\": \"src/lib.rs\",\n        \"line\": 3,\n        \"column\": 5,\n        \"text\": \"if signed_in && !expired {\\n        let total = price * quantity;\\n        return Order { status: \\\"confirmed\\\", total };\\n    }\"\n      },\n      \"covered\": true,\n      \"tests\": [\n        \"tests/session.rs::confirms_order\",\n        \"tests/session.rs::rejects_expired_session\",\n        \"tests/session.rs::rejects_signed_out_visitor\"\n      ],\n      \"declared\": true,\n      \"asserted\": true,\n      \"flows\": [\n        \"a_23bf894d3d454c4563ba/returned-status\",\n        \"a_4c95b2143d90a8c7bb15/returned-status\",\n        \"a_e46730a73a917875080d/returned-status\"\n      ],\n      \"executionEvidence\": {\n        \"anyExecution\": true,\n        \"passingTests\": [\n          \"tests/session.rs::confirms_order\",\n          \"tests/session.rs::rejects_expired_session\",\n          \"tests/session.rs::rejects_signed_out_visitor\"\n        ],\n        \"outsidePassingTests\": []\n      }\n    },\n    {\n      \"id\": \"rs:statement:c24ead84cd3c9e860cb7bd92\",\n      \"file\": \"src/lib.rs\",\n      \"line\": 5,\n      \"at\": {\n        \"file\": \"src/lib.rs\",\n        \"line\": 5,\n        \"column\": 9,\n        \"text\": \"return Order { status: \\\"confirmed\\\", total };\"\n      },\n      \"covered\": true,\n      \"tests\": [\n        \"tests/session.rs::confirms_order\"\n      ],\n      \"declared\": true,\n      \"asserted\": true,\n      \"flows\": [\n        \"a_2dabf2d7f3d34c9085ec/calculated-total\",\n        \"a_e46730a73a917875080d/returned-status\"\n      ],\n      \"executionEvidence\": {\n        \"anyExecution\": true,\n        \"passingTests\": [\n          \"tests/session.rs::confirms_order\"\n        ],\n        \"outsidePassingTests\": []\n      }\n    },\n    {\n      \"id\": \"rs:statement:ddb111362126076b264323cb\",\n      \"file\": \"src/lib.rs\",\n      \"line\": 4,\n      \"at\": {\n        \"file\": \"src/lib.rs\",\n        \"line\": 4,\n        \"column\": 9,\n        \"text\": \"let total = price * quantity;\"\n      },\n      \"covered\": true,\n      \"tests\": [\n        \"tests/session.rs::confirms_order\"\n      ],\n      \"declared\": true,\n      \"asserted\": true,\n      \"flows\": [\n        \"a_2dabf2d7f3d34c9085ec/calculated-total\"\n      ],\n      \"executionEvidence\": {\n        \"anyExecution\": true,\n        \"passingTests\": [\n          \"tests/session.rs::confirms_order\"\n        ],\n        \"outsidePassingTests\": []\n      }\n    }\n  ],\n  \"pagination\": {\n    \"offset\": 0,\n    \"returned\": 4,\n    \"total\": 4,\n    \"nextOffset\": null\n  },\n  \"summary\": {\n    \"status\": \"available\",\n    \"reason\": \"Agent-assessed statements; mapping completeness is unknown\",\n    \"pendingChanges\": 0,\n    \"metric\": \"measured statements\",\n    \"statements\": {\n      \"asserted\": 7,\n      \"declared\": 7,\n      \"total\": 11,\n      \"percentage\": 63.63636363636363\n    },\n    \"assertions\": 4,\n    \"inventoryAssertions\": 4,\n    \"missingInventoryAssertions\": 0,\n    \"assertionsWithFlows\": 4,\n    \"assertionsWithoutFlows\": 0,\n    \"observedAssertionsWithoutCurrentExplanation\": 0,\n    \"questions\": 0,\n    \"currentFlows\": 4,\n    \"draftFlows\": 0,\n    \"staleFlows\": 0,\n    \"invalidFlows\": 0,\n    \"eligibleFlows\": 4,\n    \"retiredAssertions\": 1,\n    \"unobservedAssertions\": 0,\n    \"inventoryFailures\": 0,\n    \"unanchoredStatements\": 0,\n    \"runPassed\": true,\n    \"lines\": {\n      \"asserted\": 7,\n      \"declared\": 7,\n      \"total\": 11,\n      \"percentage\": 63.63636363636363\n    },\n    \"excludedStatements\": 0\n  },\n  \"basis\": \"agent-assessed; passing assertion identity and same-test execution required; not mutation resistance\",\n  \"validationErrors\": [],\n  \"limitations\": [\n    \"Syntax inventory covers recognized assertion forms, not every possible custom assertion. Agents may add exact source sites; missing runtime identity never earns credit.\"\n  ],\n  \"revision\": \"49d66c678c9524212bb15dae286d69f40c05b2911faa8c6ea3600656f46c3724\",\n  \"inheritance\": {\n    \"from\": \"run_69917813fb941a83\",\n    \"skipped\": []\n  },\n  \"view\": \"statements\",\n  \"file\": \"src/lib.rs\",\n  \"needsAttention\": false,\n  \"scope\": \"summary covers the whole run with matching current source; --file filters items only\",\n  \"workingTree\": {\n    \"stale\": false,\n    \"reasons\": []\n  },\n  \"run\": \"run_27c6de876970ebd0\",\n  \"map\": \"/private<project>/.supercov/runs/run_27c6de876970ebd0/assertions.json\"\n}\n"
        },
        {
          "args": [
            "diff",
            "run_69917813fb941a83",
            "run_27c6de876970ebd0"
          ],
          "stdout": "run_69917813fb941a83 -> run_27c6de876970ebd0\nlines +0pp, branches +0pp, MC/DC +50pp\ngained: 5 lines, 0 branches, 1 MC/DC conditions\nlost: 1 lines, 0 branches, 0 MC/DC conditions\n+ line tests/session.rs:13\n+ line tests/session.rs:17\n+ line tests/session.rs:18\n+ line tests/session.rs:19\n+ line tests/session.rs:7\n+ MC/DC src/lib.rs:3 C2 !expired\nshowing 1-5 of 5 per category\n"
        }
      ],
      "structural": {
        "test": "use checkout_demo::checkout;\n\n#[test]\nfn confirms_order() {\n    let order = checkout(true, false, 25, 2);\n    assert_eq!(order.status, \"confirmed\");\n}\n\n",
        "summary": "run run_fb9660954ad3d437\ncommand: cargo test\n\nCoverage\n  Lines      87.50% (7/8)\n  Branches   50.00% (3/6)\n  MC/DC      0.00% (0/2)\nAssertions not assessed — No recorded flow explanations\n  0 assertions with flows; 1 without; 0 current flows; 0 stale; 0 draft\n\nBy test kind\n  integration     1 test(s)  lines  87.50%  branches  50.00%  MC/DC   0.00%\n\nMeasurement\n  Instrumentation  Complete for the measured command and coverage model\n  Scope            Only code reached by the wrapped command is observed; this status does not prove every project test suite was run.\n  Command outputs  <project>/.supercov/workspaces/workspace/supercov-homepage-recording-WMtsOF\n\nTests\n  Total       1\n  Passed      1\n\nRemaining\n  Files with uncovered code         1\n  Files with measurement limits     0\n\nRuntime action phases (separate from assertion mappings)\n  Recorded within action phases      0 lines\n  Other recorded execution           7 lines\n  These runtime phase counts do not include the agent-assessed assertion coverage shown above.\n\nCommands\n  npx supercov runs 'run_fb9660954ad3d437' files\n  npx supercov runs 'run_fb9660954ad3d437' gaps\n  npx supercov runs 'run_fb9660954ad3d437' kinds\n  npx supercov runs 'run_fb9660954ad3d437' runners\n  npx supercov runs 'run_fb9660954ad3d437' scope\n  npx supercov runs run_fb9660954ad3d437 --help\n",
        "gaps": "Coverage gaps — only files with unresolved obligations\n\nsrc/lib.rs\n  uncovered: lines 1  statements 1  functions 0  branch outcomes 2  MC/DC conditions 2\n\nshowing 1-1 of 1\ninspect file: npx supercov runs 'run_fb9660954ad3d437' file 'src/lib.rs'\n",
        "file": "src/lib.rs\n\nUncovered\n  Lines not executed              1\n  Statements not executed         1\n  Functions not called            0\n  Branch outcomes not taken       2\n  MC/DC conditions not shown      2\n  Measurement limitations         0\n\nTests touching this file: 1\n\nGaps\n  NOT COVERED = line never executed; PARTIAL = line executed but some behavior remains untested\n LINE  STATUS        SOURCE\n    3  PARTIAL       !expired\n       Unobserved: branch outcome not observed: short-circuited\n       Unobserved: branch outcome not observed: false\n       Unobserved: no witness pair shows `signed_in` independently changing the decision result\n       Unobserved: no witness pair shows `!expired` independently changing the decision result\n       Inspect: npx supercov runs 'run_fb9660954ad3d437' line 'src/lib.rs:3'\n    7  NOT COVERED   Order { status: \"denied\", total: 0 }\nshowing 1-2 of 2 gap lines\n",
        "line": "src/lib.rs:4\n\nSource\n      4 | let total = price * quantity;\n\nStatus\n  COVERED\n  Evidence: execution only\n\nCoverage details\n  Statement at column 8 — covered (1 covering tests)\n    `let total = price * quantity;`\n\nCovering tests\n  tests/session.rs::confirms_order [tests/session.rs::confirms_order] — integration/rust-libtest\n",
        "decision": "rs:decision:af214c70a2296205a734dadf  src/lib.rs:3:7\nsigned_in && !expired\nC1 MISSING: signed_in\nC2 MISSING: !expired\nconfidence executed\nvectors:\n  TT -> T  tests=1 confidence=executed\nshowing 1-2 of 2 conditions/vectors/tests per decision\n",
        "assertions": "{\n  \"items\": [\n    {\n      \"id\": \"rs:statement:44a06f5dab182cf8350c65d9\",\n      \"file\": \"src/lib.rs\",\n      \"line\": 7,\n      \"at\": {\n        \"file\": \"src/lib.rs\",\n        \"line\": 7,\n        \"column\": 5,\n        \"text\": \"Order { status: \\\"denied\\\", total: 0 }\"\n      },\n      \"covered\": false,\n      \"tests\": [],\n      \"declared\": false,\n      \"asserted\": false,\n      \"flows\": [],\n      \"executionEvidence\": {\n        \"anyExecution\": false,\n        \"passingTests\": [],\n        \"outsidePassingTests\": []\n      }\n    },\n    {\n      \"id\": \"rs:statement:805b0c8db72a244eca94624f\",\n      \"file\": \"src/lib.rs\",\n      \"line\": 3,\n      \"at\": {\n        \"file\": \"src/lib.rs\",\n        \"line\": 3,\n        \"column\": 5,\n        \"text\": \"if signed_in && !expired {\\n        let total = price * quantity;\\n        return Order { status: \\\"confirmed\\\", total };\\n    }\"\n      },\n      \"covered\": true,\n      \"tests\": [\n        \"tests/session.rs::confirms_order\"\n      ],\n      \"declared\": false,\n      \"asserted\": false,\n      \"flows\": [],\n      \"executionEvidence\": {\n        \"anyExecution\": true,\n        \"passingTests\": [\n          \"tests/session.rs::confirms_order\"\n        ],\n        \"outsidePassingTests\": []\n      }\n    },\n    {\n      \"id\": \"rs:statement:c24ead84cd3c9e860cb7bd92\",\n      \"file\": \"src/lib.rs\",\n      \"line\": 5,\n      \"at\": {\n        \"file\": \"src/lib.rs\",\n        \"line\": 5,\n        \"column\": 9,\n        \"text\": \"return Order { status: \\\"confirmed\\\", total };\"\n      },\n      \"covered\": true,\n      \"tests\": [\n        \"tests/session.rs::confirms_order\"\n      ],\n      \"declared\": false,\n      \"asserted\": false,\n      \"flows\": [],\n      \"executionEvidence\": {\n        \"anyExecution\": true,\n        \"passingTests\": [\n          \"tests/session.rs::confirms_order\"\n        ],\n        \"outsidePassingTests\": []\n      }\n    },\n    {\n      \"id\": \"rs:statement:ddb111362126076b264323cb\",\n      \"file\": \"src/lib.rs\",\n      \"line\": 4,\n      \"at\": {\n        \"file\": \"src/lib.rs\",\n        \"line\": 4,\n        \"column\": 9,\n        \"text\": \"let total = price * quantity;\"\n      },\n      \"covered\": true,\n      \"tests\": [\n        \"tests/session.rs::confirms_order\"\n      ],\n      \"declared\": false,\n      \"asserted\": false,\n      \"flows\": [],\n      \"executionEvidence\": {\n        \"anyExecution\": true,\n        \"passingTests\": [\n          \"tests/session.rs::confirms_order\"\n        ],\n        \"outsidePassingTests\": []\n      }\n    }\n  ],\n  \"pagination\": {\n    \"offset\": 0,\n    \"returned\": 4,\n    \"total\": 4,\n    \"nextOffset\": null\n  },\n  \"summary\": {\n    \"status\": \"notAssessed\",\n    \"reason\": \"No recorded flow explanations\",\n    \"pendingChanges\": 0,\n    \"metric\": \"measured statements\",\n    \"statements\": {\n      \"asserted\": 0,\n      \"declared\": 0,\n      \"total\": 6,\n      \"percentage\": null\n    },\n    \"assertions\": 1,\n    \"inventoryAssertions\": 1,\n    \"missingInventoryAssertions\": 0,\n    \"assertionsWithFlows\": 0,\n    \"assertionsWithoutFlows\": 1,\n    \"observedAssertionsWithoutCurrentExplanation\": 1,\n    \"questions\": 0,\n    \"currentFlows\": 0,\n    \"draftFlows\": 0,\n    \"staleFlows\": 0,\n    \"invalidFlows\": 0,\n    \"eligibleFlows\": 0,\n    \"retiredAssertions\": 0,\n    \"unobservedAssertions\": 0,\n    \"inventoryFailures\": 0,\n    \"unanchoredStatements\": 0,\n    \"runPassed\": true,\n    \"lines\": {\n      \"asserted\": 0,\n      \"declared\": 0,\n      \"total\": 6,\n      \"percentage\": null\n    },\n    \"excludedStatements\": 0\n  },\n  \"basis\": \"agent-assessed; passing assertion identity and same-test execution required; not mutation resistance\",\n  \"validationErrors\": [],\n  \"limitations\": [\n    \"Syntax inventory covers recognized assertion forms, not every possible custom assertion. Agents may add exact source sites; missing runtime identity never earns credit.\"\n  ],\n  \"revision\": \"969363f99855867af5287ec88ce783e5c8d77e2cb54f7243b8b7d2d395e4200d\",\n  \"inheritance\": {\n    \"from\": null,\n    \"skipped\": []\n  },\n  \"view\": \"statements\",\n  \"file\": \"src/lib.rs\",\n  \"needsAttention\": false,\n  \"scope\": \"summary covers the whole run with matching current source; --file filters items only\",\n  \"workingTree\": {\n    \"stale\": false,\n    \"reasons\": []\n  },\n  \"run\": \"run_fb9660954ad3d437\",\n  \"map\": \"<project>/.supercov/runs/run_fb9660954ad3d437/assertions.json\"\n}\n"
      },
      "beforeQueries": {
        "summary": "run run_69917813fb941a83\ncommand: cargo test\n\nCoverage\n  Lines      100.00% (11/11)\n  Branches   100.00% (6/6)\n  MC/DC      50.00% (1/2)\nAssertions 62.50% (5/8) — agent-assessed statements, whole run\n  2 assertions with flows; 0 without; 2 current flows; 0 stale; 0 draft\n\nBy test kind\n  integration     2 test(s)  lines 100.00%  branches 100.00%  MC/DC  50.00%\n\nMeasurement\n  Instrumentation  Complete for the measured command and coverage model\n  Scope            Only code reached by the wrapped command is observed; this status does not prove every project test suite was run.\n  Command outputs  <project>/.supercov/workspaces/workspace/supercov-homepage-recording-WMtsOF\n\nTests\n  Total       2\n  Passed      2\n\nRemaining\n  Files with uncovered code         1\n  Files with measurement limits     0\n\nRuntime action phases (separate from assertion mappings)\n  Recorded within action phases      0 lines\n  Other recorded execution           11 lines\n  These runtime phase counts do not include the agent-assessed assertion coverage shown above.\n\nCommands\n  npx supercov runs 'run_69917813fb941a83' files\n  npx supercov runs 'run_69917813fb941a83' gaps\n  npx supercov runs 'run_69917813fb941a83' kinds\n  npx supercov runs 'run_69917813fb941a83' runners\n  npx supercov runs 'run_69917813fb941a83' scope\n  npx supercov runs run_69917813fb941a83 --help\n",
        "gaps": "Coverage gaps — only files with unresolved obligations\n\nsrc/lib.rs\n  uncovered: lines 0  statements 0  functions 0  branch outcomes 0  MC/DC conditions 1\n\nshowing 1-1 of 1\ninspect file: npx supercov runs 'run_69917813fb941a83' file 'src/lib.rs'\n",
        "file": "src/lib.rs\n\nUncovered\n  Lines not executed              0\n  Statements not executed         0\n  Functions not called            0\n  Branch outcomes not taken       0\n  MC/DC conditions not shown      1\n  Measurement limitations         0\n\nTests touching this file: 2\n\nGaps\n  NOT COVERED = line never executed; PARTIAL = line executed but some behavior remains untested\n LINE  STATUS        SOURCE\n    3  PARTIAL       signed_in && !expired\n       Unobserved: no witness pair shows `!expired` independently changing the decision result\n       Inspect: npx supercov runs 'run_69917813fb941a83' line 'src/lib.rs:3'\nshowing 1-1 of 1 gap lines\n",
        "line": "src/lib.rs:4\n\nSource\n      4 | let total = price * quantity;\n\nStatus\n  COVERED\n  Evidence: execution only\n\nCoverage details\n  Statement at column 8 — covered (1 covering tests)\n    `let total = price * quantity;`\n\nCovering tests\n  tests/session.rs::confirms_order [tests/session.rs::confirms_order] — integration/rust-libtest\n",
        "decision": "rs:decision:af214c70a2296205a734dadf  src/lib.rs:3:7\nsigned_in && !expired\nC1 covered: signed_in\nC2 MISSING: !expired\nconfidence executed\nvectors:\n  TT -> T  tests=1 confidence=executed\n  F- -> F  tests=1 confidence=executed\nshowing 1-2 of 2 conditions/vectors/tests per decision\n",
        "assertions": "{\n  \"items\": [\n    {\n      \"id\": \"rs:statement:44a06f5dab182cf8350c65d9\",\n      \"file\": \"src/lib.rs\",\n      \"line\": 7,\n      \"at\": {\n        \"file\": \"src/lib.rs\",\n        \"line\": 7,\n        \"column\": 5,\n        \"text\": \"Order { status: \\\"denied\\\", total: 0 }\"\n      },\n      \"covered\": true,\n      \"tests\": [\n        \"tests/session.rs::rejects_signed_out_visitor\"\n      ],\n      \"declared\": true,\n      \"asserted\": true,\n      \"flows\": [\n        \"a_cc7afd93fd562becf44d/returned-status\"\n      ],\n      \"executionEvidence\": {\n        \"anyExecution\": true,\n        \"passingTests\": [\n          \"tests/session.rs::rejects_signed_out_visitor\"\n        ],\n        \"outsidePassingTests\": []\n      }\n    },\n    {\n      \"id\": \"rs:statement:805b0c8db72a244eca94624f\",\n      \"file\": \"src/lib.rs\",\n      \"line\": 3,\n      \"at\": {\n        \"file\": \"src/lib.rs\",\n        \"line\": 3,\n        \"column\": 5,\n        \"text\": \"if signed_in && !expired {\\n        let total = price * quantity;\\n        return Order { status: \\\"confirmed\\\", total };\\n    }\"\n      },\n      \"covered\": true,\n      \"tests\": [\n        \"tests/session.rs::confirms_order\",\n        \"tests/session.rs::rejects_signed_out_visitor\"\n      ],\n      \"declared\": true,\n      \"asserted\": true,\n      \"flows\": [\n        \"a_cc7afd93fd562becf44d/returned-status\",\n        \"a_e46730a73a917875080d/returned-status\"\n      ],\n      \"executionEvidence\": {\n        \"anyExecution\": true,\n        \"passingTests\": [\n          \"tests/session.rs::confirms_order\",\n          \"tests/session.rs::rejects_signed_out_visitor\"\n        ],\n        \"outsidePassingTests\": []\n      }\n    },\n    {\n      \"id\": \"rs:statement:c24ead84cd3c9e860cb7bd92\",\n      \"file\": \"src/lib.rs\",\n      \"line\": 5,\n      \"at\": {\n        \"file\": \"src/lib.rs\",\n        \"line\": 5,\n        \"column\": 9,\n        \"text\": \"return Order { status: \\\"confirmed\\\", total };\"\n      },\n      \"covered\": true,\n      \"tests\": [\n        \"tests/session.rs::confirms_order\"\n      ],\n      \"declared\": true,\n      \"asserted\": true,\n      \"flows\": [\n        \"a_e46730a73a917875080d/returned-status\"\n      ],\n      \"executionEvidence\": {\n        \"anyExecution\": true,\n        \"passingTests\": [\n          \"tests/session.rs::confirms_order\"\n        ],\n        \"outsidePassingTests\": []\n      }\n    },\n    {\n      \"id\": \"rs:statement:ddb111362126076b264323cb\",\n      \"file\": \"src/lib.rs\",\n      \"line\": 4,\n      \"at\": {\n        \"file\": \"src/lib.rs\",\n        \"line\": 4,\n        \"column\": 9,\n        \"text\": \"let total = price * quantity;\"\n      },\n      \"covered\": true,\n      \"tests\": [\n        \"tests/session.rs::confirms_order\"\n      ],\n      \"declared\": false,\n      \"asserted\": false,\n      \"flows\": [],\n      \"executionEvidence\": {\n        \"anyExecution\": true,\n        \"passingTests\": [\n          \"tests/session.rs::confirms_order\"\n        ],\n        \"outsidePassingTests\": []\n      }\n    }\n  ],\n  \"pagination\": {\n    \"offset\": 0,\n    \"returned\": 4,\n    \"total\": 4,\n    \"nextOffset\": null\n  },\n  \"summary\": {\n    \"status\": \"available\",\n    \"reason\": \"Agent-assessed statements; mapping completeness is unknown\",\n    \"pendingChanges\": 0,\n    \"metric\": \"measured statements\",\n    \"statements\": {\n      \"asserted\": 5,\n      \"declared\": 5,\n      \"total\": 8,\n      \"percentage\": 62.5\n    },\n    \"assertions\": 2,\n    \"inventoryAssertions\": 2,\n    \"missingInventoryAssertions\": 0,\n    \"assertionsWithFlows\": 2,\n    \"assertionsWithoutFlows\": 0,\n    \"observedAssertionsWithoutCurrentExplanation\": 0,\n    \"questions\": 0,\n    \"currentFlows\": 2,\n    \"draftFlows\": 0,\n    \"staleFlows\": 0,\n    \"invalidFlows\": 0,\n    \"eligibleFlows\": 2,\n    \"retiredAssertions\": 0,\n    \"unobservedAssertions\": 0,\n    \"inventoryFailures\": 0,\n    \"unanchoredStatements\": 0,\n    \"runPassed\": true,\n    \"lines\": {\n      \"asserted\": 5,\n      \"declared\": 5,\n      \"total\": 8,\n      \"percentage\": 62.5\n    },\n    \"excludedStatements\": 0\n  },\n  \"basis\": \"agent-assessed; passing assertion identity and same-test execution required; not mutation resistance\",\n  \"validationErrors\": [],\n  \"limitations\": [\n    \"Syntax inventory covers recognized assertion forms, not every possible custom assertion. Agents may add exact source sites; missing runtime identity never earns credit.\"\n  ],\n  \"revision\": \"7ddb371e6e956f1248f7a0bd195b242512047830c5454ea9a55c051f66a8434f\",\n  \"inheritance\": {\n    \"from\": \"run_fb9660954ad3d437\",\n    \"skipped\": []\n  },\n  \"view\": \"statements\",\n  \"file\": \"src/lib.rs\",\n  \"needsAttention\": false,\n  \"scope\": \"summary covers the whole run with matching current source; --file filters items only\",\n  \"workingTree\": {\n    \"stale\": false,\n    \"reasons\": []\n  },\n  \"run\": \"run_69917813fb941a83\",\n  \"map\": \"<project>/.supercov/runs/run_69917813fb941a83/assertions.json\"\n}\n"
      },
      "afterQueries": {
        "summary": "run run_27c6de876970ebd0\ncommand: cargo test\n\nCoverage\n  Lines      100.00% (15/15)\n  Branches   100.00% (6/6)\n  MC/DC      100.00% (2/2)\nAssertions 63.64% (7/11) — agent-assessed statements, whole run\n  4 assertions with flows; 0 without; 4 current flows; 0 stale; 0 draft\n\nBy test kind\n  integration     3 test(s)  lines 100.00%  branches 100.00%  MC/DC 100.00%\n\nMeasurement\n  Instrumentation  Complete for the measured command and coverage model\n  Scope            Only code reached by the wrapped command is observed; this status does not prove every project test suite was run.\n  Command outputs  <project>/.supercov/workspaces/workspace/supercov-homepage-recording-WMtsOF\n\nTests\n  Total       3\n  Passed      3\n\nRemaining\n  Files with uncovered code         0\n  Files with measurement limits     0\n\nRuntime action phases (separate from assertion mappings)\n  Recorded within action phases      0 lines\n  Other recorded execution           15 lines\n  These runtime phase counts do not include the agent-assessed assertion coverage shown above.\n\nCommands\n  npx supercov runs 'run_27c6de876970ebd0' files\n  npx supercov runs 'run_27c6de876970ebd0' gaps\n  npx supercov runs 'run_27c6de876970ebd0' kinds\n  npx supercov runs 'run_27c6de876970ebd0' runners\n  npx supercov runs 'run_27c6de876970ebd0' scope\n  npx supercov runs run_27c6de876970ebd0 --help\n",
        "gaps": "Coverage gaps — only files with unresolved obligations\n\n\n\nshowing 0-0 of 0\n",
        "file": "src/lib.rs\n\nUncovered\n  Lines not executed              0\n  Statements not executed         0\n  Functions not called            0\n  Branch outcomes not taken       0\n  MC/DC conditions not shown      0\n  Measurement limitations         0\n\nTests touching this file: 3\n\nGaps\n  NOT COVERED = line never executed; PARTIAL = line executed but some behavior remains untested\n LINE  STATUS        SOURCE\nshowing 0-0 of 0 gap lines\n",
        "line": "src/lib.rs:4\n\nSource\n      4 | let total = price * quantity;\n\nStatus\n  COVERED\n  Evidence: execution only\n\nCoverage details\n  Statement at column 8 — covered (1 covering tests)\n    `let total = price * quantity;`\n\nCovering tests\n  tests/session.rs::confirms_order [tests/session.rs::confirms_order] — integration/rust-libtest\n",
        "decision": "rs:decision:af214c70a2296205a734dadf  src/lib.rs:3:7\nsigned_in && !expired\nC1 covered: signed_in\nC2 covered: !expired\nconfidence executed\nvectors:\n  TT -> T  tests=1 confidence=executed\n  TF -> F  tests=1 confidence=executed\n  F- -> F  tests=1 confidence=executed\nshowing 1-3 of 3 conditions/vectors/tests per decision\n",
        "assertions": "{\n  \"items\": [\n    {\n      \"id\": \"rs:statement:44a06f5dab182cf8350c65d9\",\n      \"file\": \"src/lib.rs\",\n      \"line\": 7,\n      \"at\": {\n        \"file\": \"src/lib.rs\",\n        \"line\": 7,\n        \"column\": 5,\n        \"text\": \"Order { status: \\\"denied\\\", total: 0 }\"\n      },\n      \"covered\": true,\n      \"tests\": [\n        \"tests/session.rs::rejects_expired_session\",\n        \"tests/session.rs::rejects_signed_out_visitor\"\n      ],\n      \"declared\": true,\n      \"asserted\": true,\n      \"flows\": [\n        \"a_23bf894d3d454c4563ba/returned-status\",\n        \"a_4c95b2143d90a8c7bb15/returned-status\"\n      ],\n      \"executionEvidence\": {\n        \"anyExecution\": true,\n        \"passingTests\": [\n          \"tests/session.rs::rejects_expired_session\",\n          \"tests/session.rs::rejects_signed_out_visitor\"\n        ],\n        \"outsidePassingTests\": []\n      }\n    },\n    {\n      \"id\": \"rs:statement:805b0c8db72a244eca94624f\",\n      \"file\": \"src/lib.rs\",\n      \"line\": 3,\n      \"at\": {\n        \"file\": \"src/lib.rs\",\n        \"line\": 3,\n        \"column\": 5,\n        \"text\": \"if signed_in && !expired {\\n        let total = price * quantity;\\n        return Order { status: \\\"confirmed\\\", total };\\n    }\"\n      },\n      \"covered\": true,\n      \"tests\": [\n        \"tests/session.rs::confirms_order\",\n        \"tests/session.rs::rejects_expired_session\",\n        \"tests/session.rs::rejects_signed_out_visitor\"\n      ],\n      \"declared\": true,\n      \"asserted\": true,\n      \"flows\": [\n        \"a_23bf894d3d454c4563ba/returned-status\",\n        \"a_4c95b2143d90a8c7bb15/returned-status\",\n        \"a_e46730a73a917875080d/returned-status\"\n      ],\n      \"executionEvidence\": {\n        \"anyExecution\": true,\n        \"passingTests\": [\n          \"tests/session.rs::confirms_order\",\n          \"tests/session.rs::rejects_expired_session\",\n          \"tests/session.rs::rejects_signed_out_visitor\"\n        ],\n        \"outsidePassingTests\": []\n      }\n    },\n    {\n      \"id\": \"rs:statement:c24ead84cd3c9e860cb7bd92\",\n      \"file\": \"src/lib.rs\",\n      \"line\": 5,\n      \"at\": {\n        \"file\": \"src/lib.rs\",\n        \"line\": 5,\n        \"column\": 9,\n        \"text\": \"return Order { status: \\\"confirmed\\\", total };\"\n      },\n      \"covered\": true,\n      \"tests\": [\n        \"tests/session.rs::confirms_order\"\n      ],\n      \"declared\": true,\n      \"asserted\": true,\n      \"flows\": [\n        \"a_2dabf2d7f3d34c9085ec/calculated-total\",\n        \"a_e46730a73a917875080d/returned-status\"\n      ],\n      \"executionEvidence\": {\n        \"anyExecution\": true,\n        \"passingTests\": [\n          \"tests/session.rs::confirms_order\"\n        ],\n        \"outsidePassingTests\": []\n      }\n    },\n    {\n      \"id\": \"rs:statement:ddb111362126076b264323cb\",\n      \"file\": \"src/lib.rs\",\n      \"line\": 4,\n      \"at\": {\n        \"file\": \"src/lib.rs\",\n        \"line\": 4,\n        \"column\": 9,\n        \"text\": \"let total = price * quantity;\"\n      },\n      \"covered\": true,\n      \"tests\": [\n        \"tests/session.rs::confirms_order\"\n      ],\n      \"declared\": true,\n      \"asserted\": true,\n      \"flows\": [\n        \"a_2dabf2d7f3d34c9085ec/calculated-total\"\n      ],\n      \"executionEvidence\": {\n        \"anyExecution\": true,\n        \"passingTests\": [\n          \"tests/session.rs::confirms_order\"\n        ],\n        \"outsidePassingTests\": []\n      }\n    }\n  ],\n  \"pagination\": {\n    \"offset\": 0,\n    \"returned\": 4,\n    \"total\": 4,\n    \"nextOffset\": null\n  },\n  \"summary\": {\n    \"status\": \"available\",\n    \"reason\": \"Agent-assessed statements; mapping completeness is unknown\",\n    \"pendingChanges\": 0,\n    \"metric\": \"measured statements\",\n    \"statements\": {\n      \"asserted\": 7,\n      \"declared\": 7,\n      \"total\": 11,\n      \"percentage\": 63.63636363636363\n    },\n    \"assertions\": 4,\n    \"inventoryAssertions\": 4,\n    \"missingInventoryAssertions\": 0,\n    \"assertionsWithFlows\": 4,\n    \"assertionsWithoutFlows\": 0,\n    \"observedAssertionsWithoutCurrentExplanation\": 0,\n    \"questions\": 0,\n    \"currentFlows\": 4,\n    \"draftFlows\": 0,\n    \"staleFlows\": 0,\n    \"invalidFlows\": 0,\n    \"eligibleFlows\": 4,\n    \"retiredAssertions\": 1,\n    \"unobservedAssertions\": 0,\n    \"inventoryFailures\": 0,\n    \"unanchoredStatements\": 0,\n    \"runPassed\": true,\n    \"lines\": {\n      \"asserted\": 7,\n      \"declared\": 7,\n      \"total\": 11,\n      \"percentage\": 63.63636363636363\n    },\n    \"excludedStatements\": 0\n  },\n  \"basis\": \"agent-assessed; passing assertion identity and same-test execution required; not mutation resistance\",\n  \"validationErrors\": [],\n  \"limitations\": [\n    \"Syntax inventory covers recognized assertion forms, not every possible custom assertion. Agents may add exact source sites; missing runtime identity never earns credit.\"\n  ],\n  \"revision\": \"49d66c678c9524212bb15dae286d69f40c05b2911faa8c6ea3600656f46c3724\",\n  \"inheritance\": {\n    \"from\": \"run_69917813fb941a83\",\n    \"skipped\": []\n  },\n  \"view\": \"statements\",\n  \"file\": \"src/lib.rs\",\n  \"needsAttention\": false,\n  \"scope\": \"summary covers the whole run with matching current source; --file filters items only\",\n  \"workingTree\": {\n    \"stale\": false,\n    \"reasons\": []\n  },\n  \"run\": \"run_27c6de876970ebd0\",\n  \"map\": \"<project>/.supercov/runs/run_27c6de876970ebd0/assertions.json\"\n}\n"
      }
    }
  }
}
