{
  "schemaVersion": 1,
  "observedDate": "2026-10-25",
  "repository": "reticlehq/reticle",
  "author": "Ayobami John Haastrup",
  "publicHandle": "ayobamih",
  "method": "Read-only GitHub REST queries for PR metadata, diffs, issues, reviews, comments and exact-head check runs, plus pinned source reads before/after; no new upstream tests executed.",
  "articleSlug": "when-agent-tools-report-the-wrong-success",
  "pullRequests": [
    {
      "pr": 1749,
      "title": "fix(server): refuse ignored --drive on running daemon (#1692)",
      "url": "https://github.com/reticlehq/reticle/pull/1749",
      "author": "AyobamiH",
      "merged": true,
      "mergedAt": "2026-10-19T17:40:42Z",
      "headSha": "d991edd1b1d7feacf87b8a0359622c9e20a63ac5",
      "baseSha": "15c385e8325af3392442555fb42cea934fc215ef",
      "mergeSha": "115daad646f2ec08ca43a6a87f3f526be7f03863",
      "issue": "https://github.com/reticlehq/reticle/issues/1692",
      "changedFiles": [
        {
          "path": ".changes/1692-serve-drive-running-daemon.md",
          "status": "added",
          "additions": 3,
          "deletions": 0,
          "blobUrl": "https://github.com/reticlehq/reticle/blob/d991edd1b1d7feacf87b8a0359622c9e20a63ac5/.changes%2F1692-serve-drive-running-daemon.md"
        },
        {
          "path": "docs/cli/serve.mdx",
          "status": "modified",
          "additions": 7,
          "deletions": 5,
          "blobUrl": "https://github.com/reticlehq/reticle/blob/d991edd1b1d7feacf87b8a0359622c9e20a63ac5/docs%2Fcli%2Fserve.mdx"
        },
        {
          "path": "server/src/command/cli/lifecycle/daemon-lifecycle.serve-drive.test.ts",
          "status": "added",
          "additions": 71,
          "deletions": 0,
          "blobUrl": "https://github.com/reticlehq/reticle/blob/d991edd1b1d7feacf87b8a0359622c9e20a63ac5/server%2Fsrc%2Fcommand%2Fcli%2Flifecycle%2Fdaemon-lifecycle.serve-drive.test.ts"
        },
        {
          "path": "server/src/command/cli/lifecycle/daemon-lifecycle.ts",
          "status": "modified",
          "additions": 18,
          "deletions": 0,
          "blobUrl": "https://github.com/reticlehq/reticle/blob/d991edd1b1d7feacf87b8a0359622c9e20a63ac5/server%2Fsrc%2Fcommand%2Fcli%2Flifecycle%2Fdaemon-lifecycle.ts"
        }
      ],
      "reviews": [
        {
          "reviewer": "divshekhar",
          "state": "CHANGES_REQUESTED",
          "submittedAt": "2026-10-19T12:19:38Z",
          "url": "https://github.com/reticlehq/reticle/pull/1749#pullrequestreview-5571427503"
        },
        {
          "reviewer": "divshekhar",
          "state": "APPROVED",
          "submittedAt": "2026-10-19T17:27:40Z",
          "url": "https://github.com/reticlehq/reticle/pull/1749#pullrequestreview-5575257270"
        }
      ],
      "reviewFollowUps": [
        {
          "author": "AyobamiH",
          "url": "https://github.com/reticlehq/reticle/pull/1749#issuecomment-6267658305"
        }
      ],
      "exactHeadChecks": {
        "queryUrl": "https://api.github.com/repos/reticlehq/reticle/commits/d991edd1b1d7feacf87b8a0359622c9e20a63ac5/check-runs?per_page=100",
        "total": 40,
        "conclusions": {
          "skipped": 9,
          "success": 31
        },
        "selected": [
          {
            "name": "gate",
            "status": "completed",
            "conclusion": "success",
            "url": "https://github.com/reticlehq/reticle/actions/runs/39255372275/job/118075319272",
            "headSha": "d991edd1b1d7feacf87b8a0359622c9e20a63ac5"
          },
          {
            "name": "unit-tests",
            "status": "completed",
            "conclusion": "success",
            "url": "https://github.com/reticlehq/reticle/actions/runs/39255372275/job/118069211838",
            "headSha": "d991edd1b1d7feacf87b8a0359622c9e20a63ac5"
          },
          {
            "name": "verify",
            "status": "completed",
            "conclusion": "success",
            "url": "https://github.com/reticlehq/reticle/actions/runs/39255372275/job/118069211705",
            "headSha": "d991edd1b1d7feacf87b8a0359622c9e20a63ac5"
          }
        ]
      }
    },
    {
      "pr": 1747,
      "title": "fix(browser): handle blank and invalid snapshot scopes (#1679)",
      "url": "https://github.com/reticlehq/reticle/pull/1747",
      "author": "AyobamiH",
      "merged": true,
      "mergedAt": "2026-10-19T12:33:26Z",
      "headSha": "3142a9ad5df2e77757871e6e90f5b38e6ecc12de",
      "baseSha": "15c385e8325af3392442555fb42cea934fc215ef",
      "mergeSha": "20027b41ed894e465d4376428a5462fe4daee242",
      "issue": "https://github.com/reticlehq/reticle/issues/1679",
      "changedFiles": [
        {
          "path": ".changes/1679-blank-snapshot-scope.md",
          "status": "added",
          "additions": 3,
          "deletions": 0,
          "blobUrl": "https://github.com/reticlehq/reticle/blob/3142a9ad5df2e77757871e6e90f5b38e6ecc12de/.changes%2F1679-blank-snapshot-scope.md"
        },
        {
          "path": "adapters/realm/browser/src/dom/snapshot.scope-input.test.ts",
          "status": "added",
          "additions": 50,
          "deletions": 0,
          "blobUrl": "https://github.com/reticlehq/reticle/blob/3142a9ad5df2e77757871e6e90f5b38e6ecc12de/adapters%2Frealm%2Fbrowser%2Fsrc%2Fdom%2Fsnapshot.scope-input.test.ts"
        },
        {
          "path": "adapters/realm/browser/src/dom/snapshot.ts",
          "status": "modified",
          "additions": 14,
          "deletions": 6,
          "blobUrl": "https://github.com/reticlehq/reticle/blob/3142a9ad5df2e77757871e6e90f5b38e6ecc12de/adapters%2Frealm%2Fbrowser%2Fsrc%2Fdom%2Fsnapshot.ts"
        }
      ],
      "reviews": [
        {
          "reviewer": "divshekhar",
          "state": "APPROVED",
          "submittedAt": "2026-10-19T12:19:18Z",
          "url": "https://github.com/reticlehq/reticle/pull/1747#pullrequestreview-5571423825"
        }
      ],
      "reviewFollowUps": [],
      "exactHeadChecks": {
        "queryUrl": "https://api.github.com/repos/reticlehq/reticle/commits/3142a9ad5df2e77757871e6e90f5b38e6ecc12de/check-runs?per_page=100",
        "total": 38,
        "conclusions": {
          "skipped": 11,
          "success": 27
        },
        "selected": [
          {
            "name": "gate",
            "status": "completed",
            "conclusion": "success",
            "url": "https://github.com/reticlehq/reticle/actions/runs/39224579718/job/117972616612",
            "headSha": "3142a9ad5df2e77757871e6e90f5b38e6ecc12de"
          },
          {
            "name": "verify",
            "status": "completed",
            "conclusion": "success",
            "url": "https://github.com/reticlehq/reticle/actions/runs/39224579718/job/117967647982",
            "headSha": "3142a9ad5df2e77757871e6e90f5b38e6ecc12de"
          },
          {
            "name": "unit-tests",
            "status": "completed",
            "conclusion": "success",
            "url": "https://github.com/reticlehq/reticle/actions/runs/39224579718/job/117967647631",
            "headSha": "3142a9ad5df2e77757871e6e90f5b38e6ecc12de"
          }
        ]
      }
    },
    {
      "pr": 1745,
      "title": "fix(server): avoid presence advice for element state (#1686)",
      "url": "https://github.com/reticlehq/reticle/pull/1745",
      "author": "AyobamiH",
      "merged": true,
      "mergedAt": "2026-10-19T12:33:26Z",
      "headSha": "4a116aa651b24c415d1f68bc5fb4038a0c0fbd90",
      "baseSha": "15c385e8325af3392442555fb42cea934fc215ef",
      "mergeSha": "63c76953941445156c6569d3c4e8c72a15992b1c",
      "issue": "https://github.com/reticlehq/reticle/issues/1686",
      "changedFiles": [
        {
          "path": ".changes/1686-stateful-element-advice.md",
          "status": "added",
          "additions": 3,
          "deletions": 0,
          "blobUrl": "https://github.com/reticlehq/reticle/blob/4a116aa651b24c415d1f68bc5fb4038a0c0fbd90/.changes%2F1686-stateful-element-advice.md"
        },
        {
          "path": "server/src/surface/tools/assert/assert-grade.test.ts",
          "status": "modified",
          "additions": 37,
          "deletions": 0,
          "blobUrl": "https://github.com/reticlehq/reticle/blob/4a116aa651b24c415d1f68bc5fb4038a0c0fbd90/server%2Fsrc%2Fsurface%2Ftools%2Fassert%2Fassert-grade.test.ts"
        },
        {
          "path": "server/src/surface/tools/assert/assert-grade.ts",
          "status": "modified",
          "additions": 10,
          "deletions": 2,
          "blobUrl": "https://github.com/reticlehq/reticle/blob/4a116aa651b24c415d1f68bc5fb4038a0c0fbd90/server%2Fsrc%2Fsurface%2Ftools%2Fassert%2Fassert-grade.ts"
        }
      ],
      "reviews": [
        {
          "reviewer": "divshekhar",
          "state": "APPROVED",
          "submittedAt": "2026-10-19T12:19:14Z",
          "url": "https://github.com/reticlehq/reticle/pull/1745#pullrequestreview-5571422983"
        }
      ],
      "reviewFollowUps": [],
      "exactHeadChecks": {
        "queryUrl": "https://api.github.com/repos/reticlehq/reticle/commits/4a116aa651b24c415d1f68bc5fb4038a0c0fbd90/check-runs?per_page=100",
        "total": 35,
        "conclusions": {
          "skipped": 13,
          "success": 22
        },
        "selected": [
          {
            "name": "gate",
            "status": "completed",
            "conclusion": "success",
            "url": "https://github.com/reticlehq/reticle/actions/runs/39222576502/job/117965250725",
            "headSha": "4a116aa651b24c415d1f68bc5fb4038a0c0fbd90"
          },
          {
            "name": "unit-tests",
            "status": "completed",
            "conclusion": "success",
            "url": "https://github.com/reticlehq/reticle/actions/runs/39222576502/job/117961114127",
            "headSha": "4a116aa651b24c415d1f68bc5fb4038a0c0fbd90"
          },
          {
            "name": "verify",
            "status": "completed",
            "conclusion": "success",
            "url": "https://github.com/reticlehq/reticle/actions/runs/39222576502/job/117961113952",
            "headSha": "4a116aa651b24c415d1f68bc5fb4038a0c0fbd90"
          }
        ]
      }
    },
    {
      "pr": 1739,
      "title": "fix(server): default console absence to error (#1674)",
      "url": "https://github.com/reticlehq/reticle/pull/1739",
      "author": "AyobamiH",
      "merged": true,
      "mergedAt": "2026-10-19T04:33:09Z",
      "headSha": "bfa5370f46f061ceb4237a60b7df45d9da519274",
      "baseSha": "d8a081f3d462a46c527b1c60a2d310a8d24b90d2",
      "mergeSha": "71925cc55406dbdb17e9fd92c310228ea76388a3",
      "issue": "https://github.com/reticlehq/reticle/issues/1674",
      "changedFiles": [
        {
          "path": ".changes/1674-console-error-default.md",
          "status": "added",
          "additions": 3,
          "deletions": 0,
          "blobUrl": "https://github.com/reticlehq/reticle/blob/bfa5370f46f061ceb4237a60b7df45d9da519274/.changes%2F1674-console-error-default.md"
        },
        {
          "path": "server/src/language/flows/annotate-console-default.test.ts",
          "status": "added",
          "additions": 38,
          "deletions": 0,
          "blobUrl": "https://github.com/reticlehq/reticle/blob/bfa5370f46f061ceb4237a60b7df45d9da519274/server%2Fsrc%2Flanguage%2Fflows%2Fannotate-console-default.test.ts"
        },
        {
          "path": "server/src/language/flows/annotate-notes/annotate.ts",
          "status": "modified",
          "additions": 1,
          "deletions": 1,
          "blobUrl": "https://github.com/reticlehq/reticle/blob/bfa5370f46f061ceb4237a60b7df45d9da519274/server%2Fsrc%2Flanguage%2Fflows%2Fannotate-notes%2Fannotate.ts"
        },
        {
          "path": "server/src/language/flows/flow-replay.console-absent.test.ts",
          "status": "modified",
          "additions": 37,
          "deletions": 2,
          "blobUrl": "https://github.com/reticlehq/reticle/blob/bfa5370f46f061ceb4237a60b7df45d9da519274/server%2Fsrc%2Flanguage%2Fflows%2Fflow-replay.console-absent.test.ts"
        }
      ],
      "reviews": [
        {
          "reviewer": "divshekhar",
          "state": "APPROVED",
          "submittedAt": "2026-10-19T04:18:57Z",
          "url": "https://github.com/reticlehq/reticle/pull/1739#pullrequestreview-5566849966"
        }
      ],
      "reviewFollowUps": [
        {
          "author": "divshekhar",
          "url": "https://github.com/reticlehq/reticle/pull/1739#issuecomment-6259048977"
        }
      ],
      "exactHeadChecks": {
        "queryUrl": "https://api.github.com/repos/reticlehq/reticle/commits/bfa5370f46f061ceb4237a60b7df45d9da519274/check-runs?per_page=100",
        "total": 35,
        "conclusions": {
          "skipped": 13,
          "success": 22
        },
        "selected": [
          {
            "name": "gate",
            "status": "completed",
            "conclusion": "success",
            "url": "https://github.com/reticlehq/reticle/actions/runs/39175662551/job/117820333865",
            "headSha": "bfa5370f46f061ceb4237a60b7df45d9da519274"
          },
          {
            "name": "verify",
            "status": "completed",
            "conclusion": "success",
            "url": "https://github.com/reticlehq/reticle/actions/runs/39175662551/job/117817678431",
            "headSha": "bfa5370f46f061ceb4237a60b7df45d9da519274"
          },
          {
            "name": "unit-tests",
            "status": "completed",
            "conclusion": "success",
            "url": "https://github.com/reticlehq/reticle/actions/runs/39175662551/job/117817678414",
            "headSha": "bfa5370f46f061ceb4237a60b7df45d9da519274"
          }
        ]
      }
    }
  ],
  "claims": [
    {
      "id": "daemon-intent",
      "claim": "Existing-daemon serve with a drive URL is refused with exit 1; plain serve still attaches.",
      "evidence": "accepted source and added unit tests",
      "sources": [
        "https://github.com/reticlehq/reticle/blob/d991edd1b1d7feacf87b8a0359622c9e20a63ac5/server/src/command/cli/lifecycle/daemon-lifecycle.ts#L75-L113",
        "https://github.com/reticlehq/reticle/blob/d991edd1b1d7feacf87b8a0359622c9e20a63ac5/server/src/command/cli/lifecycle/daemon-lifecycle.serve-drive.test.ts"
      ],
      "limits": "No fresh daemon/browser invocation; test code mocks daemon presence and process exit."
    },
    {
      "id": "review-command",
      "claim": "The final repair hint uses RETICLE_PORT for non-default ports, preserves the requested URL and uses POSIX quoting; PowerShell limitation is acknowledged.",
      "evidence": "accepted source, tests and maintainer review",
      "sources": [
        "https://github.com/reticlehq/reticle/pull/1749#pullrequestreview-5571427503",
        "https://github.com/reticlehq/reticle/pull/1749#pullrequestreview-5575257270"
      ],
      "limits": "No cross-shell portability claim. A late author comment records an adjacent-test timeout."
    },
    {
      "id": "scope-normalisation",
      "claim": "Blank scopes read the whole page; invalid/nonmatching nonblank scopes produce an empty tree and scopeMissing. Matching scope stays within its subtree.",
      "evidence": "accepted source and regression matrix",
      "sources": [
        "https://github.com/reticlehq/reticle/blob/3142a9ad5df2e77757871e6e90f5b38e6ecc12de/adapters/realm/browser/src/dom/snapshot.ts#L566-L590",
        "https://github.com/reticlehq/reticle/blob/3142a9ad5df2e77757871e6e90f5b38e6ecc12de/adapters/realm/browser/src/dom/snapshot.scope-input.test.ts"
      ],
      "limits": "The response still contains buildStatus output, including page-level title. Not access control or a zero-disclosure guarantee."
    },
    {
      "id": "advice-grade",
      "claim": "Positive non-presence element states stop receiving presence-only advice; honesty grade remains PRESENCE; negated state checks retain advice.",
      "evidence": "accepted helper change and assertions for advice plus grade",
      "sources": [
        "https://github.com/reticlehq/reticle/blob/4a116aa651b24c415d1f68bc5fb4038a0c0fbd90/server/src/surface/tools/assert/assert-grade.ts#L34-L85",
        "https://github.com/reticlehq/reticle/blob/4a116aa651b24c415d1f68bc5fb4038a0c0fbd90/server/src/surface/tools/assert/assert-grade.test.ts#L43-L75"
      ],
      "limits": "No evidence-grade promotion, evaluator rewrite or empirical improvement to agent performance."
    },
    {
      "id": "console-default",
      "claim": "Console absence annotations materialise level error when omitted; explicit levels remain; generated predicate passes warning-only fixture and fails error fixture.",
      "evidence": "accepted source, compilation test and replay test",
      "sources": [
        "https://github.com/reticlehq/reticle/blob/bfa5370f46f061ceb4237a60b7df45d9da519274/server/src/language/flows/annotate-notes/annotate.ts#L121-L128",
        "https://github.com/reticlehq/reticle/blob/bfa5370f46f061ceb4237a60b7df45d9da519274/server/src/language/flows/annotate-console-default.test.ts",
        "https://github.com/reticlehq/reticle/blob/bfa5370f46f061ceb4237a60b7df45d9da519274/server/src/language/flows/flow-replay.console-absent.test.ts#L126-L155"
      ],
      "limits": "Only annotation compilation changes; no blanket reinterpretation of generic console predicates."
    }
  ],
  "authorReportedLocalEvidence": {
    "pr1747": "4 failures on unchanged main; 64/64 focused tests after patch, per PR body.",
    "pr1745": "7 new-state failures on unchanged main; 36/36 focused tests after patch, per PR body.",
    "pr1739": "New omitted-level regression failed before patch; 28/28 compilation/replay tests after patch, per PR body.",
    "pr1749": "Initial body reports 13/13 focused passes. Later final-head follow-up reports 3 direct lifecycle tests passed and an unrelated adjacent-suite daemon-health timeout under simultaneous load. Exact-head GitHub checks are recorded separately."
  },
  "researchBoundary": "Four purposively selected merged patches support an engineering case study. No prevalence, field-outcome, causality or novel-theory claim; a research paper requires broader sampling and comparative validation."
}
