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.

Editory a agenti čtou projekce vrstvy a cargo z ní nevkládá nic

Editory a agenti čtou projekce vrstvy a cargo z ní nevkládá nic

majordomus://adr/adr-0140navrženo editoryprojectionsvygenerovánobuild

odkazuje na

Nic. Tento objekt nedeklaruje žádný odkaz.

odkazuje na něj

140. Editory a agenti čtou projekce vrstvy a cargo nic z ní nevkládá

Kontext

Tři provozní briefy (campaigns/majordomus-editor-intelligence-pack, campaigns/majordomus-antigravity-pack, campaigns/majordomus-antigravity-v2) žádají, aby Zed a Google Antigravity četly dovednosti, workflow, pravidla a MCP server tohoto repozitáře z kanonické vrstvy, bez druhého katalogu, bez dotčení osobního nastavení a — ve třetím — s typovanou, obsahově adresovanou derivací a změřeným rozhodnutím, zda by build.rs měl cokoli z toho vkládat. Dne 2026-10-12 nepřistál žádný z prvních dvou: master nenesl .zed/, .agents/ ani koncept editoru a otevřená větev (feature/gemini-is-a-provider, #964) nesla ručně psaný .agents/ vedle generovaného GEMINI.md.

Co produkty čtou, bylo ověřeno proti nainstalovaným releasům, ne podle zadání:

Zed 1.23.2Antigravity 2.22.0
instrukceprvní z .rules … AGENTS.md … GEMINI.mdAGENTS.md, GEMINI.md, .agents/rules/*.md (front matter trigger povinný)
skills.agents/skills/<name>/SKILL.md, name a description jsou povinnéstejný adresář; .agents/skills.json může jmenovat další
úlohy.zed/tasks.json, pole {label, command, args, …}žádné na úrovni projektu
MCPcontext_servers v .zed/settings.json, potřebuje příkaz, který Zed umí spustit.agents/mcp_config.json na webu; chybí v průvodci, který dodává 2.22.0
workflow—.agents/workflows/ přestane fungovat 2026-10-19

Zdroje: zdroj Zed na tagu v1.23.2 (settings_content/src/project.rs, task/src/task_template.rs, prompt_store/src/prompts.rs), zed.dev/docs, text průvodce uvnitř jazykového serveru Antigravity a antigravity.google/docs s jeho changelogem.

Rozhodnutí

Jedna projekce, dva adaptéry. crate::editors čte prostředí — aktivní dovednosti z indexu, veřejné recepty sledovaného justfile — a dva adaptéry je mapují na to, co čte jejich produkt. Kde oba čtou tentýž soubor, zapíše se jednou: každá aktivní dovednost se stane .agents/skills/<id>/SKILL.md, nese name a description, které požadují oba, a odkaz na svou definici, nikdy kopii postupu. Každý veřejný recept bez [confirm] se stane úlohou v .zed/tasks.json, která spouští just <recipe>. Instrukce jsou bootstrap poskytovatele AGENTS.md, který čtou oba a který už vlastní generate providers.

Skrz majordomus generate, ne vedle něj. Projekce je cílem editors stávající pipeline: zapisuje ji majordomus generate editors, porovnává generate --check, indexuje manifest s jejím hashem a slučuje se jako odvozená. Banner dovednosti následuje její front matter a banner seznamu úloh je komentář // (Zed čte .zed/**/*.json jako JSONC); kontrakt artefaktu přijímá přesně tyto dvě formy pro dokumenty pod editors/.

Vlastnictví je banner. Soubor na promítnuté cestě bez něj — nebo dosažený přes symbolický odkaz — je něčí: generate ho odmítne a jmenuje. Projekce dovednosti s bannerem, kterou plán už neobsahuje, patří generátoru a je zastaralá: --check ji nahlásí a generate ji odstraní. generate::write nyní zapisuje přes dočasný sourozenecký soubor a přejmenování a soubor, jehož bajty už jsou správně, nechá nedotčený.

Co není ověřeno, se nezapisuje. Žádný pracovní soubor MCP pro Antigravity, žádné context_servers pro Zed (launcher je relativní cesta, jejíž překlad Zed nedokumentuje), žádné .zed/settings.json (žádná zdejší politika se neliší od výchozích hodnot Zed), žádné .agents/workflows/, žádný režim oprávnění či schvalování. editors.status hlásí každé se stavem podpory (supported, unsupported, unknown, deprecated, requires_user_action), důkazy a tím, co může člověk udělat místo toho.

Sledovaný justfile, ne ten z checkoutu. Kořenový justfile importuje most grafu příkazů, který každý checkout materializuje pod .ai/local/; čten na místě přidá 44 skupin k 5 sledovaným na stroji, který most má, a žádnou na stroji, který ho nemá. Recepty se čtou přes just --dump nad soukromou kopií justfile a .just/*.just, takže commitnutý seznam úloh je stejný na každém stroji i v CI.

Adresy podle obsahu, žádná cache. key každého promítnutého souboru je SHA-256 přes verzi projekce, jeho dokument a cesty a hashe jeho vstupů v pořadí cest — vzorec, který žádá třetí brief a který vysvětluje editors.status. Žádná cache se neukládá: projekce je jeden průchod indexem a jeden just --dump (milisekundy proti indexu, který proces už drží) a pravidlo project.cache-is-invisible žádá, aby cache před ponecháním dokázala bajtovou ekvivalenci. Nic změřeného žádnou nezaslouží.

Žádné vkládání při sestavení. Změřeno v tomto worktree 2026-10-12 (zátěž stroje 7–17): prázdné cargo build 0,21 s; po dotyku .ai/repo/policy.yaml 0,19 s, protože nic pod .ai/ není vstupem sestavení; po dotyku jednoho zdrojového souboru 19,4 s. Vložení libovolného souboru vrstvy přes build.rs by ho muselo deklarovat pomocí rerun-if-changed, čímž by každá úprava dovednosti či pravidla znamenala 19sekundovou rekompilaci cratu kvůli projekci, která za běhu stojí milisekundy — a odpověď binárky by závisela na stromu, ze kterého byla sestavena, ne na stromu, který čte. Stávající build.rs zůstává, jak je; vkládá fakta o sestavení (cíl, profil, commit, generace), k čemuž build skript slouží.

Důsledky

Přidání dovednosti pod .ai/repo/skills/ nebo receptu do justfile změní .agents/skills/ nebo .zed/tasks.json při dalším majordomus generate a generate --check selhává, dokud se tak nestane; neupravuje se žádný adaptér, seznam ani registrace. Release produktu, který mění formát, je změnou jeho modulu adaptéru, jehož hlavička jmenuje release, proti kterému byla jeho tvrzení ověřena. Ručně psaný .agents/ (jako v #964) se nikdy nepřebírá: generate editors se u něj zastaví a editors.status hlásí, co by s ním Antigravity udělal — .agents/skills.json jmenující .ai/repo/skills načte kanonické soubory bez name, které dodaný průvodce vyžaduje, a pravidlo bez platného trigger se zahodí.

Odkud to pochází

kanonický soubor
.ai/repo/adrs/0140-editors-and-agents-read-projections-of-the-layer-and-cargo-e.md
identity
adr-0140
dostupné také jako
Zdroj MCP majordomus://adr/adr-0140 · majordomus entity show adr/adr-0140 · GET /api/v1/entity?uri=majordomus://adr/adr-0140
v Cockpitu
/cockpit/objects/adr/adr-0140

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.