Repository navigation
S11: OpenStudio results round-trip validation (revision 1 + correction + F-S11-1/F-S11-2 integration, offline) - #34
Draft
michaldengusiak wants to merge 8 commits into
Conversation
…ests Independent SQL/ESO reference for the OpenStudio results (S11 plan revision 2, revision 1 only; no EnergyPlus run): - benchmark-openstudio: BenchmarkInputs + three-argument ToBenchmark map exactly the captured SAM objects; --sam-results writes them; all-zero peak = load 0 with no hour; consumption without zone keys unavailable; F3 Total-basis note on successful documents (golden: the note only). - InputReadBack: the S09 geometry/equipment identity extracted into NativeZoneIdentity, behaviour-neutral (S09 replay byte-identical). - New SAM.Analytical.OpenStudio.ResultsReadBack (no production project, no SDK): RunPeriod calendar, per-file completeness (C1/C1b), SQL and ESO channels, checks C2-C9, reference values, row comparison, report. - New os-results-readback CLI: read, subject (closure, production keys, AddResults), compare, negative; Build/Run/Pack scripts (run phase refuses without -ConfirmEngineRuns). - Both projects in SAM_OpenStudio.sln; build.yml checks they are built. - Offline tests: synthetic real-schema SQL/ESO on the S09 exports; F3 substitution proof; completeness, identity (duplicate names by geometry), negatives, source scan; two pinned findings (shared GUID prefix not-met remap, integer UnmetHours). Phase B remains subject to S10's declared validation limitation (SAM|FixB|Heating|designDayPeak.hourOfDay BLOCKED); an S11 PASS is not a Phase B PASS. Generated by Michal Dengusiak and CodeClaude Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Record-only; no code change. Generated by Michal Dengusiak and CodeClaude Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
…encies and weather-run environments (R2) R1: Run-S11-Results.ps1 stops (70) on any step that does not complete, any output not written fresh by its step, a compare report whose verdict/exit disagree or that judged other files, and any changed original; it never reads an earlier report. Model, in.idf, SQL, ESO, b1a.json and sam.json are checked against the run-manifest hashes before and after; the active receipt, harness and producer must be the ones the run recorded. readback collects FAIL/BLOCKED for both fixtures and exits 10/11; negative exits 10 on an unexpected outcome, a copy not mutated as designed or a failing control. R2: SQL and ESO readers judge every dictionary entry of a required variable; any non-Hourly frequency blocks that key. SQL requires exactly one type-3 environment, named as the RunPeriod. Tests: S11DriverTests (42 offline cases, stand-in harness, no engine) and three BLOCKING completeness defects. Generated by Michal Dengusiak and CodeClaude Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
…-S11-1/F-S11-2 proposal Record-only: the review dispositions, the local test evidence for 059aed6 and the bounded production proposal for the two open findings (not implemented). Generated by Michal Dengusiak and CodeClaude Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
This was referenced Oct 24, 2026
…ature branch Integrates the merged F-S11-1 zone-result identity fix into Draft #34 before reconciling the S11 tests that pinned the defect. Generated by Michal Dengusiak and CodeClaude Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
…he signed-off fixtures Replace the two tests that pinned the importer GUID-suffix remap (F-S11-1, fixed by #35) and SAM's integer UnmetHours (F-S11-2, fixed by SAM#219) with positive regressions through the production import, SAM-P/SAM-I and B1a: - SignedOffTwoZone_SharedGuidPrefix_EachSpaceKeepsItsOwnResults: unchanged s08-fix-two (FixA/FixB share 5080c000), zone-specific fractional unmet hours, distinct native/production identities, SAM-I attachment. - FractionalUnmetHours_SurviveSqlImport_SamSaveReload_AndB1a: 14.5/14.75 h through SQL import, sam.json and imported-model JSON save/reload, and B1a. Retire the re-GUIDed two-zone workaround: the S11 tests use the signed-off fixture. Synthetic fractional not-met time is now binary-exact quarter hours that differ per zone. No fixture, GUID, tolerance, metric or gate change. Generated by Michal Dengusiak and CodeClaude Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Records the Q4 merge (43e3541), the replacement regressions, fail-before controls, isolated dependency provenance (SAM Q4 457defbb with SAM#219), local results (read-back 242/242, producer 58/58, importer 488+2 skips, S09 replays byte-identical) and the separately tracked identity concerns. Record-only commit. Generated by Michal Dengusiak and CodeClaude Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
…elper recursion) Owner-authorised Revision 2 (2026-10-26). The controlled receipt build succeeded on fresh SAM-BIM clones at the pinned SHAs, but Run-S11-Results.ps1 -Phase run stopped in its preflight with exit 70: the driver's Git helper (Run-S11-Results.ps1:103-106) calls "& git", which PowerShell resolves to the helper itself, so the HEAD read for a real receipt is empty and Test-Receipt stops every phase. 0 of 2 engine attempts used; no simulation, readback, compare or negative ran. Evidence (bounded, Pack-S11-Evidence.ps1): stopped summary-run.json, build receipt, SHA256SUMS.txt and README. Record: diagnosis, provenance, and a bounded correction recommendation (not implemented). Documentation only; no code, test or script change. Phase B remains subject to S10's declared validation limitation (SAM|FixB|Heating|designDayPeak.hourOfDay BLOCKED); an S11 PASS is not a Phase B PASS. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
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.
S11 OpenStudio results round-trip validation: Revision 1 + review correction + F-S11-1/F-S11-2 integration (offline) + Revision 2 attempt (BLOCKED)
Owner-authorised work. No Ready, no merge, no S12, no Phase B acceptance, no SAM_UI run. Record:
documentation/S11-OpenStudio-ResultsRoundTrip-PR.md.Revision 2 attempt (2026-10-26): BLOCKED before engine execution (local)
benchmark-openstudio, EnergyPlus or OpenStudio process started.sam.jsonwas produced, and no readback, compare or negative ran.github.com/SAM-BIMclones at SAM_OpenStudio01344e65, SAM457defbb, SAM_Tas922044fa, SAM_Validation2a3acfafand SAM_SQLiteec2eb86d, mapped temporarily asR:for path length;APPDATA,TEMPand the NuGet caches redirected; no Grasshopper build or deployment;SAM.Core.SQLite(3d1d9033…) built first, thenBuild-S11-Receipt.ps1: exit 0, 0 errors, receiptc057cf47…(51 files, four clean HEADs).45524172…/20da9b58…; Budapest EPW472ffb4e…; portable CLI3.10.0+86d7e215a1(--versionchecked; never started for a simulation).Run-S11-Results.ps1 -Phase run … -ConfirmEngineRunsreportedSTOPPED: R:\SAM is not clean at the receipt commit 457defbb…. The checkout was actually clean.Run-S11-Results.ps1:103-106definesfunction Git { … & git … }. PowerShell resolvesgitto the function itself, so the helper recurses until "The script failed due to call depth overflow". That error is swallowed by2>$null, so HEAD comes back empty after about 190 s.Test-Receiptstops the run, readback and negative phases on every real receipt.S11DriverTestsuse receipts with"commits": [](S11DriverTests.cs:102), so they never exercised this path.Get-Command git -CommandType Application) or rename the helper, and fail closed on a non-zero exit or a non-40-hex HEAD;Build-S11-Receipt.ps1fallback the same way;documentation/S11-OpenStudio-ResultsRoundTrip-evidence/revision-2-2026-10-26/(stoppedsummary-run.json, receipt,SHA256SUMS.txt, README);C:\TasOut\s11\r2-20261026\andSAM-BIM\.s11r2-20261026\(scripts, logs, hashes, weather, clones).Integration of F-S11-1 and F-S11-2 (2026-10-24)
sow/2026-Q4(194ee1e6, with SAM_OpenStudio#35 merge4b020585) merged into this branch as43e3541c(merge commit, no conflicts). SAM#219 (mergedac68ad0f, closeout457defbb) is consumed as the SAM dependency.76d61612ebe477f57cb44517f82e5353b2abe3b0: tests only. The two tests that pinned the defects are replaced by positive regressions:SignedOffTwoZone_SharedGuidPrefix_EachSpaceKeepsItsOwnResults: the unchanged signed-offs08-fix-two(FixA/FixB share5080c000) PASSes with 0 FAIL/BLOCKED. Native space/zone/Ideal Loads are distinct, each production key equals its own native key, and the zone-specific fractional unmet hours (14.5/14.75 h vs 7.25/5.25 h) are exact per space in the reference, SAM-P, SAM-I and B1a. SAM-I results are attached to their own spaces.FractionalUnmetHours_SurviveSqlImport_SamSaveReload_AndB1a(s08-fix-box): 14.5 h heating / 14.75 h cooling, exact through SQL import,sam.jsonsave/reload, anAnalyticalModelSAM JSON save/reopen afterModify.AddResults, andb1a.json.45524172…,20da9b58…), GUIDs, tolerances, metric definitions, gates, scripts and workflow are unchanged.Finding_pins: "Expected FAIL, but was PASS".Local results (isolated workspace, Release x64, APPDATA redirected, no Grasshopper build/deploy)
457defbb(SAM.Analytical.dll21bec17f…, loaded by all 8 test/CLI outputs);922044fa, SAM_Validation2a3acfaf(0dfdc8ec…), SAM_SQLiteec2eb86(ba9400e9…).Simulation-category tests, the S11 run phase, the receipt build, SAM_UI and Tas. There are no engine outputs or processes.Separately tracked, not blocking on these fixtures
Modify.AddResultsresolves design-day and surface results by the 8-character suffix (FixB → FixA). S11 is unaffected here: the annual family references the space GUID, the fixtures have no design days, and S11 compares no surface results.S11IdentityTests.Earlier revisions (unchanged)
246c8fed: producer split, F3 note,--sam-results, the behaviour-neutral S09 identity extraction, and theResultsReadBacklibrary plusos-results-readbackCLI.059aed6f(R1 driver stop/collect rules, R2 frequency/environment rejection): independently accepted.Head and checks
9d2af1afd7769baf310fc5583300cba572875ae5, a documentation and evidence commit after01344e65. It contains no code, test, script, fixture or workflow change, so the tested content is still76d61612.01344e65: Build 40123367373 (58/58 producer, 242/242 read-back) and SPDX 40123367384, both SUCCESS. The hosted SAM dependency457defbbis inferred from branch timing, not shown in the log.Next:
Run-S11-Results.ps1git-resolution correction (code and offline tests only, on this Draft PR).Generated by Michal Dengusiak and CodeClaude
🤖 Generated with Claude Code