Skip to content

Test KeyPathInsights feature end-to-end #205

@malpern

Description

@malpern

Goal\nValidate the feature works correctly in a production-signed app build.\n\n## Test checklist\n- [ ] Confirm plugin loads at app startup\n- [ ] Verify opt-in/consent flow appears and persists correctly\n- [ ] Generate sample activity and verify events are recorded\n- [ ] Open Insights UI and validate summary/report rendering\n- [ ] Confirm data persistence across app restart\n- [ ] Confirm data clearing/deletion path works\n- [ ] Verify no regressions when Insights is disabled\n\n## Build context\nUse deploy build path with notarization skipped for local verification:\n🦀 Building bundled kanata...

🦀 Building Kanata from source (with TCC-safe caching)...
📁 Kanata source: /Users/malpern/local-code/KeyPath/External/kanata
📁 Build directory: /Users/malpern/local-code/KeyPath/build
✅ Using cached kanata binary (TCC identity preserved)
✅ Cached kanata ready: kanata 1.11.0
📊 Size: 3.1M
🔬 Building kanata simulator...
🔬 Building Kanata Simulator from source...
📁 Kanata source: /Users/malpern/local-code/KeyPath/External/kanata
📁 Build directory: /Users/malpern/local-code/KeyPath/build
✅ Using cached simulator binary
kanata-sim 0.1.0
🔐 Building privileged helper...
🔐 Building KeyPathHelper (privileged helper)...
1️⃣ Building helper executable...
[0/1] Planning build
Building for production...
[0/3] Write swift-version--58304C5D6DBC2206.txt
[1/2] Linking KeyPathHelper
Build of product 'KeyPathHelper' complete! (2.67s)
2️⃣ Signing helper...

✅ Helper build complete: .build/arm64-apple-macosx/release/KeyPathHelper
⏭️ Skipping screenshot regeneration (dev build)
🏗️ Building KeyPath and plugins...
[0/1] Planning build
Building for production...
[0/2] Write swift-version--58304C5D6DBC2206.txt
Build of product 'KeyPath' complete! (0.69s)
Building for production...
[0/2] Write swift-version--58304C5D6DBC2206.txt
Build of product 'KeyPathInsights' complete! (0.35s)
📦 Creating app bundle...
🔌 Assembling Insights.bundle...
✅ Assembled Insights.bundle
📦 Embedding privileged helper (SMAppService layout)...
✅ Verified kanata plist uses Contents/Library/KeyPath/kanata-launcher and omits --debug
✅ Helper embedded: dist/KeyPath.app/Contents/Library/HelperTools/KeyPathHelper
✅ Helper plist embedded: dist/KeyPath.app/Contents/Library/LaunchDaemons/com.keypath.helper.plist
✅ Kanata daemon plist embedded: dist/KeyPath.app/Contents/Library/LaunchDaemons/com.keypath.kanata.plist
✅ Copied app resources
✅ Copied resource bundle: KeyPath_KeyPath.bundle
✅ Copied resource bundle: KeyPath_KeyPathAppKit.bundle
🧾 Writing BuildInfo.plist...
✍️ Signing executables...
Applying entitlements from KeyPath.entitlements...
✅ Verifying signatures...
⏭️ Skipping notarization (SKIP_NOTARIZE=1)
🎉 Build complete!
📍 Signed app: dist/KeyPath.app
📂 Deploying to /Applications...
✅ Deployed latest KeyPath to /Applications/KeyPath.app
🚪 Restarting app...
Stopping existing KeyPath process...
Starting new KeyPath...
✅ KeyPath restarted successfully (PID: 34855)\n\n## Acceptance\nInsights functionality is visible, stable, and data handling paths (persist/delete) work as expected.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions