Task
releases/latest for dig-node is v0.145.0, and that release is missing 10 of the 14 assets
v0.144.1 shipped — including every raw binary and every dign-* CLI asset. dig-installer resolves
both dig-node and dign through releases/latest, so a fresh install is broken right now.
Measured 2026-08-24
| asset on v0.145.0 |
result |
dig-node-0.145.0-linux-x64 |
404 |
dign-0.145.0-linux-x64 |
404 |
dig-node-0.145.0-windows-x64.exe |
404 |
control: dign-0.144.1-linux-x64 on v0.144.1 |
200 |
v0.145.0 carries only the three native installers plus a second .deb:
dig-node-0.145.0-macos.pkg, dig-node-0.145.0-windows-x64.msi, dig-node_0.145.0_amd64.deb,
dig-node_0.145.0_arm64.deb. v0.144.1 has 14 assets including dig-node-0.144.1-{linux-arm64, linux-x64, macos-arm64, macos-x64, windows-x64.exe} and dign-0.144.1-* for all five platforms.
dig-installer/src/release.rs:187 resolves https://api.github.com/repos/{}/{}/releases/latest, and
:59 / :78 declare the dig-node and dign stems against that repo — so the installer asks for
exactly the assets that now 404.
Two defects, and the second is worse than the first
1. The assets were never attached. Job "Nightly — native packages / Attach packages to the
release" reports skipped in run 32679750245. Establish why it was skipped on a schedule event
when the stable job it feeds did run — a guard that assumes stable is dispatch-only would do it, and
this repo's stable job does run on schedule (nightly-release.yml:80 includes
github.event_name == 'schedule').
2. The gate that exists to catch this PASSED. Job "Stable — verify release assets / Verify
v0.145.0 carries the …" reported success on a release missing every raw binary and every CLI. That
is the more dangerous defect: the verification is either checking only the native packages, or checking
build artifacts rather than release assets. A watcher reading the run also called it GREEN, citing
build logs showing dign-0.145.0-* built for five platforms — built is not attached.
Fix the verifier so it enumerates the actual release assets and fails when the set is smaller than
the previous release's. A verify job that cannot fail on a missing asset is not a gate.
Do
- Restore the assets on v0.145.0 — re-run the attach step, or attach them, so
releases/latest
serves a complete set. This is the user-facing half and it comes first.
- Fix the skipped attach step so a scheduled stable cut attaches everything a dispatched one does.
- Fix the verify job so it compares the release's real asset list against the expected platform
matrix, and prove it fails on an incomplete release before calling it fixed.
- Confirm by fetching each asset through GitHub's redirect and matching
Content-Length — never by
a run conclusion, and never from build logs.
Scope + coordination
A live dig-node lane owns src/ on PR#334. You own .github/workflows/** only — do not touch
src/, and rebase before merging. If a version bump is required by the version-increment gate, take the
smallest patch bump and say so, expecting to rebase.
Rules
- Branch, stub commit + push + draft PR first. Gate with
.claude/scripts/check-merge-preconditions.sh --repo DIG-Network/dig-node --pr N --undraft-on-success
on the EXIT CODE.
- dig-node's midnight cron cuts a real stable release unattended, so whatever lands on
main reaches
users at 00:00Z. The merge gate is the last line of defence here, not the first of two.
- Never set
user.name/user.email at any scope. Never hand-push a tag.
- A red publish job can be an intentional guard — read what it asserts before changing it.
Parent: https://github.com/DIG-Network/dig_ecosystem/issues/1701 (needs dign export-seed reachable
from a published binary) and the installer path via
DIG-Network/dig-installer#73.
Task
releases/latestfor dig-node is v0.145.0, and that release is missing 10 of the 14 assetsv0.144.1 shipped — including every raw binary and every
dign-*CLI asset. dig-installer resolvesboth
dig-nodeanddignthroughreleases/latest, so a fresh install is broken right now.Measured 2026-08-24
dig-node-0.145.0-linux-x64dign-0.145.0-linux-x64dig-node-0.145.0-windows-x64.exedign-0.144.1-linux-x64on v0.144.1v0.145.0 carries only the three native installers plus a second
.deb:dig-node-0.145.0-macos.pkg,dig-node-0.145.0-windows-x64.msi,dig-node_0.145.0_amd64.deb,dig-node_0.145.0_arm64.deb. v0.144.1 has 14 assets includingdig-node-0.144.1-{linux-arm64, linux-x64, macos-arm64, macos-x64, windows-x64.exe}anddign-0.144.1-*for all five platforms.dig-installer/src/release.rs:187resolveshttps://api.github.com/repos/{}/{}/releases/latest, and:59/:78declare thedig-nodeanddignstems against that repo — so the installer asks forexactly the assets that now 404.
Two defects, and the second is worse than the first
1. The assets were never attached. Job "Nightly — native packages / Attach packages to the
release" reports
skippedin run32679750245. Establish why it was skipped on ascheduleeventwhen the stable job it feeds did run — a guard that assumes stable is dispatch-only would do it, and
this repo's stable job does run on
schedule(nightly-release.yml:80includesgithub.event_name == 'schedule').2. The gate that exists to catch this PASSED. Job "Stable — verify release assets / Verify
v0.145.0 carries the …" reported success on a release missing every raw binary and every CLI. That
is the more dangerous defect: the verification is either checking only the native packages, or checking
build artifacts rather than release assets. A watcher reading the run also called it GREEN, citing
build logs showing
dign-0.145.0-*built for five platforms — built is not attached.Fix the verifier so it enumerates the actual release assets and fails when the set is smaller than
the previous release's. A verify job that cannot fail on a missing asset is not a gate.
Do
releases/latestserves a complete set. This is the user-facing half and it comes first.
matrix, and prove it fails on an incomplete release before calling it fixed.
Content-Length— never bya run conclusion, and never from build logs.
Scope + coordination
A live dig-node lane owns
src/on PR#334. You own.github/workflows/**only — do not touchsrc/, and rebase before merging. If a version bump is required by the version-increment gate, take thesmallest patch bump and say so, expecting to rebase.
Rules
.claude/scripts/check-merge-preconditions.sh --repo DIG-Network/dig-node --pr N --undraft-on-successon the EXIT CODE.
mainreachesusers at 00:00Z. The merge gate is the last line of defence here, not the first of two.
user.name/user.emailat any scope. Never hand-push a tag.Parent: https://github.com/DIG-Network/dig_ecosystem/issues/1701 (needs
dign export-seedreachablefrom a published binary) and the installer path via
DIG-Network/dig-installer#73.