# HyperTwist Phase 4R Packet 4R-E screenpipe Capture-History Implementation

Created on `2026-05-13`

## Status

`Phase 4R / Packet 4R-E` is now `closed`.

This packet converts the retained boundary-sensitive `screenpipe/screenpipe` row from a queued capture/history/replay sidecar donor into a landed first-party HyperTwist capture-history support lane.

It does not reopen `Phase 0R`, `Phase 1R`, `Phase 2R`, `Phase 3R`, `Phase 4R-A`, `Phase 4R-B`, `Phase 4R-C`, or `Phase 4R-D`.

Those earlier packets still own:

- source-value extraction
- retained-set routing
- ownership and acceptance boundaries
- landed permissive owner decisions
- landed classic-cubing, legacy `4D`, shared-assets, and PostHog boundary-sensitive decisions

This packet owns the next question instead:

- what first-party capture-history implementation actually landed
- how the retained screenpipe value was reduced to event-driven capture, deterministic permissions, local persistence, vault lifecycle, timeline review, and compliance boundaries
- how the `ee/` subtree stayed excluded
- what validation was completed
- what the next bounded move is after this landing

## Authority order

For future work on the screenpipe boundary-sensitive lane, read in this order:

1. this packet for landed capture-history scope, `ee/` exclusion result, and validation result
2. [HYPERTWIST_LIVE_LANES_SOURCE_AND_PRESERVATION_AUDIT_2026-05-13.md](C:/HyperTwist/docs/HYPERTWIST_LIVE_LANES_SOURCE_AND_PRESERVATION_AUDIT_2026-05-13.md:1) for live-lane preserve posture
3. [HYPERTWIST_PHASE_1R_RETAINED_SET_CONTRACT_AND_HANDOFF_2026-05-13.md](C:/HyperTwist/docs/HYPERTWIST_PHASE_1R_RETAINED_SET_CONTRACT_AND_HANDOFF_2026-05-13.md:1) for retained-set routing
4. [HYPERTWIST_PHASE_0R_PACKET_0R_C_EVALUATION_2026-05-12.md](C:/HyperTwist/docs/HYPERTWIST_PHASE_0R_PACKET_0R_C_EVALUATION_2026-05-12.md:1) for source-value extraction and non-promotion rationale
5. [HYPERTWIST_MODEL_A_MAX_VALUE_EXTRACTION_MODUS_OPERANDI_2026-05-13.md](C:/HyperTwist/docs/HYPERTWIST_MODEL_A_MAX_VALUE_EXTRACTION_MODUS_OPERANDI_2026-05-13.md:1) for the canonical interpretation rule that keeps future `Model A` extraction rich rather than shallow
6. [REPO_LICENSE_TRACKING.md](C:/HyperTwist/docs/REPO_LICENSE_TRACKING.md:1) for path-level license, subtree, notice, and provenance obligations

## Packet licensing snapshot

Owner row widened by this packet:

- `screenpipe/screenpipe`: `MIT OR Apache-2.0` core; enterprise license inside `ee/`

Checked local notice and boundary surfaces:

- [README.md](C:/Workspaces/HyperTwist/mirrors/restrictive/screenpipe/screenpipe/README.md:1)
- [LICENSE.md](C:/Workspaces/HyperTwist/mirrors/restrictive/screenpipe/screenpipe/LICENSE.md:1)
- [ee/LICENSE](C:/Workspaces/HyperTwist/mirrors/restrictive/screenpipe/screenpipe/ee/LICENSE:1)
- [Cargo.toml](C:/Workspaces/HyperTwist/mirrors/restrictive/screenpipe/screenpipe/Cargo.toml:1)

Checked retained source surfaces:

