Skip to content

feat(plugins): add confinement foundations and host lifetime safeguards - #76

Merged
vanedaltro merged 54 commits into
mainfrom
feat/plugin-linux-ipc-candidate
Oct 30, 2026
Merged

vanedaltro merged 54 commits into
mainfrom
feat/plugin-linux-ipc-candidate

Conversation

@vanedaltro

@vanedaltro vanedaltro commented Oct 29, 2026 •

Copy link
Copy Markdown
Contributor

Plugin hosts need safer bootstrap and process ownership before native capability enforcement can be activated. This PR consolidates #70–#75 into a foundations milestone. The production App still uses the legacy sandbox; native capability enforcement and the full implementation goal remain incomplete.

Changes

  • Sanitize plugin bootstrap environment and runtime lookup; exclude relative/empty PATH entries, package/Location directories and shims resolving into them.
  • Retain process, scratch and proxy ownership through initialization failure and cancellation. Revoke proxy access promptly, await tree settlement, and retain scratch on unconfirmed waits.
  • Add generation-bound package preparation, bounded native helpers and policy composers, and private-root inventory foundations. Package-worker wait errors now retain staging and avoid signalling an uncertain cached PID, including automatic child disposal.
  • Add isolated Linux/macOS confinement experiments, adversarial controls and source-bound evidence. Experimental broker behavior is not activated in production.

Verification

Local macOS: all 66 sandbox library tests pass, including a real lost-wait regression; sandbox library/test Clippy with warnings denied, formatting and diff checks pass. Strict OpenSpec: 107 passed. Spec lint: zero errors, 25 warnings. The C build emits two deprecated Seatbelt SDK warnings.

Linux capacity run passed on x64/arm64: four capacity/recovery cases per architecture and the precise wrong-cap counterexample, with cancellation, mutation and descendant regressions. Retained receipts remain bound to their actual tested revisions. All CI for the final head must be green before merge.

Follow-up goal

The user authorized this foundations milestone, followed by one implementation PR. Remaining scope stays tracked: production native admission/enforcement and support/design gates, remaining plugin protocol/callback/hook operations, daily coding surfaces, and the full binary hex editor. Passing probes or explicit refusals do not complete these features.

See delivery rules, package preparation, host ownership, and capacity proof.

@leonardoaraujosantos
leonardoaraujosantos marked this pull request as ready for review October 30, 2026 04:53
@vanedaltro
vanedaltro marked this pull request as draft October 30, 2026 05:09
@vanedaltro
vanedaltro marked this pull request as ready for review October 30, 2026 10:41
@vanedaltro vanedaltro changed the title feat(plugins): implement native confinement and launch admission feat(plugins): add confinement foundations and host lifetime safeguards Oct 30, 2026
@vanedaltro
vanedaltro force-pushed the feat/plugin-linux-ipc-candidate branch from c514a4e to e6fd3d2 Compare October 30, 2026 11:53
@vanedaltro
vanedaltro merged commit ec31ff9 into main Oct 30, 2026
71 checks passed
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