feat(clustering): campaign-level similarity primitives
The signal taxonomy for the campaign clusterer (next commit). Mirror of the identity-layer module but with edge families that don't translate 1:1: phase-handoff (load-bearing for F5 multi_operator — the signal the identity-side fingerprint-disagreement veto deliberately isn't), shared-infra (vetoed at identity level, primary positive signal here), temporal-overlap (pairwise-relative — F7 invariance preserved), cohort (weak supporting weight only). Tier weights tuned so phase-handoff alone crosses threshold (F5), shared-infra + temporal-overlap together cross (canonical co-op pattern), and shared-infra + cohort together do NOT (F1 shared_wordlist's failure mode). The F7 time-shift invariant is explicitly tested on every time-bearing edge and on the combined weight.
This commit is contained in:
5
decnet/clustering/campaign/__init__.py
Normal file
5
decnet/clustering/campaign/__init__.py
Normal file
@@ -0,0 +1,5 @@
|
||||
"""Campaign clusterer — groups resolved identities into operations.
|
||||
|
||||
The layer above identity resolution. See
|
||||
``development/CAMPAIGN_CLUSTERING.md`` for the signal taxonomy.
|
||||
"""
|
||||
Reference in New Issue
Block a user