Skip to content

test: complete trusted VS Code project native E2E - #530

Draft
777genius wants to merge 15 commits into
feat/project-native-e2e-remaining-20261025from
feat/project-native-vscode-20261025
Draft

777genius wants to merge 15 commits into
feat/project-native-e2e-remaining-20261025from
feat/project-native-vscode-20261025

Conversation

@777genius

@777genius 777genius commented Oct 25, 2026 •

Copy link
Copy Markdown
Owner

Why

Project installation needs genuine VS Code evidence for discovery, restart/removal and MCP operation while preserving original-user authority. This PR implements the narrow trusted project fixture authorized by the owner and retains the existing untrusted-workspace observer and legacy user adapter.

What changes

  • Adds a source-bound public CLI lifecycle for distinct A/B projects: empty baseline, independent user package, A/B install, unchanged reconciliation, intact repair, changed local-source update, missing-component repair from unchanged selected input, fresh workbench restart, removal and repeated removal. Exact receipts, source/package identity, retained data, foreign configuration and sibling-project preservation are checked. Existing TLS Git/ZIP tests retain separate moving-source/recorded-pin coverage.

  • Adds the sealed observer/UI driver for pinned VS Code 1.143.1. Normal development-extension activation waits for an exact stage/nonce challenge. The driver must grant only the selected folder's trust through native UI with parent trust unchecked, then use the exact native MCP trust/start flow. The observer requires canonical folder identity and actual workspace.isTrusted=true; initialize/list/call use VS Code's proposed gateway API and correlate definition metadata with fresh probe session/nonce/package/data/cwd facts.

  • Adds pinned TypeScript 7.0.2 preparation and a genuine Ubuntu 22.04 hosted gate. Original-user execution, NNP, zero capabilities, standard Electron sandbox, strict cgroup containment, immutable inputs, the original 900-second deadline and full process/display cleanup remain mandatory. Only two closed evidence ZIPs are uploaded; native profiles, bearer values and gateway endpoints are excluded.

  • Places the admitted lintai executable in the public CLI's supported private cache. Root-owned scanner ancestors and one exact task-owned security bind mount protect the executable while ordinary user-owned state, lock and assessment-cache writes remain available. Held inode/ownership/mode/mount/hash records cannot be replaced with a later baseline. Cleanup releases only the recorded mount and withholds root deletion on an identity or unmount failure.

  • Requires a genuine hosted UID/cache-route contract before vendor execution. It uses an inert executable to exercise actual state/lock/cache writers, original-UID mutation refusals and the real scanner cache lookup without network. The selected original UID, zero capabilities, NNP, ordinary mount release and native cleanup requirements stay strict.

Validation and observed blockers

Strict pinned compilation and focused controller/frontend/toolchain/evidence contracts pass. Actual VS Code user/project planner-and-Stager contracts now independently verify installed receipt framing and preserve the distinct acquired-source digest, with negative byte/mode/directory/link checks. These are inert tests; no vendor runs locally.

The genuine hosted preliminary gates pass, but full native qualification remains pending:

  • 40357146704 exposed npm's duplicate user/global config-path refusal; distinct empty private configs fixed it.
  • 40359430087 exposed first-run onboarding and changed protected settings bytes. Supported onboarding/update settings are now authored before the strict baseline; no native-written baseline is adopted.
  • 40363268218 and 40365228366 found no trust dialog. The latter measured focus true/true. Pinned source rejects dialogs in integration-test mode, so trusted mode now uses ordinary development-extension activation instead of --extensionTestsPath.
  • 40368973193 still failed empty-a with focus true/true and no dialog. The pinned startup-prompt default is never; the current correction explicitly requests always before freezing settings. It also corrects the source-proven installed receipt expectation to existing Stager framing, while leaving acquired source identity unchanged. That receipt correction has not yet been reached by a native lifecycle.

Both independent plan and implementation reviews approved the preceding source tree 46a998ba83fc8e6d3f905ab37d7129c598d950d7, published as ee4556e222cc14e5e1c355428b42e8d4df4a7ace. Run 40373529167 passed its preliminary contracts but encountered HTTP 504 during frontend preparation after compilation, before creating prepared input or starting the native lifecycle. The paired artifacts record complete frontend cleanup and all five qualifications false. The one same-head retry (job 121768023210) passed preparation and completed native empty-a and empty-b: both exact folder trust prompts were accepted, actual workspaces were trusted, inherited user skills were discovered and publisher exits were zero. Public add-user then failed because the required scanner tried to download inside the loopback-only namespace: the acquired pinned lintai executable had not been placed in the public CLI’s supported private cache. Installed-package/native MCP stages were not reached, strict display cleanup remained unproved after this failed exchange, and all five qualification flags stayed false. The reviewed scanner cache correction is now implemented and published in the current head below. The earlier failed run remains evidence of the blocker, not proof of the corrected native lifecycle.

A subsequent genuine hosted attempt must complete every required stage and cleanup before any of the five vscode.* qualification cases can pass. Retained failures and source reasoning cannot substitute for native proof.

Current source and review

Published head: 1b510b587c8be236b3c40fdad76896c79345109a.
Exact tree: 1d66a1151b5222c67c5b058cad0da760170d3339.
This is byte-identical to reviewed local implementation 553decde4e8533a4ba050b20e19945c80da402b8. The accepted policy is preserved in separate preceding remote plan commit 0f6878cd96fe9712dd1aa3a5ac17970bad4eb1d5; the implementation also incorporates the exact two CI-only files from parent b16b5c5d28cdc734856ac414521d40d9c8d8dfd5. Fresh genuine hosted gates are pending; no native qualification is claimed. Earlier test and artifact results below remain bound to their stated preceding sources.

The preceding scanner-cache amendment has two independent plan and code GO reviews, including correction of invalid ancestor exchange operands. Thirteen new lint findings were resolved without suppressions; affected golangci-lint 2.13.2 reports zero issues. Exact-source trusted contracts and frontend contracts pass. That preceding integrated source passed all 18 shared runtime-admission contracts and its combined trusted-contract run. Its separate integration review verified all scanner/workflow files unchanged from that reviewed candidate and the four shared Python files identical to parent 2f7a885ec00622cb500ca1189b93659ca5bd9216.

The privileged UID/mount contract was explicitly skipped locally and is not claimed passed. It must run successfully on the genuine hosted runner before the editor starts. No vendor executable ran locally.

Scope and status

This PR remains draft and source-only. The fixture surface is the pinned development host with proposed APIs. Installation state remains Prepared; public user installation, vendor authentication/OAuth, real-model use and released-client qualification remain separately unqualified. No release is published.

Stacked on #520. Exact source/review references are in docs/plans/project-install-e2e/remaining-native-qualification.md.

Deterministic inert contracts after observed hosted failures

The preceding trusted run 40389182925, job 121805371213, failed the metadata-only held-node file-bytes negative before native execution. Equal-size rewritten bytes need not produce distinguishable timestamps in the filesystem's current clock quantum; the log contains no stat telemetry, so this cause is a source-backed inference. The current test changes size deterministically and separately exercises the unchanged production hash/inventory tail against equal-size bytes with restored mtime, changed modes and an added empty directory. All production ancestry/mount/hash/inventory checks remain in their original order.

The preceding untrusted run 40389182726, job 121805371389, separately failed an inert deadline test that subtracted 100 seconds from monotonic uptime. The current test chooses a positive elapsed interval bounded by half actual uptime, retaining the same original origin, unchanged 420/840-second work limits and one-second tolerance. Zero/negative/future origins still reject. No production deadline, execution or cleanup rule changed; actual old-run uptime was not recorded.

Both exact plans and implementations (b1f23a707894d83e7d3f3315304a54de6f265374, ea13f5bd067752b12da917972373a7c2c61bfa0a) have root and independent critic GO reviews. Root independently ran the final Trusted inert contracts: PASS in 0.152 seconds, with the genuine hosted UID/mount case explicitly skipped locally. Changed-lines golangci-lint 2.13.2 against the preceding local source reports zero issues.

A separate full-package audit identified 37 lint findings introduced elsewhere in this PR relative to its parent. The reviewed correction below resolves all 37. These inert fixes alone do not qualify any native lifecycle stage.

Required lint correction and latest native evidence

Plan fc13f083a0c021b300c4cc8884b472bf6eaca8f8 (document blob a305e9a66dcaa9bbd20e106d0e4a782363564aab) and implementation c75c26b4069b71dbcfa60d8bd2c2c727df10cf02 each received two independent GO reviews. The published tree is byte-identical to the reviewed candidate. All 245 original function entry points remain. Cohesive helper/file extraction preserves native argv, ordering, source/installed digest distinction, receipt authority, observer/probe correlation, immutable assets, deadlines and cleanup. The three formerly ignored descriptor-close errors now fail closed at the original cleanup points. There are no lint suppressions or baseline expansions.

