ralphReview statistics

← All agents

adversarial_claude

claude-opus-5-5

Accepted findings
474
264 unique; 210 shared
Completion
96.0%
225 executed runs; skipped excluded
Request records
4,622
Includes reruns and retries
Input tokens
522,046,171 (partial)

Candidate findings

Candidate rows can merge into one accepted finding. Publish is the verifier decision; accepted attribution is recorded separately.

PRFindingVerifier decisionAttributionReport
#34778`-loglevelalways` omits the category on Info, Warning, and Error linessrc/logging.cpp:359adversarial_claude:1publishAccepted, sharedreport
#34778Disabled Debug and Trace calls acquire the logger mutexsrc/logging.cpp:625adversarial_claude:2publishAccepted, sharedreport
#34778Argument-evaluation test never enables the categorysrc/test/logging_tests.cpp:592adversarial_claude:3publishAccepted, solereport
#34778Developer notes do not explain how to pass `ratelimit = false`doc/developer-notes.md:818adversarial_claude:4publishAccepted, solereport
#29409UnstableChain.isRBFOptIn with no tx set aborts bitcoin-node via an assert in the IPC layersrc/ipc/capnp/chain.capnp:68adversarial_claude:1unresolvedNot acceptedreport
#29409An IPC-registered RPC handler can be removed while RPC execution is using itsrc/ipc/capnp/chain.cpp:186adversarial_claude:2publishAccepted, solereport
#29409The generated C++ `makeChain()` bypasses the unstable-interface version checksrc/ipc/capnp/init.capnp:31adversarial_claude:3publishAccepted, solereport
#29409Remote callbacks block node-wide locks during IPC callssrc/ipc/capnp/chain.capnp:103adversarial_claude:4publishAccepted, solereport
#29409Remote callbacks block node-wide locks during IPC callssrc/ipc/capnp/chain.capnp:103adversarial_claude:5publishAccepted, solereport
#29409The broad C++23 warning suppression is added whenever supportedCMakeLists.txt:521adversarial_claude:6publishAccepted, solereport
#36437Honest peer always has NodeId 0, so the new lowest-NodeId hand-over always goes straight to itsrc/test/fuzz/p2p_1p1c_liveness.cpp:297adversarial_claude:1dropNot acceptedreport
#36343analyzepsbt reports a finalizer role for inputs that cannot be finalizedsrc/psbt.cpp:814adversarial_claude:1publishAccepted, solereport
#36343The new comment misstates how SignPSBTInput handles final fieldssrc/psbt.cpp:812adversarial_claude:2publishAccepted, solereport
#36167The `-Wunused` flag adds no diagnostics beyond the effective `-Wunused-parameter` changeCMakeLists.txt:483adversarial_claude:1publishAccepted, solereport
#36167Dead parameters in internal functions are silenced instead of removedsrc/init.cpp:909adversarial_claude:2publishAccepted, solereport
#36167The leveldb subtree edits have no linked upstream pathsrc/leveldb/db/db_impl.cc:1062adversarial_claude:3publishAccepted, sharedreport
#36167RPC argument parsing changes the accepted `maxtries` and `psbt_version` rangessrc/rpc/mining.cpp:317adversarial_claude:4publishAccepted, sharedreport
#36167The alias test does not check that `Arg` rejects the legacy namesrc/test/rpc_tests.cpp:650adversarial_claude:5publishAccepted, solereport
#36167Unnamed same-typed callback arguments obscure their meaningsrc/kernel/bitcoinkernel_wrapper.h:1124adversarial_claude:6publishAccepted, sharedreport
#36641A large PSBT can evict its own MuSig2 nonces while publishing pubnoncessrc/musig.cpp:133adversarial_claude:1publishAccepted, solereport
#36641Evicted MuSig2 sessions are not distinguishable from rounds awaiting cosignerssrc/musig.cpp:134adversarial_claude:2publishAccepted, sharedreport
#36641The bounded-store test does not verify the cap or FIFO removal ordersrc/wallet/test/scriptpubkeyman_tests.cpp:79adversarial_claude:3publishAccepted, sharedreport
#29491A worker can be counted twice before all batches finish verificationsrc/checkqueue.h:138adversarial_claude:1publishAccepted, sharedreport
#29491A public batch seed can let cancelling invalid signatures pass verificationsrc/secp256k1/src/modules/schnorrsig/batch_add_impl.h:133adversarial_claude:2publishAccepted, sharedreport
#29491The reject reason for a failed Schnorr batch varies with `-par`src/validation.cpp:2713adversarial_claude:3publishAccepted, sharedreport
#29491Unparsable pubkey rejection relies on every caller checking Add()'s return valuesrc/batchverify.cpp:32adversarial_claude:4dropNot acceptedreport
#29491A scratch-allocation failure can make batch verification accept an invalid tweak checksrc/secp256k1/src/modules/batch/main_impl.h:191adversarial_claude:5publishAccepted, sharedreport
#29491The batched check-queue protocol has no isolated test coveragesrc/checkqueue.h:45adversarial_claude:6publishAccepted, solereport
#35728The release note misstates the RPC error codedoc/release-notes-35728.md:4adversarial_claude:1publishAccepted, solereport
#35728Corrupt txindex LevelDB blocks in the prefix scan are still reported as "not found"src/index/txindex.cpp:183adversarial_claude:2dropNot acceptedreport
#35728A damaged txindex candidate aborts lookups that could still succeedsrc/index/txindex.cpp:216adversarial_claude:3publishAccepted, sharedreport
#35728`GetTransaction` and `FindTx` declarations omit their new exceptionssrc/node/transaction.cpp:165adversarial_claude:4publishAccepted, solereport
#36696The anti-aliasing reason for copying each element is not true for CTransaction as a wholesrc/primitives/transaction.cpp:109adversarial_claude:1dropNot acceptedreport
#36696ToVector's comment suggests a replacement that can transfer the caller's vectorsrc/util/vector.h:23adversarial_claude:2publishAccepted, sharedreport
#36696Elements of rvalue ranges are always copied, but the PR text says copied/movedsrc/util/vector.h:31adversarial_claude:3dropNot acceptedreport
#36696The new CTransaction range constructor permits implicit conversionssrc/primitives/transaction.h:319adversarial_claude:4publishAccepted, solereport
#36696New range code omits headers for the standard facilities it usessrc/util/vector.h:20adversarial_claude:5publishAccepted, sharedreport
#36696CTxIn copies rvalue witnessessrc/primitives/transaction.h:123adversarial_claude:6publishAccepted, solereport
#36697Exporting a child key from a default wallet also reveals the account private key to anyone holding the public xpubsrc/wallet/scriptpubkeyman.cpp:1447adversarial_claude:1dropNot acceptedreport
#36697Direct-address lookup can export an HD master private keysrc/wallet/scriptpubkeyman.cpp:1386adversarial_claude:2publishAccepted, solereport
#36697Top-level aliases create a new, duplicated RPC result formatsrc/wallet/export.cpp:273adversarial_claude:3publishAccepted, solereport
#36697Hex-only exported keys require conversion for Core’s WIF-only interfacessrc/wallet/rpc/backup.cpp:127adversarial_claude:4publishAccepted, solereport
#36697A required safety check runs inside a function named for MuSig2 metadatasrc/wallet/scriptpubkeyman.cpp:1346adversarial_claude:5dropNot acceptedreport
#36697The secret-returning `ExportKey(script, key_id)` overload is unused by production and tests another pathsrc/wallet/scriptpubkeyman.h:405adversarial_claude:6publishAccepted, solereport
#35932Disconnected connections are never erased, so their EventLoopRefs keep the event loop alive and ~CapnpProtocol hangs at shutdownsrc/ipc/capnp/protocol.cpp:160adversarial_claude:1undisposedNot acceptedreport
#35932Drain happens after ResetCoinsViews(), so in-flight checkBlock/submitBlock bodies can still abort on Assert(m_coins_views)src/ipc/capnp/protocol.cpp:121adversarial_claude:2undisposedNot acceptedreport
#35932-Wno-c++23-extensions is added project-wide on every compiler that accepts the flag, not only on older clangCMakeLists.txt:518adversarial_claude:3undisposedNot acceptedreport
#35932Tracker comments wrongly claim ProxyServerBase is always constructed on the event loop threadsrc/ipc/libmultiprocess/include/mp/proxy-io.h:777adversarial_claude:4undisposedNot acceptedreport
#35354Snapshot sync can park filter requests until the peer times outsrc/net_processing.cpp:3579adversarial_claude:1publishAccepted, sharedreport
#35354Parking requests before validation reveals which stop hashes are knownsrc/net_processing.cpp:3653adversarial_claude:2publishAccepted, sharedreport
#35354The test comment and PR description do not match the implemented mechanismsrc/test/cfilter_race_tests.cpp:79adversarial_claude:3publishAccepted, solereport
#35354A failed assertion can leave the scheduler blocked and hang the test suitesrc/test/cfilter_race_tests.cpp:110adversarial_claude:4publishAccepted, sharedreport
#10102CoinControl maximum depth is replaced by the minimum depth over IPCsrc/ipc/capnp/wallet.cpp:196adversarial_claude:1publishAccepted, sharedreport
#10102CoinControl lock time, version, and weight limit are lost over IPCsrc/ipc/capnp/wallet.cpp:198adversarial_claude:2publishAccepted, sharedreport
#10102PayToAnchor destinations are not serializedsrc/ipc/capnp/wallet.cpp:113adversarial_claude:3publishAccepted, sharedreport
#10102Restoring without loading aborts the reply-reading processsrc/ipc/capnp/common-types.h:371adversarial_claude:4publishAccepted, solereport
#10102Spawn-only Init methods are also served to running-node socket clientssrc/ipc/capnp/init.capnp:33adversarial_claude:5publishAccepted, solereport
#10102SecureString passphrase copies in IPC buffers are not cleansedsrc/ipc/capnp/common-types.h:198adversarial_claude:6publishAccepted, sharedreport
#25573Static PIE flags omit fatal linker warningscontrib/guix/libexec/build_linux.sh:48adversarial_claude:1publishAccepted, solereport
#25573Static binaries embed a pinned glibc resolver without a stated update processcontrib/guix/toolchains.scm:297adversarial_claude:2publishAccepted, solereport
#25573Static ELF FORTIFY check accepts binaries without checking Bitcoin Core's codecontrib/guix/security-check.py:130adversarial_claude:3publishAccepted, sharedreport
#25573Linux runtime requirements omit bitcoin-gui and conflict with INSTALL.mddoc/release-notes-25573.md:4adversarial_claude:4publishAccepted, sharedreport
#25573remap-guix-store-paths joins existing CFLAGS/CPPFLAGS without a separatorcontrib/guix/toolchains.scm:338adversarial_claude:5unresolvedNot acceptedreport
#29418Sent counts include messages that were not fully writtensrc/net.cpp:1640adversarial_claude:1publishAccepted, sharedreport
#29418Type-check bypass leaves `detailed` unchecked and undocumented in OpenRPCsrc/rpc/net.cpp:652adversarial_claude:2publishAccepted, solereport
#29418Every call builds maps for all 3,626 cells and emits keys in unspecified ordersrc/rpc/net.cpp:696adversarial_claude:3publishAccepted, sharedreport
#29418The new `getnettotals` field has no release notesrc/rpc/net.cpp:731adversarial_claude:4publishAccepted, sharedreport
#29418`NUM_CONNECTION_TYPES` is hard-coded, and a stale value would crash the networking threadssrc/node/connection_types.h:90adversarial_claude:5dropNot acceptedreport
#30437Final tip comparison dereferences an empty optionalsrc/bitcoin-mine.cpp:159adversarial_claude:1publishAccepted, sharedreport
#30437Null IPC connection results make bitcoin-mine abortsrc/bitcoin-mine.cpp:119adversarial_claude:2publishAccepted, sharedreport
#30437bitcoin-mine can shrink and append to the node's debug.logsrc/bitcoin-mine.cpp:101adversarial_claude:3publishAccepted, sharedreport
#30437StartLogging errors lose their specific messagesrc/bitcoin-mine.cpp:101adversarial_claude:4publishAccepted, solereport
#30437The functional test accepts a failed block submissiontest/functional/feature_mine.py:28adversarial_claude:5publishAccepted, sharedreport
#30437bitcoin-mine submits the template's dummy coinbasesrc/bitcoin-mine.cpp:157adversarial_claude:6publishAccepted, sharedreport
#30437The generated bitcoin-mine man page is not installedcontrib/devtools/gen-manpages.py:16adversarial_claude:7publishAccepted, solereport
#30437The .rc file is added unconditionally instead of through add_windows_resourcessrc/CMakeLists.txt:344adversarial_claude:8dropNot acceptedreport
#30437The test name conflicts with functional-test naming conventionstest/functional/feature_mine.py:5adversarial_claude:9publishAccepted, solereport
#30951Scheduled probes select clearnet addresses that the v2-only guard later skipssrc/net.cpp:450adversarial_claude:1publishAccepted, sharedreport
#30951The new test does not exercise v1 retry suppression or the name-proxy branchtest/functional/p2p_v2_encrypted.py:144adversarial_claude:2publishAccepted, sharedreport
#30951A v1 `addnode` request for a clearnet peer is accepted but never connectssrc/net.cpp:451adversarial_claude:3publishAccepted, solereport
#30951The non-routable v1 exemption is broader than the comment and help text describesrc/net.h:1441adversarial_claude:4publishAccepted, solereport
#35662txsdata[i] is now in bounds only because of the fScriptChecks guard; add an assert at the accesssrc/validation.cpp:2513adversarial_claude:1undisposedNot acceptedreport
#35662Add a test that a script-cache hit leaves the txdata optional emptysrc/test/txvalidationcache_tests.cpp:155adversarial_claude:2undisposedNot acceptedreport
#31507CI-only warning downgrades make native builds behave differently from CI.github/ci-windows.py:71adversarial_claude:1publishAccepted, solereport
#31507Windows presets can mismatch the target and vcpkg dependency architecturesCMakePresets.json:12adversarial_claude:2publishAccepted, sharedreport
#31507Builtins archive selection follows the host processor rather than the compiler targetCMakeLists.txt:329adversarial_claude:3publishAccepted, sharedreport
#31507Builtins are linked for every MSVC-like compiler, contradicting the comment and the stated cl.exe policyCMakeLists.txt:338adversarial_claude:4dropNot acceptedreport
#31507The native Windows guide does not specify the clang-cl version requirementdoc/build-windows-native.md:32adversarial_claude:5publishAccepted, sharedreport
#31507/sdl was removed but clang-cl builds get no replacement hardeningCMakeLists.txt:331adversarial_claude:6dropNot acceptedreport
#31507The MSVC-only `<cstdlib>` include is no longer usedsrc/compat/byteswap.h:29adversarial_claude:7publishAccepted, solereport
#30988Wildcard listeners use the unspecified address as each inbound peer’s local addresssrc/common/sockman.cpp:514adversarial_claude:1publishAccepted, sharedreport
#30988An I2P connection attempt without a proxy aborts in debug and fuzz buildssrc/common/sockman.cpp:157adversarial_claude:2publishAccepted, sharedreport
#30988Unpolled connections skip the per-connection I/O completion hooksrc/common/sockman.cpp:432adversarial_claude:3publishAccepted, solereport
#30988The `connman` fuzz target no longer exercises the socket I/O loopsrc/test/fuzz/connman.cpp:213adversarial_claude:4publishAccepted, sharedreport
#3662810,000-job queue cap kept, but jobs now start one at a time 35–55 s apart, so the queue can take days to drainsrc/privbcast/params.h:112adversarial_claude:1dropNot acceptedreport
#36628`StartPolicy::Decide` rules lack unit tests, and a comment refers to absent coveragesrc/test/privbcast_queue_tests.cpp:16adversarial_claude:2publishAccepted, solereport
#32387Windows spawn pipe can be claimed by another local usersrc/ipc/libmultiprocess/src/mp/util.cpp:419adversarial_claude:1publishAccepted, sharedreport
#32387Early-startup retry loop catches every OSError on all platforms and has no deadlinetest/functional/interface_ipc_mining.py:182adversarial_claude:10dropNot acceptedreport
#32387MinGW retains ThreadContext for every completed IPC workersrc/ipc/libmultiprocess/src/mp/proxy.cpp:67adversarial_claude:2publishAccepted, sharedreport
#32387Windows IPC bind can delete an unrelated empty filesrc/ipc/process.cpp:160adversarial_claude:3publishAccepted, sharedreport
#32387Blocking AF_UNIX connect on Windows may hang bitcoin-cli's default -ipcconnect=autosrc/ipc/process.cpp:122adversarial_claude:4unresolvedNot acceptedreport
#32387Functional tests remove stale Windows sockets before bind can clean them uptest/functional/test_framework/test_node.py:289adversarial_claude:5publishAccepted, solereport
#32387The bitcoin.exe wrapper now outlives its child but does not propagate terminationsrc/util/exec.cpp:44adversarial_claude:6dropNot acceptedreport
#32387Windows GUI version metadata drops the “Core” product namecmake/module/AddWindowsResources.cmake:19adversarial_claude:7publishAccepted, solereport
#32387Build documentation gives outdated IPC defaults for Windowsdepends/Makefile:43adversarial_claude:8publishAccepted, solereport
#32387capnp receives a Windows-only define on every depends hostdepends/packages/capnp.mk:14adversarial_claude:9publishAccepted, solereport
#35444Notification handling is duplicated across six public methodssrc/wallet/scriptpubkeyman.cpp:896adversarial_claude:1publishAccepted, solereport
#35444First-key-time notification runs while `m_desc_mutex` is heldsrc/wallet/scriptpubkeyman.cpp:1753adversarial_claude:2publishAccepted, solereport
#35444Lock annotations on three definitions conflict with their declarationssrc/wallet/scriptpubkeyman.cpp:1294adversarial_claude:3publishAccepted, sharedreport
#35444Renaming helpers changes user-visible exception text built from __func__src/wallet/scriptpubkeyman.cpp:1777adversarial_claude:4dropNot acceptedreport
#35444Three fields lack lock annotationssrc/wallet/scriptpubkeyman.h:284adversarial_claude:5publishAccepted, solereport
#35444The fuzz harness bypasses the wallet-level descriptor update pathsrc/wallet/test/fuzz/scriptpubkeyman.cpp:119adversarial_claude:6publishAccepted, solereport
#32468Custom amounts are added to an equal share instead of setting exact payoutssrc/rpc/mining.cpp:499adversarial_claude:1publishAccepted, solereport
#32468Extra coinbase outputs are not included in the mempool template's weight and sigops reservationssrc/rpc/mining.cpp:457adversarial_claude:2publishAccepted, sharedreport
#32468Help omits that explicit transaction lists forfeit transaction feessrc/rpc/mining.cpp:337adversarial_claude:3publishAccepted, sharedreport
#32468Use the template's `required_outputs`/`block_reward_remaining` instead of clearing all outputs and re-adding only the witness commitmentsrc/rpc/mining.cpp:497adversarial_claude:4dropNot acceptedreport
#32468The OpenRPC schema does not describe the supported `output` formssrc/rpc/mining.cpp:339adversarial_claude:5publishAccepted, sharedreport
#32468Mempool-mode tests do not check fee payouts across multiple outputs or fresh witness validationtest/functional/rpc_generate.py:130adversarial_claude:6publishAccepted, solereport
#32468Mempool-mode blocks are fully validated twicesrc/rpc/mining.cpp:457adversarial_claude:7dropNot acceptedreport
#33117loadtxoutset now reports a bad path or a malformed snapshot header as an internal node errorsrc/rpc/blockchain.cpp:3561adversarial_claude:1undisposedNot acceptedreport
#33117New Snapshot interface returns internal pointers and implements node logic in the interface layersrc/interfaces/snapshot.h:26adversarial_claude:2undisposedNot acceptedreport
#33117Progress reaches 100% before the long hashing and validation phase, and nothing signals the endsrc/validation.cpp:5848adversarial_claude:3undisposedNot acceptedreport
#33117No test covers the new progress notificationsrc/validation.cpp:5850adversarial_claude:4undisposedNot acceptedreport
#33324Symlinked block files are copied into the blocks directorysrc/node/blockstorage.cpp:191adversarial_claude:1publishAccepted, solereport
#33324Migration errors omit the underlying filesystem failuresrc/node/blockstorage.cpp:265adversarial_claude:2publishAccepted, sharedreport
#33324DirectoryCommit now fails and logs on EINVAL, unlike FileCommitsrc/util/fs_helpers.cpp:143adversarial_claude:3dropNot acceptedreport
#33324Key-file state check treats stat errors as "missing", and the destructive branches are taken on that signalsrc/node/blockstorage.cpp:219adversarial_claude:4dropNot acceptedreport
#35307Changing the height check only fixes the base block; a block one height above it still aborts the nodesrc/node/blockstorage.cpp:801adversarial_claude:1undisposedNot acceptedreport
#35307VerifyDB stop at the snapshot base returns SUCCESS and the comment gives the wrong reasonsrc/validation.cpp:4710adversarial_claude:2undisposedNot acceptedreport
#35307Flush special case checks the tip height, not whether the tip is the snapshot basesrc/node/blockstorage.cpp:808adversarial_claude:3undisposedNot acceptedreport
#35307New test covers only the restart path, not the in-session aborttest/functional/feature_assumeutxo.py:242adversarial_claude:4undisposedNot acceptedreport
#32575TestBlockValidity lacks regression coverage for deferred script-cache writessrc/validation.cpp:2725adversarial_claude:1publishAccepted, sharedreport
#32575Mempool and block validation duplicate script-check constructionsrc/validation.cpp:2686adversarial_claude:2publishAccepted, solereport
#32575GetScriptCacheEntry omits its erase-on-hit behavior and input preconditionsrc/validation.cpp:2073adversarial_claude:3publishAccepted, solereport
#32575CheckInputScriptsFor::Block is unreachable after block validation movedsrc/validation.cpp:2137adversarial_claude:4publishAccepted, solereport
#32575GetScriptCacheEntry's declaration is duplicated instead of sharedsrc/test/txvalidationcache_tests.cpp:25adversarial_claude:5publishAccepted, solereport
#32575p2p_segwit's reason for -par=1 is now stalesrc/validation.cpp:2616adversarial_claude:6dropNot acceptedreport
#36688An urgent pointer ahead of received data can still spin the macOS/BSD net threadsrc/netbase.cpp:573adversarial_claude:1publishAccepted, solereport
#36688Inbound sockets get SO_OOBINLINE only by inheritance from the listener, unlike TCP_NODELAYsrc/netbase.cpp:575adversarial_claude:2dropNot acceptedreport
#36697Direct-address lookup can export the HD master private keysrc/wallet/scriptpubkeyman.cpp:1386adversarial_claude:1publishAccepted, solereport
#36697The BIP341 vector path fails for non-symlink functional teststest/functional/wallet_exportaddresskey.py:699adversarial_claude:2publishAccepted, solereport
#36697Taproot discovery repeats key scans and private descriptor expansion under `cs_wallet`src/wallet/export.cpp:198adversarial_claude:3publishAccepted, sharedreport
#36697`ExportKey(script, key_id)` is unused by production code and tests a different pathsrc/wallet/scriptpubkeyman.h:405adversarial_claude:4publishAccepted, solereport
#36697`GetMuSig2KeyInfo` also carries the general cache-consistency checksrc/script/descriptor.h:203adversarial_claude:5dropNot acceptedreport
#33922Template destruction can access BlockTemplateManager after shutdown resets itsrc/node/interfaces.cpp:894adversarial_claude:1publishAccepted, sharedreport
#33922Wtxid-keyed tracking merges separate allocations of the same transactionsrc/node/block_template_manager.h:46adversarial_claude:2publishAccepted, sharedreport
#33922New `SanityCheck()` helper is never calledsrc/node/block_template_manager.cpp:110adversarial_claude:3publishAccepted, solereport
#33922Template refcounting test relies on a crash unavailable in release buildstest/functional/interface_ipc_mining.py:328adversarial_claude:4publishAccepted, sharedreport
#34038No-log-file contexts leave trace logging enabled in hot loopssrc/test/util/setup_common.cpp:167adversarial_claude:1publishAccepted, sharedreport
#34038`include`/`debug` in the logging RPC now lowers traced categories to debug, and "all" wipes per-category tracesrc/logging.cpp:132adversarial_claude:2dropNot acceptedreport
#34038Runtime trace changes do not enable tracing on existing wallets or IPC loopssrc/rpc/node.cpp:297adversarial_claude:3publishAccepted, sharedreport
#34038The release note incorrectly says wallet SQL is the only supported trace outputdoc/release-notes-34038.md:4adversarial_claude:4publishAccepted, sharedreport
#34038New flag-based SetCategoryLogLevel skips the NONE guard, so "libevent" stores a stray levelsrc/logging.cpp:648adversarial_claude:5dropNot acceptedreport
#36673Any matching issue can permanently suppress the certificate-expiry alert.github/workflows/code-signing-certificate.yml:52adversarial_claude:1publishAccepted, sharedreport
#36673Only master is checked, but release branches sign with their own copy of the certificate.github/workflows/code-signing-certificate.yml:27adversarial_claude:2dropNot acceptedreport
#36673Closing the warning also suppresses an alert at expiry.github/workflows/code-signing-certificate.yml:50adversarial_claude:3publishAccepted, solereport
#36673actions/checkout@v7 does not match the v6 used everywhere else in the repo.github/workflows/code-signing-certificate.yml:25adversarial_claude:4dropNot acceptedreport
#36673An unrelated issue can permanently suppress the certificate expiry alert.github/workflows/code-signing-certificate.yml:52adversarial_claude:1publishAccepted, sharedreport
#36673Release branches, which point releases are signed from, are never checked.github/workflows/code-signing-certificate.yml:27adversarial_claude:2dropNot acceptedreport
#36673Closing the warning also suppresses the later expiry alert.github/workflows/code-signing-certificate.yml:54adversarial_claude:3publishAccepted, solereport
#36673A failed certificate-monitoring run does not notify maintainers with an issue.github/workflows/code-signing-certificate.yml:41adversarial_claude:4publishAccepted, solereport
#36673Uses actions/checkout@v7 while ci.yml uses v6.github/workflows/code-signing-certificate.yml:25adversarial_claude:5dropNot acceptedreport
#34405Preset-only selections trigger a redundant APS retrysrc/wallet/spend.cpp:1255adversarial_claude:1publishAccepted, solereport
#34405Partial-spend counting adds overhead when the retry cannot use itsrc/wallet/spend.cpp:1255adversarial_claude:2publishAccepted, sharedreport
#34405Changed tracepoint firing conditions and -maxapsfee behaviour are not documentedsrc/wallet/spend.cpp:1500adversarial_claude:3dropNot acceptedreport
#34603Top-level BDB symlinks appear in wallet lists but cannot be migrated on MinGWsrc/wallet/db.cpp:34adversarial_claude:1publishAccepted, solereport
#34603Wallet-path validation rejects some Windows reparse-point data filessrc/wallet/wallet.cpp:2974adversarial_claude:2publishAccepted, sharedreport
#34603Windows attribute lookup failures lose the underlying OS errorsrc/util/fs_helpers.cpp:352adversarial_claude:3publishAccepted, sharedreport
#34603Wallet scans warn about supported symlinked wallet directoriessrc/wallet/db.cpp:35adversarial_claude:4publishAccepted, solereport
#34775Callback documentation does not define supported re-entry or self-destructionsrc/kernel/bitcoinkernel.h:432adversarial_claude:1publishAccepted, solereport
#34775Concurrency test can hang instead of reporting a failuresrc/test/kernel/test_kernel.cpp:810adversarial_claude:2publishAccepted, solereport
#29491A stale script-check failure can make the next valid block permanently invalidsrc/checkqueue.h:209adversarial_claude:1publishAccepted, sharedreport
#29491A worker can be counted twice before every batch is verifiedsrc/checkqueue.h:138adversarial_claude:2publishAccepted, sharedreport
#29491Schnorr batch failures have different reject reasons depending on `-par`src/validation.cpp:2654adversarial_claude:3publishAccepted, sharedreport
#29491A public batch seed can let invalid Schnorr signatures cancelsrc/secp256k1/src/modules/schnorrsig/batch_add_impl.h:133adversarial_claude:4publishAccepted, sharedreport
#29491Batch verification can fail open if Strauss scratch allocation failssrc/secp256k1/src/modules/batch/main_impl.h:191adversarial_claude:5publishAccepted, solereport
#29491The unit test never verifies an invalid signature in a multi-signature batchsrc/test/key_tests.cpp:449adversarial_claude:6publishAccepted, solereport
#34864`Next()` and `Prev()` comments describe a removed FRESH-only statesrc/coins.h:202adversarial_claude:1publishAccepted, sharedreport
#34864Unit tests still give spent+FRESH entries defined results as parent/cache fixtures, which the PR now treats as invalidsrc/test/coins_tests.cpp:810adversarial_claude:2dropNot acceptedreport
#36673Any user's matching issue can permanently suppress the expiry alert.github/workflows/code-signing-certificate.yml:48adversarial_claude:1publishAccepted, sharedreport
#36673Closing the warning also suppresses a later expired-certificate alert.github/workflows/code-signing-certificate.yml:47adversarial_claude:2publishAccepted, solereport
#36673Release branches can continue using an expired certificate without an alert.github/workflows/code-signing-certificate.yml:27adversarial_claude:3publishAccepted, solereport
#36673A failed monitoring run does not alert maintainers with an issue.github/workflows/code-signing-certificate.yml:39adversarial_claude:4publishAccepted, solereport
#36673checkout@v7 differs from the repository's other workflows.github/workflows/code-signing-certificate.yml:25adversarial_claude:5dropNot acceptedreport
#36696ToVector moves from elements of temporary views and transfers nested bufferssrc/util/vector.h:31adversarial_claude:1publishAccepted, sharedreport
#36696ToVector moves from elements of temporary views and transfers nested bufferssrc/util/vector.h:31adversarial_claude:2publishAccepted, sharedreport
#36696The range constructor has no direct tests for hashes, witnesses, or copy and move behaviorsrc/primitives/transaction.h:318adversarial_claude:3publishAccepted, sharedreport
#36696SetupDummyInputs copies transactions unnecessarily before AddCoinssrc/test/util/transaction_utils.cpp:68adversarial_claude:4publishAccepted, solereport
#36696util/vector.h relies on transitive includes for ranges and concepts facilitiessrc/util/vector.h:20adversarial_claude:5publishAccepted, sharedreport
#35858Wallet rebroadcast can later announce privately broadcast transactions to all peersdoc/privacy.md:14adversarial_claude:1publishAccepted, solereport
#35858Private broadcast destinations are described too narrowlydoc/privacy.md:12adversarial_claude:2publishAccepted, solereport
#35858Prerequisites omit a Tor setup route, the `-connect` conflict, and what reachability meansdoc/privacy.md:25adversarial_claude:3publishAccepted, sharedreport
#35858Scope paragraph omits `submitpackage`’s standard broadcast behaviordoc/privacy.md:30adversarial_claude:4publishAccepted, solereport
#35858Queue cap and abort-by-txid behavior are missing from the RPC sectiondoc/privacy.md:38adversarial_claude:5dropNot acceptedreport
#36677Only Linux gets native 'e'; FreeBSD/NetBSD/OpenBSD use a hand-written fopen replacement that CI never runssrc/util/fs.cpp:30adversarial_claude:1undisposedNot acceptedreport
#36677Test checks close-on-exec for one mode only, not the mode behavior the fallback re-implementssrc/test/fs_tests.cpp:153adversarial_claude:2undisposedNot acceptedreport
#35027Name-proxy connections can bypass `-outboundbind` without a startup warningsrc/init.cpp:2245adversarial_claude:1publishAccepted, sharedreport
#35027A repeated same-family value on the command line is silently ignored (first wins), unlike other command-line options (last wins)src/init.cpp:2220adversarial_claude:2dropNot acceptedreport
#35027Startup validation accepts loopback (and other non-unicast) sources that cannot reach remote peers, and the resulting failures are only logged at debug levelsrc/init.cpp:2214adversarial_claude:3dropNot acceptedreport
#35071Resume checkpoint can be saved without the block index it lets the next run skipsrc/node/blockstorage.cpp:1349adversarial_claude:1publishAccepted, sharedreport
#35071Reindex completion is synced to disk before the scanned block index is writtensrc/node/blockstorage.cpp:1355adversarial_claude:2publishAccepted, sharedreport
#35071Interrupted-reindex test depends on the stop arriving before the last file is scannedtest/functional/feature_reindex.py:128adversarial_claude:3publishAccepted, sharedreport
#35071Resume test never restores a non-empty orphan maptest/functional/feature_reindex.py:106adversarial_claude:4publishAccepted, sharedreport
#36521Witness enumeration through the kernel API becomes quadraticsrc/kernel/bitcoinkernel.cpp:892adversarial_claude:1publishAccepted, sharedreport
#36521Script verification copies the witness before determining whether it is neededsrc/script/interpreter.cpp:1933adversarial_claude:2publishAccepted, sharedreport
#36521`SpanReader::Remaining()` has no use beyond its testsrc/streams.h:104adversarial_claude:3publishAccepted, solereport
#36122CISA spends are relayed on networks where consensus leaves v2 outputs anyone-can-spendsrc/policy/policy.h:133adversarial_claude:1publishAccepted, solereport
#36122PSBT completion accepts CISA aggregate witnesses without verifying themsrc/psbt.cpp:938adversarial_claude:2publishAccepted, sharedreport
#36122`descriptorprocesspsbt` cannot retain fullagg secret noncessrc/rpc/rawtransaction.cpp:2157adversarial_claude:3publishAccepted, sharedreport
#36122Mempool acceptance verifies each aggregate signature twicesrc/validation.cpp:2133adversarial_claude:4publishAccepted, solereport
#36477Resolved transactions overstate remaining send attemptssrc/private_broadcast.cpp:195adversarial_claude:1publishAccepted, sharedreport
#36477Re-adding an exhausted transaction can silently schedule no sendssrc/private_broadcast.cpp:27adversarial_claude:2publishAccepted, solereport
#36477Documentation omits eviction of exhausted, never-echoed transactionssrc/private_broadcast.h:47adversarial_claude:3publishAccepted, solereport
#36477Receive-metadata tests do not check which peer and time are retainedtest/functional/p2p_private_broadcast.py:323adversarial_claude:4publishAccepted, solereport
#36477Keeping finished entries makes per-node linear scans cover the full historysrc/private_broadcast.h:47adversarial_claude:5dropNot acceptedreport
#36607Peers can still request suppressed transactions from the mempoolsrc/net_processing.cpp:2494adversarial_claude:1publishAccepted, solereport
#36607A local resubmission can stop retries without announcing the transactionsrc/net_processing.cpp:2491adversarial_claude:2publishAccepted, sharedreport
#36607The guard does not suppress announcements of same-txid witness variantssrc/private_broadcast.cpp:89adversarial_claude:3publishAccepted, sharedreport
#35994BuildSpendingTransaction drops the supplied script witnesssrc/test/util/transaction_utils.cpp:33adversarial_claude:1publishAccepted, sharedreport
#35994Compound assignments are rewritten as plain assignmentscontrib/devtools/bitcoin-tidy/combine-assignments.cpp:72adversarial_claude:2publishAccepted, sharedreport
#35994The fix-it can change side effects, dependencies, and repeated assignmentscontrib/devtools/bitcoin-tidy/combine-assignments.cpp:169adversarial_claude:3publishAccepted, sharedreport
#35994The new check makes tidy CI fail on an unconverted test filecontrib/devtools/bitcoin-tidy/bitcoin-tidy.cpp:15adversarial_claude:4publishAccepted, solereport
#35994The fix-it deletes comments between combined statementscontrib/devtools/bitcoin-tidy/combine-assignments.cpp:174adversarial_claude:5publishAccepted, sharedreport
#35994Annotations reach ordinary Clang builds of hot transaction fieldssrc/attributes.h:29adversarial_claude:6publishAccepted, solereport
#35994Whole-object assignment may conflict with the stated goal of immutable typescontrib/devtools/bitcoin-tidy/combine-assignments.cpp:172adversarial_claude:7dropNot acceptedreport
#34400Parallel read-ahead uses a stale still_active flag, so blocks already reorged out can be scannedsrc/wallet/scan.cpp:669adversarial_claude:1dropNot acceptedreport
#34400Skipped blocks can carry a scan past the wallet tipsrc/wallet/scan.cpp:652adversarial_claude:2publishAccepted, solereport
#34400Rescan cancellation waits for the current batch to finishsrc/wallet/scan.cpp:663adversarial_claude:3publishAccepted, sharedreport
#34400A mocked clock can prevent parallel rescan work from being submittedsrc/wallet/scan.cpp:353adversarial_claude:4publishAccepted, solereport
#36696ToVector moves elements from caller-owned containers through temporary viewssrc/util/vector.h:31adversarial_claude:1publishAccepted, solereport
#36696The anti-aliasing rationale for copying elements is not a CTransaction invariant: the refactored CMutableTransaction&& path still moves the containersrc/primitives/transaction.cpp:109adversarial_claude:2dropNot acceptedreport
#36696CTxIn copies witnesses even when callers pass rvaluessrc/primitives/transaction.cpp:26adversarial_claude:3publishAccepted, sharedreport
#36696util/vector.h omits direct includes for range and concept facilitiessrc/util/vector.h:20adversarial_claude:4publishAccepted, sharedreport
#35229A concurrent chain change makes `scanblocks` report an internal bugsrc/rpc/blockchain.cpp:2719adversarial_claude:1publishAccepted, solereport
#35229Historical-range pointers lose their only explicit non-null checksrc/net_processing.cpp:6550adversarial_claude:2dropNot acceptedreport
#35286Test mode skips the post-acceptance trim, so a "success" result can be "mempool full" on real submissionsrc/validation.cpp:1755adversarial_claude:1unresolvedNot acceptedreport
#35286The CPFP preflight is outside package validationsrc/rpc/mempool.cpp:1716adversarial_claude:2publishAccepted, sharedreport
#35286The parameter documentation contradicts an assertionsrc/validation.h:283adversarial_claude:3publishAccepted, solereport
#35286The constructor comment contradicts the sibling-eviction invariantsrc/validation.cpp:574adversarial_claude:4publishAccepted, solereport
#35286The new test-accept package mode lacks fuzz and unit coveragesrc/validation.cpp:1846adversarial_claude:5publishAccepted, solereport
#35558Compact-block nonces draw from the global RNG on worker threadssrc/net_processing.cpp:2272adversarial_claude:1publishAccepted, solereport
#35558The TCP window check measures the local proxy connection, not the peer pathsrc/net.cpp:4251adversarial_claude:2publishAccepted, sharedreport
#35558Queued-byte estimates omit data on FreeBSD, OpenBSD, and Windowssrc/util/sock.cpp:121adversarial_claude:3publishAccepted, sharedreport
#35558Expected TCP_INFO failures produce warning- and error-level logssrc/util/sock.h:371adversarial_claude:4publishAccepted, solereport
#35558Deterministic tests do not cover prefill candidates or window selectionsrc/net_processing.cpp:2348adversarial_claude:5publishAccepted, sharedreport
#35558The compact-block getdata path updates pindexBestHeaderSentsrc/net_processing.cpp:2392adversarial_claude:6publishAccepted, solereport
#36688An urgent pointer ahead of received data can keep `select()` reporting an exceptionsrc/netbase.cpp:573adversarial_claude:1publishAccepted, solereport
#36688Inbound sockets get SO_OOBINLINE only by inheriting it from the listener, unlike the explicit TCP_NODELAY re-applicationsrc/netbase.cpp:575adversarial_claude:2dropNot acceptedreport
#36629Rows left over from a block that is no longer active are read against the new block at that heightsrc/index/txoscriptindex.cpp:155adversarial_claude:1unresolvedNot acceptedreport
#36629A stale spender-index row can make an asof query report the wrong spentnesssrc/rpc/blockchain.cpp:4097adversarial_claude:2publishAccepted, solereport
#36629cs_main is held for one uncached coins lookup per matching outputsrc/rpc/blockchain.cpp:4009adversarial_claude:3dropNot acceptedreport
#36629Every call scans the whole mempool under pool->cs, with a SHA256 per output for scripthash queriessrc/rpc/blockchain.cpp:4022adversarial_claude:4dropNot acceptedreport
#36628SOCKS5 handshake failures are silently dropped for all functional teststest/functional/test_framework/socks5.py:164adversarial_claude:1publishAccepted, solereport
#36594Test header omits the per-call limit on orphan reconsiderationsrc/test/denialofservice_tests.cpp:540adversarial_claude:1publishAccepted, solereport
#36542Retry test never successfully loads over a leftover snapshot directorytest/functional/feature_assumeutxo.py:221adversarial_claude:1publishAccepted, solereport
#36542Startup warning omits how to remove a leftover snapshot directorysrc/node/utxo_snapshot.cpp:60adversarial_claude:2publishAccepted, solereport
#36434`reset_conn()` drops the configured socket timeouttest/functional/interface_http.py:48adversarial_claude:1publishAccepted, sharedreport
#36434Startup replaces an existing live Unix RPC socketsrc/netbase.cpp:801adversarial_claude:2publishAccepted, sharedreport
#36434Unix RPC sockets cannot grant group accesssrc/httpserver.cpp:840adversarial_claude:3publishAccepted, solereport
#36434The negative log assertion cannot match, and the tests do not check socket permissionstest/functional/rpc_bind.py:242adversarial_claude:4publishAccepted, solereport
#36434Connection errors can report an address `bitcoin-cli` did not trysrc/bitcoin-cli.cpp:1296adversarial_claude:5publishAccepted, sharedreport
#35728A stale txindex row can make lookups fail until the index is rebuiltsrc/index/txindex.cpp:195adversarial_claude:1publishAccepted, sharedreport
#35728A corrupt txindex row can block an explicit-blockhash lookupsrc/node/transaction.cpp:164adversarial_claude:2publishAccepted, solereport
#35728The release note's “internal error” wording does not match the RPC error codedoc/release-notes-35728.md:4adversarial_claude:3publishAccepted, solereport
#35728`WarnAndThrowErr` has external linkage despite being used only in this filesrc/index/txindex.cpp:161adversarial_claude:4publishAccepted, solereport
#35642The attack budget uses in-memory header size instead of wire sizesrc/headerssync.cpp:579adversarial_claude:1publishAccepted, solereport
#35642The production-parameter wrapper lacks direct unit coveragesrc/test/headerssync_tests.cpp:236adversarial_claude:2publishAccepted, solereport
#35522Tx-inventory helper comments omit the required trickle-timer gatesrc/net_processing.cpp:853adversarial_claude:1publishAccepted, solereport
#35522Early-return helpers can have their results ignored without a warningsrc/net_processing.cpp:882adversarial_claude:2publishAccepted, solereport
#35511QAmount allows implicit raw-integer use at the GUI amount fieldsrc/qt/bitcoinamountfield.h:35adversarial_claude:1publishAccepted, solereport
#35511Explicit CAmount construction accepts unsigned values that wrapsrc/consensus/amount.h:36adversarial_claude:2publishAccepted, sharedreport
#35387Unknown categories in a `categories` object dereference an empty optionalsrc/rpc/node.cpp:273adversarial_claude:1publishAccepted, sharedreport
#35387A config-file global `loglevel` overrides per-category command-line levelssrc/init/common.cpp:85adversarial_claude:2publishAccepted, solereport
#35387The test fixture's `-loglevel=trace` re-enables logging in no-log and benchmark setupssrc/init/common.cpp:89adversarial_claude:3publishAccepted, sharedreport
#35387A global `-loglevel` broadens an existing `-debug=<category>` allowlistsrc/init/common.cpp:86adversarial_claude:4publishAccepted, solereport
#35387The `libevent` examples for the `loglevel` RPC are rejecteddoc/release-notes-35387.md:25adversarial_claude:5publishAccepted, sharedreport
#35387The `all:<level>` forms apply the default threshold instead of the requested levelsrc/init/common.cpp:97adversarial_claude:6publishAccepted, solereport
#35387Runtime trace changes do not update existing SQLite and IPC trace sourcessrc/rpc/node.cpp:204adversarial_claude:7publishAccepted, sharedreport
#35377Odd-parity x-only Taproot keys are not matched to wallet-held private keyssrc/wallet/imports.cpp:149adversarial_claude:1publishAccepted, sharedreport
#35377MuSig missing-participant-key warnings are no longer coveredtest/functional/wallet_importdescriptors.py:296adversarial_claude:2publishAccepted, solereport
#35377MuSig participants change `gethdkeys` results and HD-key defaultingsrc/script/descriptor.cpp:1117adversarial_claude:3publishAccepted, solereport
#35377Descriptors become mutable in place; ID and canonical-hash consistency now depend on callerssrc/script/descriptor.cpp:878adversarial_claude:4dropNot acceptedreport
#35377Batch imports repeatedly copy and decrypt wallet root keyssrc/wallet/imports.cpp:124adversarial_claude:5publishAccepted, sharedreport
#35377`SubstituteMasterExtPubs` comment misstates what the function doessrc/script/descriptor.h:215adversarial_claude:6publishAccepted, solereport
#35355MakeNoLogFileContext leaves debug and trace logging on for all categoriessrc/test/util/setup_common.cpp:167adversarial_claude:1publishAccepted, sharedreport
#35355Kernel log masks can be left stale when SetMinLevel races with connection create/destroysrc/kernel/bitcoinkernel.cpp:548adversarial_claude:2publishAccepted, sharedreport
#35355`logging` include/debug now removes trace logging from categories that were at tracesrc/rpc/node.cpp:279adversarial_claude:3publishAccepted, solereport
#35355Concurrent logging RPC updates can leave a category traced but not debug-loggedsrc/logging.cpp:565adversarial_claude:4publishAccepted, sharedreport
#35355Release note says wallet SQL is the only supported trace loggingdoc/release-notes-34038.md:4adversarial_claude:5publishAccepted, sharedreport
#35307The restart in the new test masks the missing-cursor failuretest/functional/feature_assumeutxo.py:242adversarial_claude:1publishAccepted, sharedreport
#35307Snapshot activation can leave the ASSUMED blockfile cursor unsetsrc/node/blockstorage.cpp:801adversarial_claude:2publishAccepted, sharedreport
#35307Loading the block index can duplicate an unlinked base entrysrc/node/blockstorage.cpp:500adversarial_claude:3publishAccepted, solereport
#35302bumpfee can direct change to an address-less scriptsrc/wallet/feebumper.cpp:328adversarial_claude:1publishAccepted, solereport
#35302Silent-payments fallback can bypass avoid-partial-spends groupingsrc/wallet/spend.cpp:1020adversarial_claude:2publishAccepted, sharedreport
#35302Fee-bump behavior for relearned silent-payments transactions is unclearsrc/wallet/feebumper.cpp:263adversarial_claude:3publishAccepted, sharedreport
#35302Placeholder replacement metadata affects wallet behavior after downgradesrc/wallet/transaction.h:304adversarial_claude:4publishAccepted, solereport
#35302A silent payments recipient without m_silent_payments set crashes the node instead of returning an errorsrc/wallet/spend.cpp:1513adversarial_claude:5dropNot acceptedreport
#35302Silent-payments RPC behavior and address validation are undocumentedsrc/rpc/output_script.cpp:81adversarial_claude:6publishAccepted, sharedreport
#34132Startup database corruption aborts before reindex recovery is offeredsrc/dbwrapper.cpp:358adversarial_claude:1publishAccepted, sharedreport
#34132Kernel database read failures abort without notifying the hostsrc/kernel/chainstatemanager_opts.h:47adversarial_claude:2publishAccepted, sharedreport
#34132Corruption in an optional index can now be used by peers to crash the node repeatedlysrc/init.cpp:2018adversarial_claude:3dropNot acceptedreport
#34132Read-error test accepts the old RPC error pathtest/functional/feature_coinsdb_read_error.py:43adversarial_claude:4publishAccepted, solereport
#32575Block validation duplicates script-check constructionsrc/validation.cpp:2604adversarial_claude:1publishAccepted, solereport
#32575No regression test covers cache writes from TestBlockValiditysrc/validation.cpp:2642adversarial_claude:2publishAccepted, sharedreport
#32575The cache lookup comment omits its erase-on-hit behaviorsrc/validation.cpp:2071adversarial_claude:3publishAccepted, solereport
#32575The cache lookup comment omits its erase-on-hit behaviorsrc/validation.cpp:2071adversarial_claude:4publishAccepted, solereport
#32575p2p_segwit -par=1 comment is outdated now that HasThreads is gonesrc/validation.cpp:2533adversarial_claude:5dropNot acceptedreport
#35570Fatal errors overwrite the original block-validation reasonsrc/validation.cpp:2323adversarial_claude:1publishAccepted, solereport
#35570Peer-reachable hard asserts protect a contract that net_processing already handles gracefullysrc/validation.cpp:4277adversarial_claude:2dropNot acceptedreport
#35570Commit message inaccurately describes a kernel C API changesrc/kernel/bitcoinkernel.cpp:1437adversarial_claude:3publishAccepted, solereport
#35671A null-coinbase template can approve transactions that do not fit with the real coinbasesrc/interfaces/mining.h:167adversarial_claude:1publishAccepted, solereport
#35671The new test-framework constant and helper parameter are unusedtest/functional/test_framework/messages.py:40adversarial_claude:2publishAccepted, solereport
#36525Fee getter documentation omits prioritisation deltassrc/interfaces/mining.h:50adversarial_claude:1publishAccepted, solereport
#35728Persistent stale-row errors do not explain how to rebuild the txindexsrc/index/txindex.cpp:195adversarial_claude:1publishAccepted, solereport
#35728An unusable txindex row can prevent an explicit-block lookupsrc/node/transaction.cpp:164adversarial_claude:2publishAccepted, sharedreport
#35728The release note misstates the RPC error codedoc/release-notes-35728.md:4adversarial_claude:3publishAccepted, solereport
#35728Header documentation omits the new exceptionssrc/node/transaction.cpp:165adversarial_claude:4publishAccepted, sharedreport
#36124TryReadRequestInternal() has no documented or checked preconditions, and the old ReadRequest contract was droppedsrc/httpserver.h:552adversarial_claude:1dropNot acceptedreport
#35763The temporary JSON file is renamed into place without being synced to disksrc/common/settings.cpp:153adversarial_claude:1publishAccepted, sharedreport
#35763The helper name does not match the name promised in the PR descriptionsrc/common/settings.h:48adversarial_claude:2publishAccepted, solereport
#35763Test requires a stale .tmp to remain after a failed writesrc/test/banman_tests.cpp:73adversarial_claude:3dropNot acceptedreport
#35763The directory-iterator variable shadows the test's `CBanEntry` variablesrc/test/banman_tests.cpp:75adversarial_claude:4publishAccepted, solereport
#35786Spent parents are still marked dirty on spend in avoid_reuse wallets, via MarkDestinationsDirtysrc/wallet/wallet.cpp:1059adversarial_claude:1dropNot acceptedreport
#35786Keypool top-up can leave a parent’s cached credit stalesrc/wallet/wallet.cpp:1418adversarial_claude:2publishAccepted, solereport
#35786SyncTransaction is now a pure pass-throughsrc/wallet/wallet.cpp:1397adversarial_claude:3dropNot acceptedreport
#35788A negative spent-output amount aborts `bitcoin-util`src/bitcoin-util.cpp:378adversarial_claude:1publishAccepted, sharedreport
#35788Even-length decimal script tokens are interpreted as raw hexsrc/bitcoin-util.cpp:312adversarial_claude:2publishAccepted, sharedreport
#35788Tapscript budget omits the control block and annexsrc/bitcoin-util.cpp:414adversarial_claude:3publishAccepted, sharedreport
#35788Base mode accepts initial stack elements that scriptSig cannot producesrc/bitcoin-util.cpp:447adversarial_claude:4publishAccepted, solereport
#35788Base-mode sigop cost overstates P2SH redeem-script countssrc/bitcoin-util.cpp:484adversarial_claude:5publishAccepted, solereport
#35788Options for other commands and ignored `evalscript` arguments are accepted silentlysrc/bitcoin-util.cpp:64adversarial_claude:6publishAccepted, solereport
#35788Transaction-checker tests do not cover tapscript or witness_v0src/bitcoin-util.cpp:381adversarial_claude:7publishAccepted, solereport
#35793BIP54 sigops rejections no longer cache the txidsrc/consensus/tx_verify.cpp:205adversarial_claude:1publishAccepted, solereport
#35793No release note covers BIP54's regtest and mempool changessrc/kernel/chainparams.cpp:639adversarial_claude:2publishAccepted, solereport
#35793The Taproot vector generator no longer reproduces the published BIP341 wallet vectorstest/functional/feature_taproot.py:1668adversarial_claude:3publishAccepted, solereport
#36494Explicit null options fail after coin selection and signingsrc/wallet/rpc/spend.cpp:1405adversarial_claude:1publishAccepted, solereport
#36494Dropping PreventOutdatedOptions removes the migration hints and changes the error code for legacy camelCase keyssrc/wallet/rpc/spend.cpp:1387adversarial_claude:2dropNot acceptedreport
#36494Tests do not pin option checking before fee-argument mergingtest/functional/wallet_sendall.py:288adversarial_claude:3publishAccepted, solereport
#36494The new allowlist still accepts `solving_data`, which sendall never readssrc/wallet/rpc/spend.cpp:1403adversarial_claude:4dropNot acceptedreport
#35820Assumevalid test does not pin the exact two-week thresholdtest/functional/feature_assumevalid.py:190adversarial_claude:1publishAccepted, solereport
#36325Key matching calls derivehdkey with paths the RPC rejectscontrib/multisig/wizard.py:274adversarial_claude:1publishAccepted, sharedreport
#36325Repeated keys are counted as separate multisig cosignerscontrib/multisig/wizard.py:201adversarial_claude:2publishAccepted, sharedreport
#36325Importing a second multisig makes it active and redirects changecontrib/multisig/wizard.py:345adversarial_claude:3publishAccepted, solereport
#36325The account parameter derives from a new seed on every callcontrib/multisig/wizard.py:51adversarial_claude:4publishAccepted, solereport
#36325Importing with timestamp "now" can hide payments made before importcontrib/multisig/wizard.py:345adversarial_claude:5publishAccepted, sharedreport
#36325verify() fetches private keys it does not usecontrib/multisig/wizard.py:277adversarial_claude:6publishAccepted, solereport
#36325Origin-tagged raw public keys pass validation but cannot be rangedcontrib/multisig/wizard.py:81adversarial_claude:7publishAccepted, sharedreport
#36325The NUMS xpub check rejects derived and test-network formscontrib/multisig/wizard.py:247adversarial_claude:8publishAccepted, sharedreport
#36628A valid IPv4-only configuration can be rejected despite having a Tor proxysrc/init.cpp:2450adversarial_claude:1publishAccepted, solereport
#36628Queued jobs are never checked again before they start, so a deep queue can send stale or superseded transactions days latersrc/node/privbcast.cpp:354adversarial_claude:2dropNot acceptedreport
#35855RISC-V Guix builds pass an empty argument to CMakecontrib/guix/libexec/build_linux.sh:65adversarial_claude:1publishAccepted, solereport
#35855Confirm CMAKE_LINK_WARNING_AS_ERROR really adds --fatal-warnings for these cross linkerscontrib/guix/libexec/build_linux.sh:42adversarial_claude:2dropNot acceptedreport
#35855The Windows GUI build still uses the old fatal-link-warning flagcontrib/guix/libexec/build_win.sh:53adversarial_claude:3publishAccepted, sharedreport
#35855Unpinned upstream osslsigncode must be ≥2.14, but nothing records thatcontrib/guix/manifest_codesign.scm:183adversarial_claude:4dropNot acceptedreport
#35855The pinned Guix commit differs from the revision describedcontrib/guix/libexec/prelude.bash:74adversarial_claude:5publishAccepted, solereport
#35918ParsePubkey applies taproot rules to keys intended for P2WSHsrc/script/descriptor.cpp:2920adversarial_claude:1publishAccepted, solereport
#35918HavePrivateKeys() misses partially private musig() expressionssrc/script/descriptor.h:171adversarial_claude:2publishAccepted, solereport
#36629Stale script-index rows survive a restart and are read against the wrong blocksrc/index/txoscriptindex.cpp:81adversarial_claude:1publishAccepted, sharedreport
#36629A spender after the asof block is re-read once for each matched output it spendssrc/rpc/blockchain.cpp:4095adversarial_claude:2publishAccepted, sharedreport
#36629Spentness check holds cs_main for one UTXO lookup per matched outputsrc/rpc/blockchain.cpp:4007adversarial_claude:3publishAccepted, solereport
#36629Verbosity-2 block and undo reads are not charged to the lookup budgetsrc/rpc/blockchain.cpp:4148adversarial_claude:4publishAccepted, sharedreport
#36000bitcoinkernel C API users cannot turn off or resize the new block read-ahead threadssrc/kernel/chainstatemanager_opts.h:56adversarial_claude:1dropNot acceptedreport
#36002A readable stale copy masks the pruned active-chain blocksrc/index/txindex.cpp:223adversarial_claude:1publishAccepted, solereport
#36015Cheap parent variants repeatedly deserialize the same missing-input orphansrc/node/txdownloadman_impl.cpp:321adversarial_claude:1publishAccepted, sharedreport
#36015The orphan RPC rebuilds every transaction while holding the download mutexsrc/node/txorphanage.cpp:783adversarial_claude:2publishAccepted, sharedreport
#36015The test comment misstates the orphanage usage metricsrc/test/orphanage_tests.cpp:113adversarial_claude:3publishAccepted, solereport
#36033Two CI jobs use compilers that cannot build the treeCMakeLists.txt:84adversarial_claude:1publishAccepted, sharedreport
#36033The Cap'n Proto and Clang incompatibility check is skipped in C++23 modeCMakeLists.txt:84adversarial_claude:2publishAccepted, sharedreport
#36033The std::expected alias removes always-on wrong-state access checkssrc/util/expected.h:14adversarial_claude:3publishAccepted, solereport
#36042The NetBSD build guide selects a GCC version below the new minimumdoc/dependencies.md:14adversarial_claude:1publishAccepted, solereport
#36042The format check misidentifies a missing standard-library feature as an old compilercmake/module/CheckCXXFeatures.cmake:52adversarial_claude:2publishAccepted, sharedreport
#36042Moving the Ubuntu 22.04 job removes CI coverage of the documented CMake and Python minimumsci/test/00_setup_env_native_previous_releases.sh:9adversarial_claude:3publishAccepted, solereport
#36042NetBSD job is removed from GHA in the same PR that adds new NetBSD CI logic, so that logic never runs in CIci/test/00_setup_env_netbsd_cross.sh:17adversarial_claude:4dropNot acceptedreport
#36042PR approves std::format for new code but records no in-tree guidance next to the tinyformat conventionssrc/bench/wallet_migration.cpp:77adversarial_claude:5dropNot acceptedreport
#36060Exception-symbol probe likely rejects older Cap'n Proto releases that are still supportedcmake/module/CheckKjExceptions.cmake:110adversarial_claude:1unresolvedNot acceptedreport
#36060External libmultiprocess builds leave Core IPC targets on KJ autodetectionsrc/ipc/CMakeLists.txt:65adversarial_claude:2publishAccepted, sharedreport
#36060Per-target PRIVATE defines depend on every target that includes mp/kj headers remembering to add themcmake/libmultiprocess.cmake:22adversarial_claude:3dropNot acceptedreport
#36060The in-tree KJ probe re-resolves libkj instead of using IPC's Cap'n Proto targetcmake/libmultiprocess.cmake:13adversarial_claude:4publishAccepted, sharedreport
#36060Cached probe results undo the reconfigure protection the NO_CACHE comment claimscmake/module/CheckKjExceptions.cmake:24adversarial_claude:5dropNot acceptedreport
#36434`BitcoinHTTPConnection.reset_conn()` drops the configured timeouttest/functional/interface_http.py:48adversarial_claude:1publishAccepted, sharedreport
#36434Startup can replace another node’s live Unix RPC socketsrc/netbase.cpp:801adversarial_claude:2publishAccepted, sharedreport
#36434Unix RPC sockets cannot grant group accesssrc/httpserver.cpp:835adversarial_claude:3publishAccepted, solereport
#36434The negative log check in `rpc_bind.py` cannot matchtest/functional/rpc_bind.py:242adversarial_claude:4publishAccepted, solereport
#36434--httpunix adds -rpcbind=unix to previous-release nodes that don't support ittest/functional/test_framework/test_node.py:175adversarial_claude:5dropNot acceptedreport
#36434Release notes overstate when a non-socket path stops startupdoc/release-notes-36434.md:20adversarial_claude:6publishAccepted, solereport
#36434`SocketAddr::GetHost()` is unused and returns an invalid IPv6 Host valuesrc/netbase.h:228adversarial_claude:7publishAccepted, solereport
#36548Signet serving adds a redundant solution check and caller preconditionsrc/node/blockstorage.cpp:1158adversarial_claude:1publishAccepted, solereport
#36356The PR description names a method that does not existsrc/node/block_template_manager.h:77adversarial_claude:1publishAccepted, solereport
#36677Custom open()/fdopen() fallback covers every non-Linux POSIX libc, but CI only runs it on macOSsrc/util/fs.cpp:32adversarial_claude:1dropNot acceptedreport
#36677The new test does not cover exclusive-create or append semanticssrc/test/fs_tests.cpp:153adversarial_claude:2publishAccepted, sharedreport
#36677FileLock in the same file still opens the long-lived .lock fd without O_CLOEXECsrc/util/fs.cpp:86adversarial_claude:3dropNot acceptedreport
#35714Flush failure leaves the coins tip ahead of the active chainsrc/validation.cpp:2784adversarial_claude:1publishAccepted, solereport
#35714A flush failure during pruning drops the prune set after the in-memory pruning has already been applied, so the files are never deletedsrc/validation.cpp:2784adversarial_claude:2dropNot acceptedreport
#35714Flush failure leaves the coins tip ahead of the active chainsrc/validation.cpp:2784adversarial_claude:3publishAccepted, solereport
#36434`BitcoinHTTPConnection.reset_conn()` drops the configured timeouttest/functional/interface_http.py:48adversarial_claude:1publishAccepted, sharedreport
#36434Startup can replace an active Unix RPC socketsrc/netbase.cpp:801adversarial_claude:2publishAccepted, sharedreport
#36434Unix RPC sockets cannot grant group accesssrc/httpserver.cpp:840adversarial_claude:3publishAccepted, solereport
#36434The negative log check in `rpc_bind.py` cannot matchtest/functional/rpc_bind.py:242adversarial_claude:4publishAccepted, solereport
#36434Connection error can name an address that `bitcoin-cli` never triedsrc/bitcoin-cli.cpp:1296adversarial_claude:5publishAccepted, solereport
#36124TryReadRequestInternal() has no docstring, and its m_req precondition is uncheckedsrc/httpserver.h:549adversarial_claude:1dropNot acceptedreport
#36114Already-finalized inputs cause external-signer requests to failsrc/external_signer.cpp:170adversarial_claude:1publishAccepted, sharedreport
#36114Unsafe-sighash check also flags other participants' signatures and declarationssrc/external_signer.cpp:175adversarial_claude:2dropNot acceptedreport
#36114PSBTv2 responses can change an omitted input sequencesrc/external_signer.cpp:181adversarial_claude:3publishAccepted, sharedreport
#36677The unconditional `<cstring>` include fails IWYU on Linuxsrc/util/fs.cpp:11adversarial_claude:1publishAccepted, solereport
#36677A hand-written copy of fopen's mode parsing is compiled only on macOS/BSD, so most CI never runs itsrc/util/fs.cpp:33adversarial_claude:2dropNot acceptedreport
#36677The test does not cover key fopen mode semantics on macOS and BSDsrc/test/fs_tests.cpp:153adversarial_claude:3publishAccepted, sharedreport
#36677The PR does not state what problem it fixes; other long-lived inheritable descriptors remainsrc/util/fs.cpp:26adversarial_claude:4dropNot acceptedreport
#36677Fixup commits leave the history non-bisectable and messages describe superseded codesrc/util/fs.cpp:26adversarial_claude:5publishAccepted, solereport
#36677New code has formatting inconsistencies and an unused test includesrc/util/fs.cpp:37adversarial_claude:6publishAccepted, solereport
#36122Witness-v2 spends are standard on networks where CISA is inactivesrc/policy/policy.h:133adversarial_claude:1publishAccepted, solereport
#36122PSBT completion accepts unverified CISA aggregate witnessessrc/psbt.cpp:938adversarial_claude:2publishAccepted, sharedreport
#36122Aggregate signatures are verified serially in one check-queue jobsrc/validation.cpp:2134adversarial_claude:3publishAccepted, solereport
#36122Mempool acceptance verifies each aggregate signature twicesrc/validation.cpp:2133adversarial_claude:4publishAccepted, solereport
#36122`descriptorprocesspsbt` cannot retain fullagg secret noncessrc/rpc/rawtransaction.cpp:2157adversarial_claude:5publishAccepted, sharedreport
#35731A block-file flush error leaves the coins tip ahead of the active chainsrc/validation.cpp:2797adversarial_claude:1publishAccepted, sharedreport
#35731The flush-error notification guarantee covers only file-sequence flush failuressrc/node/blockstorage.cpp:750adversarial_claude:2publishAccepted, solereport
#35731Undo-failure test builds the rev path by string manipulation instead of asking BlockManagersrc/test/blockmanager_tests.cpp:397adversarial_claude:3dropNot acceptedreport
#36688Urgent pointers ahead of received data can still cause a busy loopsrc/netbase.cpp:573adversarial_claude:1publishAccepted, solereport
#36688Urgent-data test does not check that the pending state clearssrc/test/netbase_tests.cpp:658adversarial_claude:2publishAccepted, solereport
#36434Startup unlinks an active RPC socket instead of reporting a conflictsrc/netbase.cpp:801adversarial_claude:1publishAccepted, sharedreport
#36434Unix RPC socket cannot grant group accesssrc/httpserver.cpp:842adversarial_claude:2publishAccepted, solereport
#36434Release notes overstate when a non-socket path prevents startupdoc/release-notes-36434.md:21adversarial_claude:3publishAccepted, sharedreport
#36434Negative log check in `rpc_bind.py` never matchestest/functional/rpc_bind.py:242adversarial_claude:4publishAccepted, solereport
#36434Unix peer-path filter depends on plain `char` signednesssrc/netbase.cpp:736adversarial_claude:5publishAccepted, solereport
#36188ECC context creation races with SHA256 dispatch updatessrc/ecc_context.cpp:32adversarial_claude:1publishAccepted, sharedreport
#36188Signature verification now reads a caller-managed global, but libbitcoinkernel never creates onesrc/ecc_context.cpp:22adversarial_claude:2dropNot acceptedreport
#36648Parse errors do not identify which key or descriptor failedsrc/script/descriptor.cpp:2007adversarial_claude:1publishAccepted, solereport
#36648Parse errors do not identify which key or descriptor failedsrc/script/descriptor.cpp:2007adversarial_claude:2publishAccepted, solereport
#36648Functional leak check only looks for a 4-character prefix and matches messages as substringstest/functional/rpc_getdescriptorinfo.py:71adversarial_claude:3dropNot acceptedreport
#36648The don't-quote-long-text rule exists in two places with separate copies of the limitsrc/util/bip32.cpp:34adversarial_claude:4dropNot acceptedreport
#36142A fake Tor endpoint can replace an existing onion key with a key it controlssrc/torcontrol.cpp:536adversarial_claude:1publishAccepted, solereport
#36142Malformed-cache warning omits the required restartsrc/torcontrol.cpp:575adversarial_claude:2publishAccepted, solereport
#36628The check that the proxy reaches Tor before any IPv4/IPv6 connection was removed; only RESOLVE support now gates clearnet connectionssrc/init.cpp:2046adversarial_claude:1dropNot acceptedreport
#36628The descriptor check rejects private broadcast on select() builds with `FD_SETSIZE` 256src/init.cpp:1182adversarial_claude:2publishAccepted, solereport
#36628The cap test assumes the first job stays running for the entire testtest/functional/p2p_private_broadcast_cap.py:54adversarial_claude:3publishAccepted, solereport
#35793BIP54 sigops rejections no longer cache the transaction IDsrc/consensus/tx_verify.cpp:205adversarial_claude:1publishAccepted, sharedreport
#35793Release notes omit BIP54's regtest and mempool behavior changessrc/kernel/chainparams.cpp:639adversarial_claude:2publishAccepted, sharedreport
#35793The end-to-end test does not exercise the coinbase nSequence (bad-cb-sequence) ruletest/functional/feature_bip54.py:409adversarial_claude:3dropNot acceptedreport
#35793Unused tx_verify include and library move remain after the policy check was removedsrc/policy/policy.cpp:13adversarial_claude:4publishAccepted, solereport
#33904REST results can differ from request ordersrc/rest.cpp:987adversarial_claude:1publishAccepted, sharedreport
#33904Successful responses omit a cache directivesrc/rest.cpp:1014adversarial_claude:2publishAccepted, sharedreport
#33904Duplicate outpoints with return_spending_tx multiply disk reads and response size on the unauthenticated interfacesrc/rest.cpp:920adversarial_claude:3dropNot acceptedreport
#33904Docs example blockhash is not a valid 64-character hex hashdoc/REST-interface.md:198adversarial_claude:4dropNot acceptedreport
#33904The new REST endpoint is missing a release notedoc/REST-interface.md:166adversarial_claude:5publishAccepted, solereport
#36677POSIX close-on-exec is not atomic with opening the filesrc/util/fs.cpp:26adversarial_claude:1publishAccepted, sharedreport
#36677Test only covers "wb", but Windows now appends "N" to every caller's mode stringsrc/test/fs_tests.cpp:153adversarial_claude:2dropNot acceptedreport
#36608Test acceptance pools replacement checks for a parent and childsrc/validation.cpp:1761adversarial_claude:1publishAccepted, sharedreport
#36608Private broadcast transport IDs overlap node peer IDs in debug logssrc/privbcast/job.cpp:270adversarial_claude:2publishAccepted, solereport
#36628The not-Tor proxy test relies on four exchanges finishing within 240 mstest/functional/p2p_private_broadcast_proxy.py:54adversarial_claude:1publishAccepted, solereport
#36628Queued jobs are never rechecked before they start, while starts are now serialized 35-55 s apart behind up to 10,000 queued jobssrc/node/privbcast.cpp:354adversarial_claude:2dropNot acceptedreport
#36124Document that callers of the now-public HTTPRequest::Load() must drop the bytes it consumedsrc/httpserver.h:170adversarial_claude:1dropNot acceptedreport
#33904Mixed mempool and index results do not preserve request ordersrc/rest.cpp:987adversarial_claude:1publishAccepted, sharedreport
#33904Successful responses omit `Cache-Control: no-store`src/rest.cpp:1014adversarial_claude:2publishAccepted, sharedreport
#33904An unavailable index returns 503 even when retrying cannot helpsrc/rest.cpp:994adversarial_claude:3publishAccepted, solereport
#33904An empty `mempool_only` parameter uses the default instead of returning 400src/rest.cpp:929adversarial_claude:4publishAccepted, sharedreport
#33904The 15-outpoint cap borrowed from getutxos does not limit response size when return_spending_tx=truesrc/rest.cpp:920adversarial_claude:5dropNot acceptedreport
#33904The new REST endpoint is missing a release notedoc/REST-interface.md:166adversarial_claude:6publishAccepted, sharedreport
#33904Example blockhash is not valid hexdoc/REST-interface.md:198adversarial_claude:7dropNot acceptedreport
#33904Mixed lookups return results out of request ordersrc/rest.cpp:986adversarial_claude:1publishAccepted, sharedreport
#33904Successful responses omit `Cache-Control: no-store`src/rest.cpp:1013adversarial_claude:2publishAccepted, sharedreport
#36167The new `-Wunused` flag is redundant; the effective change enables `-Wunused-parameter`CMakeLists.txt:483adversarial_claude:1publishAccepted, solereport
#36167Dead parameters remain in internal functions after being silencedsrc/init.cpp:909adversarial_claude:2publishAccepted, solereport
#36167Unnamed interface parameters make callback arguments harder to distinguishsrc/kernel/bitcoinkernel_wrapper.h:1124adversarial_claude:3publishAccepted, solereport
#36167`maxtries` and `psbt_version` now accept different integer rangessrc/rpc/mining.cpp:317adversarial_claude:4publishAccepted, sharedreport
#36167The alias test does not verify that the legacy name is rejectedsrc/test/rpc_tests.cpp:650adversarial_claude:5publishAccepted, solereport
#36167The leveldb edits bypass the subtree and can be replaced by a targeted warning suppressionsrc/leveldb/db/db_impl.cc:1062adversarial_claude:6publishAccepted, solereport
#36676Send timeouts are reported as generic send failuressrc/bitcoin-cli.cpp:917adversarial_claude:1publishAccepted, solereport
#36676No test covers the stalled-send timeout pathsrc/bitcoin-cli.cpp:917adversarial_claude:2publishAccepted, sharedreport
#36188Run SHA256 autodetection once per processsrc/ecc_context.cpp:32adversarial_claude:1publishAccepted, solereport
#36188Require a 32-byte seed for the signing contextsrc/ecc_context.cpp:47adversarial_claude:2publishAccepted, solereport
#36677Fix the syntax errors in the Windows test branchsrc/test/fs_tests.cpp:157adversarial_claude:1publishAccepted, sharedreport
#36677Set close-on-exec atomically or document the POSIX guarantee as best-effortsrc/util/fs.cpp:26adversarial_claude:2publishAccepted, sharedreport
#29843-acceptnonstdtxn now drops SCRIPT_VERIFY_CONST_SCRIPTCODE, a DoS guard rather than an upgrade hooksrc/validation.cpp:1140adversarial_claude:1dropNot acceptedreport
#29843Sync nodes between cross-node steps in `test_uncompressed_pubkey`test/functional/p2p_segwit.py:1478adversarial_claude:2publishAccepted, sharedreport
#29843Restore coverage of policy-before-consensus first-error reportingtest/functional/data/invalid_txs.py:287adversarial_claude:3publishAccepted, solereport
#36628Queue full, networking off and shutting down all return RPC_LIMIT_EXCEEDEDsrc/rpc/util.cpp:405adversarial_claude:1dropNot acceptedreport
#36477Count only remaining planned sends for resolved transactionssrc/private_broadcast.cpp:195adversarial_claude:1publishAccepted, sharedreport
#36477Test that eviction removes the oldest finished entrysrc/private_broadcast.cpp:49adversarial_claude:2publishAccepted, sharedreport
#36477Check the values in `received_by_us`, not only that its keys existtest/functional/p2p_private_broadcast.py:323adversarial_claude:3publishAccepted, sharedreport
#36477Update comments that say exhausted transactions stay trackedsrc/private_broadcast.h:47adversarial_claude:4publishAccepted, solereport
#35793BIP54 always active on regtest stops existing fuzz harnesses from mining valid blockssrc/kernel/chainparams.cpp:639adversarial_claude:1undisposedNot acceptedreport
#35793Reclassifying BIP54 sigops failures as TX_CONSENSUS stops their txid from entering the reject filtersrc/consensus/tx_verify.cpp:205adversarial_claude:2undisposedNot acceptedreport
#35793Regtest getblocktemplate now requires the 'consensuscleanup' rule, with no release notesrc/deploymentinfo.cpp:18adversarial_claude:3undisposedNot acceptedreport
#35793bip54_sigops fuzz target throws away the result, so it only detects crashessrc/test/fuzz/bip54.cpp:53adversarial_claude:4undisposedNot acceptedreport
#36343Handle invalid final fields in analyzepsbt role reportingsrc/psbt.cpp:814adversarial_claude:1publishAccepted, solereport
#36343Clarify how SignPSBTInput handles invalid final fieldssrc/psbt.cpp:812adversarial_claude:2publishAccepted, solereport
#36343Release note covers only finalizepsbt, but other callers of FinalizePSBT also changedoc/release-notes-36343.md:4adversarial_claude:3dropNot acceptedreport
#36677Windows branch of the new test does not compilesrc/test/fs_tests.cpp:159adversarial_claude:1undisposedNot acceptedreport
#36677FD_CLOEXEC is set after fopen, so a concurrent exec can still inherit the fdsrc/util/fs.cpp:27adversarial_claude:2undisposedNot acceptedreport
#36677Squash the fixup commits and correct the first commit messagesrc/util/fs.cpp:26adversarial_claude:3undisposedNot acceptedreport
#36157Zero-padding check runs on de-XORed bytes, so the hang remains for obfuscated block dirs (the default)contrib/linearize/linearize-data.py:212adversarial_claude:1dropNot acceptedreport
#36157Do not treat every zero-leading magic as paddingcontrib/linearize/linearize-data.py:212adversarial_claude:2publishAccepted, sharedreport
#36452Limit missing-undo skips to blocks that can legitimately lack undosrc/validation.cpp:4702adversarial_claude:1publishAccepted, solereport
#36452Continue shallow checks after encountering missing undosrc/validation.cpp:4705adversarial_claude:2publishAccepted, solereport
#36607Match the privacy guard on txid as well as wtxidsrc/private_broadcast.cpp:89adversarial_claude:1publishAccepted, sharedreport
#36607Consider routing suppressed requested broadcasts through private broadcastsrc/net_processing.cpp:2496adversarial_claude:2publishAccepted, solereport
#36607Test unbroadcast-set removal with a non-vacuous casetest/functional/p2p_private_broadcast_then_public.py:176adversarial_claude:3publishAccepted, solereport
#36607Report remaining planned sends for resolved transactionssrc/private_broadcast.cpp:202adversarial_claude:4publishAccepted, sharedreport
#36607Guard checks only the exact wtxid, so a same-txid witness variant in the mempool is still announcedsrc/net_processing.cpp:2491adversarial_claude:1undisposedNot acceptedreport
#36607Suppressed broadcast is dropped silently and permanently, with no private fallbacksrc/net_processing.cpp:2494adversarial_claude:2undisposedNot acceptedreport
#36607New Contains() API, which the guard depends on, is not exercised by fuzz or unit testssrc/test/fuzz/private_broadcast.cpp:280adversarial_claude:3undisposedNot acceptedreport
#36681Free selected prune files before the coins disk-space preflightsrc/validation.cpp:2829adversarial_claude:1publishAccepted, sharedreport
#36681Sync prune-forced coins batches before committing the prune indexsrc/validation.cpp:2828adversarial_claude:2publishAccepted, sharedreport
#36607Keep private retries active after a blocked local submissionsrc/net_processing.cpp:2491adversarial_claude:1publishAccepted, solereport
#36607Prevent GETDATA from revealing a suppressed transactionsrc/net_processing.cpp:2494adversarial_claude:2publishAccepted, solereport
#36607Match the privacy guard on txid as well as wtxidsrc/private_broadcast.cpp:89adversarial_claude:3publishAccepted, sharedreport
#36607Make suppressed broadcasts visible to callerssrc/net_processing.cpp:2495adversarial_claude:4publishAccepted, solereport
#36607Test `Contains()` and oldest-first eviction in the fuzz modelsrc/test/fuzz/private_broadcast.cpp:140adversarial_claude:5publishAccepted, sharedreport
#36680Warn that accepting the prompt can redownload the entire blockchainsrc/node/chainstate.cpp:133adversarial_claude:1publishAccepted, solereport
#29843Sync the nodes between subtest stepstest/functional/p2p_segwit.py:1478adversarial_claude:1publishAccepted, sharedreport
#29843Clarify which transactions can become consensus-invaliddoc/release-notes-29843.md:7adversarial_claude:2publishAccepted, solereport
#29843Restore coverage of first-error reporting under standard flagstest/functional/data/invalid_txs.py:287adversarial_claude:3publishAccepted, solereport
#36603Finish the serializer input queue when a database write failssrc/node/utxo_snapshot.cpp:162adversarial_claude:1publishAccepted, sharedreport
#36603Support non-seekable snapshot inputsrc/utxo_snapshot.h:228adversarial_claude:2publishAccepted, sharedreport
#36603Test that the persisted chainstate matches the commitmentsrc/node/utxo_snapshot.cpp:276adversarial_claude:3publishAccepted, solereport
#36603Add a functional test for `txoutsetsummary`src/bitcoin-util.cpp:56adversarial_claude:4publishAccepted, solereport
#36603Make the existing-directory error match the caller's behaviorsrc/node/utxo_snapshot.cpp:299adversarial_claude:5publishAccepted, solereport
#36677Windows branch of the new test does not compilesrc/test/fs_tests.cpp:157adversarial_claude:1undisposedNot acceptedreport
#36677POSIX close-on-exec is set after fopen, not atomicallysrc/util/fs.cpp:27adversarial_claude:2undisposedNot acceptedreport
#36677Test covers only "wb" although 'N' is appended to every caller modesrc/test/fs_tests.cpp:145adversarial_claude:3undisposedNot acceptedreport
#36292Distinguish LevelDB cleanup failures from leftover-file errorssrc/index/coinstatsindex.cpp:101adversarial_claude:1publishAccepted, solereport
#36292Name the release note file after the PR numberdoc/release-notes-coinstatsindex-cleanup.md:1adversarial_claude:2publishAccepted, solereport
#36677New test calls fcntl/F_GETFD/FD_CLOEXEC with no WIN32 guard, so test_bitcoin no longer builds on Windowssrc/test/fs_tests.cpp:153adversarial_claude:1undisposedNot acceptedreport
#36677Setting FD_CLOEXEC after fopen leaves a fork/exec race; the PR text and first commit describe the atomic 'e' approachsrc/util/fs.cpp:27adversarial_claude:2undisposedNot acceptedreport
#36326Preserve snapshot-validation details in the kernel logsrc/validation.cpp:6025adversarial_claude:1publishAccepted, solereport
#36326Preserve dynamic fatal-error details for C API consumerssrc/kernel/bitcoinkernel.cpp:368adversarial_claude:2publishAccepted, solereport
#36326Make fatal-error rendering exhaustivesrc/validation.cpp:2147adversarial_claude:3publishAccepted, sharedreport
#36188Run SHA256 autodetection once per processsrc/ecc_context.cpp:32adversarial_claude:1publishAccepted, sharedreport
#36188BIP324 ECDH now silently requires an ECC_Contextsrc/key.cpp:336adversarial_claude:2dropNot acceptedreport
#36328Trimmed-package regression test only covers a parent whose txid differs from its wtxidtest/functional/p2p_opportunistic_1p1c.py:254adversarial_claude:1dropNot acceptedreport
#36180Warn when the intro applies pruning but cannot save itsrc/node/interfaces.cpp:184adversarial_claude:1publishAccepted, sharedreport
#36180Migration guard checks for -nosettings instead of whether the write succeededsrc/qt/optionsmodel.cpp:766adversarial_claude:2dropNot acceptedreport
#36180Include `-prev` writes in `setOption`'s success trackingsrc/qt/optionsmodel.cpp:509adversarial_claude:3publishAccepted, sharedreport
#36343analyzepsbt still routes invalid final inputs to the finalizer, which now rejects themsrc/psbt.cpp:814adversarial_claude:1dropNot acceptedreport
#36628With -onlynet=onion, private broadcast now goes through Tor exits, and startup gives no warningsrc/init.cpp:2452adversarial_claude:1dropNot acceptedreport
#36628Removed the check that the proxy is really Tor before sending to clearnet peers; any SOCKS5 proxy that accepts random credentials and answers RESOLVE is now trusted as Torsrc/init.cpp:2046adversarial_claude:2dropNot acceptedreport
#36628Check the `-privatebroadcast` refusal messagetest/functional/feature_init.py:431adversarial_claude:3publishAccepted, solereport
#36677New test calls POSIX-only fcntl/F_GETFD/FD_CLOEXEC without a WIN32 guard, so it breaks the Windows test buildsrc/test/fs_tests.cpp:153adversarial_claude:1undisposedNot acceptedreport
#36677Close-on-exec relies on unconditional support for the fopen "e" mode, with no fallbacksrc/util/fs.cpp:26adversarial_claude:2undisposedNot acceptedreport
#36677Long-lived POSIX FileLock descriptor in the same file is still opened without O_CLOEXECsrc/util/fs.cpp:49adversarial_claude:3undisposedNot acceptedreport
#36346Test rejection of a concurrent `loadtxoutset` calltest/functional/feature_assumeutxo.py:247adversarial_claude:1publishAccepted, sharedreport
#36346Report `snapshot-loading` rejections through the mempool tracepointsrc/validation.cpp:1778adversarial_claude:2publishAccepted, solereport
#36676Add a regression test for a stalled request sendsrc/bitcoin-cli.cpp:917adversarial_claude:1publishAccepted, sharedreport
#36676Report send timeouts as timeoutssrc/bitcoin-cli.cpp:917adversarial_claude:2publishAccepted, solereport
#36539GUI external-signer send still gives users v2 PSBTs, which contradicts the PR descriptionsrc/qt/sendcoinsdialog.cpp:507adversarial_claude:1undisposedNot acceptedreport
#36539Release note mentions only bitcoind and leaves out the GUI change back to v0doc/release-notes-hwi-minver.md:7adversarial_claude:2undisposedNot acceptedreport
#36477Count only planned sends for resolved transactionssrc/private_broadcast.cpp:195adversarial_claude:1publishAccepted, sharedreport
#36477Clarify when re-adding a transaction with no attempts remaining has no effectsrc/private_broadcast.cpp:27adversarial_claude:2publishAccepted, solereport
#36477Test that eviction removes the oldest finished entrysrc/private_broadcast.cpp:49adversarial_claude:3publishAccepted, sharedreport
#36477Check the values in `received_by_us`, not only that its keys existtest/functional/p2p_private_broadcast.py:323adversarial_claude:4publishAccepted, sharedreport
#36677Test that `fsbridge::fopen` returns noninheritable handlessrc/util/fs.cpp:26adversarial_claude:1publishAccepted, sharedreport
#36677Use `fsbridge::fopen` in the commit subjectsrc/util/fs.cpp:23adversarial_claude:2publishAccepted, solereport
#36305On Windows, SO_EXCLUSIVEADDRUSE may make the P2P port unbindable on restart while old inbound connections are still closingsrc/net.cpp:3400adversarial_claude:1unresolvedNot acceptedreport
#36675SOCKS5 name rewriting uses the mockable DNS hook in the connman fuzz targetsrc/netbase.cpp:405adversarial_claude:1publishAccepted, solereport
#36124A complete request can remain undispatched after the receive buffer emptiessrc/httpserver.cpp:1101adversarial_claude:1publishAccepted, sharedreport
#35855Fatal linker warnings now depend on CMake's linker detection instead of an explicit flagcontrib/guix/libexec/build_linux.sh:42adversarial_claude:1dropNot acceptedreport
#35855RISC-V configure passes an empty CMake argumentcontrib/guix/libexec/build_linux.sh:65adversarial_claude:2publishAccepted, solereport
#35855Windows GUI build still uses the old fatal-warnings flagcontrib/guix/libexec/build_win.sh:53adversarial_claude:3publishAccepted, solereport
#35855Unversioned `libcxx` may no longer match clang-toolchain-19 after the bumpcontrib/guix/manifest_build.scm:38adversarial_claude:4unresolvedNot acceptedreport
#35855Pinned Guix commit differs from the PR descriptioncontrib/guix/libexec/prelude.bash:74adversarial_claude:5publishAccepted, solereport
#35855Going back to upstream osslsigncode depends on the pin providing version 2.14 or latercontrib/guix/manifest_codesign.scm:183adversarial_claude:6unresolvedNot acceptedreport
#35855Explain why fixincludes is disabled for the sans-libc cross GCCcontrib/guix/toolchains.scm:72adversarial_claude:7publishAccepted, solereport
#36374Hex-encoding the password, as the SAFECOOKIE path already does, would avoid quoting rules altogethersrc/torcontrol.cpp:670adversarial_claude:1undisposedNot acceptedreport
#36374Release note needed: -torpassword values containing backslashes are now interpreted differentlysrc/torcontrol.cpp:668adversarial_claude:2undisposedNot acceptedreport
#36360No 34-byte test isolates the Taproot push-length checksrc/test/script_segwit_tests.cpp:116adversarial_claude:1publishAccepted, sharedreport
#36676Send timeouts are reported as generic send failuressrc/bitcoin-cli.cpp:917adversarial_claude:1publishAccepted, solereport
#35728Tell users how to recover from persistent stale-row errorssrc/index/txindex.cpp:195adversarial_claude:1publishAccepted, solereport
#35728An unusable txindex candidate can preempt a requested-block readsrc/node/transaction.cpp:152adversarial_claude:2publishAccepted, solereport
#35728Give `WarnAndThrowErr` internal linkagesrc/index/txindex.cpp:161adversarial_claude:3publishAccepted, solereport
#35728Most of the new FindTx/FindLegacyTx error paths have no testssrc/index/txindex.cpp:185adversarial_claude:4unresolvedNot acceptedreport
#36628A forward wall-clock step can silently end a job without announcingsrc/privbcast/job.cpp:174adversarial_claude:1publishAccepted, solereport
#36628Distinguish private-broadcast transport IDs from node peer IDs in NET logssrc/privbcast/job.h:161adversarial_claude:2publishAccepted, solereport
#36675SOCKS5 destination parsing consumes fuzz input through the mock DNS hooksrc/netbase.cpp:405adversarial_claude:1publishAccepted, solereport
#36380`initialonly` also skips local mempool restorationsrc/wallet/wallet.cpp:1933adversarial_claude:1publishAccepted, sharedreport
#36380A mistyped `initialonly` silently disables all wallet broadcastingsrc/wallet/wallet.cpp:2939adversarial_claude:2publishAccepted, sharedreport
#36380Add functional coverage for `-walletbroadcast=initialonly`src/wallet/wallet.cpp:2942adversarial_claude:3publishAccepted, sharedreport
#36673Closing the warning suppresses the later expired-certificate alert.github/workflows/code-signing-certificate.yml:47adversarial_claude:1publishAccepted, solereport
#36673The check monitors only master, not maintained release branches.github/workflows/code-signing-certificate.yml:27adversarial_claude:2publishAccepted, solereport
#36673actions/checkout@v7 is inconsistent with the repo-wide v6 pin.github/workflows/code-signing-certificate.yml:25adversarial_claude:3dropNot acceptedreport
#36673The 'first certificate is the leaf' assumption is not enforced, and a reordered bundle would pass silently.github/workflows/code-signing-certificate.yml:38adversarial_claude:4dropNot acceptedreport
#36002A readable stale copy can mask the pruned active-chain blocksrc/index/txindex.cpp:223adversarial_claude:1publishAccepted, solereport
#36305Windows P2P listener drops restart-friendly SO_REUSEADDR, so lingering connections from remote peers may stop the node from restartingsrc/net.cpp:3400adversarial_claude:1unresolvedNot acceptedreport
#36188Avoid rerunning global SHA dispatch during ECC context creationsrc/ecc_context.cpp:32adversarial_claude:1publishAccepted, sharedreport
#36188Avoid per-input ECC setup in the DER parser fuzzersrc/test/fuzz/secp256k1_ecdsa_signature_parse_der_lax.cpp:29adversarial_claude:2publishAccepted, sharedreport
#29843Synchronize nodes before cross-node spends and block constructiontest/functional/p2p_segwit.py:1478adversarial_claude:1publishAccepted, sharedreport
#29843Release note overstates the protection against future consensus invaliditydoc/release-notes-29843.md:8adversarial_claude:2unresolvedNot acceptedreport
#29843Retain coverage for first-error precedence across script checkstest/functional/data/invalid_txs.py:287adversarial_claude:3publishAccepted, solereport
#36619Correct the helper name in the PR descriptionsrc/rest.cpp:377adversarial_claude:1publishAccepted, solereport
#36539Clarify the external-signer PSBT version in the PR descriptionsrc/qt/sendcoinsdialog.cpp:507adversarial_claude:1publishAccepted, solereport
#36539Reconcile the HWI minimum-version guidancedoc/release-notes-hwi-minver.md:9adversarial_claude:2publishAccepted, solereport
#36539Document the GUI unsigned-export version changesrc/qt/sendcoinsdialog.cpp:490adversarial_claude:3publishAccepted, solereport
#35793Preserve txid reject caching for BIP54 sigops failuressrc/consensus/tx_verify.cpp:205adversarial_claude:1publishAccepted, solereport
#36623Remove the unreachable `OP_RETURN` break and its warning suppressionsrc/script/interpreter.cpp:683adversarial_claude:1publishAccepted, solereport
#36623The direct minisketch edit fails the subtree lint checksrc/minisketch/src/minisketch.cpp:104adversarial_claude:2publishAccepted, solereport
#36675Log the SOCKS5 destination namesrc/netbase.cpp:421adversarial_claude:1publishAccepted, solereport
#35728FindTx stops on an entry whose block is unknown or has no data, even when another entry for the same tx is validsrc/index/txindex.cpp:194adversarial_claude:1dropNot acceptedreport
#35728An unrelated txindex read error can block an explicit-block lookupsrc/index/txindex.cpp:213adversarial_claude:2publishAccepted, solereport
#35728Release notes promise an 'internal error', but the RPCs return RPC_MISC_ERROR (-1)doc/release-notes-35728.md:4adversarial_claude:3unresolvedNot acceptedreport
#35728WarnAndThrowErr has external linkagesrc/index/txindex.cpp:161adversarial_claude:4dropNot acceptedreport
#36386New oversized-script test does not check that the oversized payload was skippedsrc/test/compress_tests.cpp:178adversarial_claude:1unresolvedNot acceptedreport
#35443Taproot example doc leaves out the `finalize=false` step that the key-path spend depends ondoc/descriptors.md:199adversarial_claude:1unresolvedNot acceptedreport
#354434-of-4 iteration fully signs a script-path transaction, then throws it away and signs a conflicting onetest/functional/wallet_taproot_decaying_multisig_descriptor_psbt.py:150adversarial_claude:2dropNot acceptedreport
#35443The example’s first decay height has already passeddoc/descriptors.md:51adversarial_claude:3publishAccepted, solereport
#35713CTest does not discover suites declared with `TEST_SUITE_BEGIN`src/test/util/framework.h:516adversarial_claude:1publishAccepted, sharedreport
#35713CHECK(a == b) on unprintable ranges ignores the type's operator== and compares elements in iteration ordersrc/test/util/framework.h:365adversarial_claude:2unresolvedNot acceptedreport
#35713REQUIRE on a non-owner thread skips evaluating the expression and always records a failuresrc/test/util/framework.h:569adversarial_claude:3dropNot acceptedreport
#35713Documented `--catch_system_errors=no` is now rejected, and the unchanged README describes Boost behavioursrc/test/util/framework.cpp:330adversarial_claude:4unresolvedNot acceptedreport
#35713Preserve operand values in descriptor-check failuressrc/test/descriptor_tests.cpp:297adversarial_claude:5publishAccepted, sharedreport
#35713Failure text for most existing checks is misleading and missing a spacesrc/test/util/framework.h:553adversarial_claude:6unresolvedNot acceptedreport
#35793BIP54 sigops failures no longer put the txid in the P2P reject filtersrc/consensus/tx_verify.cpp:205adversarial_claude:1unresolvedNot acceptedreport
#35793On regtest, getblocktemplate now fails unless the client lists `consensuscleanup`src/deploymentinfo.cpp:18adversarial_claude:2unresolvedNot acceptedreport
#35793Mempool changes visible over RPC on every network are not documentedsrc/validation.cpp:894adversarial_claude:3unresolvedNot acceptedreport
#36623Remove the unreachable `break` and diagnostic pragmassrc/script/interpreter.cpp:683adversarial_claude:1publishAccepted, sharedreport
#36387Deprecation gates only the RPC; the GUI 'Encrypt Wallet…' action still encrypts existing walletssrc/wallet/rpc/encrypt.cpp:238adversarial_claude:1unresolvedNot acceptedreport
#36387Retain an exact private-descriptor assertion for encrypted walletstest/functional/wallet_listdescriptors.py:47adversarial_claude:2publishAccepted, sharedreport
#36387User guide still tells users to run encryptwallet; no migration path documenteddoc/release-notes-deprecateencryptwallet.md:4adversarial_claude:3unresolvedNot acceptedreport
#36387Deprecation error message ends with a stray newlinesrc/wallet/rpc/encrypt.cpp:239adversarial_claude:4dropNot acceptedreport
#35229Handle active-chain changes during a scansrc/rpc/blockchain.cpp:2719adversarial_claude:1publishAccepted, solereport
#36305Test and document the Windows restart tradeoffsrc/net.cpp:3400adversarial_claude:1publishAccepted, sharedreport
#25573FORTIFY check now passes every static release binary without checking anythingcontrib/guix/security-check.py:131adversarial_claude:1undisposedNot acceptedreport
#25573Static-pie link flags drop -Wl,--fatal-warnings for x86_64/aarch64contrib/guix/libexec/build_linux.sh:48adversarial_claude:2undisposedNot acceptedreport
#25573Two -DCMAKE_EXE_LINKER_FLAGS arguments rely on last-wins orderingcontrib/guix/libexec/build_linux.sh:72adversarial_claude:3undisposedNot acceptedreport
#25573Release note exempts only bitcoin-qt, but bitcoin-gui also stays dynamicdoc/release-notes-25573.md:5adversarial_claude:4undisposedNot acceptedreport
#25573Static ELF checks use asserts and bypass the `failed` reporting pathcontrib/guix/symbol-check.py:343adversarial_claude:5undisposedNot acceptedreport
#36540Update the memory estimate after removing the third indexsrc/txmempool.h:226adversarial_claude:1publishAccepted, sharedreport
#36540Keep coverage of resubmitting an absent parent-child chaintest/functional/wallet_resendwallettransactions.py:109adversarial_claude:2publishAccepted, sharedreport
#36540Keep the two nodes' mocktimes synchronizedtest/functional/wallet_resendwallettransactions.py:126adversarial_claude:3publishAccepted, solereport
#36628Distinguish private-broadcast transport IDs in network logssrc/privbcast/job.h:161adversarial_claude:1publishAccepted, solereport
#36628Remove the unused package-parent summary branchtest/functional/test_framework/privbcast.py:136adversarial_claude:2publishAccepted, solereport
#36539Correct the PR description’s external-signer version claimsrc/qt/sendcoinsdialog.cpp:507adversarial_claude:1publishAccepted, solereport
#36539Fee-bump 'Create Unsigned' v0 change has no test, but a cheap one is possible with the existing harnesssrc/qt/walletmodel.cpp:504adversarial_claude:2unresolvedNot acceptedreport
#36619PR description says CheckBlockDataAvailability() is used, but the code tests the nStatus bit directlysrc/rest.cpp:377adversarial_claude:1undisposedNot acceptedreport
#36344Document the duplicate-input constraint in `sendall` helpsrc/wallet/rpc/spend.cpp:1474adversarial_claude:1publishAccepted, solereport
#36619Check BLOCK_HAVE_UNDO directly instead of calling the range helper with one blocksrc/rest.cpp:377adversarial_claude:1dropNot acceptedreport
#36344Document the duplicate-input constraint in `sendall` helpsrc/wallet/rpc/spend.cpp:1474adversarial_claude:1publishAccepted, solereport
#36344Document the duplicate-input constraint in `sendall` helpsrc/wallet/rpc/spend.cpp:1474adversarial_claude:1publishAccepted, solereport
#31252Show the new script fields in verbosity-2 RPC helpsrc/rpc/rawtransaction.cpp:232adversarial_claude:1publishAccepted, sharedreport
#31252Emit a parseable descriptor for larger inner multisig scriptssrc/core_io.cpp:481adversarial_claude:2publishAccepted, solereport
#31252Unvalidated helper is exposed from a kernel-compiled header and documented as returning the script "being executed"src/script/solver.h:87adversarial_claude:3dropNot acceptedreport
#31252Test comment misstates createmultisig output, and the P2SH-P2WSH redeemScript content is not checkedtest/functional/rpc_rawtransaction.py:299adversarial_claude:4unresolvedNot acceptedreport
#31252Use a script-bearing input in the no-undo fallback testtest/functional/rpc_rawtransaction.py:260adversarial_claude:5publishAccepted, solereport
#36673Any issue author can suppress the expiry alert.github/workflows/code-signing-certificate.yml:48adversarial_claude:1undisposedNot acceptedreport
#36673Only master is checked, but releases sign with the release branch's certificate.github/workflows/code-signing-certificate.yml:27adversarial_claude:2undisposedNot acceptedreport
#36673No new alert when the certificate actually expires.github/workflows/code-signing-certificate.yml:56adversarial_claude:3undisposedNot acceptedreport
#32861Clarify the no-candidate error and mention `hdkey`src/wallet/rpc/wallet.cpp:805adversarial_claude:1publishAccepted, solereport
#32861createwalletdescriptor prefers active keys over unused(KEY), the opposite of derivehdkeysrc/wallet/rpc/wallet.cpp:796adversarial_claude:2dropNot acceptedreport
#32861test_from_unused_desc does not check which key was chosen or the documented precedencetest/functional/wallet_createwalletdescriptor.py:128adversarial_claude:3dropNot acceptedreport
#36451Remove the redundant post-assignment null checksrc/node/block_template_manager.h:51adversarial_claude:1publishAccepted, sharedreport
#36451waitNext loses the non-null type at compile time and then re-checks it at runtimesrc/node/interfaces.cpp:928adversarial_claude:2dropNot acceptedreport
#36452Continue shallow checks after missing undo datasrc/validation.cpp:4702adversarial_claude:1publishAccepted, solereport
#36452Limit the snapshot missing-undo allowance to snapshot historysrc/validation.cpp:4702adversarial_claude:2publishAccepted, sharedreport
#36477attempts_remaining overstates sends left for resolved transactions that still have initial sends pendingsrc/private_broadcast.cpp:195adversarial_claude:1undisposedNot acceptedreport
#36477Eviction treats exhausted, never-echoed transactions the same as successfully echoed ones, contradicting the 'remains tracked' contractsrc/private_broadcast.cpp:49adversarial_claude:2undisposedNot acceptedreport
#36477Finished entries are now kept with no time limit, up to the 10,000-entry pending capsrc/private_broadcast.cpp:41adversarial_claude:3undisposedNot acceptedreport
#36477received_by_us contents and reset behavior are not testedtest/functional/p2p_private_broadcast.py:323adversarial_claude:4undisposedNot acceptedreport
#36477The 'oldest finished entry is evicted' ordering is not testedsrc/test/fuzz/private_broadcast.cpp:140adversarial_claude:5undisposedNot acceptedreport
#36481GUI rebroadcast silently drops failuressrc/qt/transactionview.cpp:408adversarial_claude:1undisposedNot acceptedreport
#36481Non-ATMP broadcast failures produce an empty RPC error messagesrc/wallet/wallet.cpp:1843adversarial_claude:2undisposedNot acceptedreport
#36481Manual rebroadcast ignores -privatebroadcast, unlike the sendrawtransaction workflow it replacessrc/wallet/wallet.cpp:1842adversarial_claude:3undisposedNot acceptedreport
#36481One-click GUI rebroadcast has no privacy warning or confirmationsrc/qt/transactionview.cpp:172adversarial_claude:4undisposedNot acceptedreport
#36481Copy-pasted 'abandon' doc comments on new rebroadcast interface methodssrc/interfaces/wallet.h:166adversarial_claude:5undisposedNot acceptedreport
#36481Keyboard mnemonic '&b' collides with 'A&bandon transaction'src/qt/transactionview.cpp:172adversarial_claude:6undisposedNot acceptedreport
#36481New RPC error contract is untestedtest/functional/wallet_resendwallettransactions.py:52adversarial_claude:7undisposedNot acceptedreport
#36637Changed -torpassword wire encoding breaks existing workaround configs; consider a release notesrc/torcontrol.cpp:667adversarial_claude:1unresolvedNot acceptedreport
#36637Competing fix and pending test PR assume the quoted AUTHENTICATE formatsrc/torcontrol.cpp:667adversarial_claude:2dropNot acceptedreport
#35026Align the PR description with the recalculation triggersrc/validation.cpp:353adversarial_claude:1publishAccepted, solereport
#35026Add a negative control for recalculation that still fails sequence lockstest/functional/mempool_reorg_bip68_stale_lockpoints.py:81adversarial_claude:2publishAccepted, solereport
#35026Stale lockpoints are handled at this one call site; TestLockPointValidity still describes itself as exactsrc/validation.cpp:353adversarial_claude:3dropNot acceptedreport
#36628Make the queue-cap test independent of the running job's real-time limittest/functional/p2p_private_broadcast_cap.py:54adversarial_claude:1publishAccepted, solereport
#36628Distinguish private-broadcast IDs in transport logssrc/privbcast/job.cpp:279adversarial_claude:2publishAccepted, solereport
#36628Make private-broadcast refusal causes distinguishable to RPC clientssrc/rpc/util.cpp:404adversarial_claude:3publishAccepted, solereport
#36500Rejecting empty groups leaves the interrupt check tied to coin count, not bytes readsrc/validation.cpp:5822adversarial_claude:1undisposedNot acceptedreport
#36503Snapshot-tip data check still runs only in prune modesrc/rpc/blockchain.cpp:3194adversarial_claude:1undisposedNot acceptedreport
#36503'already pruned' error is wrong for snapshot data that was never downloadedsrc/rpc/blockchain.cpp:3197adversarial_claude:2undisposedNot acceptedreport
#36628Private-broadcast path in BroadcastTransaction now asserts instead of returning an errorsrc/node/transaction.cpp:155adversarial_claude:1undisposedNot acceptedreport
#36628Rewrite drops the EXPERIMENTAL label from -privatebroadcast in the same changesrc/init.cpp:724adversarial_claude:2undisposedNot acceptedreport

Run status

completed
216
failed
1
invalid
8
skipped
90
Saved runs
315
Executed runs
225

Reported coverage

complete
176
failed
0
partial
40
unknown
99

Candidate decisions

drop
107
publish
479
undisposed
64
unresolved
26
Selected among assessed
78.3%
Accepted / executed run
2.107
Conceptual concerns
0

Selection uses publish, drop and unresolved candidates; unassessed candidates are excluded.

Usage

Request records
4,622
Input tokens
522,046,171 (partial)
Cached tokens
499,497,505 (partial)
Output tokens
5,697,606 (partial)
Unknown usage records
15