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.

Práce se pohybuje přes role na mesh, přistává v kombinovaných topech a každý checkout se udržuje aktuální

Práce se pohybuje přes role na mesh, přistává v kombinovaných topech a každý checkout se udržuje aktuální

majordomus://adr/adr-0167navrženo integracegovernancemeshrelease

odkazuje na

odkazuje na něj

167. Práce se pohybuje přes role na mesh, přistává v kombinovaných topech a každý checkout je udržován aktuální

Kontext

ADR 0101 učinilo z integrace jeden typovaný subsystém, který přistává jeden pull request na jeden běh požadované kontroly, a mezi zamítnutými alternativami uvedlo dávky: „Zůstávají rozhodnutím člověka, ne exekutora.“ ADR 0155 zaznamenalo, že vlastník využil ochranu větve ve prospěch jmenovaného lander, přistávajícího po jednom, připnutého k posouzenému head.

Do rána 2026-10-16 bylo otevřeno více než sto pull requestů (107 v 09:10Z), na repozitáři pracovalo najednou devět a více relací na jednom stroji a tři vady praxe byly změřeny, ne dokazovány:

co se stalokolik to stálo
každé přistání znovu postavilo každou jinou otevřenou hlavu za mastermerge masteru, derive a běh o délce zhruba hodiny na pull request, takže fronta rostla rychleji, než ji jeden lander dokázal vyprázdnit
primární checkout stál 779 commitů za masterjeho server odpověděl na plán z tohoto stromu a relace zrušila přehled čtrnácti úkolů poté, co zjistila, že třináct z nich je na master už hotových
releasy čekaly na milníkypublikovaný web a binárky jmenovaly verzi, kterou master dávno předběhl

Vlastník odpověděl relacím toho rána. Slova tak, jak jim byla napsána, česky, s anglickým čtením vedle každého:

  • „strasne rychle odbavovat milestones/issues/waves, deploy+bump+vv often, from now always, use majordomus mesh“ (odbavovat milníky, úkoly a vlny velmi rychle; deploy, bump a zbytek často, od teď vždy; používat Majordomus mesh).
  • „rozdelte si to, spolupracujte a at to odsejpa“ (rozdělte si práci, spolupracujte a ať to odsýpá).
  • Na otázku, zda přistávat kombinované tops, nebo po jednom pull requestu: kombinované tops; a trvalé schválení pro připnuté admin merge, gh pr merge <n> --admin --merge --match-head-commit <sha>, jen když ci přesně té hlavy skončil success a hlava obsahuje aktuální origin/master.
  • „moje rozhodnuti je vzdy vse updatovat, rebasovat, force-forward, whatever helps, document it, describe it (gh pages / official pages / ui) a pokracuj s puvodnim planem“
  • „vse derived, inferred, generic, generated, dynamic, enforced for future“ (všechno odvozené, inferované, generické, generované, dynamické a od nynějška vynucované).

Rozhodnutí

Platná praxe je pravidlo project.the-cooperation-model-is-the-owners-word. Je to jediný její záznam: dokumenty o integraci, meshi a release na pravidlo odkazují, místo aby je opakovaly, web vykresluje pravidlo a toto rozhodnutí z těchto souborů a obrazovka Mesh v UI (/ui/mesh) kreslí, kdo drží kterou roli, z živých tvrzení meshe, nikdy ze seznamu jmen.

  1. Role jsou claimy v mesh. Roli drží ten, kdo drží její exkluzivní claim na mesh, a nic jiného z relace roli nedělá. Role přistání drží campaign/<campaign>/landing, dokud přistává; role release drží release/seat; repair lane drží refs/heads/<branch> pro každou větev, kterou aktualizuje; worker drží cesty svého jediného úkolu. Protože role je claim, přesouvá se, když se přesouvá claim, role zhavarovaného držitele vyprší s jeho heartbeatem a UI ji čte z mesh.state, ne z ničí paměti.
  2. Kombinované tops. Role přistání smí přistát mnoho pull requestů v jednom běhu požadované kontroly: master plus hlavy pull requestů, které v autorských cestách s ničím nekolidují (rozhoduje řetězec git merge-tree), odvozené soubory jednou regenerované po merge commitu, jeden validační běh posuzující každého člena, červený člen vyřazený a opravený na vlastní větvi a jeden připnutý merge, který top přistane, po čemž forge označí každý obsažený pull request za sloučený. Zvýšení verze release se může svézt uvnitř topu.
  3. Vždy aktuální. Zastaralý checkout nebo větev se aktualizuje, aniž by se někoho ptalo, poté co se uchová, co obsahuje: git stash create a git update-ref refs/rescue/<name> pro necommitnutou práci, patch pod <repository>-rescue/ pro cokoli jiného. Checkout nebo větev, kterou nikdo jiný nefetchnul, lze resetovat, rebasovat nebo fast-forwardovat; pushnutá větev se aktualizuje sloučením masteru do ní a pushem fast-forward.
  4. Vydávejte často. Role vydávající release vydá release vždy, když master obsahuje přistálou práci za posledním tagem, ne jednou za milník, a poté ověří, co web servíruje.

