Sigil nodes must build against AkashaKV commit c14bf985859ce704714409fbadd47e63e8658fdc or any descendant. That upstream commit is c14bf98 fix(akashakv): enforce exact-key durable reads. The fix matters for mainnet because compute settlement, NFT state, governance, Tower, labor, usernames, DEX, Nova, and every system-contract state partition depend on AkashaKV returning the exact latest visible value for a key without crossing into prefix-extension keys, losing committed empty values, or deadlocking during snapshot reads.

Workspace declaration

The active workspace uses a path dependency:
akashakv = { path = "../../../akasha/akasha/kv" }

CI enforcement

python3 scripts/validate-launch-readiness.py akashakv-pin
For path dependencies, the lint resolves the containing Git repository and runs git merge-base --is-ancestor c14bf98 HEAD. For Git dependencies, the lint requires an explicit rev beginning at c14bf98 or a later pinned commit, never a branch or tag.

Why this matters

State partitionWhat the fix protects
ComputeReceipt settlement records that may contain empty payload bytes.
NFTIdentity-binding lookups across the prefix-shared nft/by-owner/ index.
GovernanceVote tallies that include zero-value sentinel records.
TowerPer-epoch checkpoint state with committed empty fields.
LaborDispute records with optional fields serialised as empty.
NamesSNS records with empty resolver sets.
DEXLP positions in pools with zero non-MINT balances.
NovaParcel records with optional metadata.
A downstream node running an earlier AkashaKV revision can silently return wrong values for these state classes. The pin is mandatory for mainnet, canary, and any deployment that serves chain state to external clients.