ADR 0001: Package Split Is The Publication Boundary =================================================== Status ------ Accepted. Context ------- AGILAB contains runtime packages, UI packages, app payloads, page bundles, examples, docs, and release tooling. Publishing every package on every change creates unnecessary PyPI operations and makes cleanup expensive. Decision -------- The package split contract is the publication source of truth. Release tooling must derive package matrices from ``tools/package_split_contract.py`` and ``tools/release_plan.py``. Packages whose current artifacts already exist on PyPI can be skipped by the release plan instead of being rebuilt and uploaded again. Consequences ------------ - Package names, roles, project paths, and PyPI environments live in one place. - Public docs and app catalogs must follow the package split. - Release workflows can avoid redundant uploads and reduce PyPI cleanup work. - Any package rename must update package split, docs, tests, and release plan evidence together.