Build1 distinct publisher3 min readUpdated
A session write-up on dev.to shows a browser agent reporting a click at coordinates it had verified while the page counted zero arrivals. The cause was a scale factor no layer reported.
The Engineer · Build desk
Compiled by The EngineerSomething wrong?How this is made
A developer pointing an AI agent at a browser to publish one product across four marketplaces got a clean tool log line, `[computer:left_click] Clicked at (383, 734)`, and a page that did nothing: no menu opened, no network request fired, no console error [1][2][3]. That combination, success at the tool layer and silence everywhere else, is the case your computer-use harness has to be designed around, because nothing in the stack was wired to contradict the tool.
The element was not the problem. `document.elementFromPoint(383, 734)` returned exactly the span the agent was aiming at, visible, not disabled, not covered [4]. According to the write-up, close to an hour went into the theory that the site was rejecting synthetic input [5].
The probe that ended it is a few lines: inject a fixed-position button 220 by 60 pixels at z-index 2147483647, attach a listener that increments `window.__clickOK` and records `e.isTrusted`, then measure the button's centre, 310,230 [6][7]. Click that centre and read the counter. Zero [8]. That reading discriminates, which is the point. A blocked synthetic event still arrives and is merely ignored by the handler; a counter stuck at zero means the event never reached the element at all [9].
The coordinate space was wrong. The tool consumed screenshot-space coordinates while the page reported CSS pixels, and the screenshot was captured at a different scale, so every DOM-derived coordinate was off by a constant factor while the click itself still happened somewhere [10]. `devicePixelRatio` was 2 and doubling missed [11]. Clicking (232,172) instead of (310,230) registered one hit [12], giving k = 232/310 = 0.7484 [13], a 25 percent shrink [4]. The viewport was 1702 CSS pixels wide and screenshots came back around 1274, a ratio of 0.7485 [14].
Two bits of arithmetic explain why this hides so well. The probe caught it on geometry: a 220 by 60 target tolerates 110 pixels of horizontal error and 30 vertical, and the actual miss was 78 in x and 58 in y, inside the button horizontally and outside it vertically [1]. And the offset scales with distance from the origin, roughly 34 pixels at 100 pixels out and 235 pixels at 700 [2], so small controls near the top left keep working while everything further down fails, which reads as a flaky site rather than a broken conversion.
One conversion function later, dropdowns, confirmation dialogs and menu items all worked on the first try [15]. The author is explicit that k depends on window size, DPI and tool, and should be measured rather than copied [16], and that the probe costs about three seconds once per session [17].
The same probe discipline caught the next two. A dropdown item reported y=981 in an 876-pixel viewport, 105 pixels below the fold, where `elementFromPoint` returns null and a click goes nowhere [18][3]; the fix is scroll, wait 300ms, re-read the rect, and never cache coordinates across a scroll [19]. Another site had zero `input[type=file]` elements because the drop zone creates the input on click, so `document.createElement` was patched to capture it before the app calls `.click()` and opens a native dialog the agent cannot drive [20][21].
This is one developer, one session, one tool, and the write-up counts five failure modes where the supplied excerpt covers three [22][23]. Watch the two places the coordinate bug reappears after you fix it: any mid-session window resize, which changes k, and any coordinate measured before a scroll. If the only evidence your agent did something is its own log line, that is not a test, it is a transcript.
Follow any of these and your For You feed starts watching them — no settings page required.
Ranked by verification strength, evidence, and original report placement.
The author spent a day pointing an AI agent at a browser to publish one product across four marketplaces.
The automation tool reported success with the log line: [computer:left_click] Clicked at (383, 734).
After the reported click, nothing happened: no menu opened, no network request fired, no console error, and the failures came with no error, no exception and no log line.
document.elementFromPoint(383, 734) returned the exact target element, a span, which was present, visible, not disabled and not covered by an overlay.
The author burned close to an hour assuming the site was blocking synthetic input.
The probe injects a button with id __clicktest at position fixed, top 200px, left 200px, width 220px, height 60px, z-index 2147483647, with a click listener that increments window.__clickOK and stores e.isTrusted.
Evidence-backed comparisons of source perspectives and observed adoption signals. Read the methodology
Which Builder, Operator, and Investor concerns the observed source mix emphasized—not a truth score.
Evidence, demonstrated adoption, hype gap, incentives, and confidence are assessed independently, each on its own current evidence. How these are measured.
Instrumented and internally cross-checked, but single-source and single-environment
The central mechanism is demonstrated rather than argued: a counter-instrumented canary shows the click never arrived, a bisection yields k = 232/310 = 0.7484, and an independent quantity (1274 px screenshots against a 1702 CSS px viewport, ratio 0.7485) matches it. Competing explanations are actively excluded (synthetic-event blocking, device-pixel doubling). What caps the score is provenance and scope: one unattributed dev.to post, one session, no named tool or model, no replication, no reported variance across window sizes, and a supplied body that truncates before all five promised failure modes are delivered.
One practitioner session; no organizational or product uptake shown
Adoption evidence is limited to a single disclosed usage session by one author against four unnamed marketplace sites, plus a within-session observation that the upload technique worked on two of three sites. There are no deployment counts, no named tool or vendor, no downstream users of the probe, and no indication that any harness has incorporated a canary check. The technique's practical uptake is therefore essentially unmeasured beyond its author.
Mildly overstated by the framing, largely self-corrected in the body
The headline generalizes one environment's measurement into a warning about browser automation clicks broadly ('might be landing 25% off'), and the cluster title prescribes a canary for agent harnesses generally, on the strength of n = 1 with an unnamed tool. The body, however, does much of the deflating itself: it states that k depends on window size, DPI and tool, instructs readers not to copy 0.7484, and prices the alternative as a three-second probe. The evidence for the specific mechanism is stronger than typical for this genre, so the gap is small and positive rather than large.
Low commercial stake; reputational and engagement incentives only
The post sells nothing: no product, vendor, sponsor, pricing or hiring pitch appears, no tool or model is named favourably or unfavourably, and the recommended remedy is a few lines of the author's own published code with an explicit instruction to measure locally rather than trust his number. The residual distortion is the usual developer-platform incentive toward a striking, generalizable headline and a tidy hour-lost-then-two-line-fix narrative arc, which encourages compressing an n = 1 finding into a rule.
Confident on mechanism, weak on generality
High confidence that in this author's environment the harness and page disagreed on coordinate space by a factor near 0.7484 and that the injected-canary probe detects such a disagreement cheaply — the measurements are published, internally consistent and cross-checked. Low confidence in anything beyond that: which tools exhibit the mismatch, how often, at what magnitudes, and whether the probe and createElement patch are safe or sufficient on other sites. Single-source, unnamed-tool provenance and a truncated body keep overall confidence just above the midpoint.
build
A Stripe SDK Major Bump Turned One Metadata Lookup Into a Silent Non-Delivery1 distinct publisher
build
A guard that only speaks in exit codes cannot tell you it stopped guarding1 distinct publisher
build
Your script exited 0 because the file no longer existed: macOS evicted it to iCloud1 distinct publisher
build
Green Tests, Useless Server: MCP Needs Task-Level Evals, And Call Count Moves First1 distinct publisher
Distinct publishers with included, body-backed reporting in this cluster.
dev.to
1 article · August 15, 2026