noCV
SFFI-108 · Prove recovery and handoff

Compare native output against the compatibility oracle

Practice briefChoreAdvanced

The native path is faster but emits archives the existing decompressor accepts differently around empty blocks.

Focused work estimate
4h + prerequisites
Priority in the scenario
High
Engineering practice
Differential testing · Compatibility

Estimated field mix

  • Systems programming70%
  • Quality engineering30%

Field percentages are editorial estimates of the ticket's engineering focus. They total 100%; they are not measured time, proficiency scores, or ownership evidence.

Your next step

Review it, then add it to your workspace.

The board opens an editable draft; nothing is saved until you confirm it. Sign-in and workspace permissions apply, and Demo boards remain ephemeral.

Project context

A fictional desktop backup tool calls a small Rust compression library from Node.js. The binding leaks buffers on exceptions and treats ABI mismatches as corrupted input. Build against generated byte arrays and a local native library; no production archive format or user files are supplied.

Setup prerequisites

  • FFI ownership
  • Binary compatibility
  • Error handling

Preceding work

Complete these dependencies, or supply their agreed outputs before taking this ticket.

Acceptance criteria

  • Golden corpus defines byte compatibility or declared semantic compatibility
  • Both providers round-trip every supported case
  • Differences are classified before rollout

Implementation constraints

  • Use generated non-sensitive bytes and pin provider versions in the report.

Verification to include

  • Compare providers across corpus sizes and option combinations.
  • Inject a one-byte divergence and show the gate blocks promotion.

Deliverables

  • Differential harness and compatibility report

Rollout and recovery

Canary only corpus classes with reconciled outputs.

Value of the work

For the engineer: Practice language-boundary contracts, native resource safety and version negotiation.

For the team: Review a binding that fails safely and can be rolled back before native code enters additional application paths.

Evidence boundaries

Outcome Evidence: Tests, patches, and runbooks are requested deliverables. They become Outcome Evidence only through a qualified Mission and immutable Evidence IDs.

Ownership Evidence: Independent adaptation must be observed under a declared verification policy and cite immutable Evidence IDs. Completing a planning ticket establishes no Ownership Evidence.