Skip to content

Commit a48c87d

Browse files
jpheinclaude
andcommitted
docs: correct MemPalace#976 attribution — PreCompact cap dropped during rebase
@mvalentsev pointed out on MemPalace#1172 that the PR MemPalace#976 description still claims a `MAX_PRECOMPACT_BLOCK_ATTEMPTS=2` cap, but during the develop rebase Felipe Truman explicitly dropped that hunk: - 40d7958 — removed the attempt-cap tests (would always fail because hook_precompact now mines synchronously and passes through unconditionally) - 8df944a — removed the attempt-cap constant (orphaned after rebase) What actually merged in MemPalace#976 for hooks_cli.py: just the constant removal. Current hook_precompact() on develop is pure MemPalace#863 logic (merged 2026-04-15, @mvalentsev): ingest, sync mine, _output({}). So the right attribution: MemPalace#863 closes MemPalace#1172, not MemPalace#976. Updating the CHANGELOG and README entries that quoted the unmerged PR description as if it were merged code. Lesson recorded as a feedback memory. Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
1 parent 78eff99 commit a48c87d

2 files changed

Lines changed: 2 additions & 2 deletions

File tree

CHANGELOG.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -13,7 +13,7 @@ The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.1.0/),
1313
- **`mempalace init` now prompts to mine the same directory.** After entity confirmation, room detection, and gitignore guard, `init` shows a one-line scope estimate (e.g. `~423 files (~12 MB) would be mined into this palace.`) computed from its existing corpus walk, then asks `Mine this directory now? [Y/n]` (default yes) and runs `mine()` in-process if accepted. The estimate fires before the prompt so users on a real corpus aren't surprised by a minutes-long ChromaDB write. Declining prints the exact `mempalace mine <dir>` command for later. (#1181)
1414
- **New `--auto-mine` flag on `mempalace init`** for the non-interactive path (`mempalace init --auto-mine <dir>` skips the mine prompt and runs mine directly). `--yes` retains its existing scope of entity auto-accept only and still prompts for the mine step. (#1181)
1515
- **Cross-wing topic tunnels.** When two wings have confirmed `TOPIC` labels in common, the miner drops a symmetric tunnel between them at mine time. Topic tunnels are stored under a synthetic `topic:<name>` room and tagged with `kind: "topic"`. Threshold is configurable via `MEMPALACE_TOPIC_TUNNEL_MIN_COUNT` env var or `topic_tunnel_min_count` in `~/.mempalace/config.json` (default `1`). (#1180)
16-
- **HNSW graph corruption + PreCompact deadlock + mine fan-out fixes** (#976, Felipe Truman): pins `hnsw:num_threads=1` on collection creation (matches our fork's earlier cherry-pick `552d0d5`), adds `mine_global_lock()` to collapse concurrent `mempalace mine` runs, and caps `MAX_PRECOMPACT_BLOCK_ATTEMPTS=2` so `/compact` can proceed after repeated blocks. Closes #974, #965, #955. Likely also resolves #1172 (PreCompact unconditionally blocking compact).
16+
- **HNSW graph corruption + mine fan-out fixes** (#976, Felipe Truman): pins `hnsw:num_threads=1` on collection creation (matches our fork's earlier cherry-pick `552d0d5`) and adds `mine_global_lock()` to collapse concurrent `mempalace mine` runs. Closes #974, #965. The PR description originally proposed a `MAX_PRECOMPACT_BLOCK_ATTEMPTS` cap for #955, but during the develop rebase Felipe dropped that hunk (commits `40d7958`, `8df944a`) — #863 (merged 2026-04-15, @mvalentsev) had already eliminated PreCompact blocking entirely, so the cap was orphaned. Issue #1172 is therefore covered by #863, not #976.
1717

1818
### Bug Fixes (from upstream develop)
1919

README.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -375,7 +375,7 @@ Merged since v3.3.1:
375375
- 2026-04-22: [#661](https://github.com/MemPalace/mempalace/pull/661), [#673](https://github.com/MemPalace/mempalace/pull/673), [#1021](https://github.com/MemPalace/mempalace/pull/1021), [#851](https://github.com/MemPalace/mempalace/pull/851) (upstream; also fixes #850, #1015)
376376
- 2026-04-23: [#659](https://github.com/MemPalace/mempalace/pull/659)
377377
- [v3.3.3](https://github.com/MemPalace/mempalace/releases/tag/v3.3.3) (2026-04-24): [#942](https://github.com/MemPalace/mempalace/pull/942), [#833](https://github.com/MemPalace/mempalace/pull/833), [#1097](https://github.com/MemPalace/mempalace/pull/1097), [#1145](https://github.com/MemPalace/mempalace/pull/1145), [#1147](https://github.com/MemPalace/mempalace/pull/1147) (follow-ups to #659), [#1148](https://github.com/MemPalace/mempalace/pull/1148) / [#1150](https://github.com/MemPalace/mempalace/pull/1150) / [#1157](https://github.com/MemPalace/mempalace/pull/1157) (entity-detection overhaul via @igorls's [#1175](https://github.com/MemPalace/mempalace/pull/1175) stacked-PR rescue), [#1166](https://github.com/MemPalace/mempalace/pull/1166) (palace-path env var security), [#340](https://github.com/MemPalace/mempalace/pull/340) / [#1093](https://github.com/MemPalace/mempalace/pull/1093) (mempalace-mcp install regression)
378-
- 2026-04-25 develop sync (unreleased v3.3.4 line): [#976](https://github.com/MemPalace/mempalace/pull/976) (HNSW race + mine_global_lock + PreCompact attempt cap, closes #974/#965/#955 and probably resolves [#1172](https://github.com/MemPalace/mempalace/issues/1172)), [#1168](https://github.com/MemPalace/mempalace/pull/1168) (tunnel security), [#1179](https://github.com/MemPalace/mempalace/pull/1179) (CLI BM25 hybrid + legacy-metric warning), [#1180](https://github.com/MemPalace/mempalace/pull/1180) (cross-wing topic tunnels), [#1182](https://github.com/MemPalace/mempalace/pull/1182) (mine Ctrl-C handling), [#1183](https://github.com/MemPalace/mempalace/pull/1183) (init mine UX), [#1185](https://github.com/MemPalace/mempalace/pull/1185) (batched-upsert-gpu)
378+
- 2026-04-25 develop sync (unreleased v3.3.4 line): [#976](https://github.com/MemPalace/mempalace/pull/976) (HNSW race + mine_global_lock — closes #974/#965; the PR's original PreCompact attempt-cap was dropped during rebase, so #955/#1172 are covered by [#863](https://github.com/MemPalace/mempalace/pull/863)), [#1168](https://github.com/MemPalace/mempalace/pull/1168) (tunnel security), [#1179](https://github.com/MemPalace/mempalace/pull/1179) (CLI BM25 hybrid + legacy-metric warning), [#1180](https://github.com/MemPalace/mempalace/pull/1180) (cross-wing topic tunnels), [#1182](https://github.com/MemPalace/mempalace/pull/1182) (mine Ctrl-C handling), [#1183](https://github.com/MemPalace/mempalace/pull/1183) (init mine UX), [#1185](https://github.com/MemPalace/mempalace/pull/1185) (batched-upsert-gpu)
379379
- Earlier: [#999](https://github.com/MemPalace/mempalace/pull/999) (2026-04-18)
380380

381381
Closed: [#626](https://github.com/MemPalace/mempalace/pull/626), [#633](https://github.com/MemPalace/mempalace/pull/633), [#662](https://github.com/MemPalace/mempalace/pull/662) (superseded by BM25), [#663](https://github.com/MemPalace/mempalace/pull/663) (upstream wrote [#757](https://github.com/MemPalace/mempalace/pull/757)), [#738](https://github.com/MemPalace/mempalace/pull/738) (docs stale), [#629](https://github.com/MemPalace/mempalace/pull/629) (superseded — upstream shipped batching + file locking), [#632](https://github.com/MemPalace/mempalace/pull/632) (superseded — `--version`, `purge`, `repair` all shipped in v3.3.0), [#1036](https://github.com/MemPalace/mempalace/pull/1036) (superseded by #851 which merged 2026-04-22, also fixes #850), [#1115](https://github.com/MemPalace/mempalace/pull/1115) (premature, withdrew 2026-04-23 pending [#1069](https://github.com/MemPalace/mempalace/issues/1069) arbitration), [#1146](https://github.com/MemPalace/mempalace/pull/1146) (duplicate of @igorls's #1147), [#1171](https://github.com/MemPalace/mempalace/pull/1171) (closed 2026-04-25 — superseded by [#976](https://github.com/MemPalace/mempalace/pull/976)'s `mine_global_lock` at the right layer + this fork's daemon-strict architecture).

0 commit comments

Comments
 (0)