Skip to content
Closed
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
144 commits
Select commit Hold shift + click to select a range
2a394e5
fix(docs): standardize recall latency to ~45ms
ajianaz Aug 11, 2026
e381b17
Merge pull request #999 from codecoradev/fix/docs-recall-latency-30ms…
ajianaz Aug 11, 2026
cc8a69b
chore: harden .gitignore + restructure repo for public safety
ajianaz Aug 13, 2026
c80655a
feat: hybrid as default recall strategy + import fixes (#1005, #1014)…
ajianaz Aug 13, 2026
4a56cac
perf: Phase 2 — skip update check in batch mode, pre-truncate embeddi…
ajianaz Aug 13, 2026
20a0455
feat: Phase 3 — lifecycle/deprecated, memory tools guide, source prov…
ajianaz Aug 13, 2026
6403f01
feat: scene-segmented extraction with priority scoring (#1009) (#1018)
ajianaz Aug 13, 2026
af0e500
chore: bump version to 0.14.0 (#1019)
ajianaz Aug 13, 2026
87a0280
fix: crates.io publish race condition + uteke-mcp metadata (#1021)
ajianaz Aug 14, 2026
5e063e2
fix(ci): switch deploy-website from npm to bun (#1022)
ajianaz Aug 14, 2026
4aea7c4
feat(test): adopt cargo-mutants for mutation testing (#1023)
ajianaz Aug 14, 2026
5441eab
fix(chunker): heading duplication + multibyte infinite loop; 40 mutat…
ajianaz Aug 14, 2026
6a1ec8e
chore: bump version to 0.14.1 (#1025)
ajianaz Aug 14, 2026
b98f579
fix(cli): uteke-cli crates.io publish failure + release verify step (…
ajianaz Aug 14, 2026
6e4dac1
chore: bump version to 0.14.2 (#1031)
ajianaz Aug 14, 2026
2253e07
ci(release): reject stale RELEASE_NOTES.md (#1033)
ajianaz Aug 14, 2026
9d3ad3a
fix: HTTP & MCP recall strategy — default hybrid, loud validation (#1…
ajianaz Aug 15, 2026
76d24b5
chore: bump version to 0.14.3 (#1039)
ajianaz Aug 15, 2026
c2d85de
fix(ci): release notes heredoc executed installer on runner — use tem…
ajianaz Aug 15, 2026
fdc0c68
docs: sync stale version refs, roadmap v0.13–v0.14, merge comparison …
ajianaz Aug 17, 2026
3780a3e
docs(agent): Critical Rule #14 — explicit approval before execution (…
ajianaz Aug 17, 2026
f5029a3
test: use ORT_LIB_NAME in find_ort_in_dir exact-match test (#1054) (#…
ajianaz Aug 17, 2026
de17609
chore: switch ID generation new_v4 → now_v7 (#1058) (#1060)
ajianaz Aug 17, 2026
ec23866
fix: soft-forgotten memories leak into list, search, and doctor count…
ajianaz Aug 17, 2026
8451a80
fix: search_content(None) coerced to default namespace — cross-namesp…
ajianaz Aug 17, 2026
5b8ec19
fix: recall cache hit skips salience/recency boosts — cold/warm score…
ajianaz Aug 17, 2026
021f22f
fix: /export drops namespace attribution + deprecated-row delta undoc…
ajianaz Aug 17, 2026
f6337fc
fix(mcp): uteke_dream destructive defaults — dry-run first, scope or …
ajianaz Aug 17, 2026
0a6331d
feat(mcp): enrich tool outputs agents need — stats tiers/namespaces, …
ajianaz Aug 17, 2026
faaf7f3
feat(mcp): uteke_get + uteke_update tools; short-ID resolution for al…
ajianaz Aug 17, 2026
b8c695e
feat: structural export — full-store round-trip (rooms, graph, edges,…
ajianaz Aug 17, 2026
33fad47
feat: supersession workflow — mark stale decisions superseded, flagge…
ajianaz Aug 17, 2026
db7299a
ci: add source-branch-check — PRs into main must come from develop (#…
ajianaz Aug 19, 2026
5983654
chore: bump version to 0.15.0 (#1073)
ajianaz Aug 19, 2026
072e188
ci: source-branch-check allows chore/release-* release branches (#1075)
ajianaz Aug 19, 2026
2102724
ci: bump actions/download-artifact v4 -> v8 (Node 24) (#1080)
ajianaz Aug 19, 2026
2076bc0
fix(core): structural import silently dropped room_documents + harden…
ajianaz Aug 19, 2026
38a5db8
fix(ci): skip CLA check for bots (dependabot, renovate, github-action…
ajianaz Aug 20, 2026
0dd4592
feat(core): add author_type (human|agent) to memory records (#1084)
ajianaz Aug 24, 2026
0ef1854
fix(server): wire 'at' time-travel param into /room/recall (#1085)
ajianaz Aug 24, 2026
d6ff6bb
docs(server): document deprecation time-travel limitation (#1086) (#1…
ajianaz Aug 24, 2026
bca7666
feat(core): room semantic segmentation (LLM-free, #1088) (#1090)
ajianaz Aug 25, 2026
1a61919
feat(core): expose semantic segments in room_summary (#1088) (#1091)
ajianaz Aug 25, 2026
5052c32
feat(core): segment-level consolidation planner, measure-only (#1088)…
ajianaz Aug 25, 2026
5ab4633
feat(core): provenance trust policy for consolidation (#1089) (#1093)
ajianaz Aug 25, 2026
f6bdb84
feat(core): LLM consolidation executor reusing extraction setup (#108…
ajianaz Aug 25, 2026
0c3f89e
feat: wire consolidation pipeline into core, CLI, and HTTP (#1088) (#…
ajianaz Aug 25, 2026
c1bba22
chore(docs): regenerate api-reference via docgen (#1095 follow-up) (#…
ajianaz Aug 25, 2026
9bc82c4
feat(core): vecq pure-Rust vector backend behind feature flag (#1099)
ajianaz Aug 26, 2026
17e2f91
fix(core): track deprecated_at for correct time-travel recall (#1086)…
ajianaz Aug 26, 2026
13b1d6d
chore: remove embed_cache.db artifact and ignore it (#1101)
ajianaz Aug 26, 2026
e7c127e
feat: per-pair dedup control via POST /consolidate/pair (#1076) (#1102)
ajianaz Aug 26, 2026
f07dfef
fix(ci): keep v prefix in release notes download table + pinned insta…
ajianaz Aug 26, 2026
19a1fe1
feat(server): add --version/-V flag to uteke-serve (#1044) (#1104)
ajianaz Aug 26, 2026
72fd7d9
fix(cli): honor UTEKE_HOME as store path override (#1105) (#1107)
ajianaz Aug 26, 2026
1a081e2
fix: echo author_type in remember responses + CLI --author-type flag …
ajianaz Aug 26, 2026
3f0cf32
fix(core): repair() no longer evicts document chunk vectors from inde…
ajianaz Aug 26, 2026
27a2b4f
fix(build): vecq binaries now buildable via forwarded backend feature…
ajianaz Aug 26, 2026
b4f0b8a
fix(core): backend-aware index filename, doctor label, forget --confi…
ajianaz Aug 26, 2026
668ed6c
fix(core): verify/doctor count doc chunks on DB side, no false MISMAT…
ajianaz Aug 26, 2026
9c1979e
fix(cli): repair report compares against memories + chunks (#1117)
ajianaz Aug 26, 2026
46e1c47
test(longmemeval): fast-eval foundation — datasets + Modal harness + …
ajianaz Aug 27, 2026
e65f36a
test(longmemeval): temporal date-window boost (#1119) (#1126)
ajianaz Aug 27, 2026
ac951f7
test(longmemeval): MMR diversity rerank flag + replay recording (#112…
ajianaz Aug 27, 2026
4e32746
fix(longmemeval): dataset-tagged volume paths + qid-set cache validat…
ajianaz Aug 27, 2026
9cb7cbb
fix(core): make sha2 non-optional — no-default-features profile compi…
ajianaz Aug 28, 2026
e27dbe5
feat(core): Fusion as default recall strategy + benchmark tooling (v0…
ajianaz Aug 28, 2026
c6cf669
feat(bench): UTEKE_GIT_REF — build validation binary from exact SHA i…
ajianaz Aug 29, 2026
bfbc296
fix(bench): install build-essential for git-ref image build (linker c…
ajianaz Aug 29, 2026
14b37ab
docs(bench): pure-default 500Q validation — fusion 0.946 R@5 (+9.2 vs…
ajianaz Aug 29, 2026
8a6d48f
docs: fusion weights = internal hasil tuning, bukan bagian kontrak pu…
ajianaz Aug 29, 2026
8dc6c4a
docs(bench): LongMemEval-S 500Q results page — dual-metric + comparis…
ajianaz Aug 29, 2026
bfed150
chore(release): CHANGELOG 0.16.0 — full-release validation numbers + …
ajianaz Aug 29, 2026
468f842
fix(core): repair --reembed can now repair NULL-embedding rows (#1146…
ajianaz Aug 29, 2026
7facdeb
fix(ci): CLA check skips bot PRs with exact allowlist (#1132) (#1148)
ajianaz Aug 29, 2026
18ff623
fix(cli): repair --reembed report reflects final index state (#1149) …
ajianaz Aug 29, 2026
da46d40
chore(ci): bump actions/github-script from v7 to v9 (#1151)
ajianaz Aug 29, 2026
febee27
test(cli): resolve_namespace precedence — flag > env > config > defau…
ajianaz Aug 29, 2026
512f379
test(cli,core): env parsing guards + validate_input_with_limits bound…
ajianaz Aug 29, 2026
d03375c
test(core): ensure_embedder branch coverage — unknown/custom/openai-m…
ajianaz Aug 29, 2026
978003f
test(cli): cover TOML helpers — migrate_content, global_config_path, …
ajianaz Aug 29, 2026
a0a400d
docs: refresh documentation for 0.16.0 — fusion default, updated benc…
ajianaz Aug 29, 2026
92b485b
chore: sync main back into develop after #1158 docs carry (#1159)
ajianaz Aug 29, 2026
a83987d
docs(contributing): require CLA + state contributions are unpaid (#1162)
ajianaz Aug 30, 2026
cf49be8
deps(core): bump vecq-core 0.1.1 -> 0.3.0, adopt 4-bit + residual pro…
ajianaz Aug 31, 2026
10ddcc4
fix(core): feature-aware embedder default in open() + open_with_backe…
ajianaz Aug 31, 2026
75b72ff
feat(core): runtime-selectable vector engine (usearch + vecq in one b…
ajianaz Aug 31, 2026
c0b92cb
feat(build): dual-engine default — official binaries ship usearch + v…
ajianaz Aug 31, 2026
652fca6
docs(bench): independent reproduction results + surfaced headline num…
ajianaz Sep 1, 2026
4dd7c54
chore(deps): bump flate2 from 1.1.9 to 1.1.10 (#1175)
dependabot[bot] Sep 3, 2026
39f877a
chore(deps): bump which from 8.0.5 to 8.0.6 (#1176)
dependabot[bot] Sep 3, 2026
2cc0474
chore(deps): bump usearch from 2.26.0 to 2.26.1 (#1177)
dependabot[bot] Sep 3, 2026
51707f3
chore(deps): bump uuid from 1.24.0 to 1.26.0 (#1178)
dependabot[bot] Sep 3, 2026
bd2288c
fix(room): honest room_delete reporting across CLI/HTTP/MCP — count u…
ajianaz Sep 3, 2026
cbccebb
fix(server): resolve memory IDs to graph nodes in /graph/edge endpoin…
ajianaz Sep 5, 2026
0f75a96
feat(api): namespace management — move, rename/merge, delete with str…
ajianaz Sep 5, 2026
16f1186
feat(core): provenance data model — source hash, event actor/evidence…
ajianaz Sep 5, 2026
841e990
feat: contradiction resolution ledger + undo across CLI/HTTP/MCP (#11…
ajianaz Sep 5, 2026
d0243a7
feat: explain recall — ranking signals on CLI, HTTP, and MCP (#1160) …
ajianaz Sep 6, 2026
8a28aef
fix: graph excludes stale memory nodes + readable node labels (#1189 …
ajianaz Sep 6, 2026
9bd004d
feat: /list pagination metadata envelope (#1188) (#1191)
ajianaz Sep 6, 2026
29d50d7
feat: contradiction benchmark segment + uteke supersede CLI (#1172 F3…
ajianaz Sep 6, 2026
b15c2c4
chore: release 0.17.0 (#1194)
ajianaz Sep 6, 2026
591f64d
chore: post-release sync main→develop + AGENTS.md (0.17.0) (#1198)
ajianaz Sep 6, 2026
100c3e2
docs: AGENTS.md points to codecora-workflow-standard room as workflow…
ajianaz Sep 6, 2026
c399678
feat(api): room rename, room update, memory room-move + CLI memory up…
ajianaz Sep 7, 2026
2da9693
docs(benchmarks): surface benchmark proof in README, fix stale versio…
ajianaz Sep 9, 2026
5ad4ce7
docs(benchmarks): restructure into internal/longmemeval/locomo, commi…
ajianaz Sep 9, 2026
5300c88
fix(core): verify dedup candidates are live before skipping insert (#…
ajianaz Sep 9, 2026
759dd13
docs(readme): benchmark-first restructure + self-service reproduction…
ajianaz Sep 9, 2026
fa38c48
bench(locomo): full 1536-QA results on v0.17.0 — fusion wins strict f…
ajianaz Sep 9, 2026
cfe217e
bench(longmemeval): v0.17.0 re-validation complete — headline numbers…
ajianaz Sep 9, 2026
05457d1
docs(readme): align headline numbers with owner decisions — 45ms late…
ajianaz Sep 9, 2026
d2aa018
docs(readme): fix badge anchor + humanizer/copywriting pass (zero em …
ajianaz Sep 9, 2026
2fbbd7d
docs(readme): embed v0.17 revalidation chart in the benchmark section…
ajianaz Sep 9, 2026
d1f2144
docs: sync Indonesian README + docs with v0.17.0 benchmark decisions …
ajianaz Sep 9, 2026
8657dbb
docs: document namespace management (#1181) and sync MCP tool table w…
ajianaz Sep 10, 2026
42d1e66
fix(benchmarks): correct LoCoMo category label mapping (official 1=si…
ajianaz Sep 10, 2026
b4d3991
fix(install): copy bundled ORT libs on binary install (#1221)
KazamiHazaki Sep 11, 2026
3fe6a6b
fix(ci): make cla-check work for fork PRs (#1224)
ajianaz Sep 11, 2026
7924453
chore(deps): bump usearch from 2.26.1 to 2.26.2 (#1204)
dependabot[bot] Sep 11, 2026
4e17273
chore(deps): bump tokenizers from 0.23.1 to 0.23.2 (#1206)
dependabot[bot] Sep 11, 2026
2804b55
chore(deps): bump dirs from 6.0.0 to 7.0.0 (#1207)
dependabot[bot] Sep 11, 2026
fd83959
fix(ci): skip branch naming and PR description checks for bot PRs (#1…
ajianaz Sep 11, 2026
b9bb420
chore(deps): bump toml from 1.1.4+spec-1.1.0 to 1.1.5+spec-1.1.0 (#1205)
dependabot[bot] Sep 11, 2026
f4bdae7
fix(cli): default recall min_score 0.3 -> 0.0 (#1223) (#1228)
ajianaz Sep 11, 2026
3b93b34
benchmarks: preserve AMB (agent-memory-benchmark) run kit (#1226) (#1…
ajianaz Sep 11, 2026
a6f1e5e
chore: revert "benchmarks: preserve AMB run kit (#1230)" (#1235)
ajianaz Sep 11, 2026
6ffd8db
feat(ingest): --timestamp date anchors for remember and text import (…
ajianaz Sep 12, 2026
c7329ab
test(recall): payload conformance — full payload contract, no stubs (…
ajianaz Sep 14, 2026
875a68a
chore: bump version 0.17.0 -> 0.18.0 (#1241)
ajianaz Sep 14, 2026
14da6d0
chore(release): v0.18.0 - changelog, docs, version refs (#1242)
ajianaz Sep 14, 2026
be8e99d
docs: sync remaining version refs to v0.18.0 (#1247)
ajianaz Sep 14, 2026
e5393e0
chore(deps): bump rustls to 0.23.45 for RUSTSEC-2026-0285 (#1250)
ajianaz Sep 15, 2026
d36e0c8
docs(changelog): add Contributors section to 0.18.0 (KazamiHazaki #12…
ajianaz Sep 15, 2026
0587024
ci(release): auto-append external contributor credits to release note…
ajianaz Sep 15, 2026
f914300
fix(export): keep junction dumps FK-consistent with soft-deleted memo…
ajianaz Sep 15, 2026
477ac67
fix(server): reject unknown keys in remember payloads with a 400 (#1254)
ajianaz Sep 15, 2026
2a2160b
fix(cli): upgrade companion binaries and ORT libs, normalize version …
ajianaz Sep 15, 2026
ae144a8
feat(cli): one-line footer after successful uteke doctor (#1256)
ajianaz Sep 15, 2026
564896d
fix(server): minimal health payload for tokenless requests (#1257)
ajianaz Sep 15, 2026
12cac65
chore(release): v0.18.1 - version bump, changelog, docs sync (#1259)
ajianaz Sep 15, 2026
f869c7a
chore(release): merge develop for v0.18.1 (resolve conflicts preferri…
ajianaz Sep 15, 2026
fcfd801
chore: drop legacy longmemeval script copies — canonical set lives un…
ajianaz Sep 15, 2026
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
30 changes: 30 additions & 0 deletions .github/workflows/release.yml
Original file line number Diff line number Diff line change
Expand Up @@ -369,6 +369,8 @@ jobs:

steps:
- uses: actions/checkout@v7
with:
fetch-depth: 0

- name: Extract version
id: version
Expand Down Expand Up @@ -435,6 +437,34 @@ jobs:
} > release-notes.md
fi

- name: Append contributor credits
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
run: |
{
echo ""
echo ""
echo "## Community contributors"
echo ""
} >> release-notes.md
FOUND=0
for PR in $(grep -oE '#[0-9]+' changelog-body.md 2>/dev/null | sort -u); do
NUM="${PR#\#}"
LOGIN="$(gh pr view "${NUM}" --repo "${GITHUB_REPOSITORY}" --json author --jq '.author.login' 2>/dev/null || true)"
[ -z "${LOGIN}" ] && continue
case "${LOGIN}" in ajianaz|codecoradev|app/*|*"[bot]") continue ;; esac
ASSOC="$(gh api "repos/${GITHUB_REPOSITORY}/pulls/${NUM}" --jq '.author_association' 2>/dev/null || true)"
case "${ASSOC}" in MEMBER|COLLABORATOR|OWNER) continue ;; esac
TITLE="$(gh pr view "${NUM}" --repo "${GITHUB_REPOSITORY}" --json title --jq '.title' 2>/dev/null || true)"
echo "- @${LOGIN} — ${TITLE} (${PR})" >> release-notes.md
FOUND=1
done
if [ "${FOUND}" -eq 0 ]; then
echo "(No external contributions in this cycle. Full contributor list: https://github.com/${GITHUB_REPOSITORY}/graphs/contributors)" >> release-notes.md
fi
echo "--- release-notes.md tail ---"
tail -n 10 release-notes.md

- name: Create GitHub Release
uses: softprops/action-gh-release@v2
with:
Expand Down
2 changes: 1 addition & 1 deletion AGENT.md
Original file line number Diff line number Diff line change
Expand Up @@ -7,7 +7,7 @@
**Uteke** is a local-first semantic memory engine for AI agents. Single Rust binary, fully offline, ~30ms recall. No API key, Docker, or cloud service needed.

- **Repo:** `codecoradev/uteke` (remote GitHub), local clone
- **Version:** 0.18.0
- **Version:** 0.18.1
- **License:** Apache 2.0
- **Main branches:** `develop` (default branch, all PRs go here), `main` (release mirror)

Expand Down
24 changes: 24 additions & 0 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
Expand Up @@ -2,6 +2,25 @@

## [Unreleased]

## [0.18.1] - 2026-09-15

Patch release. Theme: **correctness and operational hardening** - structural
export round-trips cleanly in stores with soft-deleted memories, HTTP write
payloads reject unknown keys, `uteke upgrade` keeps every installed artifact
in sync with the release bundle, and `/health` no longer leaks instance
details to unauthenticated probes.

### Fixed

- **Structural export drops soft-deleted memory references (#1243, #1253)** - `room_memories`, `memory_edges`, and `timeline_events` dumps are filtered by the same liveness predicate as memories; `graph_nodes.memory_id` links to soft-deleted memories are nulled; manifest section counts match the rows actually exported. FK-enforced import into a fresh store now works for real production stores with deprecated memories.
- **HTTP write endpoints reject unknown keys (#1251, #1254)** - `POST /remember` and `POST /room/remember` return 400 naming the offending key (e.g. a v1-style `ns`) instead of silently dropping it and storing the memory in the default namespace.
- **`uteke upgrade` updates companion binaries and ORT libs (#1245, #1255)** - `uteke-serve`, `uteke-mcp`, and the bundled `libonnxruntime*` files are replaced from the same checksum-verified archive (atomically, preserving symlinks); the version comparison normalizes the release tag's `v` prefix so an up-to-date install is no longer re-offered the same release.
- **`GET /health` minimal payload for tokenless requests (#1252, #1257)** - without a valid token the endpoint answers `{"status":"ok"}` only (200, load-balancer friendly); version, memory counts, and update info require a valid bearer token or auth disabled. Server behavior only - CLI/MCP unchanged.

### Added

- **`uteke doctor` success footer (#1246, #1256)** - one quiet line after all checks pass (repo + managed cloud), human output only: skipped for `--json`, non-TTY (CI/pipes), and `doctor_footer = false` in `uteke.toml`.

## [0.18.0] - 2026-09-13

Minor release. Theme: **agent-operable memory plumbing** - ingest with explicit timestamps, full room lifecycle management, and a recall payload contract that keeps benchmark harnesses honest. Retrieval behavior is unchanged from 0.17.0 (revalidated at the published config: recall@5 non-abs 0.9457, identical per-question rankings).
Expand All @@ -26,6 +45,11 @@ Minor release. Theme: **agent-operable memory plumbing** - ingest with explicit
- **Room rename, room update, and memory room-move (#1202)** — rooms now have sanctioned lifecycle ops matching the namespace family: `Uteke::rename_room(old, new)` rewrites the registry row and every `room_memories`/`room_documents` reference in ONE transaction (FK-safe insert→repoint→delete order; no `ON UPDATE CASCADE` needed), preserving title/description/namespace; `Uteke::update_room(id, title?, description?)` edits room metadata (schema v19 adds the additive `rooms.description` column; structural export/import carry it and stay backward-compatible with 5-column exports); `Uteke::move_memory_to_room(id, from, to)` moves a memory between rooms preserving the link's `author`/`role`/`joined_at` provenance (`Ok(0)` when not a member of `from`). Surfaces: HTTP `POST /room/rename|/room/update|/room/memory/move` (404 on missing room/link), CLI `uteke room rename|update|move-memory`, MCP `uteke_room_rename|uteke_room_update|uteke_room_memory_move`.
- **`uteke update <id>` CLI** — in-place memory edit (content/tags/importance/pinned/type), closing the CLI surface gap: HTTP `PUT /memory` and MCP `uteke_update` already existed (#1202 item 5).

### Contributors

- [@KazamiHazaki](https://github.com/KazamiHazaki) — binary install ORT lib fixes (#1221)
- [@dependabot](https://github.com/apps/dependabot) — dependency updates (dirs, tokenizers, toml, usearch)

## [0.17.0] — 2026-09-06

Minor release. Theme: **inspectable, trustworthy memory** — explain recall on
Expand Down
16 changes: 8 additions & 8 deletions Cargo.lock

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

2 changes: 1 addition & 1 deletion Cargo.toml
Original file line number Diff line number Diff line change
Expand Up @@ -9,7 +9,7 @@ members = [
]

[workspace.package]
version = "0.18.0"
version = "0.18.1"
edition = "2024"
license = "Apache-2.0"
repository = "https://github.com/codecoradev/uteke"
Expand Down
6 changes: 3 additions & 3 deletions README.id.md
Original file line number Diff line number Diff line change
Expand Up @@ -82,7 +82,7 @@ menemukan buktinya. 500 pertanyaan hand-curated, lima kemampuan memori. Uteke
menjalankan suite penuh dengan **nol panggilan LLM di jalur retrieval**: embedding
lokal, satu CPU, deterministik.

| Metrik | Uteke **v0.17.0** | agentmemory¹ | BM25-only¹ |
| Metrik | Uteke **v0.18.1** | agentmemory¹ | BM25-only¹ |
|---|---|---|---|
| **recall_any@5** (bukti di top-5) | **98.4%** | 95.2% | 86.2% |
| recall_any@10 | 98.8% | 98.6% | 94.6% |
Expand All @@ -92,7 +92,7 @@ lokal, satu CPU, deterministik.
<sub>¹ Angka publikasi agentmemory, benchmark yang sama, split 500 pertanyaan yang sama (basis recall_any@5 mereka; terverifikasi apples-to-apples di [head-to-head](docs/benchmarks.md#head-to-head-vs-published-systems)). ² Strict = *semua* sesi gold harus masuk top-5; 65% pertanyaan butuh beberapa sesi. Ceiling matematis 99.4%. ³ MRR, bukan recall_all (tidak bisa dibandingkan langsung; ditampilkan untuk kelengkapan).</sub>

<p align="center">
<img src="docs/assets/longmemeval-recall-v017.png" alt="LongMemEval-S recall@5: uteke 98.4% (revalidasi v0.18.0) vs MemPalace 96.6% dan agentmemory 95.2% (hasil raw di-commit di repo)" width="880" />
<img src="docs/assets/longmemeval-recall-v017.png" alt="LongMemEval-S recall@5: uteke 98.4% (revalidasi v0.18.1) vs MemPalace 96.6% dan agentmemory 95.2% (hasil raw di-commit di repo)" width="880" />
</p>

**Per kategori pertanyaan** (recall_any@5: cerita per kategori yang jarang ditampilkan tool lain):
Expand Down Expand Up @@ -384,7 +384,7 @@ Bisa. Uteke punya MCP server yang langsung pakai dengan Claude Code, Cursor, dan
<details>
<summary><strong>Sudah production-ready?</strong></summary>

Uteke sekarang v0.17.0 dengan 200+ test, CI/CD di setiap commit, dan benchmark harness. Dipakai production oleh tim CodeCora dan early adopter lain. Masih di versi 0.x, jadi mungkin ada rough edges, tapi core-nya udah stabil.
Uteke sekarang v0.18.1 dengan 200+ test, CI/CD di setiap commit, dan benchmark harness. Dipakai production oleh tim CodeCora dan early adopter lain. Masih di versi 0.x, jadi mungkin ada rough edges, tapi core-nya udah stabil.
</details>

---
Expand Down
6 changes: 3 additions & 3 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -78,7 +78,7 @@ finds the evidence. 500 hand-curated questions, five memory abilities. Uteke run
the full suite with **zero LLM calls in the retrieval path**: local embeddings,
one CPU, deterministic.

| Metric | uteke **v0.18.0** | agentmemory¹ | BM25-only¹ |
| Metric | uteke **v0.18.1** | agentmemory¹ | BM25-only¹ |
|---|---|---|---|
| **recall_any@5** (evidence in top-5) | **98.4%** | 95.2% | 86.2% |
| recall_any@10 | 98.8% | 98.6% | 94.6% |
Expand All @@ -88,7 +88,7 @@ one CPU, deterministic.
<sub>¹ agentmemory's published numbers, same benchmark, same 500-question split (their recall_any@5 basis; verified apples-to-apples in our [head-to-head](docs/benchmarks.md#head-to-head-vs-published-systems)). ² Strict = *every* gold session in top-5; 65% of questions have multiple gold sessions. Mathematical ceiling 99.4%. ³ MRR, not recall_all (not directly comparable; shown for completeness).</sub>

<p align="center">
<img src="docs/assets/longmemeval-recall-v017.png" alt="LongMemEval-S recall@5: uteke 98.4% (revalidated v0.18.0) vs MemPalace 96.6% and agentmemory 95.2% (raw results committed in-repo)" width="880" />
<img src="docs/assets/longmemeval-recall-v017.png" alt="LongMemEval-S recall@5: uteke 98.4% (revalidated v0.18.1) vs MemPalace 96.6% and agentmemory 95.2% (raw results committed in-repo)" width="880" />
</p>

**By question category** (recall_any@5: the category-level story most tools don't show):
Expand Down Expand Up @@ -345,7 +345,7 @@ Yes. Uteke ships with an MCP server that works with Claude Code, Cursor, and Her
<details>
<summary><strong>Is it production-ready?</strong></summary>

Uteke is at v0.17.0 with 200+ tests, CI/CD on every commit, and a benchmark harness. It's used in production by the CodeCora team and other early adopters. Still in 0.x, so expect rough edges, but the core is stable.
Uteke is at v0.18.1 with 200+ tests, CI/CD on every commit, and a benchmark harness. It's used in production by the CodeCora team and other early adopters. Still in 0.x, so expect rough edges, but the core is stable.
</details>

---
Expand Down
6 changes: 0 additions & 6 deletions benchmarks/longmemeval/.gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -17,9 +17,3 @@ results_*/
__pycache__/
*.pyc
.venv/

# Fast-eval datasets are derived from the parent dataset (regenerate with make_fast_eval.py)
data/longmemeval_fast50.json
data/longmemeval_fast10.json
data/longmemeval_temporal15.json
data/longmemeval_multisession15.json
27 changes: 0 additions & 27 deletions benchmarks/longmemeval/check_volume.py

This file was deleted.

73 changes: 0 additions & 73 deletions benchmarks/longmemeval/compare_fast50.py

This file was deleted.

Loading
Loading