How it works
Connect once. OSAgent keeps the thread.
Five steps, and you only do the first one. After that it runs in the background: reading what your team already produces, linking it together, and holding it until somebody asks.
- Connect
- Observe
- Connect the story
- Answer with evidence
- You decide
Connect your sources.
An admin approves the access OSAgent asks for, source by source, and you choose the scope: which channels, which repositories, which documents. OSAgent reads them without modifying your work. On Slack it also requests the permission to deliver a digest back to you — that stays off until an admin turns delivery on. Credentials are held per workspace and encrypted at rest.
- Slack
- The channels you choose. Ones you don't connect stay invisible to it.
- GitHub
- Pull requests, reviews, commits and the CI result attached to them.
- Documents
- Specs, plans and notes you point it at, plus anything you upload.
- Meeting transcripts
- Only meetings your team recorded, and only where consent was given.
Disconnecting is a first-class action, not a support ticket. When you disconnect a source, what that source brought into the memory is removed with it.
Observe — which means read, and only read.
“Observe” is the word doing the most work in this product, so here is exactly what it means.
Ingestion
New messages in connected channels, pull requests and their reviews, commits, CI results, the documents you connected, and recorded meeting transcripts arrive as raw events. Read access only; OSAgent never modifies your work.
Classification
Each item is read once and judged for operational meaning. Most messages have none — a lunch thread is not a decision — and stop there. Only what carries meaning is worth the cost of understanding it.
Extraction
What survives gets read for the things a company needs to remember: a decision, an owner, a deadline, a blocker, a change of scope. Each one is stored with the exact source it came from and how confident the model was.
The rule the whole product rests on
A fact with no source is not stored. Not stored with a warning, not stored at low confidence — not stored. Provenance cannot be added afterwards, so it is written at the same moment the fact is. Everything on the rest of this page is downstream of that one decision.
Billing retry is blocked on the payments-webhook contract.
Connect the story.
A message about a deadline and the pull request that missed it are two unrelated records until something links them. Linking them is the product.
OSAgent resolves the same person across sources, ties a conversation to the change that followed it, ties that change to the project it belongs to, and ties the project back to the decision that set its scope. That is what turns a pile of events into a story someone can read.
And because both halves now sit in one record, the disagreements become visible: what your team said, next to what actually happened. When the plan and the record contradict each other, that contradiction is the most useful thing on the page — so it gets surfaced rather than smoothed over.
Answer with evidence.
Ask in plain language — “why is billing retry blocked?”, “what did we decide about the migration?” No query syntax, no prompt engineering. The answer comes back with the messages, pull requests and documents behind it, and you can open any of them.
When the record supports it
You get the answer, the sources it was drawn from, and a plain statement of how confident OSAgent is. Every claim is traceable to something a human wrote.
When it doesn't
OSAgent says so. It returns the refusal instead of an answer it cannot cite, and tells you which source would need to be connected for the question to be answerable. Why that matters.
You decide.
A morning digest gives you the short version before the first meeting: what changed, what is blocked, what needs a decision. Not fourteen dashboards and sixty unread messages — the handful of things that actually moved.
When OSAgent has something to suggest, it suggests it. A recommendation stays a proposal until a person with the authority to decide accepts it, and the record keeps who accepted it and when. Nothing acts on your company on its own.
OSAgent doesn't run your company.
It gives you the context to run it.
It observes, connects, explains and recommends. The last step is always a person. This is not a posture we plan to relax once the model gets better — it is the shape of the product.
- Observes
- Connects
- Explains
- Recommends
- You decide
What OSAgent never does.
Write into your tools
No posting, commenting, merging, closing, assigning or editing. Integrations request read scopes and nothing more.
Author your work
It does not write your specs, your code or your standup. It reads what your team produced and remembers it.
Answer without a source
No plausible-sounding reconstruction. If the record does not support it, you get a refusal.
Mix your memory with anyone else's
Every read is scoped to your workspace, and the scope is checked on the request rather than assumed.
What it takes to start.
- An admin who can approve the read scopes for the sources you want connected.
- About half an hour of setup, once. After that it runs in the background.
- A first question you already know the answer to — the fastest way to judge whether the memory is any good.
OSAgent is in a private pilot. Workspaces are set up with you — there is no self-serve signup, and there will not be one until the pilot is finished. That is a deliberate limit, not a waiting list gimmick: we would rather set up ten workspaces properly than ten thousand badly.
Watch it read your own week.
The honest test of an operating memory is a question you already know the answer to. Bring one, and we'll connect a source and ask it together.
no self-serve signup · workspaces are set up with you