Sitelet https://github.com/microsoft/TypeAgent/pull/3132
Skip to content

Connect Session Watcher privacy filtering and approved-update handoff - #3132

Open
George Ng (GeorgeNgMsft) wants to merge 1 commit into
georgeng/git-story-session-watcher-stubsfrom
georgengmsft-watcher-privacy-handoff
Open

George Ng (GeorgeNgMsft) wants to merge 1 commit into
georgeng/git-story-session-watcher-stubsfrom
georgengmsft-watcher-privacy-handoff

Conversation

@GeorgeNgMsft

Copy link
Copy Markdown
Contributor

Connect the Session Watcher scaffold to an injected privacy filter and approved-update destination. The watcher now fails closed unless the required dependencies are supplied, and publishing requires a watcher-owned approval handle rather than the original raw update. This PR targets the scaffold branch from #3129; it does not implement a privacy policy or real Neumem ingestion.

  • Add optional filter and destination dependencies while preserving new SessionWatcher() and all unrelated stubs.
  • Pass the whole normalized update through filtering, including events, paths, identity and metadata; treat null as deliberate exclusion.
  • Keep approved data behind per-instance, runtime-checked opaque handles; reject raw, copied, forged and foreign approvals.
  • Snapshot input, approved output and each delivery to isolate mutations. Node V8 serialization rejects shared-memory buffers and uncloneable payloads.
  • Surface distinct configuration, filtering, invalid-result, snapshot and delivery errors without sensitive payloads or dependency causes.
  • Document the handoff contract, trusted-dependency boundary and destination acceptance semantics, independent of capture checkpoints and downstream extraction.
  • Add regression coverage and the explicit Jest ESM dev dependency; leave capture/event types, normalization, lifecycle, daemon and hooks unchanged.

Validation: package npm run build passed; all 29 tests across 3 suites passed via npm run jest-esm -- --runInBand --testPathPattern='.*[.]spec[.]js'. Changed-file Prettier, lint, complexity (25/30 thresholds), circular-dependency and debt gates passed against origin/georgeng/git-story-session-watcher-stubs (merge base e3ecf6eae). Circular dependencies remain 220 → 220. Validation uses injected test doubles, not a production privacy policy or live Neumem service.

Co-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com>

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