Aktywny

Inventory Generator

Lokalny edytor inwentarza z serwerowym generowaniem DOCX, CSV i HTML.

C#.NET 10JavaScriptOpenXMLDocker
89%ukończenia
Podgląd projektu Inventory Generator
01

Bieżący kierunek

Teraz

Odbiór wdrożenia Inventory i sprzątanie zakończone. Zasoby testowe usunięte, dowody zachowane, PR #30 scalony; produkcja pozostaje na przyjętym 6971496.

Następnie

Kontynuować wspólne zadania platformy: monitoring i alerty, izolację edge w tym samym colo, zakres poświadczeń i hardening. Nie potrzeba kolejnej próby obciążenia Inventory ani wdrożenia tylko dla sprzątania.

02

Zadania

Implementacja100%

Dokończyć UI i zabezpieczenia eksportu

Accepted recovery/legacy migration/raw backup fixes merged and deployed. Real HTTP 50k-cell/near-2MiB CSV, HTML and DOCX correctness and invalid-payload bounds pass on the CI image. No unlimited-load or complete OOM-safety claim.

Trudność 3/50–0 godz. · 0–0 dni rob.
Jakość100%

Rozbudować testy eksportu i przeglądarki

https://github.com/SzczepanGrela/inventory-generator/actions/runs/37574806859: 84 .NET (zero skips), 34 Python, 12 browser suites; Container, fixable HIGH/CRITICAL scan, attestation, Quality, release preflight and Production all pass. Accepted independent browser recovery/migration tests retained. Local CI-image HTTP qualification: 38 baseline + 59 repeat requests at 1 CPU/512 MiB, valid DOCX/CSV/HTML structures, expected 400/413/429, zero OOM. Worst cgroup peak 469.61 MiB, health up to 2.0571 s in a burst; bounded evidence only.

Trudność 3/50–0 godz. · 0–0 dni rob.
Jakość100%

Włączyć ruleset i wymagane Quality

October 3 coordinator installed/read back active ruleset 24407679: main requires PR, strict GitHub Actions Quality gate, thread resolution, no force-push/deletion/bypass. Existing production environment requires owner approval, main only; self-review allowed.

Trudność 2/50–0 godz. · 0–0 dni rob.
Dokumentacja100%

Udokumentować migrację Coolify i znane ograniczenia

Corrected runbooks and release implementation merged. Normal protected release, selected runtime, public clients/headers, isolated health gate, controlled rollback and final bounded rolling workload are accepted. All eight structures and normal baseline retirement passed in the final October 9 attempt; cleanup was pending at that checkpoint. Earlier incomplete attempts and runner warning retain their original scope. October 10 operator confirmation and selected Docker/public-health readbacks accept temporary app, dedicated network/destination and empty-project cleanup. Full passing JSONL archived and verified privately. PR #30 merged October 11 as 672d160 retires exercise tools and records acceptance; production remains 6971496. No repeat drill required.

Trudność 2/50–0 godz. · 0–0 dni rob.
Wdrożenie85%

Uruchomić DNS, TLS i trzy warstwy limitów

Three slots, no waiting, weighted per-client budgets retained. Local capped HTTP overload/recovery passed; worst peak 469.61/512 MiB without OOM. October 8 public paired run: VPS 13/30 exports passed, 17 application DOCX 429s with Retry-After, recovery 200; observer 12/12 passed, eight during the regular VPS series. Forged X-Forwarded-For remained application 429; forged CF-Connecting-IP received public-path 403, not an observed origin response. October 9 final bounded rolling workload passed at three slots/no queue and intended per-instance limits; process-local overlap accepted for that scope. Same-colo edge isolation remains open.

Trudność 3/52–4 godz. · 0.25–0.5 dni rob.
Wdrożenie100%

Publikować i wdrażać obraz po digestcie

Final 6971496 CI publishes/tests/attests digest sha256:7b9853fa84e67a53d332b0b2ec67c5e0690f97c2c8b8ab3f654d6689440a825e; run 37574806859 deploys it successfully via protected production. Public revision and frontend match. Stale unstarted October 3 deployment cancelled to unblock main queue.

Trudność 3/50–0 godz. · 0–0 dni rob.
Wdrożenie100%

Odebrać rolling update z bramką zdrowia i odzyskiwanie w ustalonym zakresie

