You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
{{ message }}
Repository navigation
Replace Fastly raw ABI bridges with equivalent safe SDK APIs #471
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