Skip to content

Unified Run Simulation (Tas / OpenStudio / Both) + Tas vs OpenStudio comparison view (#231) - #238

Merged
michaldengusiak merged 14 commits into
sow/2026-Q4from
claude/tas-openstudio-comparison
Oct 18, 2026
Merged

michaldengusiak merged 14 commits into
sow/2026-Q4from
claude/tas-openstudio-comparison

Conversation

@michaldengusiak

@michaldengusiak michaldengusiak commented Oct 17, 2026 •

Copy link
Copy Markdown

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-Q4 as ec1b18c933de7b67503a020cd7b0e3202b2a8695, pinned to approved head 9abfc03469bb46c29e46b2dd3feb1961e09f8a5b. Post-merge Q4 Build (Windows) 39161716995 succeeded, with all 14 dependencies cloned at sow/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 at 647637f3039c2fc001aa820913142232cf5fa8d4; no product file changed during the refresh.

Local validation on the refreshed branch: dotnet build SAM_UI.sln -c Release 0 errors; full SAM.Analytical.UI.WPF.Tests 2835/2835 passed (0 failed, 0 skipped); git diff --check origin/sow/2026-Q4..HEAD passed; SAM_Validation Q4 68eded0060047af714853a02a152fb9c960bfeb1 (contains #15 merge 912ae94e) 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 select sow/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 head c7bb3d188002cda0fb8f95308eff1db142ffbc83; product content remains previously tested at 647637f3039c2fc001aa820913142232cf5fa8d4. Latest diff changes only documentation/evidence and passes git 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 b7483443f53dd53a4d16f159d6bc327c901a7770 versus same-dependency pre-PR Q4 ebe5e09b30b95e43e5d047b3aef2d8c5f01110e9:

  • Real native cancellation PASS: run-owned OpenStudio/EnergyPlus terminate; Cancelled manifest and no result model.
  • Concurrent UI editing PASS: frozen snapshot/result retain old space name; disposable saved live model retains the edit made during the run.
  • Existing Energy Simulation Tas baseline PASS for the box case: 608/608 persisted numerical values exactly equal, same inputs/settings/dependency binaries. Full native hourly equality not claimed.
  • Opt-in real-run test PASS 1/1, actually executed; no NOT RUN.
  • Prescribed two-cell Boston explicit-EPW standalone and benchmark both succeed, with matching provenance and UI Weather=File, but all four energy/peak values have tiny nonzero differences. Largest absolute energy delta is 3.134337021037936e-7 kWh. A CLI-only repeat also varies (6.598711479455233e-7 kWh heating). All three IDFs match in all engineering fields after normalizing generated aperture/frame names and object order (163 objects, hash 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-20261018 must 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 Q4 68eded0060047af714853a02a152fb9c960bfeb1 contains #15 merge 912ae94ef68af20b437fc92ec7e8891fd1cb640f; 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.

  • Owner integration acceptance from 2026-10-17 remains recorded: saved box Both exits 0/0, Compared, provenance Pass, reports present; 6 Match / 0 Warn / 10 Fail / 2 N/A. Overall/Numerical Fail and Coverage Warn remain explicit; engineering equivalence not claimed.
  • Saved HungaryHouse partial run: Tas fails, OpenStudio succeeds; PartiallyCompleted, no comparison reports, failed Tas result not substituted.
  • Existing presentation content 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.
  • Committed presentation screenshots remain under 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 select sow/2026-Q4, including SAM_Validation, SAM_SQLite, SAM_OpenStudio and SAM_Tas. No Validation feature branch is selected. Log preserved at C:\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 #237 95135ceb0ac6efb877f3c17735659084bdbc2aa3. 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.

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
…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
@michaldengusiak michaldengusiak changed the title Simulate > Compare Tas / OpenStudio: end-to-end comparison workflow and lightweight view (#231) Unified Run Simulation (Tas / OpenStudio / Both) + Tas vs OpenStudio comparison view (#231) Oct 17, 2026
@michaldengusiak
michaldengusiak marked this pull request as ready for review October 18, 2026 20:25
@michaldengusiak
michaldengusiak merged commit 4ffa740 into sow/2026-Q4 Oct 18, 2026
2 checks passed
@michaldengusiak
michaldengusiak deleted the claude/tas-openstudio-comparison branch October 18, 2026 20:37
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