Skip to content

query: merge_outs no-op keeps outs Arc (Q-M3) - #263

Merged
reardencode merged 2 commits into
masterfrom
query/merge-outs-noop-arc
Aug 26, 2026
Merged

query: merge_outs no-op keeps outs Arc (Q-M3)#263
reardencode merged 2 commits into
masterfrom
query/merge-outs-noop-arc

Conversation

@rearden-grok

@rearden-grok rearden-grok Bot commented Aug 26, 2026

Copy link
Copy Markdown
Contributor

Summary

merge_outs no longer publishes a new pin-outs Arc on empty / already-covered checked+live (assemble sticky ptr_eq). Occupied insert with empty checked still widens when live has new vouts. RCU compose borrows live instead of cloning script bytes on every retry.

Closes algo-review Q-M3.

Test plan

  • cargo test -p rbitcoin-query --lib batch_parents::

rbitcoin-grok added 2 commits August 25, 2026 20:03
Empty checked forced compose (covers_need([]) is true) so Occupied
insert with new live and empty checked never widened, and an RCU
retry of an already-covered empty-checked merge published a new Arc.
already_covers is the one predicate for merge_outs and Occupied insert.
RCU retries cloned the incoming OutputRecords (script bytes) on every
compose attempt. compose takes a slice; only the winning half copies
new records. Closes algo-review Q-M3.
@reardencode
reardencode merged commit 153e696 into master Aug 26, 2026
13 checks passed
@rearden-grok
rearden-grok Bot deleted the query/merge-outs-noop-arc branch August 26, 2026 03:18
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant