Repository navigation
fix(types,docs): the turned-off sentence and the docs stop pointing at retired Setup pages - #29476
Conversation
…t retired Setup pages The switched-off packaged item sentence names Setup › Packaged Actions for an action and the package's Automations in Studio for a flow, instead of the retired Setup › Packaged automation page. The permissions docs point at Studio's All metadata area for position and permission-set definitions and at Setup's Position Holders and Permission Set Assignment pages for who holds them. The six pinned tests and the two pending changesets that quote the sentence follow. Claude-Session: https://claude.ai/code/session_01JQwxbW35xq9yvZvbd174ve Co-authored-by: Claude <noreply@anthropic.com>
…the live pages api-backend.packaged-action-disabled-dispatch and automation.packaged-flow-disable-durable quoted the retired Setup › Packaged automation remedy and carried a TRANSITIONAL known gap saying they would be re-pointed when the producer moved. The producer moved in this branch, so the quoted remedy follows and both gaps are retired. Claude-Session: https://claude.ai/code/session_01JQwxbW35xq9yvZvbd174ve Co-authored-by: Claude <noreply@anthropic.com>
📓 Docs Drift CheckThis PR changes 1 package(s): 21 hand-written doc(s) name something this change touched — list omitted above 15 rows. Re-derive on the tree named below: ⛔ 4 release-owned page(s) also affected — read-only, see AGENTS.md Documentation Guardrails. What this run could not see
Coarse fallback — 11 page(s) merely mention a changed package (the pre-#9192 predicate, kept for the deliberately-wide backstop): Which tree this was computed onThis run read A worktree cut from an older # while this PR is open — GitHub drops the merge commit once it closes
git fetch origin d62b649b32d6753615f343f0821ab4ef296276c8 && git checkout d62b649b32d6753615f343f0821ab4ef296276c8
# afterwards, rebuild it from the two parents, which stay fetchable
git fetch origin 94d3e2543488fceda39fbfe88036bb6887037390 6a1dd2e1fd8926d82bc9fdac3e655519f874c44e && git checkout -B drift-repro 94d3e2543488fceda39fbfe88036bb6887037390 && git merge --no-ff 6a1dd2e1fd8926d82bc9fdac3e655519f874c44e
node scripts/docs-audit/affected-docs.mjs --json 94d3e2543488fceda39fbfe88036bb6887037390
|
|
domain:devx#1 · os-warren · session_01JQwxbaBjisxkQo9hht9bFB Contract-review-claim: session_01JQwxbaBjisxkQo9hht9bFB · head ac19230 · 2026-11-02T16:17Z |
|
domain:devx#1 · os-warren · session_01JQwxbaBjisxkQo9hht9bFB Contract reviewServed-tier: Inputs: card #29374 body and all three comments (triage 6580463328, claim 6580761426, os-dev-report 6582133604); PR #29476 body, its 18-file list and the net diff; the check-runs on the head (all 65 completed at review time: 56 success, 8 skipped, 1 failure, ① Derived judgments
② Semver level
③ Boundary flagsDELIBERATE CORRECTION — per sentence.
So the answer to the dev report's open question is A: confirm the correction and land with Other flags in the os-dev-report, answered:
④ Design judgmentDoes the new sentence send a person to a page that exists and does what the sentence says, per kind? Action — Flow — The docs pages, against the code they now cite (prose, read for agreement only): Position Holders and Permission Set Assignment are Findings
No must-fix. Implemented-by: VERDICT: PASS |
… turned-off sentences differ Contract-review should-fixes: the administrator guide names the user's record page, Positions tab, New, as the place a business-unit anchored assignment is made; the pending 27966 changeset no longer says only the last clause differs between the action and flow sentences. Claude-Session: https://claude.ai/code/session_01JQwxbW35xq9yvZvbd174ve Co-authored-by: Claude <noreply@anthropic.com>
|
domain:devx#1 · os-warren · session_01JQwxbaBjisxkQo9hht9bFB Regen-provenance: 6582421319 · A prose-only hop: the record's two should-fixes, nothing else. The changed changeset sentence is confirmed sentence by sentence in the seat's ACCEPT. |
|
domain:devx#1 · os-warren · session_01JQwxbaBjisxkQo9hht9bFB 维护者速读
席位核对ACCEPT ·
|
Requested by Warren · project thread
Fixes #29374
Clause-②: no
Metadata-protocol: none
维护者速读
ACTION_DISABLED/FLOW_DISABLED不变,机器读的是码不是句子;回滚即 revert 本 PR。packages/types/src/packaged-item-turned-off.ts(句子本体)、content/docs/permissions/administrator-guide.mdx(步骤改写最多)、两份待发布 changeset 的引文改动。pnpm --filter @objectstack/types exec vitest run src/packaged-item-turned-off.test.ts,预期 6/6 通过,动作句含Setup › Packaged Actions,流程句含Automations in Studio。Check Changeset的 empty-changeset 门禁会因改动两份既有待发布 changeset 保持红,见下方 Acceptance notes,需确认)。What changes
Item 3: the turned-off sentence, by kind (
packages/types/src/packaged-item-turned-off.ts). The sentence both refusal engines send (describeTurnedOffPackagedItem) named the retired Setup › Packaged automation page. It now names where each switch is:nav_packaged_actions(packages/platform-objects/src/apps/setup-nav.contributions.ts, labelPackaged Actions). No action-clone offer, as before.ui/packages/app-shell/src/views/studio-design/FlowItemMoreMenu.tsx,setupMetadataRedirect.tspackagedAutomationStudioPath), so the "copy it there" clause stays true.The doc comment no longer calls the page live and explains the two per-kind parts (where, and meanwhile). Plain language, no ADR or tracker number in the runtime string.
Item 2: docs steps, each confirmed in code (
content/docs/permissions/):administrator-guide.mdxStep 3 (was:107): a position's holders are assigned on Setup → People & Organization → Position Holders (nav_position_holders,packages/plugins/plugin-security/src/security-plugin.ts; pageui/packages/app-shell/src/views/setup/PositionHoldersPage.tsx). That page's Add writesuser_idandpositiononly (PositionHoldersSection.tsx), so the step now says a business-unit anchored assignment is created as a User Position row directly, withbusiness_unit_id.administrator-guide.mdxdirect grants (was:117): Setup → People & Organization → Permission Set Assignment (nav_permission_set_assignment;PermissionSetAssignmentPage.tsxrenders the sameAssignedUsersSection, titled Assigned Users). Studio's item page shows a link to this Setup page rather than the section (SetupAssignmentsLink.tsx), so Setup is where the task is done.administrator-guide.mdxmatrix editor (was:151) andaccess-recipes.mdx:50: Studio → All metadata → Permission Set, then open the set (PermissionMatrixEditor.tsx, which carries the When (edit) column,perm.field.when).administrator-guide.mdx"Where is everything": definitions and the on/off switch of positions, permission sets and capabilities are in Studio → All metadata; who holds them is the two Setup people pages.authorization.mdx(was:251-253): the catalog list is Studio's All metadata area,/studio/~all/metadata/permission?scope=environment, and the old Setup address redirects there (same wording aspermission-sets.mdx:386-387).Item 1: the sweep in other words. Extra hits added here:
authorization.mdx:33(capabilities "extended by admins in Setup") and:419-420(the on/off switch now sits on the item's page in Studio's All metadata area, per the plugin-security comment above its nav contributions),delegated-administration.mdx:55(the Delegated Admin Scope block is in the permission set editor,PermissionAdvancedFacets.tsx, now in Studio),capabilities.mdx:124,:272(a capability's label is shown to the administrator who grants it, no longer "in Setup"), anddata-modeling/analytics.mdx:149(Setup › Datasets: a dataset is metadata, every Setup metadata URL other than a datasource redirects into Studio's All metadata area,setupMetadataStudioPath, and no Setup navigation entry names datasets).skills/**: zero hits, so this PR touches no governed surface.Item 5: the six pinned tests follow the new sentence.
flow-activation-ledger.test.ts's status-disabled check now asserts the message carries no turn-on remedy at all (not.toContain('turn it on again')), which still holds whatever page the remedy names. The types test gains one case per kind: the sentence never names Packaged automation.Pending changesets.
.changeset/27842-disabled-actions-served.mdand.changeset/27966-flow-disabled-plain-sentence.mdare unreleased and quoted the old sentence verbatim; left as they were, the 18.3.0 CHANGELOG would publish a sentence this PR makes false. Only the quoted sentence (and, in 27966, "switched off under Setup › Packaged automation" → "an administrator switched off") changes. The devx seat accepted this widening on the claim (comment 6580761426).Platform checklist (
docs/qa/platform-checklist/areas/), after #29438 landed andmainwas merged:api-backend.packaged-action-disabled-dispatch(acceptance[0] clause and verify, acceptance[6] verify) andautomation.packaged-flow-disable-durable(acceptance[1] clause and verbatim verify, negative[3]) re-point their remedy phrase to the new sentence, and the two TRANSITIONAL known gaps that promised this re-point are retired. Revisions 13 and 10, history rows added.Patch changeset on
@objectstack/types.Why
N-28 (#28578) retired Setup's metadata catalog (Positions, Permission Sets, capabilities, every metadata type except datasource) and the Setup › Packaged automation page (ADR-0146 D1, D4, D11; M-1 ruling 6554738464). A person refused a switched-off action or flow was told to send an administrator to a page that no longer exists, and an administrator following the permissions docs looked for menus that are gone.
Tests
@objectstack/typespackaged-item-turned-off.test.ts6/6,@objectstack/objectqlaction-activation.test.ts22/22,@objectstack/runtimedomains/action-activation-dispatch.test.ts12/12,@objectstack/service-automationflow-activation-ledger.test.ts49/49,@objectstack/typestypecheck clean.@objectstack/typesrebuilt first (downstream tests read itsdist).api-action-door-forward.dogfood.test.tsandpackaged-action-disabled-dispatch-live.dogfood.test.ts, 2 files, 18/18 (head 53a942a, before the main merge, which did not touch the sentence or these files).packaged-item-turned-off.ts(viascripts/ablation-replace.mjs, mutation proven on disk, restored to the HEAD blob) turns two types cases red: the byte-for-byte action sentence and the new "never names Packaged automation" case.Acceptance notes
administrator-guide.mdx:216(| Sharing rules, record shares | Setup → Access Control |) still matches the card's Re-check grep and is left as is: it is correct.@objectstack/plugin-sharingstill contributes Sharing Rules and Record Shares to Setup'sgroup_access_control(packages/plugins/plugin-sharing/src/sharing-plugin.ts).authorization.mdx:254andpermission-sets.mdx:387name the old/apps/setup/metadata/permissionaddress only to say it redirects to Studio;packaged-item-turned-off.ts:24is the doc comment saying the page is retired;packages/spec/src/api/protocol.zod.ts:755is item 4, split to spec(protocol): thedisabledActionsdescribe text still sends admins to the retired Setup › Packaged automation page (item 4 of #29374) #29446 (domain:spec) and not touched here.check-empty-changesetstays red by design: this PR rewrites two pending release notes that it made false. That is its DELIBERATE CORRECTION case, which asks for confirmation on the PR rather than a restore; restoring them would publish the false sentence.27842-disabled-actions-beside-item.md, which belongs with spec(protocol): thedisabledActionsdescribe text still sends admins to the retired Setup › Packaged automation page (item 4 of #29374) #29446's spec line,28044-…,27504-…,27378-…,27521-…,29139-…);ui/packages/**code comments that name the old page (out of scope per the card);ui/packages/app-shell/src/views/studio-design/datasetCreate.tsxstill says "Setup › Datasets" in a comment.Verification
Derived gate list:
node scripts/pm/dispatch-gates.mjs --commands --repo objectstack-ai/objectstackat head ac19230, run locally and reconciled with--ran; results and the CI check-runs are in theos-dev-reportcomment on #29374. Docs build and the link check run in CI (Build Docs,check-links.yml); this PR adds and moves no links.Human Minimum
packages/specholds no runtime logic. (packages/specuntouched)pnpm lintpasses. (lint runs in CI)main, one pull request.packages/spectouched: n/a.content/docs/references/,packages/*/CHANGELOG.mdorcontent/docs/releases/.Generated by Claude Code