T-000 • bootstrap repozytorium

meal-prep jest gotowe na pierwsze właściwe zadania.

To jest celowo mały shell aplikacji. Ustawia kontrakt repo, dokumentację, komendy jakości i miejsce pod dalszą, vendor-agnostic implementację. Dzisiaj pokazuje też lekkie demo data bez uruchamiania logiki produktowej.

Demo household

Dom Kowalskich

2 osoby, Warszawa

Preferencje

białko głównie z ryb i nabiału • 3 kolacje i 1 lunch(e) w oknie 3 dni • aktywny czas gotowania do 35 minut • priorytet: balans jakości i ceny

Członkowie gospodarstwa

Marta (adult) • Piotr (adult)

Adres gospodarstwa

ul. Pulawska 12/4, 02-566 Warszawa, PL • uwagi: Domofon 42, zostaw przy drzwiach jeśli nikogo nie ma.

Ograniczenia i kuchnie

alergie: orzechy laskowe • wykluczenia: kolendra • kuchnie: śródziemnomorska, meksykańska

Dzień 1 • kolacja

Łosoś z pieca z kuskusem i ogórkiem

Szybki, lekki posiłek z jednym źródłem białka i prostą listą zakupową.

Dzień 2 • kolacja

Makaron z pieczoną fetą i szpinakiem

Powtarzalny, tani format do walidacji preferencji i renderowania przepisu.

Dzień 3 • lunch

Wrap z kurczakiem, hummusem i warzywami

Pozycja do sprawdzenia prostego merge składników i preview shopping listy.

Preview listy zakupowej

łosoś filet2 x 180 gkuskus1 opakowanieszpinak2 garściewrapy pełnoziarniste1 opakowanie

Preview i zapis preferencji

Lokalny flow z lekkim adapterem storage

Pracujesz na lokalnym profilu demo. Możesz go zapisać lub ponownie wczytać.

Lokalny stan spiżarni

Minimalny editor pod pantry subtraction. Każda pozycja pozostaje jawna i lokalna.

Pracujesz na demonstracyjnym stanie spiżarni.

Wynik domenowy

Zweryfikowany profil gospodarstwa

białko głównie z ryb i nabiału • 3 kolacje i 1 lunch(e) w oknie 3 dni • aktywny czas gotowania do 35 minut • priorytet: balans jakości i ceny • alergie: orzechy laskowe • wykluczenia: kolendra • kuchnie: śródziemnomorska, meksykańska

ul. Pulawska 12/4, 02-566 Warszawa, PL • uwagi: Domofon 42, zostaw przy drzwiach jeśli nikogo nie ma.

Profil diety

Planowanie powinno preferować ryby, nabiał i dania roślinne bez czerwonego mięsa.

Bezpieczne składniki

Wyklucz alergeny i składniki: orzechy laskowe, kolendra.

Budżet czasu

Aktywny czas gotowania nie powinien przekraczać 35 minut.

Kadencja planu

Przygotuj 3 kolacje i 1 lunch(e) w oknie 3 dni.

Execution ops snapshot

Szybki health check execution na bazie recovery, capability i telemetry.

red • 4 blockerów • 0 ostrzeżenia

0 provider eligible • 1 provider wymaga linkingu • 0 eventów telemetry

Execution runbook

Minimalny runbook wsparcia nad bieżącym stanem execution.

now • Usuń aktywne blockery execution

Najpierw domknij pozycje unresolved albo brak coverage sklepu przed kolejnym handoffem.

Execution monitoring

Alerty operacyjne liczone lokalnie na bazie ops snapshotu i telemetry.

critical • Execution health jest czerwone

Aktywne blockery recovery nadal zatrzymują pełny handoff.

Execution admin tools

Bezpieczny preview narzędzi administracyjnych dla obecnego execution state.

Odśwież sesję handoffu

recommended • refresh_handoff • Przydaje się po zmianach w matchingu albo recovery.

Przejrzyj override'y matchingu

available • clear_overrides • Pomaga wrócić do domyślnego wyboru, gdy override'y przestają być aktualne.

