Repository navigation
docs(changelog): the 18.0.0-next.0 entry says per posture what the ADR-0131 ceremony does with existing junction rows - #23611
Conversation
…R-0131 ceremony does with existing junction rows Under single, authored-conversion converts them. Under a wall the ceremony converts no binding and its rewrite step refuses until the operator declares the position with the bound sets (code or metadata door, one only) or adds them through the metadata door when the definition is editable; a packaged definition is sealed. The amendment lands in the five released CHANGELOG copies and the archived prerelease changeset, byte-identical after the list marker. Claude-Session: https://claude.ai/code/session_01Q9PZ5Pzqcus4woVvTZwWNU Co-authored-by: Claude <noreply@anthropic.com>
📓 Docs Drift Check
What this run could not see
Coarse fallback — 153 page(s) merely mention a changed package (the pre-#9192 predicate, kept for the deliberately-wide backstop): |
席位核对✅ ACCEPT: PR #23611 at
Checklist, read against GitHub and
The DELIBERATE CORRECTION, confirmed (
This seat's correction, in public. The dispatch told the dev to put
Why it lands with this red (SKILL.md, the third case; all three conditions hold):
Gate evidence: the check-runs pinned to Accepted deviations:
Landing: Generated by Claude Code |
Fixes #23555
Clause-②: no
What changes
One bullet of the 18.0.0-next.0 entry is amended in place, in its six copies:
packages/core,packages/spec,packages/platform-objects,packages/plugins/plugin-securityandpackages/plugins/plugin-auth;.changeset/pre/15204-s1-position-permission-sets.md.No other line in those files moves. There is no code change, no new changeset and no
content/docs/releases/edit.FROM
TO
The six copies are byte-identical after the list marker, as they were before: one md5 (
ac515d49cc24) over the six bullet bodies. A reader greps one text.Why the old sentence was false
Read on
origin/mainat8d05456cbe, inpackages/cli/src/utils/organization-ownership-apply.ts:single,runAuthoredConversion(theauthored-conversionstep) appliesconvertPositionBindingRowsand saves each position with its bound sets through the metadata door. The old sentence holds there.runAuthoredConversionreturnsdoneat its non-singlearm before it reads a binding (ADR-0131 D3).verifyReferences, run by therewritestep and again bymirror-deletion, then refuses every binding whose fate isconverted.donestops the run, and the later steps reportnot-reached.walledBindingRemedy, as PR fix(cli): under a wall, the ownership ceremony's rewrite gate names the act that clears a position binding, not a step that reports done #23576 (0f52f32568) made it:conflictingis unchanged.The amendment describes the act, not the wording of the ceremony's refusal.
Route
AGENTS.md's release-owned row for
packages/*/CHANGELOG.mdsays a factual error in a released entry is fixed by amending that entry in a dedicated docs-only PR. It is ⛔ never an erratum in a later entry and never a rider on code changes. The triage ruling is comment 6181068237. Its order condition was that the ceremony's walled remedy land first, and it did, as PR #23576.Changeset: this PR corrects a pending release note (confirmation requested)
.changeset/pre/15204-s1-position-permission-sets.mdis a changeset this PR changes and did not add. It was consumed for the 18.0.0-next.0 prerelease. Onpre exit, the GA version pass consumes.changeset/pre/*.mdagain (release.yml, the pending-count step), so this note is still pending for 18.0.0.That makes this PR the DELIBERATE CORRECTION class, Check Changeset's route 0:
skip-changesetlabel. Route 0 refuses it for a PR that edits an existing changeset (ruling D, recorded on [finding] theskip-changesetlabel suppresses the DELIBERATE-CORRECTION refusal whose own text says 「no label and no diff shape makes that safe」 — declared contract against enforced behaviour #18375).Check Changesetand itscheck-empty-changeset.mjs --basescan stay red. Neither is a required context.Gates (local subset, at
9d05217ea2)node scripts/pm/dispatch-gates.mjs --commands --repo objectstack-ai/objectstackderived 68 commands. The--ranreconciliation: "68 derived famil(ies) accounted for — 63 run, 5 NOT-MEASURED (5 DERIVED from a recorded exit 3)".check-adr-0087-registration.mjs --base origin/mainandcheck-changeset-no-major.mjs --base origin/main;check:release-notes,check:release-page-status,check-release-section-coverage.mjs(plain and--strict);check:nul-bytes,check:doc-authoringandcheck:issue-citations.check-empty-changeset.mjs --base origin/main. It names.changeset/pre/15204-s1-position-permission-sets.mdas "present on the merge base and CHANGED by this PR". This is the expected DELIBERATE CORRECTION red described above.dist/):check:dts-closure,check:dual-build-cjs-loads,check:i18n,check:lean-entry-closureandcheck:sourcemap-no-sources-content.Lint & Repo Gatesruns these on a fresh build.check-changeset-fixed.mjs,check:authz-resolver,check:error-code-casingandcheck:filter-alias-parity.Acceptance notes
content/docs/: no page carries the sentence. "Existing junction rows" andconvertPositionBindingRowshave zero hits undercontent/. The control wordsys_position_permission_sethas hits in six files there.content/docs/permissions/permission-sets.mdxalready says the ceremony converts authored sets "undersingle"..changeset/pre/. No script underscripts/reads both for text. The six-copy identity is held by the md5 above.os migratebecomesos migrate organization-ownership --apply. That is the command whose steps the bullet now names.Generated by Claude Code