23 Commits
Author SHA1 Message Date
Jason Ross 45950e4a8a Merge pull request #2 from JMR-dev/fix-test-coverage
Test additions
2026-06-17 16:05:36 -05:00
JMR-dev 5d0e73cd62 Test additions 2026-06-17 16:03:15 -05:00
Jason Ross 153d3c1a87 Merge pull request #1 from JMR-dev/feat-phase2
feat/phase2
2026-06-17 15:45:19 -05:00
JMR-dev 4ad32dcbc1 readme and license 2026-06-17 15:43:01 -05:00
JMR-devandClaude Opus 4.8 2794d5fe58 debug_log: stamp review-fix entries with commit 18318c7
The "Code Review fixes" entries were committed with _pending_ hash
placeholders; point them at the commit that carries the fix.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
2026-06-17 15:11:49 -05:00
JMR-dev 18318c7a5a Code Review fixes 2026-06-17 15:08:44 -05:00
JMR-dev 35e98db529 WSL feature fixes 2026-06-17 14:36:17 -05:00
JMR-devandClaude Opus 4.8 afd23ed2c1 Harden virtualized window against stale scroll; guard crash class
A defensive review (prompted by an external File Pilot NULL-write crash in
its per-directory stats roll-up) checked whether Librarian shares that bug
class: a derived index guarded by a stale count/offset rather than the
destination's bounds.

Found and fixed one latent instance: `window_for` clamped `end` to `count`
but not `start`, so a list that shrank under a stale scroll offset could
yield an inverted `start..end` that violates the documented `0..count`
contract and panics any caller that slices `rows[start..end]` (the grid
does). Clamp `start` to `end` so the window is always well-formed.

- Add `rapid_churn_never_leaves_a_stale_row_index`: drives a real
  create/delete burst (the `.lock` trigger) through the notify watcher and
  asserts reconciliation (`retain_below` + the window clamp) never leaves an
  out-of-bounds row index.
- Extend `visible_window_*` with a stale-scroll-past-end contract case.
- Document the analysis in docs/crash_class_review_filepilot.md.

Full librarian-app suite green (51); fmt + clippy clean.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
2026-06-17 11:51:45 -05:00
JMR-dev de6499e09f debug_log 2026-06-17 10:54:29 -05:00
JMR-dev 20347e3dd9 WSL loading screen fix 2026-06-17 10:48:41 -05:00
JMR-dev 84a0774a7e formatting fixes 2026-06-17 08:43:58 -05:00
JMR-dev 6ae993de8c WSL browsing support 2026-06-17 08:35:43 -05:00
JMR-dev e1666287dd column resizing and design choices 2026-06-16 23:34:12 -05:00
JMR-dev 8165119f29 search feature and pre-install script 2026-06-16 18:53:51 -05:00
JMR-dev 1ae516beca tab feature 2026-06-15 21:26:13 -05:00
JMR-dev 04fa19fdc5 icons/thumbnails view 2026-06-15 20:53:20 -05:00
JMR-dev c492d7c0f9 icon files and separator added back - look and feel updates 2026-06-15 15:38:33 -05:00
JMR-dev 2b104efe24 icon file 2026-06-15 14:49:47 -05:00
JMR-dev b667ea2845 visual fixes, WIP 2026-06-14 21:16:23 -05:00
JMR-dev fdea7fb5b2 visual fixes, WIP 2026-06-14 20:41:28 -05:00
JMR-dev b7fee9c772 fix new folder behavior 2026-06-14 19:07:27 -05:00
JMR-dev a47825fcce unsafe usage improvements 2026-06-14 18:43:31 -05:00
JMR-dev b9b8ac6297 initial MVP 2026-06-14 11:24:21 -05:00