Skip to content

Add smart grid transformer data file and load into CouchDB (Git LFS-managed) #303

@ShuxinLin

Description

@ShuxinLin

Summary

Add a smart grid transformer dataset (JSON or CSV) to the repository and provide a loader to ingest it into CouchDB so it can back a future MCP server / tools. The data file should be tracked with Git LFS to keep the repo lightweight.

Motivation

AssetOpsBench currently covers IoT, work order, and vibration domains backed by CouchDB. Smart grid transformer telemetry (e.g., load, oil/winding temperature, tap position, dissolved gas analysis) would expand benchmark coverage to power-grid asset operations scenarios.

Scope

1. Data file

  • Add data/smart_grid/transformers.{json,csv} (final format TBD — JSON preferred to mirror existing CouchDB doc structure).
  • Track the file via Git LFS:
    • git lfs install
    • git lfs track "data/smart_grid/*.json" (and/or *.csv)
    • Commit the updated .gitattributes.
  • Document the dataset schema (assets, sensors, history time series) in a data/smart_grid/README.md.

2. CouchDB loader

  • Add a loader script/CLI to ingest the file into CouchDB (new SMARTGRID_DBNAME env var, following the IOT_DBNAME / WO_DBNAME / VIBRATION_DBNAME convention).
  • Idempotent load (safe to re-run; upsert by document id).
  • Document setup in dev docs and add the env var to .env.public.

3. Tests

  • Unit test for the loader's transform logic (no live DB).
  • Integration test guarded by a @requires_couchdb marker.

Out of scope

  • New MCP server / agent tools for the smart grid domain (tracked separately as follow-up).

Acceptance criteria

  • Data file is committed and stored in Git LFS (verified via git lfs ls-files).
  • Loader populates CouchDB and is idempotent.
  • uv run pytest src/ -v -k "not integration" passes.

Metadata

Metadata

Assignees

Labels

enhancementNew feature or request

Type

No type
No fields configured for issues without a type.

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions