Skip to content

Freshness-audit the ~30 dig-*/chia-* declarations in dig-node-service that step 6 deferred #418

Description

@MichaelTaylor3d

Deferred from: #417 (step 6 of #412)

Task

crates/dig-node-service declares roughly 30 dig-* and chia-* crates. PR#417 audited and
bumped only the mirror family — the crates it was already touching — and deferred the rest.

That deferral is correct for that PR's radius (§2.4b limits an audit to the crate you are already
touching, and says to split with a named child rather than let the bumps dwarf the change). This
is that child.

What to do

Bring every dig-* and chia-* declaration in dig-node-service to its latest published version,
and take the cascade where one is owed.

Three checks that are easy to get wrong

  1. Query the index, never memory or a manifest comment.
    curl -sH 'User-Agent: dig-loop' https://index.crates.io/<a>/<b>/<crate> — the User-Agent header
    is required or crates.io answers something that reads exactly like "not published".

  2. chia-* crates move as a SET, never individually. Bumping one while its siblings lag ships the
    crate internally split across two chia lines. That shipped twice on 2026-08-22. Note the
    ceiling here: chia-sdk-driver and chia-sdk-types top out at 0.36.0, so the other chia
    crates having a 0.48.0 is not a reason to move them. dig-node is on the 0.36 line and should
    stay coherent on it.

  3. A git-sourced dependency is invisible to the index check. dig-gossip is pinned by git rev
    and is not on crates.io at all (404) — a documented, permanent carve-out tracked as
    https://github.com/DIG-Network/dig_ecosystem/issues/2647. For that one, compare the pinned rev
    against DIG-Network/dig-gossip's main; the registry check reports it as fine forever, however
    far it has drifted. "No drift" and "no measurement" look identical here.

What a bump that breaks the build means

Information, not an obstacle. Adapting a call site to a new type is correct work. Bridging two
versions with a shim is never correct
— that is the byte-drift class §4.1 exists to prevent. If the
delta does not line up, report the shape and stop.

Also verify from the resolved lock, not the caret: a caret-compatible transitive can silently keep
an old line alive through a re-resolve that cheerfully reports success.

Acceptance

Every dig-*/chia-* declaration in dig-node-service at its latest published version, chia-*
coherent on a single line verified from the lock, and any cascade either taken or reported with the
blocking dependency named. The dig-gossip carve-out stated explicitly rather than silently skipped.

Metadata

Metadata

Assignees

No one assigned

    Labels

    kind:maintenancereal work that changes nothing a user can perceive

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions