Skip to content

Init#1

Merged
kflemin merged 28 commits into
developfrom
init
Jun 25, 2026
Merged

Init#1
kflemin merged 28 commits into
developfrom
init

Conversation

@kflemin

@kflemin kflemin commented Jun 19, 2026

Copy link
Copy Markdown
Contributor

Initial commit with CLI and L100 Audit Data support

Copilot AI left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

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.

Comment thread lib/BOSS/constants.rb
Comment thread lib/BOSS/boss.rb Outdated
Comment thread lib/BOSS/boss.rb
Comment thread lib/BOSS/buildingsync_reader/buildingsync_reader.rb Outdated
Comment thread lib/BOSS/buildingsync_reader/buildingsync_reader.rb Outdated
Comment thread .rubocop.yml
Comment thread README.md
Comment thread spec/tests/unit/buildingsync_reader_spec.rb
Comment thread lib/BOSS/osw_arg_populator.rb Outdated
Comment thread lib/BOSS/osw_arg_populator.rb Outdated
kflemin and others added 5 commits June 25, 2026 10:11
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>
kflemin and others added 2 commits June 25, 2026 10:15
Co-authored-by: Copilot Autofix powered by AI <175728472+Copilot@users.noreply.github.com>
kflemin and others added 2 commits June 25, 2026 10:31
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>
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

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

what does this do?

Copy link
Copy Markdown
Contributor Author

Choose a reason for hiding this comment

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

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)

@kflemin kflemin merged commit 4f028c4 into develop Jun 25, 2026
1 check 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.

4 participants