From 08a93fe2b686f526a964b6edcc99aa91c65faa08 Mon Sep 17 00:00:00 2001 From: Jack Zhuang <277994282+os-zhuang@users.noreply.github.com> Date: Fri, 31 Jul 2026 15:34:51 +0800 Subject: [PATCH] docs(app-shell): the wait-key retirement lands in spec 17.0.0, not the "18" its tombstone claims (#3101) MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit `zodKeys`' TSDoc named "spec 18" as the bump that arms the `wait` panel, copied from framework#4198's own prose. There is no 18 to wait for: `@objectstack/spec` publishes `latest` 16.1.0 / `rc` 17.0.0-rc.0, and changesets computes a pre-release train off the last *published* major — so the retirement's `major` changeset resolves to 17.0.0-rc.x, not 18. framework main already carries both tombstones (ab1633122) with `PROTOCOL_VERSION = '17.0.0'`. Comment only; the filter and the assertions are unchanged. The correction matters because it names the trigger: the panel fires on the next rc this repo installs, not on a major the current release train cannot produce. Co-Authored-By: Claude Opus 5 --- .../flow-node-config.spec-reconciliation.test.ts | 14 +++++++++++--- 1 file changed, 11 insertions(+), 3 deletions(-) diff --git a/packages/app-shell/src/views/metadata-admin/inspectors/flow-node-config.spec-reconciliation.test.ts b/packages/app-shell/src/views/metadata-admin/inspectors/flow-node-config.spec-reconciliation.test.ts index bd12a7298..58b39f83c 100644 --- a/packages/app-shell/src/views/metadata-admin/inspectors/flow-node-config.spec-reconciliation.test.ts +++ b/packages/app-shell/src/views/metadata-admin/inspectors/flow-node-config.spec-reconciliation.test.ts @@ -52,9 +52,17 @@ const SCRIPT_INVOKE_FUNCTION_ACTION_TYPE = spec.SCRIPT_INVOKE_FUNCTION_ACTION_TY * marks it with a `[REMOVED]` description), but it is NOT part of the * authorable contract — a form field writing one produces metadata the loader * rejects. Counting tombstones as contract keys would false-pass exactly that - * drift (e.g. `waitEventConfig.timeoutMs` / `.onTimeout`, retired at spec 18 - * by framework#4198 — this filter is what makes the `wait` panel fire on that - * bump until the form drops the two fields). + * drift (e.g. `waitEventConfig.timeoutMs` / `.onTimeout`, retired by + * framework#4198 — this filter is what makes the `wait` panel fire on the spec + * bump that carries their tombstones, until the form drops the two fields). + * + * That bump is a **17.0.0-rc refresh**, not the "spec 18" the tombstone text + * itself names: changesets computes a pre-release train off the last + * *published* major (`@objectstack/spec` latest is 16.1.0, `rc` is + * 17.0.0-rc.0), so the retirement's `major` resolves to **17.0.0** — and + * framework main carries the tombstones with `PROTOCOL_VERSION = '17.0.0'`. + * The trigger is the next rc this repo installs, not a major that the current + * release train cannot produce. Tracked in #3101. */ function zodKeys(schema: unknown): string[] { const shape = (schema as { shape?: Record }).shape;