release: 0.1.0#2
Conversation
|
🧪 Testing To try out this version of the SDK: Expires at: Sat, 13 Jun 2026 04:15:26 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 SummaryThis PR releases v0.1.0 of the Hyperspell Go SDK with new integrations, security hardening, and internal optimizations.
Confidence Score: 2/5 - Changes NeededNot safe to merge — this PR carries unresolved bugs that affect correctness at runtime. Most critically, 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.
|
821266a to
bd1ca51
Compare
bd1ca51 to
c30ab5d
Compare
c30ab5d to
7c1a0f0
Compare
7c1a0f0 to
1d7935c
Compare
defaultHTTPClient performed an unchecked type assertion on http.DefaultTransport, which panicked for any caller that had wrapped the global transport (e.g. otelhttp.NewTransport for distributed tracing). When the assertion fails, fall back to the wrapped RoundTripper as-is — preserving the caller's wrapping at the cost of ResponseHeaderTimeout, which is strictly better than panicking.
1d7935c to
e0c329e
Compare
e0c329e to
bffa33b
Compare
bffa33b to
988ae20
Compare
Pin all GitHub Actions referenced in generated workflows (both first-party `actions/*` and third-party) to immutable commit SHAs. Updating pinned actions is now a deliberate codegen-side bump rather than implicit on every workflow run.
988ae20 to
9234279
Compare
9234279 to
ea92ac7
Compare
ea92ac7 to
7baa80c
Compare
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
Automated Release PR
0.1.0 (2026-05-15)
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