# Generated by web/scripts/semantics.mjs from semantics/catalog.yaml. Do not edit.
apiVersion: v3.0.2
kind: DataContract
id: wardrobe-diary-public-data
name: Public wardrobe data
version: 0.2.1
status: active
domain: wardrobe-diary
dataProduct: The Wardrobe Diary Project
description:
  purpose: "The world-readable copy for public pages and the MCP server: all garments, the full day-by-day log (as indexes into the garment list) and the comparison items, in one document, so any metric can be computed for any range with one read (decision D-1)."
  usage: "Public: free to use under CC BY 4.0 with attribution."
team:
  - username: hoverfalt
    name: Olof Hoverfält
    role: owner
servers:
  - server: public-data
    type: custom
    description: Firestore users/{uid}/public/data
schema:
  - name: public-data
    physicalName: Firestore users/{uid}/public/data
    logicalType: object
    description: "The world-readable copy for public pages and the MCP server: all garments, the full day-by-day log (as indexes into the garment list) and the comparison items, in one document, so any metric can be computed for any range with one read (decision D-1)."
    properties:
      - name: version
        logicalType: integer
        physicalType: integer
        required: true
        description: Format version (1).
      - name: garments
        logicalType: array
        physicalType: list of garment
        required: true
        description: All garments with all their fields (same as dataset garments).
      - name: days
        logicalType: object
        physicalType: map date → list of integer
        required: true
        description: The wear log as positions in the garments list.
      - name: comparison
        logicalType: array
        physicalType: list of comparison item
        required: false
        description: The comparison items.
    quality:
      - name: public-matches-source
        type: text
        description: The public copy equals garments + days + comparison.
        severity: error
        authoritativeDefinitions:
          - type: implementation
            url: https://github.com/hoverfalt/wardrobe-diary/blob/main/web/src/lib/quality.ts
slaProperties:
  - property: frequency
    value: daily (logged in the app)
authoritativeDefinitions:
  - type: catalog
    url: https://wardrobediary.io/data#public-data