Przejrzyj plan recovery

recommended • review_recovery • To pierwszy krok, gdy execution health spada poniżej green.

Kolejka matchingu

Prosty podział na auto-accept, review i unmatched według jawnych progów scoringu.

feta

status auto_accept • Feta 200 g • score 11

jogurt

status auto_accept • Jogurt grecki 180 g • score 11

kuskus

status auto_accept • Kuskus 500 g • score 11

oliwa

status unmatched • brak kandydata

orzo

status unmatched • brak kandydata

tostady

status auto_accept • Tostady 12 szt • score 11

awokado

status auto_accept • Awokado 1 szt • score 11

cukinia

status auto_accept • Cukinia 1 szt • score 11

cytryna

status auto_accept • Cytryna 1 szt • score 10

limonka

status unmatched • brak kandydata

ogórek

status unmatched • brak kandydata

pomidory

status auto_accept • Pomidory 500 g • score 11

łosoś

status auto_accept • Łosoś filet 400 g • score 10

tuńczyk

status auto_accept • Tuńczyk w kawałkach 160 g • score 10

Ręczne override'y matchingu

Lekki, lokalny wybór produktu dla pozycji z review lub gdy chcesz jawnie nadpisać domyślny top match.

Brak zapisanych override'ów matchingu. Domyślnie używany jest najlepszy kandydat.

feta

180 g wybór domyślny • Feta 200 g • pewność high

jogurt

120 g wybór domyślny • Jogurt grecki 180 g • pewność high

kuskus

320 g wybór domyślny • Kuskus 500 g • pewność high

oliwa

6 łyżka brak dopasowania • status unresolved

Ta pozycja nie ma jeszcze żadnego kandydata do ręcznego wskazania.

orzo

180 g brak dopasowania • status unresolved

Ta pozycja nie ma jeszcze żadnego kandydata do ręcznego wskazania.

tostady

6 szt wybór domyślny • Tostady 12 szt • pewność high

awokado

1 szt wybór domyślny • Awokado 1 szt • pewność high

cukinia

1 szt wybór domyślny • Cukinia 1 szt • pewność high

cytryna

2 szt wybór domyślny • Cytryna 1 szt • pewność high

limonka

1 szt brak dopasowania • status unresolved

Ta pozycja nie ma jeszcze żadnego kandydata do ręcznego wskazania.

ogórek

2 szt brak dopasowania • status unresolved

Ta pozycja nie ma jeszcze żadnego kandydata do ręcznego wskazania.

pomidory

250 g wybór domyślny • Pomidory 500 g • pewność high

łosoś

720 g wybór domyślny • Łosoś filet 400 g • pewność high

tuńczyk

240 g wybór domyślny • Tuńczyk w kawałkach 160 g • pewność high

Execution analytics

Lekki snapshot analityczny nad readiness execution, bez zewnętrznej analityki.

low • 4 unresolved signals • 0 provider eligible

Najpierw zredukuj unresolved signals, zanim potraktujesz execution jako gotowe.

Cart and order abstraction

Neutralny szkic koszyka i zamówienia, nadal bez prawdziwego checkoutu.

Cart: blocked • official • 14 pozycji

Order: blocked • official • 14 pozycji

Brak eligible providera dla bieżącego execution basket. • Koszyk nadal zawiera unresolved items.

Order status lifecycle

Neutralny lifecycle statusu zamówienia nad order intent, bez realnego checkoutu i bez provider-specific API.

blocked • official • 3 etapów • 2 blockerów

Oficjalny lifecycle zakłada przyszły checkout i statusy providera bez wchodzenia jeszcze w provider-specific flow. • Webhooki są modelowane jako neutralny kontrakt wejściowy dla zdarzeń zamówienia.

Oczekiwane webhooki: order.status_updated • order.confirmed • order.failed

Szkic zamówienia

done • draft • Szkic zamówienia

Order intent przeszedł już z etapu szkicu do kolejnych kroków wykonania.

Wysłanie zamówienia

blocked • submitted • Wysłanie zamówienia

Brak eligible providera dla bieżącego execution basket.

Potwierdzenie zamówienia

pending • confirmed • Potwierdzenie zamówienia

Potwierdzenie będzie wynikiem status polling albo webhooków po wejściu realnej integracji.

Webhook contracts

Neutralne kontrakty wejściowe dla webhooków statusu zamówienia, nadal bez realnego providera.

Demo Handoff Provider

disabled • none • 0 eventy

Provider nie deklaruje jeszcze statusów zamówienia w obecnym bootstrapie.

Demo Official Provider

enabled_preview • signature • 3 eventy

Kontrakt webhooków pozostaje neutralny wobec providera i zakłada tylko wejściowy model zdarzeń. • Status zamówienia wymaga dalszego lifecycle execution.

Endpoint preview: /api/providers/provider-demo-official/webhook

Order event preview

Lekki preview eventów handoffu i webhooków, który pokazuje co jest już obserwowalne, a co pozostaje tylko oczekiwanym sygnałem.

Otwarcie sesji handoffu

inactive • handoff • handoff.opened

Bieżący provider nie używa półautomatycznego handoffu jako głównej ścieżki.

Aktualizacja statusu zamówienia

inactive • webhook • order.status_updated

Event pozostaje nieaktywny, dopóki provider official nie wystawi realnych webhooków statusowych.

Potwierdzenie zamówienia

inactive • webhook • order.confirmed

Event pozostaje nieaktywny, dopóki provider official nie wystawi realnych webhooków statusowych.

Błąd zamówienia

inactive • webhook • order.failed

Event pozostaje nieaktywny, dopóki provider official nie wystawi realnych webhooków statusowych.

Provider account state

Cienka warstwa stanu konta providera, nadal bez prawdziwego logowania i bez session management.

Demo Handoff Provider

not_applicable • continue_handoff • Na etapie handoffu nie potrzebujemy jeszcze konta providera.

Demo Official Provider

unlinked • link_account • Przed oficjalnym execution trzeba będzie połączyć konto użytkownika.

Provider auth contracts

Kontrakty auth i account linking dla providerów, nadal bez realnego flow logowania.

Demo Handoff Provider

none • not_required • Półautomatyczny handoff nie wymaga jeszcze linkingu konta.

continue_handoff • auth_later • Na obecnym etapie execution można kontynuować bez linkingu konta.

Demo Official Provider

partner_oauth • required_for_official • Oficjalny checkout będzie wymagał odizolowanego linkingu konta providera.

prepare_linking • auth_later • Przed oficjalnym checkoutem trzeba będzie uruchomić odizolowany flow auth.

Koszyk wykonania

Vendor-agnostic szkic koszyka przekazywanego dalej do warstwy adaptera.

store-demo-mokotow • 10 gotowe • 4 do review

14 pozycji w szkicu wykonania.

feta

ready • Feta 200 g • 1 op.

jogurt

ready • Jogurt grecki 180 g • 1 op.

kuskus

ready • Kuskus 500 g • 1 op.

oliwa

needs_review • brak produktu

orzo

needs_review • brak produktu

tostady

ready • Tostady 12 szt • 1 op.

awokado

ready • Awokado 1 szt • 1 op.

cukinia

ready • Cukinia 1 szt • 1 op.

cytryna

ready • Cytryna 1 szt • 2 op.

limonka

needs_review • brak produktu

ogórek

needs_review • brak produktu

pomidory

ready • Pomidory 500 g • 1 op.

łosoś

ready • Łosoś filet 400 g • 2 op.

tuńczyk

ready • Tuńczyk w kawałkach 160 g • 2 op.

Kontrakt adaptera wykonania

Pierwszy neutralny kontrakt handoffu, jeszcze bez providera i bez checkoutu.

Provider-neutral handoff handoff_url bootstrap-ready

Kontrakt pozostaje vendor-agnostic i nie zakłada checkoutu. • Preview URL reprezentuje wewnętrzny szkic handoffu, nie link providera.

provider-neutral-handoff • 10 gotowe • 4 do review

https://handoff-preview.local/session?adapter=provider-neutral-handoff&storeId=store-demo-mokotow&ready=10&review=4

Sesja handoffu

Lokalny, trwały artefakt półautomatycznego handoffu nad bieżącym szkicem wykonania.

Brak zapisanej sesji handoffu. Możesz utrwalić aktualny szkic wykonania.

Bieżący szkic: draft • 14 pozycji • 4 unresolved

Sesja zawiera pozycje unresolved i wymaga dalszego review przed pełnym handoffem.

Recovery execution

Jawny plan odzyskiwania dla pozycji i stanów, które nadal blokują pełny handoff.

needs_recovery • 4 blockerów • 0 ostrzeżenia

Najpierw domknij poniższe kroki recovery, zanim potraktujesz handoff jako gotowy.

Brak dopasowania dla oliwa

blocking • ITEM_NOT_FOUND • review_matching • pantry:oliwa:łyżka

Ta pozycja nie ma jeszcze żadnego kandydata produktowego. Wróć do matchingu albo rozszerz katalog przed pełnym handoffem.

Brak dopasowania dla orzo

blocking • ITEM_NOT_FOUND • review_matching • pantry:orzo:g

Ta pozycja nie ma jeszcze żadnego kandydata produktowego. Wróć do matchingu albo rozszerz katalog przed pełnym handoffem.

Brak dopasowania dla limonka

blocking • ITEM_NOT_FOUND • review_matching • produce:limonka:szt

Ta pozycja nie ma jeszcze żadnego kandydata produktowego. Wróć do matchingu albo rozszerz katalog przed pełnym handoffem.

Brak dopasowania dla ogórek

blocking • ITEM_NOT_FOUND • review_matching • produce:ogórek:szt

Ta pozycja nie ma jeszcze żadnego kandydata produktowego. Wróć do matchingu albo rozszerz katalog przed pełnym handoffem.

Provider capability matrix

Neutralna macierz możliwości providerów, bez auth i bez oficjalnego checkoutu.

Demo Handoff Provider

handoff • 1 available • 1 planned

handoff_urlavailableNeutralny preview handoffu jest gotowy do podpięcia pod adapter.

official_cartplannedOficjalny koszyk pozostaje poza zakresem obecnego etapu.

order_statusunsupportedBrak statusów zamówienia bez provider-specific integracji.

wait • not_ready • Koszyk nadal zawiera unresolved items.

Demo Official Provider

official • 0 available • 3 planned

handoff_urlplannedProvider może później wspierać również fallback handoff.

official_cartplannedCheckout i cart abstraction są jeszcze poza zakresem.

order_statusplannedStatus zamówienia wymaga dalszego lifecycle execution.

wait • not_ready • Koszyk nadal zawiera unresolved items.

Execution telemetry

Lekki lokalny log zdarzeń save/load dla sesji handoffu.

Brak zapisanych zdarzeń execution telemetry.

0 eventów • ready 0 • needs_recovery 0

ITEM_NOT_FOUND 0 • MULTIPLE_MATCHES 0 • NO_STORE_COVERAGE 0 • STALE_HANDOFF_SESSION 0

Log telemetry pojawi się po zapisaniu albo wczytaniu sesji handoffu.

Dopasowanie produktów

Pierwszy scoring katalogowy nad znormalizowaną listą zakupową, nadal bez provider-specific API.

feta

180 g

Feta 200 g1 op. • 200 g • pewność high

jogurt

120 g

Jogurt grecki 180 g1 op. • 180 g • pewność high

kuskus

320 g

Kuskus 500 g1 op. • 500 g • pewność high

oliwa

6 łyżka

Brak pewnego dopasowania w katalogu demo.

orzo

180 g

Brak pewnego dopasowania w katalogu demo.

tostady

6 szt

Tostady 12 szt1 op. • 12 szt • pewność high

awokado

1 szt

Awokado 1 szt1 op. • 1 szt • pewność high

cukinia

1 szt

Cukinia 1 szt1 op. • 1 szt • pewność high

cytryna

2 szt

Cytryna 1 szt2 op. • 1 szt • pewność high

limonka

1 szt

Brak pewnego dopasowania w katalogu demo.

ogórek

2 szt

Brak pewnego dopasowania w katalogu demo.

pomidory

250 g

Pomidory 500 g1 op. • 500 g • pewność high

łosoś

720 g

Łosoś filet 400 g2 op. • 400 g • pewność high

tuńczyk

240 g

Tuńczyk w kawałkach 160 g2 op. • 160 g • pewność high

Po odjęciu spiżarni

Demo stan spiżarni odejmuje tylko identyczne pozycje po nazwie, jednostce i kategorii.

feta

spiżarnia 0 • kup 180 g • 1 źródła

jogurt

spiżarnia 120 g • nie kupuj • 1 źródła

kuskus

spiżarnia 0 • kup 320 g • 2 źródła

oliwa

spiżarnia 2 łyżka • kup 4 łyżka • 3 źródła

orzo

spiżarnia 0 • kup 180 g • 1 źródła

tostady

spiżarnia 0 • kup 6 szt • 1 źródła

awokado

spiżarnia 0 • kup 1 szt • 1 źródła

cukinia

spiżarnia 0 • kup 1 szt • 1 źródła

cytryna

spiżarnia 2 szt • nie kupuj • 2 źródła

limonka

spiżarnia 0 • kup 1 szt • 1 źródła

ogórek

spiżarnia 0 • kup 2 szt • 2 źródła

pomidory

spiżarnia 0 • kup 250 g • 1 źródła

łosoś

spiżarnia 0 • kup 720 g • 2 źródła

tuńczyk

spiżarnia 0 • kup 240 g • 1 źródła

Skonsolidowana lista zakupowa

Ścisły merge pozycji oraz lekka normalizacja jednostek do kanonicznych formatów.

feta

180 g • dairy • 1 źródła

jogurt

120 g • dairy • 1 źródła

kuskus

320 g • pantry • 2 źródła

oliwa

6 łyżka • pantry • 3 źródła

orzo

180 g • pantry • 1 źródła

tostady

6 szt • pantry • 1 źródła

awokado

1 szt • produce • 1 źródła

cukinia

1 szt • produce • 1 źródła

cytryna

2 szt • produce • 2 źródła

limonka

1 szt • produce • 1 źródła

ogórek

2 szt • produce • 2 źródła

pomidory

250 g • produce • 1 źródła

łosoś

720 g • protein • 2 źródła

tuńczyk

240 g • protein • 1 źródła

Popyt zakupowy

Spłaszczone składniki z przepisów. To jest wejście do późniejszego merge listy zakupowej.

tuńczyk

Tostady z tuńczykiem i limonką • 240 g • protein

tostady

Tostady z tuńczykiem i limonką • 6 szt • pantry

awokado

Tostady z tuńczykiem i limonką • 1 szt • produce

limonka

Tostady z tuńczykiem i limonką • 1 szt • produce

jogurt

Tostady z tuńczykiem i limonką • 120 g • dairy

ser feta

Pieczona feta z orzo i warzywami • 180 g • dairy

orzo

Pieczona feta z orzo i warzywami • 180 g • pantry

pomidorki

Pieczona feta z orzo i warzywami • 250 g • produce

cukinia

Pieczona feta z orzo i warzywami • 1 szt • produce

oliwa

Pieczona feta z orzo i warzywami • 2 łyżka • pantry

łosoś filet

Łosoś z kuskusem i ogórkiem • 360 g • protein

kuskus

Łosoś z kuskusem i ogórkiem • 160 g • pantry

ogórek

Łosoś z kuskusem i ogórkiem • 1 szt • produce

cytryna

Łosoś z kuskusem i ogórkiem • 1 szt • produce

oliwa

Łosoś z kuskusem i ogórkiem • 2 łyżka • pantry

łosoś filet

Łosoś z kuskusem i ogórkiem • 360 g • protein

kuskus

Łosoś z kuskusem i ogórkiem • 160 g • pantry

ogórek

Łosoś z kuskusem i ogórkiem • 1 szt • produce

cytryna

Łosoś z kuskusem i ogórkiem • 1 szt • produce

oliwa

Łosoś z kuskusem i ogórkiem • 2 łyżka • pantry

Preview przepisów

Ustrukturyzowane przepisy dla aktualnie rekomendowanych pozycji planu.

Tostady z tuńczykiem i limonką

Szybki lunch z tuńczykiem, limonką i chrupiącą bazą.

2 porcje • 15 min aktywnie • 5 składników

tuńczyk 240 g • tostady 6 szt • awokado 1 szt • limonka 1 szt • jogurt 120 g

Pieczona feta z orzo i warzywami

Jednonaczyniowe orzo z pieczoną fetą i warzywami do zjedzenia dziś albo jutro.

2 porcje • 24 min aktywnie • 5 składników

ser feta 180 g • orzo 180 g • pomidorki 250 g • cukinia 1 szt • oliwa 2 łyżka

Łosoś z kuskusem i ogórkiem

Pieczony łosoś z szybkim dodatkiem z kuskusu i chrupiącym ogórkiem.

2 porcje • 20 min aktywnie • 5 składników

łosoś filet 360 g • kuskus 160 g • ogórek 1 szt • cytryna 1 szt • oliwa 2 łyżka

Łosoś z kuskusem i ogórkiem

Pieczony łosoś z szybkim dodatkiem z kuskusu i chrupiącym ogórkiem.

2 porcje • 20 min aktywnie • 5 składników

łosoś filet 360 g • kuskus 160 g • ogórek 1 szt • cytryna 1 szt • oliwa 2 łyżka

Szkic planu

Najwyżej oceniony kandydat dla każdego slotu w oknie 2026-04-20 2026-04-22

Dzień 1 • Lunch

2026-04-20 • Tostady z tuńczykiem i limonką • 1 alternatywy

Dzień 1 • Dinner

2026-04-20 • Pieczona feta z orzo i warzywami • 2 alternatywy

Dzień 2 • Dinner

2026-04-21 • Łosoś z kuskusem i ogórkiem • 2 alternatywy

Dzień 3 • Dinner

2026-04-22 • Łosoś z kuskusem i ogórkiem • 2 alternatywy

Deterministyczne sloty planu

Okno 2026-04-202026-04-22

Dzień 1 • Lunch

2026-04-20 • lunch • 2 porcje

Tostady z tuńczykiem i limonką

Szybki lunch z wysokim białkiem i krótką listą składników.

meksykańska • 15 min • budżet balanced

Meksykańskie bowl z ryżem i fasolą

Tani, powtarzalny format z dobrym potencjałem batch cook.

meksykańska • 25 min • budżet value • batch cook friendly

Dzień 1 • Dinner

2026-04-20 • dinner • 2 porcje • dzień batch cook

Pieczona feta z orzo i warzywami

Jednonaczyniowy format dobry do ponownego użycia następnego dnia.

śródziemnomorska • 30 min • budżet balanced • batch cook friendly

Meksykańskie bowl z ryżem i fasolą

Tani, powtarzalny format z dobrym potencjałem batch cook.

meksykańska • 25 min • budżet value • batch cook friendly

Dzień 2 • Dinner

2026-04-21 • dinner • 2 porcje

Łosoś z kuskusem i ogórkiem

Lekka kolacja z szybkim pieczeniem i prostą miską dodatków.

śródziemnomorska • 30 min • budżet balanced

Pieczona feta z orzo i warzywami

Jednonaczyniowy format dobry do ponownego użycia następnego dnia.

śródziemnomorska • 30 min • budżet balanced • batch cook friendly

Dzień 3 • Dinner

2026-04-22 • dinner • 2 porcje

Łosoś z kuskusem i ogórkiem

Lekka kolacja z szybkim pieczeniem i prostą miską dodatków.

śródziemnomorska • 30 min • budżet balanced

Pieczona feta z orzo i warzywami

Jednonaczyniowy format dobry do ponownego użycia następnego dnia.

śródziemnomorska • 30 min • budżet balanced • batch cook friendly