Add model/firmware_version to dim_chargers
- Dominant language
- No language data
- Stars
- 14
- Forks
- 3
- PR merge metrics
- No merged PRs in 30d
Description
## Business question
`get_charger` (#143) promises hardware attributes — model and firmware version — for a charger, so an agent troubleshooting a charging problem can confirm what unit it's dealing with. `dim_chargers` doesn't carry these today.
## Who asks it
Support/agent tooling calling `get_charger` via the MCP server (#143). Not a human-facing BI request.
## Grain
No change to `dim_chargers` grain — still one row per `charger_id`. `model` and `firmware_version` are additive attribute columns, added at the source and threaded through the existing layers (no new seed/source).
## Key dimensions
N/A — attribute columns on an existing dimension, not a new sliceable fact.
## Expected output
`model` and `firmware_version` added to the existing `chargers` raw table (`demo/seeds/chargers.csv) and threaded all the way up through the standard layering:
- `models/staging/raw/staging.yml` — add the two columns to the `raw.chargers` source declaration
- `stg_chargers.sql` / `staging.yml` doc block — rename/cast + document the two new columns
- `int_chargers.sql` — pass the two columns through (no join needed, they already live at charger grain)
- `dim_chargers.sql` / `marts.yml` — expose and document `model` and `firmware_version`
No separate `charger_profiles.csv` seed — this is an extension of the existing `chargers` raw table, not a bolt-on joined only at the mart.
## Out of scope
- `power_kw` — deferred; not requested here (raise separately if needed).
- Charger operational status (`available/in-use/faulted/offline`) — tracked separately, see #143 blocker 1 / #73.
- Any change to `int_chargers`/`dim_chargers` grain.
## Acceptance criteria
- [ ] `demo/seeds/chargers.csv` gains `model` and `firmware_version` columns
- [ ] `raw.chargers` source in `staging.yml` documents both new columns
- [ ] `stg_chargers` casts/selects both columns, documented with appropriate tests (e.g. `not_null` if always present)
- [ ] `int_chargers` passes both columns through
- [ ] `dim_chargers` exposes both columns, documented in `marts.yml`
- [ ] `dbt build` passes; `get_charger` in #143 can source both fields directly from `dim_chargers`
Parent: #143
Contributor guide
No contributing guide indexed for this repository
Assessment
This issue has not been assessed yet.