Skip to content

Harden, fix, and enhance Code Historian across capture, search, and tooling - #1

Merged
KirtiJha merged 2 commits into
mainfrom
claude/repo-review-scope-AAlOm
Jun 4, 2026
Merged

KirtiJha merged 2 commits into
mainfrom
claude/repo-review-scope-AAlOm

Conversation

@KirtiJha

@KirtiJha KirtiJha commented Jun 4, 2026

Copy link
Copy Markdown
Owner

Correctness fixes:

  • capture: saves no longer silently drop changes (fall back to last-known
    content); bound the in-memory document snapshot cache
  • metadata: wrap batch inserts in a transaction; gzip-compress diffs at rest
    and decompress transparently on read; detect/rebuild corrupt databases on
    load; cache stats (60s) to avoid full-table scans
  • vectorStore: escape quotes in delete predicate and cap vector topK
  • restoration: implement rename restoration
  • timeline: fallback diff now shows deletions too (proper LCS diff)
  • chat: fix broken module re-export

Enhancements:

  • Zero-config built-in embedding provider (now default; deterministic hashing
    embedding, no API key/model/server needed)
  • Real BM25 keyword ranking (candidate retrieval + BM25) instead of unranked LIKE
  • Local BM25 reranker (free, offline) enabled by default
  • Symbol time-travel command + editor context menu entry
  • Bookmarks (pin changes) backed by a new table
  • Automatic retention enforcement on startup (prune changes + vectors, vacuum)
  • Encrypted SecretStorage for API keys with migration out of settings.json
  • Prompt-injection hardening for retrieved RAG context
  • Markdown rendering: links + fenced code blocks; safer emphasis parsing
  • Keybindings (Open Timeline, Search History)

Tooling & docs:

  • Vitest unit tests (38) for pure modules + GitHub Actions CI
  • Fix broken eslint config; resolve all lint errors
  • Create missing walkthrough media; add CONTRIBUTING.md and CHANGELOG.md
  • README accuracy: BM25 (not FTS5), correct keybindings/config, qualified perf
  • Remove leftover console.log debugging from the webview

claude added 2 commits June 4, 2026 03:15
…ooling

Correctness fixes:
- capture: saves no longer silently drop changes (fall back to last-known
  content); bound the in-memory document snapshot cache
- metadata: wrap batch inserts in a transaction; gzip-compress diffs at rest
  and decompress transparently on read; detect/rebuild corrupt databases on
  load; cache stats (60s) to avoid full-table scans
- vectorStore: escape quotes in delete predicate and cap vector topK
- restoration: implement rename restoration
- timeline: fallback diff now shows deletions too (proper LCS diff)
- chat: fix broken module re-export

Enhancements:
- Zero-config built-in embedding provider (now default; deterministic hashing
  embedding, no API key/model/server needed)
- Real BM25 keyword ranking (candidate retrieval + BM25) instead of unranked LIKE
- Local BM25 reranker (free, offline) enabled by default
- Symbol time-travel command + editor context menu entry
- Bookmarks (pin changes) backed by a new table
- Automatic retention enforcement on startup (prune changes + vectors, vacuum)
- Encrypted SecretStorage for API keys with migration out of settings.json
- Prompt-injection hardening for retrieved RAG context
- Markdown rendering: links + fenced code blocks; safer emphasis parsing
- Keybindings (Open Timeline, Search History)

Tooling & docs:
- Vitest unit tests (38) for pure modules + GitHub Actions CI
- Fix broken eslint config; resolve all lint errors
- Create missing walkthrough media; add CONTRIBUTING.md and CHANGELOG.md
- README accuracy: BM25 (not FTS5), correct keybindings/config, qualified perf
- Remove leftover console.log debugging from the webview
Bookmarks:
- Star toggle on timeline items (all three view modes), the change-detail
  panel, and search results
- "Bookmarks" view button in the Search panel
- App tracks the bookmarked-id set (authoritative from the extension) with
  optimistic toggling

Symbol history:
- Clickable symbol tags in the timeline and detail panel jump to that symbol's
  history
- Dedicated symbol input in the Search panel

Protocol/extension:
- New messages: getBookmarkIds, toggleBookmark, getBookmarks, symbolHistory
  (webview→ext) and bookmarkIds (ext→webview)
- Handlers added; bookmark/symbol results render in the search results surface,
  and the webview switches to the Search tab when results arrive

Verified: root + webview typecheck, lint (0 errors), 38 tests, build.
@KirtiJha
KirtiJha merged commit 78b749e into main Jun 4, 2026
2 checks passed
@KirtiJha
KirtiJha deleted the claude/repo-review-scope-AAlOm branch June 4, 2026 04:43
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants