Orin is the institutional memory for your engineering team

Meet the memory layer for modern software teams.
It remembers every decision and catches the ones you repeat.

Orin
Search...⌘K
Catches3
Decisions
Workspace
Repos
Rules
Knowledge graph
Integrations
Favorites
acme/api
acme/web
Decision log
Your Teams
Slack workspace
Linear org
Help & Support

Catches

PR-214

Re-proposes ISSUE-42: Redis cache

check failed with citation

2m
ISSUE-42Project

Add Redis as caching layer

recorded as rejected

1d
PR-198

Switch API to microservices

advisory: cites ISSUE-17

2d
DOC-7

Rule: no new runtime deps

seeded via @orinbot rule

4h
OVERRIDE-9

Adopt Redis for rate limiting

supersedes ISSUE-42 (scoped)

1w
Project

Slack: /why redis rejected?

answered with evidence

PR-201

Add GraphQL gateway

maya rated: good catch

1w
Project

Linear: ORB-33 flagged

agent replied in session

acme/apiDecision memoryPR-214

Add Redis caching layer

Orin.check_rejected flagged this pull request as a re-proposal of a decision.
@decision(ISSUE-42,outcome:rejected,superseded:false)
reason ops_burden: postgres_views_cover_caching;
Evidence: chunk 1 of ISSUE-42, recorded Feb 2026, cited in 3 catches so far.
View cited decision
Override with receipts
ISSUE-42 rejected Feb 2026: extra service to operate, views cover caching
Activity

orin flagged re-proposal to ISSUE-42

2 minutes ago

maya replied @orinbot good

1 minute ago

Powered byCognee

One memory across every tool your team uses.

GitHub, Slack, Linear, and any MCP-capable agent.

GitHubGitHub
Slack
LinearLinear
CursorCursor
ClaudeClaude Code
VS CodeVS Code
DeepSeekDeepSeek
OpenAICodex
See all integrations

Made for teams that ship for years

Orin is shaped by one observation about long-lived codebases: every rejected idea eventually returns. Context leaves, reviewers change, and the same debates repeat. Orin keeps the receipts. See how it works

Artificial intelligence

Memory your AI agents can query

Orin for Agents. Your coding agents check every change against past decisions over MCP, before the pull request even exists.

Open the dashboard
Ask Orin...
CursorCursorAgent
GitHub CopilotGitHub CopilotAgent
ClaudeClaude CodeAgent
WindsurfWindsurf
OpenAICodexAgent
CI pipeline

Feedback that reweights memory

Maintainers rate every catch. Orin reweights the exact graph nodes behind the verdict, every hour.

Catch Intelligence
Verdict
ISSUE-42Redis cache layerGitHub
Cites
Evidence
ISSUE-42

Why this was flagged

This pull request re-introduces a Redis caching layer. ISSUE-42 rejected it: an extra service to operate, and Postgres materialized views already cover caching

Rate the catch

goodbad

Orin MCP

Connect Orin to Cursor, Claude Code, or any MCP client. Ask, check, and record decisions from your editor.

//orin-bot.duckdns.org/mcp

"mcpServers": {

"orin": {

"url": "https://orin-bot.duckdns.org/mcp"

Why did we reject redis?
Decision memory and supersession

Never re-litigate a decision

Every closed PR and issue becomes memory. Orin extracts the decision, the reasoning, and the discussion around it, then guards it going forward.

30
AUG 3
10
17
AUG 22
24
SEP
ISSUE-42: Redis rejected
PR-214 caught
Rule: no new deps
OVERRIDE-7 supersedes

Decisions tracked end to end

Every decision carries its outcome, reasoning, key terms, and source thread in one queryable graph.

Decision ISSUE-42

Properties
Rejectedacme/api
Evidence
🚩Issue thread4 comments
Reasoning
Extra service to run opsPostgres views suffice citedSuperseded by none

Verdicts with receipts

When a PR re-proposes a rejection, the check fails with the citation and a link to the original thread.

No conflict
Advisory
Caught

PR-214 re-proposes ISSUE-42: Redis adds ops burden

2 min ago

Teach Orin how
your team decides

@orinbot rule: seed standing constraints
@orinbot override: supersede with receipts
@orinbot good / bad: tune precision
acme/apiDecision log•••
Recorded:ISSUE-42orin

Adding Redis as a caching layer was rejmayaected. It adds an extra service to operate, and Postgres materialized views already cover our caching needs.

Remember

Closed threads become cited memory.

Recall

Ask why from GitHub, Slack, Linear, or your IDE.

Improve

Maintainer feedback reweights the graph.

Forget

Uninstall prunes the tenant. The memory is yours.

Workflows and integrations

Collaborate across
tools and teams

One memory, every surface. Orin answers where your team already works, and every install provisions its own isolated tenant.

Slack·#backend

/why did we reject redis?

A
Orincited answer
ISSUE-42rejected
Evidence
📅chunk 1 of ISSUE-42

Slack app

Ask /why in the channel where the debate started

PR-214add-redis-cachecheck failed
orinflaggedISSUE-42re-propos...
orinposted citation with evidence...
mayareplied @orinbot good catch...
orinreweighted decision graph...

GitHub App

A required check that cites the decision it protects

Triage

Linear agent

An agent teammate inside your issues

MCP + CLI

Gate CI and IDE agents on past decisions

Self-serve installs

Every workspace gets its own isolated memory

Feedback loop

Good and bad ratings reweight the knowledge graph

ORIN API

Built for developers

Build your own surface on the Orin API

Remember the past. Ship the future.