Skip to content

Commit 3212c13

Browse files
committed
docs(README): Row 5 — engaged MemPalace#1083 with concrete two-part design
Replacing 'on hold' with active engagement. Diagnosed the exact polluter (_mine_sync default flags in hook_precompact), proposed: (1) hook_auto_mine config flag as the headline opt-out, (2) replace _mine_sync with _ingest_transcript (correct --mode convos + wing derivation). Posted MemPalace#1083#issuecomment-4292630330 with the design, asked raphaelsamy if a single boolean flag is enough vs finer-grained control, asked bensig if the default-true behavior is acceptable or should flip to default-false given v3.3.2 shipped without any opt-out. PR filing gated on direction confirmation.
1 parent 78a7228 commit 3212c13

1 file changed

Lines changed: 1 addition & 1 deletion

File tree

README.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -28,7 +28,7 @@ Size (lines of diff) and Risk (maintainer-appetite + chance of a rework request)
2828
| **Hooks** | `mempal_save_hook.sh` auto-detects Python — checks `MEMPAL_PYTHON` env var, then repo venv at `../../venv/bin/python3`, then system `python3`; no hardcoded path required. Same pattern applied to `.claude-plugin/` stop and precompact hooks. | [Replied on #1049 on 2026-04-21](https://github.com/MemPalace/mempalace/issues/1049#issuecomment-4292554161) offering our autodetect; waiting on maintainer arbitration vs. [#1069](https://github.com/MemPalace/mempalace/issues/1069)'s consolidation direction before PR. | small | low | `hooks/mempal_save_hook.sh`, `.claude-plugin/hooks/mempal-stop-hook.sh`, `.claude-plugin/hooks/mempal-precompact-hook.sh` |
2929
| **Reliability** | `quarantine_stale_hnsw()` should also validate the HNSW `index_metadata` file integrity — a process killed mid-write leaves a corrupt file with zero mtime drift, so the 1h threshold doesn't fire and the next palace open segfaults. Fix: attempt to deserialize the file in the quarantine check and quarantine on failure regardless of mtime. | Blocked on [#1062](https://github.com/MemPalace/mempalace/pull/1062)@Samaara-Das's PR wires the quarantine caller that v3.3.2 shipped without (fixes [#1061](https://github.com/MemPalace/mempalace/issues/1061)). File our integrity-check extension as a follow-up after #1062 merges. | small | low | `backends/chroma.py` |
3030
| **CLI** | `cmd_purge` CLI — delete drawers by wing/room, nuke-and-reinsert retained drawers to avoid HNSW ghost entries left by `collection.delete()`. Substantive new command. | [#1087](https://github.com/MemPalace/mempalace/pull/1087) · closes [#848](https://github.com/MemPalace/mempalace/issues/848) (@robottwo's wing/room drawer removal feature request); references [#521](https://github.com/MemPalace/mempalace/issues/521) for hnswlib motivation | medium | medium | `cli.py` |
31-
| **Hooks** | `hooks/mempal_precompact_hook.sh` transcript auto-mining — session ID parsed from JSON input, transcript resolved by direct path or `find`-by-session-id fallback, then mined inline (chunk_exchanges → upsert) before compaction fires; includes Python auto-detection | **On hold**[#1083](https://github.com/MemPalace/mempalace/issues/1083) (@raphaelsamy, 2026-04-21) reports hook auto-mine with default flags produces polluted mega-wings; demanding opt-out. Our proposal adds *more* hook auto-mining in the same direction — possibly opposite to where maintainer wants to go. Engage #1083 before filing. | medium | low-medium | `hooks/mempal_precompact_hook.sh` |
31+
| **Hooks** | Transcript auto-mining in `hook_precompact()` with correct defaults — `--mode convos` + `wing_<project>` derived from transcript path, plus a `hook_auto_mine` config flag (default `true`) for explicit opt-out | [Commented on #1083 on 2026-04-21](https://github.com/MemPalace/mempalace/issues/1083#issuecomment-4292630330) with the two-part design (opt-out + correct defaults), asked @raphaelsamy whether `hook_auto_mine: false` boolean is sufficient or they want finer-grained control, asked @bensig for direction. PR to follow once direction is confirmed. | medium | low-medium | `hooks_cli.py`, `config.py`, `tests/test_hooks_cli.py` |
3232
| **Performance** | `bulk_check_mined()` paginated pre-fetch + `--workers` ThreadPoolExecutor concurrent mining | [Issue #1088](https://github.com/MemPalace/mempalace/issues/1088) filed 2026-04-21; [cross-ref comment](https://github.com/MemPalace/mempalace/issues/1088#issuecomment-4292570126) ties it to [#357](https://github.com/MemPalace/mempalace/issues/357) (parallel-mining corruption we could fix) and gates the PR on [#1071](https://github.com/MemPalace/mempalace/pull/1071) landing first (ORT thread cap, for bounded parallelism). | medium | medium | `palace.py`, `miner.py` |
3333
| **Reliability** | `_get_client()` tries `get_collection` before `create_collection``get_or_create_collection` segfaults ChromaDB 1.5.x when the existing collection's metadata differs from the call-site metadata | [Issue #1089](https://github.com/MemPalace/mempalace/issues/1089) filed 2026-04-21 — documented the crash + fork workaround, cross-referenced [#974](https://github.com/MemPalace/mempalace/issues/974) / [#1071](https://github.com/MemPalace/mempalace/pull/1071) interaction (metadata drift risk post-merge), offered three paths: interim guard PR, chroma-core bug report, or close as covered. | small | medium | `backends/chroma.py` |
3434
| **Reliability** | Skip `_fix_blob_seq_ids` sqlite open after first successful migration via `.blob_seq_ids_migrated` marker — opening sqlite3 against a live ChromaDB 1.5.x file corrupts the next PersistentClient | [Issue #1090](https://github.com/MemPalace/mempalace/issues/1090) filed 2026-04-21 — documented the post-migration re-open crash pattern, fork's sentinel workaround, adjacent issues ([#722](https://github.com/MemPalace/mempalace/issues/722), [#832](https://github.com/MemPalace/mempalace/issues/832), [#1035](https://github.com/MemPalace/mempalace/issues/1035)), asked whether other palaces repro this. | small | medium | `backends/chroma.py` |

0 commit comments

Comments
 (0)