Round 395: Segment ext, Mixpanel ext, Amplitude ext, Heap/PostHog ext (20 commands)

ober

410be5ae58b73837ef1b3f22dce4d5f6de86b579

diff --git a/docs/jemacs-vs-emacs.md b/docs/jemacs-vs-emacs.md
index e6ac9c9..7a9bd42 100644
--- a/docs/jemacs-vs-emacs.md
+++ b/docs/jemacs-vs-emacs.md
@@ -4583,6 +4583,31 @@ No remaining Tier 1 gaps. All core editing, completion, and navigation features 
 | ebib-import-file | :orange_circle: | Import file into Ebib |
 | ebib-push-citation | :orange_circle: | Push Ebib citation to buffer |
 
+### Round 395 — Segment ext, Mixpanel ext, Amplitude ext, Heap/PostHog ext
+
+| Feature | Emacs | jemacs | Status |
+|---|---|---|---|
+| Segment sources | — | `segment-sources` | :orange_circle: Scaffolded |
+| Segment destinations | — | `segment-destinations` | :orange_circle: Scaffolded |
+| Segment tracking | — | `segment-tracking` | :orange_circle: Scaffolded |
+| Segment audiences | — | `segment-audiences` | :orange_circle: Scaffolded |
+| Mixpanel events | — | `mixpanel-events` | :orange_circle: Scaffolded |
+| Mixpanel funnels | — | `mixpanel-funnels` | :orange_circle: Scaffolded |
+| Mixpanel cohorts | — | `mixpanel-cohorts` | :orange_circle: Scaffolded |
+| Mixpanel reports | — | `mixpanel-reports` | :orange_circle: Scaffolded |
+| Amplitude events | — | `amplitude-events` | :orange_circle: Scaffolded |
+| Amplitude charts | — | `amplitude-charts` | :orange_circle: Scaffolded |
+| Amplitude cohorts | — | `amplitude-cohorts` | :orange_circle: Scaffolded |
+| Amplitude experiments | — | `amplitude-experiments` | :orange_circle: Scaffolded |
+| Heap events | — | `heap-events` | :orange_circle: Scaffolded |
+| Heap sessions | — | `heap-sessions` | :orange_circle: Scaffolded |
+| Heap funnels | — | `heap-funnels` | :orange_circle: Scaffolded |
+| Heap segments | — | `heap-segments` | :orange_circle: Scaffolded |
+| PostHog events | — | `posthog-events` | :orange_circle: Scaffolded |
+| PostHog insights | — | `posthog-insights` | :orange_circle: Scaffolded |
+| PostHog experiments | — | `posthog-experiments` | :orange_circle: Scaffolded |
+| PostHog feature flags | — | `posthog-flags` | :orange_circle: Scaffolded |
+
 ### Round 394 — Contentful ext, Strapi ext, Sanity ext, Directus/Payload ext
 
 | Feature | Emacs | jemacs | Status |
diff --git a/src/jerboa-emacs/editor-extra-final.ss b/src/jerboa-emacs/editor-extra-final.ss
index 6d6b285..9d73a28 100644
--- a/src/jerboa-emacs/editor-extra-final.ss
+++ b/src/jerboa-emacs/editor-extra-final.ss
@@ -27503,3 +27503,44 @@
 (def (cmd-payload-users app)
   (let* ((echo (app-state-echo app)))
     (echo-message! echo "Payload: listing users")))
+
+;; Round 395 batch 2 — Amplitude ext, Heap/PostHog ext
+(def (cmd-amplitude-cohorts app)
+  (let* ((echo (app-state-echo app)))
+    (echo-message! echo "Amplitude: listing cohorts")))
+
+(def (cmd-amplitude-experiments app)
+  (let* ((echo (app-state-echo app)))
+    (echo-message! echo "Amplitude: listing experiments")))
+
+(def (cmd-heap-events app)
+  (let* ((echo (app-state-echo app)))
+    (echo-message! echo "Heap: listing events")))
+
+(def (cmd-heap-sessions app)
+  (let* ((echo (app-state-echo app)))
+    (echo-message! echo "Heap: listing sessions")))
+
+(def (cmd-heap-funnels app)
+  (let* ((echo (app-state-echo app)))
+    (echo-message! echo "Heap: listing funnels")))
+
+(def (cmd-heap-segments app)
+  (let* ((echo (app-state-echo app)))
+    (echo-message! echo "Heap: listing segments")))
+
+(def (cmd-posthog-events app)
+  (let* ((echo (app-state-echo app)))
+    (echo-message! echo "PostHog: listing events")))
+
+(def (cmd-posthog-insights app)
+  (let* ((echo (app-state-echo app)))
+    (echo-message! echo "PostHog: listing insights")))
+
+(def (cmd-posthog-experiments app)
+  (let* ((echo (app-state-echo app)))
+    (echo-message! echo "PostHog: listing experiments")))
+
+(def (cmd-posthog-flags app)
+  (let* ((echo (app-state-echo app)))
+    (echo-message! echo "PostHog: listing feature flags")))
diff --git a/src/jerboa-emacs/editor-extra-modes.ss b/src/jerboa-emacs/editor-extra-modes.ss
index c64e227..13de039 100644
--- a/src/jerboa-emacs/editor-extra-modes.ss
+++ b/src/jerboa-emacs/editor-extra-modes.ss
@@ -28290,3 +28290,44 @@
 (def (cmd-sanity-datasets app)
   (let* ((echo (app-state-echo app)))
     (echo-message! echo "Sanity: listing datasets")))
