NetScript telemetry convention

This convention is the TC-1..TC-14 checklist used to grade NetScript package and plugin telemetry. It is the contract for the beta.5 telemetry revamp; follow-on parity issues raise each package to this checklist without redefining the rules.

Semantic-convention opt-in

NetScript instrumentation sets and documents the OpenTelemetry opt-in value:

OTEL_SEMCONV_STABILITY_OPT_IN=messaging,rpc,gen_ai_latest_experimental

Use OpenTelemetry semantic-convention attribute keys verbatim when a domain exists. NetScript-owned attributes use the single proprietary root netscript.*. The beta.5 migration emits duplicate deprecated aliases for one beta under the dup window, then the bare aliases are removed.

Messaging spans use the current OpenTelemetry messaging registry for upstream concepts: messaging.system, messaging.destination.name, messaging.operation.name, messaging.operation.type, messaging.message.id, messaging.message.conversation_id, messaging.message.body.size, and messaging.message.envelope.size. NetScript queue concepts that do not exist in the upstream registry live under netscript.messaging.*, including netscript.messaging.destination.kind, netscript.messaging.message.delivery_count, netscript.messaging.message.priority, netscript.messaging.message.delay_ms, netscript.messaging.destination.dlq, and netscript.messaging.requeue.

The cross-domain correlation floor is netscript.correlation.id. Builders that receive a correlation input emit that key, and messaging builders also map the same value to the upstream conversation key messaging.message.conversation_id.

Checklist

Attribute builders

Use @netscript/telemetry/attributes builders instead of hand-typed keys:

During beta.5, builders emit canonical netscript.* keys plus deprecated bare aliases where the old surface already shipped. New code should read and assert the canonical key.