feat(core): LiteKernel.use() enforces the declared plugin contract, converged with ObjectKernel (#16721 step 2) #22705
pr-automation.yml
on: pull_request
Check PR Size
0s
Check Changeset
47s
Auto Label
0s
Annotations
1 notice
|
Check Changeset:
.changeset/litekernel-enforces-plugin-contract.md#L0
ADR-0087 exemption (no-migration-prescription): An accept-set narrowing performed entirely at the runtime registration path: `PluginSchema` is READ by `LiteKernel.use()` now, exactly as `ObjectKernel.use()` has read it since the `kernel.use()` enforcement release — the schema itself is not changed. No metadata key, spec symbol, Zod schema, object definition or stored representation is added, removed or given a different name, so `objectstack migrate meta` has nothing to visit and there is no tombstone to mint. Stored metadata is untouched; what moves is which plugin OBJECTS the second kernel accepts, and every object it newly refuses was already refused by the first. The channel that reaches an affected plugin author is the refusal itself, which names the offending key at `use()` and is more precise than a ledger line — and which value a refused key should carry is authoring intent no ledger entry can decide.
|