Skip to content

Replace Fastly raw ABI bridges with equivalent safe SDK APIs #471

Open

Description

@aram356

Description

Track review item 10 in #275 (review): replace the narrowly scoped Fastly raw ABI bridges when the safe SDK can preserve their required behavior.

Current bridges include status-returning response commit/header/body operations in fastly_response_abi.rs and error-preserving readiness/borrowed-handle operations in outbound.rs/progress.rs. They use the audited exact fastly/fastly-sys/fastly-shared 0.13.1 tuple. Each unsafe operation must retain its explicit safety rationale and ownership invariants while it exists. This tracking issue is not new approval of unsafe code, a runtime/SDK repin, or hosted qualification.

Done When

  • Inventory every raw operation and identify the equivalent safe SDK API or a specific missing upstream primitive. Distinguish nonblocking readiness from a blocking read and preserve host error status.
  • Verify the candidate SDK/runtime tuple, including repeated headers, strict body suppression, manual framing only for transmitted content, commit status, exactly-once close/abandon, cancellation and source release.
  • Preserve original logical deadlines, observation cutoffs, indexed batch outcomes, B31 backend identity, all byte/decoder limits and the direct native Image Optimizer path. No compatibility transport or wrapper may hide a missing SDK contract.
  • Hard-migrate all affected calls and delete the superseded raw bridge code and unused dependencies in the same implementation.
  • Run source-audit, unit, guest/runtime and prescribed integration checks; retain failing evidence and keep hosted guarantees unqualified until their required probes pass.

Affected Area

Adapter -- Fastly; CI / Tooling; Documentation.

Coordination

Related dependency refresh: #467. That issue upgrades a shared dependency tuple; this task specifically tracks the conditions for eliminating the raw bridges, which must not be declared removed merely because an SDK version changed. No deployment or automatic capability promotion is authorized.

Activity

  1. self-assigned this
    on Nov 12, 2026
  2. added theissue type on Nov 12, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

Labels

No labels
No labels

Type

Projects

No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions