Phase 2 — akceptacja¶
Dokument akceptacyjny dla Phase 2 refaktora strukturalnego TASK-262 oraz dwóch dostarczeń niezależnych od refaktora: scaffoldu strony dokumentacyjnej (docs.aiofactory.pl) oraz konektora Subiekt (Posejdon).
Metadane¶
| Pole | Wartość |
|---|---|
| Identyfikator fazy | Phase 2 — infra/ migration + docs scaffold + Subiekt deliverable |
| Zadania Backlog | TASK-262.25 (migracja infra/), TASK-161 (mkdocs scaffold), TASK-147 (Subiekt → Posejdon), TASK-212 (Pupprint trial PDF), TASK-279 (umbrella) |
| Data wdrożenia (dev) | 2026-04-26 |
| Data wdrożenia (prod) | 2026-04-27 |
| Okno wdrożeniowe (prod) | jednoczesne z Phase 1 i Phase 3 (TASK-262.33 cutover) |
| Klasa ryzyka | 🟢 niska |
| Plan referencyjny | backlog/docs/doc-083 (sekcja "Phase 2 — Docs scaffold + Subiekt deliverable") |
Zakres¶
Refaktor infra/ — przeniesienie tabel systemowych Convex oraz provisioningu WordPress do warstwy infra/:
- Convex — 6 modułów top-level (
auth.ts,auth_roles.ts,settings.ts,sync_logs.ts,roadmap.ts,contacts.ts) →convex/convex/infra/<nazwa>.ts. - Dashboard —
routes/(infrastructure)/→routes/infra/. Dodane 308-redirecty z/admin/users,/services,/logs. - Windmill —
f/wordpress/→f/infra/wordpress/. Dodatkowo (rozszerzenie zakresu poza pierwotny plan):f/customer_service/→f/support/fetchers/(10 skryptów:cs_fetcher_utils+ 9 fetcherów per-MP).
Strona dokumentacyjna docs.aiofactory.pl (TASK-161):
- Konfiguracja
mkdocs.yml(motyw Material for MkDocs, językpl, deep purple + amber, light/dark toggle). - 11 stron początkowych w
docs/handoff/: getting-started, listings/, customer-service/, shop/, operations/, rozwiazania/, podsumowanie, roadmap, faq, uslugi, index. - Kontener
webna hościeaio-dad: deploy do/root/dapps/aiodocs/z mountem objętości i wpisem Caddyfile dladocs.aiofactory.pl. - Recepta deployu jednorazowego:
just docs-deploy.
Konektor Subiekt → Posejdon (TASK-147):
- Repo standalone:
git.aiofactory.pl/aio/posejdon— pełny rewrite na .NET 8 (commitf76c14e, 2026-04-23). - Treści: README + bootstrap PowerShell + Windows Task Scheduler + log location.
- Granica wsparcia:
docs/handoff/rozwiazania/sklepy.md#posejdon— kod dostarczany przez wykonawcę, hosting po stronie właściciela, brak zdalnego dostępu, bug-fix na żądanie w 3-miesięcznym oknie umownym.
Trial PDF-y Pupprint (TASK-212):
- 3 wersje (V1/V2/V3) wygenerowane w
lab/pupprint_preview/. - Akceptacja właściciela: 2026-04-27 (V1 promowany do produkcji w ramach TASK-213).
Decyzje zamknięte¶
f/wordpress/→f/infra/wordpress/— provisioning WordPressa to operacja infrastrukturalna; flowy publikujące artykuły (post-Phase 3) trafiają dof/automations/articles/.f/customer_service/→f/support/fetchers/— pierwotnie zaplanowane na Phase 4 (marketplace); przeniesione w Phase 2 dla spójności po Phase 1 (per-MP fetchery zostały razem z resztącs/-eq subdrzewa).- DNS
docs.aiofactory.pl— rekord A musi być dodany przez właściciela (51.75.40.111). HTTPS dostarcza Caddy automatycznie po pierwszym retrycie. (Status na 2026-05-02: zrealizowane — strona online.) - Subiekt = dostarczone, Nexo Pro v57+ = nadal odroczone — zgodnie z ofertą str. 4 finalizacja konektora dla Subiekt Nexo Pro v57+ pozostaje poza zakresem.
Zależności¶
- Phase 1 (TASK-262.24) — Phase 2 stosuje analogiczny wzorzec migracji 3-warstwowej; oba dzielą harmonogram (
f/support/dispatcher+f/support/imap_fetcher_*) i mechanizm 308-redirect. - Brak zależności na zewnątrz repo — Subiekt repo (
aio/posejdon) jest osobnym dostarczeniem.
Kryteria akceptacji¶
| # | Kryterium | Status | Dowód |
|---|---|---|---|
| 1 | Migracja Convex infra/ zakończona — typecheck zielony |
✅ | TASK-262.25 — commit 52852b4 |
| 2 | Migracja Dashboard infra/ zakończona — pnpm check 0 błędów |
✅ | TASK-262.25 — commit 52852b4; 18 plików ze ścieżkami 'infra/auth:' etc. |
| 3 | 308-redirecty z /admin/users, /services, /logs aktywne |
✅ | TASK-262.25 — hooks.server.ts |
| 4 | f/wordpress/ przeniesiony do f/infra/wordpress/ |
✅ | TASK-262.25 — commit 52852b4 |
| 5 | f/customer_service/ (10 skryptów) przeniesione do f/support/fetchers/ |
✅ | TASK-262.25 — commit 52852b4 |
| 6 | Smoke convex infra/settings:getSettings, infra/roadmap:listTasks, infra/auth:getSession na dev |
✅ | TASK-262.25 final summary |
| 7 | Stara ścieżka auth:listSessions poprawnie zwraca 404 |
✅ | TASK-262.25 final summary |
| 8 | mkdocs-material site builduje się lokalnie (mkdocs build --strict) |
✅ | TASK-161 — commit 206e4d9 |
| 9 | Caddy route do docs.aiofactory.pl aktywny |
✅ | TASK-161 — kontener web na aio-dad, recepta just docs-deploy |
| 10 | Pipeline build (Forgejo Actions / Windmill) deployuje na push | ✅ | TASK-161 final summary — just docs-deploy jednorazowa recepta |
| 11 | Repo Subiekt → Posejdon dostępne na Forgejo (aio/posejdon) z README + bootstrap |
✅ | TASK-147 — commit f76c14e (2026-04-23) |
| 12 | Granica wsparcia Subiekt udokumentowana w docs/handoff/rozwiazania/sklepy.md#posejdon |
✅ | TASK-147 — commit 206e4d9 |
| 13 | Trial PDF-y Pupprint (V1/V2/V3) zaakceptowane przez właściciela | ✅ | TASK-212 — owner accepted 2026-04-27 |
Smoke-test produkcyjny¶
Phase 2 wdrożona na produkcję w jednym oknie 2026-04-27 (TASK-262.33). Smoke-testy:
| Test | Wynik | Dowód |
|---|---|---|
infra/settings:getSettings na prod |
✅ zwraca dokument settings | TASK-262.33 final summary |
infra/roadmap:listTasks na prod |
✅ zwraca dane roadmapy | TASK-262.33 final summary |
Logowanie + auth (infra/auth:getSession) |
✅ — sesja panel.aiofactory.pl/login aktywna |
TASK-262.33 final summary |
Strona /infra/admin/users ładuje się |
✅ — 303 → /login dla nieuwierzytelnionych (zgodnie z oczekiwaniem) | TASK-262.33 final summary |
Strona /infra/services ładuje się |
✅ | TASK-262.33 final summary |
Strona /infra/logs ładuje się |
✅ | TASK-262.33 final summary |
Strona dokumentacji docs.aiofactory.pl online |
✅ — DNS rozwiązuje, HTTPS aktywny | weryfikacja na 2026-05-02 |
| Konektor Subiekt → Posejdon na hoście Windows właściciela | ✅ — operacyjny od 2026-04-23 | repo aio/posejdon |
Pozostałe pozycje (Phase 2)¶
Stale aktualizowane sekcje dokumentacji — strona docs.aiofactory.pl rośnie wraz z postępem Phase 3c. Każde uzupełnienie sekcji (Roadmap H02, Operations H03 etc.) ląduje na produkcji bez konieczności re-akceptacji Phase 2 — strona była uznana za dostarczoną w momencie postawienia szkieletu i Caddy route 2026-04-27.
Blok podpisu¶
Akceptuję wykonanie Phase 2 — infra/ migration + docs scaffold + Subiekt deliverable.
Niżej podpisany potwierdza, że:
- Wszystkie kryteria akceptacji wymienione powyżej zostały spełnione.
- Migracja warstwy infrastrukturalnej (Convex
infra/, Dashboardroutes/infra/, Windmillf/infra/,f/support/fetchers/) zakończona — moduł logowania i panel infrastruktury operacyjny w produkcji od 2026-04-27. - Strona dokumentacyjna
docs.aiofactory.pljest dostępna i otrzymuje aktualizacje na bieżąco. - Konektor Subiekt → Posejdon dostarczony jako standalone repo (
aio/posejdon) z dokumentacją instalacyjną; granica wsparcia opisana w handoff docs. - Trial PDF-y Pupprint zaakceptowane (V1 promowany do produkcji).
Imię i nazwisko właściciela: ___________
Data: ________
Podpis: ___________
Uwagi (opcjonalnie):