release: 0.1.0#2
Conversation
|
🧪 Testing To try out this version of the SDK: Expires at: Fri, 03 Jul 2026 00:31:27 GMT |
| type MemoryUploadParams struct { | ||
| // The file to ingest. | ||
| File io.Reader `json:"file,omitzero" api:"required" format:"binary"` | ||
| File string `json:"file" api:"required"` |
There was a problem hiding this comment.
Correctness: Changing File from io.Reader (with format:"binary") to string breaks actual binary file uploads — apiform.MarshalRoot will now write a plain string value into the multipart form instead of streaming binary file content, making the Upload endpoint non-functional for real files.
🤖 AI Agent Prompt for Cursor/Windsurf
📋 Copy this prompt to your AI coding assistant (Cursor, Windsurf, etc.) to get help fixing this issue
In memory.go at line 964, the `File` field in `MemoryUploadParams` was changed from `io.Reader` with `format:"binary"` tag to `string`. This breaks the `MarshalMultipart` method because `apiform.MarshalRoot` relies on the `format:"binary"` tag to correctly stream binary file content into the multipart writer. Revert this field back to `io.Reader` with the original tags: `json:"file,omitzero" api:"required" format:"binary"`. Also ensure that the `io` package import is present (or re-added if removed).
Confidence Score: 1/5 - Blocking IssuesNot safe to merge — the change to Key Findings:
Files requiring special attention
|
🐤 Canary SummaryThis is a Go SDK library release with no UI/UX components:
|
🐤 Canary Proposed TestsNo testable user journeys found for this PR. |
43a3754 to
183ab13
Compare
Confidence Score: 5/5 - Safe to MergeSafe to merge — this is a clean version bump release PR for hyperspell-go SDK v0.1.0 with no logic changes, only metadata and documentation updates. The changes are confined to Key Findings:
Files requiring special attention
|
183ab13 to
a270d0c
Compare
Confidence Score: 5/5 - Safe to MergeSafe to merge — this PR is a version bump release that increments Key Findings:
Files requiring special attention
|
a270d0c to
f7738a1
Compare
Confidence Score: 5/5 - Safe to MergeSafe to merge — this PR is a straightforward version bump coordinating the Key Findings:
Files requiring special attention
|
f7738a1 to
4771fd0
Compare
Confidence Score: 5/5 - Safe to MergeSafe to merge — this PR is a clean version bump from 0.0.2 to 0.1.0 with no logic changes, consisting entirely of version string updates in Key Findings:
Files requiring special attention
|
4771fd0 to
6331c45
Compare
Confidence Score: 5/5 - Safe to MergeSafe to merge — this PR is a clean release bump from 0.0.2 to 0.1.0 that involves only version string updates and alphabetical reordering of enum constants (placing Key Findings:
Files requiring special attention
|
6331c45 to
7f7913b
Compare
EntelligenceAI PR SummaryUpdates
Confidence Score: 3/5 - Review RecommendedLikely safe but review recommended — this PR itself is a clean metadata-only change updating Key Findings:
Files requiring special attention
|
|
Version bump from 0.0.2 to 0.1.0 with enum reordering, a new MemoryUpdateParams field, and test/doc cleanup.
|
7f7913b to
8201b03
Compare
|
Releases Hyperspell Go SDK v0.1.0 with enum ordering fixes, a new memory field, dependency upgrades, and updated test data.
|
7baa80c to
57940c4
Compare
| func WithSkipCompaction(b bool) Option { | ||
| return func(eos *encOpts) { | ||
| eos.skipCompaction = true | ||
| } | ||
| } |
There was a problem hiding this comment.
WithSkipCompaction ignores its bool argument
The parameter b is never read; the closure unconditionally sets skipCompaction = true, so WithSkipCompaction(false) silently enables skip-compaction instead of disabling it.
| func WithSkipCompaction(b bool) Option { | |
| return func(eos *encOpts) { | |
| eos.skipCompaction = true | |
| } | |
| } | |
| func WithSkipCompaction(b bool) Option { | |
| return func(eos *encOpts) { | |
| eos.skipCompaction = b | |
| } | |
| } |
Prompt to fix with AI
Copy this prompt into your AI coding assistant to fix this issue.
In file `internal/encoding/json/opt.go`, lines 11–15, the function `WithSkipCompaction(b bool)` ignores its `b` parameter and always sets `eos.skipCompaction = true`. Fix it by replacing the hardcoded `true` with `b`: change `eos.skipCompaction = true` to `eos.skipCompaction = b`.
| if string(b) != test.expected { | ||
| t.Logf("expected %s (%s), received %s", test.expected, reflect.TypeOf(test.value), string(b)) | ||
| } |
There was a problem hiding this comment.
Use t.Fatalf instead of t.Logf on shimjson output mismatch
t.Logf on mismatch means this subtest always passes regardless of what shimjson.Marshal returns, making it impossible to catch regressions in the shim encoder.
| if string(b) != test.expected { | |
| t.Logf("expected %s (%s), received %s", test.expected, reflect.TypeOf(test.value), string(b)) | |
| } | |
| if string(b) != test.expected { | |
| t.Fatalf("expected %s (%s), received %s", test.expected, reflect.TypeOf(test.value), string(b)) | |
| } |
Prompt to fix with AI
Copy this prompt into your AI coding assistant to fix this issue.
In packages/param/encoder_test.go at line 549, the assertion `t.Logf("expected %s (%s), received %s", test.expected, reflect.TypeOf(test.value), string(b))` should be `t.Fatalf(...)` instead of `t.Logf(...)`. The current code silently passes the test even when shimjson.Marshal returns a wrong value. Change `t.Logf` to `t.Fatalf` to match the pattern used in the json-marshal subtest (line 539) so that output mismatches actually fail the test.
57940c4 to
d07a27e
Compare
d07a27e to
9464c51
Compare
9464c51 to
bcd50d7
Compare
bcd50d7 to
f4da73e
Compare
f4da73e to
d55c1da
Compare
d55c1da to
4ee20be
Compare
4ee20be to
76b066c
Compare
76b066c to
19be368
Compare
19be368 to
98908ce
Compare
98908ce to
83cfb44
Compare
83cfb44 to
a25ea8b
Compare
a25ea8b to
ba01baa
Compare
Automated Release PR
0.1.0 (2026-06-04)
Full Changelog: v0.0.2...v0.1.0
Features
Bug Fixes
Chores
Documentation
This pull request is managed by Stainless's GitHub App.
The semver version number is based on included commit messages. Alternatively, you can manually set the version number in the title of this pull request.
For a better experience, it is recommended to use either rebase-merge or squash-merge when merging this pull request.
🔗 Stainless website
📚 Read the docs
🙋 Reach out for help or questions