BE-3541 Single Error Emission
The single-emission migration, previously the top-ranked deferral of BE-3482 Datadog Logs and APM Conformance: flow-step failures are emitted exactly ONCE at the step boundary, with HttpContext carried on the error instead of a second at-site log line. MERGED into develop via MR !571 (squash d1cf9c75 “refactor: emit step errors once by removing the logged-at-site path”, merge commit 1c4c33a5; verified against git 2026-07-22).
For Agents
Since !571,
ErrorWithStepStatus.logged_at_siteand thelogged()constructor are GONE. Always construct withnew/messageand nevererror!-log at the detection site; the step boundary emits the single ERROR line. The AGENTS.md section 6.3 “in-flight BE-3541” note is now landed behavior.
What changed
- One ERROR emission per step failure, at the step boundary.
ErrorWithStepStatus.logged_at_siteflag andlogged()constructor removed;new/messageare the only constructors.HttpContextrides the error to the boundary, sohttp.*fields survive without at-site logging.
What it closes
- BE-3482 deferral 1 (“biggest win” in the ranked list).
- The known limit recorded in Continuation: error.fingerprint activity component (2026-07-13, MR !569 open): at-site-logged variants (e.g.
VolueEmsError::ApiError) used to reach the boundary as WARN with no fingerprint at all. With single emission, fingerprint andhttp.*are emitted for those paths too.
Downstream
- BE-3656 APM Span Enrichment was originally stacked on the pre-merge BE-3541 head
dee24ad3; after !571 merged, its MR !578 was rebased zero-conflict onto the post-!571 develop1c4c33a5. - Part of the dev throwaway build
1.16.1-feat.2682437891.b7d15e2c(see Dev prototype verification (build b7d15e2c)). - develop moved on to
e2ff6b79afterwards via the unrelated BE-3685 merge (“feat: generate data point constants and simplify domain generation”).
Related
- BE-3482 Datadog Logs and APM Conformance - the conformance program; this was its deferral 1
- BE-3656 APM Span Enrichment - stacked on this work, now MR !578
- BE-3657 error_stack Adoption - next stage of the error-handling train
- BE-3117 Per-Flow Error Context Store - error-handling redesign lineage
- Agent Context