// Normalized facts, merged from IGDB (primary) + RAWG (supplemental) +
// config/overrides.json pinned corrections. This is the ONLY input the
// content generator sees — see prompts.ts for why that matters.
export interface GameFacts {
  name: string;
  slug: string;
  releaseDate: string | null; // ISO date
  genres: string[];
  platforms: string[];
  developers: string[];
  publishers: string[];
  gameModes: string[];
  ageRating: string | null;
  rating: number | null;
  ratingCount: number | null;
  summary: string | null;
  storyline: string | null;
  coverUrl: string | null;
  screenshots: string[];
  videoIds: string[];
  recentNewsHeadlines: string[];
}

export interface FaqItem {
  question: string;
  answer: string;
}

export interface GeneratedContent {
  overview: string;
  gameplay: string;
  features: string;
  tipsAndTricks: string;
  beginnerGuide: string;
  howToPlay: string;
  alternatives: string;
  faqs: FaqItem[];
  pros: string[];
  cons: string[];
  metaTitle: string;
  metaDescription: string;
  keywords: string[];
}

export interface QualityGateResult {
  score: number; // 0-100
  passed: boolean;
  reasons: string[]; // populated when checks fail or dock points, for JobRun logs
  fingerprint: string;
}
