Evidence-first dev loop for Slack
Stop asking AI to guess what your code does.
Beacon turns Slack into a codebase control room: ask a question, retrieve evidence, answer with citations, review a PR, diagnose CI, and open the fix PR without leaving the thread.
incident thread
#eng-help
Dana 10:24
@beacon why does create-PR use a queue instead of waitUntil?
Beacon APP
Because Cloudflare can cancel waitUntil work after the response returns, and PR creation can exceed that budget. The slash handler enqueues durable work instead.
workers/slack-bot/wrangler.toml:31-38
src/actions/createPr.ts:24-61
FTS5 hit
Vector hit
Graph expansion
Reranked answer
Cursor Slack Agent answers in Slack. Useful, but editor-first context is still the center.
CodeRabbit-style agents review PRs. Helpful, but the loop starts after code is written.
Beacon starts with the team question and keeps going until there is a cited answer or a fix PR.
The anti-hallucination contract
Every answer enters with a badge, a source, and an escape hatch.
01 / Grounded
Cited or silent.
Beacon builds answers only from retrieved code chunks and returns file-line citations. If the evidence is missing, it refuses the answer instead of filling the gap with confidence.
claim
retrieve
cite
verified source
workers/slack-bot/src/signature.ts:21-44
02 / Multi-hop
It traces why.
Lexical search, vectors, and code-graph expansion work together, then an agent runs follow-up reads when the first pass is thin.
FTS5
Vector
Graph
03 / Slack-native
The thread is the UI.
Channels, DMs, mentions, slash commands, emoji triggers, and assistant pane follow-ups all preserve team context.
#release-room
thread context kept
Sam
@beacon fix this CI failure?
Beacon
hydrateContent is the likely fault. React to open a PR.
[1] ci/logExcerpt.ts:12-58
/ask-code
@mention
rocket reaction
abstention gate
NO SOURCE
NO ANSWER
Not a bot. A loop.
Beacon connects the moments other Slack agents leave scattered.
Ask
A question lands where the team already is.
@beacon or /ask-code in channels, DMs, and the Slack assistant pane.
Retrieve
The index fans out for evidence.
BM25, Vectorize, and one-hop call/import graph expansion retrieve the surrounding code context.
Answer
The reply arrives with source lines.
Streaming answers cite paths and line ranges so the team can verify the claim immediately.
Review
PR review sees more than the diff.
Paste a PR URL or react to a link and Beacon reviews against indexed repo context.
Fix
The thread can become a pull request.
Describe the issue, react, and Beacon proposes file edits and opens a PR.
Triage
Red CI loops back to Slack.
GitHub Actions failures become cited diagnoses, with transient flakes separated from real fixes.
Against current Slack-agent options
Beacon is built for engineering leads who need the whole loop, not one more clever reply.
market scan
slack agents
gap analysis
CS
B
Cursor Slack Agent
Good when the ask starts near an editor.
Beacon's pitch is different: the team thread is the center, and the agent can continue from question to review, CI diagnosis, and fix PR.
Beacon edge: team-wide loop ownership.
CR
B
CodeRabbit-style Slack agent
Strong around PR review events.
Beacon covers review, but it also handles the question before the PR and the failed build after it.
Beacon edge: pre-PR and post-CI workflow.
AI
B
Generic AI in Slack
Fast answers, weak provenance.
Beacon is deliberately narrower: no retrieved evidence means no answer. The product earns trust by showing its working.
Beacon edge: evidence over fluency.
Beacon verdict
Answers + reviews + triages + opens the fix PR, with receipts.
Infrastructure posture
Runs on your Cloudflare. Indexed by your GitHub Actions. MIT licensed.
Two Workers, D1 with SQLite FTS5, Vectorize, Queues, Workers AI, tree-sitter chunking, secret redaction, and an indexing pipeline you can inspect.
Slack
slack-bot Worker
D1 + Vectorize
GitHub App
webhook Worker
Actions indexer
Bring receipts to every Slack answer
Point Beacon at the repo. Let the thread prove itself.