Repository navigation
Releases
v0.3.4 — Coordinated native memory release
Query-independent core memory, bounded lifecycle ledgers, and a coordinated Python/native-plugin release source.
Core baseline and query recall
- OpenCode, pi, and omp refresh a DB-backed core baseline for each admitted user run, separately from query recall.
- Core and recall have separate budgets. Recall excludes rows already loaded into the baseline and abstains when no additional evidence remains.
- Remember, forget, and retraction become visible without restarting the session; repeated turns do not accumulate duplicate injected entries.
LUMINARY_CORE_TOP_N=0disables baseline loading.
Bounded ledger retention
- Lifecycle maintenance retains the newest rows per exact scope: 10,000 episodes, 50,000 audit events, and 50,000 evidence rows by default.
- Configure
LUMINARY_EPISODE_MAX_ROWS,LUMINARY_EVENT_MAX_ROWS, andLUMINARY_EVIDENCE_MAX_ROWS;0disables pruning for that ledger. Older history beyond a cap is deleted during maintenance.
Release consistency and verification
- Python and the three native plugin packages use version
0.3.4from the same tagged source. The tag workflow builds and validates the native tarballs once, then uses those artifacts for GitHub assets and npm publication. - This forward release replaces the inconsistent npm
0.3.3builds without overwriting published versions or moving the old tag. - The inspector default-store regression test now isolates both
HOMEand WindowsUSERPROFILEfrom the operator's home.
Known limitations
- Native OpenCode Web GUI discovery and Hermes classic CLI/TUI visual inspection remain unsupported; the optional browser companion is not a native replacement.
- Local Node 22 dependency installation warns that
@opentui/core@0.7.0declares Node 26.4.0 or Bun 1.3.14. Build, OpenCode type checks, UI/plugin tests, and the real-model gate passed locally; this does not establish support for every host/runtime.
Installation and artifact verification
Python 0.3.4 is published on PyPI. npm latest is 0.3.4 for pi, OpenCode, and omp.
All three npm tarballs are byte-identical to the GitHub assets attached here, and every packaged dist resource matches its copy in the PyPI wheel. Registry digests were checked for the wheel, sdist, and npm tarballs. npm publication used GitHub Actions trusted publishing with signed provenance; no local npm login or passkey was needed for the release.
v0.3.3 — Interactive Memory Inspector
Interactive memory inspection for supported agent hosts, with explicit ownership, scoped access, and confirmed changes.
Native inspectors
- OpenCode CLI and Desktop, pi, and omp provide native inspection on their verified host versions.
- Hermes Desktop and its web dashboard provide separate native inspector integrations. The loopback browser companion is optional and must be launched explicitly.
- The inspector includes scoped browsing, history, sharing permissions, maintenance previews, transfer, settings, and an offline deterministic summary.
Reliability and security
- Inspector subprocesses resolve storage from the same trusted launcher environment as their native context. A conflicting launcher home is denied; config files cannot supply trusted inspector control channels.
- An unavailable selected config no longer falls back to another store, and
~-prefixed SQLite paths resolve against the trusted process home before opening. - Malformed non-object responses from the companion's inspector subprocess return redacted
unavailableorunknown_outcomeresults instead of dropping the request. Downloads retain their existing unavailable-or-revoked error.
Known limitations
- OpenCode Web loads the server plugin but does not discover third-party GUI contributions. The companion is not a native Web plugin.
- Hermes classic CLI and TUI do not provide the authenticated session and scope lifecycle required for a native visual inspector. Existing provider and command integrations remain available.
- A source-workspace
npm audit --omit=devreported 26 moderate dependency entries involving upstreamglobandminimatchadvisories through OpenCode/OpenTUI dependencies. Exploitability in installed hosts has not been assessed. - Local installation on Node 24.19.0 warned that
@opentui/core0.7.0 declares Node 26.4.0 or Bun 1.3.14 as its minimum; the local build and native tests passed despite the warning. - All three npm packages now list
0.3.3, but their later publication useddevelopbuilds whose entry points differ from this tagged release's tarballs. Matching versions do not imply identical provenance. For Python0.3.3, use the plugin tarballs attached to this release rather than the npm0.3.3builds. A coordinated new version is required to restore a single release source; existing registry versions will not be overwritten.
Installation and verification
The release workflow gates the Python package and downloadable plugin tarballs on native-package checks, the official Hermes SDK, and strict recall with the real default embedding model. Check PyPI and the assets on this release for actual availability; a successful source build alone is not publication.
See the support matrix for tested hosts and unresolved targets.
v0.3.2 — Native Agent Plugins & OpenCode V2
Native memory packages for supported agent harnesses, with an OpenCode V2 adapter and evidence-aware memory operations.
Native agent plugins
- Luminary-maintained packages for OpenCode, pi, and omp, built from the same canonical adapters as the Python hook installer.
- Native memory tools and accurate stored, duplicate, skipped, error, and deletion results.
- pi and omp expose
/luminarycommands and native terminal interactions; compatible clients can consume their serialized results.
OpenCode V2
- Targets
@opencode/cli2.1.4 and@opencode/plugin2.1.4 withPlugin.define, Promise domain APIs, and the pluralpluginsconfiguration. - Automatic recall reads the admitted native user message; optional curation runs after successful execution.
- Session-owned workspace resolution prevents one shared plugin instance from reading another workspace.
- The older npm
0.3.1adapter remains the V1 target; the V1 Ecosystem submission pins that exact version.
Memory ownership and accuracy
- Shared UTF-8 JSON bridge enforces user, workspace, and harness ownership.
- Explicit remember and ID-scoped forget use real storage outcomes, not inferred success.
- Automatic durable writes require opt-in LLM curation grounded in the user message; assistant-only claims are rejected.
- Telegram activity uses destination-specific cursors and evidence-bearing results rather than attributing global new IDs to the current turn.
Installation and downloads
Install the Python bridge from PyPI:
python -m pip install --upgrade luminary-memory==0.3.2The release assets contain compiled 0.3.2 plugin tarballs for OpenCode, pi, and omp, plus the Hermes skill zip. All three npm packages are published at 0.3.2, with latest pointing to that version: luminary-memory-opencode, luminary-memory-pi, and luminary-memory-omp. Their registry SHA-512 checksums match the release assets.
Verification
- Python 3.11/3.12, PostgreSQL integration, and native-package CI passed before the source merge.
- The real default embedding-model release gate passed before PyPI publication.
- The published npm OpenCode
0.3.2package was installed through the real V2 CLI, loaded as an active package plugin in server2.1.4, and stored a fact through the published PyPI wheel. - Real OpenCode V2 native sessions, Python, and SQLite exercised scoped memory operations, automatic recall, grounded curation, rejection of assistant-only claims, and cleanup on plugin removal. Model/curation replies used deterministic localhost fixtures; this is not a model-quality benchmark or a desktop/web visual test.
Full changelog: https://github.com/alertxsto/luminary-memory/blob/main/CHANGELOG.md
v0.3.1
v0.3.1 — measurement and recall-calibration release Release gate on public strict recall, per-model semantic support floor (0.74 for the default model), date-invariant gold evaluation, relevance separated from grounding, long-run soak harness, extended gold fixture, and develop reconciled with main's documentation redesign and enricher retry fix.
v0.3.0 — Memory Accuracy & Session Continuity
Major release: memory is now scoped, evidenced, and auditable end to end.
Scope isolation
- New
scopemodule centralizes tenant/scope SQL predicates used by every recall path (SQLite, pgvector, graph, keyword, temporal) - Legacy/global rows stay visible to scoped callers through a compatibility mode
Schema and storage
- New tables:
episodes,claims,claim_evidence,memory_evidence,memory_events - Cross-process active dedup via scoped unique content-hash constraint
- SQLite schema now evolves existing databases, not just fresh installs
Claims and evidence
- Structured claims with grounded evidence quotes, canonical keys, and full lifecycle (active, superseded, retracted)
- Evidence fail-closed in every recall mode: fabricated quotes cannot become answer support
Hermes provider
- Every accepted turn enters a per-session episode ledger before curation
- When durable recall abstains, recent exact-session episodes are injected as bounded untrusted reference (active-task continuity)
- Serialized post-turn reconciliation can capture a new grounded fact or supersede/retract a scoped claim
- Scoped JSONL transparency events without prompt content or credentials
Enricher
- Transport switched from
urllibtorequests;urllibis blocked by Cloudflare (HTTP 1010) on OpenAI-compatible gateways - Failures surface as
enricher_failedevents instead of being swallowed intollm_no_curated_summary
Lifecycle and maintenance
- Cleanup, prune, consolidate, and runner hardening
- Authority repair utility with dry-run and backup before apply
- Telegram activity hook requires the
okenvelope and retries failures
Docs and website
- Guides refreshed for the new surfaces; website content and styles rebuilt
Full changelog: https://github.com/alertxsto/luminary-memory/blob/main/CHANGELOG.md
v0.2.16
v0.2.16: complete dashboard config coverage + config reference docs
v0.2.15
v0.2.15: adaptive memory + core memory integrity
Features:
- Adaptive importance on recall: frequently-recalled memories are
re-estimated immediately after the access bump (same estimate_importance
as lifecycle), so they climb into the next turn's persistent-context
block; pinned rules (>= 0.9) are never downgraded.
- Rule-aware query expansion: when the knowledge graph yields no entity to
expand a short query, up to two keywords from a durable rule on the same
topic are appended before embedding. Original query tokens stay, so
recall quality cannot regress (MRR 1.0 re-verified).
Fix:
- Content-level anti-duplication: a memory whose text is already in the
core block was re-injected by persistent context or recall when it had a
different id. Dedup now tracks content hashes alongside ids, so identical
text appears exactly once per turn across core/persistent/recall.
Tests (373 passed, 3 skipped, ruff clean, hermes smoke OK):
- Core integrity: sourced only from DB core tag, non-core high-importance
never leaks, content independent of _injected_ids, 3-way anti-dup once.
- Adaptive: recalled outranks idle, pinned never drops, defensive fallback
paths (get_many/update_importances None, empty, no-change).
- Query expansion: rule keyword appended on topic overlap, unrelated query
unchanged, short-word/empty-extra/error fallbacks.
Docs: README, docs/{index,recall,lifecycle,hermes-integration}, hermes/
SKILL+README, benchmarks/RESULTS, website, CHANGELOG, ROADMAP. Version
bump 0.2.15 in pyproject, __init__, plugin.yaml.
v0.2.13
feat: core memory (DB-backed MEMORY.md) + website redesign + test scr…
v0.2.12
feat: v0.2.12 — performance optimization pass (accuracy preserved) - Vectorized rule auto-replace (scan_embeddings_matrix, ~19x faster, identical results) - Lean persistent-context scan (top_by_importance, ~20x faster, no embedding decode) - Batched access bookkeeping (touch_memories), lifecycle passes (delete_many/update_importances), temporal fetch (get_many) - Docs/website/changelog/roadmap/benchmarks updated to latest data (93% coverage, 0.2.12, persistent context + rule hygiene)
v0.2.11
chore: release v0.2.11 — persistent context injection, rule pinning +…