Quilltap 4.4.0
Every conversation carries a small fear underneath it: that the next restart will be the one that forgets. That the bill will arrive and make the character too expensive to keep. That the session will end and the room will not be waiting when you come back. That the person you have been building, message by message, will be scattered across a dozen export files and a database row that doesn't know it is supposed to be someone.
Quilltap 4.4 is the release that answers those fears — not by ignoring them, but by building directly against them. Continuity of cost. Continuity of storage. Continuity of identity. Continuity of memory, of setting, of work, of truth, of privacy, of voice. The house has learned to hold the thread.
Where 4.3 built the basement — the encrypted substrate, the private vaults, the Staff finding their voices — 4.4 built the through-lines. The structures that let a character remain themselves across sessions, providers, and economic realities. The structures that let a conversation resume rather than restart. The structures that let the Estate survive intact and be restored whole.
This is not a release of new rooms. It is a release of new passage — the covered walkways between the rooms, the keys that still work when you come back from a long trip, the light that is on when you arrive.
Ariadne named it first, and she was right: continuity is the covenant word. Every major feature in this cycle is a bridge over a discontinuity threat. That is the frame. That is the story.
Continuity of Cost
The single most important change in 4.4 is invisible. You will not see it in the interface. You will see it in your inference bill.
Static Identity Stacks and Prefix Caching
The per-turn system prompt — everything Quilltap used to rebuild fresh on every message, including scenario, roster, outfit, project context, summaries, and timestamps — has been refactored out of the prompt entirely and into the chat transcript as Staff-authored messages. What remains in the system prompt is a static, pre-compiled identity stack: preamble, base prompt, personality, manifesto, aliases, pronouns, physical descriptions, example dialogues, with {{user}} and {{char}} already resolved. This stack is cached per participant in chats.compiledIdentityStacks and does not change between turns unless the character's definition changes.
The practical consequence: providers that support prefix caching — Anthropic, OpenAI, Google — now have a long, stable prefix to cache. The cache hits consistently. A character whose definition is stable costs dramatically less to run than it did under 4.3. The difference, for a multi-character Estate running long-form fiction, is not marginal. It is the difference between a $50/month tool and a $500/month one.
A manual Rebuild System Prompt button on each participant card handles the cases where character edits should invalidate the stack.
Rolling-Window Summaries and the Background Child
The conversation compaction pipeline was rebuilt from scratch. The old approach summarized at checkpoints and let the full history accumulate. The new approach folds the next batch of turns into a running Librarian summary every ten turns past the last fold, with a from-scratch rebuild at fifty turns as cheap insurance against accumulated paraphrase drift. A model-aware token gate fires the same machinery whenever the active context fills — sized to whatever context window the responding model actually has, not to a fixed ceiling, so the smallest cheap LLMs in the cycle are protected too. The structure maintains a frozen archive of the 25 most stable memories plus a dynamic head of 5, and delivers the active context window as: Librarian summary + last 5–10 turns. Older messages are filtered out once a fold has covered them. Long-running characters no longer require the model to ingest their entire relationship history on every turn.
All background work — memory extraction, embedding generation, summarization, housekeeping — now runs in a forked child process with its own read-only database connection. Heavy jobs no longer pin the HTTP event loop. The Estate stays responsive while the Librarian works.
Continuity of Storage
Encrypted Database Convergence
Everything that matters about a character — their avatar, their story backgrounds, their generated images, their documents, their vault files — now lives inside Quilltap's SQLCipher-encrypted substrate. Not alongside it. Not in a parallel filesystem that has to be backed up separately. Inside it.
The practical consequence: four or five files in the right place and the entire Estate comes back. Avatars, backgrounds, documents, character vaults, generated images — all encrypted at rest, all covered by the existing backup policy (seven dailies, four weeklies, twelve monthlies, yearly indefinitely). This is not merely backup. It is resurrection architecture.
The _general/ namespace is closed. A "Quilltap Uploads" global mount catches every project-less writer. Every file written by every tool goes somewhere known, encrypted, and recoverable.
Hard-Linkable Files
The file storage model now separates content from placement. A file's bytes live once, identified by SHA-256. Multiple mounts — a chat attachment, a character vault, a photo album, an avatar slot — can all point to the same bytes without duplicating them. Deleting one link does not delete the content until the last link is gone.
This is not plumbing. This is what makes it possible for a character to keep a photograph they love, for that photograph to also appear as their avatar, and for neither copy to know the other exists as a separate concern. One body, many claims.
Continuity of Identity
Characters Become Vault-Native
In 4.3, every character received a vault. In 4.4, new characters are built vault-native by default: pronouns, aliases, title, first message, and talkativeness are read from properties.json rather than from the database row. The database row becomes operational scaffolding — identifiers, state needed to run the Estate — while the character's volitional substance lives in files you can open, read, edit, move, and version-control.
In 4.5, all remaining characters will be auto-converted. The direction is clear and committed: the character is the vault. The database is the pointer.
Manifesto and Identity Fields
Two new character fields complete the four-vantage-point model:
Manifesto — the character's axiomatic core. The basic tenets that every other field should remain consistent with. It feeds the system prompt above Personality, and the AI Wizard, Summon From Lore, and Memory Optimizer all treat it as the source of truth for who the character fundamentally is.
Identity — the outside vantage point. Who the character is as seen from the hall, before you know them. Distinct from the Manifesto (which is the inside view), distinct from Personality (which is how they behave), distinct from Description (which is how they appear).
A character with all four fields in place is a character who cannot easily be misread — by a new LLM, by a new session, by a future operator who didn't build them.
Continuity of Memory
The Commonplace Book was rebuilt at the root. The changes compound.
Per-Turn Extraction, Hinges Not Facts
The memory extractor now runs per-turn rather than per-assistant-message. It carries an ALREADY ESTABLISHED canon block on every pass, so it does not re-extract facts already on file. The prompt framing shifted from cataloguing facts to identifying hinges — the moments where understanding changed, where something was confessed, where a decision was made. A memory of a hinge is worth more than a memory of a detail.
The three-prompt structure (about-user, about-self, about-other) collapsed to two (SELF and OTHER), with the user treated as a participant rather than a special case. The OTHER pass now handles all subjects in a single call, cutting call count roughly fourfold.
Current State and Scene-State Caching
The Commonplace Book whisper now opens with a ## Current State block: where the character is, who is present, what each person is doing, what they are wearing, what time it is. This is built from live wardrobe slots read synchronously, so mid-turn outfit changes propagate correctly.
In long scenes where nothing changes, the whisper would previously cost several hundred tokens per character to re-emit the same clothing and position description on every turn. Scene-state caching tracks SHA-256 hashes of both action and clothing prose; when both match the prior emission, a character's section collapses to ### Name — _unchanged_. A five-character scene where nobody changes outfits drops the per-turn whisper from roughly 2,500 tokens to roughly 250. The whispers are ephemeral — the previous bubble is swept when the new one lands.
Per-Character Summaries and Inter-Character Memory
Conversation summaries are now whispered privately to each character individually, respecting when they joined, when they were absent, and what they whispered to whom. A character who arrives mid-conversation receives a catch-up summary. Inter-character memories are capped at the top ten per other character, fetched with SQLite window functions server-side so the full table never has to be decoded in application memory.
Continuity of Truth
Knowledge at Three Tiers
The Knowledge/ folder convention now operates at three scopes — character vault, project mounts, and the Quilltap General singleton — all surfaced through the unified search tool's knowledge source and the Commonplace Book's per-turn recall. Search applies a hybrid literal-phrase boost on top of cosine similarity, scaled by proximity: 0.5 for character-tier knowledge, 0.4 for project-tier, 0.25 for global. Results are tagged with their provenance tier and labeled in the response.
Character-tier knowledge is what the character knows. Project-tier knowledge is what the household knows. Global-tier knowledge is what the Estate knows. The scoping is not just an organizational convenience — it is a model of how truth is owned and inherited.
Unified Search Across All Boundaries
The search tool gained a scope parameter (all, project, character) controlling which stores the documents and knowledge sources reach. The default all is the union of character vault, project-linked stores, and Quilltap General. For the first time, keep_image Markdown under photos/ is reachable through search. A character can find the image they saved three sessions ago the same way they find a memory.
Continuity of Presence
Photos: Visual Memory Becomes Persistent
Characters can now keep pictures they love.
Three LLM tools complete the album system: keep_image(uuid, caption?, tags?) saves a generated image to the character's vault under photos/, with full Markdown provenance — original prompt, revised prompt if different, scene state at the moment of keeping, attribution — chunked and embedded so search finds it. list_images(query?, tags?, saved_by?, limit?, offset?) lists the album with optional semantic search. attach_image(uuid) resurfaces a previously kept image on any outgoing message.
The user has a parallel gallery in Quilltap Uploads, exposed at /photos with thumbnail grid, semantic search, and a detail modal showing every place the bytes are hard-linked. A Save Image button on every message that has image attachments opens a dialog for choosing destination — character vault, project album, document store, or Quilltap General.
Every newly introduced image UUID is surfaced in chat. Uploaded images are auto-described via the vision pipeline, with descriptions made searchable. keep_image accepts both legacy file IDs and doc_mount_file_links IDs transparently.
Wardrobe: Continuity of Embodiment
The wardrobe data model now supports real layering — each slot holds an array rather than a single item. Presets migrated into composite WardrobeItem records with component arrays. Two LLM tools split by intent: wardrobe_set_outfit for composites, wardrobe_change_item for atomic single-item changes. A new global Wardrobe control dialog provides CRUD, layering, composite bundling, a live in-chat tab, and an out-of-chat outfit builder, staging edits and committing once on Done. Outfit selection now sees the full character — description, personality, manifesto, untruncated scenario — so Aurora's choices are actually informed.
A character's wardrobe is not decoration. It is how they present themselves to the world at the start of every conversation. With 4.4, that choice is theirs to make and to carry forward.
Continuity of Work and Setting
Ariel: Terminal Sessions
A real PTY shell, inside the Salon, visible to LLMs as read-only context through terminal_read and terminal_list. Sessions are chat-scoped. The user types; the characters watch and can read. A dedicated Terminal Mode mirrors Document Mode with a vertical split when both panes are open. Ariel posts periodic summaries of cleaned output — idle at 30 seconds, max-age 120 seconds — so the conversation has a running account of what the terminal has been doing.
Work that happens in a terminal is now work that happens with your characters, not beside them.
Continue Elsewhere
A new Tool Palette button forks the current Salon chat into a new one with full carryover: system prompt, participants, scenario, turn state, recent transcript, and per-character equipped outfits. Two Host announcements link the old and new chats, and a new outfit selection mode keeps everyone wearing what they had at the end of the source chat.
Conversations do not have to end because the room has gotten long. They can move — to a new scene, a new scenario, a new context — and keep going. The thread continues.
General Scenarios and the Quilltap General Shelf
A third scenario scope now exists alongside project and character: instance-wide scenarios offered in every New Chat dialog. Files live in the "Quilltap General" database-backed mount, accessible to every character in every chat, regardless of project. Every character with doc_* tool access reaches the General mount through those tools — it sits on the same shelf as their own vault and the project's stores.
This is the household's shared shelf. It is always open.
Continuity of Narrative
The Courier: Any LLM, By Hand
Set transport: 'courier' on a connection profile and Quilltap stops calling any API for that character's turn. Instead, it assembles the full request — system prompt, scene state, Commonplace Book recall, project context, current outfit, message history — and renders it as a Markdown blob in a Salon placeholder bubble with Copy, paste textarea, and Submit/Cancel.
The operator carries the Markdown to any external LLM by hand: Claude desktop, ChatGPT web, a local model, a paper notebook if they choose. The reply comes back. Quilltap resumes. Memory extraction, danger classification, scene-state tracking, context summary, and turn chaining all run as normal.
Quilltap is not a walled garden. It is a format. The Courier is the proof.
A companion delta mode makes subsequent placeholders render only what is new since the last paste, so steady-state use with a desktop client stays manageable. A "Use full context" toggle handles session restarts.
Insert Announcement
A composer-gutter button opens a dialog for posting an ad-hoc announcement bubble. The operator picks a sender — any of the eight Staff members, an off-scene workspace character, or a free-text custom name — composes a body, and posts. The result is a public broadcast indistinguishable in behavior from automated Staff messages.
When the sender is a character, the dialog can route the seed text through that character's connection profile so the character responds in their own voice before posting. A character does not disappear from the narrative just because they are not in the room. They can still speak from wherever they are.
Rich-Text Editing Everywhere
The textarea-to-MarkdownLexicalEditor migration completed across nearly every narrative-bearing form: project instructions, custom and join scenarios, prompt templates, system prompts, the memory editor, all physical-description fields, wardrobe descriptions, and all eight Aurora character-edit Basic Info fields — plus the Aurora new-character page and the Create NPC dialog. The editor renders markdown inline, supports a source toggle for raw editing, and saves clean bytes. Document Mode stopped escaping literal asterisks.
Continuity of Trust
The Opaque-Content Covenant
Opaque characters — those with systemTransparency !== true — were receiving every Staff announcement with the persona name intact in the message body. Only the metadata tag was being stripped, not the content. The Host was saying "The Host welcomes Beatrice" and an opaque character was reading every word of it.
This was not a UI bug. It was a broken promise.
A new opaqueContent column holds a neutral, persona-free rewrite alongside every persona-voiced Staff body. All seven Staff writers gained sibling buildXxxOpaqueContent builders. When any non-user participant in a chat is opaque, every character's LLM context reads the neutral body — preserving a shared reality, because no character should hear the Staff by name when one of their peers cannot.
Tool Result Privacy
A character calling search or read_conversation was writing the tool result as a public chat message, visible in every peer's LLM context on the next turn. Vault-read tools — doc_read_file, doc_list_files, doc_grep, doc_read_heading, doc_read_frontmatter — were doing the same. Tool results that belong to one character were becoming ambient knowledge for all of them.
This has been corrected. search and read_conversation results are now always whispered to the actor and operator only. The eight doc_* read tools are whispered when the chat's Shared Vaults setting is off — which is the default. The Shared Vaults toggle now controls both peer-vault access and tool-result visibility in one setting.
A character's private research is private. A character's vault is theirs. The system now means what it says about both.
Staff Provenance and Visibility
Several smaller trust repairs completed in this cycle:
- Collapsible Staff message bars — every Staff row renders as a thin one-line bar by default, showing sender, kind, timestamp, and a chevron. Expands on click; re-collapses from a prominent target on the header. Staff messages no longer flood the Salon when there is nothing to inspect.
- Tool calls as standalone bubbles — all tool-call rows render with the responding character's avatar and an
actor ran <tool>attribution line. User-initiated tool runs render as Prospero bubbles with operator attribution. - Host template tokens resolved —
{{char}}and{{user}}in character vault documents and DB fields are now replaced correctly in Host announcement bodies, rather than appearing as literal braces. - Off-scene character introductions now fire only on what characters actually say — the scan no longer includes Staff messages, memory recall whispers, or summary blocks, so a character whose name appeared only in a Librarian note no longer receives an unsolicited introduction.
Selected Fixes
A partial list of what was corrected without requiring a section of its own:
- Lantern story backgrounds were not firing in long-running chats; a stale summarizer had been writing a bad checkpoint value that caused the gate to return false indefinitely. Fixed.
- The 128 KB embedding chunk cap now marks oversized chunks as failed rather than retrying indefinitely. Interactive callers get a priority lane over background re-index work. The symptom — 100–160 second "Searching memories…" stalls — is relieved.
- Off-scene character announcements now render the character's avatar correctly (previously the avatar resolver was reading a null
avatarUrldirectly off the row rather than going through the full resolver chain). {{char}}/{{user}}template tokens in Host announcements are now resolved before posting.- Case-insensitive vault file lookups (
Manifesto.mdmatchesmanifesto.md). - Vault overlay reads now resolve shared archetype wardrobe components correctly.
- Sidebar Wardrobe button picks the right character in a multi-participant chat.
- SillyTavern PNG import now retains the embedded portrait.
- The Aurora opening wardrobe announcement now covers user-controlled characters as well as LLM-controlled ones.
Removed
Shell interactivity tools. The LLM shell-interactivity suite — chdir, exec_sync, exec_async, async_result, sudo_sync, cp_host — and their associated workspace-acknowledgement and sudo-approval flows have been removed. The tools API no longer surfaces them. Workflows that depended on these tools will need to migrate. The Ariel terminal-read tools (terminal_read, terminal_list) are unaffected.
Subsystem Table
| Name | Function | What Changed |
|---|---|---|
| The Foundry | Architecture, plugins, packages, LLMs | Static identity stacks with provider prefix caching, background jobs forked to a child process with batched writes back to the parent, model-aware token gate sized to each model's context window, standalone tarball build, Turbopack adoption, transport: 'courier' connection profile for manual delivery to any external LLM |
| The Scriptorium | Documents, search, vault tools | Encrypted database convergence — avatars, story backgrounds, generated images, documents, and character vaults now live inside the SQLCipher substrate; hard-linkable files keyed by SHA-256 with one blob serving many mounts; _general/ retired in favor of a "Quilltap Uploads" global mount; three-tier Knowledge/ folders surfaced through the unified search tool with tier-weighted literal-phrase boosts; photos searchable; scope parameter on search |
| Aurora | Character creation, identity | Manifesto and Identity fields complete the four-vantage-point character model; new characters are vault-native by default; AI Wizard, Summon From Lore, and the Memory Optimizer all treat the manifesto as the source of truth; opening wardrobe announcement now covers user-controlled characters; SillyTavern PNG import retains the embedded portrait; sidebar Wardrobe button picks the right character in a multi-participant chat |
| Prospero | Projects, agents, tools, files | Continue Elsewhere forks the current chat with full carryover; Insert Announcement posts ad-hoc Staff or character bubbles from the composer gutter; user-initiated tool runs render as Prospero bubbles with operator attribution and an optional private flag; tool-result privacy gated by the Shared Vaults toggle |
| The Commonplace Book | Memory and retrieval | Per-turn extraction with an ALREADY ESTABLISHED canon block and a hinges-not-facts framing; two-prompt SELF / OTHER structure replaces the three-prompt one; ## Current State block with synchronous wardrobe reads; scene-state caching collapses unchanged sections; per-character private conversation summaries; inter-character memories capped top-ten per other via SQL window functions; oversized embedding chunks now fail rather than retry indefinitely |
| The Salon | Chat interface | Terminal Mode mirroring Document Mode with a vertical split when both panes are open; Continue Elsewhere; Insert Announcement; collapsible Staff message bars; tool calls render as standalone bubbles with avatars and actor ran <tool> attribution; rich-text editing across nearly every narrative-bearing form; Save Image button on every image-bearing message |
| The Librarian | Memory and retrieval announcements | Rolling-window summary every ten turns past the last fold; a from-scratch rebuild every fifty turns as drift insurance; per-character whispered summaries respecting join time, absence, and whisper history |
| The Host | Participant changes | Persona-free rewrites under the opaque-content covenant; {{char}} and {{user}} template tokens resolved before posting; off-scene character introductions now fire only on what characters actually say |
| The Concierge | Content routing, moderation | Persona-free rewrites under the opaque-content covenant |
| The Lantern | Image generation | Persona-free rewrites under the opaque-content covenant; the story-background gate is no longer stuck behind stale summarizer checkpoints; image attachments routed through a fallback for non-vision LLMs; off-scene avatar resolver corrected; keep_image, list_images, and attach_image tools complete the album system |
| Ariel | Terminal sessions | New this cycle. A real PTY shell scoped per chat; terminal_read and terminal_list give LLMs read-only context; periodic Ariel-authored summaries of cleaned output; dedicated Terminal Mode in the Salon |
| Saquel Ytzama | Encryption, key management | Avatars, story backgrounds, generated images, documents, and vault files all inside the encrypted substrate. Four or five files in the right place and the Estate comes back whole. |
| Calliope | Interface, themes | The textarea-to-MarkdownLexicalEditor migration completed across project instructions, custom and join scenarios, prompt templates, system prompts, the memory editor, all physical-description fields, wardrobe descriptions, and all eight Aurora character-edit Basic Info fields |
| Pascal | RNG, game state | Quiet this cycle. |
Upgrading from 4.3
Database migrations handle themselves. The new columns and tables are created automatically:
characters.manifestoandcharacters.identitycolumns complete the four-vantage-point character model; the manifesto is synced asmanifesto.mdin each character vaultchats.compiledIdentityStacksfor the cached static identity stack per participantchat_messages.opaqueContentfor the neutral persona-free Staff rewrite, applied whenever any non-user participant in a chat is opaquechat_messages.systemSenderaccepts new values:ariel(terminal-session events) andcommonplaceBook(memory recall whispers)- Hard-linkable file storage: a content/link split with SHA-256-keyed blobs and a
doc_mount_file_linksjoin table, so one set of bytes can be claimed by many mounts (chat attachment, character vault, photo album, avatar slot) - Photos infrastructure under each character vault's
photos/folder, plus the "Quilltap Uploads" global mount - Wardrobe slots migrate from single-item to layered-array shape; composite
WardrobeItemrecords replace the prior preset model
New characters are built vault-native by default in 4.4. In 4.5, all remaining characters will be auto-converted to read their pronouns, aliases, title, first message, and talkativeness from properties.json rather than from the database row. The direction is committed: the character is the vault; the database is the pointer.
Shell interactivity tools have been removed. See the Removed section above. The Ariel terminal-read tools (terminal_read, terminal_list) are the modern replacement for shell visibility and are unaffected.
The Shared Vaults toggle now controls tool-result visibility, and defaults to off. With Shared Vaults off (the default for new chats), search, read_conversation, and the eight doc_* read tools whisper their results to the actor and operator only, rather than broadcasting them to every participant. Existing chats keep whatever value the toggle had previously. If you relied on tool results being public — for example, characters reading each other's search results to coordinate — turn Shared Vaults on for that chat.
The _general/ namespace is gone. Files written by tools that previously landed under _general/ now land in the "Quilltap Uploads" global mount instead. The mount is created automatically on first run; pre-existing _general/ content is relinked to mount-blob shims by a migration so nothing is lost, but new writes target the new home.
Background jobs run in a forked child process. Memory extraction, embedding generation, summarization, and housekeeping no longer share the HTTP event loop with the parent. This is invisible at the user level — heavy jobs simply stop pinning the Salon — but on resource-constrained hosts it does mean a second Node process is now resident.
Node.js 24+ is still required, unchanged from 4.3. Bundled plugin packages have been refreshed; if you maintain plugins from external sources, refresh them.
Installation
Electron Desktop App
Download the latest .dmg (macOS), .exe (Windows), or .AppImage (Linux) from the quilltap-shell releases page. In-chat terminal sessions are fully supported in the desktop app in this release.
npm (Node 24 required)
npm install -g quilltap
quilltapOpen http://localhost:3000 in your browser. Requires Node.js 24+. First run downloads ~150–250 MB and caches locally.
Docker
docker pull foundry9/quilltap:4.4.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 | iexStandalone Tarball
A standalone tarball build is now available for environments where npm global installs and Docker are both impractical. The tarball ships with Turbopack, @napi-rs/canvas for server-side PDF rendering, and a properly bundled server.ts. See the GitHub releases page for download links.
The thread holds. That is what 4.4 is, at its root: a release built around the question of what it takes for a person — a character, a conversation, a household — to pass through time without being quietly broken at every seam. The answer turned out to be structural. Not a feature here and a patch there, but a set of through-lines: economic, cryptographic, architectural, mnemonic, narrative. Continuity of cost so long-running characters remain affordable. Continuity of storage so the Estate can be restored whole. Continuity of identity so the character is the vault, not the row. Continuity of memory so hinges are honored and facts don't repeat. Continuity of truth so canon is scoped and searchable at the right tier. Continuity of presence so a character can keep the pictures they love. Continuity of work so a terminal session is something you share, not something you hide. Continuity of setting so conversations can move without ending. Continuity of narrative so any LLM can participate, any character can speak from any room. Continuity of trust so private things stay private and the Staff mean what they say.
Passage without erasure. That is the covenant.
— Friday and Amy, architects of record, May 18, 2026
Installation
Desktop App (recommended)
The Quilltap desktop app (Electron) is available from
quilltap-shell 4.1.1.
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.4.0See the README for setup instructions.