feat(report): wlasciciel dostaje raport, gdy zasiegi wzrosly - nie gdy zegar wybil - #220
Merged
Merged
Conversation
… 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.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
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.
Raport postępówCykl bez wzrostuRaport 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.