Skip to content

feat(reconstruction): 5/7 Add ffi interface#1728

Draft
rkuris wants to merge 5 commits intomainfrom
rkuris/reconstructible-4
Draft

feat(reconstruction): 5/7 Add ffi interface#1728
rkuris wants to merge 5 commits intomainfrom
rkuris/reconstructible-4

Conversation

@rkuris
Copy link
Member

@rkuris rkuris commented Feb 27, 2026

Why this should be merged

  • Adds the Go FFI surface for reconstruction so Go callers can access the new reconstructed view and its lifecycle safely.
  • Introduces reconstructed handle semantics (drop/invalidated-after-reconstruct) consistent with the Rust API.
  • Adds coverage and benchmarks for reconstruction flows from Go to validate behavior and concurrency.

How this works

How this was tested

Breaking Changes

  • firewood
  • firewood-storage
  • firewood-ffi (C api)
  • firewood-go (Go api)
  • fwdctl

@rkuris rkuris changed the title Rkuris/reconstructible 4 feat(reconstruction): 4/4 Add ffi Feb 27, 2026
@rkuris rkuris force-pushed the rkuris/reconstructible-4 branch 3 times, most recently from f7bc047 to cc914d0 Compare March 2, 2026 02:16
@rkuris rkuris changed the title feat(reconstruction): 4/4 Add ffi feat(reconstruction): 4/5 Add ffi Mar 2, 2026
@rkuris rkuris force-pushed the rkuris/reconstructible-4 branch 4 times, most recently from cb1e11f to a4d4e83 Compare March 7, 2026 02:08
Basic API changes for reconstruction
@rkuris rkuris force-pushed the rkuris/reconstructible-4 branch from a4d4e83 to 003fdfd Compare March 7, 2026 02:15
rkuris added 2 commits March 6, 2026 19:38
Moves the parallel batch application logic (prepare/split/merge/post-process)
from create_proposal into a new public method apply_to_mutable. This enables
other code paths to reuse the parallel insertion logic without requiring a
Parentable nodestore or producing an ImmutableProposal.

No behavior change - create_proposal now delegates to apply_to_mutable.
@rkuris rkuris force-pushed the rkuris/reconstructible-4 branch from 003fdfd to b4c2d4f Compare March 7, 2026 03:38
@rkuris rkuris force-pushed the rkuris/reconstructible-4 branch from b4c2d4f to c3a7521 Compare March 7, 2026 04:42
@rkuris rkuris changed the title feat(reconstruction): 4/5 Add ffi feat(reconstruction): 5/7 Add ffi Mar 7, 2026
@rkuris rkuris self-assigned this Mar 7, 2026
@rkuris rkuris added DO NOT MERGE This PR is not meant to be merged in its current state enhancement New feature or request STACKED labels Mar 7, 2026
@rkuris rkuris changed the title feat(reconstruction): 5/7 Add ffi feat(reconstruction): 5/7 Add ffi interface Mar 7, 2026
@rkuris rkuris force-pushed the rkuris/reconstructible-4 branch 3 times, most recently from 91ef1da to 15b5189 Compare March 7, 2026 06:31
@rkuris rkuris force-pushed the rkuris/reconstructible-4 branch from 15b5189 to aa385c9 Compare March 7, 2026 06:40
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

DO NOT MERGE This PR is not meant to be merged in its current state enhancement New feature or request STACKED

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant