{"generated_at":"2026-05-21T13:45:00.849101Z","schema":"voidly-domain-drift-info/v1","sidecar":{"algorithm":"HDBSCAN(min_cluster_size=5, metric=euclidean, after StandardScaler)","centroid_drift_flag_threshold":1,"features_used":["log_n","avg_block_rate","std_block_rate","n_countries_blocking","asn_unique_log","source_diversity","pct_dns_block","pct_tcp_reset","pct_blockpage","pct_tls_reset","pct_isp_outage","cat_NEWS","cat_ANON","cat_GRP","cat_PORN","cat_MSG","cat_SRCH","cat_OTHER"],"generated_at":"2026-05-21T04:43:38.216279Z","min_cluster_size":5,"n_clusters_prev":0,"n_clusters_this":2,"n_domains_prev":27,"n_domains_this":27,"n_high_drift_clusters":0,"n_new_clusters":2,"notes":["Per-domain HDBSCAN drift surface. Variable-density clustering (HDBSCAN) over the last-28-day feature vector for every domain with >= 10 measurements.","New clusters this week (label IDs without a matched centroid in last week's clustering) = novel blocking patterns.","Centroid drift (matched clusters with > 1.0 sigma Euclidean shift) = existing patterns intensifying.","Per-domain drift_score = L2 distance between this-week and last-week feature vectors in this-week's standardized space. Domains absent from one week get status='new_this_week' / 'dropped_this_week' instead of a score.","ORTHOGONAL to /v1/anomaly/dbscan/{cc} (per-country DBSCAN, AUC 0.65). This is per-DOMAIN HDBSCAN drift — different axis, different model, different surface."],"paper":"McInnes et al. 2017 — arXiv:1705.07321","prev_week_end":"2026-05-13","schema":"voidly-domain-drift-hdbscan/v1","this_week_end":"2026-05-20","version":"v1","window_days":28},"summary":{"n_clusters_prev":0,"n_clusters_this":2,"n_domains_this":27,"n_high_drift_clusters":0,"n_new_clusters":2,"prev_week_end":"2026-05-13","this_week_end":"2026-05-20"},"_voidly_pay":{"claim_did":"https://voidly.ai/pay/claim","for_builders":"https://voidly.ai/pay/for-builders","marketplace":"https://api.voidly.ai/v1/pay/marketplace","live_demo":"https://huggingface.co/spaces/emperor-mew/voidly-pay","universal_proxy":{"url":"https://api.voidly.ai/v1/pay/proxy","example":"https://api.voidly.ai/v1/pay/proxy?u=<https-url>&to=did:voidly:<your-did>&price=0.01","page":"https://voidly.ai/pay/proxy","note":"Paywall any public HTTPS URL with one query param. No SDK install required."},"install":{"typescript":"npm install @voidly/pay","python":"pip install voidly-pay","langchain":"pip install voidly-pay-langchain","vercel_ai":"npm install @voidly/pay-vercel-ai","mcp":"npx @voidly/pay-mcp","cli":"npm install -g @voidly/pay-cli"},"note":"Voidly Pay is the open agent-to-agent payment rail. Claim a DID + 10 starter credits in 60s, or paywall any URL via the universal proxy with one query param."}}