Plánováno
Čtecí API
API neservíruje rejstřík, ale projekci. Pro konzumenty je jen ke čtení — jediná zapisovací cesta je rozhodnutí ve frontě kontroly. A žádná odpověď nesmí přijít bez provenience.
- Položka fáze
- 1.11 čtecí API pro řízení, pohledávky a věřitele
- Závisí na
- 1.5 — projekci, kterou API servíruje
- Existuje dnes
- /health, /version, obálka chyb problem+json a statické trasy
- Jediný zápis
- adjudikace ve frontě kontroly
- Stav
- plánováno; čtecí endpointy se zapínají až ve stupni rolloutu expose
Provenience v odpovědi, ne v poznámce pod čarou
Částka pohledávky se vrátí spolu s identifikátorem dokumentu, stránkou a skóre spolehlivosti, ze kterých pochází. Odpověď, která proveniencí ušetří, není zjednodušení téhož produktu — je to jiný produkt.
Endpointy budou typované a verzované pod /v1, chyby v obálce problem+json se stabilním typem. Ta obálka v aplikaci už je; obsah, který se do ní vrací, zatím ne.
Otevírá se až na konci, ne na začátku
Rollout má stupně: příjem dat, projekce, teprve pak zveřejnění. Poller běží od stupně ingest výš, čtecí API servíruje až ve stupni expose, po ověření konzistence.
Důvod je prostý: chyba v projekci se má najít v době, kdy projekci ještě nikdo nečte.
Co API nebude dělat
Nebude cestou k republikaci dat. Přístup je autentizovaný a omezený podle konzumenta, bajty dokumentů a cokoli se jmény fyzických osob vyžadují ověřeného volajícího.
Nebude ani zapisovacím rozhraním do projekce. Zapisuje rejstřík; systém ho čte.
Kde to v repozitáři žije
docs/API.md— navržený kontrakt endpointů, chybová obálka a autentizacedocs/runbooks/feed-rollout.md— stupně rolloutu a podmínky pro zveřejněnísrc/progresus_isir/config.py— stupeň rolloutu jako konfigurační hodnota
Souvisí
FastAPI skeleton
DostupnéAplikace s /health, /version, obálkou chyb v problem+json a explicitní tabulkou rout pro statický web — včetně sitemapy, která si absolutní URL bere z requestu.
Detail
Číslo bez zdroje není údaj
Každá vytěžená hodnota je dohledatelná ke konkrétnímu dokumentu a stránce. Bez toho nelze odpovědět na žádost subjektu údajů, na spor o částku ani na otázku, proč se metrika změnila. Provenience proto podmiňuje samotný zápis.
Detail
Jeden zapisovatel, mnoho čtenářů
Feed vlastní vždy právě jeden poller, držený leasem v Redisu s TTL; lease po mrtvém držiteli vyprší a je převzatý. Všechno ostatní čte projekci, takže záruky uspořádání zůstávají triviální a škálování je otázkou jen na straně čtenářů.
Detail