refactor(nodetask): consume wire.GovTxResult; drop sei-chain from the graph#453
Conversation
… graph Bumps seictl to v0.0.62 (the wire split) and consumes the shared contract type directly instead of mirroring it: - govoutputs.go decodes wire.GovTxResult (deletes the local govResult mirror + inclusion consts); controller.go keys on wire.Inclusion*. - deletes TestGovResultMirrorMatchesWire — the mirror is gone, so drift is structurally impossible (we import the exact type). Payoff — the controller is now sei-chain-free at every level: - go list -deps ./cmd/... : 230 sei-chain pkgs -> 0 - sei-chain removed from go.mod; `go mod why sei-chain` -> not needed - the gogo-fork and genproto replace directives (sei-chain-only) removed as dead no-ops; go.sum shrinks ~3.4k lines Depends on: seictl#220 (v0.0.62). Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
PR SummaryMedium Risk Overview
No intended runtime or CRD behavior change—only where the shared gov result type comes from and how heavy the dependency tree is. Reviewed by Cursor Bugbot for commit ae44a0e. Bugbot is set up for automated code reviews on this repo. Configure here. |
The controller half of the dependency-leak fix — consumes seictl v0.0.62's
wirepackage and lands the module-graph payoff. Depends on: seictl#220.Change
govoutputs.godecodeswire.GovTxResultdirectly (deletes the localgovResultmirror + inclusion consts);controller.gokeys onwire.Inclusion*.TestGovResultMirrorMatchesWire— the mirror is gone, so wire-drift is structurally impossible (we import the exact type).replacedirectives (they existed only for the sei-chain transitive graph).Proof (the payoff)
go list -deps ./cmd/...: 230 sei-chain packages → 0go mod why sei-chain→ "main module does not need" itNo behavior change — the gov completion contract is identical; this is purely how the shared result type is sourced (the exact
wiretype instead of a hand-mirrored copy).🤖 Generated with Claude Code