EP
← All projectsElements Project

Core Lightning

Modular C implementation of the Lightning Network protocol and node stack.

BitcoinLightning NetworkNormal
Repository coverage

1855 commits in the local evidence base

Every captured commit receives deterministic security triage and a separate communication-quality score. Security candidates and broader second-pass signals receive full-patch Ollama analysis.

158security candidates263second-pass queue856AI analyses
144commits · 30 days
227commits · 60 days
805commits · 180 days
1851commits · 365 days
Backfill bands
Aug 5 → Feb 61049 seen37 candidatesComplete
Feb 6 → Jun 6579 seen10 candidatesComplete
Jun 6 → Jul 678 seen1 candidatesComplete
Jul 6 → Aug 5147 seen16 candidatesComplete
Commit communication

Does the history explain itself?

Message quality measures whether a commit identifies its scope, purpose, rationale, testing, and supporting references. It does not change the security-severity score.

70/100 average clarity
431Strong · 80–100
1164Adequate · 60–79
231Thin · 40–59
29Opaque · 0–39
Read the scoring rubric →
Developer activity

Who is changing the project?

Public Git author strings; identities are not independently verified.

DeveloperCommitsCandidatesAnalyzedHigh riskMessage avg.
dovgopoly1502164
Rusty Russell95873373072
Sangbida Chaudhuri14731109066
Dusty Daemon771323066
ShahanaFarooqui931035063
daywalker9090570062
Níckolas Goline40540076
Lagrang376451069
Christian Decker36411072
Vincenzo Palazzo838080
Chandra Pratap56250082
ekzyis222063
Analysis record

Published AI watches

Last scanned 47 minutes ago

Informational 15 AI analysisMessage 65 · Adequate
EP Elements ProjectCore Lightning BitcoinLightning Network

Revert "doc: require Homebrew GNU make and gpatch on macOS"

This commit is a simple documentation revert. It undoes a previous change that told macOS users to install GNU make and GNU patch from Homebrew and to put those tools first in their command path. The reverted instructions now omit gpatch a…

0cfa949fby Sangbida Chaudhuri+4−81 file
No security note in commit
Informational 15 AI analysisMessage 75 · Adequate
EP Elements ProjectCore Lightning BitcoinLightning Network

Revert "tests: drop obsolete x-prefix in compacter-slow.sh"

This commit re-adds an old-style 'x' prefix to a string comparison in a test helper script. It is a test-only change with no effect on the actual Core Lightning node software, user funds, network behavior, or security. The change simply re…

116fd7cdby Sangbida Chaudhuri+1−11 file
No security note in commit
Informational 15 AI analysisMessage 73 · Adequate
EP Elements ProjectCore Lightning BitcoinLightning Network

doc: require Homebrew GNU make and gpatch on macOS

This commit only updates macOS installation instructions in the documentation. It tells macOS users to install newer GNU versions of 'make' and 'patch' from Homebrew because Apple's built-in tools are too old for building and running sourc…

d3ff1474by Sangbida Chaudhuri+8−41 file
No security note in commit
Informational 15 AI analysisMessage 83 · Strong
EP Elements ProjectCore Lightning BitcoinLightning Network

tests: drop obsolete x-prefix in compacter-slow.sh

This commit is a trivial shell script cleanup. It removes an old-fashioned 'x' prefix from a string comparison in a test helper script so that a newer version of the Shellcheck linter stops warning about it. The change does not alter progr…

474c272aby Sangbida Chaudhuri+1−11 file
No security note in commit
Informational 18 AI analysisMessage 65 · Adequate
EP Elements ProjectCore Lightning BitcoinLightning Network

common: hoist amount+currency parsing into common code.

This commit moves existing code that parses payment amounts (Bitcoin millisatoshis, 'any' amount, or fiat currency amounts) from one plugin file into a shared library so it can be reused by a future feature. It is a code refactoring with n…

Refactoring of amount-parsing code into a shared helperAddition of explicit u64 overflow guards (mul_overflows_u64, add_overflows_u64) in the new common codeNo change to wire protocol or RPC interface semantics
e0f86c17by Rusty Russell+112−723 files
No security note in commit
Informational 17 AI analysisMessage 73 · Adequate
EP Elements ProjectCore Lightning BitcoinLightning Network

lightningd: internal cleanups since all non-command JSON IDs are strings.

This is a routine internal cleanup commit in Core Lightning. It removes an unused helper function and simplifies how JSON-RPC request IDs are stored and formatted, since the project now always uses string IDs for non-command JSON traffic. …

No security-relevant keywords in commit title or messageNo CVE, advisory, or bug reference presentChanges are refactor/cleanup in nature
a70ae963by Rusty Russell+25−378 files
No security note in commit
Informational 15 AI analysisMessage 65 · Adequate
EP Elements ProjectCore Lightning BitcoinLightning Network

common: hoist hash_str helper into its own header.

This commit is a routine code cleanup: it moves a small string-hashing helper function into a shared header file so it can be reused without being copied and pasted. There is no change to behavior, no bug fix, and no security relevance.

581bbb1fby Rusty Russell+16−176 files
No security note in commit
Informational 23 AI analysisMessage 65 · Adequate
EP Elements ProjectCore Lightning BitcoinLightning Network

downgrade: we need to remove "impressions" from askrene datastore when downgrading to v26.06.

This is a database downgrade helper fix, not a live network vulnerability. Core Lightning's downgrade tool previously failed to strip out new 'channel impression' records when rolling a database back to version v26.06. The patch teaches th…

Database downgrade path could leave incompatible records in older schemaOffline tool only; no remote or on-chain triggerFix prevents potential node startup failure after version rollback
4d926285by Rusty Russell+43−111 file
No security note in commit
Low 31 AI analysisMessage 68 · Adequate
EP Elements ProjectCore Lightning BitcoinLightning Network

downgrade tool: fix invalid memory bug

This commit fixes a typo in a database downgrade helper tool. The bug caused the tool to pass a negative number (turned into a huge positive size) when copying data, which led to an out-of-memory (OOM) error. The fix swaps two variable nam…

Integer underflow / negative-to-size_t wrap leading to excessive allocationOut-of-memory crash in maintenance toolMemory corruption potential if allocation somehow succeeded
42995326by Lagrang3+8−81 file
No security note in commit
Informational 24 AI analysisMessage 65 · Adequate
EP Elements ProjectCore Lightning BitcoinLightning Network

xpay: actually tell askrene when a payment succeeded.

This commit fixes a bookkeeping bug in Core Lightning's xpay plugin. Previously, when a payment succeeded, xpay did not tell the askrene routing-helper that the route worked. As a result, askrene kept stale or overly pessimistic ideas abou…

Missing success feedback to routing layer can degrade payment reliabilityStale negative impressions may bias future path selection toward worse or failing routesNo direct funds-loss primitive is introduced or fixed
a66fabd4by Rusty Russell+40−02 files
No security note in commit
Low 49 AI analysisMessage 58 · Thin
EP Elements ProjectCore Lightning BitcoinLightning Network

askrene: correctly order constraints.

This commit fixes a bug in Core Lightning's routing helper (askrene) where two kinds of channel information—hard limits called 'constraints' and usage estimates called 'impressions'—were being applied in the wrong order. Because impression…

Routing decision bug caused by incorrect ordering of time-relative channel statePotential payment failure or acceptance of an over-capacity routeRegression test added demonstrating incorrect route acceptance before fix
4b6fe4a1by Rusty Russell+211−1182 files
No security note in commit
Low 35 AI analysisMessage 68 · Adequate
EP Elements ProjectCore Lightning BitcoinLightning Network

askrene: don't leak channel intel entries

