Skip to main content

Modules Documentation

Validation rules

Required fields, formats, ranges.

Complete

Files are the highest-investment editorial product on the platform. Every file passes 6 verification gates before publication: schema, EN + AR + (optional FR) language parity, TOC structural integrity, sponsor accuracy, lead-capture readiness, and editorial fact-check.

Schema-level validation

  • All required fields present + typed correctly (id, slug, fileNumber, category, lang.en, lang.ar, etc).
  • `fileNumber` is unique across all FounderFile entries.
  • `slug` matches `^[a-z0-9-]+$` and is unique.
  • `availableLanguages[]` matches which `lang.<locale>` blocks are populated.
  • `sponsorId` (when set) resolves to an existing FounderFileSponsor entry.

The 6 editorial verification gates

  1. EN + AR content parity Both versions must exist + be editorially authored (not auto-translated). FR is optional but if present, must also be authored.
  2. TOC structural integrity Every `tocSections[].anchor` exists in the rendered `bodyHtml`. Editor verifies no broken anchors.
  3. Sponsor accuracy If sponsored, the sponsor relationship is documented in the sponsorship contract. Sponsor name + tier match what the contract specifies.
  4. Lead-capture readiness Download modal renders with correct file context. Email delivery configured. Lead routes to admin queue + (when consentPartners=true) to sponsor partner queue.
  5. Editorial fact-check Every named entity (founder, startup, opportunity, event) in the body is verified. Every external claim is sourced. Editor sign-off recorded.
  6. Cover image / SVG fallback Either `coverImageUrl` is set + image loads, OR the file-specific SVG fallback renders. No "broken cover" state.