Improve the TUI Journal with a searchable feed - #275
Merged
Conversation
robzolkos
force-pushed
the
concept/tui-journal-feed
branch
from
August 22, 2026 14:53
ded7e27 to
668f92f
Compare
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Replace the TUI Journal's fixed 30-day date strip with a newest-first feed of entries so a person can scan history, search, jump to a date, and write without stepping through empty days. Existing agent-facing Journal commands and server write semantics remain unchanged.
Review readiness: ✅ Yes — interaction evidence, production read validation, local gates, and all required checks are complete
Risk: 🟡 Medium — the change replaces one TUI section's navigation and asynchronous request state
Decision: Confirm the feed interaction and explicit discard/removal safeguards are the right Journal model
✅ Change — Journal history is browsable, searchable, and directly addressable
Before
After
The feed reads one geared page at a time, keeps page loading separate from foreground requests, and ignores stale responses. Search is server-side and date detail/write behavior continues through the existing Journal service.
✅ Evidence — before state, complete interaction recording, tests, and production reads are captured
Before
The visible strip contains seven dates; the remaining dates in the fixed 30-day window sit behind horizontal navigation.
After
The recording shows feed opening, incremental scrolling, search and opening a result, clearing search, direct date navigation, and adding today's entry.
make testpassed at this head.make lintpassed with 0 issues.make buildproducedbin/heyagainst released HEY SDK v0.15.0.make update-nix-hashupdated and verified the dependency hash; the required Nix build check passes.The reusable VHS tape and recording are committed. The interaction recording predates only the rebase, released-SDK substitution, and Nix hash refresh; those changes do not alter Journal behavior, and the exact-head production walkthrough reconfirmed feed and search behavior.
✅ Scope — TUI Journal only; CLI commands, agent skill, and server writes are preserved
Included:
Preserved:
hey journal list,read, andwriteNot included:
✅ Delivery — Haystack is deployed and HEY SDK v0.15.0 is released
go.mod.There are no migrations, backfills, feature flags, credentials, configuration changes, or new runtime services. Existing Journal records appear through the feed automatically. Rollback restores the previous TUI section; server and SDK additions are backward compatible.
Please begin with:
Known boundary: entry browsing is paginated, while Journal search uses the server's bounded unpaginated result set.
✅ Review path — feed state, editing safety, integration, then delivery artifacts
Origin and supporting links: Basecamp usability concept · Haystack endpoint · HEY SDK operation