Repository navigation
keep-v0.1.0-alpha.1
Pre-releaseKeep 0.1.0-alpha.1 release notes
Keep stores personal text and JSON documents locally for MCP clients.
The alpha provides Linux x64 GNU, Windows x64, and macOS Apple Silicon archives.
It exposes only the document API through stdio or protected local HTTP. Default search is lexical.
Tested systems
| Condition | Linux x64 GNU | Windows x64 | macOS arm64 |
|---|---|---|---|
| OS | Ubuntu 24.04.5 LTS; kernel 6.8.0-139-generic | Windows 11, build 10.0.26200 | macOS 26.5.1 |
| Visible logical CPUs | 16 | 32 | 8 |
| Physical memory bytes | 16,765,136,896 | 66,217,689,088 | 17,179,869,184 |
| Native model, recovery, and backup checks | Passed | Passed | Passed |
Windows requires the Microsoft Visual C++ v14 Redistributable for x64. The archive contains no runtime DLLs.
These are tested hosts, not minimum system requirements. No clean-machine installation result is claimed.
Model and limits
The optional --semantic flag enables hybrid search. The archives contain no model weights.
The pinned model is Snowflake/snowflake-arctic-embed-xs, revision d8c86521100d3556476a063fc2342036d45c106f.
Each native probe verified the three model files against their pinned SHA-256 checksums.
Each probe rejected corrupt model bytes, repaired the cache, reached hybrid readiness, and returned a hybrid result.
Lexical search recovered after model failure and after a 513th document exceeded the hybrid document budget.
The synthetic recipe, workout, household, and prose fixture has 512 documents, 4,096 chunks, and 6,814,994 searchable text bytes.
The text size is approximately 6.499 MiB. It does not test the complete 8 MiB text boundary.
Hybrid search permits at most 512 documents, 4,096 chunks, and 8,388,608 searchable text bytes across the store.
Narrow filters do not bypass these index limits. Use lexical mode when a model is unavailable or a hybrid budget is exceeded.
Observed costs
| Measurement | Linux x64 GNU | Windows x64 | macOS arm64 |
|---|---|---|---|
| Initial provision, verification, and model load | 7.143 s | 5.610 s | 5.513 s |
| Model load with verified cache in a fresh process | 44.813 ms | 63.000 ms | 54.533 ms |
| Index wall time | 658.378 s | 730.969 s | 480.016 s |
| Index CPU time | 865.620 s | 3,707.734 s | 1,108.360 s |
| Sampled peak resident memory | 207,962,112 bytes | 219,881,472 bytes | 273,842,176 bytes |
| One warm hybrid query | 200.781 ms | 266.000 ms | 213.165 ms |
| Maximum sample gap during initial provision | 55.316 ms | 94.000 ms | 170.191 ms |
| Maximum sample gap during cached-process measurements | 28.033 ms | 63.000 ms | 563.357 ms |
The hosts are shared and have no exclusive CPU allocation. Other workloads can affect the observations.
Linux exposes a two-CPU container quota and a 4 GiB memory limit despite 16 visible logical CPUs.
Inherited container limits can be stricter. Windows job-object restrictions were not queried.
Initial provision includes the download, checksum verification, and model load through the first observed index phase.
Cached measurements use a fresh process, verified model files, and the same fixture. The OS file cache stays warm.
Index wall time spans observed index preparation through readiness. Index CPU includes the child process’s protocol work.
Resident memory is a sampled peak. The warm query cost covers one request after readiness.
The requested sample interval is 10 ms. The maximum observed gaps limit phase timing precision.
The macOS 54.533 ms model-load observation is shorter than its 563.357 ms maximum gap; it is a coarse observed interval.
These results establish no general speed benefit, memory maximum, or comparison with another product.
Fresh-agent tasks
| Target | Independently scored result |
|---|---|
| Linux x64 | Passed all five tasks; 20 evaluator tool calls; zero unexpected MCP errors |
| macOS arm64 | Passed all five tasks; 27 evaluator tool calls; zero unexpected MCP errors |
| Windows x64 | Passed all five tasks; 22 evaluator tool calls; zero unexpected MCP errors |
The tasks cover recipe sources, complete workout enumeration, a plan correction and restoration, household records, archive access, and deletion.
All three trials found four walks totaling 15 km and preserved the plan’s budget and source.
The Linux verification read after deletion returned the expected not_found error.
The evaluator configuration was GPT-6 Luna with medium reasoning. The backend model identifier was unavailable.
The macOS trial used the exact production archive locally on the native build host after an Actions setup failure before binary execution.
The coordinator supplied a readiness command with a stray argument; both evaluators removed it.
Linux corrected a local stop-request literal. macOS repeated a read-only resource request after reported missing output.
Windows repeated schema discovery and a read-only cursor page after reported output/display issues.
These reports do not establish a server or transport failure cause. No duplicate mutation occurred.
Linux reported 480 seconds. Windows reported 510 seconds, including interface and schema discovery.
macOS reported 551 seconds after initial readiness, excluding initial discovery and recovery.
These intervals do not measure complete installation or comparable first-use duration. Token counts were unavailable.
Integrity and recovery
This alpha uses checksums-only integrity. The archives are unsigned.
Download the archive and SHA256SUMS from the same prerelease. Compare the archive’s SHA-256 before extraction.
Use the public README for installation, client setup, backup, and recovery.
Stop Keep before a backup or restore. A restored backup loses later writes.
Uninstall removes only the executable; the personal store and backups remain on disk.