35 lines
1.5 KiB
YAML
35 lines
1.5 KiB
YAML
# Fixture 6 (noise_floor) — see development/CAMPAIGN_CLUSTERING.md §2.
|
|
#
|
|
# Composite of all five prior fixtures plus N additional Delivery-only
|
|
# noise scanners. Tests that the clusterer holds every campaign
|
|
# together AND keeps every noise observation as its own singleton
|
|
# in the presence of cross-fixture interference.
|
|
#
|
|
# This is a CONTROL fixture: if any of the five constituent fixtures
|
|
# regresses inside the combined corpus but passes individually, the
|
|
# regression is in cross-corpus interaction (signal collisions,
|
|
# clusterer ambiguity, factory ID re-use, …). Catches a class of bugs
|
|
# that single-corpus fixtures cannot.
|
|
#
|
|
# Composition is expressed by listing the constituent fixtures here;
|
|
# the test file's loader expands this into a full `corpus.campaigns`
|
|
# spec at load time so the factory itself stays unaware. This format
|
|
# is fixture-6-specific — no other fixture uses ``include_fixtures``.
|
|
#
|
|
# Pass condition: ``composite_signals_clusterer`` (fingerprint OR C2
|
|
# union-find — see fixture_harness.py) resolves every campaign and
|
|
# leaves every noise scanner singleton. The bounds in
|
|
# ``noise_floor.expected.yaml`` are global across the merged corpus.
|
|
#
|
|
# No standalone adversarial test for fixture 6 — each constituent
|
|
# fixture already ships its own. What this fixture catches is
|
|
# CROSS-fixture interference, which is a different failure mode from
|
|
# the in-fixture adversarial cases.
|
|
include_fixtures:
|
|
- shared_wordlist.yaml
|
|
- vpn_hopping.yaml
|
|
- lone_wolf.yaml
|
|
- paused_campaign.yaml
|
|
- multi_operator.yaml
|
|
extra_noise_scanners: 10
|