Skip to content

REL-B: BEMGen 1.9.0 on atlas release 2.3.0

Status: Done (built 2026-11-01 on release/1.9.0; D-239 to D-245) · Stage: REL-B of the 2026-10-31 review's fix plan (owner approval "Yes, all as proposed", 2026-11-01) · Decisions: D-239 to D-245, ADR-038, ADR-035 and ADR-036 amended · Atlas: release 2.3.0 (atlas PR #48, merge 75fec30d, ADR 0059; manifest SHA-256 afe7e2ef1664eeb75de3d10c8dfb4f4340bb38cdd03b9700341fe04574dfb86c), generator atlas-schedules 4.1.0

1. Scope

The fix plan's stage REL-B: move BEMGen to atlas release 2.3.0 and release BEMGen 1.9.0, with the review's F1 (IECC families in the DOE maps). No backward-compatibility shims: BEMGen follows the atlas.

Item What it became
1. The 2.3.0 contracts Program JSON 6.0.0, unified 4.0.0, detailed 5.0.0 read; their schemas and the mass-accounting and foundation-ground schemas embedded byte for byte from atlas 75fec30d; UnifiedVersion 4.0.0, DetailedVersion 5.0.0; DownloadConstructionAsync also checks the document's release (D-239). Source-model constructions 2.0.0 stay unread (D-229).
2. Known releases KnownReleaseManifests and ProgramJsonDocument.KnownReleases name release 2.3.0 only, since releases 2.0.0 to 2.2.0 export the contracts BEMGen no longer reads; the fixtures, the recorded sites, and Schedule Draw's pin are release 2.3.0 (D-239, D-242).
3. Moved IDs Stored texts of releases 2.0.0 to 2.2.0 (a program, a construction document, a DOE map, an atlas mix) are refused with the advice to take them again, naming each program's or set's 2.3.0 ID through the embedded id-map-2.3.0.json; the fixtures, tests, documents, and smoke specs name 2.3.0 IDs; the LOD study keeps its pinned 2.0.0 IDs (D-240, D-244).
4. Site fixtures The three recorded sites recorded again from the live site of 2.3.0 by record_site_fixtures.py (D-239).
5. F1 The six IECC families offered on the DOE Programs components for the eleven prototypes they hold, with the crosswalk of 90.1-2013 and 2019; the detailed offices and IECC programs drawable in Schedule Draw (D-241, D-242).
6. A2 A DOE Ref warehouse pair in the fixtures and a live-site test that imports all 152 documents (D-243).
7.–8. Checks, version, release D-245.

2. Approach

  1. Re-export the program and construction fixtures from an atlas clone at 75fec30d (export_fixtures.py --release 2.3.0), see the readers fail on the new versions, then move the readers and the embedded schemas.
  2. Re-record the sites, then the site-dependent tests.
  3. F1 test first (DoeAtlasFoldersTests failing to compile on FamiliesOf/Holds), then DoeAtlasFolders, then the integration tests on the recorded index.
  4. Schedule Draw: the pins, the release 2.3.0 generation files, the draws recorded again with python -m atlas_schedules in the atlas clone, two new recorded draws (detailed office, IECC).
  5. The stored-release refusals test first (shown failing with the check disabled).

3. Open for a person (Rhino)

The headless Rhino check, the examples' rebuild (three examples hold release 2.2.0 texts), the docs export, and RealDrawTests with the released wheel. The checklist is Release 1.9.0.