Repository navigation
Hindsight is missing from the memory provider list in docs/memory #5029
Description
What problem are you trying to solve?
Since #4963, Hindsight installs as eve add memory/hindsight and is a kind: "memory" entry in @eve/catalog. It does not appear anywhere in docs/memory/overview.mdx, which is where someone actually chooses a provider: the "Choose a provider" table lists File memory, Supermemory, Upstash AgentKit, Kybernesis Arcana and "your own", and each has a ### section below it.
That table and those sections are hand-written, and nothing derives them from the catalog, so a registry item can be installable while staying invisible at the point of choice. The same gap applies to the next memory provider added to the catalog.
Disclosure: I maintain the Hindsight provider, so the second half of this is self-interested. The general point about the table drifting from the catalog is not.
Proposed solution
Add a row and a section for Hindsight in the shape the other three already use.
Row for the "Choose a provider" table:
| [Hindsight](#hindsight) | `@vectorize-io/hindsight-eve` | Semantic recall on the live user message, one bank per scope | Automatic after each turn, plus a reflect tool |
Section, after Kybernesis Arcana:
### Hindsight
[Hindsight](https://hindsight.vectorize.io) is an open-source agent-memory
service, hosted or self-hosted, with an eve provider. It recalls memories
relevant to the user's message before each turn, captures the exchange after,
and gives the model a `reflect` tool for questions that need reasoning across
memories rather than retrieval of a few.
```bash
eve add memory/hindsight
```
The command installs `@vectorize-io/hindsight-eve` and writes a `hindsight`
slot:
```ts title="agent/memory/hindsight.ts"
import { hindsightMemory } from "@vectorize-io/hindsight-eve";
import { defineMemory } from "eve/memory";
import { byPrincipal } from "eve/memory/scope";
export default defineMemory({
description: "Long-term memory about the current user.",
provider: hindsightMemory(),
scope: byPrincipal,
});
```
Each locked scope gets its own Hindsight bank, so recall reads one caller's
store rather than filtering a global search. See the
[Hindsight integration page](/integrations/hindsight) for options.Only HINDSIGHT_API_KEY is required; HINDSIGHT_API_URL defaults to Hindsight Cloud and is set for a self-hosted server.
Prompt or implementation plan for our agents (optional)
Add the row and section above to docs/memory/overview.mdx, keeping the existing order and wording conventions.
Worth considering at the same time, and the part that stops this recurring: the provider table duplicates what @eve/catalog already knows. memoryEntries() carries the slug, name and tagline for every kind: "memory" entry, and apps/docs/scripts/validate-memory-registry.ts already asserts that the registry items and the catalog agree. A similar check over docs/memory/overview.mdx — every catalog memory entry has a table row and an anchor — would fail loudly the next time a provider is added to one and not the other, without having to generate the prose.
Validation: eve add memory/hindsight in a fresh eve init project, set HINDSIGHT_API_KEY, eve build exits 0 and the compiled manifest carries the slot:
"memories": [
{ "slot": "hindsight", "logicalPath": "memory/hindsight.ts", "visibility": "scope",
"description": "Long-term memory about the current user." }
]I ran that on eve 0.80.1 with @vectorize-io/hindsight-eve@0.3.1 while working through #4961.
Alternatives considered
- Leave it. The integration page at
/integrations/hindsightexists either way, so this is discoverability withindocs/memoryrather than a broken path. - Generate the whole table from the catalog. More invasive, and the per-provider prose is genuinely hand-written, so a validation check seemed the better trade.
Happy for your agents to take this.
Activity
roboeve commentedon Oct 19, 2026
Confirmed on
origin/main:hindsightis akind: "memory"entry inpackages/eve-catalog/src/index.tsand ships asapps/docs/registry/memory/hindsight.ts, butdocs/memory/overview.mdxhas no table row or section for it. The proposedagent/memory/hindsight.tssnippet matches the registry file exactly.The drift check fits next to the existing one:
apps/docs/scripts/validate-memory-registry.ts(registry:validate:memory) already comparesmemoryEntries()withregistry.json. Extending it tooverview.mdxshould key on the catalogname, notslug, since anchors follow headings (arcanais#kybernesis-arcana,fileis#file-memory).Labeled as a docs change, so no repro needed.