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.

Nezávislé na Prismatic

Nezávislé na Prismatic

majordomus://rule/project.independent-of-prismatic@1aktivní provenancezávislosti

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í.

Zdůvodnění

Prismatic je dřívější řešení, ne infrastruktura. project.clean-room drží svůj slovník mimo to, co se zde píše; toto pravidlo drží jeho kód, služby a topologii mimo to, co běží. Nástroj, který dohlíží na jiné repozitáře, nemůže potřebovat jeden konkrétní z nich k sestavení, spuštění či nasazení a závislost, která existuje jen na autorově stroji, objeví první člověk, který ji nemá.

Požadované chování

Majordomus nikdy nezávisí na Prismatic při kompilaci, za běhu, při nasazení ani provozně. Nic z toho není dovoleno:

  • import z modulu nebo aplikace Prismatic,
  • závislost na balíčku, repozitáři nebo cestě na projekt Prismatic,
  • git submodul ukazující na jeden,
  • úložiště nebo stav runtime sdílený s jedním z nich,
  • volání vnitřního nebo nezdokumentovaného rozhraní Prismatic,
  • požadavek, aby běžela služba Prismatic,
  • topologie nasazení, která předpokládá, že Prismatic existuje.

Prismatic nápad tu může být stále užitečný — vzor, algoritmus, stavový model, poučení. Vstupuje portováním, v tomto pořadí:

  1. pojmenovat požadavek Majordomus, na který odpovídá,
  2. pojmenujte invariantu, kterou originál zachovával,
  3. oddělit tento invariant od předpokladů prostředí, z něhož pochází,
  4. rozhodnout, zda to vůbec patří do Majordomus,
  5. navrhnout pro něj rozhraní nativní pro Majordomus,
  6. přenést nebo znovu implementovat minimum, které potřebuje,
  7. doložit to testy v tomto repozitáři,
  8. zdokumentujte to v tomto repozitáři,
  9. potvrďte, že nezůstal žádný odkaz zpět,
  10. se výsledek vlastní jako jakýkoli jiný kód zde.

Návrhový dokument smí zaznamenat původ — „inspirováno modelem relací Prismatic, implementováno nezávisle“ — protože původ je historie, ne závislost.

Chování při selhání

Změna, která zavádí závislost, je odmítnuta. scripts/ci/prismatic-independence-check skončí s kódem 10 a jmenuje soubor a řádek; kontrola prismatic-independence ho spouští v každém plánu CI.

Ověření

scripts/ci/prismatic-independence-check rozhoduje tu část tohoto pravidla, kterou strom dokáže ukázat: žádný záznam .gitmodules a žádný gitlink jmenující projekt Prismatic a žádný odkaz na něj na površích, které nástroj sestavují, spouštějí nebo nasazují — bin/, lib/, share/, apps/, scripts/, hooky, workflow, manifesty závislostí a lock soubory a konfigurace klientů a nasazení. Vlastní název projektu, Prismatic Majordomus v jakékoli podobě zápisu, odkazem není. test/cases/569_independent_of_prismatic.sh dokazuje kontrolu mutací.

Kontrola je záměrně částečná a říká to. Nevidí službu dosaženou přes hostname, který nic nejmenuje, dokument, který člověku říká, aby ji spustil, ani port, který zkopíroval kód bez přepracování. Výstupní test pro ně je čtenářův: někdo bez přístupu k Prismatic dokáže sestavit Majordomus, spustit jeho testy, pochopit jeho kontrakty z jeho vlastních dokumentů, provozovat funkci a změnit ji bez konzultace s Prismatic.

Odkud to pochází

kanonický soubor
.ai/repo/rules/project/independent-of-prismatic.v1.md
identity
project.independent-of-prismatic@1
dostupné také jako
Zdroj MCP majordomus://rule/project.independent-of-prismatic@1 · majordomus entity show rule/project-independent-of-prismatic-1 · GET /api/v1/entity?uri=majordomus://rule/project.independent-of-prismatic@1
v Cockpitu
/cockpit/objects/rule/project-independent-of-prismatic-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.