Skip to content
The durable context for agentic software

The identity layer for software.

Capture the decisions, contracts, and invariants that define your system—then make them available to every engineer, tool, and AI agent before work begins.

Start with one system promise. Expand from there.

~/projects/ribo-main
1$ ribo init
2Initialized ribo identity in .ribo/
3$ ribo encode
4Encoded 3 identity artifacts to .ribo/dna.yaml
5$ribo search "how do we handle auth?"
6Auth-Stateless-Policy (Invariant, 0.98)
Enterprise foundations

Enterprise-ready from day one.

Security controls

Keep identity artifacts scoped to the teams and systems that need them.

Single sign-on

Bring SSO and SAML into the same access model as the rest of your stack.

Audit-ready history

Give reviewers a durable record of artifacts, proposals, and decisions.

Why software identity matters now

AI generates 41% of committed code.

More code is entering your repo with less shared memory behind it.

GitClear, 2025

Individual developers are 21% faster. Organizations aren't.

Personal productivity is rising. Organizational alignment is the part still leaking.

Faros AI / DORA 2025

Context resets every session. Identity persists across all of them.

Better prompts help once. Declared identity helps every agent, every review, every sprint.

How It Works

Three steps. One shared memory.

1

Declare

Name the promise your software makes: its purpose, contracts, constraints, and refusals. The useful part is not the document. It is the boundary everyone can trust.

ribo encode
# Define an invariant
$ribo encode --type invariant
name: "idempotency-required"
rule: "All payment endpoints must be idempotent"
2

Connect

One MCP config turns scattered tool memory into shared product memory. Cursor, Claude, Copilot — same truth, before the first suggestion.

mcp-config.json
{
  "mcpServers": {
    "ribo": {
      "command": "ribo",
      "args": ["mcp", "serve"]
    }
  }
}
CU
CL
CO
WI
3

Reconcile

Spot the gap between what you declared and what shipped. Some gaps are harmless. Some become outages. Now the team can tell the difference.

auth-policy: aligned
rate-limiting: aligned
idempotency: DRIFT — retry loop set to 5
The Delta

The prompt is not the variable. The identity is.

Without DNA

Agent generates a payment endpoint.

  • No idempotency on the charge endpoint
  • Error format doesn't match RFC 7807
  • Ignores the rate limiting convention entirely
  • Passes code review because the reviewer checks syntax, not intent
With DNA

Same agent reads identity first.

  • Idempotency key required on all payment endpoints
  • Errors follow RFC 7807 — the declared contract
  • Rate limiting uses shared middleware
  • Generates compliant code from the start
Integrations

One identity.
Every tool.

The point is not another dashboard. The point is one durable truth that follows the work into every tool.

mcp-config.json
{
  "mcpServers": {
    "ribo": {
      "command": "ribo",
      "args": ["mcp", "serve"]
    }
  }
}
Cursor
Cursor
Claude
Claude
Copilot
Copilot
Windsurf
Windsurf
Linear
Linear
Sentry
Sentry
CodeRabbit
CodeRabbit
+
Custom
65%

of developer time goes to understanding code, not writing it.

Stripe Developer Coefficient
67.3%

of AI-generated PRs get rejected. Human-written: 15.6%.

LinearB 2026
91%

increase in review time since AI adoption.

Faros AI / DORA 2025

These are the symptoms. Identity is the treatment.

From the Compendium

Ideas for teams feeling the drift.

View all insights
Essay16 min read

The DNA-First Organization

The traditional org was designed around code production. An identity-first org is designed around trust production. Here's what changes for product, engineering, compliance, marketing, support, and ops when the identity layer becomes the center.

Your software already has an identity. It's just not written down yet.

Define your first artifact and give every agent the same place to start.