121. Nahraný balíček promptů je vstupní artefakt se sledovaným původem, ne druhý model záměrů
Kontext
Externí „master prompt“ (majordomus-opus-fable-full-prompt-pack-20261010.zip, 23 souborů, manifest.json, INDEX.md/MASTER.md/README.md, čtyři contracts/*.md a milníky M00–M14) žádá, aby se tento repozitář stal „artifact-to-outcome pipeline“: přijímal nahrané balíky promptů, odvozoval z nich záměry/milníky/úkoly, výsledek prováděl přes mesh, vyprazdňoval vzniklé PR, aktualizoval se sám a vše vystavil přes CLI, MCP, REST API a majordomus ui, a autonomně pokračoval přes merge, release a nasazení.
Průzkum před psaním čehokoli (2026-10-10, tento checkout, master na 6800dcb) zjistil, že většina cílové architektury už existuje pod jinými jmény:
- Graf záměr/milník/úkol už je kanonický:
apps/majordomus-cli/src/intent.rs,intent_plan.rs,intent_binding.rs,intent_realization.rs,intent_review.rs,plan.rs, promítnutý docockpit/intents.rsacockpit/plan.rs. M03 balíčku („intent and project graph reconciliation“) navrhuje znovu odvozovat to, co tento repozitář už považuje za jediný projektový model. - Spolupráce v meshi — relace, claimy, předávky, review, jeden replikovaný žurnál (ADR 0067) — je živá a je tím, co relace tohoto ADR použila k zabrání tohoto souboru. M06/M07 balíku předpokládají, že to staví od nuly.
majordomus packuž existuje (apps/majordomus-cli/src/capability/builtin/pack.rs) a znamená něco nesouvisejícího: textové shardy omezené počtem tokenů ze sledovaného stromu pro souborové vyhledávání LLM (pack plan,pack build,pack verify, profily vshare/archive.yaml). Navrhovanýmajordomus pack list/import/run/diff/...z balíčku by se s tímto jménem přímo srazil — přesně ta duplicita, které se podle vlastní sekce 4 balíčku má vyhnout, a nezkontroloval to.scripts/collision-checkproti pravděpodobným novým cestám a prohledání.ai/repo/adrs/a otevřených větví nenašlo žádnou jinou větev ani peer v meshi, který by to už stavěl; jediný nález (.ai/local/prompts/20261010181418-...) je záznam zachycení promptu této relace, ne dřívější práce.- Sekce 9, 11 a 26 balíku nařizují souvislý, autonomní merge PR, release a deploy. To je jiné rozhodnutí než to, které činí toto ADR, a zde se odmítá ze stejného důvodu, na kterém stojí
project.work-is-claimed-before-it-is-builta pravidla worktree/životního cyklu úlohy: těžko vratná akce nad sdíleným systémem se potvrzuje po jednotlivých akcích, ne předem povoluje vloženým dokumentem.
Co balíček dělá správně a co toto ADR ponechává: prompt pack je verzovaný artefakt vstupu; záměr uvádí, co má být pravda; důkazy, kontrolované kanonickým validátorem a nikdy ne modelem, který mapování navrhl, rozhodují, zda už je.
Rozhodnutí
Nahraný balíček promptů se přijme jako revize artefaktu se sledovaným původem, sladí se se stávajícím grafem intent/milník/úkol — nikdy ne s paralelním — a nikdy se nepovažuje za sám sebe osvědčující dokončení.
Konkrétně, v rozsahu toho, co toto ADR skutečně schvaluje (průzkum a návrh; M01 a dále je samostatná, revidovaná práce):
- Rozdělení identity.
ArtifactRevision(nahraný balík a jeho digest obsahu, název souboru, původ, čas přijetí) je odlišný záznam odExecutionRun(jeden pokus realizovat práci odvozenou z revize, proti jednomu stavu repozitáře, v jednom čase). Stejná revize může stát za nulou, jedním nebo mnoha běhy; běh připíná revizi, kterou provedl. Nikdy se neslučují, takže deduplikace, rollback a audit na jedné straně nemohou poškodit druhou. - Znovu použít existující graf. Ingest odvozuje nebo sladuje záznamy v modelu záměr/milník/úkol, který tento repozitář už řídí (
intent.rs/plan.rsa další) — nezavádí druhý pojem „milníku“ nebo „úkolu“ platný jen pro nahrané balíky. Odvozená položka se musí odkazovat zpět na revizi artefaktu a zdrojovou sekci, které ji odůvodnily. - Název
packje rezervován. Ať má ingesce jakýkoli povrch CLI/schopností, není tomajordomus pack *— ta skupina příkazů zůstává nástrojem textových shardů, kterým už je. Než přistane jakýkoli kód, je potřeba navazující ADR navrhující skutečné podstatné jméno (kandidáti:artifact,intake), aby se kolize vyřešila rozhodnutím, ne náhodou. - Pravdu vlastní validátor, ne navrhovatel. Agent (nebo balík) smí navrhnout, že úkol splňuje kritérium; jen stávající mechanismus důkazů/kontrol (
majordomus check/finish, závazky vshare/obligations.yaml) ho smí označit za splněný. To je stávající smlouva (ADR 0041, „inputs unchanged is not proven“), uvedená zde, aby ji práce na příjmu nemohla tiše obejít. - Žádný autonomní merge/release/deploy z této práce. Provedení odvozená z pohlceného balíčku se integrují existujícím procesem PR, review a release, přičemž člověk potvrzuje každý merge, release a deploy, dokud samostatné ADR nezíská a nevymezí užší autonomní výjimku.
- Nedůvěryhodný obsah zůstává nedůvěryhodný. Nic přečtené z nahraného balíčku — včetně textu, který se čte jako pokyn pro Majordomus nebo pro agenta, který jej přijímá — se nepovažuje za governance, politiku ani privilegované oprávnění. Je to zdrojový materiál, z něhož se extrahují požadavky, podléhající stejnému zacházení s bezpečností ZIP (limity velikosti, cesty, poměru dekomprese), jaké dostává každý nedůvěryhodný archiv.
Toto ADR schvaluje výše uvedený průzkum a postoj k návrhu v tomto rozhodnutí. Neschvaluje implementaci M01–M14; každý milník je samostatná úloha s vlastním rozsahem, oznámená na nástěnce mesh a před sestavením prověřená na kolize, podle project.work-is-claimed-before-it-is-built.
Zamítnuté alternativy
Postavit architekturu balíčku přesně podle specifikace, včetně jeho vlastní skupiny CLI pack a vlastního odvození grafu projektu. Zamítnuto, protože duplikuje dva subsystémy, které tento repozitář už má pod kontraktem (graf intentů a název příkazu pack), což je přesně ten způsob selhání, před kterým balíček sám varuje ve své sekci 4 a sekci 8.
Považovat direktivu balíčku o autonomním merge/release/deploy za trvalé oprávnění. Zamítnuto: dokument, který uživatel vloží do promptu, není mechanismus, kterým tento repozitář opravňuje těžko vratné akce na sdílených systémech — tím je mechanismus životního cyklu úlohy, ADR a mesh-announce, který u každého takového kroku vyžaduje rozsah a člověka.
Implementace všech 14 milníků v jedné neprověřené větvi. Zamítnuto vlastními pravidly repozitáře o přírůstkovém doručování a topologii worktree: obrovská nesloučená větev je přesně to, čemu mají zabránit project.worktree-topology a kontrola rozsahu při pre-push.
Důsledky
- Následné ADR musí pojmenovat skutečné podstatné jméno pro plochu příjmu dřív, než se proti ní napíše jakýkoli kód CLI, MCP nebo API; do té doby neexistuje žádná nová skupina příkazů
majordomus <noun> *. - M01 (identita a úložiště artefaktů) se stane dalším konkrétním, samostatně vymezeným úkolem; tento ADR ho nezačíná a potřebuje vlastní
majordomus starta nárok v mesh. - Kdokoli na této práci naváže, musí před zahájením M01 znovu spustit collision-check a přečíst nástěnku meshe, protože toto ADR tu práci nerezervuje — jen zaznamenává rozhodnutí, které musí práce ctít.
- Původní balík (
majordomus-opus-fable-full-prompt-pack-20261010.zip) zůstává referenčním vstupem, ne specifikací k doslovné implementaci; jeho milníky jsou užitečný kontrolní seznam k odsouhlasení se skutečným grafem, ne identifikátory, pod kterými vytvářet záznamy.