{
  "existingQaAssets": [
    "docs/data/qa-rules.csv",
    "docs/qa/Validation_Rules_Architecture.md",
    "docs/qa/Repo_QA_Rules_Architecture.md",
    "docs/qa/Validation_Rules_Registry.xlsx",
    "docs/qa/_ValidationRules_starter.xlsx",
    "scripts/check-qa-rules.py"
  ],
  "structuredAssets": [
    "docs/data/qa-rules.csv",
    "docs/data/worksheet-inventory.csv",
    "docs/data/canonical-register.csv"
  ],
  "thinAdapterAssets": [
    "docs/registers/defined-name-register.md",
    "docs/canonical-register.md",
    "docs/qa/Validation_Rules_Registry.xlsx",
    "docs/qa/_ValidationRules_starter.xlsx"
  ],
  "supportedCheckTypes": [
    "required_nonblank",
    "not_error_nonblank",
    "positive_numeric_pair",
    "any_yes",
    "has_rows",
    "required_positive",
    "date_order",
    "is_date",
    "min_value",
    "dependent_nonzero",
    "equals_named_range_when",
    "date_not_past",
    "date_not_after",
    "all_required",
    "metric_required_when_buy_type_not",
    "metric_required_for_buy_type",
    "all_nonzero_on_nonempty",
    "all_rows_equal_named_range_when",
    "branded_dtc_compliance",
    "has_rows_when_channel_active"
  ],
  "skippedCheckTypes": [
    "data_dictionary_valid"
  ],
  "counts": {
    "qaRules": 67,
    "worksheets": 28,
    "canonicalObjects": 216
  },
  "assumptions": [
    "The MVP treats repo CSV exports as build-time source assets and does not read local filesystem files from the task pane at runtime.",
    "The MVP targets the canonical workbook object names documented in the repo.",
    "Ad copy and data-dictionary-specific checks that depend on VBA-only behavior are skipped unless straightforward workbook context exists."
  ]
}