You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Implements issue #284 on top of the defensive shell-attachment follow-up in #309. This PR is intentionally stacked on fix/281-shell-result-preview and should land only after #309.
Stable local IDs and explicit pending chat/user-shell/shell-share types
Local responsive list/edit/remove/clear during an active stream; active input stays immutable
Strict FIFO, count/UTF-8 bounds (32 pending entries/64KiB), and rejected edits preserve type and position
Edited shell-share keeps capture identity but revokes old Send approval; explicit reapproval is required and FIFO pauses
Failure/cancel/checkout change/shell loss/auth-new/exit report discarded IDs and cannot silently replay them
Pipe mode remains documented sequential behavior; local management never becomes a prompt/history
Terminal handoff cannot change a pending queue checkout; existing model-switch controls and saved draft remain usable
Verification
Linux Node24.19.0; synthetic fixtures and mocked models, no paid inference. Final full npm test:3,383 pass,11 platform/environment skips,0 failures (3,394 total). Focused console/attachment/queue/model-continuation suite:57 pass. Explicit model/process spies prove removed, cleared and cancelled pending inputs do not execute. Independent reviewer verified malformed-control, terminal, exit and model-switch regressions.
Build, typecheck, lint, docs:check, verify:production, npm pack --dry-run and git diff --check passed. Smoke still fails public DNS resolution in this executor; release:truth still fails the independently reproduced #303 frozen-packet baseline (11/12 checks). No CI gate/security/branch-protection setting was weakened. Actual required Windows/Linux/CodeQL/packaging CI must pass before merge and issue closure.
See docs/issue-284-validation.md for acceptance details. No auto-closing keyword: closure waits for landed evidence after #281 follow-up.
Heads-up: #284 landed via #315 (squash 52a890c), which adds src/commands/console_queue.ts and rewires the queue in chat.ts. This draft now conflicts with main. If any guarantee here isn't covered by #315 (for example, checkout-change discard, or revoking an edited shell-share send approval), please rebase it onto main as a follow-up. Otherwise this PR can be closed as superseded.
Superseded by the already-merged queue implementation in #315. The remaining #281/#284 privacy, exact reviewed-snapshot binding, queue-control parsing and shell-generation fixes are consolidated in #309 at 0a079c4ba466ce1b4f121a9d8d4fc7a5d84cb95f, preserving #315's hold/resume UX and the newer PowerShell/steering changes. Closing this duplicate proposal without merging it; this closure does not assert that #309 or all issue acceptance/CI gates have passed. The branch and existing test evidence remain available.
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
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
Implements issue #284 on top of the defensive shell-attachment follow-up in #309. This PR is intentionally stacked on fix/281-shell-result-preview and should land only after #309.
Verification
Linux Node24.19.0; synthetic fixtures and mocked models, no paid inference. Final full npm test:3,383 pass,11 platform/environment skips,0 failures (3,394 total). Focused console/attachment/queue/model-continuation suite:57 pass. Explicit model/process spies prove removed, cleared and cancelled pending inputs do not execute. Independent reviewer verified malformed-control, terminal, exit and model-switch regressions.
Build, typecheck, lint, docs:check, verify:production, npm pack --dry-run and git diff --check passed. Smoke still fails public DNS resolution in this executor; release:truth still fails the independently reproduced #303 frozen-packet baseline (11/12 checks). No CI gate/security/branch-protection setting was weakened. Actual required Windows/Linux/CodeQL/packaging CI must pass before merge and issue closure.
See docs/issue-284-validation.md for acceptance details. No auto-closing keyword: closure waits for landed evidence after #281 follow-up.