Skip to content

Everlight#282

Closed
mateeullahmalik wants to merge 5 commits intomasterfrom
everlight-supernode-compat-plan
Closed

Everlight#282
mateeullahmalik wants to merge 5 commits intomasterfrom
everlight-supernode-compat-plan

Conversation

@mateeullahmalik
Copy link
Copy Markdown
Collaborator

This PR adds a detailed implementation plan for supernode-side Everlight compatibility with Lumera PR #113.

Highlights:

  • chain-grounded requirements for epoch report payloads (disk_usage_percent, cascade_kademlia_db_bytes)
  • role-aware audit report submission semantics (prober vs non-prober)
  • supernode query/client impacts and required wrappers
  • P2P/bootstrap and selection policy impact analysis
  • concrete unit/integration test matrix and rollout steps

Plan doc:

  • docs/plans/everlight-supernode-compat-implementation-plan.md

@mateeullahmalik mateeullahmalik changed the title docs: Everlight supernode compatibility implementation plan Everlight Apr 15, 2026
@mateeullahmalik mateeullahmalik force-pushed the everlight-supernode-compat-plan branch from 3bfe9b5 to dbcd72b Compare April 22, 2026 15:35
@roomote-v0
Copy link
Copy Markdown

roomote-v0 Bot commented Apr 22, 2026

Rooviewer Clock   See task

Latest commit (f8c2a2f) bumps lumera to v1.12.0-rc and aligns tests/system deps (cometbft v0.38.21, go 1.25.9). No new issues found. One item from the previous review remains open:

  • Confirm CascadeKademliaDbBytes proto field type matches the float64 cast in service.go:156 (if the chain field is uint64, the cast would silently lose precision for very large values)
Previous reviews

Mention @roomote in a comment to request specific changes to this pull request or fix all unresolved issues.

hostReport.DiskUsagePercent = diskUsagePercent
}
if cascadeBytes, ok := s.cascadeKademliaDBBytes(tickCtx); ok {
hostReport.CascadeKademliaDbBytes = float64(cascadeBytes)
Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

cascadeBytes is uint64 but is cast to float64 here. If the proto field CascadeKademliaDbBytes is typed as double, this is correct but worth noting that float64 silently loses precision above 2^53 (~9 PB). For realistic DB sizes this is fine. However, if the chain proto field is actually uint64/int64, this cast would silently truncate large values and the assignment would need to change. Worth verifying against the chain proto definition to be safe, given the plan's R1 risk ("Wrong units -> payout distortion").

Fix it with Roo Code or mention @roomote and request a fix.

roomote-v0[bot]
roomote-v0 Bot previously approved these changes Apr 22, 2026
Aligns both supernode go.mod and tests/system go.mod with the v1.12.0-rc
release tag (lumera commit 7ca770a / Everlight #113). Resolves the
install-lumera CI step which requires a real downloadable release asset
rather than a pseudo-version.
@mateeullahmalik
Copy link
Copy Markdown
Collaborator Author

Consolidated into #284, which now targets master directly and contains all 5 commits from this branch plus the p2p STORAGE_FULL eligibility gate on top. Closing in favor of a single Everlight supernode PR.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant