Repository navigation
Add PercentType and Allow Negative Bias Errors - #567
Conversation
|
Note that this PR only adds the Candidate share-of-whole elements for a future (breaking) migration. Each is documented as a percentage of a bounded whole (area, floor area, length, time, consumption, savings), so values outside 0-100 are not meaningful. Example statistics are from all valid
Rates and ratios that can be negative or exceed 100 ( No element names, paths, or enumerations change, so downstream repos (use-cases, BOSS, asset-extractor) are unaffected; bsyncpy gains two new types on regeneration. |
There was a problem hiding this comment.
🟡 Changes recommended
The -100% lower bounds on NMBE and NDBE reject valid negative bias errors and need removal, along with corresponding range documentation updates.
1 open issue
What changed in this PR
This PR introduces reusable percentage types for BuildingSync, addressing part of #297 while deferring breaking changes to existing percentage fields.
Changes:
- Adds
PercentTypeand a variant supporting the optionalSourceattribute. - Reuses
PercentTypeforCVRMSEwithout changing its accepted values. - Widens
NDBEandNMBEto accept values down to -100 and documents the non-breaking scope and future migration candidates.
| File | Description |
|---|---|
proposals/2026/Add PercentType and Allow Negative Bias Errors.md |
Explains the rationale, compatibility classification, and deferred migrations. |
BuildingSync.xsd |
Defines percentage types, updates CVRMSE, and lowers bias-error bounds. |
Review effort: Balanced

Any background context you want to provide?
What does this PR do?
See proposal.
How should this be manually tested?
What are the relevant tickets?
Closes #297
Screenshots (if appropriate)