Skip to content

Enhancements protocol configuration markers - #3504

Draft
turmelclem wants to merge 5 commits into
mainfrom
ctl/3503-fix-runbook-and-improve-nodes-logs-and-configurations
Draft

Enhancements protocol configuration markers#3504
turmelclem wants to merge 5 commits into
mainfrom
ctl/3503-fix-runbook-and-improve-nodes-logs-and-configurations

Conversation

@turmelclem

@turmelclem turmelclem commented Aug 28, 2026

Copy link
Copy Markdown
Contributor

Content

Minor update after #3393

  • Fix protocol configuration markers runbook (environment variables export, jq formatting and commands results)
  • Add a new option to the import-markers command, --force, which bypasses the verify_configurations_against_chain function when producing the datum file
  • Add logs of the fetched Mithril network configuration in the signer and aggregator
  • Update JSON config files in mithril-aggregator/config (removing protocol_parameters, adding protocol_configuration_reader_adapter_config for preview)

Pre-submit checklist

  • Branch
    • Tests are provided (if possible)
    • Crates versions are updated (if relevant)
    • CHANGELOG file is updated (if relevant)
    • Commit sequence broadly makes sense
    • Key commits have useful messages
  • PR
    • All check jobs of the CI have succeeded
    • Self-reviewed the diff
    • Useful pull request description
    • Reviewer requested
  • Documentation
    • Update README file (if relevant)
    • Update documentation website (if relevant)
    • Add dev blog post (if relevant)
    • Add ADR blog post or Dev ADR entry (if relevant)
    • No new TODOs introduced

This PR closes #3503

Copilot AI left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

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

Pull request overview

This PR improves the protocol configuration markers workflow (post-#3393) by enhancing operational documentation, adding an “emergency” CLI mode to skip a safety guard during datum generation, and increasing observability by logging fetched Mithril network configuration in both signer and aggregator components.

Changes:

  • Add debug logging of fetched MithrilNetworkConfiguration in the signer state machine and aggregator epoch service.
  • Add --force to the protocol-configuration import markers command to bypass on-chain configuration verification.
  • Update the protocol-configuration markers runbook and adjust aggregator JSON configs for preview/dev.

Reviewed changes

Copilot reviewed 6 out of 6 changed files in this pull request and generated 8 comments.

Show a summary per file
File Description
mithril-signer/src/runtime/state_machine.rs Adds debug logging for the fetched network configuration.
mithril-aggregator/src/services/epoch_service.rs Adds debug logging for the fetched network configuration during epoch informing.
mithril-aggregator/src/commands/protocol_configuration_command.rs Introduces --force on import-markers and updates default protocol parameters; updates CLI parsing test.
mithril-aggregator/config/preview.json Removes protocol_parameters and adds protocol-configuration reader adapter config and other settings for preview.
mithril-aggregator/config/dev.json Removes protocol_parameters and updates adapter-related configuration keys.
docs/runbook/protocol-configuration-markers/README.md Improves runbook commands/output examples and formatting; updates env var naming.
Suppressed comments (2)

docs/runbook/protocol-configuration-markers/README.md:142

  • Wording: “informations” should be “information”.
Execution of previous command must return following informations :

docs/runbook/protocol-configuration-markers/README.md:153

  • Spelling in the added command output: “Sucessfully” should be “Successfully”.
Sucessfully wrote Tx datum file at **YOUR_ASSET_PATH**/protocol-configurations-datum.json

💡 Add a code-review agent skill or configure MCP servers for context-aware, tailored reviews. Learn more in the docs.

Comment on lines +236 to +239
debug!(
self.logger,
"Mithril network configuration: {network_configuration:?}"
);
Comment on lines +308 to +311
debug!(
self.logger,
"Mithril network configuration: {network_configuration:?}"
);
Comment thread mithril-aggregator/src/commands/protocol_configuration_command.rs
Comment on lines 331 to +341
let tools = ProtocolConfigurationTools::from_dependencies(dependencies)
.await
.with_context(|| "protocol-configuration-tools: initialization error")?;
tools.verify_configurations_against_chain(protocol_configurations.clone())?;

// 4: Verify protocol configuration against on chain configuration
if self.force {
println!("/!\\ --force option is set, bypassing the verification against chain /!\\");
} else {
println!("Verifying protocol configuration against on chain configuration...");
tools.verify_configurations_against_chain(protocol_configurations.clone())?;
}
./mithril-aggregator protocol-configuration export-markers --target-path $ASSETS_PATH/protocol-configurations.json
```

Execution of previous command must return following informations :
```bash
No protocol configurations found on chain, getting default protocol configurations output file...
Generating JSON protocol configurations output file...
Sucessfully wrote JSON protocol configurations file at **YOUR_ASSET_PATH**/protocol-configurations.json
```

And create the variable `TX_IN_DATUM={TxHash}#{TxIn}` by replacing with values from the previous command (where inline datum are available):
And create the variable `TX_IN_DATUM={TxHash}#{TxIn}` by replacing with values from the previous command (where inlineDatum are available):
Comment on lines 139 to 140
./mithril-aggregator protocol-configuration import-markers --import-path $ASSETS_PATH/protocol-configurations.json --target-path $ASSETS_PATH/protocol-configurations-datum.json
```
@github-actions

Copy link
Copy Markdown

Test Results

     5 files  ± 0     221 suites  ±0   56m 27s ⏱️ - 1h 4m 15s
 3 505 tests  - 57   3 505 ✅  - 57  0 💤 ±0  0 ❌ ±0 
11 612 runs   - 66  11 612 ✅  - 66  0 💤 ±0  0 ❌ ±0 

Results for commit 9ab8cb2. ± Comparison against base commit df38c0c.

This pull request removes 57 tests.
mithril-stm ‑ circuits::halo2::tests::golden::cases::negative::slow::index_out_of_bounds
mithril-stm ‑ circuits::halo2::tests::golden::cases::negative::slow::index_too_large_for_circuit_range
mithril-stm ‑ circuits::halo2::tests::golden::cases::negative::slow::indices_not_increasing
mithril-stm ‑ circuits::halo2::tests::golden::cases::negative::slow::leaf_merkle_path_mismatch
mithril-stm ‑ circuits::halo2::tests::golden::cases::negative::slow::leaf_swap_keep_merkle_path
mithril-stm ‑ circuits::halo2::tests::golden::cases::negative::slow::leaf_wrong_verification_key
mithril-stm ‑ circuits::halo2::tests::golden::cases::negative::slow::merkle_path_corrupt_sibling
mithril-stm ‑ circuits::halo2::tests::golden::cases::negative::slow::merkle_path_flip_position
mithril-stm ‑ circuits::halo2::tests::golden::cases::negative::slow::merkle_path_length_long
mithril-stm ‑ circuits::halo2::tests::golden::cases::negative::slow::merkle_path_length_short
…

@turmelclem
turmelclem deployed to testing-preview August 28, 2026 17:04 — with GitHub Actions Active
@turmelclem
turmelclem deployed to testing-2-preview August 28, 2026 17:04 — with GitHub Actions Active
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.

Enhancements protocol configuration markers

2 participants