Repository navigation
Unified Run Simulation (Tas / OpenStudio / Both) + Tas vs OpenStudio comparison view (#231) - #238
Merged
Merged
Conversation
Adds Simulate > Compare Tas / OpenStudio, a lightweight WPF view over SAM_Validation's comparator library (SAM#211). SAM_UI computes no comparison: values, differences, bands, notes, gates, space alignment and reports are SAM_Validation's (Query.Compare, Format, WriteReports). - Run Tas + OpenStudio: freezes the open model once (snapshot.json), prepares one EPW, then runs the validated B1a producers one after the other in their own processes - benchmark-tas (SAM_Tas) and benchmark-openstudio (SAM_OpenStudio) - with logs, exit codes and a cancel that kills the process tree; then compares and writes comparison.md/.csv/comparison-summary.json into the run folder, with an engine-comparison-run.json record. The open model and the Tas Energy Simulation command are not changed. - Load existing B1a documents or a comparison run folder. - Model and per-space grids (units, Tas/OpenStudio values, absolute and % difference, band) with each row labelled Compared, Not equivalent (informational or unit mismatch), Missing on Tas/OpenStudio or Not reported - never shown as zero. - Provenance (gate, mismatches, hashes, weather, design days; input manifests named as not yet available), diagnostics (gates, unmatched and duplicate spaces, reconciliation, B1a warnings/notes, producer exit codes and logs), open/export reports, open run folder. Tests (fabricated SAM_Validation documents, fake producers): every cell equals SAM_Validation's comparison.csv; status labels follow its flags; orchestration feeds both producers one snapshot and one weather file, compares and reports; failed producer, cancel and no-weather paths; producer location and arguments. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01Fgbs3ko6Xix9Ut15onTY7R
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01Fgbs3ko6Xix9Ut15onTY7R
…ompletion (SAM_UI#231) Run Simulation offers Tas only (the existing Energy Simulation path, unchanged), OpenStudio/EnergyPlus only (SAM_UI#229) or Both. Both freezes one read-only snapshot and weather file, re-checks their SHA-256 before each producer and before comparing, runs Tas then OpenStudio, compares with SAM_Validation only when both completed, and opens the comparison window with the run. When one engine does not complete, its partner's B1a document is kept and shown on its own as Partially completed, with SAM_Validation's metric keys and nothing compared or substituted. Energy Simulation, OpenStudio Simulation and Compare Tas / OpenStudio stay as they are. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01Fgbs3ko6Xix9Ut15onTY7R
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01Fgbs3ko6Xix9Ut15onTY7R
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.
Owner acceptance and authorized merge - 2026-10-18
The owner accepted the documented explicit-EPW numerical residuals for G1 integration and authorized merging #237 followed by #238 after passing checks. No GitHub approval review is fabricated and no repository protection is bypassed. This acceptance does not change comparator tolerances, physics, units or comparison arithmetic.
#237 is merged into
sow/2026-Q4asec1b18c933de7b67503a020cd7b0e3202b2a8695, pinned to approved head9abfc03469bb46c29e46b2dd3feb1961e09f8a5b. Post-merge Q4 Build (Windows)39161716995succeeded, with all 14 dependencies cloned atsow/2026-Q4.This PR was refreshed against that Q4 with a conflict-free merge commit (
98a22d9a). The merge base now contains #237's product code and final G1 record; the diff against Q4 is only this PR's #231 comparison/Run Simulation files plus its record and evidence. Product content remains previously tested at647637f3039c2fc001aa820913142232cf5fa8d4; no product file changed during the refresh.Local validation on the refreshed branch:
dotnet build SAM_UI.sln -c Release0 errors; fullSAM.Analytical.UI.WPF.Tests2835/2835 passed (0 failed, 0 skipped);git diff --check origin/sow/2026-Q4..HEADpassed; SAM_Validation Q468eded0060047af714853a02a152fb9c960bfeb1(contains #15 merge912ae94e) Compare tests 100/100 and ApiTests 2/2 passed. No licensed Tas/OpenStudio run was repeated.Current final head:
7a018a4c699659d5c612aefe4cc70cf3f211388e. Final-head Build 39162568940 PASS and SPDX 39162569070 PASS. The completed build log shows all 14 dependencies selectsow/2026-Q4, including SAM_Validation, SAM_SQLite, SAM_OpenStudio and SAM_Tas; no same-named task branch exists in any dependency repository.No UI merge, PROJECT_PROGRESS closeout or task-branch cleanup has occurred yet. Numerical engine disagreement, HungaryHouse Tas crash, missing per-engine input manifests and producer deployment remain separate follow-ups.
Earlier implementation and acceptance history follows.
Implements #231 (G2; parent #227, tracker SAM-BIM/SAM#206). Merge #237 first.
Behavior
Adds Simulate > Run Simulation with Tas only, OpenStudio/EnergyPlus only and Both. Tas only uses existing Energy Simulation; OpenStudio only uses #237. Both freezes one snapshot/weather, runs the producers sequentially and uses SAM_Validation for values, gates and reports. Partial completion preserves only the successful producer, shows Not compared and never substitutes a failed producer's document. The comparison view shows model/space results, provenance, diagnostics and report export.
Presentation changes retain SAM_Validation's contributing/informational split, readable grid widths/scrolling, wrapped notes/headers and tooltips. CSV/summary JSON and comparison arithmetic are unchanged. Product and historical validation details are in the PR record.
Current acceptance: HOLD; draft retained - 2026-10-18
Final evidence-only head:
d6e1dd7c130228b436681b200a4c8af732868d4a. Previous headc7bb3d188002cda0fb8f95308eff1db142ffbc83; product content remains previously tested at647637f3039c2fc001aa820913142232cf5fa8d4. Latest diff changes only documentation/evidence and passesgit diff c7bb3d18 d6e1dd7c --check. No product fix was made.Owner authorization covers evidence-only final heads once all acceptance/review gates pass; no extra pin approval is requested solely for documentation. #237's required strict explicit-EPW equality remains unmet, so both merges stay held.
Fresh G1 work on #237 source
b7483443f53dd53a4d16f159d6bc327c901a7770versus same-dependency pre-PR Q4ebe5e09b30b95e43e5d047b3aef2d8c5f01110e9:3b0dbe8f96a18c8b99b311811b2cccdc15c7b34046a549a0981a385cdf0da397). Literal identity remains HOLD; no tolerance or deferral was invented.Exact values, pins, commands and criteria: G1 record, Windows G1 acceptance execution. Portable evidence and verifier scripts; full machine-local runs/builds/logs/TRX at
C:\TasOut\pr237-g1-20261018must be copied/provisioned elsewhere. Originals preserved. All 14 dependency source pins were fixed on Q4; matching eight core/engine/interop DLL hashes isolate UI changes. SAM_Validation Q468eded0060047af714853a02a152fb9c960bfeb1contains #15 merge912ae94ef68af20b437fc92ec7e8891fd1cb640f; its feature branch was already lease-guard deleted.Existing integration/presentation evidence inspected
No successful Both run or broad suite was repeated in this acceptance session.
647637f3: focused 32/32 and full WPF 2835/2835, Release solution build 0 errors; SAM_Validation tests 100/100 + 2/2. These are inspected prior results, not fresh executions here. Hosted CI only builds.documentation/evidence/pr231-presentation/. Saved comparison CSV/summary hashes remain unchanged in the record.Final-head CI and dependency order
Build 39113828494 PASS; SPDX 39113828473 PASS, at final head
d6e1dd7c130228b436681b200a4c8af732868d4a. Completed build log inspected: all 14 dependencies selectsow/2026-Q4, including SAM_Validation, SAM_SQLite, SAM_OpenStudio and SAM_Tas. No Validation feature branch is selected. Log preserved atC:\TasOut\pr237-g1-20261018\logs\pr238-final-build-39113828494.log.#237 evidence head is
b4c5ad9279c58b0a5db0874333db2a696106b145. Its record/evidence is copied here, but that commit is not an ancestor of this head; common ancestor remains original #23795135ceb0ac6efb877f3c17735659084bdbc2aa3. Do not assume the copied record establishes stack ancestry.After resolving equality, merge #237 with a merge commit and expected-head guard after immediate gates; verify post-merge Q4 checks. Then refresh #238 against updated UI Q4, inspect actual stack/content and dependency logs, validate any required base integration and final head, and remove draft only when all gates pass. This current CI run cannot substitute for the later post-#237 refresh.
Live metadata: OPEN/draft, base
sow/2026-Q4, no submitted reviews or review threads. No UI merge/closeout/cleanup occurred; branches/worktrees preserved, checkout clean and evidence pushed. Physics, units, tolerances, comparison arithmetic and deployment unchanged.Precise next decision: owner/domain review of strict identical-value acceptance or a separately reviewed deterministic-conversion fix if bit identity is required. Numerical engine disagreement, HungaryHouse Tas crash, unavailable per-engine input manifests and producer deployment remain separate open follow-ups.