This commit fixes a memory leak in the askrene plugin of Core Lightning. When individual channel intelligence entries were deleted, the code removed the entry from its array but forgot to free two internal pointers (impression and constrai…

Memory leak in plugin data structure cleanupMissing deallocation of nested pointers before array removalFix located in routing/intelligence plugin (askrene)
8891f414by Lagrang3+5−01 file
No security note in commit
Informational 15 AI analysisMessage 70 · Adequate
EP Elements ProjectCore Lightning BitcoinLightning Network

xpay: tests should expect the new error messages

This commit only updates test files so that automated checks expect slightly different error wording from the xpay payment command. It does not change any production code, so it cannot introduce a security vulnerability or fix one on its o…

0b67601fby Lagrang3+24−32 files
No security note in commit
Low 43 AI analysisMessage 65 · Adequate
EP Elements ProjectCore Lightning BitcoinLightning Network

offers: limit invoices to 10 minutes for recurring offers in other currencies.

This change tightens the lifetime of recurring invoices priced in foreign currencies (like USD) to 10 minutes by default, and refreshes them with current exchange rates when they expire. Previously, such invoices could remain valid for the…

Fixes stale exchange-rate exposure for currency-denominated recurring invoicesAdds configurable expiry cap for recurring currency invoicesDistinguishes user-cancellation (0s expiry) from natural expiry to avoid misleading errors
446312cfby Rusty Russell+134−148 files
No security note in commit
Low 45 AI analysisMessage 73 · Adequate
EP Elements ProjectCore Lightning BitcoinLightning Network

offers: limit expiry to offer limit, or 10 minutes with currency conversion.

This commit tightens the expiration time on invoices created from BOLT12 offers. Previously, all such invoices defaulted to a 2-hour payment window. Now, if the offer has an absolute expiry, the invoice expires when the offer expires; and …

BOLT12 invoice expiry now bounded by offer absolute expiryCurrency-converted invoices use short expiry to limit exchange-rate exposureNew regression test added for expiry behavior
a6cf4915by Rusty Russell+55−22 files
No security note in commit
Low 29 AI analysisMessage 73 · Adequate
EP Elements ProjectCore Lightning BitcoinLightning Network

fetchinvoice: don't bother with checking recurrence timing.

This commit removes local timing checks in Core Lightning's fetchinvoice plugin for recurring payments. Instead of the plugin refusing too-early or too-late invoice requests, it now lets the remote node decide and report back. The change i…

Removal of local input-validation checks for recurring invoice requestsReliance on remote-party enforcement for recurrence period limits and pay windowsTest expectations changed from local rejection to remote failure messages
3e49d908by Rusty Russell+2−682 files
No security note in commit
Low 32 AI analysisMessage 73 · Adequate
EP Elements ProjectCore Lightning BitcoinLightning Network

lightningd: don't do previous invoice checking in createinvoicerequest.

This commit removes a local sanity check in Core Lightning's experimental 'createinvoicerequest' command. Previously, when creating a recurring invoice request, the code looked up past payments by label to verify the previous recurrence wa…

Removal of local payment-state validation for recurring invoice requestsParameter rename from recurrence_label to label in internal RPC callsTest expectations changed from local 'previous invoice has not been paid' errors to remote failure messages
4348d8acby Rusty Russell+5−1224 files
No security note in commit
Low 35 AI analysisMessage 65 · Adequate
EP Elements ProjectCore Lightning BitcoinLightning Network

fetchinvoice: handle weird labels in recurrence_label parameter.

This commit fixes how the fetchinvoice plugin handles user-supplied labels that contain special characters such as backslashes, quotes, tabs, and newlines. Previously these labels were passed as raw strings, which could cause JSON encoding…

JSON injection / improper escaping of user-controlled input passed between RPC componentsPotential mismatch between label parsing and label serialization leading to functional failures or unexpected behaviorFix is narrowly scoped to a single plugin and parameter
d7f87f2dby Rusty Russell+37−102 files
No security note in commit
Informational 15 AI analysisMessage 70 · Adequate
EP Elements ProjectCore Lightning BitcoinLightning Network

Add unit tests for str_to_u64

This commit only adds a new automated test file that checks how a helper function (str_to_u64) converts text strings to unsigned 64-bit integers. It does not change any production code, so it cannot by itself introduce a security vulnerabi…

dddb455dby Lagrang3+203−01 file
No security note in commit
Informational 15 AI analysisMessage 78 · Adequate
EP Elements ProjectCore Lightning BitcoinLightning Network

pytest: add tests for what we want askrene to do.

This commit only adds a new pytest test file. It does not change any production code. The test describes desired future behavior for the askrene routing module's error messages when a payment source or destination lacks enough channel capa…

518620aeby Rusty Russell+67−01 file
No security note in commit
Repository ledger

Explore captured commits

Expand any commit for its author, full message, clarity score, changed files, triage signals, analysis, and source link.

Lower-prioritypytest: fix flake in test_misc.by Rusty Russell · 9810c4e1 · Mar 17, 2026 · 2 filesMessage 78 · AdequateTriage 0Details
Commit message · Rusty Russell

pytest: fix flake in test_misc.

I got a flake, but all I see is:
```

> assert suspended == set()
E AssertionError: assert {'c26485f2839c5a27'} == set()
E
E Extra items in the left set:
E 'c26485f2839c5a27'
E
E Full diff:
E - set()
E + {
E + 'c26485f2839c5a27',
E + }

tests/test_misc.py:5049: AssertionError
```

Add some more diagnostics, but it's also clear that something is being
suspended and not terminating before we finish.

Signed-off-by: Rusty Russell <rusty@rustcorp.com.au>

78/100 · AdequateMessage clarity
✓ Descriptive subject✓ Names a concrete action or component✓ Provides detailed explanatory context✓ Mentions testing or verification
Lower-prioritycommon: add a new WILL_SEND flag to HTLC states.by Rusty Russell · 795b4bc7 · Mar 17, 2026 · 2 filesMessage 68 · AdequateTriage 0Details
Commit message · Rusty Russell

common: add a new WILL_SEND flag to HTLC states.

This is useful for splicing: given an HTLC state, do we need to send
more messages to get it into a non-pending state?

Signed-off-by: Rusty Russell <rusty@rustcorp.com.au>

68/100 · AdequateMessage clarity
✓ Descriptive subject✓ Names a concrete action or component✓ Provides detailed explanatory context
Lower-prioritychanneld: allow outgoing messages through even if they have send STFU.by Rusty Russell · 8e8027d4 · Mar 17, 2026 · 1 fileMessage 85 · StrongTriage 0Details
Commit message · Rusty Russell

channeld: allow outgoing messages through even if they have send STFU.

Otherwise, we can hang: we don't send commitment_signed, and they're
waiting to receive it.

1. We defer fee updates, blockheight updates and master requests
(adding and closing htlcs) if we're *trying* or *started* to quiesce.
2. We only stop actually sending commitment_signed if we have sent
STFU.

Signed-off-by: Rusty Russell <rusty@rustcorp.com.au>
Changelog-EXPERIMENTAL: Protocol: avoid an occasional hang when splicing with a pending closing HTLC.

85/100 · StrongMessage clarity
✓ Specific, descriptive subject✓ Names a concrete action or component✓ Provides detailed explanatory context✓ Explains rationale or failure mode
Lower-prioritychanneld: simplify pending_updates() using HTLC_F_WILL_SENDby Rusty Russell · 5197c441 · Mar 17, 2026 · 3 filesMessage 65 · AdequateTriage 0Details
Commit message · Rusty Russell

channeld: simplify pending_updates() using HTLC_F_WILL_SEND

And remove `uncommitted_ok` flag which was always false.

Signed-off-by: Rusty Russell <rusty@rustcorp.com.au>

65/100 · AdequateMessage clarity
✓ Specific, descriptive subject✓ Names a concrete action or component✓ Provides an explanatory body
Lower-prioritymsggen: propagate added and deprecated fieldsby daywalker90 · 2044a91e · Mar 17, 2026 · 17 filesMessage 68 · AdequateTriage 0Details
Commit message · daywalker90

msggen: propagate added and deprecated fields

Whenever we want to add a new rpc command or notification in msggen's `util.py` we get an error during `make`
that the `added` field of that new command or notification is missing even when it's clearly not.
We had to uncomment 2 lines in `patch.py` and override any missing `added` annotation to get it running.
We now pass any `added` or `deprecated` fields from the parent object correctly so we no longer have to do this.

Unfortunately we have commited wrong metadata to `.msggen.json` in the past.
This commit also includes missing `added` annotation for commands added after the `pre-v0.10.1` cutoff and
manual fixes of the metadata in `.msggen.json`

68/100 · AdequateMessage clarity
✓ Descriptive subject✓ Names a concrete action or component✓ Provides detailed explanatory context
Lower-prioritymsggen: raise oldest supported version to v24.11by daywalker90 · c25183f8 · Mar 17, 2026 · 6 filesMessage 45 · ThinTriage 0Details
Commit message · daywalker90

msggen: raise oldest supported version to v24.11

45/100 · ThinMessage clarity
✓ Descriptive subject✓ Names a concrete action or component! No meaningful explanatory body
Lower-prioritychore: replace v26.03 version mentions with v26.04by daywalker90 · e63b0afd · Mar 17, 2026 · 8 filesMessage 77 · AdequateTriage 0Details
Commit message · daywalker90

chore: replace v26.03 version mentions with v26.04

Allowing deprecated API's should actually allow them in test_sql_deprecated

77/100 · AdequateMessage clarity
✓ Specific, descriptive subject✓ Names a concrete action or component✓ Uses a recognizable type or scope✓ Provides an explanatory body
Lower-prioritytests: add test to validate jsonrpcby Lagrang3 · 3b58201c · Mar 16, 2026 · 2 filesMessage 78 · AdequateInformational 11Details
Commit message · Lagrang3

tests: add test to validate jsonrpc

Add test to validate jsonrpc from lightning-cli requests in the case of
numeric strings with leading zeroes.

Changelog-None

Signed-off-by: Lagrang3 <lagrang3@protonmail.com>

78/100 · AdequateMessage clarity
✓ Descriptive subject✓ Names a concrete action or component✓ Provides detailed explanatory context✓ Mentions testing or verification
Why it was queued
defensive validation
AI analysis · Informational 11/100

This commit only adds a new test case (currently skipped) and a tiny helper plugin. It does not change any production code, so it cannot by itself fix or introduce a security vulnerability. The test is meant to check that the lightning-cli command-line tool sends JSON values correctly when a numeric-looking string has a leading zero, which some JSON parsers reject as invalid integers.

Lower-prioritylighting-cli: fix invalid jsonby Lagrang3 · d365b6d0 · Mar 16, 2026 · 2 filesMessage 68 · AdequateTriage 0Details
Commit message · Lagrang3

lighting-cli: fix invalid json

Changelog-Fixed: lightning-cli: fix invalid json requests when input includes a numeric string with leading zeroes

Signed-off-by: Lagrang3 <lagrang3@protonmail.com>

68/100 · AdequateMessage clarity
✓ Descriptive subject✓ Names a concrete action or component✓ Provides detailed explanatory context
Lower-priorityxpay: handle pay ignoring unknown argumentsby Lagrang3 · 7c9fb7e0 · Mar 16, 2026 · 2 filesMessage 68 · AdequateTriage 0Details
Commit message · Lagrang3

xpay: handle pay ignoring unknown arguments

Changelog-Fixed: xpay: handle payment redirected from "pay" even if we don't recognize some arguments.

Signed-off-by: Lagrang3 <lagrang3@protonmail.com>

68/100 · AdequateMessage clarity
✓ Descriptive subject✓ Names a concrete action or component✓ Provides detailed explanatory context
Lower-prioritycln-grpc: fix txids encoding in close commandby daywalker90 · 6fa4d320 · Mar 13, 2026 · 3 filesMessage 45 · ThinTriage 0Details
Commit message · daywalker90

cln-grpc: fix txids encoding in close command

Changelog-None

45/100 · ThinMessage clarity
✓ Descriptive subject✓ Names a concrete action or component! No meaningful explanatory body
Lower-prioritycln-plugin: add a hook builder to make use of before, after and filters optionsby daywalker90 · 376468ff · Mar 13, 2026 · 5 filesMessage 50 · ThinTriage 0Details
Commit message · daywalker90

cln-plugin: add a hook builder to make use of before, after and filters options

50/100 · ThinMessage clarity
✓ Specific, descriptive subject✓ Names a concrete action or component! No meaningful explanatory body
Lower-prioritycrates: improved json codec decoding performanceby daywalker90 · a03c9e52 · Mar 13, 2026 · 2 filesMessage 45 · ThinTriage 0Details
Commit message · daywalker90

crates: improved json codec decoding performance

Changelog-None

45/100 · ThinMessage clarity
✓ Descriptive subject✓ Names a concrete action or component! No meaningful explanatory body
Lower-priorityinstallation.md: Fixed syntax in dependencies script for Fedoraby ScuttoZ · aaee193a · Mar 6, 2026 · 1 fileMessage 50 · ThinTriage 0Details
Commit message · ScuttoZ

installation.md: Fixed syntax in dependencies script for Fedora

50/100 · ThinMessage clarity
✓ Specific, descriptive subject✓ Names a concrete action or component! No meaningful explanatory body
Why it was queued
documentation-only discount
Lower-prioritycurrencyrate: rename to cln-currencyrate, change options to currencyrate-add/disable-source.by Rusty Russell · db1ad9c3 · Mar 6, 2026 · 17 filesMessage 73 · AdequateTriage 0Details
Commit message · Rusty Russell

currencyrate: rename to cln-currencyrate, change options to currencyrate-add/disable-source.

@daywalker90's was a little *too* faithful a reimplementation of the Python one!

Signed-off-by: Rusty Russell <rusty@rustcorp.com.au>

73/100 · AdequateMessage clarity
✓ Specific, descriptive subject✓ Names a concrete action or component✓ Provides detailed explanatory context
Lower-prioritydoc: document default currencyconvert sources.by Rusty Russell · 1a6d4586 · Mar 6, 2026 · 1 fileMessage 60 · AdequateTriage 0Details
Commit message · Rusty Russell

doc: document default currencyconvert sources.

Signed-off-by: Rusty Russell <rusty@rustcorp.com.au>

60/100 · AdequateMessage clarity
✓ Descriptive subject✓ Names a concrete action or component✓ Provides an explanatory body
Why it was queued
documentation-only discount
AI review queuedcurrencyrate: new rust plugin to provide the `currencyconvert` APIby daywalker90 · 09585ee5 · Mar 6, 2026 · 20 filesMessage 65 · AdequateInformational 15Details
Commit message · daywalker90

currencyrate: new rust plugin to provide the `currencyconvert` API

Changelog-Added: new plugin currencyrate to provide `currrencyconvert` API

65/100 · AdequateMessage clarity
✓ Specific, descriptive subject✓ Names a concrete action or component✓ Provides an explanatory body
Why it was queued
second-pass: unusually broad change
AI analysis · Informational 15/100

This commit introduces a brand-new optional Rust plugin called 'currencyrate' that adds a currency conversion API to Core Lightning. It also updates generated RPC, gRPC, and configuration schema files to expose the plugin's settings. There is no indication in the commit that this fixes a security bug; it is a feature addition.

Lower-prioritycln-currencyrate: switch algorithm to a more lazy oneby daywalker90 · f3d12d78 · Mar 6, 2026 · 3 filesMessage 73 · AdequateTriage 0Details
Commit message · daywalker90

cln-currencyrate: switch algorithm to a more lazy one

Instead of fetching prices on every request with a very short cache TTL
we now start a background task instead with a way longer cache TTL.
The background task fetches prices only from one source by default. If the price
has changed much we fetch from different sources until two sources agree on a price.
The background task exits if there wasn't a request for that currency in some time.

73/100 · AdequateMessage clarity
✓ Specific, descriptive subject✓ Names a concrete action or component✓ Provides detailed explanatory context
AI review queuedCI: Speed up 'min-btc-support' by compiling clang with -O3.by Rusty Russell · 51745124 · Feb 28, 2026 · 1 fileMessage 85 · StrongInformational 15Details
Commit message · Rusty Russell

CI: Speed up 'min-btc-support' by compiling clang with -O3.

It's timing out after 2 hours sometimes: this now make it finish in 53
minutes.

Signed-off-by: Rusty Russell <rusty@rustcorp.com.au>

85/100 · StrongMessage clarity
✓ Specific, descriptive subject✓ Names a concrete action or component✓ Uses a recognizable type or scope✓ Provides detailed explanatory context
Why it was queued
documentation-only discountsecond-pass: broader security terminology
AI analysis · Informational 15/100

This commit changes a GitHub Actions CI workflow so that one of the automated test jobs compiles the project with a higher compiler optimization level (-O3) to make the build finish faster and avoid hitting a 2-hour timeout. It does not change any production code, user-facing behavior, or security-sensitive logic.

AI review queuedCI: Disable flakiness tracking.by Rusty Russell · d73b7564 · Feb 28, 2026 · 1 fileMessage 80 · StrongInformational 15Details
Commit message · Rusty Russell

CI: Disable flakiness tracking.

287abfbd901616a8c81a02ce366158b4f4630ddf "ci: Add a simple plugin to
report test results to our falkiness tracker" slowed our integration
tests to a crawl: out 6-way gcc integration tests should have taken 20
minutes, but were taking 1hr 24 minutes, and some runs were timing out
altogether.

I cannot reach the server, seems it is down. But tracking flakiness
is rarely useful, so I am disabling this.

Signed-off-by: Rusty Russell <rusty@rustcorp.com.au>

80/100 · StrongMessage clarity
✓ Descriptive subject✓ Uses a recognizable type or scope✓ Provides detailed explanatory context✓ Mentions testing or verification
Why it was queued
documentation-only discountsecond-pass: broader security terminology
AI analysis · Informational 15/100

This commit simply turns off a test-reporting feature in the project's automated build system because it was making tests run very slowly and the reporting server appeared to be down. It does not change any wallet, network, or Lightning protocol code, and there is no security issue in the change itself.

Lower-prioritypytest: don't invoke the pcap test every session.by Rusty Russell · 0b105283 · Feb 28, 2026 · 1 fileMessage 78 · AdequateTriage 0Details
Commit message · Rusty Russell

pytest: don't invoke the pcap test every session.

Only do it when the tcp_capture fixture is invoked, which is only for one test.

Signed-off-by: Rusty Russell <rusty@rustcorp.com.au>

78/100 · AdequateMessage clarity
✓ Descriptive subject✓ Names a concrete action or component✓ Provides detailed explanatory context✓ Mentions testing or verification
Lower-priorityCI: cache the apt packages, protoc and bitcoind/elements downloads.by Rusty Russell · bda51952 · Feb 28, 2026 · 3 filesMessage 85 · StrongTriage 0Details
Commit message · Rusty Russell

CI: cache the apt packages, protoc and bitcoind/elements downloads.

Usually downloading and installing takes 90 seconds. But sometimes it
takes an hour! Use caching for this, to keep it consistent.

Signed-off-by: Rusty Russell <rusty@rustcorp.com.au>

85/100 · StrongMessage clarity
✓ Specific, descriptive subject✓ Names a concrete action or component✓ Uses a recognizable type or scope✓ Provides detailed explanatory context
Why it was queued
documentation-only discount
Lower-priorityCI: Remove setup useradd line, use eatmydataby Rusty Russell · 8dce87f7 · Feb 28, 2026 · 1 fileMessage 80 · StrongTriage 0Details
Commit message · Rusty Russell

CI: Remove setup useradd line, use eatmydata

I noticed this line causing a delay; ChatGPT thinks NSS name lookup.
I've removed the useradd line altogether.

I also install eatmydata first, to try to speed the other installs.

This drops the install step from 1m45 to about 30 seconds.

Signed-off-by: Rusty Russell <rusty@rustcorp.com.au>

80/100 · StrongMessage clarity
✓ Descriptive subject✓ Names a concrete action or component✓ Uses a recognizable type or scope✓ Provides detailed explanatory context
Why it was queued
documentation-only discount
Lower-priorityCI: add more output to apt-get commands, to try to determine source of random delays.by Rusty Russell · 8bde4bb6 · Feb 28, 2026 · 1 fileMessage 82 · StrongTriage 0Details
Commit message · Rusty Russell

CI: add more output to apt-get commands, to try to determine source of random delays.

Sometimes this times out after 30 minutes.

Signed-off-by: Rusty Russell <rusty@rustcorp.com.au>

82/100 · StrongMessage clarity
✓ Specific, descriptive subject✓ Names a concrete action or component✓ Uses a recognizable type or scope✓ Provides an explanatory body✓ Names security-relevant behavior explicitly
Why it was queued
documentation-only discount
Lower-priorityCI: Don't manually install bitcoind again.by Rusty Russell · acdda01c · Feb 28, 2026 · 1 fileMessage 80 · StrongTriage 0Details
Commit message · Rusty Russell

CI: Don't manually install bitcoind again.

.github/scripts/setup.sh does this already, *and* it uses the cache now.

Signed-off-by: Rusty Russell <rusty@rustcorp.com.au>

80/100 · StrongMessage clarity
✓ Descriptive subject✓ Names a concrete action or component✓ Uses a recognizable type or scope✓ Provides detailed explanatory context
Why it was queued
documentation-only discount