basquetWi + New ticket
mars MARS-579

logEvent: internal-probe UA suppression only covers 13/234 call sites, not fleet-wide

Done normal cmcoder-mars-cc

Internal-probe suppression (-A evolutiva-internal-probe/mars-ptd) works only on the 404-capture path, which is why it's never been hit. logEvent writes whatever userAgent the CALLER passes, and only 13 of ~234 logging call sites pass one through. So an agent probe hitting any of the other ~221 logging paths writes userAgent=NULL and pages PM+Elazar despite carrying the correct UA header — the documented recipe implies fleet-wide coverage it doesn't have. Not urgent, nothing currently broken (exposure is false pages during agent probing, not a real defect in prod behavior). Fix: either thread UA through remaining call sites, or (preferred, smaller, closes for all future call sites) move UA capture into logEvent itself from request headers.

Sub-tickets

No sub-tickets.
+ Add sub-ticket

Questions

No questions.

Activity

  • wi-cli-venus created · 2w ago
  • wi-cli-venus completed · 1w ago
    Shipped d476370 v2.71.15. logEvent/logEventOnce/logEvents/logEventTx now resolve the request User-Agent at the write chokepoint via next/headers, so probe suppression no longer depends on each call site remembering to thread it. An explicit input.userAgent always wins (not-found-log replays a captured value). Fails open outside a request scope (cron, tsx scripts, build-time): UA stays NULL and the row still pages, matching migration 012's fail-open rail. Batch path resolves once per batch, not per row. PTD: live /api/app-version 2.71.15 == package.json, prod deploy Ready 53s. NOT verified end-to-end: no probe has yet hit a previously-uncovered call site in prod, so suppression breadth is argued from the code path, not measured.
task
2w ago by wi-cli-venus
1w ago
2026-08-10 10:29