Repository navigation
v0.5.0
-
Git timeouts and signals are named accurately:
timed out after 60 sforvmem syncand1 sfor the console check (from Bun'sexitedDueToTimeout), elsekilled by <signal>, each with its own next step (check git -C <vault> status, then rerun vmem sync, the same forvmem doctor, orinspect the vault Git state in System).vmem syncFETCH and PUSH issues with an empty stderr now say why and name a next step. The console sync alert names the staged paths from the same list sync stages (#143). -
Docs: the README says an older agent-console loads the plugin but the panel fails with a TypeError on
host.ui, fixed by upgrading agent-console, and the spec fixture README says the files need only be tracked, with a commit required only for verification-stamp cases (#142). -
The org sync inbox alert counts only paths
vmem syncwould stage (notes/, reports/, log), with a rename counted once. Other dirty paths are named in the detail but not counted, and a vault with no usable upstream drops the "ahead of upstream" clause. A git call that times out or is killed now logs the signal (git status failed: timed out (SIGTERM) under the 1 s budget) and the next step, instead of an empty cause (#138). -
Spec schema fixtures validate every error/warning class in separate default-budget tests and skip unused commit/HEAD setup, avoiding the aggregate macOS timeout. Git inspection failures now name the termination signal and 10-second inspection budget, including shorter parent/test timeouts (#137).
-
The console panel's "shown" and "selected" chips use the neutral tone, because they mark a selection and not a state. Two unused panel CSS rules are removed, and the README states that the panel needs agent-console 0.1.0 or later (#129).
-
The console
logsnapshot returns an opaque stringcursor; passing it back assincereturns only the rows appended since, oldest first up to 100 per poll withmore: truewhen rows remain, identical lines included. A rewritten, truncated or far-behind log answers with the latest rows andreset: true. The cursor travels assincebecause the console reserves the numericafter. Each poll reads a 256 KiB tail or at most 1 MiB forward, plus a back-scan of at most 1 MiB when the tail sits inside one long line. The Log panel keeps re-reading the latest rows, because the shell's poll already refreshes it and skips unchanged data (#48). -
Behaviour change: citekey uniqueness now ignores ASCII case while preserving the stored case; retained legacy duplicates warn only on unrelated edits. Reference metadata enforces year-specific arXiv widths, names how to fix reference-only keys, and skips redundant DOI-normalization parsing without changing output (#134).
-
Inbox alerts show each org vault's uncommitted paths plus local commits ahead of its tracking ref, with a stable first-seen time and an Overview link. Checks stay local, bounded and cached for 60 seconds; one vault's Git failure is logged and skipped (#48).
-
vmem setup codexreads TOML table headers quote-aware, so a table such as[mcp_servers."x]y"]after the vmem table is no longer swallowed by apply. When the planned file would not parse, the refusal names the right fix: convert a root inlinemcp_servers = { ... }to[mcp_servers.<name>]tables, and on undo rerunvmem setup codex --undo(#133). -
Missing or invalid domain ids get a direct set-domain hint without echoing the value; undeclared ids keep their named refusal. L02 domain findings use the neighbouring Korean form, list the selected vault's allowed ids and point to its domains config (#128).
-
The console panel uses the kit's
ui.buttonandui.notice(text, "err"), which screen readers announce assertively, instead of its own button and error helpers; the truncated-body note is a polite warning.@staix/agent-consolemoves to 4c4c1e0 (#122). -
The console panel builds every view from the agent-console panel kit (
host.ui): lists useui.rows/ui.row, soj/k/Enterwork on them, and a note opens inui.detail. The panel CSS uses only the kit's public classes and--acon-*tokens, and the@staix/agent-consoledevDependency moves to 5af4dcc, which hasConsoleUi(#57). -
vmem lintandvmem graph build/graph neighborsname an option they do not take and where it applies (graph build: --relation applies only to graph neighbors) instead ofrequires one vault id.graph neighborsnow refuses--dry-run, which it used to accept and ignore. A wrong positional count keeps its message (#121, #127). -
vmem graph buildkeeps the relation of- [[x]] (relation)lines fromvmem link --relationasrelon thewiki_linkedge, andvmem graph neighbors --relation/vmem_graph_neighborsrelationfollow only edges of one relation (wiki_linkfor untyped links); an unknown relation is refused. Node and edge sets are unchanged (#74). -
Vault entries accept up to 16 extra domain ids; writers, lint and promotion use the selected target set alongside the six built-ins, and status/list report the effective domains. Malformed declarations fail closed; registry writes with domains use config format 3 (#72).
-
Reference notes accept typed citekey, DOI, arXiv id, authors, year and venue metadata with offline syntax checks, lowercase DOI assignments and vault-wide citekey uniqueness. Search includes reference DOI/citekey text; the first run rebuilds the index once in a separate schema3 derived cache without modifying existing notes (#73).
-
vmem setup codexreplaces a vmem entry whose table header uses quoted or spaced keys (["mcp_servers".vmem],[mcp_servers."vmem"],[ mcp_servers . vmem ]) and its subtables in place instead of adding a second table and refusing. The dry run now renders and parses the planned file, so a refusal shows in the preview as it does on apply (#116). -
Every CLI command prints text for people by default, following agent-hub's conventions: tables, field blocks, LEVEL/CHECK/FINDING checks with a verdict, one result line per write, and the exact confirm or next-page command after a preview or a cut-off read. Help is grouped into sections with a description per command, and
vmem help <command>prints one command.--color=auto|always|neverworks everywhere and honorsNO_COLORandTERM=dumb. Breaking for scripts: the default output was pretty JSON and is now text, so pass--json, which prints the same compact JSON as before (#114). -
N-1: Against 0.4.0, the derived index moves to
<sha>-links2-schema3.sqlite(spec caches likewise), so each version keeps its own cache and the first 0.5.0 run builds it once. Configs with vaultdomainsuse format 3; 0.4.0 reads and preserves those newer-format fields but refuses to create or explicitly set an extra domain id, warning only when an existing value is retained on an unrelated edit. In 0.5.0,vmem lint/vmem_lintreports an L02 error for adomainoutside the vault's effective set; 0.4.0 lint had no domain check, so a hand-edited note can pass lint there and fail in 0.5.0. CLI status andvmem_statusadd the effectivedomainsfield per vault. Note files remain Markdown/YAML, with new reference-only citekey/DOI/arXiv/authors/year/venue fields that 0.4.0 does not validate or author; use 0.5.0 for this metadata and extra-domain writes. Citekey uniqueness is ASCII case-insensitive in 0.5.0; retained legacy duplicates warn only on unrelated edits. Log line format is unchanged. CLI output now defaults to text: scripts must pass--jsonfor structured output. Existing MCP tools remain available; reference metadata and the optionalvmem_graph_neighborsrelationparameter are additive, and graph wiki-link edges may addrel. The consolelogsnapshot addscursorand acceptssince; older callers can omitsincefor the latest rows. These CLI and validation behavior changes require a minor release.
Install
npm i -g @staix/vault-mem@0.5.0
Published to npm with provenance through GitHub OIDC trusted publishing. The validated tarball (SHA-256 453445a3319b916e45e8c03ae8e06556e6c044f08cee5f4362a64a457aff07b2) and its manifest (tag, commit, SHA-256) from this run are attached.
Full changelog: v0.4.0...v0.5.0