Exact-candidate validation: full controller package tests PASS (1.159 s); unfiltered golangci-lint 2.13.2 over the entire controller package reports 0 issues, including the Required size/complexity/import linters; frontend contracts PASS; 8 toolchain contracts PASS; 17 workspace contracts PASS. The genuine hosted UID/mount case remains explicitly skipped locally and mandatory before hosted vendor execution. No vendor binary executed locally.

Trusted run 40400045559, job 121843130833, on preceding source 73f6b9c3e26709409d8ad9e1502683675683ebad passed its preliminary contracts and completed real empty-a and empty-b observations with exact folder trust and inherited user-skill discovery. First public add-user then failed with security assessment failed before installation: lintai returned invalid JSON. The scanner cache acquisition blocker is passed, but the scanner's actual stdout/stderr cause is not yet observed: current code discards stderr for accepted exit 0/1 and the artifact contains only the generic report refusal. A subsequent real-process overflow test found that the embedded bytes.Buffer can bypass the intended stream limiter through io.ReaderFrom. Therefore the old error establishes empty, oversized, or syntactically invalid stdout after accepted exit 0/1; it does not establish which case occurred or that the intended internal stream cap held. No format/auth/network workaround is inferred from this failure. The failed exchange also did not prove strict display cleanup. All five qualifications remain false.

Native artifact 12687549067 outer SHA-256: 3e2a3dc681d590f9119cb734e7ada607e52d1731d9de9385a6a0f89652c1bf48. Frontend artifact 12687508997 outer SHA-256: 0e54ab23ef3ca0ba1be60bc97d14f6f988ad60311564879d32d6dcc71e3cad62. Both were independently retained and inspected with their source identities. The next scanner amendment will be based on this observed failure, with its own plan and reviews.

The same native boundary recurred on published lint-corrected source 5942dc4cafbb2b2c4d793e2f32e375ff96736e1b, tree 42cda5c7ea6d236d54c77b46db010f6bbc66c457, run 40402247458, job 121850850891. Its mandatory inert gates passed; empty-a/empty-b completed, public add-user returned the same generic scanner refusal, strict display cleanup remained false and all five qualification flags remained false. Native artifact 12688239063 SHA-256 c17a204dd816c3a4648615a0b91a90c1fdc10b912fa9eb0658d454009035ceff; frontend 12689503601 SHA-256 cdff0ae109f29f61b1e8740822e1faa8d183afe0dd817eb7d15169278d9f5cbe. The runner header reports Ubuntu 22.04 image 20261012.322.1; captured ImageVersion environment reports 20261023.322.3. Both observations are retained; the environment value alone is not proof of the actual runner image revision. The scanner diagnostic candidate was withheld from publication when its new actual overflow test exposed the limiter defect; a separately reviewed amendment will restore the intended bounds before any new diagnostic is published.

Enforced scanner bounds and actual failed-process diagnostics

The new real-process regression exposed a pre-existing capture defect: anonymously embedding bytes.Buffer promoted ReadFrom, allowing os/exec/io.Copy to bypass the scanner's bounded Write. The published correction uses private named storage and only the three required read accessors. The original 8 MiB stdout and 64 KiB stderr bounds, stream draining, timeout/overflow precedence, child argv/cwd/environment and report policy remain unchanged; output exceeding the declared bounds now reliably fails.

An actual exit-one process with invalid JSON now fails with the exit, stdout byte count and already bounded trimmed stderr. Raw stdout is not disclosed. Valid exit-one findings remain byte-identical and still require the full independent evaluator/report identity checks; exit-zero and other process-error behavior remain unchanged. No additional execution, artifact member, auth/environment selector, host, pin or permission change is introduced.

Both diagnostic and bound-repair plans received independent root/CLI GO reviews. Final implementation 56856d510e3342db2472fbd354cfbbe7cb3f58f0 and validation-only addendum b4bf0b3b9a0718153ecddefef6537c8fc74dac0d also received independent GO reviews; the published tree exactly matches the reviewed final tree. The initially failing candidate 7eefe3c9 was withheld.

Actual final full securityscan package tests PASS (0.281 s), including both real process streams at limit+1 for exits zero and one, byte-exact valid reports, real evaluator classification, private-stdout exclusion and independent schema refusal. All enabled linters on changed lines report zero issues; the actual Required whole-file size/architecture linters also report zero issues. A broader unfiltered invocation reports five inherited findings in byte-unchanged parent cache.go/release.go, and none in the changed scanner/tests. Parent blobs were independently verified at b16b5c5d28cdc734856ac414521d40d9c8d8dfd5; no linter setting, exclusion or unrelated source changed. The earlier full VS controller test/lint results remain tied to their recorded source.

