Skip to content

feat(model): add harmonization extension models and validation (v7) - #306

Merged
alexlitvinenko merged 1 commit into
v7from
feat/harmonization-ext-v7
Aug 14, 2026
Merged

feat(model): add harmonization extension models and validation (v7)#306
alexlitvinenko merged 1 commit into
v7from
feat/harmonization-ext-v7

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 (v7) that models multiple harmonization factor types and provides validation + serialization behavior, with unit tests covering parsing from Epd.ext.

Changes:

  • Introduce harmonization factor base models (lifecycle-module deltas, impacts/resource/output structures).
  • Add concrete harmonization factor models for coproducts, EAC, MBVFA, offsets, plus support for custom (extra) factors.
  • Add unittest-based coverage for parsing, enum validation, schema constraints, and custom-factor extra typing.

Reviewed changes

Copilot reviewed 11 out of 11 changed files in this pull request and generated 1 comment.

Show a summary per file
File Description
src/openepd/model/ext/init.py Establishes the ext package namespace.
src/openepd/model/ext/harmonization/init.py Re-exports harmonization extension public API.
src/openepd/model/ext/harmonization/base.py Defines shared harmonization factor base schema and lifecycle-module delta structures.
src/openepd/model/ext/harmonization/coproducts.py Adds coproduct allocation enums and factor model.
src/openepd/model/ext/harmonization/custom.py Defines the custom harmonization factor payload model.
src/openepd/model/ext/harmonization/eac.py Adds EAC enums and factor model with aliased EAC_* fields.
src/openepd/model/ext/harmonization/mbvfa.py Adds MBVFA enums and factor model.
src/openepd/model/ext/harmonization/offsets.py Adds offset enums and factor model.
src/openepd/model/ext/harmonization/ext.py Adds the top-level HarmonizationEpdExtension wiring for known factor types + extra custom factors.
src/openepd/model/ext/harmonization/tests/init.py Establishes harmonization test package.
src/openepd/model/ext/harmonization/tests/test_harmonization_ext.py Adds tests for parsing/serialization/validation across factor types and custom extra behavior.

💡 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 Outdated
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-v7 branch from 4f772dc to 45fb4b9 Compare August 13, 2026 14:22
@alexlitvinenko
alexlitvinenko merged commit 929c88a into v7 Aug 14, 2026
2 checks passed
@alexlitvinenko
alexlitvinenko deleted the feat/harmonization-ext-v7 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