[GH-ISSUE #27] Make runtime ownership and side-effect policy explicit #7

Closed
opened 2026-10-15 18:19:51 +00:00 by bsakaguchi · 3 comments
Owner

Originally created by @morluto on GitHub (Jul 12, 2026).
Original GitHub issue: https://github.com/morluto/rea/issues/27

Problem

Time-based process snapshots do not prove ownership. Tool contracts also need richer side-effect policy before dynamic providers.

Scope

Track PID lineage or launch tokens; never terminate solely by snapshot timing; describe mutation, process launch, UI, network, permission, write, root, and approval effects; use contained temp roots; verify cleanup; preserve sanitized diagnostics.

Acceptance criteria

  • Verification cannot terminate unrelated Hopper.
  • Every side effect has policy and tests.
  • No owned socket, child, or temporary artifact leaks.

Roadmap expansion

  • #56
  • Assign verifier and dynamic-provider run IDs and record owned launcher PID, process group, and descendants.
  • Restrict signals and cleanup to explicitly owned processes and roots.
  • Verify unrelated-process protection and preserve sanitized cleanup diagnostics.
  • Reuse the ownership model for #36.

This blocks process capture and every provider that launches or observes a target.

Originally created by @morluto on GitHub (Jul 12, 2026). Original GitHub issue: https://github.com/morluto/rea/issues/27 ## Problem Time-based process snapshots do not prove ownership. Tool contracts also need richer side-effect policy before dynamic providers. ## Scope Track PID lineage or launch tokens; never terminate solely by snapshot timing; describe mutation, process launch, UI, network, permission, write, root, and approval effects; use contained temp roots; verify cleanup; preserve sanitized diagnostics. ## Acceptance criteria - Verification cannot terminate unrelated Hopper. - Every side effect has policy and tests. - No owned socket, child, or temporary artifact leaks. ## Roadmap expansion - [x] #56 - [ ] Assign verifier and dynamic-provider run IDs and record owned launcher PID, process group, and descendants. - [ ] Restrict signals and cleanup to explicitly owned processes and roots. - [ ] Verify unrelated-process protection and preserve sanitized cleanup diagnostics. - [ ] Reuse the ownership model for #36. This blocks process capture and every provider that launches or observes a target.
Author
Owner

@morluto commented on GitHub (Jul 17, 2026):

Current main supplies token-verified POSIX ownership, private runtime roots, and cleanup tests. Remaining scope is strong Windows ownership through #287/#288, complete dynamic-provider run ownership, and proof that unrelated processes survive every cleanup path.

<!-- gh-comment-id:5001697344 --> @morluto commented on GitHub (Jul 17, 2026): Current main supplies token-verified POSIX ownership, private runtime roots, and cleanup tests. Remaining scope is strong Windows ownership through #287/#288, complete dynamic-provider run ownership, and proof that unrelated processes survive every cleanup path.
Author
Owner

@morluto commented on GitHub (Jul 20, 2026):

Split into focused child issues:

These replace the broad remaining scope in this issue. Closing this parent can happen once all children are closed.

<!-- gh-comment-id:5023443210 --> @morluto commented on GitHub (Jul 20, 2026): Split into focused child issues: - [ ] #354 - [ ] #355 These replace the broad remaining scope in this issue. Closing this parent can happen once all children are closed.
Author
Owner

@morluto commented on GitHub (Jul 25, 2026):

The focused children #354 and #355 are now closed: merged PRs #409 and #410 deliver run lineage, owned cleanup, unrelated-process survival, and the associated tests.

<!-- gh-comment-id:5078381603 --> @morluto commented on GitHub (Jul 25, 2026): The focused children #354 and #355 are now closed: merged PRs #409 and #410 deliver run lineage, owned cleanup, unrelated-process survival, and the associated tests.
Sign in to join this conversation.
No milestone
No project
No assignees
1 participant
Notifications
Due date
The due date is invalid or out of range. Please use the format "yyyy-mm-dd".

No due date set.

Dependencies

No dependencies set.

Reference
morluto/rea#7
No description provided.