Week 38 · 2026
Sep 14 – Sep 20, 2026 · gathered Sep 21, 2026
- 5
- PRs merged
- 1
- PRs opened
- 0
- Closed
- 0
- Opened
- 0
- Releases
- 2
- Repos
- 37
- Commits
- 2
- Comments
Highlights
5 PRs merged, 1 opened and 37 commits across two repos, with no releases and no issue activity. Two of the five merges are last week's leftovers, described then; the other three are a script regen, a fund-lockout fix, and a CI test-runner change. The one PR opened this week also merged before the week closed.
Reactive. The compiled head validator script was regenerated Monday (#2872), a two-line hash bump; the PR benchmarks found no cost or size differences, so nothing behavioural changed.
We focused on a user-reported issue this week: A user depositing two
UTxOs into an open head through the Mesh SDK's incrementalCommitFunds
found neither reflected on L2 after three hours, and both gone from their L1
wallet, sitting unspendable at the deposit script (#2871). The cause sits in
coverFee: when a deposit's own value didn't cover the min ADA of its output,
coverFee topped the output up but left the inline datum, which records
the deposited outputs, at the original value, so observeDepositTx's
value-versus-datum check rejected the deposit and the node never observed
it. The fix (#2873) runs observeDepositTx against the finalized draft
before submission and fails fast with a new DepositTooLow{providedValue, minimumValue} error naming the shortfall, and splits decodeDepositDatum
out of the observer so hydra-tx recover can decode already-stuck deposits
for manual recovery. Left as follow-ups: the blueprint path still tops
up from node fuel rather than the output itself, and Arbitrary HeadId
generates 16-byte values against a 28-byte policy id. Merged Tuesday.
Both PRs described last week also merged: the fanout full-selection guard (#2858) on Tuesday, and the adversarial model testing suite (#2864) on Wednesday.
The rest of the week went into test infrastructure. nix flake check now
runs the Haskell test suites for hydra-node, hydra-tx, hydra-chain-observer,
hydra-plutus-extras, hydra-plutus and hydra-agda (#2874, merged Friday);
hydra-cluster stays excluded because its tests spin up real programs,
and hydra-tui because it needs vty. Opened and merged the same day, 13
end-to-end tests that each started a real Cardano node and real Hydra nodes
were replaced with 30 unit tests checking the same logic directly, cutting
roughly 114 seconds of test time to about 1.3 seconds (#2875). Writing
the replacements surfaced four things the slow tests had only exercised by
accident: the per-address client filter, the pending-deposits list on the
API, two read models behind the commit endpoint and network status, and,
the biggest gap, all 39 cases of which internal events reach clients and
in what form, untested because every prior test built its own expectations
through that same code. A docs claim that the address filter applies to
TxValid and TxInvalid was also corrected (it doesn't), and CommitInfo
gained Eq/Show so a test could compare it.
KPI & Outcome Achievement (M6). Routine only: the W37 note published.
Activity
Merged PRs, issues, and releases grouped by deliverable — the evidence behind the narrative above.
Other / Reactive
- Mergednix flake check incorporating haskell testscardano-scaling/hydra · @noonio
- MergedFix Deposit output calculationcardano-scaling/hydra · @v0d1ch
- MergedRegenerate head scriptcardano-scaling/hydra · @vrom911
- MergedModel rollbacks, restarts and L2 spam with de/commitscardano-scaling/hydra · @v0d1ch
- MergedRoute a full selection to a full fanoutcardano-scaling/hydra · @vrom911
- PR openedMove some tests away from hydra-clustercardano-scaling/hydra · @noonio
35 commits · cardano-scaling/hydra
M6 KPI & Outcome Achievement
Not started2 commits · cardano-scaling/hydra-updates