# Step 2: Build the corpus metadata table
#
# I define each document manually to ensure full control over:
# - company
# - year
# - document type
#
# Each row represents one document in the corpus.
# The filename must match exactly with the uploaded PDF file in Kaggle.
#
# The document types reflect the categories I use in my analysis:
# model_card, system_card, policy_governance,
# transparency_report, technical_report,
# safety_report, gov_response, audit_report, assessment
DOCUMENTS = [
# Anthropic (14 documents)
{"filename": "Anthropic-Paper-ConstitutionalAI-2022.pdf", "company": "Anthropic", "year": 2022, "doc_type": "technical_report"},
{"filename": "Anthropic-ModelCard-Claude2-2023.pdf", "company": "Anthropic", "year": 2023, "doc_type": "model_card"},
{"filename": "Anthropic-Policy-RSP-v1-2023.pdf", "company": "Anthropic", "year": 2023, "doc_type": "policy_governance"},
{"filename": "Anthropic-ModelCard-Claude3-2024.pdf", "company": "Anthropic", "year": 2024, "doc_type": "model_card"},
{"filename": "Anthropic-ModelCard-Claude3-Addendum-2024.pdf", "company": "Anthropic", "year": 2024, "doc_type": "model_card"},
{"filename": "Anthropic-ModelCard-Claude3-OctoberAddendum-2024.pdf", "company": "Anthropic", "year": 2024, "doc_type": "model_card"},
{"filename": "Anthropic-Policy-RSP-v2-2024.pdf", "company": "Anthropic", "year": 2024, "doc_type": "policy_governance"},
{"filename": "Anthropic-Policy-VoluntaryCommitments-2024.pdf", "company": "Anthropic", "year": 2024, "doc_type": "policy_governance"},
{"filename": "Anthropic-ModelCard-Claude3.7-2025.pdf", "company": "Anthropic", "year": 2025, "doc_type": "model_card"},
{"filename": "Anthropic-Policy-RSP-v2.2-2025.pdf", "company": "Anthropic", "year": 2025, "doc_type": "policy_governance"},
{"filename": "Anthropic-Policy-ASL3-DeploymentSafeguards-2025.pdf", "company": "Anthropic", "year": 2025, "doc_type": "policy_governance"},
{"filename": "Anthropic-SystemCard-Claude4-2025.pdf", "company": "Anthropic", "year": 2025, "doc_type": "system_card"},
{"filename": "Anthropic-GovResponse-OSTP-RFI-2025.pdf", "company": "Anthropic", "year": 2025, "doc_type": "gov_response"},
{"filename": "Anthropic-RiskReport-Pilot-2025.pdf", "company": "Anthropic", "year": 2025, "doc_type": "safety_report"},
# OpenAI (12 documents)
{"filename": "OpenAI-SystemCard-GPT4-2023.pdf", "company": "OpenAI", "year": 2023, "doc_type": "system_card"},
{"filename": "OpenAI-SystemCard-GPT4V-2023.pdf", "company": "OpenAI", "year": 2023, "doc_type": "system_card"},
{"filename": "OpenAI-Policy-PreparednessFramework-2023.pdf", "company": "OpenAI", "year": 2023, "doc_type": "policy_governance"},
{"filename": "OpenAI-TechnicalReport-GPT-4-2023.pdf", "company": "OpenAI", "year": 2023, "doc_type": "technical_report"},
{"filename": "OpenAI-SystemCard-GPT4o-2024.pdf", "company": "OpenAI", "year": 2024, "doc_type": "system_card"},
{"filename": "OpenAI-SystemCard-o1-2024.pdf", "company": "OpenAI", "year": 2024, "doc_type": "system_card"},
{"filename": "OpenAI-Policy-ExternalRedTeaming-2024.pdf", "company": "OpenAI", "year": 2024, "doc_type": "technical_report"},
{"filename": "OpenAI-SystemCard-Operator-2025.pdf", "company": "OpenAI", "year": 2025, "doc_type": "system_card"},
{"filename": "OpenAI-SystemCard-GPT4.5-2025.pdf", "company": "OpenAI", "year": 2025, "doc_type": "system_card"},
{"filename": "OpenAI-SystemCard-o3-o4mini-2025.pdf", "company": "OpenAI", "year": 2025, "doc_type": "system_card"},
{"filename": "OpenAI-SystemCard-GPT5-2025.pdf", "company": "OpenAI", "year": 2025, "doc_type": "system_card"},
{"filename": "OpenAI-Policy-VoluntaryCommitments-Paris-2025.pdf", "company": "OpenAI", "year": 2025, "doc_type": "policy_governance"},
# Google DeepMind (16 documents)
{"filename": "Google-Report-AIPrinciples-Progress-2022.pdf", "company": "GoogleDeepMind", "year": 2022, "doc_type": "transparency_report"},
{"filename": "Google-Report-AIPrinciples-Progress-2023.pdf", "company": "GoogleDeepMind", "year": 2023, "doc_type": "transparency_report"},
{"filename": "GoogleDeepMind-TechReport-Gemini1-2023.pdf", "company": "GoogleDeepMind", "year": 2023, "doc_type": "technical_report"},
{"filename": "GoogleDeepMind-TechReport-Gemini1.5-2024.pdf", "company": "GoogleDeepMind", "year": 2024, "doc_type": "technical_report"},
{"filename": "Google-Report-AIResponsibility-2024.pdf", "company": "GoogleDeepMind", "year": 2024, "doc_type": "transparency_report"},
{"filename": "GoogleDeepMind-Policy-FSF-v1-2024.pdf", "company": "GoogleDeepMind", "year": 2024, "doc_type": "policy_governance"},
{"filename": "GoogleDeepMind-Policy-FSF-v2-2025.pdf", "company": "GoogleDeepMind", "year": 2025, "doc_type": "policy_governance"},
{"filename": "GoogleDeepMind-Policy-FSF-TechnicalReport-2025.pdf", "company": "GoogleDeepMind", "year": 2025, "doc_type": "technical_report"},
{"filename": "GoogleDeepMind-Policy-FSF-v3-Sept2025.pdf", "company": "GoogleDeepMind", "year": 2025, "doc_type": "policy_governance"},
{"filename": "GoogleDeepMind-SafetyReport-Gemini3Pro-FSF-2025.pdf", "company": "GoogleDeepMind", "year": 2025, "doc_type": "system_card"},
{"filename": "Google-Report-AIResponsibility-Feb2025.pdf", "company": "GoogleDeepMind", "year": 2025, "doc_type": "transparency_report"},
{"filename": "GoogleDeepMind-ModelCard-Gemini2.5Pro-2025.pdf", "company": "GoogleDeepMind", "year": 2025, "doc_type": "model_card"},
{"filename": "GoogleDeepMind-ModelCard-Gemini2.5Flash-2025.pdf", "company": "GoogleDeepMind", "year": 2025, "doc_type": "model_card"},
{"filename": "GoogleDeepMind-ModelCard-Gemini2Flash-2025.pdf", "company": "GoogleDeepMind", "year": 2025, "doc_type": "model_card"},
{"filename": "GoogleDeepMind-ModelCard-Gemini2FlashLite-2025.pdf", "company": "GoogleDeepMind", "year": 2025, "doc_type": "model_card"},
{"filename": "GoogleDeepMind-TechReport-Imagen3-2024.pdf", "company": "GoogleDeepMind", "year": 2024, "doc_type": "technical_report"},
# Microsoft (7 documents)
{"filename": "Microsoft-Standard-RAI-v2-2022.pdf", "company": "Microsoft", "year": 2022, "doc_type": "policy_governance"},
{"filename": "Microsoft-Report-RAIMaturityModel-2023.pdf", "company": "Microsoft", "year": 2023, "doc_type": "transparency_report"},
{"filename": "Microsoft-Policy-VoluntaryCommitments-2023.pdf", "company": "Microsoft", "year": 2023, "doc_type": "policy_governance"},
{"filename": "Microsoft-Guide-RAIImpactAssessment-2023.pdf", "company": "Microsoft", "year": 2023, "doc_type": "policy_governance"},
{"filename": "Microsoft-SystemCard-Phi3-2024.pdf", "company": "Microsoft", "year": 2024, "doc_type": "system_card"},
{"filename": "Microsoft-Report-RAITransparency-2024.pdf", "company": "Microsoft", "year": 2024, "doc_type": "transparency_report"},
{"filename": "Microsoft-Report-RAITransparency-2025.pdf", "company": "Microsoft", "year": 2025, "doc_type": "transparency_report"},
# Meta (9 documents)
{"filename": "Meta-Audit-CivilRights-2022.pdf", "company": "Meta", "year": 2022, "doc_type": "audit_report"},
{"filename": "Meta-ModelCard-LLaMA2-2023.pdf", "company": "Meta", "year": 2023, "doc_type": "model_card"},
{"filename": "Meta-Assessment-HRIA-E2EE-2023.pdf", "company": "Meta", "year": 2023, "doc_type": "assessment"},
{"filename": "Meta-ModelCard-LLaMA3-2024.pdf", "company": "Meta", "year": 2024, "doc_type": "model_card"},
{"filename": "Meta-ModelCard-LLaMA3.1-2024.pdf", "company": "Meta", "year": 2024, "doc_type": "model_card"},
{"filename": "Meta-ModelCard-LLaMA3.2-2024.pdf", "company": "Meta", "year": 2024, "doc_type": "model_card"},
{"filename": "Meta-Guide-ResponsibleUse-2024.pdf", "company": "Meta", "year": 2024, "doc_type": "policy_governance"},
{"filename": "Meta-GovResponse-NTIA-RFC-2024.pdf", "company": "Meta", "year": 2024, "doc_type": "gov_response"},
{"filename": "Meta-Report-ResponsibleBusinessPractices-2024.pdf", "company": "Meta", "year": 2024, "doc_type": "transparency_report"},
]
# Convert to dataframe
metadata_df = pd.DataFrame(DOCUMENTS)
# Basic checks to confirm everything loaded correctly
print("Total documents:", len(metadata_df))
print(metadata_df['company'].value_counts())
print(metadata_df['doc_type'].value_counts())