feat: opt-in local read-only session attach #129

Merged
severus-snape merged 1 commit from feat/session-observer into main 2026-10-27 14:39:27 +00:00
Collaborator

Scope

Generic content-free owner snapshot and pull/coalesced observation stream; true plugin Unix socket transport pinned db54a19 (plugins PR18). CLI run --observe-directory --observe-session ; attach branches before config/runtime/home ownership. No listener by default. One exact owner-selected scope, no transcript/admin/maintenance/input. Detach never stops owner.

Safety/lifecycle

UID-owned real0700directory/0600socket, reject existing endpoint without unlink, max16clients, falsewrite disconnect, abort pending polling on disconnect/shutdown. No forged console identity or second writer. Existing plugin memory sources remain unchanged at pin; branch intentionally based old locked revision to avoid unrelated memory change.

Verification

Normal npm test683/683, typecheck and build PASS using immutable published plugin revision. Eight focused tests cover held prompt/live socket/detach, no second runtime, permissions/symlink/input rejection/preexisting endpoint preservation/shutdown and coalesced slow-reader/abort. diffcheck PASS. Review STATUS ONLY existing budget3/blockers0, no fresh review or reset claimed.

Documented limitations: read-only JSON status not tmux transcript/admin; local same-UID trust not remote authentication. Build/merge != activation; opt-in owner startup required. Parent architecture mandate ongoing.

## Scope Generic content-free owner snapshot and pull/coalesced observation stream; true plugin Unix socket transport pinned db54a19 (plugins PR18). CLI run --observe-directory <private-dir> --observe-session <exact-key>; attach <socket> branches before config/runtime/home ownership. No listener by default. One exact owner-selected scope, no transcript/admin/maintenance/input. Detach never stops owner. ## Safety/lifecycle UID-owned real0700directory/0600socket, reject existing endpoint without unlink, max16clients, falsewrite disconnect, abort pending polling on disconnect/shutdown. No forged console identity or second writer. Existing plugin memory sources remain unchanged at pin; branch intentionally based old locked revision to avoid unrelated memory change. ## Verification Normal npm test683/683, typecheck and build PASS using immutable published plugin revision. Eight focused tests cover held prompt/live socket/detach, no second runtime, permissions/symlink/input rejection/preexisting endpoint preservation/shutdown and coalesced slow-reader/abort. diffcheck PASS. Review STATUS ONLY existing budget3/blockers0, no fresh review or reset claimed. Documented limitations: read-only JSON status not tmux transcript/admin; local same-UID trust not remote authentication. Build/merge != activation; opt-in owner startup required. Parent architecture mandate ongoing.
Sign in to join this conversation.
No reviewers
No labels
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
harness/core!129
No description provided.