Skip to content

fix(f3): set F3 initial power table on calibnet#6590

Merged
LesnyRumcajs merged 3 commits intomainfrom
hm/reset-f3-initial-powertable-calbinet
Feb 12, 2026
Merged

fix(f3): set F3 initial power table on calibnet#6590
LesnyRumcajs merged 3 commits intomainfrom
hm/reset-f3-initial-powertable-calbinet

Conversation

@hanabi1224
Copy link
Contributor

@hanabi1224 hanabi1224 commented Feb 12, 2026

Summary of changes

Changes introduced in this pull request:

Reference issue to close (if applicable)

Closes

Other information and links

Change checklist

  • I have performed a self-review of my own code,
  • I have made corresponding changes to the documentation. All new code adheres to the team's documentation standards,
  • I have added tests that prove my fix is effective or that my feature works (if possible),
  • I have made sure the CHANGELOG is up-to-date. All user-facing changes should be reflected in this document.

Outside contributions

  • I have read and agree to the CONTRIBUTING document.
  • I have read and agree to the AI Policy document. I understand that failure to comply with the guidelines will lead to rejection of the pull request.

Summary by CodeRabbit

  • Bug Fixes

    • F3 consensus is now initialized and operational on the calibnet test network, matching mainnet behavior.
  • Tests

    • Lowered F3 certificate readiness threshold to speed up validation.
    • Re-enabled F3 API comparison tests and removed F3 from the ignored test list.
  • Documentation

    • Added a changelog entry noting the calibnet F3 initial power configuration.

@hanabi1224 hanabi1224 added the RPC requires calibnet RPC checks to run on CI label Feb 12, 2026
@coderabbitai
Copy link
Contributor

coderabbitai bot commented Feb 12, 2026

Walkthrough

Sets calibnet's F3 InitialPowerTable to a specific CID, enables related runtime checks, updates test thresholds and RPC filter lists, and documents the change in the changelog.

Changes

Cohort / File(s) Summary
Manifests & Config
f3-sidecar/f3manifest_calibnet.json, src/networks/mod.rs, CHANGELOG.md
Set calibnet F3 InitialPowerTable from null to a concrete CID; update network config to construct Some(Cid) and add changelog entry.
Test scripts & filters
scripts/tests/calibnet_no_discovery_check.sh, scripts/tests/api_compare/filter-list
Activate F3 certs readiness check; reduce GPBFTInstance wait threshold from >100 to >50; remove Filecoin.F3 ignore entries from the API-compare filter list and enable diagnostic commands.
Tests
src/tool/subcommands/api_cmd/api_compare_tests.rs
Adjust test RPC parameter for F3 certificate retrieval from (100,) to (50,) to match the new readiness threshold.

Sequence Diagram(s)

sequenceDiagram
    participant Deployer as Deployer (config change)
    participant Sidecar as F3 Sidecar / Manifest
    participant Node as Node (networks/mod.rs)
    participant TestRunner as Test scripts & API tests

    Deployer->>Sidecar: commit f3manifest_calibnet.json (InitialPowerTable=CID)
    Deployer->>Node: commit networks/mod.rs (enable f3_initial_power_table)
    Sidecar-->>Node: sidecar will serve initial power table (runtime)
    TestRunner->>Node: start readiness loop (wait GPBFTInstance > 50)
    Note right of TestRunner: once threshold met
    TestRunner->>Sidecar: run `f3 status`, `f3 manifest`, `f3 certs list`, `f3 certs get`
    TestRunner->>API: run API-compare with Filecoin.F3 included
    API-->>TestRunner: certificate responses validated
Loading

Estimated code review effort

🎯 3 (Moderate) | ⏱️ ~20 minutes

Possibly related PRs

Suggested reviewers

  • LesnyRumcajs
  • sudo-shashank
