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.

Produkt je zařazen pod několik domén a funkce jmenuje svou jedinou

Produkt je zařazen pod několik domén a funkce jmenuje svou jedinou

majordomus://adr/adr-0104navrženo architekturataxonomieprojectionsproduct

odkazuje na

odkazuje na něj

Nic ve vrstvě to nejmenuje. Zpětné odkazy se odvozují, takže prázdný seznam je odpověď, ne opomenutí.

104. Produkt je zařazen pod několik domén a funkce pojmenovává svou jedinou

Kontext

ADR 0023 udělal z každé funkce produktu objekt vrstvy a z vstupní stránky jejich projekci. Produktu však nedal tvar nad funkcí. Sekce „co to dělá“ na domovské stránce proto seskupovala funkce podle jediné taxonomie, kterou vrstva měla, tedy provozních oblastí katalogu why, a uváděla každou stabilní funkci pod každou oblastí, které slouží. Změřeno na stromu, proti němuž bylo toto rozhodnutí psáno: dvacet šest stabilních funkcí, devět oblastí, čtrnáct funkcí pod dvěma či třemi oblastmi, jedna oblast s jedinou funkcí a jedna bez funkce, pro kterou by byla první. Nový čtenář narazil na plochý inventář s opakující se funkcí a model produktu si musel odvodit sám.

Oblasti jsou pro tu práci špatný nástroj a záměrně. Oblast je část provozu, pod kterou je moment zařazen: kde to bolí. Příslušnost je záměrně mnoho ku mnoha — funkce, která odpovídá na bolest ve dvou částech provozu, patří do obou diagnóz — a Cockpit z ní odvozuje oblast modulu (ADR 0026). Přeřezání devíti oblastí na šest kvůli produktové mapě by změnilo zařazení každého momentu, diagnózu, na kterou se rozliší příznaky čtenáře, i postranní panel Cockpitu, aby odpovědělo na otázku, kterou si žádné z nich neklade.

Otázka, kterou klade mapa produktu, je ta druhá: co produkt řídí? To je rozdělení, ne diagnóza — každá funkce má v odpovědi jedno místo a odpověď má málo částí, aby ji čtenář udržel v hlavě.

Rozhodnutí

Doména je objekt vrstvy: .ai/repo/features/domains/<id>.md, druh domain, schéma domain/v1. Uvádí svůj název, jednovětý headline (co s tím produkt dělá), jednovětý problem (selhání, na které odpovídá), svůj status a svůj weight (pořadí prezentace). Její tělo říká, co pokrývá a co ne.

Funkce jmenuje přesně jednu doménu ve svém vlastním poli domain. Doména nevypisuje nic. Její členové, rozhraní, kterých dosahují, odlišná tvrzení, případy užití, pravidla a schopnosti za nimi a momenty, na které odpovídají, se odvozují pomocí crate::product z funkcí, které ji jmenují, vystavují se jako schopnost product.domains (příkazová řádka, HTTP, MCP) a publikují se v product.json přes seznam povolených, jako funkce.

Reference běží jedním směrem a drží se oběma směry:

  • doména, kterou funkce jmenuje a která neexistuje, je chyba unknown_reference s nejbližším kandidátem;
  • stabilní funkce, která nejmenuje žádnou doménu, zatímco vrstva nějaké deklaruje, je chyba (unassigned_domain), protože každý povrch, který představuje produkt podle domén, by ji jinak vynechal, aniž by to řekl;
  • stabilní funkce vedená pod doménou, která není stabilní, je chyba (draft_domain);
  • stabilní doména, kterou nejmenuje žádná stabilní funkce, je varování (empty_domain) a nikde se nezobrazuje.

Oblasti si ponechávají svou úlohu. Funkce stále jmenuje oblasti, kterým slouží; katalog why, diagnóza a Cockpit se nemění.

Proč to není nové podstatné jméno

project.no-new-nouns odmítá agenty, persony, role, úrovně a registry. Doména nic z toho není: je to taxonomie vlastních funkcí produktu, objekt téhož mechanismu jako funkce nebo oblast (druh, schéma, třída zdroje), nenese žádný stav, nepřiděluje práci a nejmenuje žádného workera. Zapisuje se do docs/CONCEPTS.md vedle feature, takže slovník zůstává celým slovníkem.

Důsledky

  • Homepage může ukázat malý, stabilní produktový model, jehož členství nikdo neudržuje: funkce přidaná pod doménu se objeví v mapě té domény a na její stránce bez další úpravy a odebraná zmizí stejně.
  • Stránka domény (/domains/<id>/) a drobečková navigace na každé stránce funkce se stávají odvoditelnými.
  • Volba domény funkce je redakční úkon, jako volba její váhy, a posuzuje se jako takový. Šest domén, s nimiž bylo toto rozhodnutí psáno — context, coordination, governance, evidence, completion, surfaces — jsou data, ne součást rozhodnutí.
  • Repozitářů, které nedeklarují žádnou doménu, se to netýká: od jejich funkcí se nevyžaduje nic.

Odkud to pochází

kanonický soubor
.ai/repo/adrs/0104-the-product-is-filed-under-a-few-domains-and-a-feature-names-its-one.md
identity
adr-0104
dostupné také jako
Zdroj MCP majordomus://adr/adr-0104 · majordomus entity show adr/adr-0104 · GET /api/v1/entity?uri=majordomus://adr/adr-0104
v Cockpitu
/cockpit/objects/adr/adr-0104

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.