Skip to content

Commit fcefe4e

Browse files
docs(adr-0141): Open item 4 records that an enabled dependent rule refuses the package disable (#30729)
<!-- claude-projects-attribution: {"github_login":"os-elon-musk"} --> _Requested by **Elon** · [project thread](https://claude.ai/code/project/chan_01WedDzV26nniwxv7jC88B9D?thread=cmsg_01WedDzV26nniwxv7jC88B9DRdR8tDhhemV41rvCmTN1MR)_ domain:server#4 · os-elon-musk · session_016WV4cwCWp9qZ5SgMof1qLa Part of #30379 Clause-②: no Metadata-protocol: none Claim: 6672353180 (amended 6672467575) · Branch: `claude/project-thread-mwjmre` · Ruling-ref: 6670643454 (letter A, item 4) ## 维护者速读 - 改了什么:ADR-0141 的 Open item 4(「依赖包被停用」)下加一行裁决记录:一个仍启用的依赖方(读了该字段的校验规则)会让停用被拒绝。 - 为什么改:这是 #30379 裁决 A 第 4 项(你 2026-11-05 21:56Z 的「同意」)要求写进 ADR 的那一行;停用门本身的拒绝逻辑另走代码 PR,两者不捆绑。 - 风险与回滚:极小。只加一行文字,不改任何代码、规范或生成物;回滚即撤 PR。 - 先看:`docs/adr/0141-inter-app-dependency-declared-checked-before-install.md` 第 609 行(Open items 第 4 条末尾)。 - 两分钟验证:打开本 PR 的 Files 标签,预期只有 1 个文件、+1 / -0。 - 需要你做的:`docs/adr/**` 属 Tier H,请审阅后亲手合并(或批准后由席位落地)。 ## What changes One line under ADR-0141 › Open items › 4 (*A disabled dependency*), recording the maintainer's ruling on #30379 (record 6670643454, letter A, item 4): an enabled dependent (a rule that reads a field X adds) refuses the disable. ## Why Ruling A item 4 asks for exactly this line. The runtime half of the same ruling (the package disable door refusing with `409` while an enabled package's validation rule reads a field the package adds through `objectExtensions`) ships in a separate code PR from this branch after this one, once its ledgered error code lands. The two are never bundled. ## Tests None: a docs-only change to one ADR line. No code, schema, generated artifact or published file moves. ## Acceptance notes - The line is appended to item 4's paragraph, so it renders as that item's last sentence; the item's measurement text above it is kept as written. - `skip-changeset`: `docs/adr/**` publishes nothing from any released package. ## Verification <details><summary>Local gates at f2c3908 (dispatch-gates --commands on this diff, 21 commands)</summary> ```text node scripts/check-adr-links.mjs :: exit 0 node scripts/check-adr-links.mjs --self-test :: exit 0 node scripts/check-closing-keyword-parity.mjs :: exit 0 node scripts/check-closing-keyword-parity.mjs --self-test :: exit 0 node scripts/check-comment-mask-corpus.mjs :: exit 0 node scripts/ci/plan-test-core-shards.mjs --self-test :: exit 0 pnpm --filter @objectstack/lint run check:doc-formula-expressions :: exit 0 pnpm check:adr-anchors :: exit 0 pnpm check:adr-index :: exit 0 pnpm check:adr-symbol-anchors :: exit 0 pnpm check:ci-filter-parity :: exit 0 pnpm check:closed-ceremony-text :: exit 0 pnpm check:cross-package-test-inputs :: exit 0 pnpm check:doc-authoring :: exit 0 pnpm check:driver-memory-census :: exit 0 pnpm check:gitlink-declared :: exit 0 pnpm check:nul-bytes :: exit 0 pnpm check:pm-governed-merges :: exit 0 pnpm check:pm-prior-rulings :: exit 0 pnpm check:refd-timer-probe :: exit 0 pnpm check:watch-hint-literal :: exit 0 ``` `node scripts/pm/dispatch-gates.mjs --ran`: 21 derived, 21 run, 0 NOT-MEASURED, 0 UNRUN (exit 0). CI families outside the derivation (artifact rosters, wide-population families, the type-check lanes) are CI's; this PR's check-runs are their record. </details> ## Human Minimum - [x] 1. Schemas start as Zod; `packages/spec` holds no runtime logic. (not touched) - [x] 2. Every name I added uses the casing for its kind. (none added) - [x] 3. No formatter ran; `pnpm lint` passes. (no source file touched) - [x] 4. One issue, one branch off an up-to-date `main`, one pull request. - [x] 5. A change that publishes carries a changeset, and both declaration lines are filled in here and in the changeset. (publishes nothing: `skip-changeset`) - [x] 6. `packages/spec` touched: its generated artifacts are regenerated and committed. (not touched) - [x] 7. No hand edits to `content/docs/references/`, `packages/*/CHANGELOG.md` or `content/docs/releases/`. - [x] 8. Title, body and comments are in English. --- _Generated by [Claude Code](https://claude.ai/code/session_016WV4cwCWp9qZ5SgMof1qLa)_ Co-authored-by: Claude <noreply@anthropic.com>
1 parent a4c3246 commit fcefe4e

1 file changed

Lines changed: 1 addition & 0 deletions

File tree

‎docs/adr/0141-inter-app-dependency-declared-checked-before-install.md‎

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -606,6 +606,7 @@ The letters as filed on #25403 and on ruling `6377678758`:
606606
4. **A disabled dependency.** D2 judges presence and version. Whether `enabled: false` on X should satisfy, refuse, or
607607
warn for a dependent is measured against what the save door's closure and the data door do with a disabled package
608608
today.
609+
**Ruled** (#30379, record 6670643454, letter A): an enabled dependent (a rule that reads a field X adds) refuses the disable.
609610
5. **`optional` and `AppManifestSchema.dependencies`** — D8 items 2 and 3.
610611
6. **The carved-out module's `type`.** D7 states `type: 'app'`. The card confirms the artifact `os build` writes for a
611612
standalone module carries it, and reads what each install door does today with a top-level package of another type

0 commit comments

Comments
 (0)