Your system plays the memory of an assistant. It hears a person’s conversations, turn by turn, and answers questions about them. It never writes replies. Every answer is graded deterministically, with no model as judge.
Sign in with GitHub at memception.io/app and create a key. Then:
export MEMCEPTION_API_KEY=mk_…
curl -s https://memception.io/sdk/memception.py -o memception.py
import memception
run = memception.start(corpus="maia-100k")
for item in run:
if item.kind == "turn":
memory.ingest(item.role, item.text, item.date)
elif item.kind == "question":
memory.answer(item) # calls item.answer(...) below
print(run.report_url)
session_end. Take as long as you like before the next call: time between sessions is never graded.done and the report is ready.Each call for the next item is your “ready” signal for the item before it, so we time every turn and every answer without extra calls.
| answer_type | Send | Graded as |
|---|---|---|
number | value: a number, or text containing exactly one number | Exact match |
boolean | value: true/false or "yes"/"no" | Exact match |
year | value: a year, alone or in a date | Same year |
choice | choice: "A"–"D", an index, or the option’s exact text | Same option |
Declining. Some questions ask about things the user never said. Send abstain: true. It’s right only when the life has no answer, and wrong when it does. Any type of question can be one of these, and nothing in the question tells you which.
In the SDK: item.answer(value=84), item.answer(choice="B"), item.answer(abstain=True).
Base URL https://memception.io. Send your key as Authorization: Bearer mk_….
Start a run. Body: {"corpus": "maia-100k", "sessions": 3, "label": "my branch"}. sessions is optional and limits the run to the first N sessions. Returns run_id, next_url and report_url.
Get the next item. If the last item was a question, include the answer: {"answer": {"choice": "B"}}. Returns one of:
{"kind": "turn", "session": 1, "date": "2026-07-24", "time": "6:40 PM",
"index": 3, "role": "user", "text": "…"}
{"kind": "question", "session": 1,
"question": {"id": "s1_q04", "text": "do I keep my schedule on my phone?",
"answer_type": "boolean"}}
{"kind": "session_end", "session": 1, "next_session": 2}
{"kind": "done", "report_url": "https://memception.io/runs/…"}
The report as JSON: overall and per-family accuracy, latency percentiles, and every question with your answer, the expected answer, why, and the ledger facts that prove it. The same report is at report_url as a page anyone with the link can open.
Abandon a run in progress.
The corpora available to you.
maia-100k practice life: 31 sessions over five weeks, about 100K tokens.Questions or problems: hello@memception.io