Skip to content

Document captcha telemetry fields and outcomes - #702

Open
Sayan- wants to merge 4 commits into
mainfrom
hypeship/document-captcha-telemetry
Open

Sayan- wants to merge 4 commits into
mainfrom
hypeship/document-captcha-telemetry

Conversation

@Sayan-

@Sayan- Sayan- commented Oct 14, 2026 •

Copy link
Copy Markdown
Contributor

Summary

  • Document captcha provider, task kind, and the deprecated classification field, including how to correlate observed and inferred challenge results.
  • Update the captcha gate example to handle both current and older events, and to distinguish a completed image round from a returned token.
  • Document event type filtering for live telemetry streams.

Validation

  • Extracted the complete TypeScript example from the four step snippets and confirmed they match.
  • Parsed the extracted TypeScript example with Bun and checked the diff for whitespace errors.
  • Mintlify preview deployment passed, and the categories page loaded with the new sections.

Note

Low Risk
Documentation and example cookbook changes only; no production code or API behavior changes in this diff.

Overview
Expands captcha telemetry docs and aligns the captcha-gate cookbook with the newer event model.

On Categories, the captcha section is restructured around captcha_provider, task_kind, and deprecated captcha_type, with tables for payload fields, per-provider emissions (observed vs inferred captcha_challenge_result), correlation rules (task_id vs challenge_id), and updated outcome meanings including inferred. The sensitivity table now mentions provider and task kind.

Pausing for Captcha Solves updates captcha-gate.ts to parse those fields (with fallbacks for older events), key joinable IDs as task: / challenge:, accept inferred challenge results on task_id, wait for challenge results via expectsChallengeResult, and surface distinct agent messages for token tasks, image rounds, observed clears, and inferred token results.

Streaming documents server-side filtering by passing type when opening the stream (and the same filter on the read-events HTTP API).

Reviewed by Cursor Bugbot for commit d9f0738. Bugbot is set up for automated code reviews on this repo. Configure here.

@mintlify

mintlify Bot commented Oct 14, 2026 •

Copy link
Copy Markdown
Contributor

Preview deployment for your docs. Learn more about Mintlify Previews.

Project Status Preview Updated
Kernel 🟢 Ready View Preview Oct 14, 2026, 6:50 PM

💡 Tip: Enable Automations to automatically generate PRs for you.

@Sayan-
Sayan- marked this pull request as ready for review October 14, 2026 00:52
@Sayan-
Sayan- requested review from akxue and yummybomb October 14, 2026 00:52
@akxue

akxue commented Oct 14, 2026

Copy link
Copy Markdown
Contributor

some legibility nits

image this is fairly tough to read imo, and maybe more suited as small tables?

the captcha section itself has a ton of info packed into it, what do you think about breaking it out into multiple sections?
my suggestion would be like

  • captcha event fields
  • what each captcha provider emits: the emission table and observed vs inferred results
  • correlate captcha tasks and challenges: joining on task_id and challenge_id, why relay tasks have no challenge_id, etc
  • captcha challenge outcomes: statuses per provider and the outcome table

some minor accuracy nits my guy helped me catch as well

  • browsers/telemetry/categories.mdx:90 only relay image rounds report other
  • browsers/telemetry/categories.mdx:96 every row in the challenge_id column now says "can be absent", and the sentence explaining why was removed (line 126). human always has it (press-hold-worker.ts), hcaptcha has it only on extension image rounds, and relay tasks never do (relay.go:360). that's why an observed recaptcha_v2 result can't join its tasks, which the gate depends on. i think we should keep the yes / sometimes / no split and say why relay tasks lack it

@cursor cursor Bot left a comment •

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Stale Bugbot comment from a previous run.

Comment thread browsers/telemetry/categories.mdx

@cursor cursor Bot left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Cursor Bugbot has reviewed your changes using default effort and found 1 potential issue.

Fix All in Cursor

❌ Bugbot Autofix is OFF. To automatically fix reported issues with cloud agents, enable autofix in the Cursor dashboard.

Reviewed by Cursor Bugbot for commit d9f0738. Configure here.

Comment thread browsers/telemetry/categories.mdx
@Sayan-

Sayan- commented Oct 14, 2026

Copy link
Copy Markdown
Contributor Author

thanks for the feedback! ready for another round @akxue

@akxue

akxue commented Oct 15, 2026

Copy link
Copy Markdown
Contributor

ty! this is looking nice

This branch was successfully deployed

1 active deployment
staging — d9f0738d Deployed Oct 14, 2026 by mintlify[bot]
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants