You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
fix(spec,core): HotReloadConfig.stateStrategy refuses the two values it never implemented; distributedConfig retired (#12340) (#12425)
* fix(spec,core): stateStrategy refuses the two values it never implemented; distributedConfig retired (#12340)
ADR-0049 enforce-or-remove, applied one level inside the host-driven library
the 2026-08-25 #11825 ruling kept. The 'disk' and 'distributed' arms of
PluginStateManager.saveState both wrote to the same in-memory Map as 'memory'
and said so at debug level only; distributedConfig had zero readers anywhere.
- spec: stateStrategy narrowed to ['memory','none'] with the prescription on
the enum's own error map (invisible to the four ratchets by construction);
distributedConfig and DistributedStateConfigSchema removed (route 3 — no
authored document, nothing parses this schema).
- core: registerPlugin refuses an unhonoured stateStrategy and a leftover
distributedConfig with an ADR-0112 envelope, before the enabled check.
- ADR-0087: RETIRED_DEFS_BY_MAJOR[18] + D3 semantic entry.
- the #11825 survivor pin for DistributedStateConfigSchema moves here
deliberately, with the reasoning recorded beside it.
Part of #12340
Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01W6HFzyH98W1YaQXhJUJt6o
* test(spec): assert the prescription's actual plural spelling ('were removed')
The refusal fired correctly; the assertion named the singular. Caught by the
run, not by reading.
Part of #12340
Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01W6HFzyH98W1YaQXhJUJt6o
* chore(spec): regenerate strictness-ledger counts after the DistributedStateConfig removal
kernel/ 277 -> 274, fully accounted for: the removed DistributedStateConfigSchema
carried exactly three z.object nodes (the def plus its inline auth and
replication sub-objects). The prose ledger has no per-file verdict for
plugin-lifecycle-advanced.zod.ts, so no Class verdict needed re-examining.
Part of #12340
Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01W6HFzyH98W1YaQXhJUJt6o
* chore(spec): regenerate the strictness-ledger counts from the merged tree
The merge of `main` into this branch left the `kernel/` count as OURS (274) —
the `merge=os-regen` driver defers rather than text-merging, because a
generator run mid-merge reads a half-merged tree. Regenerated from the fully
merged sources, as that driver's pending marker requires.
277 at the merge base; this branch's DistributedStateConfig removal takes 3
(the def plus its inline `auth` and `replication` objects) and #12417's
`contributes.routes` retirement on main takes 1, so 273 is the composition of
both sides, not a choice between them. Predicted before the run; observed
exactly. `check:strictness-ledger` green.
---------
Co-authored-by: Claude <noreply@anthropic.com>
0 commit comments