{
  "schema_version": "fact-ledger-v1",
  "tables": {
    "contracts": {
      "source": "registers/contracts.csv",
      "primary_key": "contract_id",
      "foreign_keys": {
        "party_id": "parties.party_id"
      }
    },
    "items": {
      "source": "registers/items.csv",
      "primary_key": "item_id"
    },
    "parties": {
      "source": "registers/parties.csv",
      "primary_key": "party_id"
    },
    "goods_movements": {
      "source": "registers/goods_movements.csv",
      "primary_key": "movement_id",
      "foreign_keys": {
        "item_id": "items.item_id",
        "contract_id": "contracts.contract_id",
        "from_party_id": "parties.party_id",
        "to_party_id": "parties.party_id"
      }
    },
    "intake_queue": {
      "source": "registers/intake_queue.csv",
      "primary_key": "intake_id"
    }
  },
  "path_policy": {
    "source_path": "Prefer project-relative paths. Absolute paths should be avoided in registers.",
    "evidence_root": "evidence/"
  },
  "rag_policy": {
    "authority": false,
    "source": "exports/light_rag_index_schema.jsonl",
    "notes": "RAG index is derived and can be regenerated from registers."
  }
}
