Skip to content

Releases: r0b0tlab/hermes-zvec-memory

Zvec Memory v0.3.0 — reduced core

Choose a tag to compare

@am423 am423 released this 03 Oct 02:14
f28abfc

Zvec Memory v0.3.0 — reduced core

Release commit: f28abfc4875dd8b6cfef537f7ce0405824b7a5c6
Pull request: #5

Retains local memory_search/memory_store, committed Markdown durability, resolving
source citations, authoritative mirroring, durable indexing/reindex intent,
same-model restart and ordinary recovery. Engine remains 0.2.2.

Verified

  • 2022 core offline passes on the clean reconciled commit, retaining all 1891
    prior passing neighbors; exact full tree equals the published merge tree.
  • 26 actual native functional passes plus real pinned-host CLI dispatch and
    CLI-activated native composition: request consumed, generated-launcher
    store/search and source-cited recall after fresh-manager restart.
  • Final clean-qualified-tree 120-second soak: 9 cycles, 1 intentional restart,
    66 valid queries, corpus removed, final mirror count 0 and no owned leftovers.
    One index exit1 during restart recovered; not every native command returned0.
  • Two independent post-execution reviews passed with 202 and 252 exact bindings.
  • Source archive matches all122 Git blobs and permission modes, including the
    installed MIT notice; no SDK/model/private auth/config/logs/virtualenv bundled.

Supported boundary

Pinned Linux7.2.5-3-omarchy, Hermes7239625ae1b786827c952a8ace41fa6fd7f2eec5,
Node26.8.1, zvec-grep0.2.2 and local/potion-retrieval-32m (512/cosine).
The vault and every ancestor must remain stationary while active.
Managed setup requires the pre-provisioned pinned SDK/cached model and does not
start/reload services. Doctor's unloaded-service unhealthy result and initial
reindex requested-not-completed state remain truthful; subsequent native
completion was verified separately. Fresh network/bootstrap is not qualified.

Desktop/F9, migration/adoption, provider backup/restore, model switching, broader
platforms and bulk/multiwriter capacity are unsupported. Original full-scope
FAIL (133failures/46errors) is preserved; all179nonpasses have explicit individual
scope/successor dispositions. Historical8x200convergenceFAIL is not relabeled.

Execution retained2GiB/zero-swap/256tasks/200%CPU/no-network/300s outer caps.
Initial CLI asset-copy memory pressure and nonzero CPU throttling are disclosed
in the downloadable qualification report. No statistical speedup, long-term
leak-freedom or capacity extrapolation is made.

Publication is not production deployment. No production service change, other
real-profile modification or catalog submission was made by release execution.
The two newer main-branch commits are preserved in history; their Node admission
intent is superseded by stricter exercised explicit-interpreter generation.

See repository release notes, validation, reduced-core contract and upgrade
restrictions. The archive and qualification JSON are covered by SHA256SUMS.
Raw private evidence remains local; credentials were present [REDACTED].

v0.2.1 — audit fixes

Choose a tag to compare

@am423 am423 released this 26 Sep 19:28

