Add Parallel research tool to Pi - #41
Open
georgeatparallel wants to merge 15 commits into
Open
Conversation
georgeatparallel
marked this pull request as ready for review
August 18, 2026 16:53
# Conflicts: # packages/pi-extension/README.md
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.
This adds
web_researchto the existing Parallel Pi extension, so Pi can hand off a complete research question and get an answer with sources. It uses the existing login and does not need another package or a model switch. Search and Fetch keep their existing jobs: finding sources and reading URLs.For a follow-up, Pi can pass the latest returned response ID as
previous_response_idto reuse that investigation's context. Unrelated questions start fresh. IDs appear in the tool's visible result, including long-answer previews, so Pi can use them without storing research sessions locally. Missing context and retention restrictions return errors without silently retrying as new research.Research defaults to medium effort and preserves the answer's formatting and cited passages. Large results keep the complete report in a private temporary file. Calls have a 120-second client deadline, cancellation, and no automatic retries. The extension does not automatically send Pi's conversation history or local files.
Validation: 237 deterministic tests passed, including 136 Pi tests, plus lint, formatting, type checks, builds, and packaging. The continuation contract was checked against the Responses API and Pi source. Forty-six packed-extension cases passed through the actual Pi runtime, including concurrent investigations and session restore. A live two-turn check confirmed that Pi passed the returned ID and the API recalled an earlier constraint that was absent from the follow-up query. Fourteen unrelated credentialed integration tests were excluded from the deterministic suite.
The package version stays at 1.2.0, with no added dependency or release.