Skip to content

Dedicated ledger viewer: virtualized + infinite-scroll over the full memory.md ledger (post-3.0) #88

Description

@Foxfire1st

Context

The Engine Room couplers (slice 5h) open a ledger popover — the memory.md code ⇄ memory lookup table with this enclosure's row highlighted. To keep the served projection lean, the popover is bounded to the last 25 entries (defaults to showing 8, expands in place to 25, then a +N more in memory.md footer points at the file for the rest).

That covers the at-a-glance case. The full-history case wants its own home.

Proposal — a dedicated Ledger Viewer

A standalone component, linked from the coupler popover, that operates on the full ledger:

  • List virtualization (windowed rendering — e.g. @tanstack/react-virtual, react-virtuoso, or react-window) so a ledger with thousands of rows only renders the visible slice → the browser stays smooth regardless of ledger size.
  • Infinite-scroll pagination — fetch history in pages as the user scrolls.
  • Likely needs a paginated ledger read surface (a client-agnostic read keyed by repo + offset/cursor): the live projection is deliberately lean + snapshot-based, so the viewer fetches pages on demand rather than bloating the snapshot with the whole ledger.
  • Shows commit subjects beside the hashes (the coupler popover's "Tier 2"), plus room for search / filter by commit, jump-to-row, etc.

Scope / timing

Post-dashboard-ship (after the 3.0.0 release). The bounded last-25 coupler popover is sufficient for the dashboard milestone; this is the "open the whole ledger and browse it end-to-end" follow-up that keeps performance fine at any scale.

Related

  • Engine Room ledger popover: slice 05h (the "Ledger popover" section of 260610_browser-dashboard/05h_engine-room-landing-and-carryover.md) — the bounded-25 popover this extends.

🤖 Generated with Claude Code — captures a design discussion during slice 5h.

Metadata

Metadata

Assignees

No one assigned

    Labels

    enhancementNew feature or request

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions