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
Follow-on from PR #9990 (#9872), filed by the domain:devx PM seat under that card's Q1 → B. PR #9990 fixed 20 of 26 sites and used Part of #9872 rather than a closing keyword, so #9872 stays open until these land.
That PR was scoped comment text only and declared Clause-②: no on that basis. These six are not comment text, and each carries a different review path — a mixed diff would fork the whole PR under AGENTS.md #14 and hold 20 correct fixes hostage.
Split A — governed surface, its own PR
skills/objectstack-ui/SKILL.md:1934
⚠️skills/** is a governed surface: human-merge-only, ⛔ never armed, never flipped out of draft. One file, one PR.
Split B — spec surface, its own PR (and it owes a changeset)
packages/spec/src/ui/action-params.zod.ts:376 and :409 — .describe() strings
These are runtime data, not prose. They regenerate:
content/docs/references/ui/action-params.mdx:58,59 — marked AUTO-GENERATED DO NOT EDIT
spec-changes.json
docs/protocol-upgrade-guide.md:317
⇒ the wrong version string is published, not merely commented, which is why it outranks the 20 already fixed. A changeset is owed here (PR #9990's ruling 6 forbade one because nothing it touched published).
⚠️.changeset/** is inside the #9465 epic fence: add only your own new file; never edit existing changesets, the changeset scripts, or the release workflows.
⛔ Two sites that look like they belong here and DO NOT — leave them
PR #9990's dev flagged both and correctly did not touch them. Ruled: they stay as they are.
packages/plugins/plugin-audit/src/audit-writers.test.ts:1653 — a test title (does not resolve the v11-removed tenantId alias)
scripts/check-org-identifier.mjs:596,600,602,640 — the gate's own self-test fixture corpus
Both are behaviourally inert (the detector never reads version tokens; expected counts stay 0). That inertness is the reason to leave them: the fixture corpus is deliberately a museum of the removed dialect, and the test title describes the fixture rather than the release. Editing them would be changing evidence to match prose. Recorded here so nobody re-opens it as an oversight.
The correct version, and how it was established
v16, on two positive legs (PR #9990 replaced the card's original third leg, which was false — see below):
6c270a6: **BREAKING: remove the deprecated ctx.session.tenantId … sits under ## 16.0.0 in the packages/spec, packages/runtimeandpackages/objectql CHANGELOGs;
Corroborated by skills/objectstack-data/references/data-hooks.md:627, the one site that was always right (governed — read, never edited).
⛔ Do not repeat the card's original leg 3 ("there is no v11.mdx, so v11 is not a real major"). It is false: v11 is a real major (docs/upgrading-to-11.md, @objectstack/*@11.0.0), and its release page is absent by policy — scripts/check-release-notes.mjs:39, const KNOWN_MISSING = new Set([10, 11]).
⛔ Do not run a mechanical v11 → v16 sweep
PR #9990 found two sites that date a DIFFERENT removal to v11 correctly — content/docs/kernel/contracts/metadata-service.mdx:311 (IUIService) and docs/audits/2026-07-security-props-liveness-recheck.md:26 (PolicySchema) — both listed as their own items in docs/upgrading-to-11.md. A blanket sweep corrupts both. objectui#3290 is also a different repo's issue and is not in the population.
Also out of scope
content/docs/releases/** (release-owned; evidence only), published CHANGELOG history, and the two pending changesets inside the #9465 fence.
Refs: PR #9990 / #9872 (source, method, and the falsified leg) · #9465 (changeset fence) · AGENTS.md #14 (mixed-surface fork).
Follow-on from PR #9990 (#9872), filed by the
domain:devxPM seat under that card's Q1 → B. PR #9990 fixed 20 of 26 sites and usedPart of #9872rather than a closing keyword, so #9872 stays open until these land.Why these 6 could not ride in #9990
That PR was scoped comment text only and declared
Clause-②: noon that basis. These six are not comment text, and each carries a different review path — a mixed diff would fork the whole PR under AGENTS.md #14 and hold 20 correct fixes hostage.Split A — governed surface, its own PR
skills/objectstack-ui/SKILL.md:1934skills/**is a governed surface: human-merge-only, ⛔ never armed, never flipped out of draft. One file, one PR.Split B — spec surface, its own PR (and it owes a changeset)
packages/spec/src/ui/action-params.zod.ts:376and:409—.describe()stringspackages/spec/src/migrations/registry.ts:1555— migration rationalepackages/spec/src/migrations/entries/semantic/17.action-session-roles-to-positions.ts:23These are runtime data, not prose. They regenerate:
content/docs/references/ui/action-params.mdx:58,59— marked AUTO-GENERATED DO NOT EDITspec-changes.jsondocs/protocol-upgrade-guide.md:317⇒ the wrong version string is published, not merely commented, which is why it outranks the 20 already fixed. A changeset is owed here (PR #9990's ruling 6 forbade one because nothing it touched published).
.changeset/**is inside the #9465 epic fence: add only your own new file; never edit existing changesets, the changeset scripts, or the release workflows.⛔ Two sites that look like they belong here and DO NOT — leave them
PR #9990's dev flagged both and correctly did not touch them. Ruled: they stay as they are.
packages/plugins/plugin-audit/src/audit-writers.test.ts:1653— a test title (does not resolve the v11-removed tenantId alias)scripts/check-org-identifier.mjs:596,600,602,640— the gate's own self-test fixture corpusBoth are behaviourally inert (the detector never reads version tokens; expected counts stay 0). That inertness is the reason to leave them: the fixture corpus is deliberately a museum of the removed dialect, and the test title describes the fixture rather than the release. Editing them would be changing evidence to match prose. Recorded here so nobody re-opens it as an oversight.
The correct version, and how it was established
v16, on two positive legs (PR #9990 replaced the card's original third leg, which was false — see below):
6c270a6: **BREAKING: remove the deprecated ctx.session.tenantId …sits under## 16.0.0in thepackages/spec,packages/runtimeandpackages/objectqlCHANGELOGs;docs/upgrading-to-11.md— the complete 10.x→11.x breaking-change guide — contains notenantId, no Unify the developer-facing org identifier: hooks exposesession.tenantIdwhile RLS/seed/columns useorganizationId(addorganizationIdas the blessed name) #3280 and no Remove the deprecated hook/actionctx.session.tenantIdalias in the next major (converge onorganizationId) #3290 at all.Corroborated by
skills/objectstack-data/references/data-hooks.md:627, the one site that was always right (governed — read, never edited).⛔ Do not repeat the card's original leg 3 ("there is no
v11.mdx, so v11 is not a real major"). It is false: v11 is a real major (docs/upgrading-to-11.md,@objectstack/*@11.0.0), and its release page is absent by policy —scripts/check-release-notes.mjs:39,const KNOWN_MISSING = new Set([10, 11]).⛔ Do not run a mechanical v11 → v16 sweep
PR #9990 found two sites that date a DIFFERENT removal to v11 correctly —
content/docs/kernel/contracts/metadata-service.mdx:311(IUIService) anddocs/audits/2026-07-security-props-liveness-recheck.md:26(PolicySchema) — both listed as their own items indocs/upgrading-to-11.md. A blanket sweep corrupts both.objectui#3290is also a different repo's issue and is not in the population.Also out of scope
content/docs/releases/**(release-owned; evidence only), published CHANGELOG history, and the two pending changesets inside the #9465 fence.Refs: PR #9990 / #9872 (source, method, and the falsified leg) · #9465 (changeset fence) · AGENTS.md #14 (mixed-surface fork).
Generated by Claude Code