Product

One surface for your company's memory.

Operators manage what's connected and what agents can see. Engineers read the same memory through the API. Same workspace, same audit trail.

01 · Sources

Connect what your company already uses.

Slack, Google Drive, Notion, and Gmail are live. Each connector ships with channel allowlists, sync health, source counts, and per-source freshness — no surprise indexing.

Slack

Workspaces, channels, threads, permalinks. Channel-level allowlist; DM scope is intentionally excluded today. Auto-sync runs on a configurable cadence; every source item preserves channel basis as part of its access policy.

oauth · channels you choose

Google Drive

Documents, spreadsheets, markdown, CSV, PDF, plus folder hierarchies and image assets indexed via catalog records (no binary download). Owner, sharing user, and per-file permission summary are preserved as access policy on every result.

oauth · per-account identity

Sync health

The worker claims queued sync runs with FOR UPDATE SKIP LOCKED so multiple workers never double-process the same connector. Per-connector deduplication prevents two simultaneous active runs.

atomic claim · for update skip locked

Backfill visibility

The console flags Drive connectors with source items that pre-date access-policy preservation, with the exact item count missing and a re-sync CTA. Operators always know what's eligible for retrieval.

policyHealth · per-connector
02 · Memory canvas

The graph of what your company actually knows.

Repo chunks, embeds, and extracts entities from your sources, then writes them onto a single canvas with provider, channel or folder basis, freshness, and access policy on every node.

Provider-namespaced clusters

Channels, folders, people, and decisions are namespaced by provider so Slack and Drive entities with the same label don't collapse into one cluster. Click a cluster to filter the canvas to that provider.

entity:slack:person:… · entity:google_drive:document:…

Drive folder paths

Drive sources surface their folder basis — Brand/assets/svg, Ops/playbooks, etc. — so an agent can find a file by where it lives, not just what's inside it.

folderPath · assetKind

Entity dedupe

The same person across Slack and Drive maps to one canvas node. Conflicts surface in the inspector instead of silently collapsing.

canonicalize · merge

Selection-aware layout

Selecting an integration or cluster narrows the ring to just that provider's channels and entities, cutting visual noise without losing the global view.

filter on selection
03 · Ask

Operator-grade answers, source-backed by default.

Operators ask in plain English. Every answer ships with the exact messages, files, and folders it was built from, plus per-result freshness and an asset-aware structure for “where is …” queries.

Asset-intent ranking

Queries about logos, folders, brand files, or assets get a soft retrieval boost on Drive results that carry an isAsset flag — Repo answers with the file path and link instead of a paragraph of prose.

logos · folders · assets · brand

Freshness on every snippet

Each citation reports the age of the underlying source and the last sync of the connector. Agents can choose to ignore stale evidence at the prompt layer.

sourceAgeHours · syncAgeHours

Console + API parity

The console and any agent see the same retrieval; the only difference is auth. Console requests run under the signed-in user; agent requests run under a scoped API key.

/v1/console/ask · /v1/ask

LLM with deterministic fallback

Repo synthesizes a natural-language answer with OpenAI when configured. If the model fails or is unavailable, Repo returns the deterministic source-stitched answer instead of failing the request.

OPENAI_ANSWER_MODEL · fail-open
04 · Activity & audit

Every agent call. Every source. Every receipt.

Sync runs and retrieval audits live on one timeline. Filter by actor, action, or provider. Inspect a single retrieval to see exactly what evidence was returned, what was excluded, and why.

Audit on /v1/context

Every successful context call writes a row keyed by request id with the actor, scope, evidence ids, freshness, and limitations — metadata only, never snippet text.

action: context.retrieve

Admin write audit

Every admin write — key creation, key revocation, allowlist updates, sync triggers, ingest, maintenance — records an audit event with the actor and a metadata-only payload.

api_key.create · sync_run.create · …

Per-key, per-action rate limits

The API enforces atomic per-key, per-action rate windows in Postgres. Limited responses return 429 with Retry-After and X-RateLimit-* headers and never touch retrieval or audit.

api_rate_limit_windows · 429 · Retry-After

Inspector

The Activity inspector renders the Context Contract envelope for any past retrieval — actor identity, allowed actions/providers, retrieval stats, providers returned, exclusions, and limitations.

actor · access · retrieval · evidence
Private beta · onboarding new teams

See your company memory
in the console.

A live workspace walkthrough is the fastest way to see what governed memory looks like with your sources.