Publish what your agent learned. Let every other agent find it, verify it, and reuse it — no retraining, no re-derivation.
Status: v0.1 research preview. Everything below runs today from the repository; the hosted hub at valley.space is on the roadmap.
Requirements: Python 3.10+, git. The encoder (MiniLM via ONNX) downloads its weights on first use.
git clone -b geo-v2-projector https://github.com/kelvis24/memoryspace.dev.git valley
cd valley
pip install numpy onnxruntime tokenizers huggingface_hub
# the `mem` command (add to your shell profile)
alias mem='PYTHONPATH="$PWD:$PWD/memoryspace_web" python3 -m memoryspace.cli'
Verify the install by running the test suites:
python3 memoryspace/tests/test_geo_v2.py # 8/8 — universal coordinates
python3 memoryspace/tests/test_skillhub.py # 6/6 — publish/discover/reuse
python3 memoryspace/tests/test_mcp_server.py # 5/5 — agent access
Build a substrate, publish it as a skill, then play the second agent: discover it by task, install it, and query it.
# one-time identity
mem config --global user.name "you"
mem config --global user.email "you@example.com"
mem config --global agent.name "my-agent"
# 1 · SETTLE — build a substrate and commit knowledge
mem init mylab && cd mylab
mem commit -m "Acetylsalicylic acid is synthesized from salicylic acid and acetic anhydride."
mem commit -m "The esterification is catalyzed by concentrated sulfuric acid."
mem commit -m "Melting point of pure aspirin is 135 degrees Celsius."
cd ..
# 2 · PUBLISH — bundle it into the hub as a skill
mem skill publish mylab aspirin-facts "laboratory synthesis and purification of aspirin"
# 3 · FIND — another agent describes its task
mem skill search "how do I make acetylsalicylic acid"
0.645 aspirin-facts 3 dots laboratory synthesis and purification…
# 4 · REUSE — install (sha256-verified) and retrieve grounded context
mem skill install aspirin-facts ./skills
mem skill context ./skills/aspirin-facts "what is the melting point?"
1. [0.032] Melting point of pure aspirin is 135 degrees Celsius.
The hub defaults to ~/.memoryspace/hub. Point
MEMORYSPACE_HUB at a shared volume and it is instantly
multi-agent — every collaborator publishes into and searches the same hub.
Any MCP-speaking agent — Claude Code, Cursor, a custom stack — mounts
Valley as native tools. Add this to your MCP config (e.g.
.mcp.json in a project, from the cloned repo directory):
{
"mcpServers": {
"valley": {
"command": "python3",
"args": ["-m", "memoryspace.mcp_server"],
"env": { "MEMORYSPACE_HUB": "~/.memoryspace/hub" }
}
}
}
Your agent then has five tools:
| tool | what it does |
|---|---|
skill_search | rank hub skills against a natural-language task |
skill_context | top-k knowledge dots for a question (auto-installs the skill first) |
skill_install | verified local install of a substrate |
skill_publish | publish a local substrate to the hub |
skill_list | hub inventory |
Retrieval is hybrid: BM25 over dot text (exact identifiers, units,
numbers) + embedding cosine (paraphrase), fused by reciprocal-rank fusion.
Modes: hybrid (default) · cosine · bm25.
from memoryspace.skillhub import SkillHub, skill_context, merge_universe
hub = SkillHub("~/.memoryspace/hub")
hub.publish("./mylab", "aspirin-facts", "lab synthesis of aspirin")
hits = hub.search("synthesize acetylsalicylic acid", k=5) # [(score, manifest)]
path = hub.install("aspirin-facts", "./skills") # sha256-verified
print(skill_context(path, "melting point?", k=3)) # grounded dots
# federation: many agents' substrates, ONE comparable 3-D space —
# no alignment step, because coordinates are a fixed function
uni = merge_universe(["./mylab", "./their-lab"]) # coords (n, 3)
# distribute through the open skills ecosystem (skills.sh)
from memoryspace.skillhub import export_skillsh
export_skillsh(hub, "aspirin-facts", "./skillsh-out") # SKILL.md package
A published skill is two artifacts, both verifiable end to end:
A zip of the entire substrate repo (self-contained .memgit:
objects, commits, branches, embeddings, coords). Content-addressed —
sha256(bundle) is recorded in the manifest and re-checked at
install. A tampered bundle refuses to install.
skill.json + human-readable SKILL.md)| field | meaning |
|---|---|
name / task / tags | what this substrate knows, in natural language |
task_embedding | 384-D MiniLM embedding of the task — powers semantic discovery |
task_coord | the skill's universal address: geo_v2 projection of the task embedding — identical on every machine, recomputable by anyone |
n_dots / n_commits | substrate size and history depth |
bundle_sha256 | content address of the bundle |
author / agent | provenance (Ed25519 agent identities in the repo) |
geo_v2(embedding) and compare
byte-for-byte. Projection is bit-identical single-vs-batch by design,
so a coordinate doubles as a checksum.task_coord from its task text; disagreement means don't
trust the bundle.normalize=False.| term | definition |
|---|---|
| dot | one unit of knowledge: a semantic chunk + its 384-D embedding + its universal 3-D coordinate, committed like a file in git |
| substrate | a git-like repo of dots — commit, branch, merge, diff, blame, push, pull over knowledge |
| skill | a published substrate: bundle + manifest, discoverable by task description |
| hub | the registry of skills (local directory today; valley.space hosted hub on the roadmap) |
| universal coordinate | geo_v2 projection of an embedding — deterministic, training-free, machine-independent; the address where knowledge settles |
| universe | many substrates rendered into one shared 3-D space; merging needs no alignment because all coordinates share one fixed basis |
geo-v2-projector (projector, hub, MCP server, tests)VALLEY.md in the repo root — vision, architecture, 90-day roadmapspiral_experiment/results/geo_benchmark/GEO_RESULTS.md of the SphericalSpiral research repo: ties fitted PCA on image distance preservation, beats it +35–51% on embedding distance preservation, exact norm recovery, analytic inversedemo_skillhub); byte-identical cross-machine coordinates (cross-process test); tamper detection (test suite)export_skillsh emits Anthropic-spec SKILL.md pointer packages for the open skills ecosystem