doc: update policy/packages.md for new package acceptance logic
What changed, and why it matters
This commit only updates documentation in a Markdown file describing how Bitcoin Core accepts groups (packages) of transactions. It removes outdated descriptions of ancestor/descendant limit checks and CPFP Carve Out behavior, and updates the package replacement rule wording. No code, logic, or behavior changes are present in the diff.
No security action needed; treat as routine documentation maintenance.
Security signals we found
No strong security signals were identified.
Evidence from the diff
The diff is limited to doc/policy/packages.md. It deletes two bullet points about ancestor/descendant limit evaluation and CPFP Carve Out in packaged contexts, and rewords the package RBF cluster-size rule from ‘all conflicting clusters must be size up to 2’ to ‘no more than 100 distinct clusters containing conflicting transactions’. These are documentation-only edits reflecting prior code changes; no implementation is modified.
Changed components
doc/policy/packages.mdInspect captured patch +1 / −15
diff --git a/doc/policy/packages.md b/doc/policy/packages.md
index 7522a984..4795f715 100644
--- a/doc/policy/packages.md
+++ b/doc/policy/packages.md
@@ -38,9 +38,7 @@ The following rules are enforced for all packages:
- Packages are 1-parent-1-child, with no in-mempool ancestors of the package.
- - All conflicting clusters (connected components of mempool transactions) must be clusters of up to size 2.
-
- - No more than MAX_REPLACEMENT_CANDIDATES transactions can be replaced, analogous to
+ - The number of distinct clusters containing conflicting transactions can be no more than 100, analogous to
regular [replacement rule](./mempool-replacements.md) 5).
- Replacements must pay more total fees at the incremental relay fee (analogous to
@@ -56,18 +54,6 @@ The following rules are enforced for all packages:
result in more robust fee bumping. More general package RBF may be
enabled in the future.
-* When packages are evaluated against ancestor/descendant limits, the union of all transactions'
- descendants and ancestors is considered. (#21800)
-
- - *Rationale*: This is essentially a "worst case" heuristic intended for packages that are
- heavily connected, i.e. some transaction in the package is the ancestor or descendant of all
- the other transactions.
-
-* [CPFP Carve Out](./mempool-limits.md#CPFP-Carve-Out) is disabled in packaged contexts. (#21800)
-
- - *Rationale*: This carve out cannot be accurately applied when there are multiple transactions'
- ancestors and descendants being considered at the same time.
-
The following rules are only enforced for packages to be submitted to the mempool (not
enforced for test accepts):
Why this scored 15/100
Community notes
Notes can correct, qualify, or add evidence to the AI analysis. Every note shown here has been validated by a human moderator.
The AI analysis stands alone for now. Submit a note if you can add evidence or important context.