Skip to content

Ask questions across repos

Use Polygraph as a read tool. Add the repos a question touches, ask, and read the answer. Not every session ends in a PR.

You can add repos you have no intent to write to. The agent only pushes a branch or opens a PR when you tell it to, so a read-only session just means you never ask it to write. Unlike pointing an editor at a second clone, the result is a session you can share, resume weeks later with the repos still loaded, and reference from the work that acts on it.

"Who calls this API I'm about to change?"

You want to know who breaks before you touch anything.

Add the service repos in acme that might consume the notifications-api,
read-only.
I'm planning to rename `recipient_id` to `subject_id` on
`POST /v1/notifications`. For each repo, tell me whether it calls this
endpoint, the exact call sites, and whether it would break under the change.

A search tells you where a string appears. The session tells you whether each call site actually breaks, because the agent reads the surrounding code, the types, and the tests. From there you decide whether the change is internal-only, needs a heads-up, or needs a coordinated rollout.

"Another team migrated to TanStack Start. Apply what they did to our app."

You want their approach translated to your repo's conventions, not a copy of their diff.

Add acme/their-app and acme/our-app to this session. I'm only reading from
their-app, no PRs against it.
Their team migrated from Next.js to TanStack Start. Read their
migration (the PRs and commit history), then read our-app and produce a plan
that maps each of their steps onto our conventions, ordered safest-first.
Don't write code yet, the plan is the deliverable.

You get a plan with their decisions, your differences, and the order to apply them. If it looks right, tell the agent to start step one in the same session. If you want a second opinion first, the session link is the plan.

"My app broke after I upgraded a package. What changed?"

Add vitejs/vite to this session. I bumped from v7 to v8 and now my builds break.
Can you run my app build and correlate the error with changes in Vite v8?
Look through vitejs/vite source code, investigate the commit history for v8 and
pinpoint a fix on my end, or suggest a bug report for their repo including a small
repro example.

The agent walks the package's history, narrows to the commit that broke you, and explains it against your setup, so you don't have to hunt through the whole migration guide.

A research session can turn into work at any point. The repos are already loaded and the agent already has the context, so you tell it to implement and it does, while any repo you've only been reading stays untouched until you ask otherwise.