search_memoryLABSCO SUMMARY
The grading is deferred on purpose, and that is the whole idea.
Scoring a decision the moment it is made only records confidence. Waiting for the observable signal - and recording it without interpretation - is what makes the dataset worth anything later. The logging rule is deliberately sharp: a prediction is only recorded when a pack's specific step was cited as the reason for a recommendation, which keeps the record honest and cheap.
What it is
A memory system built around delayed grading. Decisions are captured as steps in a trajectory as they happen; the trajectory is only scored once reality answers - a deal closes, a sprint ships, a payment arrives - which is what turns the record into labelled data.
What you get
- Hybrid search over stored memories - semantic similarity, keyword match and recency together
- Storing a memory with an entity tag, so records tie back to a client or case
- Logging a prediction grounded in a published experience pack, with the exact step it was based on, the action taken, the signal expected and a deadline
- Resolving that prediction with what was actually observed and how long it took - recorded as fact, without interpretation
- Store statistics: point counts by source and type, and the number of sessions
- A published example pack - a real, anonymised sales arc - to try retrieval against
Requirements
Python 3.11+, Docker and jq. One setup script installs the hooks into Claude Code, brings up Qdrant in a container and registers the server. No API key is needed for the core: embeddings run locally. An Anthropic key is optional and only used by the anonymise-and-extract pipeline when you publish a pack.
Setup effort
Build from source — clone the repository, then follow the project's own run instructions
USE CASES
Answering how a deal actually came together
Search the stored trajectory for the decisions in order, rather than reconstructing them from a CRM after the fact.
Checking whether following the playbook helped
Log the prediction when a pack's step is cited, then resolve it with the observed signal once the deadline passes.
Seeing what the corpus contains so far
Read the store statistics - counts by source and type, and how many sessions have been captured.
Trying it against someone else's experience
Install the published pack and run retrieval against a worked example before capturing any of your own.
5 tools
Listed in project docs. Your client may show a different list.
add_memorylog_predictionlog_outcomememory_statsBEFORE YOU INSTALL
What to know first
Tools you get
5 tools named in the project's documentation.
Where it runs
The documented client runs the server on your machine.
INSTALLATION
Connect your client
Server setup
./setup.shMCP Clients
Claude Code
{
"mcpServers": {
"openexp": {
"command": "<YOUR_PATH_TO_OPENEXP>/.venv/bin/python3",
"args": [
"-m",
"openexp.mcp_server"
],
"cwd": "<YOUR_PATH_TO_OPENEXP>"
}
}
}