⚙️ Validation · coverage · ingestion · serving

The engine behind TechAPI

TechEngine validates every change to the dataset, diffs it against upstream catalogs to surface what is missing, and (next) drafts new records automatically so curators only review.

loading

Three pillars

Each pillar is a Python module under app/; CI orchestrates them.

Validate

Schema, slug, range, and uniqueness checks gate every PR to the dataset.

$ python -m app.validate Source →

Cover

Diff the curated dataset against upstream catalogs (Wikipedia today; ARK / vendor pages next) and surface missing SKUs as weekly reports.

$ python -m app.coverage Source →

Ingest

Drafts new records from canonical sources and opens PRs against TechAPI for human review.

$ python -m app.ingest --category cpu Source →

Status

Pulled from the static dump's manifest. Populates once refresh-data has run.

GET /v1/index.json
Loading…

How the two repos connect

The dataset lives in TechAPI. TechEngine reads it via a sibling checkout, validates, and emits artifacts.

TechAPI
data/
app/validate.py (self-check)
workflow_call
checkout sibling
TechEngine
app/validate.py (heavy)
app/seed.py · dump.py
app/coverage · app/ingest (planned)

Workflows

CI surface lives in .github/workflows/.

Roadmap

Each line is a tracked GitHub issue.