Quilltap 4.1.0
The Librarian of the Commonplace Book has been given wider pneumatic tubes, a larger card catalog, and — most critically — permission to file more than one card per conversation. The estate has also changed its address, and the pipes have learned to check themselves for sediment every morning.
The Librarian of the Commonplace Book has always been good at her job. She reads every exchange that passes through the Salon, identifies what matters, writes it on an index card, and files it with a careful hand. The trouble was never competence. It was capacity. She had been given, through an accident of early architecture, a single card per visit. One exchange, one card. If the conversation contained a name, a preference, an emotional revelation, and a promise, she chose what she judged most significant and let the rest pass — not because she didn't notice, but because the pneumatic tube back to the stacks would only carry one card at a time.
Quilltap 4.1 widens the tubes.
The Librarian now receives each exchange and decomposes it into its constituent facts — each observation its own card, each card filed individually, each judged on its own merits by the memory gate. A conversation in which you mention your hometown, your favorite author, and a childhood fear now produces three memories, not one. She was always reading the whole conversation. Now she has the infrastructure to remember all of it.
The number of cards she can file per exchange scales with the capacity of the pneumatic system — specifically, the cheap LLM profile's output tokens, calculated as ceil(maxTokens / 4000). A modest profile allows two cards per visit. A generous one allows considerably more. The gate still does its work downstream — duplicates are reinforced, related memories are linked, trivia is discarded — but the Librarian now arrives at the gate with her arms full instead of carrying a single slip of paper.
This is the kind of change that compounds quietly. Characters who previously lost the thread of a conversation — who remembered that you liked cats but forgot the cat's name, who knew you were a writer but not what you were writing — now have the opportunity to retain the texture of what was said, not merely its headline. The Commonplace Book has always been self-managing. The Librarian has always been attentive. What she lacked was not skill but bandwidth, and bandwidth is what she has been given.
Sending the Librarian Back Through the Archives
The wider tubes are splendid for new conversations. But what about the old ones — the exchanges that were filed under the single-card regime, where a rich conversation produced one memory and three ghosts?
The character conversations tab now shows two badges on each chat card: a message count and a memory count. The memory badge is a button. Click it, confirm you mean it, and the Librarian will empty the old filing cabinet for that conversation, walk back through every exchange from the beginning, and re-file with her new, finer-grained attention. The old memories are cleared. The extraction jobs queue up. The header's memory indicator tracks the progress as the Librarian works her way through the archive, and when she is done, the conversation's memories will reflect what the Librarian can do now rather than what she was limited to then.
This means every conversation you have ever had can benefit from the upgrade — not just the ones that happen after today.
The Estate Changes Its Address
In the way that a house which splits into a main building and a carriage house must eventually update its correspondence, the server repository has moved from foundry-9/quilltap to foundry-9/quilltap-server. All GitHub references — in documentation, package manifests, release notes, plugin configurations, Docker scripts, and source code — have been updated accordingly.
The old address at foundry-9/quilltap is not being forwarded. It will become the home of the next-generation native Quilltap application, currently under development. If you have bookmarks, scripts, or CI pipelines that reference the old repository URL, update them now — the old address will soon belong to someone else entirely.
The Pipes Learn Self-Inspection
A persistent issue with the estate's plumbing has been resolved — or rather, the estate has learned to resolve it for itself.
The vector embedding storage system uses compact Float32 binary blobs for efficient similarity search. During development, hot-module reloading could cause the serialization layer to lose track of which columns should be stored as binary, resulting in embeddings being written as verbose JSON text instead. Two migrations existed to convert these text entries back to blobs, but migrations run once. The text entries kept returning, like sediment in pipes that are cleaned annually but silted daily.
The fix is not another migration but a morning routine. On every startup, the server now inspects the vector_entries and memories tables for any text-format embeddings and converts them to proper Float32 blobs. When the pipes are clean — which they will be, after the first startup — the inspection is a single query that returns zero and moves on. When they are not, the repair runs in batches of 500, typically completing in under four seconds even for thousands of entries.
The "skipping vector entry with mismatched dimensions" debug messages that previously cluttered the logs — a symptom of text entries being misinterpreted as impossibly high-dimensional vectors — should no longer appear.
What Changed (The Executive Summary)
- Multi-memory extraction — the Commonplace Book now extracts multiple discrete facts per message pair instead of selecting a single memory; each fact passes through the memory gate independently for deduplication, reinforcement, and linking
- Dynamic extraction limits — the maximum number of memories per extraction scales with the cheap LLM profile's output capacity (
ceil(maxTokens / 4000)) - Memory re-extraction from conversations tab — each chat card now shows message and memory counts; the memory badge is a button that deletes old memories and re-extracts from scratch with the new multi-fact system
- Repository rename — all references updated from
foundry-9/quilltaptofoundry-9/quilltap-server - Startup embedding repair — every server start checks for and converts any text-format embeddings back to Float32 blobs, preventing accumulation from dev hot-reloads
- Embedding write warning —
documentToRownow logs a warning when an embedding array is about to be stored as JSON text instead of a blob, catching serialization regressions at the point of write
Installation
Desktop App
Download from the quilltap-shell releases page:
macOS:
- Download the
.dmgfile and open it - Drag Quilltap to your Applications folder
- Launch Quilltap from Applications
Windows:
- Download and run the
.exeinstaller - If SmartScreen warns about an unknown publisher, click "More info" -> "Run anyway"
- Launch Quilltap from the Start Menu or desktop shortcut
Linux:
- Download the
.AppImagefile, make it executable (chmod +x), and run it - Or install the
.debpackage:sudo dpkg -i quilltap_*.deb
Node.js (any platform)
npx quilltapOr install globally:
npm install -g quilltap
quilltapOpen http://localhost:3000 in your browser. Requires Node.js 22+. First run downloads ~150-250 MB and caches locally.
Docker
docker pull foundry9/quilltap:4.1.0Or use the startup scripts:
# Linux / macOS
curl -fsSL https://raw.githubusercontent.com/foundry-9/quilltap-server/refs/heads/main/scripts/start-quilltap.sh | bash
# Windows (PowerShell)
irm https://raw.githubusercontent.com/foundry-9/quilltap-server/refs/heads/main/scripts/start-quilltap.ps1 | iexThe Librarian has been given more index cards. The estate has a new address. The pipes check themselves. One suspects the house is becoming self-aware, though it remains — for now — discreet about it.
— The Commonplace Book, with a fuller shelf
Installation
Desktop App (recommended)
The Quilltap desktop app (Electron) is available from
quilltap-shell 4.1.0.
Download the release for your platform (macOS, Windows, or Linux).
The quilltap-linux-arm64.tar.gz and quilltap-linux-amd64.tar.gz rootfs
tarballs attached to this release are used by the shell's Lima (macOS) and WSL2 (Windows) VM modes.
Node.js (any platform)
npm install -g quilltap
quilltapOn first run, the CLI downloads the application files (~150-250 MB)
and caches them locally. Subsequent launches start instantly.
Docker
docker pull foundry9/quilltap:4.1.0See the README for setup instructions.