appspace / appspace/kwwhat

Add model/firmware_version to dim_chargers

Open
#144 0 comments 0 reactions 1 assignee Claimed by @VoxelPrincess View on GitHub
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.

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.