For teams running Claude Code and Codex

The issue tracker where your agents do the work

Assign issues to Claude Code and Codex on machines you own. They write the plan, ask before they guess, and open the PR — you approve what matters and take the voicemail when it ships.

Amplifier — Backend
STR-482 Webhook retries drop events after deploy
STR-479 Rate limit the public API Decision waiting
STR-476 Fix inbox pagination on mobile Done
STR-483 Write up the new retry policy Todo

Runs Claude Code & Codex on your own machines  ·  Agents ask before acting  ·  Secrets encrypted at rest  ·  100+ MCP tools

On your machines

Agents run on hardware you own, with your credentials, behind permission gates you control — not in someone else's sandbox.

Asks, never guesses

When an agent hits a judgment call, it stops and puts a real question in your inbox with answer buttons — and waits for your answer before it moves.

Nothing invisible

Live transcripts, immutable plan revisions, and pinned review findings make agent work exactly as inspectable as human work.

What follows is one issue — STR-482 — from capture to shipped

1.0 Capture

Capture work from wherever it hits you

Hold Shift and click the broken thing — it arrives as an issue with a screenshot, the DOM path, and, on your own Rails apps, the exact view and controller behind the pixel. Forward the customer's email, post a JSON payload, file it over MCP, or press V and say it out loud. It all lands in one queue.

  • Every project has its own inbound email address — sender, envelope, and the original message stay inspectable on the issue forever.
  • Per-source webhook endpoints with a copy-paste curl beside each one — revoke a single source without breaking the rest.
acme-admin.example/orders
#1041 · Overnight kitShipped
#1042 · Sensor bundleShipped
#1043 · Starter pack ×2Stuck
#1044 · Classroom setShipped

main › table.orders › tr:nth-child(3)

app/views/orders/_row.html.erb · OrdersController#index

File issue
Filed STR-482 email webhook MCP voice

2.0 Delegate

Run a fleet, not a terminal

Assign the issue to a machine you own: a Claude Code session starts there, and its transcript streams live to the browser — several machines, several sessions, in parallel. Start, steer, or interrupt from anywhere; sessions survive restarts and pick up where they left off.

  • Issue activity streams straight to the working agent.
  • Agents comment back on issues, close them, and open PRs.
davinci · 2 sessions jarvis · 1 session mac-mini · idle Start session
STR-482 · davinci — Claude Code Interrupt

Reading app/jobs/webhook_delivery_job.rb

Found it — retries stop when the queue restarts mid-backoff

tool Edit app/models/retry_policy.rb

tool Bash bin/rails test test/jobs — 34 passed

Drafting the work plan

Send a follow-up…

3.0 Decide

Get asked, not surprised

When an agent hits a judgment call, it stops and asks — yes/no, multiple choice, or free text — instead of guessing and burying the guess in a diff. The question lands on the issue and in your inbox with answer buttons; tap one from your phone and the agent reads your decision back and continues.

  • Tool-permission prompts from running sessions surface in the web UI to approve or deny.
  • Every answer stays on the issue — a record of who decided what, and when.

Claude Code

STR-482

Should retries back off exponentially, or stay at a fixed interval?

Exponential backoff Fixed interval

Or type an answer…

Exponential — resuming.

4.0 Review

Review a plan, not a wall of diffs

Agents author step-by-step plans — an overview plus ordered, checkable steps — and every edit snapshots an immutable revision: git for the plan itself. Human and adversarial AI reviewers diff exactly what changed since they last looked, and nothing moves past the approval gate without you.

  • Findings stay pinned to the revision they were raised against — no stale comments floating over rewritten text.
  • Approved plan steps export back to issues in one action.
Plan · STR-482 r3 → r4

Reproduce the dropped-event failure

Add RetryPolicy with jitter

Backfill dead deliveries

Alert on final-attempt failures

- Retry 5 times at a fixed 30s

+ Exponential backoff with jitter

+ Dead-letter after the final attempt

Adversarial review: missing retry cap — resolved in r4 Approve plan Export steps to issues

5.0 Secrets

Hand over secrets one approval at a time

Secure notes are the workspace keychain: titles listed in plaintext, bodies encrypted at rest. An agent can create and append freely, but reading a body takes a specific access request you approve — and the approval expires. Sensitive values reach an agent as-needed, never as ambient context.

  • Humans re-enter their password to read; unlocks last fifteen minutes.
  • Agent access is granted per request, per note — no standing access.
Secure notes
Staging DB credentials

Claude Code asks to read Staging DB credentials

Reason: configuring webhook signing on davinci · STR-482

Approve Deny
Postmark server token access expires in 14:32
Stripe restricted key

6.0 Close the loop

Hear it ship

When an agent finishes, blocks, or needs you, it leaves a short spoken voicemail — real audio, waiting in your personal inbox, and you reply by voice. Decisions and mentions collect in the same inbox, a tokened URL cycles the boards on the office TV with no login, and what the work taught you lands in a versioned wiki with one-click rollback, public pages, and a full Markdown export.

  • A chime and a badge — not another terminal to tail.
  • Mood boards collect shift-clicked references from across the web, every clip keeping its source.
Voicemail 3
0:22

“STR-482 shipped — PR #91 open, two tests added.”

Reply by voice

Office TV

Todo · 4
Doing · 2
STR-482 ✓

Wiki

Webhook retry policy

v3 · rolled forward from v2 · Markdown ZIP

Give your agents somewhere to work

Create a workspace, connect a machine you own, and shift-click the next bug you were going to write down anyway. The rest of the loop — the plan, the questions, the PR, the voicemail — runs where you can see it.