Řešení problémů: data a validace
Šest nejčastějších pádů validace kanonických dat — co znamenají, jak je najít, jak opravit a jak jim předejít.
8 minVývojářMaintainerRešeršistaText tvrzení neodpovídá řádku přehledové tabulky
- Znamená: dvě ručně udržované reprezentace téhož tvrzení se rozešly.
- Příčina: změna udělaná jen na jednom ze dvou míst.
- Najdete:
npm run data:validate; hláška uvádí identifikátor. - Opravíte: srovnáte znění v
claims/clm-NN.json a v přehledové tabulce v dossier.json, pak npm run data:build. - Předejdete: měňte obojí jedním zásahem. Jsou to jediné dvě ruční reprezentace v celém modelu.
Stav neodpovídá struktuře zdrojů
- Znamená: „ověřeno více zdroji“ bez nezávislé dvojice, nebo „1 zdroj“ přesto, že dvojice existuje.
- Příčina: zdroje mají stejnou rodinu nebo stejnou doménu vydavatele.
- Najdete: hláška jmenuje tvrzení i zdroje, které se posuzovaly.
- Opravíte: buď doplníte skutečně nezávislý zdroj, nebo stav opravíte. Nikdy ne vymyšlením jiné rodiny.
- Předejdete: vyplňujte
sourceFamily podle původu materiálu při zakládání zdroje, ne zpětně.
Tvrzení bez zdroje / zdroj bez tvrzení
- Znamená: vazba je vedená jen z jedné strany.
- Příčina: přidání odkazu do
sources, ale ne do claims protistrany (nebo naopak). - Najdete: referenční integrita; hláška uvádí obě strany.
- Opravíte: doplníte chybějící stranu.
- Předejdete: obě strany se přidávají zároveň — vazba je obousměrná z definice.
Duplicitní nebo neshodné @id
- Znamená: dva záznamy mají totéž
@id, nebo @id neodpovídá cestě souboru. - Příčina: záznam vznikl kopií jiného a
@id se nezměnilo; nebo se soubor přesunul. - Najdete: referenční integrita.
- Opravíte: srovnáte
@id s cestou. @id je identita — změna znamená jiný záznam. - Předejdete: nezakládejte záznamy kopírováním, použijte generátor.
Neplatný JSON nebo neznámý klíč
- Znamená: soubor se neparsuje, nebo obsahuje pole, které schéma nezná.
- Příčina: překlep, chybějící čárka, nebo nové pole bez záznamu ve schématu.
- Najdete: kontrola tvaru; hláška uvádí soubor a klíč.
- Opravíte: u překlepu opravíte; u nového pole je potřeba schéma, sestavovač modelů i konzument — tři místa, jinak je změna nedodělaná.
- Předejdete: rychlá smyčka
npm run data:validate -- --file <cesta> během psaní.
Chybějící nebo neúplné pokrytí archivace
- Znamená: entita nebo dokument nemá povinný snímek úřední evidence.
- Příčina: nová entita s ověřeným identifikátorem bez snímku, nebo spisová značka bez záznamu.
- Najdete:
npm run archive:check (běží i v bráně, offline). - Opravíte: doplníte pokrytí ručním síťovým krokem, ne odhadem.
- Předejdete: identifikátor se nikdy nedoplňuje podle shody jména.