Skip to content

Fukuii Verification Status

This page is generated from .github/gates.yml, the single source of truth for what Fukuii's CI actually enforces.

How to read it. A suite marked required must be green for a change to merge — that is a claim backed by a check. A suite marked informational runs and reports, but cannot block a merge; its results are data, not a compliance claim. A suite marked quarantined is known broken and is excluded from every claim on this site.

We publish this because the alternative — a wall of green badges with no gates behind them — is how v0.8.0 shipped with Hive sync-server red and consume-rlp failing ~67% of its cases. See issues #1402, #1403, #1404.

Canonical facts

Binary fukuii
Container image ghcr.io/chippr-robotics/fukuii
Mirror docker.io/chipprbots/fukuii
Version source version.sbt (semver)

Lineage. Fukuii is a derivative work of IOHK's Mantis client, maintained by Chippr Robotics LLC under Apache-2.0. See NOTICE. Mantis is a trademark of IOHK, used here only to describe this fork's origin.

fukuii-project/fukuii-cli. An independent, ground-up rewrite with no common ancestor and no shared source with this repository. It is NOT this release train and NOT a fork of this tree. See issue #1399 for the divergence assessment and the clean-room constraint.

Required checks

These must be green to merge. Every claim this project makes rests on this list and nothing else.

Check Covers Owner
ci-test-build scalafmtCheckAll, compile-all, Tier-1 testEssential, Tier-2 testStandard with coverage (develop + PRs into main), KPI baselines, ethereum/tests integration job, assembly build. realcodywburns
docker-build Container images build and push for mainnet/mordor/bootnode variants. realcodywburns
gate-integrity This matrix itself — undeclared checks, required-but-unfailable gates, expired/incomplete waivers, unmapped constitution principles, stale generated status doc, dead badges, and over-claiming documentation. FR-029: the meta-check is itself required, or it guarantees nothing. realcodywburns

Informational — runs, reports, does not block

These are not compliance claims. Each carries a tracking issue and a date by which it must become required or be formally re-scoped in a reviewed PR.

Check Covers Promote by Issue Note
hive-sync Cross-client sync interop. fukuii as sync CLIENT (fukuii syncs from go-ethereum/nethermind) and as sync SERVER (go-ethereum/nethermind sync from fukuii). Gated on the fukuii subset only, so upstream geth<->nethermind failures do not pollute this signal. 2026-12-31 #1402 #1402's first required-slice item. Both waivers are retired (#1407). sync go-ethereum from fukuii passes since fukuii's ENR eth entry became [[fork-hash, fork-next]] and the hive adapter advertises the container address. sync fukuii from nethermind was an intermittent fukuii-sink failure; it passes after the fix for the dropped-reply race behind the same intermittent sink stall (3af08c103). Evidence: CI run 35997930212 on a78d2557d, 18/18; locally with all three clients, every fukuii test green.
hive-smoke-genesis Client starts from a hive-supplied genesis and reports a chain head. 2026-11-30 #1402 Cheapest suite and the natural first promotion: if this cannot be made required, nothing can. Last green on main 2026-04-30; red since.
hive-smoke-network Client accepts peers and forms a network under hive's harness. 2026-11-30 #1402
hive-consume-rlp EELS consume-rlp — block import from RLP across the fork schedule, including the ETC forks. #1402's third required-slice item. 2026-12-31 #1402 ~67% failing at v0.8.0. Not claimed as verified anywhere until promoted.
hive-engine Engine API suite, including invalid-payload rejection — #1402's second required-slice item. ETH/Sepolia path only. 2026-12-31 #1402
hive-consensus ethereum/consensus — state-transition conformance. 2027-03-31 #1402
hive-consume-engine EELS consume-engine — payload import via Engine API. Runs the fixed shard consume-engine-13 of .github/hive-shards.json (874 tests, ~44 min) to completion; the whole suite runs in hive-full. 2027-03-31 #1402
hive-full consume-engine, consume-rlp and consensus run TO COMPLETION, sharded per .github/hive-shards.json (an exact partition, proven by scripts/hive/gen-shards.py). The release-PR hive-consume-*/hive-consensus workflows only sample these suites. 2027-03-31 #1402 Release gate: runs on a hive-full-labelled PR to main, or workflow_dispatch — ~33 jobs x ~3.5 h per pass, so never per push or nightly. Verdict comes from the aggregate job, never the workflow conclusion.
hive-rpc-compat JSON-RPC method compatibility against the reference corpus. 2027-03-31 #1402
hive-graphql GraphQL endpoint conformance. 2027-03-31 #1402
hive-devp2p devp2p discovery and RLPx wire conformance. 2027-03-31 #1402 Two jobs since 2026-09-24. One runs discv4, discv5, snap and snap2 in full; the other runs eth without GetCells and BlobTxWithInvalidCells, which are skipped via sim_skip and waived until #1409 because they hang the suite. Local hive on 4dc5b77af: discv4 16/16, discv5 11/11, snap 6/6, snap2 4/4, eth 22/24.
ethereum-tests-nightly Nightly ethereum/tests across the full ETC and ETH fork schedules. 2027-03-31 #1402 Runs with continue-on-error today. Promotion requires removing that and establishing a baseline pass count first.
eest-amsterdam execution-specs [email protected] Amsterdam and BPO2->Amsterdam blockchain_tests (26,503) replayed from the release's own block RLP through the import path (EestFixtureCorpusSpec), and every block they accept (27,352) rebuilt by the Engine API payload builder from its parent, attributes and transactions, which must reproduce execution-specs' block hash (EngineApiAmsterdamBuilderEestSpec). Fails on any divergence in either, on fewer than EEST_MIN_TESTS tests in either, and on a missing corpus. 2026-11-30 #1419 26,503 / 26,503 on the import replay (run 36294294338, 2026-09-27), up from a baseline of 18,081 on 2026-09-26 before the Glamsterdam work items (#1415). The builder rebuild (#1427) reproduced all 27,352 blocks when run locally on 2026-09-27. Promote once 0.9.0 ships.

Quarantined — excluded from all claims

Check Why Promote by Issue
hive-prague A parallel, unchecked code path with its own inline exit 0. Migrate to _hive-sim.yml (inheriting its gates) or delete. Excluded from public claims until then. 2026-12-31 #1402
hive-osaka Same as hive-prague. Migrate to _hive-sim.yml or delete. 2026-12-31 #1402

First required slice

Tracked by #1402, target 2026-12-31.

Item Gate Blocked by
geth<->fukuii sync, BOTH directions hive-sync —
invalid-payload rejection hive-engine —
ETC-fork consume-rlp hive-consume-rlp —

Nightlies MUST NOT report green while any member of this slice is red. Enforced structurally by _hive-sim.yml (a suite that produced no results, fewer than min_tests results, or any gated-subset failure is red) rather than by convention.

Active waivers

A waiver suppresses one known-failing test inside an otherwise-gated subset. Every one has an owner, an issue, and an expiry date; CI fails the day it expires. There is no bypass — extending a waiver means editing the matrix in a reviewed PR.

Waiver Gate Excluded test Owner Issue Expires
graphql-gasprice-stale-fixture hive-graphql 07_eth_gasPrice realcodywburns #1407 2026-12-31
graphql-sendraw-38-underpriced-replacement hive-graphql 38_eth_sendRawTransaction_transferEther realcodywburns #1629 2026-12-31
devp2p-getcells-needs-sparse-blobpool hive-devp2p GetCells realcodywburns #1409 2026-12-31
devp2p-invalid-cells-needs-sparse-blobpool hive-devp2p BlobTxWithInvalidCells realcodywburns #1409 2026-12-31