- [crates/screenpipe-engine/src/lib.rs](C:/Workspaces/HyperTwist/mirrors/restrictive/screenpipe/screenpipe/crates/screenpipe-engine/src/lib.rs:1)
- [crates/screenpipe-engine/src/event_driven_capture.rs](C:/Workspaces/HyperTwist/mirrors/restrictive/screenpipe/screenpipe/crates/screenpipe-engine/src/event_driven_capture.rs:1)
- [crates/screenpipe-engine/src/pipe_permissions_middleware.rs](C:/Workspaces/HyperTwist/mirrors/restrictive/screenpipe/screenpipe/crates/screenpipe-engine/src/pipe_permissions_middleware.rs:1)
- [crates/screenpipe-db/src/lib.rs](C:/Workspaces/HyperTwist/mirrors/restrictive/screenpipe/screenpipe/crates/screenpipe-db/src/lib.rs:1)
- [crates/screenpipe-db/src/write_queue.rs](C:/Workspaces/HyperTwist/mirrors/restrictive/screenpipe/screenpipe/crates/screenpipe-db/src/write_queue.rs:1)
- [crates/screenpipe-vault/src/lib.rs](C:/Workspaces/HyperTwist/mirrors/restrictive/screenpipe/screenpipe/crates/screenpipe-vault/src/lib.rs:1)
- [crates/screenpipe-vault/src/manager.rs](C:/Workspaces/HyperTwist/mirrors/restrictive/screenpipe/screenpipe/crates/screenpipe-vault/src/manager.rs:1)
- [apps/screenpipe-app-tauri/components/rewind/timeline/timeline.tsx](C:/Workspaces/HyperTwist/mirrors/restrictive/screenpipe/screenpipe/apps/screenpipe-app-tauri/components/rewind/timeline/timeline.tsx:1)

Boundary result:

- no donor `ee/` files were copied into first-party owned source in this packet
- no claim was made that the whole screenpipe product shell is now live in HyperTwist
- the landed surface is a first-party Unreal capture-history contract and runtime API that preserves bounded local capture, deterministic permissions, persistence, vault, and timeline-review value

## Packet result

`4R-E` lands the screenpipe row as:

- `screenpipe/screenpipe` -> `implemented_live_boundary_sensitive`

Current portfolio effect:

- curated HyperTwist shallow-eval set: `71`
- currently verified live in checked Unreal surfaces: `19`
- live permissive lanes: `13`
- live boundary-sensitive lanes: `5`
- live restrictive clean-room lanes: `1`
- active non-live implementation-board rows: `40`

## First-party landing surfaces

The landed first-party Unreal surfaces are:

- [HyperTwistTrainingCaptureHistoryLibrary.h](C:/HyperTwist/UnrealHyperTwist/Source/UnrealHyperTwist/Public/HyperTwistTraining/HyperTwistTrainingCaptureHistoryLibrary.h:1)
- [HyperTwistTrainingCaptureHistoryLibrary.cpp](C:/HyperTwist/UnrealHyperTwist/Source/UnrealHyperTwist/Private/HyperTwistTraining/HyperTwistTrainingCaptureHistoryLibrary.cpp:1)
- [HyperTwistTrainingRuntimeLibrary.h](C:/HyperTwist/UnrealHyperTwist/Source/UnrealHyperTwist/Public/HyperTwistTraining/HyperTwistTrainingRuntimeLibrary.h:1)
- [HyperTwistTrainingRuntimeLibrary.cpp](C:/HyperTwist/UnrealHyperTwist/Source/UnrealHyperTwist/Private/HyperTwistTraining/HyperTwistTrainingRuntimeLibrary.cpp:1)
- [hypertwist-reference-incorporation-targets.json](C:/HyperTwist/UnrealHyperTwist/Content/HyperTwistTraining/MaterializedCatalog/hypertwist-reference-incorporation-targets.json:1)
- [hypertwist-catalog-materialization-summary.json](C:/HyperTwist/UnrealHyperTwist/Content/HyperTwistTraining/MaterializedCatalog/hypertwist-catalog-materialization-summary.json:1)
- [screenpipe-screenpipe-capture-history-reference-pages.jsonl](C:/HyperTwist/UnrealHyperTwist/Content/HyperTwistTraining/MaterializedCatalog/raw-extracts/screenpipe-screenpipe-capture-history-reference-pages.jsonl:1)

## Landed implementation scope

What landed:

- a first-party capture-history package ledger covering:
  - root permissive-core versus `ee/` split
  - event-driven capture engine surfaces
  - deterministic pipe-permission middleware surfaces
  - local write-queue and retention surfaces
  - vault lifecycle surfaces
  - rewind timeline review surfaces
