The Pull Request for the next on-chain software upgrade, v0.2.10, is open for review. Feedback and suggested improvements are welcome. The current plan is to keep the review window open for about 2 days.
Bounties for meaningful contributions to this PR review may be proposed in the next upgrade.
This is a call for review of the Pull Request only, and not the start of formal voting. The governance voting process will begin after the review period concludes.
Key changes
PR #710 PoC Validation Sampling Optimization
This upgrade introduces a new PoC validation mechanism that reduces complexity from O(N^2) to O(N x N_SLOTS) by assigning each participant a fixed sampled set of validators. Reference design and analysis: gonka/proposals/poc/optimize.md at e4c414044e72517b902f73d0d046fec24ccaa848 · gonka-ai/gonka · GitHub
PR #725 PR PoC Weight Normalization by Real PoC Time
This upgrade normalizes PoC participant weights by actual PoC elapsed time to reduce block-time drift effects and keep weight outcomes consistent with real execution duration.
Other key changes:
- PR #708 IBC Upgrade to v8.7.0
- PR #723 Testnet bridge setup scripts
- PR #666 Artifact storage throughput optimization
- PR #688 Punishment statistics from on-chain data
- PR #697 Portable BLST build for macOS test builds
- PR #712 Require proto-go generation matches committed code
- PR #711 PoC test params from chain state
- PR #641 Streamvesting transfer with vesting
- PR #659 model assignment checks previous-epoch rewards.
- PR #716 rename PoC weight function for clarity and correctness.
API hardening and reliability fixes:
- PR #634: add request body size limits to reduce DoS risk.
- PR #727: follow-up for #634, pass response writer to
http.MaxBytesReaderand align tests. - PR #638: fix unsafe type assertions in request processing.
- PR #644: avoid rewriting static config on each startup.
- PR #661: prevent API crash on short network drops.
- PR #640: add unit tests for node version endpoint behavior.
- PR #622: propagate refund errors in
InvalidateInference. - PR #639: add missing return after error in task claiming path.
- PR #643: sanitize nil participants in executor selection.
- PR #545: minor bug fixes in API flow.
Upgrade plan
Binary versions are expected to be updated via an on-chain upgrade proposal. For more information on the upgrade process, refer to gonka/docs/upgrades.md at e4c414044e72517b902f73d0d046fec24ccaa848 · gonka-ai/gonka · GitHub.
Existing hosts don’t need to upgrade their api and node containers. The updated container versions are intended for new hosts who join after the on-chain upgrade is complete.
Proposed process
- Active hosts review this proposal on GitHub and leave feedback.
- After the PR is reviewed by community, a v0.2.10 release is expected to be created from this branch, and an on-chain upgrade proposal for this version can be submitted, starting the formal governance voting process.
- If the on-chain proposal passes, this PR is expected to be merged after the upgrade is executed on-chain.
Creating the release from upgrade-v0.2.10 branch (instead of main) minimizes the time that the /deploy/join/ directory on the main branch contains container versions that do not match the on-chain binary versions, ensuring a smoother onboarding experience for new hosts.
Testing and migration
Testing guidance and migration details for v0.2.10 are documented here. Please review carefully.
Compatibility notes
If you have any scripts that parse JSON output from the inferenced CLI, please re-check them after this upgrade. Due to the ibc-go upgrade to v8.7.0, enums are now encoded as strings instead of numbers, and int64/uint64 values are now also encoded as strings.