# NoNo — ARCHITECTURE.md

> **NoNo to Personal Intelligence System (PIS).** Ten dokument opisuje **JAK** — architekturę od strony przepływu danych i zdarzeń, nie modułów.
>
> Trójkąt dokumentów:
> - **`ARCHITECTURE.md`** (ten) — *JAK*: event-flow, 5 warstw, pętla uczenia (silnik).
> - [`MODULES_MASTER.md`](MODULES_MASTER.md) — *CO*: katalog funkcjonalny, ułożony modułowo (widok „co system robi").
> - [`TECH_STACK.md`](TECH_STACK.md) — *CZYM*: technologie.
>
> Katalog modułowy to **widok**. Przepływ zdarzeń to **silnik**. Oba są poprawne — do swojego celu.

---

## 1. Czym jest NoNo (teza)

**Personal Intelligence System** — system, który stopniowo buduje cyfrowy model człowieka, ciągle go obserwując, rozumiejąc i wspierając we wszystkich aspektach życia.

Nie zastępuje człowieka. Nie decyduje za niego. Nie diagnozuje.
Jego rola: **pamiętać · rozumieć · przewidywać · tłumaczyć · pomagać działać.**

**Różnica względem rynku:** Samsung Health = zdrowie, YNAB = finanse, Notion = wiedza, MyFitnessPal = dieta, ChatGPT = rozmowa. NoNo mówi: **wszystko jest jednym organizmem.** To jest fundamentalna różnica.

**Prawdziwa fosa = ciągłość.** Większość AI zaczyna od zera; większość aplikacji pokazuje ostatni tydzień. NoNo za 10 lat ma pamiętać, *dlaczego* zmieniłeś dietę, *kiedy* byłeś najszczęśliwszy, które decyzje były trafne, które nawyki naprawdę zmieniły życie.

> **Nie budujesz aplikacji. Budujesz pamięć. Wszystko inne to sposób korzystania z tej pamięci.**

---

## 2. Filtr projektowy (najważniejsza reguła)

Każda nowa funkcja musi odpowiedzieć na jedno pytanie:

> ### Czy zwiększa wiedzę AI o użytkowniku?
> **TAK →** pasuje, dodaj. **NIE →** prawdopodobnie nie należy do NoNo.

To jest twardy filtr, który chroni projekt przed rozmyciem w kolejny „zbiór trackerów".

---

## 3. Pięć warstw

```
┌─────────────────────────────────────────────┐
│  5 · EXPERIENCE   Mobile · Web · WhatsApp ·  │  jedna pamięć, jeden AI,
│                   Signal · Voice · Email     │  wiele interfejsów
├─────────────────────────────────────────────┤
│  4 · EXECUTION    Goal → Plan → Tasks →       │  AI wykonuje
│                   Shopping → Notify → Follow  │  (human-in-the-loop)
├─────────────────────────────────────────────┤
│  3 · INTELLIGENCE Pattern → Prediction →      │  AI rozumie,
│                   Why → Confidence → Learning │  nie raportuje
├─────────────────────────────────────────────┤
│  2 · MEMORY       Facts + Events + Embeddings │  cyfrowa pamięć
│                   + Relationships + Timeline  │  (Personal Intelligence
│                   + Knowledge Graph           │   Graph)
├─────────────────────────────────────────────┤
│  1 · DATA         wszystko jest EVENTEM        │  fundament —
│                   (append-only)               │  nie ma modułów, są zdarzenia
└─────────────────────────────────────────────┘
```

### Warstwa 1 — Data (event-first)
Fundament. **Nie ma modułów — są zdarzenia.** Voice, Photo, Weight, Expense, Workout, Lab, Sleep, WhatsApp, News, Calendar → wszystko wpada jako **event**.

### Warstwa 2 — Memory
Najważniejsza. Nie „SQL albo Vector albo Graph" — to wszystko **razem**: `Facts + Events + Embeddings + Relationships + Timeline + Knowledge Graph`. To cyfrowa pamięć i podłoże **Personal Intelligence Graph** (§5).

### Warstwa 3 — Intelligence
Tu rodzi się wartość: `Pattern → Prediction → Why → Confidence → Learning`. Nie raportujemy — **rozumiemy**.

### Warstwa 4 — Execution
Największa przewaga: `Goal → Plan → Tasks → Shopping → Notifications → Follow-up → Learning`. AI nie tylko radzi — **robi** (z human-in-the-loop przy akcjach nieodwracalnych).

### Warstwa 5 — Experience
To, co widzi użytkownik: Mobile · Web · WhatsApp · Signal · Voice · Email. **Jedna pamięć, jeden AI, wiele interfejsów.**

---

## 4. Rdzeń — pętla (prawdziwa architektura, pisana od przepływu, nie od modułów)

```
        ┌──────────────────────────────────────────────┐
        │                                              │
  Input → Parse → Memory → Understanding → Decision → Execution → Feedback → Learning
        (SQL+Vector+Graph)  (Pattern/Prediction/                    │
                             Why/Confidence)                        │
        └──────────────────  aktualizuje Memory  ◄──────────────────┘
```

**Domknięcie `Feedback → Learning` jest tym, co czyni AI dojrzewającym.** Bez tej pętli NoNo jest trackerem. To najważniejsza rzecz, której brakowało w opisie modułowym — bo to nie moduł, to **szkielet**.

---

## 5. Model zdarzeń (kręgosłup, trzymany pragmatycznie)

- **Append-only tabela `events` = źródło prawdy (model zapisu).** Nigdy nie aktualizujemy stanu — **dopisujemy event.**
- **Projekcje / read-models = stan bieżący** (aktualna waga, budżet, scoringi), odtwarzane ze strumienia zdarzeń.
- **Co to daje za darmo:** Life Replay, Timeline życia, **Decision Log**, audit, oraz feedback do pętli uczenia. Za 10 lat można **odtworzyć całe życie użytkownika.**

> ⚠️ **Pragmatyzm (single-user, R&D):** append-only `events` + projekcje — **nie** pełne CQRS/event-store z ceremonią. To 20%, które daje 80%. Pełną infrastrukturę event-store dokładamy tylko, gdyby realnie była potrzebna.

**Taksonomia zdarzeń (przykłady):**
`WeightAdded` · `LabUploaded` · `ExpenseAdded` · `VoiceRecorded` · `MoodChanged` · `SleepImported` · `WorkoutFinished` · `SupplementTaken` · `NewsRead` · `GoalCompleted` · `DecisionMade` · `MessageReceived` · `HealthMetricSynced`

---

## 6. Personal Intelligence Graph (PIG)

Nie „Knowledge Graph" (techniczny) — **model życia**:

```
                     ┌── zdrowie
                     ├── praca
                     ├── finanse
      człowiek ──────┼── emocje
                     ├── cele
                     ├── rodzina
                     ├── projekty
                     ├── wiedza
                     └── historia
```

Opisuje, jak domeny życia się łączą, i jest podłożem **Digital Twin**. Knowledge Graph (technika) jest jego implementacją; Personal Intelligence Graph jest jego znaczeniem.

---

## 7. AI jako partner (Persona + ciągłość)

Nie chatbot. Nie asystent. **Partner** — przez rok, pięć lat, dwadzieścia lat. AI **dojrzewa razem z użytkownikiem**.

- **Persona / User Model** — AI wie: kim jesteś, jak reagujesz, jakie masz cele, wartości, styl komunikacji. To nie jest „ton bota" (osobowość AI) — to **model człowieka**.
- **Ciągłość** pamięci, kontekstu i uczenia się przez lata = największy „wow": *„Znam Cię — nie dlatego, że przeczytałem Internet, tylko dlatego, że byłem z Tobą codziennie."*

---

## 8. Roadmapa wg dojrzałości zdolności (nie MVP/V1/V2)

| Etap | AI... | Warstwy |
|------|-------|---------|
| **1** | zaczyna **pamiętać** | Data + Memory |
| **2** | zaczyna **rozumieć** | + Pattern / Why |
| **3** | zaczyna **przewidywać** | + Prediction / Confidence |
| **4** | zaczyna **wykonywać zadania** | + Execution / Agents |
| **5** | staje się **cyfrowym partnerem** | + Persona + ciągłość + Learning |

> To są kamienie milowe **zdolności**, nie daty. Ograniczenia wdrożeniowe (Android-first, chmura → Bielik, single-user) żyją w [`TECH_STACK.md`](TECH_STACK.md) i nie zawężają wizji funkcjonalnej.

---

## 9. Gdzie lądują luki z poprzedniej oceny (8 rzeczy → mapa na warstwy)

Te punkty „brakowały", bo to **architektura, nie moduły** — tu mają swoje miejsce:

| Pozycja | Warstwa / miejsce |
|---------|-------------------|
| **Event Sourcing / Life Events** | Warstwa 1 — Data (§5) |
| **AI Learning Loop** | domknięta pętla `Feedback → Learning` (§4) |
| **Context Builder** | granica Memory ↔ Intelligence — montuje kontekst per-model (co do Bielika, co do GPT, co do Claude) |
| **Persona / User Model** | §7 |
| **Decision Log** | klasa eventu `DecisionMade` + projekcja (§5) |
| **AI Experiments** (n=1) | Warstwa 3 — strukturalne testowanie hipotez o Tobie |
| **Rules Engine** (user IFTTT) | Warstwa 4 — automatyzacje użytkownika nad strumieniem zdarzeń |
| **Universal Inbox** | Warstwa 1 — wejście: wszystkie kanały → eventy, auto-klasyfikacja |
| **Personal Search** | Warstwa 2 — powierzchnia zapytań (scala Timeline Engine / Memory Explorer / Personal Search) |

---

## 10. Zasada nadrzędna dokumentacji

> Od teraz **projektujemy od przepływu danych, nie od ekranów.**
> `Input → Memory → Understanding → Decision → Execution → Feedback → Learning`
> To jest architektura. Moduły w [`MODULES_MASTER.md`](MODULES_MASTER.md) są *widokiem* na tę architekturę — użytecznym, ale wtórnym wobec silnika.

_Wersja robocza — kanoniczny opis „JAK". Po zatwierdzeniu można wygenerować wersję HTML pod landing (jak pozostałe dokumenty)._
