Scope technologies to their sector
@AlexAxthelm is already working on this.
Since Aug 26, 2026.
- Dominant language
- TypeScript
- Stars
- 3
- Forks
- 0
- Avg merge
- 6h 36m
- Merged PRs (30d)
- 13
Description
Part of #860 (foundation). Updated scope: the original observation stands (the technology list is
not scoped to sectors), and it is now a prerequisite for the inheritance search's sector/technology
axis.
Original observation
The technologies enum is a single flat list applied to any sector; there is no constraint that a
technology belongs to the sector it is listed under. See the flat technology.v1.json enum and the
nested sectors[].technologies[] shape in pathwayMetadata.
Why it matters now
The inheritance resolver (#869) treats technology as a tighter scope of sector (Solar ⊆ Power),
mirroring geography's country ⊆ region. When a user filters by a technology, the resolver must map that
technology to its parent sector to find candidate values (keyFeatures are stored at sector granularity,
not technology). That mapping must be reliable and validated.
Scope
- In v2 (#858), constrain each
sectors[].technologies[]to the technologies valid for that
sectorname, via a conditional subschema — mirror the pattern already used forpowerin
pathwayTimeseries.v1.jsonand the taxonomy insrc/utils/timeseriesTaxonomy.ts
(POWER_SECTOR_DEFINITION). - Reconcile the two divergent taxonomies where practical: metadata uses Title-Case display names;
timeseries uses camelCase keys with a richer sector-scoped structure. Establish a single source
of truth for sector→technology membership (extendtimeseriesTaxonomy.tsbeyondpower, or a
dedicated map) that both sides reference. - Provide a
technologyBelongsToSector(technology, sector)util for the resolver and validation. - Fix any existing data offenders surfaced by the constraint (the codemod in #858 should report
them).
Acceptance criteria
- Invalid technology/sector pairings fail schema validation.
-
technologyBelongsToSectoris unit-tested and used by #869. - All existing
src/data/**conform (or are fixed).
Notes / links
- Part of #860; feeds #869 (sector/technology axis).
- Coordinate with #858 (the v2 schema is where the constraint lands).
- Related content issues: #561 / #564 (power technology list additions) — keep the enum in sync.
The list of technologies does not correspond to the list in "Data Model Variables" in https://rockmtnins.sharepoint.com/:x:/s/ClimateFinance/EVs3t7CTh_1KjGBHvl-bUEsBmvxj8QRZawIjVdV_CYRiHQ?e=07gvSP
It contains technologies that are not part of the power sector.
Currently, the list of technologies per pathway is not displayed. However the technology-by sector scoping is not apparent to me based on this.
fyi @AlexAxthelm @jdhoffa
Contributor guide
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
Assessment
This issue has not been assessed yet.