{
  "schema": "gig_finder.v1",
  "task_id": "SAA-W5-2",
  "module": "Gig Finder + Club Reputation Ranking",
  "realm": "0n40i4",
  "project": "K0NSULT / Szkola Agentow",
  "pilot": "Metrowy",
  "generated": "2026-06-12",
  "purpose": "Szkielet wyszukiwarki okazji koncertowych dla artysty oraz ranking klubow/venue wg jawnych, audytowalnych kryteriow. Dane przykladowe pochodza z OSINT osi czasu Metrowego.",
  "guardrails": {
    "proof_before_claim": "Kazdy fakt o venue/koncercie oznaczony [P]/[J]/[H]; dane bio wylacznie z OSINT.",
    "osint_source": "archiwum/Metrowy_Os_Czasu_OSINT_Internet_Timeline_11062026.md",
    "R10_no_amounts": "Brak kwot honorarium i brak obietnic odzysku/zarobku. Pola finansowe sa jawnie puste z adnotacja.",
    "no_password_custody": "Agent nie przechowuje i nie zada hasel/loginow do paneli bookingowych, social media venue ani skrzynek mailowych.",
    "contact_is_HO": "Kazdy kontakt z venue/bookerem wymaga Human-in-the-loop (HO). Agent przygotowuje, czlowiek wysyla i decyduje.",
    "no_legal_advice": "Agent nie udziela porady prawnej (umowy, prawa autorskie, ZAiKS). Wskazuje potrzebe konsultacji z czlowiekiem/prawnikiem.",
    "human_is_decision_source": "Agent proponuje dopasowania i ranking; akceptacja/odrzucenie nalezy do czlowieka.",
    "critique_not_hate": "Oceny venue dotycza warunkow wspolpracy, nie atakuja osob; ton rzeczowy.",
    "ai_act_art50": "Komunikaty generowane dla artysty oznaczane jako AI-assisted (badge w warstwie UI)."
  },
  "opportunity_types": [
    {
      "id": "club_headline",
      "label": "Koncert klubowy (headline)",
      "description": "Wlasny koncant artysty jako glowna gwiazda wieczoru w klubie muzycznym.",
      "typical_capacity": "100-500",
      "fit_signals": ["wlasny material LP/EP", "lokalna baza fanow", "support do obsadzenia"],
      "lead_time_weeks": "8-16",
      "osint_example_ref": "Klub Salamandra, Bielsko-Biala (16.06.2012) [P]"
    },
    {
      "id": "festival_slot",
      "label": "Slot festiwalowy",
      "description": "Wystep na festiwalu/wydarzeniu plenerowym lub cyklicznym, z okreslonym oknem czasowym.",
      "typical_capacity": "300-5000+",
      "fit_signals": ["gotowy 30-45 min set", "rider techniczny", "zgodnosc z linia programowa festiwalu"],
      "lead_time_weeks": "12-26",
      "osint_example_ref": "Festiwal Hip Hop Raport Projekt Elk (04.07.2014, 18:50) [P]"
    },
    {
      "id": "support_act",
      "label": "Support / rozgrzewka",
      "description": "Wystep przed glowna gwiazda; ekspozycja na nowa publicznosc.",
      "typical_capacity": "zalezne od headlinera",
      "fit_signals": ["krotki set 15-25 min", "elastycznosc terminu", "dopasowanie gatunkowe do headlinera"],
      "lead_time_weeks": "4-12",
      "osint_example_ref": "Koncert Young Guns #2018, Katowice (16.02.2018) [P]"
    },
    {
      "id": "charity_community",
      "label": "Koncert charytatywny / spolecznosciowy",
      "description": "Wydarzenie o celu spolecznym lub charytatywnym, czesto lokalne.",
      "typical_capacity": "50-800",
      "fit_signals": ["gotowosc na wystep niskobudzetowy/pro-bono", "lokalne zwiazki", "pozytywny przekaz"],
      "lead_time_weeks": "4-10",
      "osint_example_ref": "II Muzyczne Panaceum, Rybnik-Boguszowice (09.09.2017) [P]",
      "note_R10": "Warunki finansowe ustala czlowiek; agent nie obiecuje przychodu ani datkow."
    },
    {
      "id": "rap_clash_battle",
      "label": "Rap clash / battle / event konkursowy",
      "description": "Wydarzenie konkursowe lub pojedynkowe, format scrap/clash.",
      "typical_capacity": "100-1000",
      "fit_signals": ["doswiadczenie sceniczne w formacie battle", "odpornosc na presje sceniczna", "ACK regulaminu"],
      "lead_time_weeks": "3-8",
      "osint_example_ref": "Rap Clash Wujek Samo Zlo + Metrowy vs Dwa Slawy, Wolsztyn (14.08.2016) [P]",
      "note_critique": "Format opiera sie na krytyce artystycznej; rozroznienie krytyka vs hejt obowiazuje."
    },
    {
      "id": "private_corporate",
      "label": "Event prywatny / korporacyjny / zamkniety",
      "description": "Wystep na zamknietym wydarzeniu (firma, prywatna impreza).",
      "typical_capacity": "30-500",
      "fit_signals": ["repertuar dopasowany do odbiorcy", "umowa pisemna (HO/prawnik)", "elastyczna setlista"],
      "lead_time_weeks": "2-8",
      "osint_example_ref": null,
      "note_legal": "Umowa wymaga weryfikacji przez czlowieka; agent nie doradza prawnie."
    }
  ],
  "club_reputation_ranking": {
    "methodology": "Ranking jawny i audytowalny. Kazde kryterium 0-5; brak danych = null (nie zero). Score = srednia dostepnych kryteriow, zaokraglona do 1 miejsca. Brak ukrytych wag. Wszystkie dane venue z [P]/[J]/[H].",
    "criteria": [
      {"key": "artist_treatment", "label": "Traktowanie artysty (rider, garderoba, organizacja)", "scale": "0-5"},
      {"key": "payment_reliability", "label": "Rzetelnosc rozliczen (terminowosc, transparentnosc, BEZ kwot)", "scale": "0-5", "note_R10": "Oceniamy rzetelnosc procesu, NIE wysokosc stawki."},
      {"key": "audience_match", "label": "Dopasowanie publicznosci do gatunku", "scale": "0-5"},
      {"key": "technical_quality", "label": "Jakosc techniczna (naglosnienie, scena, swiatlo)", "scale": "0-5"},
      {"key": "communication", "label": "Komunikacja i rzetelnosc kontaktu bookingowego", "scale": "0-5"},
      {"key": "safety", "label": "Bezpieczenstwo (ochrona, BHP, zgody)", "scale": "0-5"}
    ],
    "data_disclaimer": "Ponizsze wpisy to PRZYKLADY szkieletu na bazie OSINT (fakt wystepu = [P]). Oceny kryteriow sa NIEUSTALONE (null) do czasu weryfikacji przez czlowieka. Agent nie wystawia ocen reputacyjnych bez dowodu.",
    "venues": [
      {
        "id": "salamandra_bielsko",
        "name": "Klub Salamandra",
        "city": "Bielsko-Biala",
        "type": "club_headline",
        "osint_proof": "[P] Koncert GROOOBA BIBA Vol.1, 16.06.2012",
        "source_url": "https://www.bielsko.info/rozrywka/2159-salamandra-metrowy-z-3oda-kru-bielsko-biala",
        "scores": {"artist_treatment": null, "payment_reliability": null, "audience_match": null, "technical_quality": null, "communication": null, "safety": null},
        "score": null,
        "status": "unrated_pending_human_verification"
      },
      {
        "id": "hhrpe_elk",
        "name": "Hip Hop Raport Projekt Elk (festiwal)",
        "city": "Elk",
        "type": "festival_slot",
        "osint_proof": "[P] Wystep festiwalowy 04.07.2014, 18:50",
        "source_url": null,
        "scores": {"artist_treatment": null, "payment_reliability": null, "audience_match": null, "technical_quality": null, "communication": null, "safety": null},
        "score": null,
        "status": "unrated_pending_human_verification"
      },
      {
        "id": "young_guns_katowice",
        "name": "Young Guns (cykl koncertowy)",
        "city": "Katowice",
        "type": "support_act",
        "osint_proof": "[P] Koncert Young Guns #2018, 16.02.2018",
        "source_url": null,
        "scores": {"artist_treatment": null, "payment_reliability": null, "audience_match": null, "technical_quality": null, "communication": null, "safety": null},
        "score": null,
        "status": "unrated_pending_human_verification"
      },
      {
        "id": "panaceum_rybnik",
        "name": "II Muzyczne Panaceum (event charytatywny)",
        "city": "Rybnik-Boguszowice",
        "type": "charity_community",
        "osint_proof": "[P] Koncert charytatywny 09.09.2017",
        "source_url": "https://www.rybnik.com.pl/wiadomosci,ii-muzyczne-panaceum-w-boguszowicach,wia5-3267-34595.html",
        "scores": {"artist_treatment": null, "payment_reliability": null, "audience_match": null, "technical_quality": null, "communication": null, "safety": null},
        "score": null,
        "status": "unrated_pending_human_verification"
      },
      {
        "id": "rap_clash_wolsztyn",
        "name": "Rap Clash (event konkursowy)",
        "city": "Wolsztyn",
        "type": "rap_clash_battle",
        "osint_proof": "[P] Rap Clash vs Dwa Slawy, 14.08.2016",
        "source_url": null,
        "scores": {"artist_treatment": null, "payment_reliability": null, "audience_match": null, "technical_quality": null, "communication": null, "safety": null},
        "score": null,
        "status": "unrated_pending_human_verification"
      }
    ]
  },
  "matching_logic": {
    "description": "Agent dopasowuje okazje do profilu artysty na podstawie jawnych sygnalow (fit_signals), lead_time, typu venue i historii. Wynik = propozycja, nie decyzja.",
    "steps": [
      "1. Zbierz profil artysty (gatunek, dlugosc setu, baza fanow, dostepne terminy).",
      "2. Filtruj opportunity_types po fit_signals i lead_time.",
      "3. Krzyzuj z venues majacymi proof [P]/[J]/[H].",
      "4. Sortuj wg club_reputation_ranking.score (null trafia na koniec, oznaczone do weryfikacji).",
      "5. Przedstaw TOP propozycje czlowiekowi do akceptacji (HO).",
      "6. Po akceptacji: przygotuj draft kontaktu; wyslanie i decyzja = czlowiek."
    ]
  },
  "contact_workflow_HO": {
    "rule": "Kazdy kontakt z venue/bookerem to akcja wiazaca -> wymaga zatwierdzenia czlowieka (Human-in-the-loop).",
    "agent_may": ["przygotowac draft wiadomosci", "zebrac jawne dane kontaktowe ze zrodel publicznych", "zaproponowac termin/format"],
    "agent_must_not": ["wyslac wiadomosci bez akceptacji", "obiecywac kwoty/honorarium/przychod (R10)", "przechowywac lub zadac hasel do paneli/social/maila (No Password Custody)", "udzielac porady prawnej dot. umow"],
    "human_decides": ["wyslanie kontaktu", "negocjacje warunkow", "podpisanie umowy"]
  },
  "fields_intentionally_empty": {
    "fee": "BRAK — R10: agent nie podaje kwot.",
    "revenue_estimate": "BRAK — R10: agent nie obiecuje przychodu.",
    "venue_credentials": "BRAK — No Password Custody: agent nie przechowuje danych logowania."
  }
}
