Skip to content

release: v0.20.0 — Rust implementation - #142

Merged
Fail-Safe merged 23 commits into
mainfrom
next
Aug 18, 2026
Merged

release: v0.20.0 — Rust implementation#142
Fail-Safe merged 23 commits into
mainfrom
next

Conversation

@Fail-Safe

@Fail-Safe Fail-Safe commented Aug 18, 2026

Copy link
Copy Markdown
Owner

Summary

  • replace Noema's Go implementation with the qualified Rust 2024 CLI and MCP server
  • preserve the established command, storage, federation, recovery, TUI, and plugin contracts
  • move build, CI, release packaging, and Homebrew metadata generation to the Rust toolchain
  • retain the completed Go-to-Rust evaluation and benchmark evidence in docs/why-rust.md

Release impact

This is the production cutover to the Rust implementation. Existing cortexes remain compatible, standard durability preserves the established write behavior, and strong durability is available as an explicit opt-in profile.

The release workflow is configured to build and smoke-test native archives for macOS, Linux, and Windows on x64 and arm64, publish checksums and plugin bundles, and update the stable Homebrew channel after the release tag is created.

Validation

  • make test
    • formatting and strict Clippy checks
    • 132 Rust unit tests
    • 20 process-death, recovery, and restore integration tests
  • make release-check (noema v0.20.0, Rust)
  • Hermes plugin: 101 tests
  • Obsidian plugin: regression test, production build, TypeScript check, and generated-bundle verification
  • release metadata generator: 2 tests
  • repository script tests
  • git diff --check
  • push and pull-request CI passed on the exact candidate commit

Live qualification

  • existing cortex opened and served without migration or data loss
  • Obsidian connection, authentication, trace creation, external editing, hybrid search, append, and bidirectional lineage passed
  • MCP session recovery passed after a supervised daemon restart
  • sustained Obsidian use returned the watcher to near-idle CPU without renewed write amplification

After this PR merges, a v0.20.0 tag on the resulting main commit will trigger the release workflow.

Fail-Safe and others added 23 commits June 11, 2026 00:00
keygen is a top-level command but was only mentioned in the federation
event-signing prose; add it to the command table next to the federation
block so it's discoverable when scanning the command list.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
chore: reconcile next with released history
…orrectness

feat: preserve federation state and add dynamic listeners
* feat: add experimental Rust rewrite and comparison suite

* fix: fail closed for unsupported Rust HTTP security

* feat: validate persistent MCP and signed federation replay

* feat: add mixed Rust federation experiments

* feat(rust): add background federation experiments

* feat(rust): add authenticated TLS federation

* feat(rust): add consolidation election foundation

* feat(rust): add consolidation pass coordination

* feat(rust): add heuristic promotion pass

* feat(rust): add consolidation cadence and graduation

* feat(rust): add model-driven consolidation

* feat(rust): add consolidate CLI parity

* test(rust): compare real-model consolidation

* feat(rust): add watcher parity

* feat(rust): add semantic search parity

* feat(rust): tighten MCP contract parity

* feat(rust): add plugin lifecycle parity

* feat(rust): complete advanced MCP parity

* feat(rust): add functional TUI parity

* feat(rust): add TLS certificate lifecycle parity

* feat(rust): reconcile live federation workers

* test(rust): add lock and I/O fault gates

* fix(rust): roll back failed trace transactions

* fix(rust): recover interrupted trace mutations

* fix(rust): recover interrupted trace deletion

* fix(recovery): guard mixed-runtime takeover

* feat(rust): add safe cortex restore

* feat(rust): expose safe recovery status

* feat(rust): recover interrupted cortex restore

* fix(rust): persist configuration atomically

* test(rust): validate live TUI lifecycle

* feat(rust): complete recovery and verification parity

* feat(rust): complete migration and operational parity

* test(rust): add blinded qualitative comparison

* fix(consolidation): align model quality across runtimes

* fix(tui): match Go visual hierarchy

* feat(rust): qualify standard profile at scale

* test(rust): qualify APFS storage recovery

* docs: clarify Rust workload comparison

* docs: align Rust report charts

* feat: make Rust the production implementation

* docs: remove unreleased durability terminology

* docs: add Rust source-size comparison

* docs: refine source-size comparison

* fix(backup): preserve Obsidian trash alias compatibility

* fix(http): separate listener and Host allowlists

* docs: record Rust deployment qualification

* fix(ci): satisfy Rust 1.88 clippy
@Fail-Safe
Fail-Safe marked this pull request as ready for review August 18, 2026 20:18
@Fail-Safe
Fail-Safe merged commit d744349 into main Aug 18, 2026
4 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant