Vrstva
jeden přenosný adresář .ai/, čitelný bez nástroje: .ai/repo/ je sledovaný a kanonický, .ai/local/ je vlastní tohoto checkoutu a ignorovaný; doctor dokazuje, že se manifest vyřeší, každá sekce, kterou jmenuje, existuje a nic pod local/ není sledováno
jeden přenosný adresář .ai/, čitelný bez nástroje: .ai/repo/ je sledovaný a kanonický, .ai/local/ je vlastní tomuto checkoutu a ignorovaný; doctor dokládá, že se manifest vyřeší, každá sekce, kterou jmenuje, existuje a nic pod local/ není sledováno
Kde to žije
Stav, který vlastní
Příkaz, který na to působí
majordomus init
Vytvoří vrstvu .ai/ v tomto repozitáři a odmítne přepsat existující.
- generated-output-mutating
majordomus init [--extend] [--personal | --shared]
Podívat se, jak odmítá a jak přijímá
init je jediný příkaz, který běží dřív, než vrstva .ai/ existuje. Zaseje manifest, politiku, profily, vendorovanou základní sadu pravidel a prázdné sekce z kostry a nikdy se nedotkne .ai/local/.
Pro tento repozitář platí
# An empty git repository: no AI layer at all. git commit -q --allow-empty -m base 2>/dev/null || true
Spustit
$ majordomus init
Výstup obsahuje
- ^created$
- .ai/repo/policy.yaml
- next: majordomus update
ukončení
0
Kostra se zkopíruje, přidá se řádek ignorování pro .ai/local/ a vypíšou se dva řádky hooků, které politika potřebuje, spolu s příkazem, který ověří, že byly přidány. init hooky sám neinstaluje.
Pro tento repozitář platí
# A repository with Majordomus installed and projections generated, and one commit of work. "$MJ" init >/dev/null "$MJ" update >/dev/null mkdir -p lib docs echo a > lib/a echo d > docs/d git add . && git commit -qm base
Spustit
$ majordomus init
Výstup obsahuje
- již existuje
ukončení
15
Kód 15 je ODMÍTNUTO, ne chyba. Přepsat politiku, kterou někdo upravil, je přesně ten druh tichých ztrát, jemuž má tento nástroj zabránit, takže se zastaví a jmenuje příznak, který přidává bez přepisování.
Pro tento repozitář platí
# A repository with Majordomus installed and projections generated, and one commit of work. "$MJ" init >/dev/null "$MJ" update >/dev/null mkdir -p lib docs echo a > lib/a echo d > docs/d git add . && git commit -qm base
Spustit
$ majordomus init --extend
Výstup obsahuje
- není co přidat
ukončení
0
--extend doplní jen soubory, které vrstvě chybí, a nic nepřepisuje. Na úplné vrstvě to řekne; soubory pod .ai/repo/ patří repozitáři od okamžiku, kdy vznikly.
Co to vynucuje
- majordomus.knowledge-integrity blokující vynucuje check, doctor Každý záznam znalosti je jedno doložené, správně utvořené tvrzení. Je platný vůči svému schématu bez neznámého klíče, jeho identita je jedinečná a rovná se názvu souboru, ověřený záznam nese provenienci, každý odkaz, který jmenuje, se vyřeší, nahrazený záznam říká, co ho nahradilo nebo proč byl zamítnut, kandidát nikdy netvrdí, že je ověřený, a žádný záznam nenese konverzaci.
- majordomus.ai-layout-integrity blokující vynucuje doctor, watch Vrstva AI repozitáře je skutečná: manifest deklaruje formát, který tento spustitelný soubor čte, a každá sekce, kterou jmenuje, existuje, lokální polovina checkoutu je ignorována gitem a nic pod ní není sledováno a pod cestou .majordomus/ z doby před .ai nezůstala žádná data projektu.
- majordomus.context-integrity blokující vynucuje doctor, watch Každý adresář vrstvy AI nese kontextový dokument, každý nese smlouvu, skládají se do jednoho deterministického řetězce pro každou cestu a strom, který neprojde validací, nerozlišuje nic.
- majordomus.adr-integrity blokující vynucuje doctor, watch Každé architektonické rozhodnutí, které repozitář drží, se zpracuje proti kontraktu rozhodnutí, nárokuje identitu, kterou nenárokuje nic jiného, a každý vztah a odkaz, který uvádí, se dá dohledat.
- majordomus.session-records blokující vynucuje doctor, watch Uzavřená epizoda provádění se zapíše jednou, do sekce relací vrstvy, proti schématu, které připouští to, co repozitář dokáže doložit, a nic víc.
- majordomus.skill-integrity blokující vynucuje doctor, watch Každá dovednost, kterou repozitář deklaruje, se zpracuje podle smlouvy dovednosti, jmenuje adresář, ve kterém žije, nese své sekce, popisuje se pojmy, které nepoužívá žádná jiná dovednost, a každá dovednost nebo příklad, na který odkazuje, existuje.
Co je zaručeno
- zaručeno Kontext platný pro cestu se skládá z vymezených dokumentů vrstvy, od kořene k cíli, v jednom deterministickém pořadí s původem, a strom, který neprojde validací, nevyřeší nicdokázáno test/cases/69_context_documents.sh
- zaručeno Každý adresář vrstvy nese kontextový dokument, výjimku deklaruje kontrakt, který řídí podstrom, a potomek smí tento požadavek zúžit, ale nikdy oslabitdokázáno test/cases/69_context_documents.sh
- zaručeno Dopad sady změn na kontext v daném rozsahu se hlásí z gitu: dokumenty, rozsahy pod nimi, přesuny s jejich původem, sledované zdroje k revizi a zastaralé projekce; nesouvisející změna nehlásí nicdokázáno test/cases/70_context_impact.sh
- záruka Vrstva AI repozitáře je jeden adresář, jehož manifest jmenuje každou sekci, čitelný bez nástrojedokázáno test/cases/01_init.sh
- zaručeno Vrstva nainstalovaná s --personal je vlastní jedné osobě ve sdíleném repozitáři: nemění žádný sledovaný soubor, žádný řádek v .gitignore a nic, co ukazuje git status, a příkaz, který toto tvrzení činí, to ověřujeprokázáno test/cases/2979_a_personal_layer_changes_nothing_shared.sh
- zaručeno Repozitář s rozložením před .ai se migruje jednou, výslovně, s náhledem plánu a ověřenou zálohou svého lokálního stavu, a příkaz je poté idempotentnídokázáno test/cases/66_migrate_legacy.sh
- zaručeno Dovednost je jeden adresář pod sekcí dovedností vrstvy obsahující SKILL.md, objevený třídou zdroje `skill`, kterou čtou shell nástroj i spustitelný soubor v Rustu, takže přidání souboru je celá registrace a katalog, příkaz, doctor, MCP i web se z něj odvozujídokázáno test/cases/95_skills.sh
- zaručeno Provozní okamžik je jeden soubor pod vrstvou, objevený a ne registrovaný, a odpovídá na něj příkazová řádka, HTTP API, dokument OpenAPI, MCP, odvozený graf i web, aniž by se cokoli dalšího měnilodokázáno apps/majordomus-cli/tests/why.rs
- zaručeno Každý odkaz, který okamžik činí, se rozliší proti věci, kterou jmenuje, a ten, který se nerozliší, je chyba nesoucí nejbližšího kandidátadokázáno apps/majordomus-cli/tests/why.rs
- zaručeno Diagnóza vlastních příznaků čtenáře je deterministické počítání nad metadaty katalogu a každé doporučení jmenuje momenty, které ho vyvolalydokázáno apps/majordomus-cli/tests/why.rs
- zaručeno Uzavřená epizoda provádění je sdílený objekt vrstvy, zapsaný nástrojem z gitu a ledgeru, platný proti kontraktu, který nepřipouští konverzaci ani absolutní cestu, a objevovaný, nikoli registrovanýdokázáno test/cases/63_session_records.sh
- zaručeno Architektonické rozhodnutí je jeden soubor pod sekcí adrs vrstvy, validovaný proti smlouvě rozhodnutí, s identitou, kterou si nic jiného nenárokuje, vzájemným nahrazením a každým odkazem, který činí, řešitelnýmdokázáno test/cases/99_adr.sh
- zaručeno Rozhodnutí uvádí, co uvedlo v platnost, jako typované reference, každou validovanou, a opačný směr — čím bylo rozhodnuto pravidlo, dokument, implementace nebo případ — se čte z grafu znalostí, a nezapisuje se podruhédokázáno test/cases/99_adr.sh
- zaručeno majordomus adr propose zapíše rozhodnutí se stavem proposed a odmítne zapsat jakýkoli jiný stav, přidělí jeho identitu pod zámkem, takže souběžní pracovníci nikdy nekolidují, a zaznamená, z čeho bylo rozhodnutí odvozenodokázáno test/cases/99_adr.sh
- zaručeno Funkce produktu je jeden soubor pod vrstvou, objevovaný, ne registrovaný, a odpovídá na ni příkazová řádka, HTTP API, dokument OpenAPI, MCP, odvozený graf, matice schopností a domovská stránka i stránky funkcí webu, aniž by se cokoli jiného měnilodoloženo test/cases/97_product_features.sh
- zaručeno Produkt je zařazen do několika domén deklarovaných jednou jako soubory vrstvy; funkce jmenuje právě jednu a členové, rozhraní, záruky a případy užití každé domény se odvozují z funkcí, které ji jmenují, takže stabilní funkci nelze z mapy produktu vynechat, aniž by to model odmítldokázáno test/cases/800_product_domains.sh
- zaručeno Druhé odvození nad týmiž důkazy nic nezapíše, řekne to a nechá pracovní strom beze změny; id záznamu se odvozuje z epizody a digestu důkazů, takže tentýž fakt vždy přistane ve stejném souborudokázáno test/cases/564_knowledge_derivation_is_idempotent.sh
- zaručeno verified zapisuje jen promote s důkazy na stdin nebo člověk editací souboru, nikdy deriver; povýšení přesune záznam do curated/ a zamítnutí ho nahradí s důvodem, a obojí zanechá řádek v knizedokázáno test/cases/709_knowledge_promotion_is_an_act.sh
- zaručeno knowledge observe zapíše jeden řádek knihy observation.recorded s jeho druhem, subjektem, tvrzením a typovanými odkazy na důkazy, uvnitř otevřené epizody, uvnitř úlohy nebo mimo ni, a odmítne každý jiný tvar, nebo absenci epizody, bez zápisuprokázáno test/cases/980_a_session_records_what_it_observed.sh
- zaručeno Každé pozorování, které epizoda zaznamenala, se na konci epizody a bez modelu stává vlastním kandidátem, který říká, čeho se týká, a knowledge candidates seskupuje záznamy o jednom subjektu s epizodami za nimi; epizoda, která nic nepozorovala, zaznamená, že nic nenašladokázáno test/cases/981_an_observation_becomes_a_grouped_candidate.sh
- zaručeno Každý kandidát odvozený z pozorování nese trasu — platforma, vynucování, generátor, dokumentace nebo projekt — odvozenou ze struktury svého předmětu a nikdy z jeho formulace, a v repozitáři, který nástroj adoptoval, se promítají jeho vlastní trasy share/dokázáno test/cases/982_a_candidate_is_routed_by_what_it_is_about.sh
Okamžiky, na které to odpovídá
- našel pravidlo pro adresář v README, které žádná relace nikdy nenačetla Lokální pravidlo je buď v vždy načítaném souboru, kde za něj platí každá relace, nebo vedle kódu, kde ho nic nesvazuje s upravovanou cestou.
- hledal, proč jsme to zvolili, a našel chatový log Rozhodnutí učiněné v relaci je uloženo tam, kde ho přečte jen ta relace, takže ho nelze ani zrevidovat, ani objevit.
- našel kód, který odporoval rozhodnutí, jež si repozitář zapsal Rozhodnutí bylo zaznamenáno a implementace šla opačným směrem, protože nic nepropojuje rozhodnutí s cestami, kterým vládne.
- nedokázal říct, proč byl pro tuto práci použit jeden poskytovatel a pro jinou druhý Výběr poskytovatele a modelu se dělá implicitně, pro každou relaci zvlášť, a nikde se nezaznamenává, takže ho nelze zrevidovat ani zopakovat.
- se podíval na účet a nedokázal říct, co z něj cokoli vyprodukovalo Spotřeba se měří po účtech a výsledky se zaznamenávají po lidech, takže je nelze nikdy spojit.
- našel totéž vysvětlené třikrát, pokaždé trochu jinak Každá ručně udržovaná kopie faktu se rozchází podle vlastního rozvrhu a čtenář nepozná, která kopie je aktuální.
- strávil první hodinu v neznámém repozitáři zjišťováním, co je tu normální Co je v codebase konvenční, je znalost pravidelných přispěvatelů, takže za ni platí znovu každý nově příchozí, člověk i stroj.
- recenzoval dobře napsaný příspěvek, který porušil konvenci, již neměl jak zjistit Asistenti umožňují komukoli vyrábět věrohodné příspěvky ve velkém; konvence, které z nich dělají správné, jsou stále jen v hlavách správců.
- nedokázal reprodukovat výsledek, protože nic nezaznamenalo stav, ze kterého vzešel Výsledek je zaznamenaný, podmínky, které ho vytvořily, nikoli, takže je to anekdota, a ne měření.
- se zeptal, kdo změnu provedl a podle jaké politiky, a měl jen commit Atribuce končí u commitu, takže to, co změnu schválilo, co ji ověřilo a co ji řídilo, nelze obnovit.