Skip to content

Email Security: a campaign takes two messages, and member_count never goes down - #381

Merged
maximelb merged 1 commit into
masterfrom
camp1-campaign-min-members
Sep 7, 2026
Merged

Email Security: a campaign takes two messages, and member_count never goes down#381
maximelb merged 1 commit into
masterfrom
camp1-campaign-min-members

Conversation

@maximelb

@maximelb maximelb commented Sep 6, 2026

Copy link
Copy Markdown
Contributor

Documents two campaign semantics the product enforces and the docs did not state.

A campaign is created on the second message. The engine has always intended this ("a campaign of one is not a campaign"), but 70% of the campaigns on the acceptance org had exactly one member because of two backend defects. Those are fixed, and the read side now enforces a two-member floor: a sub-threshold cluster is absent from the campaign list, from the Overview's active-campaign count and from the campaign detail, and min_members can only narrow past two rather than below it. That is a visible behaviour change for an API client that was passing min_members=1, so it is stated in both the guide and the route table.

member_count never decreases. The sweep-preview section already leaned on the number without defining it. A campaign row lives 400 days while the message index lives 35, so the count is the historical spread of the attack rather than a count of messages still in the index — a campaign whose members have aged out still says how big the attack was.

Public repo: PR only, not merged.

… goes down

The engine creates a campaign on the SECOND message and shows nothing
below that, so the docs should say both plainly: a cluster of one is not
in the campaign list, not in the Overview count and not fetchable by id,
and min_members cannot be lowered past two.

Also states what member_count is, which the sweep-preview section
already leaned on without defining: the historical spread of the attack,
not a count of messages still in the 35-day index, and never
decremented.
@maximelb

maximelb commented Sep 6, 2026

Copy link
Copy Markdown
Contributor Author

/lc-review

@maximelb
maximelb merged commit 1d03bd6 into master Sep 7, 2026
7 checks passed
@maximelb
maximelb deleted the camp1-campaign-min-members branch September 7, 2026 01:52
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.

2 participants