I1301 — Workspace je deklarovaný objekt vrstvy; místní je jen jeho obsah
Zaregistrovat `workspace` jako druh — povolené klíče, schéma, adresářová smlouva — a deklarovat první workspace pod .ai/repo/workspaces/, aby katalog toho, co lze synchronizovat, byl vlastním sledovaným prohlášením repozitáře, zatímco synchronizovaný obsah zůstává mimo sledovaný strom.
HOTOVO vlna 0 · p0 · profil deep-work · bezpečné paralelně
Cíl
Zaregistrovat `workspace` jako druh — povolené klíče, schéma, adresářová smlouva — a deklarovat první workspace pod .ai/repo/workspaces/, aby katalog toho, co lze synchronizovat, byl vlastním sledovaným prohlášením repozitáře, zatímco synchronizovaný obsah zůstává mimo sledovaný strom.
Proč
ADR 0025 stanovilo, že .ai/local nedosáhne žádného povrchu: index v Rustu zná jedno zjišťování, sledované soubory přes git index, a lokální polovinu vylučuje na třech místech. Synchronizovaný korpus proto nemůže jet kind pipeline — ale deklarace toho, který workspace existuje, kdo jej drží, co operátor povolil a jak se k němu dostat, nenese nic ze soukromého obsahu a všechna užitečná metadata. Deklarován jako druh je zadarmo indexován, čitelný, vypsatelný a promítatelný, přesně jak to tests/external_extension.rs dokazuje pro jakýkoli jiný druh.
Aktuální stav
Neexistuje druh workspace, adresář .ai/repo/workspaces, soubor allow ani schéma.
Cílový stav
Objekt workspace uvádí dodavatele, identitu workspace, lidské jméno, co operátor povolil, odkaz na profil prohlížeče pouze jménem a schopnosti, které se od adaptéru očekává vyjednat. Je indexován, uzavřen souborem allow a nese kontextové README podle ADR 0011.
Rozsah
- .ai/repo/workspaces
- share/kinds.yaml
- share/allow/workspace.txt
- share/schemas
Mimo rozsah
- Jakýkoli synchronizovaný obsah; úložiště je I1303
- Jakákoli hodnota přístupového údaje, cookie nebo tokenu; deklarace jmenuje profil, nedrží jej
- Jakýkoli Rust, který tento druh zpracovává zvláštním případem
Závislosti
Žádné. Tento úkol je kořenem grafu.
Co na tom čeká
- I1302PŘIPRAVENO Identita, původ a úroveň podpory jsou typovaná pole, nikoli próza
- I3281BLOCKED A workspace message is a typed provenance reference that validates in every checkout without the store
Kritéria přijetí
- Objekt uvádí vendora, identitu upstream workspace, zobrazované jméno, autorizaci, kterou operátor prohlašuje, odkaz na profil prohlížeče jménem a očekávanou sadu schopností
- Klíče jsou uzavřeny souborem share/allow/workspace.txt a neznámý klíč je odmítnut
- Adresář nese kontextové README, které uvádí, co je autoritativní a co generované, podle ADR 0011
- Objekt se vypisuje a čte přes stávající povrch objektů, bez kódu, který by pro něj dělal výjimku
- V objektu ani jeho schématu se nevyskytuje žádná tajná hodnota ani název přihlašovacího údaje
Validace
- bash test/run.sh
- bin/majordomus doctor
- majordomus generate --check
Požadované důkazy
- kind_registered
- keys_closed
- directory_contract
- object_indexed
Důkazy
| pokrývá | typ | command | výsledek | u commitu |
|---|---|---|---|---|
| kind_registered | test | grep -A8 '^ workspace:' share/kinds.yaml | druh workspace je deklarován se schématem majordomus.workspace/v1 a identitou [id] | 3d9c929 |
| keys_closed | build | majordomus generate | share/allow/workspace.txt generováno ze schématu; 23 vzorů klíčů, additionalProperties false | 3d9c929 |
| directory_contract | artifact | cat .ai/repo/workspaces/README.md | dokument context/v1, sleduje schéma a share/kinds.yaml, uvádí, co je autoritativní a co zde nikdy není | 3d9c929 |
| object_indexed | test | bash test/run.sh 93_workspace_kind | 1 passed; majordomus://workspace/chatgpt-majordomus je indexován a servírován na nasazené stránce /registry/ bez jediného řádku Rustu napsaného pro něj | 3d9c929 |
Riziko
Schéma napsané pro ChatGPT se stane souborem ChatGPT s obecným názvem. Musí uvádět jen to, co by druhý dodavatel věrohodně zopakoval, a vše ostatní zatlačit do pojmenovaného bloku dodavatele.
Časová osa
- zahájeno
- 2026-09-09T18:25:15Z
- ověřeno
- 2026-09-09T18:26:21Z
- dokončeno
- 2026-09-09T18:26:36Z
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/I1301.yaml. Přečtěte ho zpět pomocí majordomus plan show I1301.