Fixes found by the 2026-09-26 maintenance audit; no change to recall or persistence behaviour.

  • hermes zvec-memory reindex now actually requests a rebuild. It writes .reindex-request.json into the vault, and the provider consumes and removes it at the next initialize(), forcing the rebuild. Previously the subcommand printed a request that nothing persisted or read.
  • doctor's tasks check now reads the service unit, not the caller. It reads the effective TasksMax of hermes-zvec-memory.service via systemctl --user show (trusted only with LoadState=loaded) and falls back to the caller's cgroup otherwise — previously it could pass on an unrelated shell scope while the unit's real ceiling was misconfigured.
  • Test environment follows the host. requirements-test.txt pins ruamel.yaml==0.18.17 (required by the host's hermes_yaml config policy), and the host-contract coldness test no longer treats the host's own skills/ bootstrap as a plugin side effect.

Gates at this revision: offline suite 408 passed / 10 deselected; native lane 9 passed / 1 skipped (through the production launcher).

hermes-zvec-memory v0.2.0

Choose a tag to compare

@am423 am423 released this 11 Sep 15:49

hermes-zvec-memory v0.2.0

First tagged release: a local-first Hermes memory provider over a zg-indexed
Markdown vault — hybrid semantic and keyword recall, file:line citations, no
cloud dependency — now installable, checkable and upgradable in three commands.

Install

hermes plugins install https://github.com/r0b0tlab/hermes-zvec-memory#zvec-memory
hermes memory setup zvec-memory      # generates the launcher + unit, activates the provider
hermes zvec-memory engine install    # the one explicit step that fetches the pinned engine
hermes zvec-memory doctor             # exits 0 only when all eight checks pass

Requirements: Hermes with the memory-provider plugin interface, Node.js >= 22,
@zvec/zvec-grep@0.2.2, a local embedding model (default
local/potion-retrieval-32m), POSIX filesystem locking. Linux is the tested
platform; macOS is not yet exercised; Windows is unsupported by the process-safe
transaction layer.

Highlights

Operability — the provider now maintains itself.
hermes zvec-memory doctor|status|reindex|engine install checks config, vault,
engine, index, inbox, mirror, identity and the task ceiling, and fails closed.
hermes memory setup installs the engine runtime and the systemd unit from
post_setup, without touching your values. python scripts/upgrade.py gates a
swap behind a clean tree, the offline suite, the native lane, a receipted backup,
a baseline re-record and doctor — and can roll it back. docs/maintenance.md is
the operating manual.

Robustness — the durable state is versioned and recoverable.
Process-safe mirror transactions with a journaled, reversible mirror; a durable
notification inbox on guarded WAL that tolerates a peer mid-journal-conversion;
an engine-identity sidecar that rebuilds the index when the engine or embedding
changes and adopts an existing index instead of rebooting it on upgrade; a mirror
map that refuses a newer layout rather than misreading it.

Recall quality and cost.
Bounded context budget including heading and truncation marker, coalesced index
work and duplicate recalls, cached empty results, cache-generation invalidation
on vault change, native index contention retried with bounded backoff, duplicate
requests coalesced, prefetch bounded to 2 s.

Independence from Hermes internals.
The runtime path no longer imports hermes_cli, tools.registry, utils or
agent.context_compressor; the helpers it genuinely needed are vendored in
zvec-memory/hostio.py and pinned to the host by an equivalence suite plus a
guarded import probe.

Measured envelope

Not claimed: speed. What is measured and reproducible lives in
docs/stress-results.md, including the two correctness gaps the campaign found
(a harness task ceiling and a real durable-inbox journal-conversion race), both
closed with regression tests, and the recorded limits: TasksMax=1024 in the
generated unit (the engine aborts rather than degrades below ~150 tasks; measured
peak 138–150), campaign default --tasks 256, and the 30-minute soak envelope
(341/341 required hits, 453/453 absences, one engine restart, 138 tasks peak).

Verification for this release

Gate Result
Offline suite 401 passed, 10 deselected
Native lane (ZVEC_RUN_NATIVE=1, through the generated launcher) 9 passed, 1 skipped
hermes zvec-memory doctor on the running profile healthy
Generated launcher vs the hand-verified production launcher byte-identical
Fresh engine install in an isolated runtime root zg 0.2.2, launcher runs
hermes memory setup zvec-memory against the live host takes over activation, config gains only its own block
Production baseline re-recorded (revision 5; earlier revisions preserved)

Notes

  • The plugin-catalog entry (plugin-catalog-entry.yaml) is ready to submit once
    its sha is set to this release's commit (git rev-list -n1 v0.2.0).
  • Durable state lives under $HERMES_HOME/zvec-memory/ (vault, index, inbox,
    mirror map); the engine runtime under ~/.local/share/hermes-zvec-memory/.
    Backups from an upgrade are kept in $HERMES_HOME/backups/zvec-upgrade-*.