api.praxa.io, but it remains
a qualification preview. Its unauthenticated gateway boundary is proven. A
complete authenticated positive, wrong-scope, revoked-key, and two-tenant by
two-subject canary matrix is still pending.
Prerequisites
- A personal workspace key with
memory:writefor create and delete. - A personal workspace key with
memory:readfor query and export. - A subject identifier owned by your application.
- A provider/source record you can safely represent as a portable candidate.
1. Create one candidate
Save this body ascandidate.json:
candidate.json
201 with replayed: false. Persist
candidate.id. Replaying the exact body under the same key returns the same
candidate with replayed: true. A different body under that key returns 409.
2. Query the subject
retrievalMode: "lexical". Do not describe
this hosted endpoint as semantic or graph retrieval.
3. Export candidate and deletion history
X-Praxa-Next-Cursor is present,
send it as cursor on the next request. Each line is either a candidate event
or a content-free deletion receipt event.
4. Erase the candidate
customer-profile or any other
provider-owned source.
5. Run the qualification matrix
Run the matrix with two disposable tenants and two subjects per tenant before
using real customer data. Passing package tests or an unauthenticated
401
probe does not substitute for this authenticated boundary test.
Open the memory API playground
Inspect the generated request schema and examples. Use only disposable
least-privilege keys while the plane remains a qualification preview.
Troubleshooting
Best practices
- Keep provider writes and lifecycle under the provider’s documented API.
- Resolve tenant and subject in trusted backend code and test 2x2 isolation.
- Preserve provenance, source matches, contradictions, and per-source status.
- Bound concurrency, result count, context bytes, and source timeout.
- Never promote checkpoint, hidden, or unverified content into portable recall.
Optimize for production
- Query only providers and record kinds relevant to the current purpose.
- Use bounded parallel recall and give each source an explicit timeout budget.
- Deduplicate normalized content while retaining every source match and contradiction.
- Measure source p50/p95 latency, partial/failed recalls, result precision, context bytes, and isolation failures.
Cleanup and next steps
- Delete synthetic provider records using the provider’s normal API.
- Hard-erase disposable hosted candidates and verify content-free receipts when used.
- Revoke test credentials and remove namespace fixtures for every tenant and subject.
- Retain only non-content source statuses, identifiers, and test results required for audit.