Protocolosplugin-abi (C ABI, target)

plugin-abi (C ABI, target)

Spec canónica de protocols/plugin-abi/README.md, copiada sin reescribir.

EspecificadoNo implementado· generada desde protocols/plugin-abi/README.md

Página generada desde protocols/plugin-abi/README.md. No se edita a mano: bun run docs:gen la regenera y bun run docs:check falla si difiere.

protocols/plugin-abi

ABI C versionada para plugins nativos.

TARGET. No implementar hasta definir trust model y lifecycle.

Debe definir

  • ABI version;
  • ownership de memoria;
  • allocation/free;
  • threading;
  • cancellation;
  • capabilities;
  • error codes;
  • crash isolation expectations;
  • compatibility.

Prohibido

  • Pasar structs Zig internos directamente.
  • Callbacks sin lifetime explícito.
  • Ejecutar plugins untrusted in-process.

Audit checklist

  • El contenido real coincide con el ownership descrito.
  • No hay imports desde apps/* hacia packages compartidos.
  • No contiene bytes multimedia atravesando Bun, NATS o JSON.
  • Los contratos públicos están versionados y tienen fixtures.
  • Los errores públicos usan códigos estables.
  • La observabilidad propaga traceparent, correlation y causation.
  • No existen capas o archivos placeholder sin responsabilidad real.
  • Las decisiones frontier están detrás de adapters/policies, no hardcodeadas.