fix(natsmsg): forward caller span attrs; correct messaging.operation.name
Commit

Address two P2 review findings on the publish seam:
-
Preserve caller-owned span attributes. Publisher/LegacyPublisher.Publish now take variadic attrs ...attribute.KeyValue, forwarded to the internally owned producer span via StartProducerSpan alongside the standard messaging.* set. Without this, Phase 3 replacements of mirror-pipeline natspub / entiredb publishers would lose their placement and job-identity span tags.
-
Stop storing the application span name in messaging.operation.name. The pinned OTel convention (semconv v1.41.0) reserves that field for the system-specific operation (send/ack/nack), so recording "repo.ops.publish" there was wrong. The caller's Operation value is now the span name only; messaging.operation.type=publish continues to record the operation (matching the production implementations being replaced, which set no operation.name).
Parity test now forwards domain attrs and asserts they land on the span while messaging.operation.name stays unset.
Co-Authored-By: Claude Opus 4.8 (1M context) noreply@anthropic.com Claude-Session: https://claude.ai/code/session_014AwxtNg8JzfS82AiMEYnfM Entire-Checkpoint: 3087f9932a47