I1202 — Objekty čte jeden typovaný model poskytovatele a žádný kód nejmenuje poskytovatele
Přidat apps/majordomus-cli/src/identity s typovaným modelem objektu providera: objevování každého objektu pod .ai/repo/identity/providers/, validace proti schématu, rozlišení proměnných prostředí s přihlašovacími údaji při použití, nikoli při načtení, a deterministické řazení nabídky přihlášení. Zpřístupnit čtení jako schopnost, aby seznam providerů došel do CLI, API, OpenAPI, MCP i Cockpitu přes registr, nikoli přes pět čtenářů.
BLOKOVÁNO vlna 1 · p0 · profil implementation · běží samostatně
Součást web-sign-in — Nasazené povrchy vědí, kdo se ptá, a poskytovatelé identit jsou data.
Blokováno. Tento úkol nemůže začít, dokud není I1201 hotovo. Stav je z toho odvozen, ne deklarován.
Cíl
Přidat apps/majordomus-cli/src/identity s typovaným modelem objektu providera: objevování každého objektu pod .ai/repo/identity/providers/, validace proti schématu, rozlišení proměnných prostředí s přihlašovacími údaji při použití, nikoli při načtení, a deterministické řazení nabídky přihlášení. Zpřístupnit čtení jako schopnost, aby seznam providerů došel do CLI, API, OpenAPI, MCP i Cockpitu přes registr, nikoli přes pět čtenářů.
Proč
Objekty jsou kanonické, jen pokud je parsuje právě jedna věc. Druhá čtečka v Cockpitu nebo ve vrstvě HTTP by byla druhou definicí toho, co je poskytovatel, a rozešla by se s první, jakmile schéma získá pole.
Aktuální stav
I1201 má objekty; nic je nečte.
Cílový stav
identity::providers() vrací validovanou, uspořádanou množinu; provider, jehož přihlašovací údaje chybí, je ohlášen jako nedostupný s důvodem, ne potichu vynechán; a grep na řetězce google a facebook v apps/ nevrací nic mimo testy a fixtures.
Rozsah
- apps/majordomus-cli/src/identity
- apps/majordomus-cli/src/capability/builtin
- apps/majordomus-cli/src/lib.rs
- apps/majordomus-cli/tests
Mimo rozsah
- Tok HTTP, což je I1203
- Čtení hodnoty přihlašovacího údaje do jakéhokoli typu, který se serializuje, cachuje, loguje nebo vykresluje
Závislosti
Co na tom čeká
- I1203BLOKOVÁNO Jeden tok obslouží každého providera a odmítne všechno, co sám nespustil
- I1208BLOKOVÁNO Přidání providera je jeden soubor, odebrání je jedno smazání a obojí se provádí, ne popisuje
Kritéria přijetí
- Sada poskytovatelů se zjišťuje z adresáře, ověřuje a deterministicky řadí
- Poskytovatel bez přihlašovacích údajů je nedostupný s uvedeným důvodem a důvod se dostane na povrchy
- Ve zdroji spustitelného souboru se mimo testovací fixtures neobjevuje žádný identifikátor poskytovatele
- Čtení je deklarováno jednou jako schopnost a objevuje se v CLI, HTTP, OpenAPI, MCP a dokumentaci bez druhé registrace
Validace
- cargo test --workspace --all-features
- cargo clippy --workspace --all-targets --all-features -- -D warnings
- majordomus generate --check
Požadované důkazy
- typed_model
- capability_projected
- no_provider_names_in_code
Důkazy
Nic nezaznamenáno. Za každým tokenem výše musí stát příkaz nebo artefakt, než lze tento úkol dokončit; vyprávění se odmítá.
Riziko
Rozpoznání přihlašovacích údajů při načtení činí model nepoužitelným v každém kontextu, který ho serializuje. Rozpoznávají se v okamžiku toku a nikdy se neuchovávají.
Časová osa
- zahájeno
- —
- ověřeno
- —
- dokončeno
- —
Tato tři pole, důkazy výše a stav závislostí jsou vše, z čeho se stav skládá. Neexistuje žádné pole stavu, které by s nimi mohlo být v rozporu.
Kanonický záznam: .ai/repo/project/issues/I1202.yaml. Načtěte ho zpět pomocí majordomus plan show I1202.