---
# System prepended metadata

title: DevNet Readiness Checklists

---

# Lean Ethereum  DevNet Readiness Checklists

This document provides readiness checklists for tracking DevNet milestones and maintaining a shared source of truth for feature inclusion/deferral decisions.


## DevNet 2 Readiness Checklist

**Target Date:** 2026-01-28

**Objectives:**

1. Implement leanMultisig PQ signature aggregation
2. Establish baseline performance metrics for PQ signature aggregation

### Specification Readiness Branch/Open PR's

- [x] leanSpec: All pq-devnet-2 PRs merged [Devnet 2 Commit Hash](https://github.com/leanEthereum/leanSpec/tree/c187aab89e0ecc6ce9c1fd9304fd708312ea7106)
- [ ] leanSig: Target commit validated and compatible [Devnet 2 Commit Hash](https://github.com/leanEthereum/leanSig/tree/73bedc26ed961b110df7ac2e234dc11361a4bf25)
- [ ] [leanMultisig](https://github.com/leanEthereum/leanMultisig/tree/e4474138487eeb1ed7c2e1013674fe80ac9f3165): Compatible with leanSig (**BLOCKER**) 
- [x] [Justification compression PR merged](https://github.com/leanEthereum/leanSpec/pull/273) 
- [x] [Checkpoint sync spec finalized](https://github.com/leanEthereum/leanSpec/pull/279)
- [x]  [Zero hash in justification roots refactor](https://github.com/leanEthereum/leanSpec/pull/305)
- [ ] Block-by-root syncing spec finalized
- [ ] Lean VM aggregation integrated
- [x] Lean Meterics: [DevNet 2 branch](https://github.com/leanEthereum/leanMetrics/tree/3b32b300cca5ed7a7a2b3f142273fae9dbc171bf)

### Metrics Readiness

- [PR #18](https://github.com/leanEthereum/leanMetrics/pull/18)
- [PR #16](https://github.com/leanEthereum/leanMetrics/pull/16)
- [PR #13](https://github.com/leanEthereum/leanMetrics/pull/130)

### Bug Fixes Required (from DevNet 1)

- [ ] Node syncing (graceful recovery without full restart)
- [ ] Genesis block checkpoint alignment
- [ ] Memory leak fixes
- [ ] Peer connection fixes
- [ ] SSZ implementation alignment

### Client Implementation Readiness

*Status as of Jan 14, 2026*

| Client     | Status   | ETA           | Notes |
| ---------- | -------- | ------------- | ----- |
| Lantern    | ✅ Ready | -             | Full DevNet-2 support, all tests passing |
| Ream       | ⏳ WIP   | 1-2 days      | Checkpoint sync API pending, DB pruning done |
| Zeam       | ⏳ WIP   | Jan 19, 2026  | Block-by-root syncing working |
| Qlean      | ⏳ WIP   | 1 week        | OOM fix PR open, GossipSub predicates WIP |
| Lighthouse | ⏳ WIP   | TBD           | - |
| Grandine   | ⏳ WIP   | TBD           | Open-sourced, DevNet-1 interop ongoing |
| EthLambda  | ⏳ WIP   | TBD           | Gossip layer done, STF added |
| Gean       | 🆕 New   | TBD           | Go + Lean based client |

### Infrastructure Readiness

### Infrastructure Readiness

- [x] lean-quickstart updated
- [ ] Grafana dashboards ready
- [x] All client Docker images submitted to [readiness issue](https://github.com/blockblaz/lean-quickstart/issues/87)
- [ ] Docker images include [commit hash metadata](https://github.com/blockblaz/lean-quickstart/issues/91)
- [ ] Default Docker image configuration ([Issue #94](https://github.com/blockblaz/lean-quickstart/issues/94))

### Go/No-Go Criteria

- [ ] leanMultisig <-> leanSig compatibility resolved
- [ ] All clients pass spec tests
- [ ] Network runs 1+ hour without finality loss
- [ ] Node can rejoin after disconnect

### May Defer to DevNet 3

- [ ] Committee-based aggregation ([PR #282](https://github.com/leanEthereum/leanSpec/pull/282))
- [ ] Multiple aggregation subnets
- [ ] Recursive aggregation

## DevNet 3 Readiness Checklist

**Target Date:** 2026-02-25

**Objectives:**

1. Decouple aggregation from block production (separate aggregator role)
2. Establish protocol for propagating aggregated signatures

### Specification Readiness

- [ ] High-level plan [PR #56](https://github.com/leanEthereum/pm/pull/56) merged
- [ ] leanSpec: Committee aggregation [PR #282](https://github.com/leanEthereum/leanSpec/pull/282) merged
- [ ] compute_subnet_id() function [PR #58](https://github.com/leanEthereum/pm/pull/58) merged
- [ ] Aggregator role fully specified
- [ ] New gossipsub topics defined (`attestation_{subnet_id}`, `aggregated_attestation`)
- [ ] GossipSub propagation predicates for topic message acceptance/rejection

### PR #282 Remaining Work

- [ ] Handle aggregators not observing sufficient signatures by interval 2
- [ ] Add gossipsub propagation predicates
- [ ] Rebase to latest main

### Client Implementation Readiness

| Client     | Aggregator Role | Subnet Topics | Interop |
| ---------- | --------------- | ------------- | ------- |
| Lantern    | ⏳              | ⏳            | ⏳      |
| Ream       | ⏳              | ⏳            | ⏳      |
| Zeam       | ⏳              | ⏳            | ⏳      |
| Qlean      | ⏳              | ⏳            | ⏳      |
| Lighthouse | ⏳              | ⏳            | ⏳      |
| Grandine   | ⏳              | ⏳            | ⏳      |
| EthLambda  | ⏳              | ⏳            | ⏳      |
| Gean       | ⏳              | ⏳            | ⏳      |

### New Functionality

**Aggregator Role:**

- [ ] Collect attestations from subnet topic
- [ ] Aggregate signatures (no recursive aggregation)
- [ ] Propagate to `aggregated_attestation` topic

**Proposer Updates:**

- [ ] Listen to `aggregated_attestation` topic
- [ ] Include aggregations in block

### Infrastructure Readiness

- [ ] validator-config.yaml with `is_aggregator` field
- [ ] lean-quickstart updated for subnet topology
- [ ] Grafana dashboards for subnets

### Go/No-Go Criteria

- [ ] PR #282 merged
- [ ] All clients implement aggregator role
- [ ] Aggregated signatures included in blocks
- [ ] No regression in finality

### Out of Scope

- Multiple aggregation subnets -> DevNet 4
- Recursive aggregation -> Future
- Random validator-to-subnet assignment -> Future
- Dynamic validator set (deposit/exit) -> DevNet 4+

### Deferred from DevNet 2

- [ ] (To be filled based on DevNet 2 outcome)

## DevNet 4 Readiness Checklist

**Target Date:** TBD

**Objectives:**

1. Multiple aggregation subnets
2. Dynamic validator set (deposit/exit interface)

### Specification Readiness

- [ ] Multiple aggregation subnets spec
- [ ] Dynamic validator set spec ([PR from Zepturo](https://github.com/leanEthereum/leanSpec))
- [ ] Random validator-to-subnet assignment

### Planned Features (from earlier deferrals)

- [ ] Multiple aggregation subnets (from DevNet 3)
- [ ] Dynamic validator set - deposit/exit (from DevNet 3)

### May Include (pending research)

- [ ] Recursive aggregation (if performance targets met)
- [ ] Full Beacon spec parity items (DAS, execution, etc.)

### Client Implementation Readiness

| Client     | Multi-subnet | Dynamic Validators | Interop |
| ---------- | ------------ | ------------------ | ------- |
| Lantern    | ⏳           | ⏳                 | ⏳      |
| Ream       | ⏳           | ⏳                 | ⏳      |
| Zeam       | ⏳           | ⏳                 | ⏳      |
| Qlean      | ⏳           | ⏳                 | ⏳      |
| Lighthouse | ⏳           | ⏳                 | ⏳      |
| Grandine   | ⏳           | ⏳                 | ⏳      |
| EthLambda  | ⏳           | ⏳                 | ⏳      |
| Gean       | ⏳           | ⏳                 | ⏳      |

### Deferred from DevNet 3

- [ ] (To be filled based on DevNet 3 outcome)

## Decision Log

Records when features are deferred or moved between DevNets.

| Date | Item | From | To | Reason |
| ---- | ---- | ---- | -- | ------ |
| 2026-01-14 | Dynamic validator set | DevNet 3 | DevNet 4 | Adds complexity while devnets aren't stable; defer until checkpoint sync improves stability |
| 2026-01-14 | Multiple aggregation subnets | DevNet 3 | DevNet 4 | Derisk complexity; focus on single subnet first |

## Open Items to Track

### DevNet 2

| Item | Type | Relevance |
| ---- | ---- | --------- |
| leanMultisig compatibility | Blocker | leanSig compatibility |
| [PR #299](https://github.com/leanEthereum/leanSpec/pull/299) | Open | Interop testing |
| [Issue #87](https://github.com/blockblaz/lean-quickstart/issues/87) | Open | Client Docker images submission |
| [Issue #91](https://github.com/blockblaz/lean-quickstart/issues/91) | Open | Docker commit hash metadata |
| [Issue #94](https://github.com/blockblaz/lean-quickstart/issues/94) | Open | Default Docker image config |

### DevNet 3

| Item | Type | Relevance |
| ---- | ---- | --------- |
| [PR #282](https://github.com/leanEthereum/leanSpec/pull/282) | WIP | Committee aggregation |
| [PR #56](https://github.com/leanEthereum/pm/pull/56), [PR #58](https://github.com/leanEthereum/pm/pull/58) | Merged | High-level plan DevNet 3 plan |
### DevNet 4+

| Item | Type | Relevance |
| ---- | ---- | --------- |
| Dynamic validator set | Deferred | Deposit/exit interface |
---

## References

### Repositories

- [leanSpec](https://github.com/leanEthereum/leanSpec)
- [leanMetrics](https://github.com/leanEthereum/leanMetrics)
- [leanSig](https://github.com/leanEthereum/leanSig)
- [leanMultisig](https://github.com/leanEthereum/leanMultisig)
- [lean-quickstart](https://github.com/blockblaz/lean-quickstart)
- [pm repo](https://github.com/leanEthereum/pm/tree/main/breakout-rooms/leanConsensus/pq-interop)

### DevNet Specs

- [pq-devnet-2.md](https://github.com/leanEthereum/pm/blob/main/breakout-rooms/leanConsensus/pq-interop/pq-devnet-2.md)
- [pq-devnet-3.md](https://github.com/leanEthereum/pm/blob/main/breakout-rooms/leanConsensus/pq-interop/pq-devnet-3.md)
