Przejdź do treści

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.
  • Dashboardroutes/(infrastructure)/routes/infra/. Dodane 308-redirecty z /admin/users, /services, /logs.
  • Windmillf/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ęzyk pl, 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 web na hoście aio-dad: deploy do /root/dapps/aiodocs/ z mountem objętości i wpisem Caddyfile dla docs.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 (commit f76c14e, 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

  1. f/wordpress/f/infra/wordpress/ — provisioning WordPressa to operacja infrastrukturalna; flowy publikujące artykuły (post-Phase 3) trafiają do f/automations/articles/.
  2. 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).
  3. 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.)
  4. 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:

  1. Wszystkie kryteria akceptacji wymienione powyżej zostały spełnione.
  2. Migracja warstwy infrastrukturalnej (Convex infra/, Dashboard routes/infra/, Windmill f/infra/, f/support/fetchers/) zakończona — moduł logowania i panel infrastruktury operacyjny w produkcji od 2026-04-27.
  3. Strona dokumentacyjna docs.aiofactory.pl jest dostępna i otrzymuje aktualizacje na bieżąco.
  4. Konektor Subiekt → Posejdon dostarczony jako standalone repo (aio/posejdon) z dokumentacją instalacyjną; granica wsparcia opisana w handoff docs.
  5. Trial PDF-y Pupprint zaakceptowane (V1 promowany do produkcji).

Imię i nazwisko właściciela: ___________

Data: ________

Podpis: ___________

Uwagi (opcjonalnie):