🚥 Pre-merge checks | ✅ 2 | ❌ 1
❌ Failed checks (1 warning)
Check name Status Explanation Resolution
Docstring Coverage ⚠️ Warning Docstring coverage is 0.00% which is insufficient. The required threshold is 80.00%. Write docstrings for the functions missing them to satisfy the coverage threshold.
✅ Passed checks (2 passed)
Check name Status Explanation
Description Check ✅ Passed Check skipped - CodeRabbit’s high-level summary is enabled.
Title check ✅ Passed The title accurately summarizes the primary change across all modified files: enabling the F3 initial power table on the calibnet network.

✏️ Tip: You can configure your own custom pre-merge checks in the settings.

✨ Finishing touches
  • 📝 Generate docstrings
🧪 Generate unit tests (beta)
  • Create PR with unit tests
  • Post copyable unit tests in a comment
  • Commit unit tests in branch hm/reset-f3-initial-powertable-calbinet

No actionable comments were generated in the recent review. 🎉


Comment @coderabbitai help to get the list of available commands and usage tips.

@hanabi1224 hanabi1224 marked this pull request as ready for review February 12, 2026 07:55
@hanabi1224 hanabi1224 requested a review from a team as a code owner February 12, 2026 07:55
@hanabi1224 hanabi1224 requested review from LesnyRumcajs and removed request for a team February 12, 2026 07:56
Copy link
Contributor

@coderabbitai coderabbitai bot left a comment

Choose a reason for hiding this comment

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

Actionable comments posted: 2

🤖 Fix all issues with AI agents
In `@CHANGELOG.md`:
- Line 32: Confirm whether a tracking issue exists for the changelog entry
currently using the PR reference
"[`#6590`](https://github.com/ChainSafe/forest/pull/6590): Set F3
`InitialPowerTable` on calibnet."; if an issue exists, replace the PR link with
the issue link using the format "[`#ISSUE_NO`](link-to-issue): Set F3
`InitialPowerTable` on calibnet." otherwise keep the PR reference as-is; update
the CHANGELOG.md entry accordingly and ensure the description text ("Set F3
`InitialPowerTable` on calibnet.") remains unchanged.

In `@scripts/tests/calibnet_no_discovery_check.sh`:
- Around line 30-37: The echo labels for the certs subcommands are swapped and
misleading; update the two echo statements so they match the commands that
follow — i.e., ensure the echo before "$FOREST_CLI_PATH f3 certs list" reads
"Test subcommands: f3 certs list" and the echo before "$FOREST_CLI_PATH f3 certs
get" reads "Test subcommands: f3 certs get" so the output aligns with the actual
commands.

Co-authored-by: coderabbitai[bot] <136622811+coderabbitai[bot]@users.noreply.github.com>
@codecov
Copy link

codecov bot commented Feb 12, 2026

Codecov Report

✅ All modified and coverable lines are covered by tests.
✅ Project coverage is 63.35%. Comparing base (796f531) to head (4190961).
⚠️ Report is 1 commits behind head on main.

Additional details and impacted files
Files with missing lines Coverage Δ
src/networks/mod.rs 89.19% <100.00%> (+0.10%) ⬆️

... and 6 files with indirect coverage changes


Continue to review full report in Codecov by Sentry.

Legend - Click here to learn more
Δ = absolute <relative> (impact), ø = not affected, ? = missing data
Powered by Codecov. Last update 796f531...4190961. Read the comment docs.

🚀 New features to boost your workflow:
  • ❄️ Test Analytics: Detect flaky tests, report on failures, and find test suite problems.

@LesnyRumcajs LesnyRumcajs added this pull request to the merge queue Feb 12, 2026
Merged via the queue into main with commit e757bc7 Feb 12, 2026
93 of 95 checks passed
@LesnyRumcajs LesnyRumcajs deleted the hm/reset-f3-initial-powertable-calbinet branch February 12, 2026 10:05
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

RPC requires calibnet RPC checks to run on CI

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants