Puls
Snapshot 03:07 · aion-marketing.pl + dev.aion-marketing.pl · tryb aion · 5 pomiarów, 4 z dowodem, 1 bez pomiaru
Snapshot 03:07 · aion-marketing.pl + dev.aion-marketing.pl · tryb aion · 5 pomiarów, 4 z dowodem, 1 bez pomiaru
Snapshot 03:07 · aion-marketing.pl + dev.aion-marketing.pl · tryb aion · 5 pomiarów, 4 z dowodem, 1 bez pomiaru · wszystkie tenanty
Puls zacznie mierzyć po pierwszym buildzie. Kolejność jak w runbooku wdrożenia.
Directus nie odpowiada. Build, gate i akcje zapisu wyłączone. Usage i zdarzenia z ostatniego snapshotu 02:55.
3 próby co 10 s · ostatnia 03:07:41 · poprzedni OK 02:55
GET https://aion-marketing.pl/directus/server/health
503 Service Unavailable · 2 104 ms
upstream: pm2 aion-marketing-directus · restarts 3/5 (10 min)
{"status":"error","checks":{"pg:responseTime":"timeout"}}
Pytanie 1: „czy strona żyje?” → pasek 5 StatusTile w jednym rzędzie, jedna wysokość, lewa krawędź niesie stan. Wzrok skanuje krawędzie: dwie kolorowe (warn, kreskowana unknown) na pięć — reszta cisza. Pytanie 2: „co blokuje wydanie?” → GateTable po prawej, licznik mono w kolorze warn jako pierwszy znak w wierszu, każdy wiersz = deep link do widoku, który naprawia. Wykres usage jest trzeci w hierarchii (lewa kolumna, szerszy, ale bez koloru stanu poza paskiem quoty). Zdarzenia pod zgięciem — to kontekst, nie decyzja.
Zgięcie 810: nad nim mieszczą się nagłówek, 5 kafli, usage + blockery. Operator widzi wszystko, co decyzyjne, bez scrolla; zdarzenia zaczynają się tuż pod linią, żeby zachęcić do przewinięcia.
--ok („sprawny”, „exit 0”, „obecny”) + LIVE · hh:mm. Zielony pojawia się tylko obok dowodu — tooltip kafla niesie komendę / endpoint / kod odpowiedzi.--warn / --critical tylko przy problemie; OK = --line; unknown = kreskowana. Tło karty nigdy nie jest kolorowe.--blue zmieszanym z powierzchnią (55%), dzisiejszy pełny --blue. Blue nie jest kolorem stanu — dane ≠ alarm. Alarm quoty niesie wyłącznie pasek + badge warn.W tokens.css hub --accent-op = --warn (ten sam bursztyn) i --accent-cl = --teal. BRIEF §2 tego zakazuje, więc propozycja v2:
| Token | Jasny | Operator | Rola |
|---|---|---|---|
--accent-op | granat | stal jasna | operator — chłodny, bo statusy są ciepłe |
--accent-cl | miedź ciemna | piasek | klient — ciepło marki, L ≠ warn o ≥ 12 pkt |
--warn | bursztyn | bursztyn | tylko stan |
Test desaturacji: primary CTA „Rebuild” (accent) i badge „blokuje wydanie” (warn) różnią się jasnością w obu motywach — w szarości CTA jest wypełnionym ciemnym/jasnym blokiem, badge tintowanym tekstem. --accent = --accent-cl w :root, --accent-op w [data-theme="operator"]. --purple zadeklarowany, nieużyty.
| Kafel / sekcja | Dowód (tooltip) | Etykieta |
|---|---|---|
| Directus | GET /directus/server/health → 200 | LIVE · 03:07 |
| Ostatni build | npm run build exit 0 · log pm2 | LIVE · 02:55 |
| SEO gate | runSeoGate · 4 blockery / 3 rekordy | LIVE · 02:55 |
| WebMCP bridge | check-webmcp-html dist/ + GET /api/webmcp → 200 | LIVE · 02:55 |
| ExitHarness | ostatni skan 27.08 — starszy niż build | UNVERIFIED |
| Usage vs quota | hub /api/usage?tenant&group=day + clients.json.limits | LIVE · 03:05 |
| Blockery | agregat trzech źródeł — etykieta = najstarsze źródło | LIVE · 03:07 |
Reguła: etykieta czasu należy do pomiaru, nie do renderu strony. Kafel bez pomiaru z bieżącego builda dostaje UNVERIFIED nawet, jeśli poprzedni wynik był PASS.
aion + „build ok · 12 min”.background-color (surface-2 ↔ surface-3) — zero gradientu, zero opacity, ≤ 1,2 s cykl.AION_TENANT_KEY = BLOCKED, nie partial. ConcealField pokazuje kropki, „pokaż 5 s” wyłączone (nie ma czego pokazać), CTA „Uzupełnij klucz”. Kafel usage → blocked + UNVERIFIED..status-tile (ok / warn / fail / unknown) · .stat-card (licznik quoty) · .chart-bars (30 div-ów, wysokość w %) · .gate-table · .event-stream · .mode-badge · .conceal · .empty-checklist · .skeleton · .blocked-banner · .badge + .quiet + .verify. Nieużyte tu, zdefiniowane wspólnie: .kill-lock .diff-panel .tabs .drawer.
Dane: tenant aion-marketing, artykuły lejek-dwustopniowy intencja-nie-keyword nie-sprzedajemy-pakietow koszt-pozyskania-klienta-cac, autorzy andrzej-niemiec aion-niemiec, quota cost_usd_month: 50, pipeline data → seo-gate → astro build → pagefind. Liczby usage są snapshotem projektowym — proposal, do podmiany na live przy wdrożeniu.
Typografia: system stack, sentence case, tytuł 26/700, sekcje 15/650, treść 13, meta 11, mono dla czasu, ID, slugów, hostów. Zero uppercase, zero letter-spacing, zero opacity, zero gradientów, zero cieni poza inset-krawędzią aktywnej pozycji menu.