Normal protected release passed at 6971496. Isolated health gate run 37892036349 and controlled failed-smoke rollback run 37894951905 restored the exact prior image, with healthy-before-stop ordering and export smoke. Final October 9 bounded canary rolling run validated eight CSV/HTML/DOCX outputs, old SIGTERM/exit 0 and sole healthy replacement; 51 successful health probes per app, no guard rejection. All exercise gates passed; cleanup was pending at that checkpoint. One earlier runner warning remains unexplained; no zero-downtime claim. October 10 operator confirmation and selected Docker/public-health readbacks accept temporary app, dedicated network/destination and empty-project cleanup. Full passing JSONL archived and verified privately. PR #30 merged October 11 as 672d160 retires exercise tools and records acceptance; production remains 6971496. No repeat drill required. October 20 clarification: migration/first routing may use downtime; final scope includes health-gated rolling, functional smoke, scoped rollback and necessary-data backups/recovery. Stable ID and historical progress/effort retained; no new live acceptance.

Trudność 4/50–0 godz. · 0–0 dni rob.
Wdrożenie35%

Podłączyć usługę do centralnego monitoringu

Validation logs now use bounded reason codes/counts, with three integration regressions checking submitted names do not appear. Duration/outcome hooks retained. Central integration, delivered alerts and client-IP retention review remain separate acceptance work. Final-operation backup-failure visibility remains applicable to protected datasets; no numeric uptime SLA.

Trudność 3/52–4 godz. · 0.25–0.5 dni rob.
Wdrożenie95%

Zautomatyzować promocję digestu sprawdzonego w CI

Final integrated main Quality -> attested digest -> protected Coolify production succeeded in run 37574806859. Private access/contract/serialization retained; live recovery tests and credential scope review are separate.

Trudność 3/51–2 godz. · 0.25–0.25 dni rob.
Wdrożenie65%

Zweryfikować runtime i rozwiązać wyjątki parsera

Selected operator post-release inspect, recorded October 8, confirms 6971496, non-root, 1 CPU/512 MiB, no extra swap allowance, capability removal, init, isolated network, bounded local logging and exact trusted proxies. PID/security options remain absent and rootfs writable; parser exception remains. This sample does not refresh mounts/tmpfs or process flags.

Trudność 3/52–4 godz. · 0.25–0.5 dni rob.
Dokumentacja70%

Zweryfikować favicon, metadane i dostępny podgląd

Combined browser CI covers PL/EN/ARIA recovery, mobile viewport, keyboard modal focus and exports; public frontend matches 6971496. Representative preview/licensing acceptance remains separate; no blanket WCAG claim.

Trudność 2/51–2 godz. · 0.25–0.25 dni rob.
Jakość0%

Uporządkować śledzone pliki, historię i neutralne nazwy branchy

Planned by owner on 2026-10-17; no repository hygiene audit or cleanup performed. Inventory tracked/ignored/generated/sensitive files; preserve legitimate assets and work; prepare scoped removal/ignore rules, prevention checks and agent-free branch names. Review historical removal separately, with exact paths/refs, isolated rehearsal, SHA/release impact and explicit rewrite approval. Do not rename active branches or rewrite now. Standard and acceptance: https://github.com/SzczepanGrela/grela-dev-roadmap/blob/main/docs/repository-hygiene-standard.md . Initial 2–4 h covers discovery/routine cleanup planning and implementation only when assigned; rewrite/large remediation requires re-estimation.

Trudność 3/52–4 godz. · 0.25–0.5 dni rob.
03

Zgodność ze standardem v2

Profil: Aplikacja webowa na VPS · audyt 2026-10-11

Zarządzanie repozytorium

Częściowe

Scalenia przez PR z wymaganym Quality; bez obchodzenia ochrony. Cel dopisany 17 października: porządki repo i neutralne nazwy branchy niezweryfikowane; wcześniejsze ustalenia zachowują własne daty.

  • Udokumentować migrację Coolify i znane ograniczenia
  • Uporządkować śledzone pliki, historię i neutralne nazwy branchy

Quality CI

Gotowe

Wspólne CI i ograniczone testy HTTP/cgroup końcowego obrazu przeszły; odbiór operacyjny jest osobny.

Niezmienne wydanie

Gotowe

Ten sam przetestowany i poświadczony digest wdrożony przez run 37574806859, rewizja 6971496.

Dostęp wdrożeniowy

Częściowe

Uwierzytelnienie produkcji przez prywatne Coolify/Tailscale przeszło; przegląd zakresu uprawnień pozostaje osobny.

  • Zautomatyzować promocję digestu sprawdzonego w CI

Sieć, TLS i tożsamość klienta

Częściowe

