maintain-observability

par nvidia

Maintenir ou étendre les surfaces d’observabilité de NeMo Relay à travers ATIF, OpenTelemetry et OpenInference.

npx skills add https://github.com/nvidia/nemo-relay --skill maintain-observability

Maintain Observability Surfaces

Companion Guidance

Use karpathy-guidelines alongside this skill for implementation or review work. Keep changes scoped, surface assumptions, and define focused validation before editing.

Use this skill when changing event fields, exporter behavior, subscriber config, or binding parity for ATIF or the full, gen_ai, and openinference OpenTelemetry projections.

Surfaces To Keep In Sync

  • Core event model and emitted fields
  • crates/core/src/observability/atif.rs
  • crates/core/src/observability/otel.rs
  • crates/core/src/observability/openinference.rs
  • FFI and binding-native wrappers where the config or lifecycle is exposed
  • Python, Go, and Node.js config objects and subscriber/exporter methods
  • Observability config version 3, where one opentelemetry section contains typed endpoints and OpenInference has no standalone public surface
  • Docs under docs/about-nemo-relay/concepts/subscribers.mdx and docs/configure-plugins/observability/

Design Checklist

  • Is this an event-model change, exporter-config change, or lifecycle change?
  • Do all bindings expose the same logical knobs and semantics?
  • Does every OpenTelemetry endpoint require a type and nonblank destination?
  • Does each endpoint resolve header_env values at activation and reject missing, blank, or duplicate headers?
  • Do layered ATOF sink, ATIF storage, and OpenTelemetry endpoint lists concatenate with higher-precedence entries first?
  • Are OpenTelemetry and OpenInference dependencies unconditional rather than Cargo feature-gated?
  • Does gen_ai avoid nemo_relay.*, project sanitized LLM instructions and messages into the standard content attributes, and emit minimal spans for scopes without GenAI semantics so their parentage is preserved?
  • Does enable_full_payloads preserve complete sanitized LLM request input and annotations while leaving credential removal and sanitizers active?
  • Does Relay derive compliant trace and span IDs consistently across typed OpenTelemetry endpoints while preserving lifecycle parentage?
  • Are mark events, start/end events, and orphan cases still handled correctly?
  • Does a sanitized tool result annotation remain opaque under category_profile.tool_result_annotation, ATIF observation-result extra.tool_result_annotation, and the single nemo_relay.tool.result.annotation attribute in full and openinference, while gen_ai omits it?
  • Do examples and docs use each exporter's documented flush/deregister order before shutdown?
  • Are span or trajectory fields still derived from the intended event data?

Validation

  • Run the affected Rust crate tests plus just test-rust if event fields changed.
  • Run just test-python, just test-go, and just test-node when binding-native config or lifecycle changed.
  • Update docs and examples in the same branch.

References

  • docs/about-nemo-relay/concepts/subscribers.mdx
  • docs/configure-plugins/observability/about.mdx
  • docs/configure-plugins/observability/opentelemetry.mdx
  • crates/core/src/observability/atif.rs
  • crates/core/src/observability/otel.rs
  • crates/core/src/observability/openinference.rs
  • validate-change

Plus de skills de nvidia

compileiq-debug
nvidia
Utilisez quand quelque chose ne va pas : Search() bloque, toutes les évaluations retournent INVALID_SCORE, les scores ne s'améliorent pas, chaque configuration retourne le même nombre, erreurs ptxas…
create-github-pr
nvidia
Créer des pull requests GitHub en utilisant l'interface en ligne de commande gh. Utiliser lorsque l'utilisateur souhaite créer une nouvelle PR, soumettre du code pour révision, ou ouvrir une pull request. Mots-clés de déclenchement -…
nemoclaw-maintainer-cross-issue-sweep
nvidia
Analyse les autres problèmes ouverts pour trouver ceux qu’une PR donnée pourrait également corriger ou casser accidentellement. Génère des opportunités de correctifs adjacents et des risques de contradiction avec fichier:ligne…
fhir-basics
nvidia
Apprend aux agents comment fonctionnent les API FHIR R4, quelles ressources sont disponibles, comment les interroger avec des paramètres de recherche, et comment analyser correctement tous les formats de réponse…
compileiq-validate-result
nvidia
Utiliser APRÈS qu'une recherche soit terminée et AVANT de réclamer un accélérateur ou d'expédier un ACF. Charge le CSV dump_results, extrait les K meilleurs candidats (mono-objectif)…
changelog-audit
nvidia
Auditer le CHANGELOG.md de Warp avant une publication : récupérer les entrées perdues, trier par impact utilisateur, affiner le langage des entrées, ajuster les retours à la ligne et (en mode branche de publication) mettre à jour la comparaison…
maintain-dynamic-plugins
nvidia
Maintenir les chargeurs de plugins dynamiques NeMo Relay, les manifestes, les SDK natifs Rust, le protocole worker gRPC, le SDK worker Python, la documentation, les tests et la couverture du workflow de publication
dgx-diagnose
nvidia
Diagnostiquer les problèmes courants du DGX Station GB300 — plantages CUDA, ciblage incorrect du GPU, bugs de conteneur vLLM/SGLang, problèmes d'état MIG, erreurs NVLink/Fabric Manager,…