- a first-party event-capture contract that records:
  - trigger kinds
  - capture modalities
  - debounce and inactivity rules
  - visual-change fallback rules
  - recording lifecycle posture
- a first-party pipe-permission contract that records:
  - token rules
  - content filter rules
  - backpressure rules
  - endpoint routing rules
- a first-party persistence contract that records:
  - queue semantics
  - batch rules
  - sleep/wake behavior
  - retention posture
- a first-party vault lifecycle contract that records:
  - lifecycle states
  - lock/unlock rules
  - migration rules
  - recording preconditions
- a first-party timeline review contract that records:
  - grouping axes
  - filter facets
  - replay controls
  - context surfaces
- a first-party compliance boundary that keeps `ee/`, agent packages, cloud sidecars, and the broader product shell excluded
- first-party runtime-library accessors and TSV checklist export for the new capture-history bundle
- bundled first-party reference targets and raw source-reference capture for event capture, permissions, persistence, vault lifecycle, timeline review, and the `ee/` compliance boundary

What that means in practice:

- `screenpipe/screenpipe` now owns the landed boundary-sensitive capture-history preserve lane in HyperTwist
- the landed surface is a first-party Unreal contract and runtime API, not a vague future donor note
- the practical path is bounded local capture/replay support rather than whole-product shell inheritance
- the `ee/` subtree remains explicitly excluded from the landed lane

## Preserved landed value

The donor value that was actually promoted is:

- event-driven capture triggers and debounce posture
- visual-change fallback and screenshot-context pairing semantics
- deterministic endpoint permission and backpressure rules
- write coalescing, batch transaction, retention, and sleep-aware pause/resume semantics
- vault lock/unlock, migration, and recording-safety semantics
- rewind grouping, filtering, and replay review posture
- explicit permissive-core-versus-`ee/` compliance boundaries

## Excluded or non-promotion boundary

Do not promote this packet into:

- the `ee/` subtree
- blanket screenpipe product-shell adoption
- generalized AI-memory or chat-shell ownership
- generic agent-platform or cloud-sync ownership
- broad browser or Tauri application-shell inheritance

Rationale:

- the retained value is concentrated in local capture, replay history, deterministic permissions, vault handling, and rewind review patterns
- the right legal and architectural posture is a bounded first-party support lane, not broad product adoption
- the `ee/` split must stay explicit because the core permissive posture does not flatten enterprise paths into ordinary donor surfaces

## Acceptance markers satisfied

The `0R-C` and `Phase 1R` retained-value markers for this lane are now satisfied in first-party Unreal surfaces:

- a first-party event-capture contract exists
- a first-party deterministic-permission contract exists
- a first-party persistence contract exists
- a first-party vault lifecycle contract exists
- a first-party timeline review contract exists
- a first-party compliance boundary exists for permissive core versus `ee/`
- bundled first-party reference targets exist for event capture, permissions, persistence, vault lifecycle, timeline review, and subtree compliance

## Validation

Validation completed for this packet:

- Unreal build succeeded with:
  - `C:\Program Files\Epic Games\UE_5.7\Engine\Build\BatchFiles\Build.bat UnrealHyperTwistEditor Win64 Development C:\HyperTwist\UnrealHyperTwist\UnrealHyperTwist.uproject -WaitMutex -NoHotReloadFromIDE`
- packet-bearing code compiled after the new `HyperTwistTrainingCaptureHistoryLibrary` and runtime accessors were added

Build result:

- `Succeeded` on `2026-05-13`

Packet-close validation completed before landing:

- `git diff --check`
- JSON validation for the updated materialized-catalog files and workspace manifest
- CSV import validation for the four canonical v6.3 ledgers
- final repo status check before commit

## Next move

The next bounded move is `Phase 4R-F`:

- widen `remotion-dev/remotion` as the retained commercially sensitive media-export and replay-explainer sidecar lane
- keep the optional `Phase 3R-G` `pissang/claygl` and `pissang/clay-viewer` comparison lane deferred unless the landed browser spatial stack exposes a real gap
- keep the capture-history lane on preserve-and-enhance footing through this `4R-E` packet and the live-lane audit instead of treating screenpipe as an open donor shell again
