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.

Balíček, který opouští stroj, nese jen commitované zdroje

Balíček, který opouští stroj, nese jen commitované zdroje

majordomus://rule/project.packs-carry-only-sources@1aktivní archivsoukromíreviewevidence

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í

Kopie repozitáře, která opustí stroj, se čte tam, kde ji nikdo nemůže porovnat s originálem. Ručně zkopírovaný adresář nese, co pracovní strom náhodou obsahuje: výstup buildu v target/, strom závislostí, vnořený worktree, cache, lokální polovinu vrstvy AI, binárku, kterou model nepřečte a poskytovatel ji může odmítnout. Zip chatový model ve svém indexu souborů vůbec neprohledává. Obě selhání jsou na druhém konci tichá — čtenář vidí repozitář, ne chybu.

Výběr je tedy git index, nikdy adresář; co profil vynechává, je deklarováno jednou v share/archive.yaml a čte to archiv shellu i pack spustitelného souboru; a pack se dokazuje po zapsání, protože pack, který byl jen správně naplánován, je tvrzení o souboru, který nikdo nepřečetl zpět.

Požadované chování

  • Sada souborů je git index a obsah jsou bloby indexu. Nic nesledovaného není nikdy kandidátem.
  • Profil s binary: drop vynechá soubor, jehož přípona je na binary_extensions, a soubor, jehož obsah není text: bajt NUL, obsah, který není UTF-8 (balíček), nebo verdikt gitu -text (archiv).
  • Profil s artifacts: drop vynechá každou cestu odpovídající artifact_paths, každý symbolický odkaz a (balíček) každý gitlink. include nikdy žádný z nich znovu nepřipustí.
  • Profil s derived: drop vynechá to, co .gitattributes označuje merge=derived.
  • Balíček se odmítne sestavit, když vybraný soubor pojmenovává absolutní cestu vlastního checkoutu nebo domovský adresář balícího účtu, když je jeden soubor nad rozpočtem shardu, když je souborů víc, než profil dovoluje, a když je výběr prázdný.
  • pack build ověřuje, co zapsal, a pack verify odmítne balíček, jehož soubory nenesou digesty, které zaznamenává jeho manifest, který drží soubor, jejž manifest nejmenuje, nebo který nese zakázanou cestu, bajt NUL nebo soubor nad rozpočtem.
  • Obsah se přenáší tak, jak je commitnut; balíček nikdy žádný soubor nepřepisuje.

Chování při selhání

majordomus pack plan a pack build skončí s kódem 10 s pojmenováním každého nálezu (pack.file_too_large, pack.too_many_shards, pack.index_too_large, pack.leak, pack.empty, pack.no_limits) a nic nezapíšou; pack verify skončí s kódem 10 a jmenuje pack.tampered, pack.stray, pack.missing, pack.forbidden_path, pack.not_text, pack.over_budget nebo pack.manifest a s kódem 12, když manifest nelze přečíst, což není nikdy úspěch. Kontrola CI pack-plan spouští plán profilu chatgpt při každé změně, která jej může posunout.

Ověření

majordomus pack plan chatgpt
bash test/run.sh 871_pack_for_chatgpt 130_archive
cargo test --manifest-path apps/majordomus-cli/Cargo.toml --lib pack

Odkud to pochází

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