Přeskočit na obsah

Tato stránka byla automaticky přeložena z angličtiny, jediného jazyka, ve kterém se tento web píše. Číst originál.

Složitost je volitelná, ne všudypřítomná

Složitost je volitelná, ne všudypřítomná

majordomus://rule/project.optional-complexity@1aktivní designpoužitelnostrozšiřitelnost

odkazuje na

odkazuje na něj

Zdůvodnění

Majordomus je ve výchozím stavu názorový, záměrně programovatelný a na okrajích hackovatelný. Jednoduché věci mají být triviální. Složité věci mají být možné. Podivné věci mají být hackovatelné. To pořadí je důležité: nástroj si právo být hluboký vysloužil tím, že byl nejdřív mělký, a každá dozorová vrstva ve zdrojovém materiálu, která pořadí obrátila, byla opuštěna během dnů, protože ji nikdo nemohl použít, aniž by ji nejdřív pochopil.

Mechanismus je uzavřené jádro a otevřené okraje. Jádro je malá sada pojmů, které docs/CONCEPTS.md pojmenovává — politika, profil, pravidlo, projekce, stav, doktrína, validátor, adaptér — a zůstává malé, explicitní a stabilní. Rozšíření přidává instance, mapování, validátory, šablony, metadata a integrace kolem těchto pojmů; pojmy nepřidává. Mechanismy zůstávají stabilní; význam a konfigurace mohou být řízeny daty. Řízení daty neznamená nekonečnou meta-úroveň: mechanismus, který existuje k definování mechanismů, schéma pro schémata, DSL proto, že by se něco dalo zobecnit, je selhání, které toto pravidlo odmítá.

Majordomus není obecný framework pro libovolné agenty, workflow, zdroje nebo orchestraci. Jeho rozšiřitelnost žije uvnitř jeho domény a změna, která z něj dělá framework pro definování frameworků, je mimo rozsah, ať je jakkoli elegantní.

Požadované chování

Tři vrstvy použití, každá úplná bez té další:

  • Běžný uživatel spouští init, update, doctor, start, check a finish a nikdy se po něm nechce, aby rozuměl schématu, front matter, šabloně projekce, validátoru ani stavovým souborům. Běžné chybové zprávy říkají, co udělat, ne vnitřní strukturu.
  • Pokročilý uživatel přizpůsobuje repozitář deklarativně: politiku, profily, projektová pravidla, prompty, workflow a zdroje znalostí, v souborech pod .ai/repo/ a nikde v implementaci.
  • Pokročilý uživatel zkoumá a rozšiřuje mechanismy: validátory, šablony providerů, projekce, seznamy povolených, balíček pravidel, generátor webu. Pokročilá schopnost nesmí ztížit obě výše uvedené cesty.

Před mergem architektonické změny na tyto otázky odpovídá její autor i recenzent a „ano“ na otázku, na kterou by poctivá odpověď měla být „ne“, je důvodem k odmítnutí:

  1. Zkomplikuje to výchozí cestu?
  2. Je složitost, kterou přidává, povinná, nebo volitelná?
  3. Je nová abstrakce skutečně nutná?
  4. Lze to vyjádřit složením konceptů, které už existují?
  5. Řeší konkrétní případ užití Majordomus, pojmenovaný ve změně?
  6. Je rozšiřující bod ospravedlněn skutečnou potřebou, ne spekulativní?
  7. Prosakuje vnitřní složitost do běžného výstupu CLI nebo chybových zpráv?
  8. Je zachována neutralita vůči providerům?
  9. Je to konzistentní s plánem rozvoje, jak nyní stojí?
  10. Mění Majordomus na obecný framework místo posilování jeho domény?

Anti-vzory, každý odmítnut na první pohled:

  • rutinní úloha, která k dokončení potřebuje vnitřnosti schématu nebo sémantiku front matter;
  • surová metadata nebo chyby schématu v běžném výstupu příkazu;
  • obecná infrastruktura bez požadavku Majordomus, který by za ní stál;
  • bod rozšíření vytvořený dřív, než ho vyžaduje jediný skutečný požadavek;
  • základní podstatné jméno zavedené mimochodem (viz project.no-new-nouns);
  • přizpůsobení, které závisí na úpravě implementačních souborů;
  • doktrína zduplikovaná do souborů poskytovatelů místo toho, aby se četla z vrstvy;
  • hackovatelnost zaměňovaná za nedostatek výchozích hodnot;
  • datově řízený návrh zaměňovaný s neomezeným růstem metamodelu;
  • abstrakce ponechaná proto, že je elegantní;
  • pokročilá funkce, která komplikuje standardní workflow.

Chování při selhání

Toto pravidlo nerozhoduje žádný příkaz; rozhoduje recenzent a změna, která je porušuje, se nemerguje. Kde jeho část pokrývá případ — bootstrapy nenesoucí žádný korpus pravidel, projekce generované z politiky, odmítnuté neznámé konfigurační klíče — pojmenuje tento případ pravidlo, které jej vlastní.

Ověření

Revize proti výše uvedeným otázkám. Související strojově vynucená pravidla jsou majordomus.bootstrap-integrity (projekce zůstává tenký bootstrap), majordomus.projection-integrity (generované soubory jsou generované) a majordomus.policy-integrity (neznámé klíče jsou chyby); project.no-new-nouns je pravidlo, na kterém toto stojí.

Odkud to pochází

kanonický soubor
.ai/repo/rules/project/optional-complexity.v1.md
identity
project.optional-complexity@1
dostupné také jako
Zdroj MCP majordomus://rule/project.optional-complexity@1 · majordomus entity show rule/project-optional-complexity-1 · GET /api/v1/entity?uri=majordomus://rule/project.optional-complexity@1
v Cockpitu
/cockpit/objects/rule/project-optional-complexity-1

Tato stránka je generována z výše uvedeného souboru pomocí scripts/generate-site-data; úprava stránky nic nemění, úprava souboru změní všechna rozhraní. Výše uvedené vztahy jsou hrany docs/generated/graph.json, které spustitelný program zapisuje ze stejného indexu.

Prohledává názvy a popisy všech stránek, které tento web publikuje.