When users delete local BME IndexedDB via UI actions (delete current/all
IDB), the chat metadata's st_bme_commit_marker was not cleared. This left
an accepted high-revision promise with no local DB backing, causing
persist-mismatch:indexeddb-behind-commit-marker and blocking graph load
indefinitely.
- index.js: add clearCurrentChatCommitMarker() helper and expose via runtime
- ui-actions-controller.js: call clearCurrentChatCommitMarker before
syncGraphLoadFromLiveContext after IDB deletion
- p0-regressions.mjs: regression test asserting marker is cleared before
reload after current-IDB deletion
- reconcileIndexedDbProbeFailureState now handles persist-mismatch:indexeddb-* reasons, ensuring bounded retries and transition to BLOCKED instead of hanging forever in LOADING
- expose clearCachedIndexedDbSnapshot, clearAllCachedIndexedDbSnapshots, closeBmeDb, closeAllBmeDbs, syncGraphLoadFromLiveContext in runtime context for UI actions
- onDeleteCurrentIdbController / onDeleteAllIdbController now clear in-memory caches, close DB handles, and force a fresh graph load sync after deletion
- humanize persist-mismatch:indexeddb-behind-commit-marker panel messages into user-friendly Chinese text
- add regression test for empty IndexedDB + accepted commit marker mismatch fallback-to-blocked scenario
- Add extractActionMode setting (default: pending) to settings-defaults.js
- Panel refresh restores dropdown from settings.extractActionMode
- Dropdown change event persists selection via _patchSettings
- Extract button reads settings as fallback when DOM value missing
- Add default value assertion in tests/default-settings.mjs
- Status dot indicators (success/error/running) with color and pulse animation
- Governance tag pills: worldinfo, EJS, regex, cleaning, error
- Fold/expand toggle with chevron rotation via is-collapsed class
- Timeline connector lines between trace cards
- Task type labels in Chinese (提取/召回/压缩/遗忘/进化/向量)
- Show up to 8 recent tasks (was 6)