JS PR getlago/lago-agent-sdk-js#46 introduced granular where labels and documents them in the README: adapter.<provider> (response unparseable — nothing billed), wrapper.<provider> (interception failed), shutdown_drain (exit-drain loss). Python still reports "emit" at all 14 wrapper sites and the default "send_batch" from the exit drain, so a drifted adapter is indistinguishable from an emit failure — and the README's "alert on adapter.*" advice only works on the JS port.
Port the same labels:
- each wrapper's extract/emit
except → adapter.<provider> (adapter.bedrock_converse / adapter.bedrock_invoke on the split Bedrock paths)
- interception-failure sites →
wrapper.<provider>
- exit drain →
shutdown_drain
Mirror the README error-policy table too.
JS PR getlago/lago-agent-sdk-js#46 introduced granular
wherelabels and documents them in the README:adapter.<provider>(response unparseable — nothing billed),wrapper.<provider>(interception failed),shutdown_drain(exit-drain loss). Python still reports"emit"at all 14 wrapper sites and the default"send_batch"from the exit drain, so a drifted adapter is indistinguishable from an emit failure — and the README's "alert onadapter.*" advice only works on the JS port.Port the same labels:
except→adapter.<provider>(adapter.bedrock_converse/adapter.bedrock_invokeon the split Bedrock paths)wrapper.<provider>shutdown_drainMirror the README error-policy table too.