feat(ci): sprawdzaj czy strony producentow istnieja, i mow gdy nie da sie stwierdzic - #273
Merged
Merged
Conversation
… cannot tell Every row in data/devices.json is worth citing because a vendor page stands behind it. When one of those pages moves, the row goes on asserting something with nothing holding it up, and nobody finds out until a reader clicks. Twenty rows, seventeen external links, and nothing was testing them - the monthly review listed them for a human to click. Whether a page still exists is a fact, so it gets checked. Whether an advisory changed in a way that matters is a judgement, so it stays with a person. The existing note in this workflow already drew that line and this stays on the same side of it. The implementation has three outcomes rather than two, and the third is the one that makes it usable. 404 and 410 are the vendor saying the page is gone: definite, flagged loudly, and the row has lost its evidence. Everything else - a timeout, a 403, a refused connection - means we could not reach the page from a data centre, which is a different statement entirely. That distinction is not theoretical. support.hp.com answered 200 by hand this morning and refused a connection an hour later from the same machine; several of these vendors rate-limit or block non-residential addresses. A first draft of this check flagged all sixteen links as broken, which was the network and not the vendors. Shipping that version would have produced a monthly checklist full of alarms that are not real, and a checklist that cries wolf stops being read - which costs more than the check was ever worth. The unverified case is therefore worded as a note that the check could not be taken, which is the same rule this project applies to every other measurement it cannot make.
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.
Każdy wiersz w
data/devices.jsonjest wart cytowania dlatego, że stoi za nim strona producenta. Gdy taka strona się przenosi, wiersz dalej coś twierdzi, nie mając za sobą niczego — i nikt się nie dowiaduje, dopóki czytelnik nie kliknie.Dwadzieścia wierszy, siedemnaście zewnętrznych linków, zero sprawdzania. Miesięczny przegląd wypisywał je człowiekowi do klikania.
Fakt zautomatyzowany, ocena zostawiona
Czy strona istnieje — fakt, więc jest sprawdzana. Czy oświadczenie zmieniło się w sposób istotny — ocena, więc zostaje przy człowieku. Ten workflow już rysował tę granicę i zostaję po tej samej stronie.
Trzy wyniki, nie dwa — i trzeci jest tym, który czyni to użytecznym
okgone (404/410)unverifiedTo rozróżnienie nie jest teoretyczne.
support.hp.comodpowiedziało 200 z ręki dziś rano i odmówiło połączenia godzinę później z tej samej maszyny. Kilku z tych producentów ogranicza ruch albo blokuje adresy nieresydencjalne.Pierwsza wersja tego sprawdzenia oznaczyła wszystkie szesnaście linków jako zepsute — a to była sieć, nie producenci.
Wysłanie tamtej wersji dałoby miesięczną listę pełną nieprawdziwych alarmów. Lista, która krzyczy „wilk", przestaje być czytana — a to kosztuje więcej, niż całe sprawdzenie było kiedykolwiek warte.