Skip to content

Releases: BongSuCHOI/memex

Memex 0.7.10

Choose a tag to compare

@BongSuCHOI BongSuCHOI released this 14 Sep 02:12
d525cf8

Memex 0.7.10 fixes the two findings of the post-release review of 0.7.9 (#121).

  • Kind filter chips follow the viewed scope. The common-memory scope shows only global kinds, matching the badges of global memories. The all-projects view draws one chip per id: the global definition when there is one, a project definition only when every project agrees on it, and otherwise the raw id — never one project's label chosen by file order while other projects' memories carry a different badge.

Upgrade

Run memex update and restart Codex. No schema change.

All eighteen documented gates passed on the first attempt on code candidate f90ef3490d7012690435c696dd4c06ed3fa74d93: 155 files / 1702 Vitest tests, node --test test/*.test.mjs 315, installer, marketplace, package runtime (memex-0.7.10.tgz, 404 files, 9 MCP tools), lifecycle 9/9, 298 UI tests, browser E2E 27 probes in English and 27 in Korean, i18n lint/keys, plugin validation, benchmark contract, npm pack --dry-run and the real-root isolation check (174 files identical).

Memex 0.7.9

Choose a tag to compare

@BongSuCHOI BongSuCHOI released this 13 Sep 19:08
a45d593

Memex 0.7.9 fixes the three findings of the post-release review of 0.7.8 (#121).

  • KIND_ID_SHADOWS_GLOBAL refuses only writes. A rules file written before 0.7.8 in which a project override redefines a global id loads as it did in 0.7.7 (the global definition wins) with a warning from validate and doctor, instead of turning invalid and holding extraction for every project.
  • Scheduling a registry re-sync invalidates any in-flight older request at once, so a response arriving during the debounce window can no longer apply a stale list.
  • Filter chips are scope-aware: a project scope shows the definitions that resolve for that project, and the all-projects view shows one chip per id, never another project's label.

Upgrade

Run memex update and restart Codex. No schema change.

All eighteen documented gates passed on the first attempt on code candidate d7d9e23f084e84fbd890ce332649b0a12a9f5f72: 155 files / 1702 Vitest tests, node --test test/*.test.mjs 315, installer, marketplace, package runtime (memex-0.7.9.tgz, 404 files, 9 MCP tools), lifecycle 9/9, 296 UI tests, browser E2E 27 probes in English and 27 in Korean, i18n lint/keys, plugin validation, benchmark contract, npm pack --dry-run and the real-root isolation check (172 files identical).

Memex 0.7.8

Choose a tag to compare

@BongSuCHOI BongSuCHOI released this 13 Sep 18:42
f357dd1

Memex 0.7.8 fixes the three findings of the post-release review of 0.7.7, all in the custom-fact-kinds UI path (#121).

  • The kinds registry takes its request generation before the fetch starts, so a late debounced re-sync can no longer override a newer answer.
  • One precedence rule everywhere: a global definition wins on an id collision, as the extractor already resolved it; a project override that redefines a global id differently is refused with KIND_ID_SHADOWS_GLOBAL instead of being silently ignored.
  • Filter chips take their label from the definition they already hold, so a project-only kind shows its label instead of its raw id.

Upgrade

Run memex update and restart Codex. No schema change.

All eighteen documented gates passed on the first attempt on code candidate 8b926a0a4f0d3fb865054434236849c0ee05ccc4: 155 files / 1701 Vitest tests, node --test test/*.test.mjs 315, installer, marketplace, package runtime (memex-0.7.8.tgz, 404 files, 9 MCP tools), lifecycle 9/9, 294 UI tests, browser E2E 27 probes in English and 27 in Korean, i18n lint/keys, plugin validation, benchmark contract, npm pack --dry-run and the real-root isolation check (170 files identical).

Memex 0.7.7

Choose a tag to compare

@BongSuCHOI BongSuCHOI released this 13 Sep 18:16
34056e0

Memex 0.7.7 fixes the five findings of the post-release review of 0.7.6.

Custom fact kinds (#121)

  • The kinds registry is keyed by definition — global plus each project's own — and a fact renders the definition of its own project, so two projects defining the same id differently no longer share the first one's label.
  • The registry re-sync applies only the latest started request, runs against a lightweight GET /api/v2/fact-kinds instead of the whole bootstrap, coalesces bursts (250 ms), and skips re-rendering when the overlay hash is unchanged.

Memory language (#123)

  • Fenced-code stripping follows CommonMark: a closing fence may be longer than the opener, indented up to three spaces, and carry trailing spaces or \r. A Korean question after a block closed with four backticks is no longer discarded.
  • scripts/translate-facts.mjs identifies its entry point by real path: a same-named wrapper cannot run it by import, while symlinked or npm run invocations work.

Upgrade

Run memex update and restart Codex. No schema change.

All eighteen documented gates passed on the first attempt on code candidate 4f4b4de2110b65e30de6f9e0d1a28977fdb52c66: 155 files / 1699 Vitest tests, node --test test/*.test.mjs 315, installer, marketplace, package runtime (memex-0.7.7.tgz, 404 files, 9 MCP tools), lifecycle 9/9, 291 UI tests, browser E2E 27 probes in English and 27 in Korean, i18n lint/keys, plugin validation, benchmark contract, npm pack --dry-run and the real-root isolation check (168 files identical).

Memex 0.7.6

Choose a tag to compare

@BongSuCHOI BongSuCHOI released this 13 Sep 17:45
083368c

Memex 0.7.6 fixes the six findings of the post-release review of 0.7.5.

Custom fact kinds (#121)

  • search_facts (MCP) accepts a custom kind id as category, not only the five built-ins.
  • A kind id may not shadow any badge.* id — active as a kind rendered as "활성". The reserved set is derived from the badge dictionaries.
  • Project-scoped kinds reach the UI (bootstrap carries global and per-project kinds) and the registry re-syncs on invalidate and SSE change, so a reset removes its chip and badge.

Memory language (#123)

  • A closing code fence is recognised only at a line boundary with the same fence run, so a "```" inside a code string no longer ends the block early.
  • scripts/translate-facts.mjs skips facts that are already Korean and refuses to run unless it is the entry point; the docs describe the real selection.

Upgrade

Run memex update and restart Codex. No schema change.

All eighteen documented gates passed on the first attempt on code candidate f7d4b9c8cd72f50d3117487508ea42df8074ec66: 155 files / 1693 Vitest tests, node --test test/*.test.mjs 310, installer, marketplace, package runtime (memex-0.7.6.tgz, 404 files, 9 MCP tools), lifecycle 9/9, 283 UI tests, browser E2E 27 probes in English and 27 in Korean, i18n lint/keys, plugin validation, benchmark contract, npm pack --dry-run and the real-root isolation check (166 files identical).

Memex 0.7.5

Choose a tag to compare

@BongSuCHOI BongSuCHOI released this 13 Sep 17:09
f3291dc

Memex 0.7.5 ships a new memory-language default and two follow-ups of the 0.7.0 overlays.

Memory language (#123)

  • Facts are written in the language of the conversation. The extraction window's human messages decide it deterministically — Hangul syllables weighted at 2.5 Latin letters, code blocks and URLs ignored, tie → the last human message — and a ## Fact language clause is appended per window. preferred_language in the extraction-rules overlay is now an explicit override. policy_version is untouched, existing facts are left as they are, and the applied language is recorded in extraction_targets.fact_language. fact_kr and the translate script remain for the English facts already stored.

Recall-gate overlay (#120)

  • The eight RecallGateConfig thresholds can be overridden in recall-gate.json under config (typed, range-checked, unknown keys refused). memex gate config show|set|reset edits them through the overlay lock with --dry-run, --expect-revision and --json; gate test/gate show print the effective thresholds; 관리 › 오버레이 shows a thresholds card; doctor counts overrides. The benchmark contract now requires environment.overlays.config; the record is regenerated on this candidate (warm injection p50 157 ms, cold 825 ms — equivalent to 0.7.0).

Extraction-rules overlay (#121)

  • custom_fact_kinds (up to eight) extend the five built-in categories: the prompt lists them after the built-ins, the validator accepts an id only while it is in the claim-snapshot ∪ latest rules and otherwise drops the candidate with one audit line, badges and the facts filter render the label for the current locale, memex extract rules show lists them. No schema change.

Upgrade

Run memex update and restart Codex. Schema: one additive nullable column, extraction_targets.fact_language.

All eighteen documented gates passed on the first attempt on code candidate a3b2476aca4ade70b270ff7a84259e159c1646a0: 155 files / 1684 Vitest tests, node --test test/*.test.mjs 310, installer, marketplace, package runtime (memex-0.7.5.tgz, 404 files, 9 MCP tools), lifecycle 9/9, 280 UI tests, browser E2E 27 probes in English and 27 in Korean, i18n lint/keys, plugin validation, the regenerated benchmark, npm pack --dry-run and the real-root isolation check (164 files identical). Whether new facts from Korean windows come out Korean on the live root is verified with the next extraction wave (liveKoreanFacts: NOT_PROVEN).

Memex 0.7.4

Choose a tag to compare

@BongSuCHOI BongSuCHOI released this 13 Sep 15:48
5ddd8ff

Memex 0.7.4 carries the corrections from the post-release review of 0.7.3.

Documentation

  • The README no longer claims that nothing leaves the machine while sync is off. The data root, indexes and logs stay local and nothing is synchronised to another device unless sync is on; model work — fact extraction, ontology classification, and memex models test (a fixed one-line probe) — goes to the model provider Codex is configured with. GUIDE.md says the same.
  • Guarded delete removes the fact, its revisions and its Chronicle rows; only deactivate/restore keeps history.
  • The 0.7.3 note on #115 is corrected: --json key structure is unchanged, but human-readable string values are now English.

Gates

  • The e2e cache-pin helper requires the files the default pipeline actually loads and its fail-fast message names npm run warm:model-cache, which fills the checked path instead of downloading into the data root. (#114)

Upgrade

Run memex update and restart Codex. No schema change.

All eighteen documented gates passed on the first attempt on code candidate 416270063c8765a341f0be366d4dd3525df8f7d6: 151 files / 1629 Vitest tests, node --test test/*.test.mjs 302, installer, marketplace, package runtime (memex-0.7.4.tgz, 401 files, 9 MCP tools), lifecycle 9/9, 272 UI tests, browser E2E 27 probes in English and 27 in Korean, i18n lint/keys, plugin validation, benchmark contract, npm pack --dry-run and the real-root isolation check (164 files identical).

Memex 0.7.3

Choose a tag to compare

@BongSuCHOI BongSuCHOI released this 13 Sep 15:26
031a9a2

Memex 0.7.3 rebuilds the README around the 0.7.0 workspace and ships two small fixes.

Documentation

  • README.md and README-KR.md are restructured: a hero capture (light/dark via <picture>), why Memex, a 60-second quick start, an eight-stop workspace tour (overview, memory & facts, knowledge map, activity incl. held jobs, 관리 › overlays, 관리 › models, EN/KO, sync), how it works, a ten-command cheat sheet, verification and a roadmap. The previous reference sections are kept under <details>. Captures are regenerated per language — nine each, four new: facts-table, activity-held, settings-overlays, settings-models. (#122)

Gates and CLI

  • Every e2e script pins the embedding model cache to the checkout's cache and fails fast (naming memex deps warm) when it is absent, so no gate downloads the model into a temporary root (package-runtime-e2e: 82 s → 15 s). memex backfill all names the cause when a stage fails. (#114)
  • memex gate … and memex extract … speak English like the rest of the CLI; --json payloads are unchanged. (#115)

Upgrade

Run memex update and restart Codex. No schema change.

All eighteen documented gates passed on the first attempt on code candidate 1ab699ce487e26b37165041dac4fda61d5c4c859: 151 files / 1629 Vitest tests, node --test test/*.test.mjs 299, installer, marketplace, package runtime (memex-0.7.3.tgz, 400 files, 9 MCP tools), lifecycle 9/9, 272 UI tests, browser E2E 27 probes in English and 27 in Korean, i18n lint/keys, plugin validation, benchmark contract, npm pack --dry-run and the real-root isolation check (164 files identical).

Memex 0.7.2

Choose a tag to compare

@BongSuCHOI BongSuCHOI released this 11 Sep 03:58
1ee96c7

Memex 0.7.2 fixes the seven findings of the post-release review of 0.7.1, each verified and reproduced before it was fixed.

Extraction-rules overlay

  • The never_extract check runs on the classifier note exactly as it is persisted — the joined notes as well as each note — so a pattern that only matches across a note boundary can no longer reach the Chronicle. (#30)

Overlay locks and quarantine

  • Abandoned-lock recovery is serialized through a <lock>.reclaim mutex: only its holder re-checks and unlinks, so a writer that acquired the lock in between is never stolen from. (#29)
  • The quarantine file's read-merge-rename runs under its own lock with the stamp compare-and-swap as a backstop, and in-memory quarantine rows mirror the file once written, so a memex gate quarantine clear from another process is honoured and never undone. (#29)
  • memex gate quarantine clear honours --dry-run; it takes no --expect-revision, and the docs now say so. (#29)

Documentation

  • GUIDE.md and WEBUI-WORKSPACE.md now state that memex status, the overview attention card and the jobs table show every hold family, and that the embedding-model switch is a later 0.7.x release (#118), not 0.7.1.

Upgrade

Run memex update and restart Codex. No schema change.

All eighteen documented gates passed on the first attempt on code candidate 428195fd0e5998abe1febb191eba64df46d0738c: 151 files / 1629 Vitest tests, node --test test/*.test.mjs 284, installer, marketplace, package runtime (memex-0.7.2.tgz, 398 files, 9 MCP tools), lifecycle 9/9, 272 UI tests, browser E2E 27 probes in English and 27 in Korean, i18n lint/keys, plugin validation, benchmark contract, npm pack --dry-run and the real-root isolation check (162 files identical).

Memex 0.7.1

Choose a tag to compare

@BongSuCHOI BongSuCHOI released this 10 Sep 17:52
65ddcd3

Memex 0.7.1 is a hotfix found while validating 0.7.0 on a live data root.

Model selection

  • memex models show no longer fails with no such column: model on a database that predates the 0.7.0 migration. Its read-only status path queried the new ledger columns before anything had run the migration, which is the state of every existing install until Codex is restarted. The last-probe row is now skipped on an unmigrated ledger and show stays read-only. (#31)

Upgrade

Run memex update and restart Codex. No schema change beyond 0.7.0's.

All eighteen documented gates passed on the first attempt on code candidate 928d08cac1021538421f969ea8f8f963f923804e: 151 files / 1623 Vitest tests, node --test test/*.test.mjs 284, installer, marketplace, package runtime (memex-0.7.1.tgz, 398 files, 9 MCP tools), lifecycle 9/9, 272 UI tests, browser E2E 27 probes in English and 27 in Korean, i18n lint/keys, plugin validation, benchmark contract, npm pack --dry-run and the real-root isolation check (162 files identical). The live memex models show check on the user root is recorded after release.