version: 0.5.1
scope: "Analityka sprzedaży, raporty okresowe i demand"
source_of_truth:
  controllers:
    - app/Controllers/OrdersController.php
    - app/Controllers/StatsController.php
    - app/Controllers/ReportsController.php
    - app/Controllers/DemandController.php
  repositories:
    - app/Repositories/OrdersRepository.php
    - app/Repositories/StatsRepository.php
    - app/Repositories/ReportsRepository.php
    - app/Repositories/DemandRepository.php

flows:
  - name: orders_browser
    entry_route: /
    purpose: "Przegląd zamówień z filtrowaniem, agregacją i eksportami CSV."
    outputs:
      - lista zamówień
      - podsumowanie w walucie bazowej
      - rozbicie per waluta
      - eksport zamówień
      - eksport pozycji

  - name: sales_stats
    entry_route: /stats
    purpose: "Agregacja sprzedaży po kanałach, dniach, produktach i kategoriach."
    outputs:
      - KPI
      - byChannel
      - byDay
      - topProducts
      - byCategory

  - name: periodic_reports
    entry_routes:
      - /reports
      - /reports/view
    purpose: "Raporty zakresowe i podsumowania per okres."
    notes:
      - "Raporty pracują na predefiniowanych typach okresów."
      - "Widok szczegółowy rozwija wybrany zakres do struktur dokumentów i rankingów."

  - name: demand_analysis
    entry_routes:
      - /demand
      - /demand/breakdown
      - /demand/export
    purpose: "Analiza rozchodów rzeczywistych, forecastów, komponentów i propozycji uzupełnień."
    output_groups:
      - issues_products
      - issues_components
      - forecast_products
      - forecast_components
      - proposal_products
      - proposal_components
      - production_to_stock

notes:
  architecture:
    - "Kontroler buduje filtry HTTP, repository wykonuje agregację, a widok tylko renderuje wynik."
    - "To jest docelowy model zgodny z package, z tą różnicą, że stats używa app/Repositories zamiast wcześniejszego app/Models."