Before run 40404315364, the retained GNU archive's static strong GLIBC_2.39 requirement was a compatibility hypothesis for the Ubuntu 22 failure; actual runtime stderr had not yet been captured. That diagnostic amendment was published to obtain the failure through the existing public log before a separate asset/host policy amendment. The subsequently captured failure and reviewed policy change are recorded below. No vendor executed locally; complete native lifecycle and cleanup qualification still requires a successful genuine hosted result.

Captured loader failure and portable source policy

Run 40404315364, native job 121858008835, on preceding source 160906e8d9cc6ef15e07ca9775aa78b22b505f84 passed preliminary contracts and completed real empty-a and empty-b. At the first public add-user, the new bounded diagnostic captured actual scanner exit 1, zero stdout bytes and the loader's missing GLIBC_2.39 error. This confirms the loader boundary for that run; it does not retroactively identify the cause of older generic JSON refusals. Installation and native MCP stages were not reached, strict display cleanup remained unproved, and all five qualifications remained false.

Retained native artifact 12690158855 outer SHA-256: 682c1914a94b00b3b80d89bed716b7dba9fdea2bbbb83d2e05cc2eae44b23fe1. Frontend artifact 12689949178 outer SHA-256: fe69f497ef77ec826cda976a935feaa0000289e1693228c0a8dcbda734c9d565. Root and independent critics reviewed the closed raw artifacts and their exact source/provenance. The differing runner setup image revision and captured ImageVersion environment are retained rather than treated as equivalent evidence.

The separately planned and reviewed implementation now selects the existing pinned linux-amd64-musl lintai 0.1.3 asset/cache for current-source Linux amd64 installs on every declared Linux amd64 host. Other targets are unchanged. Native/VS/TUI acquisition and cache handoffs follow the actual verified asset; source execution rejects a conflicting GNU producer receipt before a build. Frozen release/draft/prepared producers retain their strict original GNU pin/schema/cache route. Manual supplied binaries retain an explicit harness-only legacy cache option; trusted raw bytes stay caller-declared and unclassified. There is no ABI probe, fallback, relabelling, dual cache, new public runtime selector, host/sandbox change or release.

The plan and each implementation slice have two independent GO reviews; the final 32-file assembly was independently rehashed and reviewed by root and CLI. Actual inert checks: full scanner and VS controller packages PASS; final resolver tests PASS; shared Python 145 PASS plus offline frozen-pin substitution negative; VS acquisition 3, workspace 17 and toolchain 8 PASS; new Go cache/admission tests PASS. Terminal discovery completed 99 tests (three existing expected opt-in/native-Windows skips), followed by all 8 final flow/reproduction contracts. Affected Required changed-line and whole-file size/architecture lint gates report zero issues; five inherited all-linter findings remain explicitly recorded.

A broader local native-fixture run failed in the unchanged Git acquisition preflight because this environment lacks the required live-task children interface. No full fixture PASS, bypass, new skip or native qualification is claimed. The exact published source must still pass genuine hosted UID/mount/cache, public scan/evaluate/install, complete editor/MCP lifecycle and cleanup, plus retained Claude/Codex/OpenCode and affected remaining-client gates. No vendor executed locally.

Current exact-source trusted hosted run 40411515088, job 121883109116, has been registered for 1b510b587c8be236b3c40fdad76896c79345109a and is being followed for actual raw evidence. No successful native result from this head is claimed.

@coderabbitai

coderabbitai Bot commented Oct 25, 2026 •

Copy link
Copy Markdown

Warning

Review limit reached

You've used all free OSS reviews for now. Wait for the free limit to reset to keep reviewing this public repository.

Next included review available in 59 minutes.

Check out review usage here.

View limit details

Limit details: You’ve used the included review currently available.

Learn how review limits work.

Review configuration:

Run configuration
  • Source mode: Auto
  • Repository: Unavailable
  • Branch: Unavailable
  • File: No configuration file from this repository applied
  • Commit: Unavailable
  • Layers: Organization UI
  • Review profile: CHILL
  • Plan: Advanced
  • Run ID: 18862348-55de-4a52-9e6a-1d7ea3b45edf
Commits

Reviewing files that changed from the base of the PR and between b16b5c5 and 0db4d25.

Files selected for processing: 65
  • .github/workflows/terminal-ui.yml
  • .github/workflows/vscode-project-native.yml
  • cli/cmd/agentplugins/main_test.go
  • docs/plans/project-install-e2e/remaining-native-qualification.md
  • install/integrationctl/agentplugins/adapters/securityscan/release.go
  • install/integrationctl/agentplugins/adapters/securityscan/release_policy_test.go
  • install/integrationctl/agentplugins/adapters/securityscan/scanner.go
  • install/integrationctl/agentplugins/adapters/securityscan/scanner_process_test.go
  • install/integrationctl/research/vscodeworkspace/bootstrap_linux.go
  • install/integrationctl/research/vscodeworkspace/capture_linux.go
  • install/integrationctl/research/vscodeworkspace/files_linux.go
  • install/integrationctl/research/vscodeworkspace/model_linux.go
  • install/integrationctl/research/vscodeworkspace/observation_envelope_linux.go
  • install/integrationctl/research/vscodeworkspace/sealed_output_linux.go
  • install/integrationctl/research/vscodeworkspace/trusted_budget_linux.go
  • install/integrationctl/research/vscodeworkspace/trusted_command_linux.go
  • install/integrationctl/research/vscodeworkspace/trusted_contract_linux.go
  • install/integrationctl/research/vscodeworkspace/trusted_contract_linux_test.go
  • install/integrationctl/research/vscodeworkspace/trusted_fixture_linux.go
  • install/integrationctl/research/vscodeworkspace/trusted_framing_linux_test.go
  • install/integrationctl/research/vscodeworkspace/trusted_lifecycle_linux.go
  • install/integrationctl/research/vscodeworkspace/trusted_lifecycle_linux_test.go
  • install/integrationctl/research/vscodeworkspace/trusted_observation_validation_linux.go
  • install/integrationctl/research/vscodeworkspace/trusted_observe_linux.go
  • install/integrationctl/research/vscodeworkspace/trusted_package_linux.go
  • install/integrationctl/research/vscodeworkspace/trusted_probe_events_linux.go
  • install/integrationctl/research/vscodeworkspace/trusted_receipt_linux.go
  • install/integrationctl/research/vscodeworkspace/trusted_receipt_linux_test.go
  • install/integrationctl/research/vscodeworkspace/trusted_scanner_copy_linux.go
  • install/integrationctl/research/vscodeworkspace/trusted_scanner_hosted_linux_test.go
  • install/integrationctl/research/vscodeworkspace/trusted_scanner_linux.go
  • install/integrationctl/research/vscodeworkspace/trusted_scanner_linux_test.go
  • install/integrationctl/research/vscodeworkspace/trusted_scanner_seed_linux.go
  • install/integrationctl/research/vscodeworkspace/trusted_scanner_uid_linux_test.go
  • install/integrationctl/research/vscodeworkspace/workbench_linux.go
  • repotests/agentplugins_native_fixture_test.go
  • repotests/agentplugins_native_scanner_test.go
  • repotests/agentplugins_vscode_project_native_gateway_test.go
  • scripts/project_native_runtime.py
  • scripts/project_native_vscode_toolchain.py
  • scripts/research-vscode-project.py
  • scripts/research-vscode-workspace.py
  • scripts/run-native-client-matrix.py
  • scripts/terminal-ui/README.md
  • scripts/terminal-ui/harness.py
  • scripts/terminal-ui/historical_state_flow.py
  • scripts/terminal-ui/npm_packed_flow.py
  • scripts/terminal-ui/plugin_matrix.py
  • scripts/terminal-ui/provision_scanner.py
  • scripts/terminal-ui/resilience_matrix.py
  • scripts/terminal-ui/selection_matrix.py
  • scripts/terminal-ui/test_harness.py
  • scripts/terminal-ui/test_scanner_cache_flows.py
  • scripts/terminal-ui/ui_regressions.py
  • scripts/terminal-ui/windows_conpty.py
  • scripts/test_native_client_linux.py
  • scripts/test_native_client_matrix.py
  • scripts/test_project_native_runtime.py
  • scripts/test_project_native_vscode_toolchain.py
  • scripts/test_vscode_project_research.py
  • scripts/vscode-project-runtime-observer/driver-package.json
  • scripts/vscode-project-runtime-observer/driver.ts
  • scripts/vscode-project-runtime-observer/extension.ts
  • scripts/vscode-project-runtime-observer/package.json
  • scripts/vscode-project-runtime-observer/runner.ts
  • Autofix · Keep fixing CodeRabbit findings and required CI, and resolving merge conflicts

Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out.

