Repository navigation
feat(plugins): extend native confinement and IPC diagnostics - #80
Merged
Merged
Conversation
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.
The Linux native-confinement candidate preserves private pathname stream exchanges, but its accepted-side peer credential diagnostic exposes a compatibility failure: listeners see the broker worker PID instead of the plugin PID. The macOS signing candidate now has separate stream, peer-identity, descriptor and datagram proofs. Production native admission remains inactive; the App still uses its legacy launcher.
Changes
Verification
Current head d689d2f: the Intel cf69598 run captured
send/EINVALafter ten attempts in r0w1s1; the cause remains unresolved and that failed row is not acceptance. Retained artifacts include the verified source/tree/archive binding. The follow-up records the fixture PID, queries bounded kernel messages for only that PID and owned case directory on error, and runs independent controls after native setup even when the positive boundary test fails. Cancellation prevents new control execution; the failed primary still fails the job. All nine local rows and all five exact workflow steps pass; strict OpenSpec validates 113 items and spec lint reports zero errors/25 warnings. Fresh hosted results remain required. The same push includes the held roadmap/feature/guide corrections for implemented producers and open FileChanged/Setup/DirectoryAdded acceptance.Prior diagnostic revision cf69598: adds first-failure stage/errno reporting and an occupied-client-bind control. All nine capability rows and four exact native workflow steps pass locally; unknown errors still fail and successful rows require empty/zero error fields. The original Intel failure artifact is retained with its verified archive digest and tested-source binding. This improves diagnosis; it does not resolve that failure. All 113 strict OpenSpec items pass; spec lint reports zero errors and 25 warnings. Fresh hosted native/platform CI remains required.
Owner integration revision 550e9b3: integrates main after #77/#81/#78 merged. All 58 observer library tests and 24 actual HTTP lifecycle tests pass on the composed source; formatting and all 113 strict OpenSpec items pass, with spec lint at zero errors and 25 warnings. Before main integration, scoped tools Clippy with warnings denied passed. The exact missing-fix owner control executed and failed at its task-growth assertion. Substantive review checked admission/activation lock ordering, immediate callback revocation, the pending-owner task bound and joined shutdown. Fresh hosted/platform CI remains required; task 5.2 stays open.
Native proof revision 08ee6fe: the Intel native signing job failed. Its retained
unix-boundary.logrecords the r0w1s1 datagram mutation row reportingfailed: trueafter three of sixteen attempts. The cause remains under investigation; the revision is not green and this does not satisfy native IPC acceptance. Other workflow successes do not override this result.Local evidence at 08ee6fe: local arm64/Darwin 25.6.0 passes nine extended native IPC rows and 27 selected native/Node runtime rows. The retained race run has eight private exchanges and eight host acknowledgements when unconfined; all eight confined cases have eight private exchanges, eight permission refusals and zero host packets. Tests allow different valid schedules. Widened-scope, dropped-rights and path-reader counterexamples fail their required assertions. Reports match independently recomputed source manifests. C and TypeScript syntax, workflow YAML, nine shell steps, six embedded Python blocks and all 107 strict OpenSpec items pass. Spec lint reports zero errors and 25 warnings. Complexity analysis of a byte-identical
.tscopy emits maximum ten for the IPC driver (the analyzer omits.mts). This historical local evidence does not establish hosted acceptance. Bun/Deno and Linux kernel enforcement cannot run locally on this macOS host.Preceding head 68affad: 64 checks succeeded, one historical diagnostic was intentionally skipped, and the Intel Python native job was cancelled after ten minutes in checkout's Git fetch. Runtime setup and the capability matrix never ran; required artifact retention failed because no proof files existed. Job log. This revision is not reported as green. The new source revision starts fresh CI rather than counting the cancelled job as verification.
Prior head 48a5481: 65 GitHub checks succeeded and one historical diagnostic was intentionally skipped. Both macOS native signing jobs in run 41103134892 pass nine descriptor/listener rows and nine native runtime rows per architecture, including exact controls. Original reports and separate checkout bindings establish tested merge/tree equality and manifest identity. These receipts do not verify the later datagram extension.
Earlier Linux reports retain endpoint identity, file/FD/address mutation, relative path, alias and runtime exchange evidence. Run 41092065028 records the peer PID mismatch on both architectures against correct unconfined controls. The failure remains an explicit compatibility gap.
Remaining work
The independent pending FileChanged owner resource correction is now in #83, based on main after #79/#82 merged. It has its own focused/platform CI so it can ship independently. This native-runtime follow-up remains incomplete; the two-PR exception is limited to that resource fix.
Review the Linux dependency/direction revision before implementing that alternative. Complete peer identity, full datagram/seqpacket and ancillary behavior, concurrent endpoint mutation, proxy/network/secret intersections, immutable package/runtime admission, registry generations/quarantine, descendant resource settlement and actual App/server acceptance before activation. Remaining protocol/callback/producers, daily coding and binary editor work stays in the full goal. Native-workstream acceptance remains open; review-ready status is not completion of the full goal.
Native integration · Linux peer identity · Linux revision for review · macOS runtime exchanges · macOS owned streams · macOS descriptor passing · macOS datagram proof · Delivery rules
Concurrent datagram alias replacement evidence.