{
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "$id": "https://artifacts.apis.io/electronics-architect-com/json-schema/electronics-architect-com-part-model-schema.json",
  "title": "PartModel",
  "description": "A parametric model the library stands behind: identity (mpn, manufacturer, type, package, notes, grade, datasheetUrl) plus `properties` — the node's FULL property set with the library's values applied by the same routine the editor's part picker uses (an SMPS's single typical efficiency becomes the three handles), `provenance` — for each key the library supplied, what stands behind it (`curated`, `datasheet_extracted`, `community`, `admin`, or `verified` when a person verified it), and `filledFromDefaults` — the property keys the library did NOT supply, which are registry defaults, not datasheet figures. Copy `properties` into a node of that `type`; check `filledFromDefaults` before trusting a number the datasheet should have given.",
  "x-generated": "2026-11-06",
  "x-method": "derived",
  "x-generator": "derive-json-schema.py",
  "x-source": "openapi/electronics-architect-com-openapi.json#/components/schemas/PartModel",
  "type": "object",
  "properties": {
    "mpn": {
      "type": "string"
    },
    "manufacturer": {
      "type": "string"
    },
    "type": {
      "type": "string",
      "description": "The node type this model fills, e.g. `SMPS`."
    },
    "package": {
      "type": "string"
    },
    "notes": {
      "type": "string"
    },
    "grade": {
      "type": "string"
    },
    "datasheetUrl": {
      "type": "string"
    },
    "source": {
      "type": "string",
      "enum": [
        "library"
      ]
    },
    "properties": {
      "type": "object",
      "additionalProperties": true,
      "description": "The complete, schema-valid property block for a node of this type, SI base units."
    },
    "provenance": {
      "type": "object",
      "additionalProperties": {
        "type": "string"
      },
      "description": "Per supplied key: curated | datasheet_extracted | community | admin | verified."
    },
    "filledFromDefaults": {
      "type": "array",
      "items": {
        "type": "string"
      },
      "description": "Property keys the library did not supply."
    },
    "updatedAt": {
      "type": [
        "string",
        "null"
      ]
    }
  }
}