# EPF6 - Week 21 ## Overview - Attended the Lodestar Weekly Standup and [shared updates](https://github.com/ChainSafe/lodestar/wiki/Lodestar-Weekly-Standups-2025#kurtosis-migration-and-testing) - Focused on **debugging inconsistencies** between the table renderer outputs from the **Kurtosis-based simulation** and the **original Lodestar testing framework**. - Discovered that the **Kurtosis migration branch** on GitHub was slightly behind the Lodestar **reference branch** `unstable`, missing key updates recently introduced upstream. - Updated the network configuration in multiFork.test.ts so that all forks now start from slot zero, activating all fork rules from genesis. - After applying these updates, the simulation output no longer signals errors, and the table renderer output now closely matches Lodestar’s original testing framework. ## Main points ### 1. Table Renderer Output Debugging This week’s primary goal was to identify why the **Kurtosis simulation’s table renderer output** differed from the results generated by the **regular Lodestar simulation**. Upon inspection, several inconsistencies were traced back to outdated logic in the local Kurtosis branch, which was missing recent updates from the reference branch used by my mentor. **Findings:** - The local Kurtosis branch was **behind the reference branch**, lacking the latest network configuration updates and minor bug fixes. - The missing commits affected how fork activation epochs were parsed and displayed in the final table report. > [!TIP] Discovery > <font color="#27F535">After syncing with the **updated reference branch**, the output discrepancies were reduced significantly.</font> ### 2. Network Configuration Update The network configuration in `multiFork.test.ts` was updated from the previous fork layout to a version where **all forks start from slot zero**, meaning all protocol upgrades (**Altair**, **Bellatrix**, **Capella**, **Deneb**, and **Electra**) are active right from **genesis**: ```diff - network_params: - altair_fork_epoch: 2 - bellatrix_fork_epoch: 4 - capella_fork_epoch: 6 - deneb_fork_epoch: 8 - electra_fork_epoch: 10 + network_params: + altair_fork_epoch: 0 + bellatrix_fork_epoch: 0 + capella_fork_epoch: 0 + deneb_fork_epoch: 0 + electra_fork_epoch: 0 ``` ### Results and Current Observations After these updates, the output from the **Kurtosis-based simulation** shows a noticeable improvement in alignment with the **Lodestar testing framework’s table renderer**, though results are still being evaluated. :::warning :warning: **Note** The simulation is currently running with the three synchronization assertions commented out: <code>assertRangeSync(env)</code>, <code>assertCheckpointSync(env)</code>, and <code>assertUnknownBlockSync(env)</code>. These assertions will be revisited and addressed as next steps after the fellowship. ::: After these updates, the output from the Kurtosis-based simulation appears **stable** and **visually consistent** with the Lodestar testing framework’s table renderer. **Lodestar testing framework output:** ![image](https://hackmd.io/_uploads/SkdkfbZebl.png) **Lodestar with Kurtosis output:** ![image](https://hackmd.io/_uploads/B15wzW-lWl.png) **Preliminary Observations:** - The final simulation summary no longer reports **immediate** errors. - The table renderer output appears **structurally similar** to Lodestar’s native simulation output. - The simulation now runs through post-Electra behavior **without obvious inconsistencies**, but **additional tests** are required to confirm full parity. > The hope is that this improvement could represent a valuable step for the team and potentially serve as an initial entry point for an eventual integration of Kurtosis into Lodestar’s testing framework! ## Key Learnings | Area | Insight | |------|----------| | **Branch Alignment** |Keeping the Kurtosis branch synced with Lodestar’s main branch is essential to avoid outdated network parameters and misaligned results.| | **Network Configuration** | Starting all forks from slot zero activates all upgrades at genesis, providing faster validation of post-Electra behavior.| | **Output Consistency** | Once aligned, the Kurtosis simulation produces table renderer outputs similar to Lodestar’s framework| |**Debugging Workflow**|Incremental debugging across frameworks helps isolate branch drift issues and improve reliability.| ## Final EPF week TODOs As this marks the final week of the fellowship, the focus shifts from **implementation** to the **final communication**. The remaining time is dedicated to preparing the final presentation and **consolidating findings**. The goal is to highlight the technical insights gained throughout the process, from investigating Lodestar's codebase to the development of Kurtosis-based setup and identifying possible solid pathways for future integration and improvement. This wrap-up phase is also about defining which outcomes hold **the greatest value for Lodestar’s team**. It has been an amazing experience, full of learning, collaboration, and problem-solving. I’m deeply grateful for this opportunity and for the chance to work alongside such brilliant minds! Next step, **Devconnect 2025 and EPF day in Buenos Aires**!