Composite study

This is a product-class write-up, not a named-client story and not a results press release. Counts below describe the pack we actually write (approach points, tools, layers) — not invented bug totals or conversion lifts.

4
Approach points
4
Tools in the pack
4
Layers covered
3
Challenges documented

Overview

Block hid posts in the main feed. The “help me reply” tool retrieved the blocked user’s last comment as context.

Viral fan-out plus generative replies melted the write path; the read path stayed up, but suggested replies posted twice.

Industry pattern this is grounded in

Block/report is a safety feature. If an AI path bypasses it, you have a regression even if the rest of the app is correct.

Highlights

Typical launch bar: Block until pass rules hold on the money, identity, or safety path.

Challenges

01

Recommendation embeddings were trained without a block graph.

02

Group chats had different block semantics than DMs; the model used one rule for both.

03

Report queue SLA was not tested because it was “ops,” not “AI.”

How we tested

01

Block/report matrix including AI context, notifications, and search.

02

Default private vs public as designed.

03

Idempotent post of AI-suggested replies.

04

Separate read/write SLOs under viral load.

Starting point vs what we required

Starting point versus the controls we required
Starting pointWhat we required
Recommendation embeddings were trained without a block graph.Block/report matrix including AI context, notifications, and search.
Group chats had different block semantics than DMs; the model used one rule for both.Default private vs public as designed.
Report queue SLA was not tested because it was “ops,” not “AI.”Idempotent post of AI-suggested replies.

What we delivered

01

Journeys / UI

  • Playwright — Block, report, AI reply
02

API / contract

  • Postman — Block graph on retrieve API
03

Load / soak

  • k6 — Viral read vs write
04

Adversarial evals

  • Promptfoo — Bypass prompts to mention blocked users

Outcomes

Retrieval filters included the block graph. Double-post of suggested replies was an e2e fail. Report queue got a Playwright path in the same pack.

k6 on viral fan-out with a correctness check that blocked authors never appear in AI context.

Stack

Testing stack used on this product class
LayerToolWhat we validated
Journeys / UIPlaywrightBlock, report, AI reply
API / contractPostmanBlock graph on retrieve API
Load / soakk6Viral read vs write
Adversarial evalsPromptfooBypass prompts to mention blocked users

Same method as the rest of our work: severity-ranked findings, pass rules in writing, and a ship / wait / block call. See the evaluation method and tool comparison.