Co toto mění

Exekutor z ADR 0101 se nemění: majordomus prs drain stále přistává jeden připravený pull request najednou, nikdy nepřekročí --admin a během činnosti drží svou lease. Mění se vlastní akt přistávajícího. ADR 0101 nechal dávky na člověku; vlastník toto rozhodnutí učinil, takže kombinovaný top už není ručně sestavenou výjimkou, ale běžnou pracovní jednotkou role přistání. Klauzule ADR 0155 „jedno přistání najednou“ nyní zní: jedna role přistání najednou a přistání může nést celý top.

Co stále platí

  • Každé rozhodnutí se činí proti aktuálnímu origin/master a head SHA, která uvádí, a jedná se podle něj, jen dokud stále platí; --match-head-commit odmítne head, který se posunul.
  • --admin se předává jen připnuté na head, jehož ci skončilo úspěchem a který obsahuje aktuální master: ochrana se utrácí na posouzený strom, nikdy ne na přeskočení kontroly.
  • Žádná kontrola, hook ani brána se kvůli přistání nevypíná, nepřeskakuje ani neupravuje; --no-verify se nikdy nepoužívá.
  • Release se nikdy neurychluje: tag se pushuje jen na commit, jehož ci uspěla (scripts/ci/release-verdict).
  • Žádná odeslaná větev se nepřepisuje force-pushem. Vlastníkovo „force-forward“ se čte jako „posunout dopředu čímkoli, co pomůže“; na větvi, kterou čtou jiné relace i forge, pomůže merge, protože přepsaný vzdálený head nelze obnovit rescue refem relace, která ho přepsala.
  • Pro každé rozhodnutí se zaznamenávají důkazy: master a head, z nichž byl top sestaven, jeho členové, běh, který ho posoudil, a commit, který produkce servíruje po něm.

Důsledky

Propustnost už není omezena jedním pull requestem na běh: top o dvaceti členech stojí jeden běh. Červeň topu se podle jeho úloh přisoudí členu, který se vyřadí a opraví na vlastní větvi, takže přisouzení, které ADR 0101 chránilo, přežije za cenu jednoho běhu navíc na každého červeného člena.

Kombinované tops stále skládá vlastní postup role přistání, ne schopnost exekutoru; typované prs compose, které by členy topu zaznamenalo jako manifest, nikdy nepřistálo. Dokud nepřistane, záznamem topu je jeho pull request: jeho tělo jmenuje členy a jejich heady a rodiči jeho merge commitu jsou master a top.

Tři body vynucování nesou jiní pracovníci a pravidlo je jmenuje, jak přistávají: nový worktree vychází ze vzdáleného trunku, ne ze zastaralého lokálního masteru; start zajistí, že server checkoutu běží, než úloha začne; a checkout, který zaostal, je detekován a přiveden na aktuální stav.

Zamítnuté alternativy

  • Ponechat jeden pull request na běh. Změřeno 2026-10-15 a 16: fronta mu přerostla.
  • Pojmenovat role v dokumentu. Seznam relací zastará ve chvíli, kdy se jedna znovu připojí; claim je už fakt, takže UI čte claim.
  • Force-pushnout zastaralé větve. Pro relaci, která to dělá, je to rychlé, a ničí to práci, kterou mezitím pushla jiná relace; sloučení masteru stojí jeden commit.

Amendment, 2026-10-20: a worker lands its own green head

At about 23:13 UTC on 2026-10-20 the owner relaxed the model: "hlavne prosim tebe reflektuj zmekceni pravidel, vse updatuj, vsem dej vedet" ("above all, reflect the relaxation of the rules, update everything, let everyone know"), choosing every relaxation offered (build and disk limits, landing and merge, the sessions' permissions, coordination formalities). The seats read it as: a worker lands its own green pull request through the guarded lander's queue, pinned exactly as a top is pinned; at most five builders on one machine and none below 35 GiB free; cleanup that loses nothing is done without asking and announced; ids, paths and seats are still claimed first. Rule project.the-cooperation-model-is-the-owners-word version 2 records it (I3824); the landing seat keeps combined tops for heads that must ship together. What may reach master is unchanged: a head whose ci succeeded and which contains the current master.

Odkud to pochází

kanonický soubor
.ai/repo/adrs/0167-work-moves-through-seats-on-the-mesh-and-lands-in-combined-tops.md
identity
adr-0167
dostupné také jako
Zdroj MCP majordomus://adr/adr-0167 · majordomus entity show adr/adr-0167 · GET /api/v1/entity?uri=majordomus://adr/adr-0167
v Cockpitu
/cockpit/objects/adr/adr-0167

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.