Plánováno
Klient WS ISIR a limity
První položka fáze 1. Klient je jediné místo, kde se tenhle systém dotýká cizí infrastruktury, a proto v něm nesedí jen parsování — sedí v něm i to, co se smí zdroji poslat a co se stane, když zdroj neodpoví.
- Položky fáze
- 1.1 klient a typované parsování akcí, 1.2 limiter a jistič
- Závisí na
- 0.11 — ověřený kontrakt zdroje, hotový 3. 9. 2026 bez driftu
- Publikované stropy
- 50 požadavků za minutu, 3000 za den
- Konfigurace
- isir_minute_limit a isir_daily_limit; vyšší hodnota než publikovaná odmítne nastartovat
- Stav
- plánováno — v
src/zatím žádný klient není
Co bude klient dělat
Feed publikuje akce: neměnné, číselně uspořádané záznamy o všem, co se v rejstříku stalo. Klient bude umět jediný dotaz, který na tom stojí — dej mi všechno po id N — a jeho odpověď převede do typovaných objektů, ne do slovníků, které si každý čtenář vyloží po svém.
Parsování je fail-closed: co se nepodaří naparsovat, není prázdný výsledek, ale chyba. Malformovaná dávka nesmí projít dál jako „nic nového“, protože přesně tak vypadá tichá ztráta dat.
Limit je právní hranice, ne ladicí parametr
Provozní podmínky zdroje jsou 50 požadavků za minutu a 3000 za den. Limiter bude kontrolovat rozpočet před odesláním požadavku — reagovat až na odmítnutí ze strany serveru znamená, že k překročení už došlo.
Konfigurace to hlídá i mimo běh: nastavení volnější než publikované stropy shodí start aplikace. Konfigurovat se dá jen směrem dolů. Změna čehokoli ve fetch chování má vlastní politiku review, protože jde o vztah k provozovateli rejstříku, ne o výkon.
Selhání se nesmí tvářit jako výsledek
Jistič izoluje nedostupný zdroj: po sérii selhání se rozepne, po prodlevě přejde do poloviční propustnosti a jeden úspěch ho zavře. Výchozí hodnoty (pět selhání, 30 sekund) jsou v konfiguraci aplikace.
Odmítnutí rozepnutým jističem je přenosová chyba, nikdy obchodní odpověď. Nesmí se nikdy zapsat jako „takové řízení neexistuje“ — to je rozdíl mezi dočasným výpadkem a nepravdivým údajem v databázi.
Kde to v repozitáři žije
docs/INGESTION.md— poll smyčka, invarianty ING-1 až ING-7, limity a jističdocs/ISIR-SOURCE-SEMANTICS.md— co feed publikuje a jaké jsou provozní podmínky zdrojesrc/progresus_isir/config.py— limity, jistič a validace, která volnější nastavení odmítne.aiad/policies/source-terms-review.policy.md— review pro každou změnu chování při stahování
Souvisí
Ověření kontraktu zdroje
DostupnéŽivé WSDL, XSD, publikované verze dokumentace a provozní podmínky ověřené proti tomu, co je zapsané — jedním příkazem, se staženými artefakty jako důkazem. První běh: bez driftu. Na driftu se zastaví a nepřizpůsobí parser potichu.
Detail
Replika a checkpoint
PlánovánoAppend-only log akcí, idempotentní zápis podle ID akce a checkpoint posouvaný ve stejné transakci jako zápis. Pád bude znamenat znovunačtení dávky, nikdy její přeskočení.
Detail
Chování při selhání
Selhání zdroje, pád uprostřed dávky ani nejistá extrakce nesmí skončit zápisem nesprávného stavu. Každý z těchto případů má předem určené chování a žádné z nich se nepřevádí na negativní výsledek.
Detail