Repository navigation
Commit 482d584
fix(metadata-protocol): the in-process install door honours
Fixes #19277
Clause-②: no
`InstallPackageRequestSchema.enableOnInstall`
(`packages/spec/src/kernel/package-registry.zod.ts`) is the request
contract of the in-process `ObjectStackProtocol.installPackage` /
`MetadataProtocol.installPackage` primitive. The implementation read
`request.manifest` and `request.settings` and nothing else, so a caller
that asked for `enableOnInstall: false` got an ENABLED install — no
refusal, no warning, no effect. Declared but not enforced on a published
option, which ADR-0049 (enforce-or-remove) and Prime Directive #10
refuse outright.
Ruling batch #153 item 5 letter 1 (#18605, record `5724940709`) kept
this declaration as a COPY of the HTTP request key with the SAME
meaning, so the disposition is **enforce, not retire**.
## What changed
`MetadataProtocol.installPackage` now applies the same rule the HTTP
door applies, through the same registry verbs `PATCH
/packages/:id/enable` and `PATCH /packages/:id/disable` use:
| `enableOnInstall` | effect |
|:--|:--|
| `true` | `enablePackage` — clears a disable, including a boot-seeded
one |
| `false` | `disablePackage` — the row and its `status` both move |
| absent | no lifecycle call at all; the row the registry returned
stands |
`=== true` / `=== false`, never a truthiness test and never a `??`
default — the three states are the contract. A non-boolean value is read
as absent rather than coerced.
## enableOnInstall (#19338)1 parent 9c3a314 commit 482d584
3 files changed
Lines changed: 372 additions & 1 deletion
File tree
- .changeset
- packages
- metadata-protocol/src
- objectql/src
Lines changed: 23 additions & 0 deletions
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
| 1 | + | |
| 2 | + | |
| 3 | + | |
| 4 | + | |
| 5 | + | |
| 6 | + | |
| 7 | + | |
| 8 | + | |
| 9 | + | |
| 10 | + | |
| 11 | + | |
| 12 | + | |
| 13 | + | |
| 14 | + | |
| 15 | + | |
| 16 | + | |
| 17 | + | |
| 18 | + | |
| 19 | + | |
| 20 | + | |
| 21 | + | |
| 22 | + | |
| 23 | + | |
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
22327 | 22327 | | |
22328 | 22328 | | |
22329 | 22329 | | |
| 22330 | + | |
| 22331 | + | |
| 22332 | + | |
| 22333 | + | |
| 22334 | + | |
| 22335 | + | |
| 22336 | + | |
22330 | 22337 | | |
22331 | 22338 | | |
22332 | 22339 | | |
| |||
22363 | 22370 | | |
22364 | 22371 | | |
22365 | 22372 | | |
22366 | | - | |
| 22373 | + | |
| 22374 | + | |
| 22375 | + | |
| 22376 | + | |
| 22377 | + | |
| 22378 | + | |
| 22379 | + | |
| 22380 | + | |
| 22381 | + | |
| 22382 | + | |
| 22383 | + | |
| 22384 | + | |
| 22385 | + | |
| 22386 | + | |
| 22387 | + | |
| 22388 | + | |
| 22389 | + | |
| 22390 | + | |
| 22391 | + | |
| 22392 | + | |
| 22393 | + | |
| 22394 | + | |
| 22395 | + | |
| 22396 | + | |
| 22397 | + | |
| 22398 | + | |
| 22399 | + | |
| 22400 | + | |
| 22401 | + | |
| 22402 | + | |
| 22403 | + | |
| 22404 | + | |
| 22405 | + | |
| 22406 | + | |
| 22407 | + | |
| 22408 | + | |
| 22409 | + | |
| 22410 | + | |
| 22411 | + | |
| 22412 | + | |
| 22413 | + | |
| 22414 | + | |
| 22415 | + | |
| 22416 | + | |
| 22417 | + | |
| 22418 | + | |
| 22419 | + | |
| 22420 | + | |
| 22421 | + | |
| 22422 | + | |
| 22423 | + | |
| 22424 | + | |
| 22425 | + | |
| 22426 | + | |
| 22427 | + | |
| 22428 | + | |
| 22429 | + | |
22367 | 22430 | | |
22368 | 22431 | | |
22369 | 22432 | | |
| |||
0 commit comments