Repository navigation
Select xmd repl entries directly from History #930
Description
Story
As a person using xmd repl, I want to select an entry directly from the bottom History, so I do not need a second permanent entry list showing the same sequence.
For example, clicking entry 19 in History selects that entry for inspection. Keyboard interaction reaches the same entry. The permanent Entries catalog is removed once History provides the replacement navigation.
Current gap
The bottom History band draws entry and checkpoint marks but does not mount selection controls on them. Navigation currently uses the Entries catalog or the separate History drawer. Removing the catalog alone would remove usable navigation.
Contract
- Make entry marks in History usable selection controls with keyboard equivalents.
- Use the existing entry-selection behavior and keep entry selection distinct from choosing an exact execution checkpoint.
- Remove the duplicate permanent entry catalog as part of delivering its usable replacement.
- Preserve access to nested scopes, precise checkpoints, and the live head.
- When marks share limited space, every entry remains reachable through an on-demand chooser. Do not merge their identities or make the crowded entries unreachable.
- If an entry list is retained, present it on demand as a dialog with saved source/outcome information that helps distinguish programs, rather than a permanent list of identical entry titles.
- Navigation preserves the drafts and independent Sidekick conversation. It neither executes an entry nor resumes work or submits the draft.
- Historical inspection remains read-only, and background activity does not change the selected entry or focus.
Before implementation, show the exact entry-selection target, crowded-mark interaction, and any dialog contents. A richer comparison of entries must explicitly define which history it reads; do not silently broaden what a frozen checkpoint exposes.
Acceptance
- Select first, middle, and latest entries through actual History pointer targets and keyboard input.
- A history with more entries than available columns keeps every entry reachable.
- Nested-scope and precise-checkpoint navigation still work after removing the permanent catalog.
- Return to the live head without losing either draft or changing the active Sidekick.
- Cold reopening a selected entry restores its saved source and result without provider calls or repeated effects.
- Exercise supported wide, intermediate, and narrow layouts. Drawn marks and actual interaction targets agree.
- If a dialog is used, representative different programs are distinguishable from their saved content and outcomes; closing it preserves the prior selection.
Use mounted REPL navigation/History journeys. A drawn rail without functioning pointer targets, or deletion of the old list alone, fails acceptance.
Relationships and scope
Follow-up to #883 and PR #921, related to Quest #827. Coordinate numeric labels and location selectors with their separate story and focus-region behavior with #895.
The existing catalog and inert History band predate the Sidekick PR. This story explicitly changes that navigation design; it is not an additional condition for the active Sidekick delivery.
The local Architect packet is .reviewer/issue-883/pr921-ui-feedback-sessions-history-sidekick.md. Relevant sources are application.ts, history-rail.ts, and navigation.ts under packages/cli/src/repl/.
A new diff engine, model-generated entry summaries, History forks, and a general keyboard-navigation redesign are outside scope.
Activity