Expose injectable transports and exact response receipts - #149
Merged
Merged
Conversation
Adding .gitkeep for PR creation (default mode). This file will be removed when the task is complete. Issue: #147
konard
marked this pull request as ready for review
August 3, 2026 09:49
Collaborator
Author
Working session summaryImplemented and finalized issue #147 in PR #149. Key results:
💰 Cost estimation:
📊 Context and tokens usage:
Total: (310.0K + 13.6M cached) input tokens, 39.0K output tokens, $18.485437 cost This summary was automatically extracted from the AI working session output. |
Collaborator
Author
🤖 Solution Draft LogThis log file contains the complete execution trace of the AI solution draft process. 💰 Cost estimation:
📊 Context and tokens usage:
Total: (310.0K + 13.6M cached) input tokens, 39.0K output tokens, $18.485437 cost 🤖 Models used:
📎 Log file uploaded as Gist (4265KB)Now working session is ended, feel free to review and add any feedback on the solution draft. |
Collaborator
Author
🎉 Auto-mergedThis pull request has been automatically merged by hive-mind.
Auto-merged by hive-mind with --auto-merge flag |
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.
Summary
Fixes #147.
/searchpayload stableTransportabstraction, caller-ownedReqwestTransport, explicit drop-future cancellation semantics, and receipt-bearing search resultsbuild_search_urlandparse_search_resultsbehaviorRoot cause and reproduction
The previous Rust capture/search paths constructed their own clients, while JavaScript capture owned its fetch operation and search injection did not expose response metadata or a cancellation contract. Both paths decoded response text before downstream callers could retain an exact receipt.
The new regression tests inject a binary response containing
00 ff 41, a redirected final URL, status, and selected headers. They verify exact byte preservation, transport injection, JavaScript signal forwarding and abort diagnostics, and Rust cancellation by dropping a pending capture future.Validation
npm run checknpm test -- --runInBand tests/unit/fetch-html.test.js tests/unit/search.test.js tests/integration/formalai-contract.test.js(27 passed)cargo test(253 passed)cargo fmt --checkcargo clippy --all-targets -- -D warningsnode scripts/check-js-rust-parity.mjsnode scripts/validate-changeset.mjsgit diff --checkA broader local JavaScript run passed 489 tests and skipped 42. Thirteen environment-dependent browser/Docker tests could not run because the local Playwright Chromium bundle and Docker service are unavailable; the repository CI provisions its browser dependency.
Screenshots
Not applicable; this is a transport/API change with no visual UI impact.