❤️ Share

Comment @coderabbitai help to get the list of available commands.

…t mode

The pinned native DialogService suppresses prompts when development mode is combined with an extension-test entrypoint. Start the same sealed observer through normal async extension activation and remove only the trusted argv test-entrypoint pair.

Keep native workspace and MCP trust UI, exact installed identities, sealed handoff, sandbox, deadlines and cleanup checks unchanged. The restricted-workspace-capable observer remains passive until the existing UI challenge and actual trusted workspace check.

Two independent plan and implementation reviews completed; pinned strict TypeScript compilation and inert controller/frontend/toolchain checks passed.
…aming

Set the pinned version's startupPrompt to always before preservation baselines so the real native dialog is requested. Keep trust decisions in the actual UI. Use the lifecycle Stager's existing installed digest while preserving separate acquired-source identity and strict held-byte validation.
Place the admitted scanner in the public CLI's supported private cache. Preserve native-owned state and assessment writes while protecting scanner ancestry with held identities and one exact task-owned bind mount. Release only that recorded mount before ordinary root cleanup.

Require the genuine hosted UID/cache-route contract before vendor execution. Keep native pins, trust/UI, process isolation, deadlines, artifact admission, and qualification strict. Include reviewed parent runtime admission and Darwin cleanup.

Two independent plan/code reviews, fixes, affected lint, focused contracts, and exact integration review passed. Privileged hosted proof remains mandatory.
Exercise exact content integrity separately from metadata identity and preserve
monotonic deadline authority on freshly booted hosted runners.

Refs #530
Apply independently reviewed plan fc13f083 and implementation c75c26b4. Retain all original entry points and strict native observation, receipt, deadline, isolation and cleanup requirements. Full controller tests pass; unfiltered golangci-lint 2.13.2 reports zero issues. Native qualification remains pending observed scanner failure.
…ostics

Stop io.Copy from bypassing the bounded writer through an embedded bytes.Buffer ReaderFrom method. Preserve the original 8 MiB/64 KiB limits and timeout/overflow precedence. For exit-one invalid JSON, retain only bounded stderr and stdout byte count; valid findings still require independent report evaluation.

Two independently reviewed plans and final implementation; actual process overflow regressions for both streams and exits, full scanner tests and applicable Required lint gates pass. Five unchanged parent lint findings remain documented. Native root cause and all project qualification remain unclaimed pending genuine hosted capture.
Preserve the accepted plan-only tree before the implementation. Linux amd64 current-source installs select the existing musl pin; frozen producers retain strict GNU provenance and historical cache identity.
Select the existing musl asset and its distinct cache identity for current-source builds, preserving frozen GNU provenance and all other target pins. Couple native, VS Code, and Terminal UI acquisition and cache handoffs to the actual verified asset; retain explicit manual compatibility and truthful limitations.

Include inert acquisition/admission/cache/reproduction contracts and the exact reviewed parent CI concurrency alignment. Local native qualification remains unproved pending genuine hosted gates. Exact reviewed local implementation: 553decde4e8533a4ba050b20e19945c80da402b8; tree 1d66a11.

Copy link
Copy Markdown
Owner Author

@coderabbitai full review

Owner explicitly requested independent review before merge. Current observed head: 0db4d25a17c95eee23ad230f9399bf325f1251b2, stacked on #520. Review only: no autofix, branch mutation, ready-state transition, merge or release.

Prioritize scanner stream bounds and deterministic musl/current-source versus frozen GNU policies, cache/source/receipt ownership, original-UID and user-profile preservation, strict process/display cleanup, and the trusted VS Code project lifecycle. Preserve Ubuntu 22.04, NNP, mount/UID/sandbox, source/pin and artifact-admission guards. Do not treat Prepared support or successful inert contracts as native qualification. Inspect latest native evidence and distinguish the observed ownership refusal from the already corrected GLIBC loader issue. Anchor findings to the reviewed source.

@coderabbitai

coderabbitai Bot commented Oct 27, 2026 •

Copy link
Copy Markdown
⚠️ Action not completed

Review rate limited.


Your included review limit is currently reached under our Fair Usage Limits Policy. This review may still proceed through usage-based billing if eligible. Your next included review will be available in 59 minutes.

This branch has not been deployed

No deployments
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.

1 participant