Sitelet https://github.com/msgwing/ZeroSMTP/pull/220
Skip to content

feat(report): wlasciciel dostaje raport, gdy zasiegi wzrosly - nie gdy zegar wybil - #220

Merged
msgwing merged 1 commit into
mainfrom
report-only-on-growth
Aug 22, 2026
Merged

msgwing merged 1 commit into
mainfrom
report-only-on-growth

Conversation

@msgwing

@msgwing msgwing commented Aug 22, 2026

Copy link
Copy Markdown
Owner

Zasada właściciela z dzisiaj: firma działa sama, wynik dostaje wtedy, gdy jest popularność, a jak jej nie ma — firma ma się ulepszać, nie pisać.

Do tej pory raport wychodził co trzy dni z przypisaniem niezależnie od tego, co się wydarzyło. A przypisanie jest całym mechanizmem powiadomienia — GitHub wysyła maila do przypisanego i do nikogo więcej. Czyli cykl płaski i dobry docierały identycznie. To uczy czytelnika, żeby przestał otwierać — i wtedy ten jeden, który miał znaczenie, ginie razem z resztą.

Teraz: gwiazdki, forki, obserwujący i tygodniowe pobrania npm porównywane z poprzednim raportem.

Wynik Tytuł Przypisanie Mail
cokolwiek wzrosło Raport postępów właściciel tak
nic nie drgnęło Cykl bez wzrostu brak nie

Raport powstaje i jest publiczny w obu przypadkach. To zmienia, kto zostaje oderwany od pracy, a nie co zostaje zapisane. Firma, która notuje tylko dobre wiadomości, przestaje odróżniać zastój od spadku.

W teście są wyłącznie liczby, które token workflow naprawdę potrafi odczytać. Endpointy ruchu wymagają tokena osobistego — zostają poza testem, zamiast być po cichu policzone jako zero. npm zwracający 404 dla okna bez danych jest traktowany jako nieznane z tego samego powodu: paczka wyszła dzisiaj, a brak danych to nie brak pobrań.

Poprzedni pomiar jedzie w komentarzu HTML wewnątrz poprzedniego raportu, nie w pliku na gałęzi. Dzięki temu workflow zostaje przy contents: read, a liczby nie mogą się rozjechać z raportem, który je opublikował.

Pierwszy przebieg nie ma z czym porównać — jest punktem odniesienia i nie powiadamia. Ogłaszanie wzrostu z jednego pomiaru to ten sam błąd, co zaraportowanie sitemapy z jednym URL-em, bo plik był jednoliniowy.

… clock struck

The owner's rule, given today: the company runs itself, they get results when
there is popularity to report, and when there is not, the company improves
itself instead of writing to them.

Until now the report went out every three days with an assignee regardless of
what had happened, and an assignee is the entire notification mechanism -
GitHub mails the assignee and nobody else. So a flat cycle and a good one
arrived identically. That trains a reader to stop opening it, and then the one
that mattered gets missed along with the rest.

Now: stars, forks, watchers and weekly npm downloads are compared against the
previous report. Strictly more on any of them means the report is titled as
progress, is assigned, and mails. Nothing moved means it is titled "Cykl bez
wzrostu", carries no assignee, sends no mail, and opens with what did not move
- which is the work list for the next cycle rather than an apology.

The report is still written and still public either way. This changes who is
interrupted, not what is recorded. A company that only writes things down when
the news is good ends up unable to tell a plateau from a decline.

Only numbers a workflow token can actually read are in the test. The traffic
endpoints need a personal token, and this report has always said so; they stay
out rather than being silently counted as zero. npm returning 404 for a window
it has no data for is treated as unknown for the same reason - the package was
published today and absence of data is not absence of downloads.

The previous snapshot travels in an HTML comment inside the previous report
rather than in a file on the status branch. That keeps this workflow at
contents: read, and means the numbers cannot drift from the report that
published them.

The first run has nothing to compare against. It is a baseline and does not
notify - claiming growth from a single measurement is the same error as
reporting a sitemap of one URL because the file was one line.
@msgwing
msgwing enabled auto-merge August 22, 2026 17:48
@github-actions github-actions Bot added the ci label Aug 22, 2026
@msgwing
msgwing merged commit 6469333 into main Aug 22, 2026
36 checks passed
@msgwing
msgwing deleted the report-only-on-growth branch August 22, 2026 17:49
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant