Kanopro

Rejestr zmian danych

Aktualna wersja danych: 2026.10.23-1 (2026-10-23).

Zmiany danych i kontraktu danych. Wpis: co, które id, dlaczego. Zmiany redakcyjne (literówki, styl) oznaczane jako editorial; nie podbijają recordVersion.

Do publikacji (paczka 4: kampanie partnerów)

Zmiany konfiguracji partnerów; bez nowej wersji danych do czasu zatwierdzenia publikacji.

  • cmp_7220nsl5: przykładowa kampania (status: "placeholder", material: "qr-card") placówki prt_2ssix9tz ([Placeholder] Klinika 1), cel dst_xqhlgym2, targetPath /odmiany/aurora-black-jelly-thc27-hybryda-sativa. Działa wyłącznie poza produkcją.
  • dst_xqhlgym2: nowy cel booking placówki prt_2ssix9tz (adres placeholder https://example.com/rezerwacja), dopisany do jej allowedDestinationIds.
  • Schemat kampanii: status dopuszcza placeholder (obok active | paused); do potwierdzenia przez integratora w sekcji 6 kontraktu.
  • Walidacja: targetPath kampanii wyłącznie jako ścieżka w obrębie serwisu (bez //host, \); kampania na kartę odmiany musi wskazywać znany slug produktu (aktywny lub z historii w slugs.json).

2026.10.23-1 (dane), 23.10.2026

Pierwsza wersja danych według kontraktu v1 (docs/kontrakt-danych-v1.md). verifiedAt = null we wszystkich rekordach: żaden rekord nie przeszedł jeszcze przeglądu człowieka.

  • Identyfikatory: wszystkie rekordy dostały losowe id z prefiksami (prc_, cul_, prd_, trp_, src_, prt_, dst_); relacje przepięte z dawnych identyfikatorów tekstowych i slugów na id. Slugi bez zmian; historia w data/slugs.json (140 aktywnych wpisów od 2026-10-23).
  • Źródła: 156 odnośników inline (sources) oraz 33 adresy sekcji PubChem (cas.sourceUrl, boilingPointC.sourceUrl) przeniesione do data/sources.json (189 rekordów, deduplikacja po url). TerpeneAtlas (kopia Common Crawl, 135): kind: secondary-catalog, usage: facts, do zastąpienia źródłem pierwotnym w T3. PubChem (54): kind: pubchem, usage: facts.
  • Kultywary: 14 kultywarów współdzielonych przez różnych producentów bez źródła relacji rozdzielono na kultywary robocze per producent (65 -> 87 rekordów cul_); wszystkie produkty mają cultivarLinkStatus: "unconfirmed", bo żaden nie ma cultivarSourceId.
  • Partnerzy: clinics.json (5 placeholderów) i affiliates.json (1 placeholder) przeniesione do partners.json i destinations.json (status: "placeholder", niewidoczne w produkcji). Dodane serwisy dostępności GdziePoLek i KtoMaLek (type: "external_service", cel site z urlTemplate). Pola klinik type (wszystkie "clinic") i plan (wszystkie "founding") nie mają odpowiednika w kontrakcie i zostały pominięte.
  • Usunięte pola produktów gdziepolekUrl i ktomalekQuery (puste we wszystkich rekordach; zastąpione celami serwisów dostępności).
  • Profile terpenowe: nowy model obserwacji (obs_, scope, basis, entries ze state); plik pusty, brak profili ze źródłem.
  • Nowe pliki: data/VERSION.json, data/batches.json (pusty, P1), data/campaigns.json (pusty).

Kontrakt danych v1, poprawki integratora (23.10.2026)

  • Sekcja 1: dopisane zdanie "id nigdy nie koduje nazwy".
  • Sekcja 2: nowy rodzaj źródła secondary-catalog (katalog wtórny; produkt, którego jedynym źródłem jest katalog wtórny, ma na karcie etykietę "dane z katalogu wtórnego, w trakcie weryfikacji u producenta", wyliczaną w widoku).
  • Sekcja 4: przykład trp_pinen zastąpiony losowym identyfikatorem (przykład był poglądowy).
  • Sekcja 6: nowy typ partnera external_service i pole urlTemplate z {query} dla jego celów site; przejście z karty produktu raportowane jako outbound_clicked z destinationType: "availability_check".

Kontrakt danych v1, ustalenia z odbioru paczki 1 (23.10.2026)

  • Sekcja 2: PubChem usage: facts; zapis ustalonych rodzajów źródeł (PubChem, katalog wtórny).
  • Sekcja 6: pole slug partnera (profil publiczny, historia w slugs.json). Typ external_service z urlTemplate (dopisany wcześniej) potwierdzony.
  • Zatwierdzone przy odbiorze: wszystkie produkty cultivarLinkStatus: "unconfirmed" do czasu źródła relacji; pola klinik type i plan pominięte; status kampanii active | paused.
  • Publikacja danych 2026.10.23-1 zatwierdzona przez Jakuba Czernikiewicza (approvedBy w VERSION.json).