The diagnosis is done: the retry button reuses the idempotency key, so the processor treats the second attempt as a new charge. The fix is small. You want it executed without three rounds of “what did you mean by”. An agent cannot ask the reporter what they meant. The issue is the only thing that travels.

The handoff contract

Seven things. An issue missing any one of them comes back as a question, or worse, as a confident wrong answer.
Acceptance criteria are the termination condition of the build loop. An issue without them is a request to keep going until something feels done. This is the most common cause of a coding agent returning work that is plausible and wrong.

Hand it to Bright’s Engineer

Open the issue and press Build. Bright submits the issue’s brief into its context chat and the Engineer takes it from there. If you are already in a session, mention @Engineer and make sure the issue is attached as context. Work happens in an ephemeral sandbox, and every write is gated by a tool approval you can allow once, always, or deny. Nothing you care about lives only in the sandbox.

Hand it to an external coding agent

Copy to Prompt on the issue packages the brief for another tool: title, status, priority, due date, description, and links. Paste it into your coding agent of choice and the contract above travels with it. Two connectors go further:
  • Cursor authenticates with a name and an API key rather than OAuth. Once connected, the Cursor skill dispatches and monitors Cursor Cloud agents on your behalf.
  • GitHub Copilot’s coding agent takes an issue directly: the dispatch-coding-agent skill hands it over, keeps the PR link and issue state in sync, and monitors the run.

Review what comes back

The same discipline applies whichever agent ran it:
  1. Open the pull request and read the diff. Not the summary. The diff.
  2. Check the change against your non-goals. Scope creep shows up here first.
  3. Confirm each acceptance criterion is actually met, not merely claimed.
  4. For anything the agent asserts about existing architecture, verify it. Fluent output is not evidence.
A finished-looking session is not finished work. The sandbox resets between sessions, on crash or timeout, and when another agent works in the same space, and there is no recovery path for work that was never pushed. The durable form of a coding change is a pushed branch and a reviewed pull request. If there is no branch and no PR, the work does not exist.

What good looks like

  • The agent executed without asking a clarifying question.
  • The diff contains nothing outside the stated scope.
  • Every acceptance criterion is demonstrably met.
  • A pull request exists.