Skip to content

MemoryGuard v0.7.1

Choose a tag to compare

@irisxc4 irisxc4 released this 13 Aug 22:18

MemoryGuard v0.7.1

Date: 2026-08-14

Status: release-ready; full local regression and package acceptance passed

v0.7.1 is the V2 migration and desktop lifecycle completion release. It keeps
the v0.7.0 V2-only and CodeGraph boundaries while making the normal upgrade,
Agent/Group recovery, projection build, cancellation, and context-governance
paths coherent end to end. The final patch also restores the product-facing History,
Governance, Knowledge, and neuron-graph flows that were still broken behind green
service-level tests.

User-visible changes

  • memoryguard upgrade alone selects the canonical user data home, prepares
    and verifies V2, migrates Agent/Group control and data, activates V2, and
    removes the successful migration backup batch. --preview is read-only.
  • Bare governance commands and the desktop GUI use the same canonical data
    home from every current directory. Explicit workspace overrides remain
    available for isolated operator workflows.
  • Migrated shared/personal groups and bindings remain manageable. Registered
    but unbound Agents can enable a personal memory layer even when no native
    memory file exists.
  • File/folder and External MCP dialogs use valid native filters. Discovery
    returns registered product/Profile surfaces, safe source tokens, and stable
    names without exposing candidate paths or reading source bodies.
  • Reconstructed projection builds offer only real executable Agent CLIs or the
    explicit deterministic path. A selected engine runs the governed extraction,
    pending-enrichment, apply, canonical-reconciliation, and projection sequence
    in one durable background task. Engine metadata records actual LLM use.
  • Build start is scope-exclusive; status survives reload. Cancellation is
    visible, bounded, stops owned CLI children, recovers stale task owners, and
    restores the neuron page on every terminal or error path.
  • Rule reconciliation, retrieval, compaction, Knowledge references, and context
    bootstrap use one canonical scope/evidence model. Raw Knowledge or History
    bodies are not copied into automatic context or projection metadata.
  • Conversation History cards now keep readable titles/summaries and raw-session
    reads use exactly one business selector all the way through SafeBridge and the
    native V2 boundary. The native identity scrubber no longer deletes the History
    session_id selector, and Windows project-path comparisons are case-normalized.
  • Governance recent-write records expose their real Agent/group/provider fields.
    The GUI resolves a friendly Agent name when available and otherwise falls back
    to the stable Agent ID, actor, or provider instead of rendering rows of
    Unknown Agent.
  • The Knowledge Library is a product UI again rather than a JSON debug page. The
    restored V2-only bookshelf supports book cards, search, add/reingest, TaskRun
    status, candidate review, deleted-book restore/purge, book detail, document and
    occurrence browsing, settings, and smart-index rebuild without reconnecting the
    retired KnowledgeStore.
  • Automatic governance decisions are grouped/collapsible instead of rendering a
    delete log wall. The neuron graph uses compact level-aware layout and root-outward
    soft signal bands with node halos/terminal flashes instead of random projectile-like
    edge particles.
  • Graphify is embedded as memoryguard.graphify_core with explicit grammar imports,
    body-free provenance, and package license/notice files. V2 runtime modules keep the
    host-hook implementation behind HostHookExecutor rather than importing the host
    integration layer directly.

Safety properties

  • The browser can select an allowlisted engine ID only; executable paths are
    freshly resolved server-side.
  • CLI failure fails the build. Deterministic mode never claims llm_used=true.
  • Duplicate same-scope starts cannot create two workers.
  • Timed out or cancelled processes are terminated, then killed only after a
    bounded grace period; cleanup joins the owned reader and process.
  • A stale durable run is cancelled as task_owner_exited; a run owned by a
    different live process is not stolen.
  • Successful migration cleanup is batch-scoped. Failed migration evidence is
    retained and never represented as an active runtime.
  • Canonical-readiness and History-schema SQLite probes explicitly close their
    read-only handles; repeated bootstrap/history checks no longer pin rules.db
    or content.db on Windows.

Acceptance evidence

  • Final local collection: 1884 passed / 0 failed across 205 test files.
    The suite includes a real History user-flow regression:
    SafeBridge.dispatch_api(history_read) ? native V2 History ? Content V2 ? raw turn.
  • Final GUI/History/Governance/Knowledge/native cross-check: 422 passed.
  • The restored Knowledge bookshelf/detail JavaScript passes node --check; Python
    package compilation and git diff --check pass.
  • scripts/accept_v3_1.py passes every V2 binding, source, extraction, projection,
    source-map, export, and precise-delete check.
  • Package acceptance: the v0.7.1 wheel has 214 files and the sdist 452 entries;
    both pass metadata checks and contain no bytecode cache or scratch-patch artifacts.
  • Isolated Windows installation reports 0.7.1 from package metadata, module
    metadata, and CLI; MCP, GUI, embedded Graphify imports, and CLI help smoke pass.
  • Real user-level V1 data migration reached V2_ACTIVE generation 3 with four
    bindings, the shared group, memories, rules, and history verified. The
    successful backup batch was removed; doctor, mcp-status, bare upgrade,
    and Claude Hook status passed afterward.
  • Windows machine-readable acceptance scripts pass with a non-ASCII user path.

Graphify remains an optional metadata extraction provider behind MemoryGuard's
trusted CodeGraph adapter/projection. It is not a second runtime or a separate
MemoryGuard PyPI artifact.

Historical release notes: v0.7.0,
v0.6.2, v0.6.1, and v0.6.0.