+
+;; Round 395 batch 1 — Segment ext, Mixpanel ext
+(def (cmd-segment-sources app)
+  (let* ((echo (app-state-echo app)))
+    (echo-message! echo "Segment: listing sources")))
+
+(def (cmd-segment-destinations app)
+  (let* ((echo (app-state-echo app)))
+    (echo-message! echo "Segment: listing destinations")))
+
+(def (cmd-segment-tracking app)
+  (let* ((echo (app-state-echo app)))
+    (echo-message! echo "Segment: tracking event")))
+
+(def (cmd-segment-audiences app)
+  (let* ((echo (app-state-echo app)))
+    (echo-message! echo "Segment: listing audiences")))
+
+(def (cmd-mixpanel-events app)
+  (let* ((echo (app-state-echo app)))
+    (echo-message! echo "Mixpanel: listing events")))
+
+(def (cmd-mixpanel-funnels app)
+  (let* ((echo (app-state-echo app)))
+    (echo-message! echo "Mixpanel: listing funnels")))
+
+(def (cmd-mixpanel-cohorts app)
+  (let* ((echo (app-state-echo app)))
+    (echo-message! echo "Mixpanel: listing cohorts")))
+
+(def (cmd-mixpanel-reports app)
+  (let* ((echo (app-state-echo app)))
+    (echo-message! echo "Mixpanel: listing reports")))
+
+(def (cmd-amplitude-events app)
+  (let* ((echo (app-state-echo app)))
+    (echo-message! echo "Amplitude: listing events")))
+
+(def (cmd-amplitude-charts app)
+  (let* ((echo (app-state-echo app)))
+    (echo-message! echo "Amplitude: listing charts")))
diff --git a/src/jerboa-emacs/editor-extra-regs2.ss b/src/jerboa-emacs/editor-extra-regs2.ss
index 7c19a82..29a7d04 100644
--- a/src/jerboa-emacs/editor-extra-regs2.ss
+++ b/src/jerboa-emacs/editor-extra-regs2.ss
@@ -9772,4 +9772,26 @@
   (register-command! 'payload-documents cmd-payload-documents)
   (register-command! 'payload-media cmd-payload-media)
   (register-command! 'payload-users cmd-payload-users)
+
+  ;; Round 395 — Segment ext, Mixpanel ext, Amplitude ext, Heap/PostHog ext
+  (register-command! 'segment-sources cmd-segment-sources)
+  (register-command! 'segment-destinations cmd-segment-destinations)
+  (register-command! 'segment-tracking cmd-segment-tracking)
+  (register-command! 'segment-audiences cmd-segment-audiences)
+  (register-command! 'mixpanel-events cmd-mixpanel-events)
+  (register-command! 'mixpanel-funnels cmd-mixpanel-funnels)
+  (register-command! 'mixpanel-cohorts cmd-mixpanel-cohorts)
+  (register-command! 'mixpanel-reports cmd-mixpanel-reports)
+  (register-command! 'amplitude-events cmd-amplitude-events)
+  (register-command! 'amplitude-charts cmd-amplitude-charts)
+  (register-command! 'amplitude-cohorts cmd-amplitude-cohorts)
+  (register-command! 'amplitude-experiments cmd-amplitude-experiments)
+  (register-command! 'heap-events cmd-heap-events)
+  (register-command! 'heap-sessions cmd-heap-sessions)
+  (register-command! 'heap-funnels cmd-heap-funnels)
+  (register-command! 'heap-segments cmd-heap-segments)
+  (register-command! 'posthog-events cmd-posthog-events)
+  (register-command! 'posthog-insights cmd-posthog-insights)
+  (register-command! 'posthog-experiments cmd-posthog-experiments)
+  (register-command! 'posthog-flags cmd-posthog-flags)
 )