From 42951327fe992ee52247491260c7654e55a6dbf6 Mon Sep 17 00:00:00 2001 From: Claude Date: Tue, 3 Nov 2026 06:21:15 +0000 Subject: [PATCH 1/2] docs(adr-0146): D8 item 3 names the whole-deployment export, GET /packages/export, as the per-package exports composed unchanged, the pair after its base One sentence in D8 item 3 and one dated Refs entry. No code, no schema, no other ADR. Claude-Session: https://claude.ai/code/session_01JQwxbZL4zwPNbxQsb6VsoU Co-authored-by: Claude --- ...s-one-editor-per-item-paired-customize-package.md | 12 ++++++++++-- 1 file changed, 10 insertions(+), 2 deletions(-) diff --git a/docs/adr/0146-studio-designs-setup-administers-one-editor-per-item-paired-customize-package.md b/docs/adr/0146-studio-designs-setup-administers-one-editor-per-item-paired-customize-package.md index 38cd3312c0f..088dbad5b0e 100644 --- a/docs/adr/0146-studio-designs-setup-administers-one-editor-per-item-paired-customize-package.md +++ b/docs/adr/0146-studio-designs-setup-administers-one-editor-per-item-paired-customize-package.md @@ -431,7 +431,12 @@ from **one** resolution: **outside** X's closure is not a candidate for X's address at all; it is that package's own item, served under its own address (ADR-0048 §3.3's qualified reference). 3. **Export carries the declaration.** `GET /packages/hotcrm.custom/export` carries the overriding item with its - `overrides` block; `GET /packages/hotcrm/export` carries the base unchanged. The epic's two-minute check, verbatim: + `overrides` block; `GET /packages/hotcrm/export` carries the base unchanged. The whole-deployment export + `GET /packages/export` (#28914) composes those per-package exports unchanged — every installed package the + deployment's own code does not register, each entry exactly what its own `GET /packages/:id/export` answers, in + ADR-0141 D5's hydrate order, so a `.custom` pair comes after its base — and adds no reading of its own + (`packages/runtime/src/domains/packages.ts#assemblePackageExportBundle`, + `packages/spec/src/api/package-lifecycle.zod.ts#PackageExportBundleSchema`). The epic's two-minute check, verbatim: 「HotCRM 视图「定制」→ 三处读取同一列集、导出带声明、「恢复包原版」回原样」. 4. **A per-package customization read** (N-15) answers, for a base, its overrides, its extensions and its switched-off items — served rows and ledger rows, nothing computed — and the landing's counts and Studio's "only customizations" @@ -706,7 +711,10 @@ of Q1's refusal and `action` — were ruled by the maintainer on 2026-10-31 (dec S13–S15 are folded into this rewrite); PR [#28045](https://github.com/objectstack-ai/objectstack/pull/28045) (the Proposed draft this rewrite replaces, hand-merged 2026-10-30); card [#29601](https://github.com/objectstack-ai/objectstack/issues/29601) and PR [#29791](https://github.com/objectstack-ai/objectstack/pull/29791) (2026-11-03, wording only: [D8](#d8) item 2 names - the pair's export and scopes its lead; *Decided here* #5 scoped with it). + the pair's export and scopes its lead; *Decided here* #5 scoped with it); card [#29802](https://github.com/objectstack-ai/objectstack/issues/29802) + (2026-11-03, wording only: [D8](#d8) item 3 names the whole-deployment export `GET /packages/export`, landed for + [#28914](https://github.com/objectstack-ai/objectstack/issues/28914) by PR [#29755](https://github.com/objectstack-ai/objectstack/pull/29755), + as composing the per-package exports unchanged, the pair after its base). - [#27356](https://github.com/objectstack-ai/objectstack/issues/27356) rows 12, 13, 14, 19, 20, 21 and their landed PRs #27376, #27927, #28076. - ADR-0005, ADR-0009, ADR-0010, ADR-0029, ADR-0048 (and its 2026-10-08 addendum), ADR-0070, ADR-0126, ADR-0131, From 65f1b7cea7704e9d3a9ade70bc3c3898eab111c4 Mon Sep 17 00:00:00 2001 From: Claude Date: Tue, 3 Nov 2026 06:48:00 +0000 Subject: [PATCH 2/2] docs(adr-0146): D8 item 3 covers the pair of a code-registered base; Refs entry names PR #29830 Contract review should-fixes (6597286611): the pair-after-base clause holds when both are listed, and the pair of a code-registered base is exported alone, its base travelling with the code; the dated Refs entry names the PR beside the card, as the #29791 entry does. Claude-Session: https://claude.ai/code/session_01JQwxbZL4zwPNbxQsb6VsoU Co-authored-by: Claude --- ...nisters-one-editor-per-item-paired-customize-package.md | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) diff --git a/docs/adr/0146-studio-designs-setup-administers-one-editor-per-item-paired-customize-package.md b/docs/adr/0146-studio-designs-setup-administers-one-editor-per-item-paired-customize-package.md index 088dbad5b0e..c334d452dd4 100644 --- a/docs/adr/0146-studio-designs-setup-administers-one-editor-per-item-paired-customize-package.md +++ b/docs/adr/0146-studio-designs-setup-administers-one-editor-per-item-paired-customize-package.md @@ -434,7 +434,9 @@ from **one** resolution: `overrides` block; `GET /packages/hotcrm/export` carries the base unchanged. The whole-deployment export `GET /packages/export` (#28914) composes those per-package exports unchanged — every installed package the deployment's own code does not register, each entry exactly what its own `GET /packages/:id/export` answers, in - ADR-0141 D5's hydrate order, so a `.custom` pair comes after its base — and adds no reading of its own + ADR-0141 D5's hydrate order, so a `.custom` pair comes after its base when both are listed, and the pair of a + code-registered base (item 1's code package) is exported alone, that base travelling with the deployment's code + and not with the bundle — and adds no reading of its own (`packages/runtime/src/domains/packages.ts#assemblePackageExportBundle`, `packages/spec/src/api/package-lifecycle.zod.ts#PackageExportBundleSchema`). The epic's two-minute check, verbatim: 「HotCRM 视图「定制」→ 三处读取同一列集、导出带声明、「恢复包原版」回原样」. @@ -712,7 +714,8 @@ of Q1's refusal and `action` — were ruled by the maintainer on 2026-10-31 (dec Proposed draft this rewrite replaces, hand-merged 2026-10-30); card [#29601](https://github.com/objectstack-ai/objectstack/issues/29601) and PR [#29791](https://github.com/objectstack-ai/objectstack/pull/29791) (2026-11-03, wording only: [D8](#d8) item 2 names the pair's export and scopes its lead; *Decided here* #5 scoped with it); card [#29802](https://github.com/objectstack-ai/objectstack/issues/29802) - (2026-11-03, wording only: [D8](#d8) item 3 names the whole-deployment export `GET /packages/export`, landed for + and PR [#29830](https://github.com/objectstack-ai/objectstack/pull/29830) (2026-11-03, wording only: [D8](#d8) item 3 + names the whole-deployment export `GET /packages/export`, landed for [#28914](https://github.com/objectstack-ai/objectstack/issues/28914) by PR [#29755](https://github.com/objectstack-ai/objectstack/pull/29755), as composing the per-package exports unchanged, the pair after its base). - [#27356](https://github.com/objectstack-ai/objectstack/issues/27356) rows 12, 13, 14, 19, 20, 21 and their landed