Reference · Supported adapters and capture
Supported adapters and capture
A source is supported when it has a role, a read on at least one app, an acceptance fixture and a health word for every way it can fail. This page is the reader's copy of the generated acceptance matrix; the matrix is the authority and is regenerated from the shared contract every time a source changes.
Choosing what should open a case? Start with incident response, then use this matrix to verify the exact hosted and local capture contract.
Three roles
- Observation
- The source observes a problem and can open a case: a Sentry issue, a Vercel deployment failure, a failed GitHub Actions run or a Dependabot alert, a PostHog exception, a manual report, an event pushed through the production gateway or the Vercel log drain.
- Evidence
- The source is read beside a case and never opens one: Postgres and Neon slow logs, Cloudflare, Stripe, Ramp and Xero, the billing guard's LLM usage. Metrics, traces, logs and product activity stay evidence until a documented detector qualifies a problem.
- Ticket
- The source is a place a person files or reads a ticket: Jira, Linear, Asana, GitHub Issues, Teams, and the SIEMs (Splunk, Sentinel, Chronicle). None is read today.
What each app reads
| Source | Role | Families observed | Hosted | Local |
|---|---|---|---|---|
| Sentry | observation | production, performance | pull | pull |
| Vercel deployments | observation | production | pull | pull |
| Vercel log drain | observation | production | push, signed | push, signed |
| GitHub Actions, code scanning, secret scanning and Dependabot alerts | observation | production, security | pull | pull |
| PostHog exceptions | observation | production, performance | pull, keyed on the exception fingerprint | pull |
| Manual reports | observation | manual | push by a member | push by the person |
| Production events gateway | observation | production, performance, security, cost | push by an approved workload | push |
| Vercel usage | observation, cost | none yet | blocked | blocked |
Vercel usage is declared and blocked: the read over a declared budget waits on a validated usage endpoint and on the anomaly rule, which is an operator decision. It appears in the matrix's blocked-reads table with that reason rather than being dropped from the list.
The twelve acceptance cells
Every observation source carries twelve cells per app, each recorded with the test that proves it, blocked with the reason, or not applicable with the reason: a stable external id, an occurrence key, a versioned severity rule, collection health, redaction and bounding, an acceptance fixture, pagination, rate limit, auth failure, malformed input, revoked credential, and health at occurrence. A recorded cell names a test that exists; a test pins exactly which cells are not recorded, so a cell cannot be relabelled to close a phase.
The blocked cells today are explicit: the Sentry, Vercel and PostHog local clients read one page; hosted manual intake has no general rate-limit contract and session authentication has no revocation list; and local manual and production-event intake have no receipts table for health at occurrence. Every other applicable cell names the test that records it.
Which AI tools RepoOps can read
The capture support matrix: for each AI coding tool, what its reader reaches on the file axis and the prompt axis, how far attribution can go with that reach, and when the catalog entry was last checked. It is the catalog both apps read, not a receipt that capture ran on your machine. It used to sit on the Attribution page and now lives here, beside the sources.
| Tool | Surface | Files | Prompts | Trust | Attribution reach | Last checked |
|---|---|---|---|---|---|---|
| Claude Code | cli | deep: Everything | deep: Prompts, answers and tool calls | The tool's own record | to the session, the prompt and the author | 2026-08-29 |
| Cursor | ide | blame: Blame only | none: No prompt text | The tool's own record | to the commit and the author, not to a prompt | 2026-07-07 |
| Codex CLI | cli | none: Not claimed | none: No prompt text | The tool's own record | none | 2026-07-22 |
| GitHub Copilot | ide | none: Not claimed | none: No prompt text | The tool's own record | none | 2026-07-22 |
| ChatGPT (browser) | browser | none: Not claimed | none: No prompt text | Lower trust | none | 2026-09-02 |
| Claude (browser) | browser | none: Not claimed | none: No prompt text | Lower trust | none | 2026-09-02 |
| Gemini (browser) | browser | none: Not claimed | none: No prompt text | Lower trust | none | 2026-09-02 |
What capture does not claim
A supported source proves the reader; it does not prove completeness. A team whose sessions do not reach the agent traces reads as unknown in the outcome ledger, not as protected, and a source with no receipts is observing nothing rather than observing zero. The matrix page ends with what it does not assert; read it before citing a cell. The health words a failing read shows, and the fix for each, are on the troubleshooting page.
Read next
Learn why no data is not the same as no incidents, then review privacy and retention before you connect a source.
Last updated