Cybersecurity-Projects/PROJECTS/intermediate
CarterPerez-dev 8713712bf9 feat(nadezhda): M4 ranking + digest + Markdown/JSON export
Turn the aggregated store into a ranked, exportable digest of story clusters.

- internal/rank: pure deterministic Score(Signals, cfg.Rank) — recency
  (exp half-life decay), cvss/10, kev, epss, velocity (cluster size/age), source
  weight, watchlist keyword. Every signal clamped to [0,1]; all weights +
  half_life + velocity_norm from config, no literals. recency/velocity are total
  (guard half_life<1 and norm<=0). Rank() scores each cluster and stable-sorts
  desc, tiebreak freshest. Research 06's two worked examples are the golden-order
  test (A ~0.99 strictly above B ~0.13).
- internal/export: per-cluster (story) digest. Headline = freshest member, distinct
  sorted outlets, CVEs sorted KEV-first then CVSS. Markdown + deterministic JSON.
- store.DigestClusters: 3-query per-cluster aggregation (clusters by since, member
  articles, union of CVE signals) with explicit ORDER BY; per-cluster CVE dedup
  via SELECT DISTINCT.
- digest command: --top/--since/--format md|json/--out. Off the stub list.
- Proven live: scrape -> digest --format md and json render correctly, per-cluster
  (FortiBleed shows 3 outlets). Suite offline + -race.

One read-only audit agent; 0 Crit/High/Med, golden-order math verified; Low/Nit
fixed in-phase (top<=0 count, pure-fn guards, ORDER BY, headline sanitize, 2-cluster
attach test).

Digest ranks per-cluster (Carter's choice), not per-article.
2026-07-05 18:42:57 -04:00
..
api-security-scanner chore(deps): bump pydantic-settings 2026-06-20 01:35:21 +00:00
binary-analysis-tool Merge pull request #286 from CarterPerez-dev/project/ja3-ja4-tls-fingerprinting 2026-06-18 19:38:51 -04:00
credential-enumeration fix(credential-enumeration): rename .nimble to credenum.nimble 2026-04-29 01:23:40 -04:00
credential-rotation-enforcer feat(cre): one-shot curl|bash installer for credential-rotation-enforcer 2026-06-18 23:24:30 -04:00
dlp-scanner chore(deps): bump lxml in /PROJECTS/intermediate/dlp-scanner 2026-04-21 23:13:03 +00:00
docker-security-audit chore(deps): bump go.opentelemetry.io/otel/exporters/otlp/otlptrace/otlptracehttp 2026-04-08 20:02:55 +00:00
ja3-ja4-tls-fingerprinting feat(tlsfp): add social-share OG image and one-command tunnel redeploy 2026-06-18 23:24:30 -04:00
sbom-generator-vulnerability-matcher cracked 2026-05-23 05:01:01 -04:00
secrets-scanner chore(deps): bump golang.org/x/net 2026-07-03 17:47:33 +00:00
security-news-scraper feat(nadezhda): M4 ranking + digest + Markdown/JSON export 2026-07-05 18:42:57 -04:00
siem-dashboard chore(deps): bump axios 2026-05-29 16:25:57 +00:00