Skip to content

v0.5.0

Choose a tag to compare

@github-actions github-actions released this 04 Nov 10:00
· 44 commits to main since this release
757aa17
  • Git timeouts and signals are named accurately: timed out after 60 s for vmem sync and 1 s for the console check (from Bun's exitedDueToTimeout), else killed by <signal>, each with its own next step (check git -C <vault> status, then rerun vmem sync, the same for vmem doctor, or inspect the vault Git state in System). vmem sync FETCH 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 sync would 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 log snapshot returns an opaque string cursor; passing it back as since returns only the rows appended since, oldest first up to 100 per poll with more: true when rows remain, identical lines included. A rewritten, truncated or far-behind log answers with the latest rows and reset: true. The cursor travels as since because the console reserves the numeric after. 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 codex reads 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 inline mcp_servers = { ... } to [mcp_servers.<name>] tables, and on undo rerun vmem 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.button and ui.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-console moves to 4c4c1e0 (#122).

  • The console panel builds every view from the agent-console panel kit (host.ui): lists use ui.rows/ui.row, so j/k/Enter work on them, and a note opens in ui.detail. The panel CSS uses only the kit's public classes and --acon-* tokens, and the @staix/agent-console devDependency moves to 5af4dcc, which has ConsoleUi (#57).

  • vmem lint and vmem graph build / graph neighbors name an option they do not take and where it applies (graph build: --relation applies only to graph neighbors) instead of requires one vault id. graph neighbors now refuses --dry-run, which it used to accept and ignore. A wrong positional count keeps its message (#121, #127).

  • vmem graph build keeps the relation of - [[x]] (relation) lines from vmem link --relation as rel on the wiki_link edge, and vmem graph neighbors --relation / vmem_graph_neighbors relation follow only edges of one relation (wiki_link for 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 codex replaces 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|never works everywhere and honors NO_COLOR and TERM=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 vault domains use 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_lint reports an L02 error for a domain outside 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 and vmem_status add the effective domains field 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 --json for structured output. Existing MCP tools remain available; reference metadata and the optional vmem_graph_neighbors relation parameter are additive, and graph wiki-link edges may add rel. The console log snapshot adds cursor and accepts since; older callers can omit since for 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