Source: https://internal-agents.com/agents/sentry-junior

# Sentry — Junior

An open-source Slack agent built at Sentry that acts like an intern; takes tasks, retrieves context across many company systems, and is steered and reviewed by humans. Its CEO argues one general-purpose agent beat several vendor-specific bots.

- Approach type: Task agent
- Deployment stage: Deployed
- Autonomy: Human in loop
- Evidence strength: Detailed primary
- Status: Open sourced
- First reported year: 2026
- Work: Coding, Code review, Support, On-call
- Interfaces: Slack, Web, Github
- Invocation: Event driven, Interactive
- Entry reviewed: 2026-09-09

## Where people stay involved

- **assigned task → human-steered and reviewed output** — Continuous steering · Level 2

## Overview

### Summary

An open-source Slack agent built at Sentry that acts like an intern; takes tasks, retrieves context across many company systems, and is steered and reviewed by humans. Its CEO argues one general-purpose agent beat several vendor-specific bots.

Fact · Reported · High confidence · `sentry-junior--summary`

Confidence reason: A linked first-party source states the claim.

Evidence:

- Supports · [1] [Building an Intern (Junior at Sentry)](https://cra.mr/building-an-intern/) · [Preserved copy](https://github.com/steel-experiments/internal-agents-map/blob/main/archive/sources/sentry-junior-source-1/content.md)
- Supports · [2] [getsentry/junior source repository](https://github.com/getsentry/junior) · [Preserved copy](https://github.com/steel-experiments/internal-agents-map/blob/main/archive/sources/sentry-junior-source-2/content.md)
- Contextualizes · [3] [Sentry Labs](https://labs.sentry.dev/) · [Preserved copy](https://github.com/steel-experiments/internal-agents-map/blob/main/archive/sources/sentry-junior-source-3/content.md)

## How it works

### Supporting component

searchMcpTools loads tools on demand instead of dumping every schema into the prompt

Fact · Reported · High confidence · `sentry-junior--primitives-0`

Confidence reason: A linked first-party source states the claim.

Evidence:

- Supports · [1] [Building an Intern (Junior at Sentry)](https://cra.mr/building-an-intern/) · [Preserved copy](https://github.com/steel-experiments/internal-agents-map/blob/main/archive/sources/sentry-junior-source-1/content.md)

### Supporting component

Credentials injected host-side; the sandbox/model never touches a secret

Fact · Reported · High confidence · `sentry-junior--primitives-1`

Confidence reason: A linked first-party source states the claim.

Evidence:

- Supports · [1] [Building an Intern (Junior at Sentry)](https://cra.mr/building-an-intern/) · [Preserved copy](https://github.com/steel-experiments/internal-agents-map/blob/main/archive/sources/sentry-junior-source-1/content.md)

### Supporting component

Survives serverless timeouts via a queue + claim model

Fact · Reported · High confidence · `sentry-junior--primitives-2`

Confidence reason: A linked first-party source states the claim.

Evidence:

- Supports · [1] [Building an Intern (Junior at Sentry)](https://cra.mr/building-an-intern/) · [Preserved copy](https://github.com/steel-experiments/internal-agents-map/blob/main/archive/sources/sentry-junior-source-1/content.md)

## Supervision evidence

### Operating model assessment

Level 2 for assigned task → human-steered and reviewed output; human attention boundary: continuous-steering.

Inference · Catalog judgment · High confidence · `sentry-junior--operating-models-0`

Confidence reason: The source explicitly describes humans steering and reviewing the agent throughout its work.

Qualifications:

- Observation date: 2026

Evidence:

- Supports · [1] [Building an Intern (Junior at Sentry)](https://cra.mr/building-an-intern/) · [Preserved copy](https://github.com/steel-experiments/internal-agents-map/blob/main/archive/sources/sentry-junior-source-1/content.md)

## Implementation details

### Sandbox

Vercel serverless functions; Vercel agent-browser sandbox with an on-path proxy for traffic interception; ephemeral containers

Fact · Reported · High confidence · `sentry-junior--architecture-sandbox`

Confidence reason: A linked first-party source states the claim.

Evidence:

- Supports · [1] [Building an Intern (Junior at Sentry)](https://cra.mr/building-an-intern/) · [Preserved copy](https://github.com/steel-experiments/internal-agents-map/blob/main/archive/sources/sentry-junior-source-1/content.md)

### Harness

Custom harness on Pi's SDK; a task broker over Vercel Queues with an inbox -> worker-claim -> interrupt/resume pattern to survive serverless timeouts; 'skills-as-runbooks'

Fact · Reported · High confidence · `sentry-junior--architecture-harness`

Confidence reason: A linked first-party source states the claim.

Evidence:

- Supports · [1] [Building an Intern (Junior at Sentry)](https://cra.mr/building-an-intern/) · [Preserved copy](https://github.com/steel-experiments/internal-agents-map/blob/main/archive/sources/sentry-junior-source-1/content.md)

### Model

Claude Sonnet (faster); swappable (Opus as a more expensive option)

Fact · Reported · High confidence · `sentry-junior--architecture-model`

Confidence reason: A linked first-party source states the claim.

Evidence:

- Supports · [1] [Building an Intern (Junior at Sentry)](https://cra.mr/building-an-intern/) · [Preserved copy](https://github.com/steel-experiments/internal-agents-map/blob/main/archive/sources/sentry-junior-source-1/content.md)

### Interfaces

slack, web, github

Fact · Reported · High confidence · `sentry-junior--architecture-interfaces`

Confidence reason: A linked first-party source states the claim.

Evidence:

- Supports · [1] [Building an Intern (Junior at Sentry)](https://cra.mr/building-an-intern/) · [Preserved copy](https://github.com/steel-experiments/internal-agents-map/blob/main/archive/sources/sentry-junior-source-1/content.md)

### Tool access

Progressive discovery via MCP; by default Junior connects to no provider until the agent requests a tool lookup; plugins connect Sentry, GitHub, Linear, Notion

Fact · Reported · High confidence · `sentry-junior--architecture-tool-access`

Confidence reason: A linked first-party source states the claim.

Evidence:

- Supports · [1] [Building an Intern (Junior at Sentry)](https://cra.mr/building-an-intern/) · [Preserved copy](https://github.com/steel-experiments/internal-agents-map/blob/main/archive/sources/sentry-junior-source-1/content.md)

### Knowledge

Conversation transcripts persisted in Redis; repo search to trace code paths; skill docs (TELEMETRY.md, SOUL.md)

Fact · Reported · High confidence · `sentry-junior--architecture-knowledge`

Confidence reason: A linked first-party source states the claim.

Evidence:

- Supports · [1] [Building an Intern (Junior at Sentry)](https://cra.mr/building-an-intern/) · [Preserved copy](https://github.com/steel-experiments/internal-agents-map/blob/main/archive/sources/sentry-junior-source-1/content.md)

### Credentials

On-path proxy injection; the model never sees the token because it is not in the sandbox; plugins declare OAuth flows and credential domains; GitHub distinguishes read vs. write

Fact · Reported · High confidence · `sentry-junior--architecture-credentials`

Confidence reason: A linked first-party source states the claim.

Evidence:

- Supports · [1] [Building an Intern (Junior at Sentry)](https://cra.mr/building-an-intern/) · [Preserved copy](https://github.com/steel-experiments/internal-agents-map/blob/main/archive/sources/sentry-junior-source-1/content.md)

### Context management

Incremental transcript updates in Redis; resource subscriptions to GitHub PR events for follow-ups

Fact · Reported · High confidence · `sentry-junior--architecture-context-mgmt`

Confidence reason: A linked first-party source states the claim.

Evidence:

- Supports · [1] [Building an Intern (Junior at Sentry)](https://cra.mr/building-an-intern/) · [Preserved copy](https://github.com/steel-experiments/internal-agents-map/blob/main/archive/sources/sentry-junior-source-1/content.md)

## Reported metrics

### Headline claim

Open-source (Apache-2.0) Slack agent (~100k lines of TS) used internally at Sentry

Metric · Reported · High confidence · `sentry-junior--headline-metric`

Confidence reason: A linked first-party source states the claim.

Qualifications:

- The source does not report the denominator of this figure.
- Reported by: Sentry
- Scope: Junior codebase size and license in the author report

Evidence:

- Supports · [1] [Building an Intern (Junior at Sentry)](https://cra.mr/building-an-intern/) · [Preserved copy](https://github.com/steel-experiments/internal-agents-map/blob/main/archive/sources/sentry-junior-source-1/content.md) · Preserved content.md, lines 10–24, 34–60
- Supports · [4] [getsentry/junior Apache 2.0 license](https://github.com/getsentry/junior/blob/main/LICENSE?plain=1) · [Preserved copy](https://github.com/steel-experiments/internal-agents-map/blob/main/archive/sources/sentry-junior-source-4/content.md) · Preserved content.md, lines 412–414

### Key observation

Around 100,000 lines of TypeScript excluding tests, evals, docs, and lockfiles

Metric · Reported · High confidence · `sentry-junior--key-metrics-0`

Confidence reason: A linked first-party source states the claim.

Qualifications:

- The source does not report the denominator of this figure.
- Reported by: Sentry
- Scope: TypeScript lines in Junior excluding tests, evals, documentation, and lockfiles

Evidence:

- Supports · [1] [Building an Intern (Junior at Sentry)](https://cra.mr/building-an-intern/) · [Preserved copy](https://github.com/steel-experiments/internal-agents-map/blob/main/archive/sources/sentry-junior-source-1/content.md) · Preserved content.md, lines 22

### Key observation

4 months from start to writeup

Metric · Reported · High confidence · `sentry-junior--key-metrics-1`

Confidence reason: A linked first-party source states the claim.

Qualifications:

- The source does not report the denominator of this figure.
- Reported by: Sentry
- Scope: Author-reported development and iteration time before the writeup

Evidence:

- Supports · [1] [Building an Intern (Junior at Sentry)](https://cra.mr/building-an-intern/) · [Preserved copy](https://github.com/steel-experiments/internal-agents-map/blob/main/archive/sources/sentry-junior-source-1/content.md) · Preserved content.md, lines 10–22

## Lessons and interpretation

### Lesson

One general-purpose agent connected to many company systems beats several vendor-specific bots

Inference · Catalog judgment · Medium confidence · `sentry-junior--lessons-learned-0`

Confidence reason: The catalog derives this observation from the linked sources.

Evidence:

- Supports · [1] [Building an Intern (Junior at Sentry)](https://cra.mr/building-an-intern/) · [Preserved copy](https://github.com/steel-experiments/internal-agents-map/blob/main/archive/sources/sentry-junior-source-1/content.md)

### Lesson

Skills-as-runbooks encode operational knowledge the agent can follow

Inference · Catalog judgment · Medium confidence · `sentry-junior--lessons-learned-1`

Confidence reason: The catalog derives this observation from the linked sources.

Evidence:

- Supports · [1] [Building an Intern (Junior at Sentry)](https://cra.mr/building-an-intern/) · [Preserved copy](https://github.com/steel-experiments/internal-agents-map/blob/main/archive/sources/sentry-junior-source-1/content.md)

### Lesson

Stateless compute fights you; serverless functions time out and disappear; model the agent around interrupt/resume

Inference · Catalog judgment · Medium confidence · `sentry-junior--lessons-learned-2`

Confidence reason: The catalog derives this observation from the linked sources.

Evidence:

- Supports · [1] [Building an Intern (Junior at Sentry)](https://cra.mr/building-an-intern/) · [Preserved copy](https://github.com/steel-experiments/internal-agents-map/blob/main/archive/sources/sentry-junior-source-1/content.md)

### Lesson

Unit tests are the wrong yardstick for agents; invest in evals and integration tests instead

Inference · Catalog judgment · Medium confidence · `sentry-junior--lessons-learned-3`

Confidence reason: The catalog derives this observation from the linked sources.

Evidence:

- Supports · [1] [Building an Intern (Junior at Sentry)](https://cra.mr/building-an-intern/) · [Preserved copy](https://github.com/steel-experiments/internal-agents-map/blob/main/archive/sources/sentry-junior-source-1/content.md)

### Lesson

Writes need per-user authorization, not blanket trust

Inference · Catalog judgment · Medium confidence · `sentry-junior--lessons-learned-4`

Confidence reason: The catalog derives this observation from the linked sources.

Evidence:

- Supports · [1] [Building an Intern (Junior at Sentry)](https://cra.mr/building-an-intern/) · [Preserved copy](https://github.com/steel-experiments/internal-agents-map/blob/main/archive/sources/sentry-junior-source-1/content.md)

## Sources

1. [Building an Intern (Junior at Sentry)](https://cra.mr/building-an-intern/)
   - Engineering blog · First party · Evidence
   - Original URL: <https://cra.mr/building-an-intern/>
   - Accessed: 2026-08-12 · Last verified: 2026-08-31
   - Preserved copy in the repository: <https://github.com/steel-experiments/internal-agents-map/blob/main/archive/sources/sentry-junior-source-1/content.md>
2. [getsentry/junior source repository](https://github.com/getsentry/junior)
   - Repository · First party · Evidence
   - Original URL: <https://github.com/getsentry/junior>
   - Accessed: 2026-08-12 · Last verified: 2026-08-31
   - Preserved copy in the repository: <https://github.com/steel-experiments/internal-agents-map/blob/main/archive/sources/sentry-junior-source-2/content.md>
3. [Sentry Labs](https://labs.sentry.dev/)
   - Documentation · First party · Evidence
   - Original URL: <https://labs.sentry.dev/>
   - Accessed: 2026-08-12 · Last verified: 2026-08-31
   - Preserved copy in the repository: <https://github.com/steel-experiments/internal-agents-map/blob/main/archive/sources/sentry-junior-source-3/content.md>
4. [getsentry/junior Apache 2.0 license](https://github.com/getsentry/junior/blob/main/LICENSE?plain=1)
   - Source code · First party · Evidence
   - Original URL: <https://github.com/getsentry/junior/blob/main/LICENSE?plain=1>
   - Accessed: 2026-08-31 · Last verified: 2026-08-31
   - Preserved copy in the repository: <https://github.com/steel-experiments/internal-agents-map/blob/main/archive/sources/sentry-junior-source-4/content.md>
