Skip to content

Releases: leonardsellem/hypermnesic

v0.2.1

Choose a tag to compare

@github-actions github-actions released this 07 Aug 05:55
983bc15

Install: uv tool install hypermnesic · PyPI 0.2.1 · Full changelog

Fixed

  • A fresh uv tool install hypermnesic no longer installs a server that cannot
    start (LS-2550).
    Runtime dependencies were declared without upper bounds, so a
    clean resolve took mcp 2.0.0 — which removed mcp.server.fastmcp, imported at
    module level by mcp_server.py — and every new install crash-looped on
    ModuleNotFoundError. uv.lock hid this from the whole test suite because it is
    not shipped in the wheel or sdist, so it protects this repository and no user.
    All four runtime dependencies are now bounded below their next untested major.
  • A fresh-install CI job builds the wheel, installs it into a clean environment
    outside the lockfile, and starts the server — the only gate that sees what a
    user actually gets. tests/test_dependency_bounds.py is the cheap local half: it
    fails as soon as a runtime dependency loses its upper bound, without waiting for
    that dependency to publish a breaking major.
  • CI now also runs on pushes to dev, not only main.

Added

  • The release workflow now creates the GitHub Release after a successful PyPI
    publish, with notes built from this file's section for the tag
    (scripts/changelog_section.py) and the built sdist + wheel attached. Previously
    release.yml published to PyPI only, so v0.1.0 was the newest GitHub Release
    while newer versions shipped — and the changelog never surfaced on the releases
    page. A missing or empty changelog section now fails the job rather than
    announcing a release with empty notes.

Full diff: v0.2.0...v0.2.1

v0.2.0

Choose a tag to compare

@leonardsellem leonardsellem released this 06 Aug 15:26
fab65b3

Install: uv tool install hypermnesic · PyPI 0.2.0 · Full changelog

