Repository navigation
fix: Power timeseries technologies match the taxonomy - #979
Conversation
A Power row's technology must satisfy both the all-sector enum and the Power list in the schema's if/then. The Power list had geothermal, battery and hydrogen, which the all-sector enum lacked, so they could never validate (#977). The Power list is now exactly the taxonomy's Power technology keys, which the plots and CSV download resolve every row against: geothermal and energyStorage (cookbook decision 0020; matches the Energy storage segment) are added to the all-sector enum, battery and hydrogen are dropped. A schema test keeps the two lists in agreement. No current data uses any of the changed values. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Expected version change and release notes🚨 WARNING: This PR is not expected to trigger a new versionTo trigger a version bump, use at least one conventional commit message in this branch. See: https://www.conventionalcommits.org/en/v1.0.0/ |
|
Azure Static Web Apps: Your stage site is ready! Visit it here: https://proud-glacier-0f640931e-979.westus2.2.azurestaticapps.net |
…chnologies Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> # Conflicts: # src/schema/pathwayTimeseries.v2.test.ts
Expected version change and release notes🚨 WARNING: This PR is not expected to trigger a new versionTo trigger a version bump, use at least one conventional commit message in this branch. See: https://www.conventionalcommits.org/en/v1.0.0/ |
|
Azure Static Web Apps: Your stage site is ready! Visit it here: https://proud-glacier-0f640931e-979.westus2.2.azurestaticapps.net |
…chnologies Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Expected version change and release notes🚨 WARNING: This PR is not expected to trigger a new versionTo trigger a version bump, use at least one conventional commit message in this branch. See: https://www.conventionalcommits.org/en/v1.0.0/ |
|
Azure Static Web Apps: Your stage site is ready! Visit it here: https://proud-glacier-0f640931e-979.westus2.2.azurestaticapps.net |
There was a problem hiding this comment.
Copilot review overview
🟡 Changes recommended
The actively supported v1 schema still retains the taxonomy mismatch identified by the linked issue.
Review effort: Balanced
Findings: 1
What changed in this PR
Aligns v2 Power timeseries technologies with the application taxonomy.
Changes:
- Adds geothermal and energy storage support.
- Removes obsolete battery and hydrogen values.
- Adds schema-taxonomy consistency tests.
| File | Description |
|---|---|
src/types/pathwayTimeseries.v2.d.ts |
Updates generated technology types. |
src/schema/pathwayTimeseries.v2.test.ts |
Adds taxonomy and validation tests. |
src/schema/pathwayTimeseries.v2.json |
Aligns Power technology enums. |
💡 Add a code-review agent skill or configure MCP servers for context-aware, tailored reviews. Learn more in the docs.

Fixes #977. Stacked on #974, which introduces the v2 timeseries schema. Independent of #975 and #976.
A Power row's
technologyhas to satisfy two lists at once: the all-sector enum and the schema's Power list. The Power list hadgeothermal,batteryandhydrogen, which the all-sector enum lacks, so those values could never validate.Changes:
src/utils/timeseriesTaxonomy.ts, which the plots and CSV download look every row up in.geothermalandenergyStorageare added to the all-sector enum.energyStoragefollows cookbook decision 0020 and matches theEnergy storagesegment.batteryandhydrogenare dropped.src/schema/pathwayTimeseries.v2.test.tskeeps the schema and taxonomy lists in agreement, and checks that each Power value is in the all-sector enum.No current data uses any of these values, so no data files change. This should land before the first prep-repo import, so geothermal and storage series can come through.
Scope: v2 only. v1 timeseries is retired: no v1 files remain and the importer accepts only v2, so its lists are deliberately left unchanged (formal retirement: #981).
Checked: the new tests fail without the fix and pass with it. Full suite, lint,
schema:checkand type generation all pass.🤖 Generated with Claude Code