List journal entries - #110
Merged
Merged
Conversation
There was a problem hiding this comment.
Pull request overview
Adds typed, cursor-based Journal listing and search to the Go SDK.
Changes:
- Models and generates
ListJournalEntries. - Adds
JournalService.ListPagewith cursor extraction. - Adds unit and conformance coverage plus drift artifacts.
Tip
If you aren't ready for review, convert to a draft PR.
Click "Convert to draft" or run gh pr ready --undo.
Click "Ready for review" or run gh pr ready to reengage.
Reviewed changes
Copilot reviewed 11 out of 12 changed files in this pull request and generated no comments.
Show a summary per file
| File | Description |
|---|---|
spec/hey.smithy |
Defines the new operation and query parameters. |
openapi.json |
Adds the generated OpenAPI contract. |
behavior-model.json |
Records pagination and retry behavior. |
spec/shape-fingerprint.json |
Tracks the new operation shape. |
spec/route-coverage.json |
Adds route coverage metadata. |
spec/excluded-routes.json |
Removes the former route exclusion. |
go/pkg/generated/client.gen.go |
Adds generated request and response types. |
go/pkg/hey/journal.go |
Exposes paginated listing through the public service. |
go/pkg/hey/journal_test.go |
Tests parameters, decoding, and cursors. |
go/pkg/hey/url-routes.json |
Registers the Journal listing route. |
conformance/runner/go/main.go |
Enables conformance execution. |
conformance/tests/paths.json |
Verifies generated request routing. |
💡 Add a code-review agent skill or configure MCP servers for context-aware, tailored reviews. Learn more in the docs.
Merged
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.
Give Go SDK consumers typed, cursor-based access to personal Journal history and scoped search. The server contract is merged and verified in production; existing per-day Journal reads and mutations remain unchanged.
Review readiness: ✅ Yes — generated contract, wrapper coverage, CI, and production availability are verified
Risk: 🟡 Medium — this adds a generated API surface and cursor parsing consumed by the dependent TUI
Decision: None
✅ Change — Go callers can list, page, and search Journal entries
Before
After
JournalPagereturns typed recordings plus the geared cursor parsed from HEY'sLinkheader. The caller starts with an empty page and decides whether to followNextPage.✅ Evidence — generation, conformance, wrapper behavior, and production compatibility are verified
make checkpassed at this head, including 156 conformance checks.JournalService.ListPage(ctx, "", "")successfully after the Haystack deployment.Behavioral proof: Journal wrapper tests · path conformance cases
✅ Scope — additive Journal listing only; existing SDK operations remain compatible
Included:
ListJournalEntriesoperation withpageandqJournalService.ListPageandJournalPagePreserved:
JournalService.Get,GetContent, andUpdateNot included:
queryargument✅ Delivery — Haystack is merged and responding in production; no SDK runtime prerequisite remains
The server dependency, haystack#8655, is merged. A non-mutating call from this SDK head to production returned a valid
JournalPage, confirming deploy ordering before review.There are no migrations, backfills, feature flags, credentials, configuration changes, or new runtime dependencies. Rollback is removal of the additive operation before publishing, or a subsequent SDK release if already published.
Please begin with:
JournalService.ListPagehandles the first, intermediate, and final page without hiding pagination policy from callersThe deliberate boundary is one page per call. Search results use the server's bounded, unpaginated response and therefore return no
NextPage.✅ Review path — model, generated surface, wrapper, then drift/conformance artifacts
Origin and supporting links: Basecamp concept card · merged Haystack endpoint · dependent hey-cli draft and demo