Added

  • Repository social-preview asset for the public GitHub presentation.
  • Directory-submission prep for the official MCP Registry, awesome-mcp-servers, and
    Obsidian community plugin directory.
  • PyPI publication decision memo for the one-command install gate.
  • PyPI Trusted-Publishing release workflow (.github/workflows/release.yml): OIDC,
    no stored API token, triggered on v*.*.* tags or manual dispatch — enables
    uv tool install hypermnesic once the project's trusted publisher is configured
    and 0.1.0 is published.
  • Launch-week first-contact response SLO checklist and baseline.
  • Launch narrative and channel-specific post drafts tied to readiness evidence.
  • Launch sequencing plan and public-launch retro template.
  • GitHub Discussions welcome and public roadmap prep for the contribution funnel.
  • Live GitHub Discussions links in README/docs for the welcome thread and public roadmap.
  • Launch demo assets (media/): a receipts-first promotion set. The README now leads
    (above the fold) with the hero "receipt loop" GIF — an agent writes a memory through the
    real MCP commit_note tool, git log shows the real commit, and a fresh session recalls
    and cites it — and the ## Benchmarks section embeds a committed LongMemEval chart
    (judge-axis labeled, numbers from harness/BENCHMARKS.md). Engine .tape sources + a
    loopback MCP-client helper, a benchmark SVG, a connector montage, per-community carousels,
    and a companion PKM fixture vault + recording setup live under media/, run against
    disposable fixture vaults with a fixed committer identity, and pass a two-gate leak check:
    the automatic text scan (scripts/preflight_public_scan.py, now also catching macOS
    /Users/ and /var/folders/ paths) plus a manual frame-review checklist
    (docs/guides/demo-asset-frame-review-checklist.md) with a sign-off log (media/.review-log.md).
  • Flagged binary captures (LS-1778): the demo set's deliberately-flagged binary renders,
    now captured, frame-reviewed, and signed off pass in media/.review-log.md — the Claude Code
    client GIF (live TUI → MCP → a real commit_note), the companion read-only-proof composite, the
    live-graph companion-hero GIF, the Obsidian marketplace stills + demo.gif (in the separate
    companion repo), and the r/ObsidianMD obsidianmd-still.png; plus
    media/companion/capture-obsidian-stills.sh (reproducible Obsidian-CLI capture, TCC-free via
    dev:screenshot). Re-rendered the hero + index-recovery GIFs to fix a hidden-setup leak
    (clear is a no-op in VHS's headless terminal).
  • MCP read_note(path) read tool — fetches a located note's full markdown content by
    repo-relative path, bounded to indexed notes (a ../ traversal, an absolute path, or a
    non-note file returns found: false with content: null, never an out-of-vault read).
  • glama.json server-metadata file (maintainers) for the Glama MCP directory.

Changed

  • GitHub repository description and topics were applied for the public release presentation pass.
  • Directory-submission prep now reflects the current MCP Registry schema constraint,
    the open awesome-mcp-servers PR, and the Obsidian PR permission handoff.
  • README and getting-started quickstart now install from PyPI (uv tool install hypermnesic)
    instead of a clone / git URL, now that 0.1.0 is published to PyPI.
  • README header shows a PyPI version badge (replacing the git-tag version badge); added PyPI
    Trove classifiers to pyproject.toml (Intended Audience, Python 3.11–3.13, AI / indexing
    topics) for richer project metadata and a Python-versions badge from the next release.
  • search and hypermnesic_search MCP tool descriptions are now full, self-describing
    definitions (retrieval model, return shape, and when to use each) rather than one-line stubs,
    raising the Glama Tool Definition Quality Score; hypermnesic_search now states it is the
    prefixed alias of search. A connector-quality test guards against regressing to terse
    descriptions.
  • Every MCP tool parameter now carries a schema description (previously 0% coverage), so clients
    and directory scorers see documented inputs — addressing the Glama TDQS "Parameters" dimension
    across all read tools and the gated commit_note write tool.
  • README rewritten to lead with the use case and an unequivocal USP. A scenario-led hero
    ("One brain. Every AI. Yours.") opens above the receipt GIF; a new "Why it compounds" section
    pairs the Capture → Curate → Recall → Compound flywheel illustration (media/engine/flywheel.jpg)
    with the shared-brain argument; a "One endpoint, every client" section reuses the connector
    montage; and an honest "How it's different" comparison (mem0/Zep, Hindsight, Honcho, a
    database-backed brain) links docs/why-hypermnesic.md. The quick-start, how-it-works, and
    benchmark reference depth is preserved below the narrative.
  • docs/why-hypermnesic.md gains vs. Hindsight (own vector store; higher LongMemEval on a more
    lenient judge axis) and vs. Honcho (complementary behavioural layer) entries.

Fixed

  • A reindex no longer strands long-lived readers (LS-2539). reindex_isolated
    installs the rebuilt index with os.replace; a process that had already opened the
    database kept its connection on the unlinked inode, so reads silently served a frozen
    snapshot while writes failed with attempt to write a readonly database. On a
    long-running MCP server that meant recall answering confidently from a stale index with
    nothing to signal the drift. Index now records the file's (st_dev, st_ino) and
    reopens when the path resolves to a different file — a missing file (an in-flight
    rebuild) and an open transaction are deliberately not treated as swaps.
  • commit_note and rename_note no longer report a landed commit as a failure. The
    index projection runs after the git commit and push, where raising told the caller
    nothing had been written — so an agent would write the same note again elsewhere, and
    the audit entry for a real git write was skipped. An index failure past that point is
    now a degraded success: the SHA reaches the caller, the audit entry is still appended,
    and the new index_degraded / degraded_reason fields on the commit_note MCP output
    say what happened. Guard refusals are unchanged and still return committed: false
    a refusal wrote nothing, which is a different outcome.
  • README: removed a duplicated hero "receipt loop" GIF (embedded twice after the launch-assets
    merge) and activated the previously bare Docs-section links
    (docs/unified-oauth-mcp-deploy-runbook.md, plugin/README.md, docs/plans/,
    docs/threat-model-commit-note.md, the write-anywhere security review, and
    implementation-notes.md).

Full diff: v0.1.0...v0.2.0

hypermnesic v0.1.0

Choose a tag to compare

@leonardsellem leonardsellem released this 14 Jun 16:53

hypermnesic v0.1.0

hypermnesic is a markdown-native, git-as-source-of-truth memory layer for agents. It
keeps files as the durable record, projects them into a rebuildable hybrid retrieval
index, serves recall over MCP, and gates writes through auditable git commits.

Why this release matters

  • Local proof first: hypermnesic local-proof demonstrates source-grounded recall and
    a dry-run commit_note diff in a generated local vault.
  • One public OAuth MCP lane: remote clients share one OAuth-secured /mcp endpoint,
    with read tools always available and the git-first write tool controlled by scope.
  • Owner controls: setup/status diagnostics, client grant inspection/revocation, and
    memory-control commands expose operational state without printing secrets.
  • Product evidence: the release carries deterministic product smoke tests, real-client
    smoke evidence, and LongMemEval benchmark evidence. The public claim is limited to the
    recorded benchmark setup and readiness gates.
  • Public project surface: community docs, security reporting docs, architecture and
    reference docs, launch checklists, and the separate GPL-3.0 Obsidian companion release
    are in place.

Evidence

  • LongMemEval V1 _s benchmark evidence is documented in harness/BENCHMARKS.md.
  • Release-readiness gates are documented in docs/launch/first-class-product-readiness-checklist.md.
  • Remote-client smoke expectations are documented in docs/guides/remote-client-smoke-checklist.md.
  • Changelog details are in CHANGELOG.md.

What is next

  • Complete the main repository visibility flip after the git-history and security-setting
    gates are satisfied.
  • Submit external listings only after the repository is public and install paths resolve
    for new users.
  • Continue improving degraded lexical-only client behavior and setup diagnostics based on
    real-client smoke feedback.