diff --git a/CMakeLists.txt b/CMakeLists.txt index 61625c57..936d4c57 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -1,5 +1,5 @@ cmake_minimum_required(VERSION 3.16) -project(cortext VERSION 1.2.2 LANGUAGES C CXX) +project(cortext VERSION 1.2.3 LANGUAGES C CXX) set(CORTEXT_TARGET_IOS OFF) if(IOS OR CMAKE_SYSTEM_NAME STREQUAL "iOS" OR CMAKE_OSX_SYSROOT MATCHES "iphone") diff --git a/RELEASE.md b/RELEASE.md index c99fa6c4..891b0ab5 100644 --- a/RELEASE.md +++ b/RELEASE.md @@ -1,45 +1,51 @@ -# Cortext v1.2.2 Release Artifact +# Cortext v1.2.3 Release Artifact -This tracked artifact accompanies the `v1.2.2` tag. +This tracked artifact accompanies the `v1.2.3` tag. ## Release State -- Version: `1.2.2` -- Merged feature baseline before release metadata: `0298ce679876b27ed42925cbdfe4adc7d7c55279` -- Reviewed source tree: `ffdc8abdde25741103c4ee0fa6148f73d5879ee9` +- Version: `1.2.3` +- Merged feature baseline before release metadata: `2353640ed3b71b1d57074a54ee348d018cb2bacf` +- Release source: the integrated commit addressed by the annotated `v1.2.3` + tag; the GitHub release and registry artifacts are rebuilt from that exact + commit. - Product surface: C++ facade, C ABI, Python, JavaScript/TypeScript, Dart, Go, WASM, CLI, and Hermes provider integration. ## Highlights -- Replaces ambiguous consolidation booleans with one explicit consolidation - state while preserving knob-derived behavior. -- Makes consolidation recommendations edge-triggered from persisted - throughput state and F/S/T, without arbitrary count or elapsed-time - triggers. -- Routes forced consolidation through maintenance-only processing so it does - not create searchable input or perturb normal throughput observations. -- Keeps unchanged consolidation idempotent and protects original semantic - long-term candidates from association and graph crowding. -- Repairs long-term retrieval recovery so SQL fallback paging preserves - semantic-vector families and current reconstruction surfaces. -- Carries retrieval relevance through maintained bindings and keeps ephemeral - queries durably non-mutating. +- Keeps Natural and Durable ingestion on one SQLite-authoritative operation + path; Durable adds only its post-commit flush/checkpoint barrier. +- Cuts the existing SQLite HNSW route over to an F/S/T-derived bounded + retrieval sawtooth with a separately bounded consolidation activation + snapshot. +- Rearms consolidation hints after material cumulative throughput drawdown + while keeping stable jitter quiet. +- Preserves exact SQL fallback when sparse candidate generation underfills + after eligibility or family filtering, and repairs restart, eviction, + suppression, supersession, and canonical-entry edge cases. +- Keeps all routing and work-budget behavior modality- and opaque + `source_id`-agnostic without changing the public API or C API. ## Verification -- Pull requests [#3](https://github.com/augmem/cortext/pull/3) and - [#4](https://github.com/augmem/cortext/pull/4) merged with all twelve - exact-head GitHub checks successful and all review discussions resolved. -- The exact 1,915-message matched replay remained `2/7` top-12 needle hits in - both control and recommendation-driven treatment; treatment made one - throughput-derived consolidation call and preserved all 1,915 long-term - memories and current embeddings with zero ephemeral durable delta. -- The registered 18-pair normal-path artifact passed all eight zero-margin - latency, throughput, RSS, and database-size gates. -- Direct failed-cache retrieval improved materially at the measured 1,915-row - and 8,000-row populations. These measurements do not claim production - latency, seven-of-seven recall, or unbounded high-cardinality scaling. +- Pull request [#6](https://github.com/augmem/cortext/pull/6) merged at + `2353640ed3b71b1d57074a54ee348d018cb2bacf` with all review discussions + resolved and cross-platform native, AIST, WASM, Zig, Windows CLI, and + Linux sanitizer validation owned by exact-head GitHub checks. +- The exact Debug LLVM 21 media-enabled suite passed 39,305 assertions in 712 + cases across four disjoint shards at fixed seed 424242; Python passed 159 + tests plus 55 subtests. +- The production-shaped nine-point matrix passed 4,608/4,608 exact top-1 + controls with recall@16 and semantic coverage of 1.0, deterministic ties, + zero clustered misses, and source/modality invariance. +- The 30,380-packet mature run passed 511/512 exact top-1, recall@16 + 0.999265, semantic coverage 0.998571, deterministic ties, 19/20 material + cycle resets, and no retrieval work-bound violations. +- Paper traceability passed 70/70 and the manuscript records every algorithm + and experiment change. +- These results do not claim whole-engine raw-time reset, bounded whole-engine + restart, Durable plateau, or production-wide boundedness. ## Packaging @@ -49,7 +55,7 @@ This tracked artifact accompanies the `v1.2.2` tag. ## Version Surfaces -The release surfaces report `1.2.2`: +The release surfaces report `1.2.3`: - `CMakeLists.txt` - `build.zig` and `build.zig.zon` @@ -59,6 +65,6 @@ The release surfaces report `1.2.2`: ## Publish Targets -- GitHub release: `v1.2.2` -- PyPI: `augmem.cortext==1.2.2` -- npm: `@augmem/cortext@1.2.2` +- GitHub release: `v1.2.3` +- PyPI: `augmem.cortext==1.2.3` +- npm: `@augmem/cortext@1.2.3` diff --git a/bindings/dart/pubspec.yaml b/bindings/dart/pubspec.yaml index 1ed027b1..369e18a1 100644 --- a/bindings/dart/pubspec.yaml +++ b/bindings/dart/pubspec.yaml @@ -1,6 +1,6 @@ name: cortext description: Dart FFI bindings for the Cortext memory engine. -version: 1.2.2 +version: 1.2.3 homepage: https://github.com/augmem/cortext publish_to: none diff --git a/bindings/javascript/package.json b/bindings/javascript/package.json index 65d65a66..e3f5f819 100644 --- a/bindings/javascript/package.json +++ b/bindings/javascript/package.json @@ -1,6 +1,6 @@ { "name": "@augmem/cortext", - "version": "1.2.2", + "version": "1.2.3", "description": "JavaScript and TypeScript bindings for the Cortext memory engine", "main": "index.js", "types": "index.d.ts", diff --git a/bindings/python/pyproject.toml b/bindings/python/pyproject.toml index 59afc877..2ea490cc 100644 --- a/bindings/python/pyproject.toml +++ b/bindings/python/pyproject.toml @@ -4,7 +4,7 @@ build-backend = "setuptools.build_meta" [project] name = "augmem.cortext" -version = "1.2.2" +version = "1.2.3" description = "Python bindings for the Cortext memory engine" readme = "README.md" requires-python = ">=3.10" diff --git a/build.zig b/build.zig index de3cc628..8a72afb5 100644 --- a/build.zig +++ b/build.zig @@ -1,6 +1,6 @@ const std = @import("std"); -const cortext_version = "1.2.2"; +const cortext_version = "1.2.3"; const sqlite_header_template = @embedFile("third_party/sqlite/src/sqlite.h.in"); @@ -316,7 +316,7 @@ pub fn build(b: *std.Build) void { .name = "cortext", .linkage = if (shared) .dynamic else .static, .root_module = mod, - .version = .{ .major = 1, .minor = 2, .patch = 2 }, + .version = .{ .major = 1, .minor = 2, .patch = 3 }, }); // Keep Zig consumers on the same pinned hnswlib safety contract as the diff --git a/build.zig.zon b/build.zig.zon index 687f05bf..2d853f72 100644 --- a/build.zig.zon +++ b/build.zig.zon @@ -1,6 +1,6 @@ .{ .name = .cortext, - .version = "1.2.2", + .version = "1.2.3", .fingerprint = 0x474dfffd9e64ddfb, // Changing this has security and trust implications. .minimum_zig_version = "0.15.2", .dependencies = .{