docs(releases): record the #4212-family plugin-API retirements in the v17 notes and status matrix - #4279
Merged
Merged
Conversation
… v17 notes and status matrix The v17 release notes already carried the #4212 row (lifecycle-hook family) but not its two follow-ups that also ship in the 17.0.0 train: - "Dead spec clusters removed" gains the #4241 row: the never-built typed-event cluster (ten payload schemas, the 21-name enum wrong in both directions, ITypedEventEmitter), and what replaced it — the enforced IPluginLifecycleEvents registry of the 14 events with a real emitter plus the LifecycleEventName soft union on hook/trigger. - "Smaller breaking changes" gains the #4242 entry: ObjectQLEngine.use() / ObjectQLHostContext removal, with the FROM → TO migration (registerApp / kernel plugin) and the explicit note that the app-bundle onEnable module export is a different, live contract. implementation-status.mdx stops claiming "lifecycle hooks" as a plugin-system capability (that family never ran and is now retired) and states the real init/start/destroy contract and the #4241 event registry instead. Co-Authored-By: Claude Fable 5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01HrRNgrWaRtggzmrHpbomyh
|
The latest updates on your projects. Learn more about Vercel for GitHub. 1 Skipped Deployment
|
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01HrRNgrWaRtggzmrHpbomyh
os-zhuang
marked this pull request as ready for review
July 31, 2026 02:36
xuyushun441-sys
pushed a commit
that referenced
this pull request
Jul 31, 2026
Same convention as #4279: the changeset gate wants an explicit statement of release intent, and skills/ ships in no npm package. Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
os-zhuang
added a commit
that referenced
this pull request
Jul 31, 2026
* docs(skills): hook examples author with defineHook(), not bare `: Hook` literals (#4274) #4273 shipped defineHook() and pointed docs + error prescriptions at it, but skills/objectstack-data — the first thing an AI author reads — still taught the bare-literal form in 18 places across SKILL.md, rules/hooks.md, rules/validation.md, and references/data-hooks.md. Mechanical rewrite: `const x: Hook = {…}` → `const x = defineHook({…})` (imports switched to the value import), plus the factory-over-bare-literal note in rules/hooks.md and references/data-hooks.md, phrased identically to the schema.mdx note from #4273. Every rewritten block was scanned for unknown top-level keys — HookSchema is strict, so a stray key inside a defineHook() example would teach a crash — none found; the os:check gate covers the tagged blocks (198 examples green). Closes #4274 Co-Authored-By: Claude Fable 5 <noreply@anthropic.com> * chore: empty changeset — docs-only PR, releases nothing Same convention as #4279: the changeset gate wants an explicit statement of release intent, and skills/ ships in no npm package. Co-Authored-By: Claude Fable 5 <noreply@anthropic.com> --------- Co-authored-by: Jack Zhuang <277994282+os-zhuang@users.noreply.github.com> Co-authored-by: Claude Fable 5 <noreply@anthropic.com>
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
What
Docs-only follow-up to #4241 / #4242 (the #4212 leftovers): the v17 release notes carried the original #4212 row but neither follow-up, and the status matrix still claimed the retired capability.
content/docs/releases/v17.mdx— "Dead spec clusters removed": adds the fix(spec): retire the never-built typed-event system; the lifecycle registry now lists the events that actually fire #4241 row — the never-built typed-event cluster (ten payload schemas, the 21-namePluginLifecycleEventTypeenum that was wrong in both directions,ITypedEventEmitter), and what replaced it:IPluginLifecycleEventsas the enforced registry of the 14 events with a real emitter, plus theLifecycleEventNamesoft union onPluginContext.hook/trigger.content/docs/releases/v17.mdx— "Smaller breaking changes": adds the fix(objectql)!: retire the dead ObjectQLEngine.use() plugin path #4242 entry —ObjectQLEngine.use()/ObjectQLHostContextremoval with the FROM → TO migration (registerApp/ kernel plugin viactx.getService('objectql')), and the explicit note that the app-bundleonEnablemodule export is a different, live contract that is unchanged.content/docs/releases/implementation-status.mdx: stops claiming "lifecycle hooks" as a plugin-system capability (that family never ran and is retired in v17); states the realinit/start/destroycontract and the fix(spec): retire the never-built typed-event system; the lifecycle registry now lists the events that actually fire #4241 event registry; bumps Last Updated.Why
Both follow-ups are
majorchangesets shipping in the 17.0.0 train — the hand-written release narrative and the status matrix should tell the same story as the CHANGELOG. Also addresses the docs-drift advisory on #4242 for the release docs.Verification
node scripts/check-doc-authoring.mjs— 214 files clean.objectuiandcloud(fresh clones/origin/main) for every removed symbol (ObjectQLHostContext,ITypedEventEmitter,PluginLifecycleEventType, all*EventSchema/event types,engine.use() — zero references; cloud's only.use(is the supportedkernel.use()path.Prose-only change; no code paths touched.
Generated by Claude Code