Skip to main content
← Back to list
01Issue
FeatureIn ProgressSwamp ClubPublic
Assigneeskeeb

Relationships

Blocked↑ child of #2008⊘ blocked by #2016

#2018 feat(nurture): arm no-activation-after-30-days (ARRIVED, NEVER RAN)

Opened by keeb · 9/4/2026

Parent: the product-nurture epic. Arms whiteboard flow #2 — ARRIVED, NEVER RAN.

Signed up, and thirty days later has still never run the CLI. The whiteboard note is only for new users, and the cold-start seal delivers that for free: only accounts crossing 30 days after the flow is armed can qualify, so the years of historical never-activated accounts are sealed, not mailed.

Qualification

no_activation_30d: account ≥30 days old, and zero CLI activity ever across every device bound to it.

Split the template on operative_profile.welcomeSource — the field sendWelcomeEmail already stamps. cli means they had the binary and never got a result; web means they may still have no binary at all. Those are different messages, and #1168 already paid for learning that.

The trap this flow is built on

Absence of a bound device is not absence of usage. An operative who runs swamp without swamp auth login produces telemetry under an unbound distinct_id and is indistinguishable from someone who never installed anything. The catalog's unknown arm exists for exactly this, but it cannot separate the two cases here — that is the point: this flow qualifies on an ambiguity it cannot resolve.

Two consequences, both required:

  1. The copy must be safe under the ambiguity. A line that costs a reader nothing if they are already running fine. Never an assertion that they have done nothing.
  2. It is once-ever, never repeated. occurrenceKey: "once". Getting this wrong twice is what makes someone unsubscribe.

Verification

  • Fixtures at 29 and 31 days; an account with an unbound-but-active device (must still qualify, and the copy must survive it); an account whose only activity is a web page_view (must qualify — this flow is about the CLI).
  • An account created before armedAt must be sealed, never candidate, at any age.
  • In production: after arming, spot-check the first cohort by hand — for each recipient, confirm no cli_invocation exists on any bound device.
02Bog Flow
OPENTRIAGEDIN PROGRESSSHIPPED+ 1 MOREASSIGNED+ 2 MOREREVIEW+ 2 MORECODE_CONFORMANCE_REVIEW

In Progress

9/5/2026, 12:28:37 AM

Click a lifecycle step above to view its details.

03Sludge Pulse
keeb assigned keeb9/4/2026, 11:19:33 PM
keeb linked parent of #20089/4/2026, 7:41:13 PM
keeb linked blocked by #20169/4/2026, 7:41:50 PM
keeb marked as blocked9/4/2026, 7:41:50 PM

Sign in to post a ripple.