Skip to content

fix: keep persistent permission decisions manual in IDE 2.5.5 - #65

Merged
fhgffy merged 2 commits into
mainfrom
codex/one-time-permission-scope
Oct 27, 2026
Merged

fhgffy merged 2 commits into
mainfrom
codex/one-time-permission-scope

Conversation

@fhgffy

@fhgffy fhgffy commented Oct 26, 2026 •

Copy link
Copy Markdown
Owner

IDE 2.5.5 uses Allow in Conversation for a conversation grant and Allow <hostname> for saving a browser allowlist entry. Generic prefix matching accepted both. Keep those persistent decisions manual by restricting generic Allow labels and rejecting Chinese conversation/workspace/persistent scope labels. Dedicated one-time terminal, MCP, Read URL and browser-domain paths remain in place.

Hostname parsing matters here: ctrl+enter and (enter) are accepted by the actual URL parser, so whitespace-separated shortcut-looking labels must not bypass the host guard. The regression includes those collisions. No persistent permission was granted to reproduce the issue; the reproduction calls the production matcher and checks the installed IDE renderer's semantics.

The patch release is 5.3.15. It also incorporates the native MCP, Read URL, Retry and generic stdin snapshots and upgrade self-check from #63. Native and source-derived fixtures remain explicitly distinguished. A stdin request in this installation routed through the generic task-tool approval, which is not the legacy sendCommandInput-specific card.

Validation:

  • Final full local npm test, eleven-layout replay in Windows PowerShell 5.1 and PowerShell 7, and VSIX runtime-byte validation passed.
  • The 75 name expectations preserve all earlier cases; three single-statement mutations fail in both engines. All original nine fixtures and the new native stdin graph remain byte-identical through the scope refinement.
  • Independent final review found no unresolved findings. Strict UTF-8/no-BOM/CRLF and diff checks passed; three existing persistent-scope SelfTest expectations were corrected without removing assertions or changing the count.
  • Formal 5.3.14 native evidence covers terminal, MCP, Read URL, generic stdin, WSL terminal and Chinese outer UI at 175% scaling. The final 5.3.15 candidate approved a WSL terminal command once, with the actual terminal display and the Windows UI extension/scanner process chain verified. Native file tools also listed, read and edited the owned directory outside that WSL workspace without presenting a file-access permission card. These candidate checks used Chinese outer UI at 175% scaling; the agent cards were English. JavaScript and WSL browser requests reached the IDE browser service but failed its region check before permission cards could be generated; direct owned Chrome/CDP health is reported separately.

Preserved failures are not overridden: #63's PR run 40358332840 failed a bounded Windows PowerShell dump-collector diagnostic, while its push run passed. A private one-shot ordering comparison did not reproduce the underlying cloud failure, so no speculative diagnostic change or CI rerun was made. A separate local staging failure was traced to three 260-character output paths; the unchanged test passed with a shorter process-local F-drive temp root, and the final full suite passed there. Original failure logs and artifacts remain retained. No diagnostic limits, original assertions or publication gates changed.

Open VSX 5.3.14 is still under review. The official inquiry draft remains unsent at the user's request. Publish 5.3.15 only from its verified main CI package, without replacing the old release or re-uploading an already submitted version.

Closes #62
Closes #64

Supersedes #63.

@fhgffy

fhgffy commented Oct 27, 2026

Copy link
Copy Markdown
Owner Author

Self-review before merge: final head feddc60 has passing push and PR checks for Windows PowerShell 5.1, PowerShell 7, Verified VSIX and workflow lint. Final full local tests, 11 fixture layouts / 75 name expectations, 6 rejecting mutation controls, strict encoding and diff checks passed. The independent second review has no unresolved findings. Candidate 5.3.15 native WSL terminal approval and actual output passed with the extension/scanner on Windows. Chinese outer UI and 175% scaling were exercised. Browser JS and WSL browser cards remain untriggered because the actual IDE browser service rejects this account region before producing a card; no browser policy or security setting was changed. The outside-workspace directory/file case completed without a file-access approval, and the bounded Continue probe did not produce a max-step card. These limits will remain explicit in the final matrix. The owned WSL controller later reached its scenario deadline and confirmed all registered descendants exited; that timeout is retained and is not reported as a successful manual-stop lifecycle test. No old failed sample, assertion or diagnostic limit was removed.

@fhgffy
fhgffy merged commit c4f9bc1 into main Oct 27, 2026
12 checks passed
@fhgffy

fhgffy commented Oct 27, 2026

Copy link
Copy Markdown
Owner Author

Released as 5.3.15. The exact version is publicly downloadable from Marketplace and Open VSX; both published packages match the original GitHub asset byte-for-byte. Open VSX latest resolves to 5.3.15. Each store received that original package once; no previous version was re-uploaded.

Main CI passed both PowerShell engines and VSIX validation. Its store steps reported missing credentials; the later manual submissions and public package checks provide the store evidence. A fresh IDE 2.5.5 CLI install through its configured Open VSX gallery, with isolated profile and extensions directories, installed and listed 5.3.15. Installed runtime bytes match the release; the installer added only its normal __metadata field to package.json, with every original manifest field unchanged.

Native checks cover local and WSL terminal approvals, generic stdin, MCP, Read URL and editor acceptance, with the downstream tool outcomes recorded separately. Browser JavaScript and WSL browser requests still failed the IDE service region check before cards appeared. The bounded max-step probe did not produce Continue. These are explicit unverified cases; replay results do not stand in for native coverage. The upgrade checklist is in docs/ide-compatibility.md.

All owned test profiles and WSL test files were retired after preserving the original failures and evidence. The old PR #63 cloud diagnostic timeout remains undiagnosed; passing later CI does not establish its root cause.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

Prevent generic Allow matching from granting persistent permissions Cover native IDE 2.5.5 MCP approval and document compatibility checks

1 participant