test-ffi-surface

par nvidia

Construire et tester la surface FFI de NeMo Relay ; utilisez ceci pour les modifications de crates/ffi, la génération d'en-têtes ou la validation orientée ABI.

npx skills add https://github.com/nvidia/nemo-relay --skill test-ffi-surface

Build And Test FFI Surface

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 the change is primarily in crates/ffi, the generated header, or ABI-facing behavior consumed by Go or external native callers.

Default Path

  1. Rebuild the FFI crate in release mode so the shared library and header stay in sync.
  2. Run cargo fmt --all because FFI work is Rust work.
  3. Run just test-rust.
  4. Run cargo clippy --workspace --all-targets -- -D warnings.
  5. Check the generated header diff when any exported symbol or type changed.
  6. If downstream consumers changed too, run their binding-specific skills next.

Common Commands

# Rebuild the shared library with the repo wrapper used by FFI consumers
just build-go

# Required Rust validation
cargo fmt --all
just test-rust
cargo test -p nemo-relay-ffi
cargo clippy --workspace --all-targets -- -D warnings

# Review header drift if the FFI surface changed
git diff -- crates/ffi/nemo_relay.h

When To Escalate

  • If Go behavior changed, also use test-go-binding.
  • If the FFI change reflects shared runtime semantics rather than a pure bridge change, also use validate-change.

References

  • crates/ffi/Cargo.toml
  • crates/ffi/build.rs
  • crates/ffi/cbindgen.toml
  • crates/ffi/nemo_relay.h
  • just build-go
  • .pre-commit-config.yaml
  • README.md
  • 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,…