Skip to content

feat(model): add harmonization extension models and validation (v6) - #305

Merged
alexlitvinenko merged 1 commit into
devfrom
feat/harmonization-ext-v6
Aug 14, 2026
Merged

feat(model): add harmonization extension models and validation (v6)#305
alexlitvinenko merged 1 commit into
devfrom
feat/harmonization-ext-v6

Conversation

@alexlitvinenko

Copy link
Copy Markdown
Contributor

Introduce a harmonization extension package with factor modules for coproducts, custom, EAC, MBVFA, and offsets.
Add extension wiring and tests for harmonization behavior.

asana: [BE] Support harmonization EPD extension

Copilot AI left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull request overview

Adds a new openepd.model.ext.harmonization extension package that models “harmonization factors” (coproducts, EAC, MBVFA, offsets, plus custom factors), enabling typed parsing/serialization via Epd.ext["harmonization"].

Changes:

  • Introduces harmonization factor model types and enums, all sharing a common base structure for impacts/resource uses/output flows.
  • Adds HarmonizationEpdExtension with support for a bounded number of custom (extra) harmonization factor objects.
  • Adds unittest coverage for parsing, enum validation, schema constraints, and custom-factor behavior.

Reviewed changes

Copilot reviewed 11 out of 11 changed files in this pull request and generated 2 comments.

Show a summary per file
File Description
src/openepd/model/ext/init.py Declares the openepd.model.ext package.
src/openepd/model/ext/harmonization/init.py Public exports for the harmonization extension package.
src/openepd/model/ext/harmonization/base.py Shared base models for harmonization factors and lifecycle-module amounts.
src/openepd/model/ext/harmonization/coproducts.py Coproduct allocation basis enum and factor model.
src/openepd/model/ext/harmonization/custom.py Custom harmonization factor model (extra fields allowed).
src/openepd/model/ext/harmonization/eac.py EAC standard/coverage enums and factor model (with aliased fields).
src/openepd/model/ext/harmonization/ext.py Top-level HarmonizationEpdExtension model + custom-factor parsing/validation.
src/openepd/model/ext/harmonization/mbvfa.py MBVFA tracking approach/attribute enums and factor model.
src/openepd/model/ext/harmonization/offsets.py Offset coverage/standard enums and factor model.
src/openepd/model/ext/harmonization/tests/init.py Declares the harmonization tests package.
src/openepd/model/ext/harmonization/tests/test_harmonization_ext.py Unittests validating parse/serialize and validation constraints.

💡 Add a code-review agent skill or configure MCP servers for context-aware, tailored reviews. Learn more in the docs.

Comment thread src/openepd/model/ext/harmonization/ext.py
Comment thread src/openepd/model/ext/harmonization/tests/test_harmonization_ext.py
@alexlitvinenko
alexlitvinenko force-pushed the feat/harmonization-ext-v6 branch from c7a5b3c to b83d676 Compare August 13, 2026 12:08
Introduce a harmonization extension package with factor modules for
coproducts, custom, EAC, MBVFA, and offsets.
Add extension wiring and tests for harmonization behavior.

asana: [[BE] Support harmonization EPD extension](https://app.asana.com/1/654700433662128/project/666075018299960/task/1217139741601651?focus=true)
@alexlitvinenko
alexlitvinenko force-pushed the feat/harmonization-ext-v6 branch from b83d676 to aa6e2da Compare August 13, 2026 14:23
@alexlitvinenko
alexlitvinenko merged commit de76aaa into dev Aug 14, 2026
2 checks passed
@alexlitvinenko
alexlitvinenko deleted the feat/harmonization-ext-v6 branch August 14, 2026 06:13
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.

3 participants