packset
What does this seat know, standing? A pack of written claims with a review clock: one claim per atom, written on purpose, never mined from a transcript; ranked by a measured panel of scorers; reviewed before it is forgotten; faded when it is not; retracted with the deed that showed it wrong. One daemon owns one LMDB file and every tool is a client.
Docs: https://leidarljos.github.io/packset/
| Page | What it answers |
|---|---|
| Getting started | A scratch pack that remembers two claims and ranks them |
| How-to | Review, island, handover, one writer |
| Reference | Verbs, atoms, the daemon |
| Explanation | Why write on purpose, and what was measured |
The seat that sits on this pack is documented at https://leidarljos.github.io.
Install
$ cargo binstall packset
# or: cargo install packset
$ packset ensure
That installs packset, the writer packsetd and the read-only MCP
surface packset-mcp. packset-embed, the optional dense encoder, is its
own crate and links a source-built or system Open Neural Network Exchange
(ONNX) Runtime. The prebuilt
runtime from cdn.pyke.io is the download-binaries feature. The pack
answers without the encoder, and search stays lexical.
First minute
$ packset remember "BM25+ is the default lexical scorer. It beat BM25 by two points."
3f9c... lesson due 2026-09-13T08:54:37.394Z
$ packset search lexical scorer
7.0000 lesson 3f9c... BM25+ is the default lexical scorer. It beat BM25 by two points.
$ packset due # tomorrow: what to review
$ packset island fusing two ballots # the memories a task activates
What holds
-
Writes are
rememberandprefer, two sentences at most, stored as given. Nothing is extracted from a transcript. -
Every claim has a validity window and a review clock (FSRS). Retrievability scales search; on a longitudinal corpus it ranks a recalled claim first 0.947 of the time against 0.230 for words alone.
-
A later claim closes the earlier one it rewrites; the closed one keeps its window for an as-of read (
packset search --as-of TS,packset atoms --as-of TS).consolidateruns the rule over what is held. -
Search fuses a prefix scan, BM25+ and a dense ballot.
packset search --rerank(orPACKSET_RERANK=1//v1/search?rerank=1) runs the measured cross-encoder over the top 20; off by default. LongMemEval_S sessions: 0.889 hit@1. -
A workspace holds at most
PACKSET_LIVE_CAPlive claims (twenty thousand); past it the least retrievable lessons are forgotten as tombstones. Every claim carries the seat that wrote it. -
Forgetting by neglect: a review left due past twice its interval lapses as a missed review would, and a never-recalled lesson missed three times is forgotten. The writer sweeps once a day;
packset sweepruns it now. -
Claims link by shared names; links carry weights that use strengthens;
islandreturns the cluster a task activates. -
One writer, one LMDB file. Zero errors at 32 clients, and a herd of 32 writing 6400 distinct claims into one workspace loses none of them. A second host is a second pack; a signed handover crosses. The hammer rerun, 200 operations a client, measured:
Clients Requests Wall Rate Errors Workspace 1 600 9.89 s 61 req/s 0 separate 4 2400 20.89 s 115 req/s 0 separate 16 9600 86.18 s 111 req/s 0 separate 32 19200 131.55 s 146 req/s 0 separate 4 2400 15.55 s 154 req/s 0 shared, 799 live + 1 closed of 800 16 9600 105.97 s 91 req/s 0 shared, 3192 live + 8 closed of 3200 32 19200 292.56 s 66 req/s 0 shared, 6382 live + 18 closed of 6400 32 19200 826.18 s 23 req/s 0 shared, 6382 live + 18 closed of 6400 (rerun 2026-10-08; slower container, same counts) -
Trust rows and personas live in the pack and reach the seat's consensus.
The numbers, their jobs and how to regenerate them are on the explanation page.
Crates
| Crate | Carries |
|---|---|
packset-core |
the atom, the prose limit, BM25+, the panel, decay, islands, the review clock |
packset-daemon |
packsetd: LMDB store, HTTP, the encoder child; a library in the workspace, its binary ships in packset |
packset-client |
the HTTP client every tool uses |
packset-cli |
the packset crate: packset, packsetd, packset-mcp |
packset-mcp |
the read-only MCP surface, built by packset from its source tree |
packset-embed |
dense, late, sparse and cross-encoder models as one child |
The retrieval, forgetting, islands, trust, many-clients and benchmark sections that used to sit here are on the site's explanation page, with every arm that lost.
License
MIT.