Solutions

Engineering

What changed since Monday, with the commits linked.

#paymentspublic channel3 tool calls

Three days of commits across connected repositories, answered in the thread with each commit linked and the messages turned into what actually changed. The follow-up — which PR touched the retry budget — is a code search, not a guess.

payments

Sam9:31 AM

@attest_tag what changed in the payments client since Monday?

attest_tagApp9:31 AM

  • github_recent_commits · acme/payments · since Mon · 3 commits
  • github_find_code · “retry budget” · 2 files
  • github_get_pr · #418

3 commits on main since Monday, all by Sam:

  • Thu — payments: jittered backoff between attempts (1c9ef3b)
  • Wed — payments: replace the retry count with a total time budget, 2.5 s per request (a41d02e)
  • Tue — payments: make the timeout error retryable (7b3c9d0)

The budget lives in retry.go and is read in client.go; the PR that introduced it is #418, merged Wednesday, reviewed by Priya.

google/gemini-flash4.9k in380 out$0.0027Configure

Names, figures, repositories and customers are changed; token counts and cost are illustrative. The ask, and the shape of the answer, are as they were.

How the turn went

A connected repository, named tools, and a link on everything.

  1. 01

    The repository is a connection like any other

    An owner/name and a token, checked against that repository first, sealed, and attached to the channel. The channel gets the GitHub tools and nothing else the bundle might grow later.

  2. 02

    Named tools, not an API reference

    github_recent_commits and github_find_code are thin tools from the GitHub pack, which is what makes an open-weight model reliable here. A generic HTTP tool and the GitHub docs would have it improvising.

  3. 03

    Links on everything

    Each commit, the PR, the file. A summary without the link is a claim; with it, it is a starting point.

What it needs

The setup, in the console.

Connection
A GitHub connection — owner/name and an access token — in the Repositories bundle, attached to the channel. A default repository decides which one “the repo” means when a question does not say.
Credential
A token with read on the repositories' contents and pull requests. It travels in an HTTP header from the proxy, never in the prompt.
Ask it what it can reach
“What repos do you have access to?” is answered from the channel's own list, not from memory.

What it will not do

Enforced outside the model.

  • It reads. Creating a branch, a PR or a comment is a write and waits for a Confirm — or goes through a fix job, which has rules of its own.

  • A repository connected to another channel is not reachable from this one; scope is per channel.

Try it

Say it in a channel it is in.

The sentence as it was typed. It works in any channel the bot has been invited to that carries the connection above — no command syntax, no form, and follow-ups in the thread need no mention.

@attest_tag what changed in the payments client since Monday?

  • GitHub
  • github_recent_commits
  • github_find_code
  • github_get_pr

Bring the channel this would live in.

Sign up, connect the service above in one channel, and type this sentence yourself — or run the same binary on your own infrastructure.

All solutions