Skip to content

C API: follow-ups from the FFI audit (ABI version, options handle, last-error, handled-error entry point) #39

Open

Description

@krassx

The C API audit (docs/ffi-audit.md, #21) produced a prioritised change list; the generated-header ABI gate is in place but these items are still open:

  1. An ABI/version query so hosts can check compatibility at load time.
  2. A launch options handle (data directory, native-crash capture on/off, scrubbing, rate limiting, release health, launch-recovery budget, flush-at-exit) instead of the current endpoint-only variant. The data directory is the blocker for mobile hosts.
  3. A last-error retrieval entry point (thread-local message for the most recent non-OK status).
  4. A handled-error entry point that accepts host-supplied frames (the existing exception call is a lossy message capture with a Rust backtrace).
  5. Expose shutdown, the opt-in termination flush (feat: defined shutdown/flush contract and opt-in SIGTERM/SIGINT flush (#8) #31) and a storage-status / degraded-state accessor (feat: defined data-directory fallbacks and in-memory mode for read-only/ephemeral file systems (#9) #24).
  6. Header documentation pass: the generated # Safety text states the Rust unsafety rule for string pointers, not the success-path nullability rules documented in the audit.

Freeze the surface only after these land.

🤖 Generated with Claude Code

Activity

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions