# PAUL Handoff

**Date:** 2026-03-12 (aktualizacja: sesja 2)
**Status:** paused — plan 02-01 gotowy, czeka na APPLY w nowej sesji

---

## READ THIS FIRST

You have no prior context. This document tells you everything.

**Project:** wyszynskiego12.pagedev.pl — strona internetowa dewelopera
**Core value:** Użytkownicy mogą przeglądać na stronie ofertę dewelopera

---

## Current State

**Version:** v0.0.0 (Prototype)
**Phase:** 2 of 2 — Jawność cen
**Plan:** 02-01 — PLAN created, ready for APPLY

**Loop Position:**
```
PLAN ──▶ APPLY ──▶ UNIFY
  ✓        ○        ○     [Plan 02-01 gotowy, oczekuje na zatwierdzenie]
```

---

## What Was Done

**Sesja 1 (wcześniej):**
- Tabela `wp_price_history` założona przez dbDelta()
- WP Cron `apartamenty_record_prices` dzienny — snapshot cen apartamentów
- AJAX endpoint `apartamenty_get_price_history` (public, nonce-secured)
- `wp_localize_script` przekazujący ajaxUrl + nonce do JS

**Sesja 2 (ta sesja):**
- Zbadano wymagania ustawy o jawności cen (dane.gov.pl)
- Odczytano XSD portalu: `https://www.dane.gov.pl/static/xml/otwarte_dane_latest.xsd`
- Ustalono format XML cen (voxDeveloper-compatible)
- Dodano Phase 2 do ROADMAP.md
- Utworzono plan `02-01-PLAN.md` — 3 zadania auto + 1 checkpoint

**WAŻNE: Plan 01-02 (frontend popup historia cen) nadal czeka na APPLY.**
Zdecydowano skupić się najpierw na 02-01 (jawność cen). Można wrócić do 01-02 później.

---

## What's In Progress

Plan `02-01-PLAN.md` gotowy, NIE był jeszcze uruchomiony APPLY.

---

## What's Next

**Immediate:** `/paul:apply .paul/phases/02-jawnosc-cen/02-01-PLAN.md`

Plan 02-01 zawiera 3 zadania auto + 1 checkpoint:
1. Endpoint `/ceny-mieszkan.xml` + `/ceny-mieszkan.md5` (price data XML z ACF + wp_price_history)
2. Endpoint `/dane-gov-pl.xml` + `/dane-gov-pl.md5` (katalog XSD-compliant dla dane.gov.pl)
3. Strona admin: `Narzędzia → Jawność Cen` z URL-ami do zgłoszenia do Ministerstwa
4. Checkpoint: weryfikacja URL-ów w przeglądarce

**After that:** UNIFY plan 02-01, then consider 01-02 (frontend popup)

---

## Key Context — Technikalia

**Jedyny plik do zmiany:** `wp-content/plugins/elementor-addon/elementor-addon.php`

**Stack:** WordPress + ACF + Elementor + custom plugin `elementor-addon`

**Dostępne ACF flat meta keys (z `information` group):**
- `information_price` — cena brutto
- `information_price_m2` — cena za m²
- `information_floor_space` — metraż
- `information_type` — typ lokalu
- `information_floor` — piętro
- `information_status` — status (value/label)

**Tabela wp_price_history:** `id, post_id, price, price_m2, floor_space, recorded_at`

**Post type:** `apartamenty`

**Istniejące hooki w elementor-addon.php:**
- Cron: `apartamenty_record_prices` (daily)
- AJAX: `wp_ajax_apartamenty_get_price_history` + nopriv
- Nonce: `apartamenty_price_history_nonce`

**Wymagania techniczne dane.gov.pl:**
- Content-Type: `application/xml` lub `text/xml`
- MD5 companion file — lowercase hex, ten sam URL ale z `.md5` zamiast `.xml`
- Port standardowy (80/443)
- Aktualizacja min. co 24h

---

## Key Files

| File | Purpose |
|------|---------|
| `.paul/STATE.md` | Live project state |
| `.paul/ROADMAP.md` | Phase overview (fazy 1 i 2) |
| `.paul/phases/02-jawnosc-cen/02-01-PLAN.md` | Plan do APPLY |
| `.paul/phases/01-historia-cen/01-01-SUMMARY.md` | Co zbudowano w backendzie |
| `wp-content/plugins/elementor-addon/elementor-addon.php` | Jedyny plik do modyfikacji |

---

## Resume Instructions

1. Przeczytaj `.paul/STATE.md` dla aktualnej pozycji
2. Uruchom `/paul:apply .paul/phases/02-jawnosc-cen/02-01-PLAN.md`
3. Po APPLY wykonaj checkpoint (flush permalinks, sprawdź URL-e w przeglądarce)
4. Następnie `/paul:unify`

---

*Handoff created: 2026-03-12 (updated: sesja 2)*
