DatumGuard v0.3.0 adds FrameGuard, a fail-closed structural frame screening workflow that connects engineering requirements, explicit CAD provenance, deterministic analysis, independent serialized-DXF verification, and uncertainty-gated research inference. It also publishes the OpenBIM research workspace while keeping its hosted execution disabled until the external validation and licensing gates are complete.
What changed
- Added
/framewith verified and missing-brace presets, exact-result evidence, independent DXF remeasurement, and gated downloads. - Added a deterministic NumPy 2D Euler-Bernoulli frame solver with displacement, reaction, and member-force screening results.
- Added Rhino 8 / Grasshopper exchange adapters that require explicit units and datum; no coordinate guess is accepted.
- Added R2013/mm DXF generation with contract/entity XDATA and a separate ezdxf reopen-and-remeasure verifier at a 0.001 mm comparison grid.
- Kept official CAD output fail-closed: exact screening failure or DXF verification failure leaves
dxf_base64unavailable. - Added genuine OpenSeesPy parity evidence (6/6 cases) and a real PyG topology-holdout benchmark (90 cases). Surrogate output is non-authoritative and uncertainty/OOD cases become
REVIEW_REQUIRED. - Published
/openbimas a research UI with frozen IFC4/IDS/BCF evidence. Production Render keeps OpenBIM/BCF execution disabled. - Updated the public Case Study, privacy boundary, operations handoff, deployment smoke, and rollback documentation.
Assurance model
Contract → exact screening → serialized CAD → independent reopen → remeasurement → verified-only download
A successful CAD command is not accuracy evidence. FrameGuard is an early screening aid and never issues structural safety approval or code certification.
Immutable release evidence
- Source/tag:
v0.3.0→71b4aeb2e56bb910a4848b21345343602c5099a3 - PR #20 — OpenBIM Evidence Guard
- PR #22 — FrameGuard CAD and structural AI assurance
- PR #23 — v0.3.0 production evidence
- Main CI 29196188166: 376 pytest passed, 6 optional-runtime skipped, 35 real-API Playwright passed, 15-page build, OpenBIM interoperability, both container builds, CycloneDX SBOM, fixed-critical scans
- Security 29196188182: dependency audit and CodeQL Python + JavaScript/TypeScript passed
- Frame research 29194964854: genuine OpenSeesPy parity and PyG training/portable-inference smoke
- Render-success strict smoke 29196357533: exact release SHA, route sentinels, capabilities, Architecture/FrameGuard/Artifact Lab canaries, Solid fail-closed, CORS
- Vercel Production deployment:
5413292136 - Render API deployment:
5413286383/dep-d99q796k1jcs73fglel0 - Public health:
version=0.3.0,release_sha=71b4aeb2e56bb910a4848b21345343602c5099a3
Attached SBOMs
datumguard-api.cdx.json— CycloneDX, SHA-256ba537b1b10380df511ebed9e116214dcad31f1b422277d0f1222180fb86c992adatumguard-web.cdx.json— CycloneDX, SHA-256a9f48ccecc1803170e34aa358e9f2a22e84ea5f54b8b42128232270e229dfca9
Explicit limits
- This release screens a limited, synthetic 2D linear-elastic pipe-rack family. It does not certify structural safety, nonlinear/buckling/seismic/fatigue behavior, materials, welds, connections, foundations, building codes, or manufacturability.
- The PyG model is research-only and never overrides the exact solver or CAD verifier.
- The live Rhino/Grasshopper/Cordyceps smoke was unavailable for this release because those desktop applications were not running; neutral exchange scripts, unit/datum validation, tests, CI, and the hosted path were verified independently.
- Production keeps
DATUMGUARD_ENABLE_OPENBIM=false,DATUMGUARD_ENABLE_BCF=false, and Solid execution disabled./openbimand/solidexpose UI/schema/evidence, not hosted approval capability. - External graphical IFC viewer validation, final third-party license review, real-site generalization, external DXF upload entity allowlisting, and the planned 100+50 benchmark remain follow-up gates.
Rollback
v0.2.1 remains the documented full-stack rollback baseline. Rolling back removes FrameGuard and the OpenBIM public research route; incident communication must state that capability change explicitly.