mirror of
https://github.com/hanzoai/tasks.git
synced 2026-10-04 02:04:03 +00:00
hanzoai/base transitively pulled github.com/luxfi/consensus solely through pkg/tasks → replication (quasar.go, the only consensus importer). That made base — and every base consumer — vulnerable to the recurring luxfi/consensus force-moved-tag / vanished-geth supply-chain rot, for a driver base never uses. Make Quasar replication optional by isolating it: - Add Kind() + a unified Stats(accepted,rejected,timeouts) to the Replicator interface so embed.go introspects drivers through the interface, never a concrete type. - Move quasar.go (+ its test) into a new pkg/tasks/replication/quasar package that imports the interface package; the consensus dependency now lives ONLY there. Only cmd/tasksd imports it. - pkg/tasks → replication now has ZERO consensus in its dep graph (`go list -deps ./pkg/tasks | grep consensus` = 0), so base sheds it via Go 1.17+ module-graph pruning. Also unbreak tasks' own consensus: v1.22.85 → v1.36.3 (geth v1.16.73 was a vanished revision; v1.36.3 floors the valid unified luxfi stack). Non-quasar packages build + test green CGO-off; the quasar package builds in CI (its consensus→secp256k1 CGO can't compile in this sandbox — environmental).