Skip to content

Conversation

@erwanp
Copy link
Contributor

@erwanp erwanp commented Aug 18, 2025

Add various small but important improvements to Boulder :

  • add cursorrules (to help coding Agents)
  • update configs/yamls with new STONE standard of Add new stone format, Plugins, and Custom classes #16
  • validate inputs, add unit support in yaml (like in ctwrap), fail rather than bypass errors
  • add verbose parameter in CLI : boulder some_file.yaml --verbose
  • server auto-searches for a new port if the default one is in use
  • fix an error when reloading a config file, after it was loaded & deleted a first time in the UI: nothing happened.
  • validate input of YAML files using Pydantic models
  • update handling of units , suggest units to the user if invalid, default temperature unit in UI & YAML is now in to °C (changes Add new stone format, Plugins, and Custom classes #16 , add yaml config format (🪨 STONE) #7 )
  • better layout for showing error messages (directly under the schematic instead of below the Input parametesr)
    image
  • resizable network (nodes & connections) pane

@erwanp erwanp requested a review from Copilot August 18, 2025 16:19
Copy link

Copilot AI left a comment

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 adds comprehensive validation and UX improvements to the Boulder configuration system. It introduces schema validation using Pydantic models with unit conversion capabilities, enhances CLI functionality with port management and verbose logging, and updates the UI to display temperatures in Celsius instead of Kelvin.

  • Adds Pydantic-based validation with dynamic unit conversion using Pint
  • Implements verbose logging system with CLI support for better debugging
  • Updates temperature display from Kelvin to Celsius throughout the UI
  • Integrates validation into all configuration loading workflows

Reviewed Changes

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

Show a summary per file
File Description
boulder/validation.py New validation module with Pydantic models and unit conversion
boulder/verbose_utils.py New verbose logging utilities
tests/test_config_validation.py Comprehensive validation test suite
boulder/config.py Integrates validation into config loading functions
boulder/cli.py Enhanced CLI with port management and verbose mode
boulder/layout.py Updates temperature labels to Celsius
boulder/utils.py Updates temperature unit display
environment.yml, pyproject.toml, ci/environment-ci.yml Adds pint and pydantic dependencies
configs/*.yaml YAML format updates for STONE standard
tests/test_data/invalid/*.yaml Invalid test fixtures
boulder/app.py Enhanced server startup with verbose logging
boulder/callbacks/*.py Callbacks updated with verbose logging and temperature units
boulder/cantera_converter.py Updated with verbose logging

Tip: Customize your code reviews with copilot-instructions.md. Create the file or learn how to get started.

@erwanp erwanp merged commit 6f22a69 into main Aug 18, 2025
6 checks passed
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.

2 participants