Open source · self-hosted

Your company's brain, working in public.

the one rule: it only works in public channels

It answers from what your company already knows, turns decisions into shipped code, and learns from every thread.

Self-host: bun install && bun start

Pre-alpha
Not ready for production
# eng-billingFig. 1 · example thread
M
Maya Chen 10:02

@scout why do invoice retries stop after three attempts? Is that on purpose?

s
scout AGENT10:02

Yes. #billing decided it on June 12: three retries, then the invoice goes to manual review, because a fourth retry was tripping card-issuer fraud flags. Tomás Ruiz made the change. #billing · Jun 12 ↗1

T
Tomás Ruiz 10:05

Right. We should email the customer before it hits manual review, though. @scout can you take that?

s
scout AGENT10:05

Opened ENG-4122 and started in my sandbox.

git clone acme/billing
edit src/billing/retry.ts, src/email/templates/review.tsx
bun test billing … 48 passed 3

Open a pull request from scout/email-before-review?

ApproveDenyMaya Chen approved4
Lore savedInvoice retries: 3, then manual review. The customer is emailed first (ENG-412).5
1cites where it read that
2opens the issue
3codes in its own sandbox
4a person approves the PR
5remembers for next time
Illustration. 1, 3 and 4 run today. 2 and 5 are under construction.
01 · Why public

Why it only works in public

A private agent is only as good as the person typing. An agent that works in public gets better with everyone who watches, corrects and builds on it.

Private assistants

Every answer stays in one DM. The next person asks the same question and starts from zero.

Lorehouse

Works in public channels only. One person's hard-won answer becomes the next person's starting point, and anyone can step in to correct it.

02 · What it does

What it does, and what runs today

The whole system on one drawing. Solid lines run today, hatched parts are being built, dashed parts are designed but not built.

CHANNELSAGENTKNOWLEDGE AND CONNECTIONStool callsapprovedisolated microVM, one per threadSlackmentions and threadsEmailsend and receiveLorehouse applore and settingsOther chat toolsbeyond SlackRoutineson a scheduleDreamingovernightAgentanswers, cites, plansdurable turns, approvalsSlack historyindexed, citedReposcode as knowledgeMCP serverstools and dataDatabases, APIsthrough connectionsSaved lorenotes after each sessionIssuesLinear, GitHubSandboxclone, edit, testPull requestafter a person approves
BuiltUnder constructionProposed
dashed means not built yet. we'd rather show you than pretend.

Knows

Answers from your company's Slack history and cites every claim. When nothing turns up, it says so and doesn't guess. Repos and MCP servers come next.

Slack history
Repos, MCP servers
Databases, APIs, wikis

Builds

Writes the change in its own sandbox, runs the tests, and opens a pull request once a person approves it. Next: opening the Linear or GitHub issue from the thread.

Sandbox, approved PRs
Issues from threads

Connects

Planned: sending and reading email, and new abilities through connections whose credentials the model never holds.

Email, MCP and OpenAPI connections

Shows up

Works in Slack, where your team already talks. Planned: other chat tools, and an app of its own for everything it knows.

Slack
Other chat tools, the Lorehouse app

Keeps learning

Next: saving what it learned after each session. Planned: routines on a schedule, and reviewing what it learned overnight.

Saving what it learned
Routines, dreaming
03 · How it learns

Every thread makes the next answer better

Lore is what your company knows, plus what Lorehouse learns while working for it.

  1. Step

    Ask in public

    Someone mentions the agent in a channel. Everyone can read along and step in.

    Built
  2. Step

    Do the work

    It searches what your company knows and codes in a sandbox of its own.

    Built
  3. Step

    Save what it learned

    What it learned will become a note the next session starts from, linked to its thread.

    Under construction
    this is the part that compounds
  4. Overnight

    Dreaming

    While nobody is asking, it will merge duplicate notes, correct what went stale and drop what turned out wrong.

    Proposed

Then back to step 1

04 · The Lorehouse app

See what it knows and what it did

Lorehouse's own web app. It doesn't replace your chat. A chat surface comes later.

  • LoreBrowse and correct what it knows, each note linked to its source.
  • SessionsEvery thread it worked in, with the tools it called and the PRs it opened.
  • RoutinesWork it does on a schedule, like a Monday digest or the nightly review.
  • ConnectionsRepos, knowledge bases, databases, APIs, MCP servers and email.
sketch, not a screenshot. proposed.
Lorehouse app / LoreWireframe

Invoice retries

Three retries, then manual review. The customer is emailed before review starts.

#eng-billing threadENG-412updated overnight

Who owns billing

Tomás Ruiz owns retry logic; Maya Chen owns customer email templates.

2 threadscited 14 times
05 · Principles

How it behaves

01

Public by default

It works in public channels. A DM gets pointed to one, and private channels stay shut.

02

Shows its work

Every answer links to where it came from. No source, no claim.

03

People approve

Code becomes a pull request only after a person approves it in the thread.

04

Quiet by design

It names people but never @-mentions them, so asking about someone doesn't ping them.

05

Yours to keep

Self-hosted, with its data in plain SQL in your own database.

06 · For engineers

Built to be read, run and replaced

TypeScript on the June framework, with Firecracker sandboxes. A black-box conformance suite pins its behavior, so any implementation that passes it is interchangeable.

Durable turnsA turn survives a restart and waits for a person's approval.
Prompts are MarkdownRead and change them like any other file in the repo.
Reads Chinese, Japanese and KoreanSearch works on CJK text, not only on words split by spaces.
Keeps the index truthfulEdits and deletions reach it, and a deleted message can't be quoted.
# point it at a public channel
SLACK_SIGNING_SECRET=… SLACK_BOT_TOKEN=xoxb-… \
ANTHROPIC_API_KEY=… AGENT_CHANNELS=C0123456 \
bun start
envdefaultwhat
AGENT_NAMEscoutThe agent's handle in Slack
DM_MODEredirectPoint a DM to a public channel, ignore it, or answer from public knowledge
INGEST_BACKFILL_DAYS90How much channel history it reads on first start
07 · What it reads

Know exactly what it knows

Reads

  • Threads in the public channels you allow
  • Seed documents you give it
  • The repos and connections you add

Never reads

  • Private channels and group DMs
  • Direct messages. It can reply to one, but never indexes it
  • Messages after they're deleted
08 · Roadmap

Now, next, later

Pre-alpha. It runs against real Slack, but it isn't ready for your team yet.

Built

Now

  • Answers from Slack history, with citations
  • Sandbox coding and approved pull requests
  • Public-only policy and DM handling
Under construction

Next

  • Issues in Linear and GitHub from a thread
  • MCP connections and repo knowledge
  • Saving what it learned after each session
Proposed

Later

  • Email, other chat tools, the Lorehouse app
  • Routines and dreaming
  • Hosted Lorehouse

Follow the build

Star the repo to watch it come together, or leave your email and we'll tell you when hosted Lorehouse opens.

we build this in the open too.Star on GitHub

One email when hosted Lorehouse opens. Nothing else. Privacy