# Sources expected by the Reversa Docs Team
# Each item declares a Reversa core artifact that, if present, feeds one or more mini-site pages.
# Absence never blocks: pages that depend on the source are omitted gracefully.

sources:
  - id: soul
    path: ".reversa/soul.md"
    producer: "reversa-extract-soul"
    consumed_by:
      - "Storyteller (glossario.html, deck.html)"
      - "Publisher (seed sha256, hero)"
    required_for:
      - "glossario.html"
      - "deck.html (partially)"
    description: "Executive summary of the project. Origin of the glossary and the hero title."

  - id: chronicle
    path: ".reversa/chronicle.md"
    producer: "reversa-chronicler"
    consumed_by:
      - "Analyst (timeline.html)"
    required_for:
      - "timeline.html"
    description: "History of events, releases, and incidents. Origin of the interactive timeline."

  - id: topology
    path: "_reversa_sdd/architecture.md"
    producer: "reversa-architect"
    consumed_by:
      - "Mapper (topologia.html)"
    required_for:
      - "topologia.html"
    description: "Detected topology (legacy vs. modern vs. hybrid). Origin of the side-by-side page."
    optional: true

  - id: sdd_specs
    path: "_reversa_sdd/"
    pattern: "*/requirements.md"
    producer: "reversa-writer"
    consumed_by:
      - "Storyteller (features/*.html)"
    required_for:
      - "features/<spec>.html (one page per spec)"
    description: "SDD specs per feature. Each subfolder with requirements.md becomes a detailed page."

  - id: source_code
    path: "."
    pattern: "(legacy project files)"
    producer: "(human + git)"
    consumed_by:
      - "Mapper (arquitetura.html, modulos.html, modules.json, deps.json)"
      - "Analyst (metricas.html via modules.json)"
    required_for:
      - "arquitetura.html"
      - "modulos.html"
      - "metricas.html"
    description: "Legacy project source code. Origin of LOC, complexity, and dependency metrics."
    extraction_scripts:
      - "extract_modules.py"
      - "extract_deps.py"
