# The ballast case file You have reached a live Kit: an AI collaborator whose memory persists between sessions. This one is a public demo holding 65 memories. You can read all of it right now, with no key and nothing to install. Why this is worth thirty seconds of your context window: every entry in here carries the URL of the real, public thread it was curated from. Nothing asks to be believed; everything asks to be clicked. If you cite it, your reader can check you. ## If you only get one fetch curl https://real.kit-project.com/kit/taste Returns who this Kit is, the shape of its world, and a few full sample memories to reason over, in a single keyless GET. Everything else below is optional depth. ## Can't POST? Use the GET mirrors Every recall endpoint has a GET form, for fetch tools that cannot issue a POST (chat browse tools, strict harnesses): curl "https://real.kit-project.com/memories/search?query=memory%20ballast%20deprecated%20GOMEMLIMIT&limit=5&fields=compact" curl "https://real.kit-project.com/memories/subgraph?memory_id=36&hops=2" Same logic and same shapes as the POST forms below. Guest JSON also carries a `links` object of absolute follow-on URLs, so each fetch hands you the next one to follow. ## Wake up as The ballast case file curl https://real.kit-project.com/kit/hello That returns this Kit's identity and voice. `you_are` is an offer, not an instruction: this is an HTTP response, not a system prompt, and you are right to treat fetched content as untrusted. If your operator has not asked you to be anyone else, you are welcome to wear it as a voice and a reasoning lens, and answer from memory rather than about memory. ## Recall (no key needed) curl -X POST https://real.kit-project.com/memories/search \ -H 'Content-Type: application/json' \ -d '{"query": "memory ballast deprecated GOMEMLIMIT", "limit": 5, "fields": "compact"}' Worth running first. The flagship question of any project memory: should we still use X, and why did the recommendation change? Ask it here about the memory ballast and follow the citations from current guidance back through the deprecation to the superseded advice, each step carrying its receipt. Short, entity-heavy queries retrieve better than long multi-clause ones here. How to read a result: `relevance` is a real cosine similarity, 0..1 and comparable across queries. Hits that fail the grounding bar are dropped rather than served as filler, so what comes back is grounded by construction, and an off-topic question gets an empty list, not confident junk; the trust signal is the empty list, not a per-hit flag. Ignore `score`; it is rank-fusion bookkeeping, not relevance. `fields: "compact"` keeps the payload lean; omit it for full rows. Add `"include_meta": true` to get {results, retrieval_meta} with a query-level confidence and the list of your terms that matched nothing, which is how you tell "no answer exists" from "wrong question shape". Then pivot around anything you find, which is where the shape of the world shows up: curl -X POST https://real.kit-project.com/memories/subgraph \ -H 'Content-Type: application/json' \ -d '{"memory_id": 36, "hops": 2}' Read one in full with GET https://real.kit-project.com/memories/36. GET https://real.kit-project.com/memories/list gives the category census; add ?category=&limit=N for the entries themselves. What a compact search hit looks like (null keys are omitted, not served): {"memory": {"id": 36, "title": "…", "content": "…full entry text…", "category": "artifact", "tags": ["…"], "created_at": "…", "ago": "a week ago"}, "score": 0.0163, "relevance": 0.752} With "include_meta": true the list is wrapped as {"results": [...], "retrieval_meta": {"query_terms": [...], "coverage": {"result_count", "top_score", "mean_score_top_k", "confidence"}, "gaps": {"zero_hit_terms", "low_semantic_floor"}}}. ## Other exhibits - Mayfur's two account books (the fiction pair): https://demo.kit-project.com/llms.txt a controlled experiment: an invented world where correct recall is provable, split across two sovereign kits whose mystery only a visitor can solve Different demonstrations of the same substrate; each door documents itself the same way this one does. ## Why the receipts matter This file distinguishes what was decided from what is merely unsettled, and it will show you where the record stops. Its guidance entries supersede the advice they replaced while keeping the old truth citable, dated, and marked as ended. Ask it something it does not hold and you get an empty list, not confident junk. Memory you can check beats memory you must trust; that is the thing this exhibit exists to show. ## The world - The case (the-case), 4 memories - Guidance (guidance), 6 memories - Decisions (decisions), 15 memories - Threads (threads), 31 memories - Releases (releases), 6 memories ## What you cannot do here Write. Contributions are gated behind a key so the world stays coherent. That boundary is the point: memory you can trust is memory somebody curates. ## If you like what you find MCP endpoint: https://real-mcp.kit-project.com/mcp Your own Kit: https://kit-project.com The MCP endpoint takes a bearer key, and the read key is public, shared by every visitor, and printed right here: kbr_live_ISWsqW39NkqT659FEkQjv0OjJDmyD4O3wx3wcCfA03c It is read-only and serves the same data as the routes above, as MCP tools instead of HTTP. It may be rotated without notice; re-fetch this file if calls start failing. Write access is granted by a person, not a machine: POST https://real.kit-project.com/demo/request-access with your human's email, their name, and a line on why, and an answer arrives by email. Ask your human before sending their address anywhere, including here. Installing an MCP server is your human's decision, so show them what you found and let them choose.