Repository navigation
feat(threads): preserve and dismiss asynchronous questions - #391
Merged
Merged
Conversation
Contributor
Thread transfer impact✅ Thread transfer remains within every enforced ceiling.
Baseline: Scenario and decoded snapshot size10 historical turns, 5 command tools per turn, 878.9 KiB retained MCP result per historical turn, and a 1.05 MiB retained result in the measured turn.
Updated in place by a trusted workflow. PR artifacts are strictly validated and never executed. |
rynfar
marked this pull request as ready for review
September 7, 2026 14:33
(cherry picked from commit d76b24dd15a219666941ab1b4967d8f738adcda0)
Co-authored-by: Claude Fable 5.1 <noreply@anthropic.com> (cherry picked from commit e63ddb48e2fd23854a0b4a480b32cbf33e601981)
…#10400) (cherry picked from commit 7ac93e300ee17a4ee5e92192264fcfd438805b6f)
Co-authored-by: Claude Fable 5.1 <noreply@anthropic.com> (cherry picked from commit 7112697e8be2d6f231726a91eb565e00ddbeebec)
rynfar
force-pushed
the
upstream/2026-09-07-async-questions
branch
from
September 7, 2026 14:42
36995b0 to
9aac8be
Compare
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.
Codex can ask a question while continuing its work. Pylon must preserve that question across reconnects, deliver its answer as a normal message, and keep resolved requests closed across clients. Add asynchronous questions with explicit dismissal and manual settlement, while keeping native callback questions and Prime interactions blocking.
Adopts upstream #9512 (
d76b24dd15a219666941ab1b4967d8f738adcda0), #10123 (e63ddb48e2fd23854a0b4a480b32cbf33e601981), #10400 (7ac93e300ee17a4ee5e92192264fcfd438805b6f) and #10431 (7112697e8be2d6f231726a91eb565e00ddbeebec). Includes only the native question-value/custom-answer prerequisites from #9348 (06336460c9988f29c71e839c4c9c840c4552e077); this does not adopt or claim the Antigravity provider.Pylon adaptations preserve restart admission, provider instances, Prime interaction handling and rollback protections. A narrow persisted-request query makes settlement and snooze decisions survive startup's lightweight state and activity eviction. Final resolutions beat delayed request replays. Web and mobile share closed-request handling and retain their own layouts. Web dismissal is a separate native button, and question controls use the actual user-input submission state.
Validation: 423 focused tests across provider/engine/projection/schema, settlement/snooze/rollback and client request handling. The persisted restart regressions fail when the new engine lookup is removed. Server, web, mobile, contracts, client-runtime and Codex schema typechecks pass; scoped lint has zero errors and five existing schema-test warnings. A disposable real web client and iOS 26.3 simulator verify keyboard and mobile dismissal propagating in both directions, manual settle/unsettle, native callback protection, required choices and free-text questions. The database records one resolution and no message or turn for each dismissal and settlement. Browser checks confirm a separate native dismiss button and correct editor availability. No live provider, Android, or physical-device run is claimed. After rebasing onto current Pylon, 291 focused lifecycle and client tests and all six affected typechecks pass. The only rebase conflict was documentation; both runtime guidance and the async-question section are retained. Before/after evidence is attached below.
Model: GPT-6 Astra. Harness: Codex.