Conversation
Contributor
There was a problem hiding this comment.
Pull request overview
Initial commit introducing the BOSS Ruby gem, including a Thor CLI, BuildingSync XML readers for L100 audit inputs, and an OpenStudio workflow writer/runner with CI and fixtures.
Changes:
- Added core gem code for BuildingSync parsing, OSW argument population, and workflow execution.
- Added CLI entrypoints, gem packaging/config, and GitHub Actions CI.
- Added RSpec unit/integration tests and a large set of BuildingSync XML fixtures.
Reviewed changes
Copilot reviewed 43 out of 64 changed files in this pull request and generated 19 comments.
Show a summary per file
| File | Description |
|---|---|
| .github/workflows/ci.yml | CI job to run integration + unit RSpec suites in an OpenStudio container |
| .gitignore | Repository ignore rules for bundle artifacts, outputs, and IDE files |
| .rspec | RSpec runner configuration (requires spec_helper) |
| .rubocop.yml | RuboCop configuration and inherited style settings |
| .ruby-version | Pins Ruby version |
| BOSS.gemspec | Gem specification (deps, executables, files) |
| Gemfile | Bundler definition (uses gemspec) |
| Gemfile.lock | Locked dependency set for the gem |
| LICENSE | Removed old license file |
| LICENSE.md | Added license text for the project |
| README.md | Project overview, CLI usage, and L100 workflow mapping documentation |
| Rakefile | Rake tasks for spec + rubocop |
| bin/boss | CLI executable entrypoint |
| bin/console | Developer console entrypoint |
| bin/setup | Local setup helper script |
| lib/BOSS/constants.rb | Shared constants (schema URLs, template paths, weather dir, standards) |
| lib/BOSS/empty_baseline.osw | Baseline OSW template stub |
| lib/BOSS/osw_arg_populator.rb | Populates OSW steps/arguments from reader outputs |
| lib/BOSS/version.rb | Gem version constant |
| lib/BOSS/boss.rb | High-level API to write/run baseline workflows |
| lib/boss_cli.rb | Thor CLI commands wiring to BOSS::Boss |
| lib/BOSS/buildingsync_reader/bcl_weather_file_downloader.rb | Downloads EPW weather by city/state via BCL + EnergyPlus weather |
| lib/BOSS/buildingsync_reader/building_types_by_occupancy_classification.json | Mapping from BuildingSync occupancy to OpenStudio building types |
| lib/BOSS/buildingsync_reader/buildingsync_reader.rb | Parses BuildingSync XML into values used for measures |
| lib/BOSS/buildingsync_reader/systems_map.rb | Maps BuildingSync HVAC system types to OpenStudio/standards system types |
| spec/spec_helper.rb | RSpec configuration + helper for locating a weather file |
| spec/tests/integration/write_and_run_osws_spec.rb | Integration test writing/running OSWs for many fixtures |
| spec/tests/unit/buildingsync_reader_spec.rb | Unit tests for BuildingSyncReader parsing methods |
| spec/files/v2.7.0/179D_Example_Building.xml | BuildingSync fixture XML |
| spec/files/v2.7.0/ASHRAE 211 Export.xml | BuildingSync fixture XML |
| spec/files/v2.7.0/BETTER-1.0.0_SampleOffice_gemtest.xml | BuildingSync fixture XML |
| spec/files/v2.7.0/building_151 copy.xml | BuildingSync fixture XML |
| spec/files/v2.7.0/building_151_level1.xml | BuildingSync fixture XML |
| spec/files/v2.7.0/building_151_n1.xml | BuildingSync fixture XML |
| spec/files/v2.7.0/building_151_no_measures.xml | BuildingSync fixture XML |
| spec/files/v2.7.0/building_151_one_scenario.xml | BuildingSync fixture XML |
| spec/files/v2.7.0/building_151.xml | BuildingSync fixture XML |
| spec/files/v2.7.0/BuildingEQ-1.0.0_gemtest.xml | BuildingSync fixture XML |
| spec/files/v2.7.0/BuildingEQ-1.0.0.xml | BuildingSync fixture XML |
| spec/files/v2.7.0/Chula_Vista_ASHRAE_L1_Example_Building.xml | BuildingSync fixture XML |
| spec/files/v2.7.0/Chula_Vista_ASHRAE_L2_Example_Building.xml | BuildingSync fixture XML |
| spec/files/v2.7.0/DC GSA Headquarters.xml | BuildingSync fixture XML |
| spec/files/v2.7.0/DC GSA HeadquartersWithClimateZone.xml | BuildingSync fixture XML |
| spec/files/v2.7.0/Demo_ASHRAE_L2_Example_Building.xml | BuildingSync fixture XML |
| spec/files/v2.7.0/Example - Invalid Schema.xml | BuildingSync fixture XML |
| spec/files/v2.7.0/Example – Valid Schema Invalid UseCase.xml | BuildingSync fixture XML |
| spec/files/v2.7.0/Example_ASHRAE_L2_Report_-_with_Energy_Use_Data_2.xml | BuildingSync fixture XML |
| spec/files/v2.7.0/Example_ASHRAE_L2_Report_-_with_Energy_Use_Data.xml | BuildingSync fixture XML |
| spec/files/v2.7.0/Example_ASHRAE_L2_Report.xml | BuildingSync fixture XML |
| spec/files/v2.7.0/Example_HOMES_Template_Building.xml | BuildingSync fixture XML |
| spec/files/v2.7.0/Example_NYC_Energy_Efficiency_Report_Property_2.xml | BuildingSync fixture XML |
| spec/files/v2.7.0/Example_NYC_Energy_Efficiency_Report_Property.xml | BuildingSync fixture XML |
| spec/files/v2.7.0/Example_San_Francisco_Audit_Report.xml | BuildingSync fixture XML |
| spec/files/v2.7.0/example-smalloffice-level1.xml | BuildingSync fixture XML |
| spec/files/v2.7.0/Golden Test File.xml | BuildingSync fixture XML |
| spec/files/v2.7.0/L000_OpenStudio_Pre-Simulation_01.xml | BuildingSync fixture XML |
| spec/files/v2.7.0/L000_OpenStudio_Pre-Simulation_02.xml | BuildingSync fixture XML |
| spec/files/v2.7.0/L000_OpenStudio_Pre-Simulation_03.xml | BuildingSync fixture XML |
| spec/files/v2.7.0/L000_OpenStudio_Pre-Simulation_04.xml | BuildingSync fixture XML |
| spec/files/v2.7.0/L100_Audit-1.0.0_and_BSyncr-1.0.0.xml | BuildingSync fixture XML |
| spec/files/v2.7.0/L100_Audit-1.0.0.xml | BuildingSync fixture XML |
| spec/files/v2.7.0/L100_Pre-Simulation-1.0.0.xml | BuildingSync fixture XML |
| spec/files/v2.7.0/NYC_BBL_AT_Demo_Property.xml | BuildingSync fixture XML |
| spec/files/v2.7.0/Reference-PrimarySchool-L100-Audit.xml | BuildingSync fixture XML |
💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.
Co-authored-by: Copilot Autofix powered by AI <175728472+Copilot@users.noreply.github.com>
Co-authored-by: Copilot Autofix powered by AI <175728472+Copilot@users.noreply.github.com>
Co-authored-by: Copilot Autofix powered by AI <175728472+Copilot@users.noreply.github.com>
Co-authored-by: Copilot Autofix powered by AI <175728472+Copilot@users.noreply.github.com>
Co-authored-by: Copilot Autofix powered by AI <175728472+Copilot@users.noreply.github.com>
Co-authored-by: Copilot Autofix powered by AI <175728472+Copilot@users.noreply.github.com>
Co-authored-by: Copilot Autofix powered by AI <175728472+Copilot@users.noreply.github.com>
Co-authored-by: Copilot Autofix powered by AI <175728472+Copilot@users.noreply.github.com>
haneslinger
approved these changes
Jun 25, 2026
Comment on lines
+38
to
+40
| before do | ||
| allow(BOSS::BCLWeatherFileDownloader).to receive(:download_weather_file_from_city_name).and_return(openstudio_weather_file_path) | ||
| end |
Contributor
Author
There was a problem hiding this comment.
it mocks downloading a weather file for the purposes of this test. it grabs the file specified in the spec_helper file (san francisco weather file, from openstudio_standards repo)
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Initial commit with CLI and L100 Audit Data support