8 października przeszły równoległe testy klientów i próby podrobienia nagłówków. Źródła trafiają do różnych lokalizacji edge; rozdzielenie IP w tej samej lokalizacji pozostaje niepotwierdzone. Starsze dowody sieci/TLS zachowują datę.

  • Uruchomić DNS, TLS i trzy warstwy limitów

Ochrona przed nadużyciami

Częściowe

Lokalne HTTP pod limitami, publiczne testy klientów/retry/nagłówków i końcowy test rolling przeszły. Trzy sloty bez kolejki i krótki overlap niezależnych liczników przyjęte przy zmierzonych limitach. Izolacja edge w tej samej lokalizacji pozostaje otwarta; pomiary nie eliminują przyszłego ryzyka OOM.

  • Dokończyć UI i zabezpieczenia eksportu
  • Uruchomić DNS, TLS i trzy warstwy limitów

Bezpieczeństwo runtime

Częściowe

Wybrany inspect nowego kontenera potwierdza rewizję, limity, użytkownika non-root, cap-drop, init i rotację logów. Brakujące zabezpieczenia PID/security/read-only pozostają wyjątkiem parsera; nieodczytane pola zachowują starszą datę.

  • Zweryfikować runtime i rozwiązać wyjątki parsera

Readiness i preflight

Gotowe

Końcowy obraz przeszedł ograniczone HTTP/readiness, preflight i publiczny smoke; bez gwarancji opóźnienia przy dowolnym obciążeniu.

Zarządzane wydanie i odzyskiwanie

Gotowe

Zwykłe wdrożenie, odrzucenie niezdrowego kandydata, kontrolowany failed-smoke rollback do dokładnego obrazu i ograniczony test rolling przeszły. Jedno wcześniejsze ostrzeżenie runnera pozostaje niewyjaśnione; przyjęto przetestowane ścieżki dostawy i odzyskiwania, bez gwarancji zerowego downtime. 20 października: przerwa dozwolona na migrację/bootstrap; docelowe wymagania wdrożeń/odzyskiwania pozostają. Status nie oznacza nowego odbioru runtime.

Koordynacja i retencja

Gotowe

Zachowano serializację wdrożeń i retencję; ograniczony overlap przyjęty. Operator potwierdził usunięcie zasobów testowych; zapisano brak kontenerów/sieci i zdrowie po sprzątaniu. Dowody zarchiwizowane, PR #30 usuwa narzędzia ćwiczeń. Obraz produkcyjny zachowany.

Obserwowalność

Częściowe

Uznano ograniczone logi reason-code i regresje braku przesłanych nazw; integracja centralna, retencja i dostarczanie alertów pozostają otwarte.

  • Podłączyć usługę do centralnego monitoringu

Tożsamość webowa

Częściowe

CI PL/EN, mobile i klawiatury przechodzi na scalonym kodzie; publiczny app.js zgodny. Pozostają podgląd/licencje.

  • Zweryfikować favicon, metadane i dostępny podgląd
04

Decyzje

  1. Zachować bezstanową architekturę local-first.
  2. Stosować limity per format oraz limity body, rekordów i współbieżności.
  3. Projekt podlega profilowi standardu v2: vps-web.
  4. Używać digestów GHCR z Coolify/Traefik/Tunnel. Sukces ręcznego deployu nie oznacza automatycznego CD, zaufanego IP ani rollbacku.
  5. Czasowo pominąć no-new-privileges w Custom Docker Options z powodu odtworzonego błędu 4.3.14; sprawdzić efektywne ustawienia i wrócić do rozwiązania przez Compose lub aktualizację.
  6. Zachować liczniki procesu dla jednej zwykłej instancji i krótkiego rolling dwóch instancji przy limitach przetestowanych 9 października: trzy sloty bez czekania, 1 CPU/512 MiB na kontener. Warunek pomiarów spełniony; stałe repliki lub większe limity wymagają nowej oceny. Brak wspólnego licznika.
  7. Doprecyzowanie 20 października: przerwy są dozwolone podczas przygotowania, pierwszego wdrożenia i migracji. Docelowy Coolify nadal wymaga rolling update z bramką zdrowia i backupów potrzebnych danych/konfiguracji/kluczy z proporcjonalnym sprawdzeniem odtworzenia. Bez liczbowego SLA, stałych replik i HA wielu hostów. Dla projektów stateless/statycznych/bez serwera stosować właściwy zakres hostingu i danych. Zachować dane, harmonogramy kopii i zabezpieczenia wdrożeń. To plan, nie nowy odbiór ani estymacja; docs/operating-standard.md obejmuje też przyszłe repozytoria.