Skip to content

docs(plugin-security): freeze note on assertControlledByParentWrite (#9137) - #9199

Merged
os-project-manager merged 1 commit into
mainfrom
claude/issue-9137-guard-freeze-note
Aug 17, 2026
Merged

docs(plugin-security): freeze note on assertControlledByParentWrite (#9137)#9199
os-project-manager merged 1 commit into
mainfrom
claude/issue-9137-guard-freeze-note

Conversation

@os-project-manager

@os-project-manageros-project-manager commented Aug 17, 2026

Copy link
Copy Markdown
Collaborator

Fixes#9137

What

Adds the load-bearing freeze note the #8772 ruling's Direction 4 calls for
("immediately", ahead of or alongside the first ramp slice) at
assertControlledByParentWrite's absent-master-FK branch in
packages/plugins/plugin-security/src/security-plugin.ts. No behaviour
change
— comment-only.

The note states, in place:

Also corrects an adjacent, now-stale [#8959] paragraph in the same
branch.
It still read "#8772proposes a lint … it is open and unruled" —
true when #8959 landed it, false today: #8772 was ruled and closed on
2026-08-16 (comment 5306089973).
Left uncorrected, it would have sat one paragraph above this PR's own freeze
note and contradicted it. The corrected paragraph keeps #8959's actual
finding intact and current: no publish-time gate refuses these three shapes
yet — that remains true until #9138and#9139 both land — but it no
longer misdescribes #8772 itself as unruled.

Premise re-check (the card asked for this before writing)

Changeset

Comment-only, no behaviour change ⇒ no changeset. skip-changeset label
applied.

Tests

All commands below were re-run at this PR's final commit,
1a67152fc (git rev-parse --short HEAD).

  • pnpm --filter '@objectstack/plugin-security^...' build — dependency
    closure, green.
  • pnpm --filter @objectstack/plugin-security typecheck — green (tsc --noEmit, exit 0).
  • pnpm --filter @objectstack/plugin-security test — 66 test files, 1279
    tests, all passing (includes the already-pinned three-shape it.each
    above).
  • node scripts/check-cross-package-test-inputs.mjs,
    node scripts/check-test-source-alias.mjs,
    node scripts/check-type-source-resolution.mjs — the three path-derived
    gates from node scripts/pm/dispatch-gates.mjs — all green.
  • node scripts/check-adr-anchors.mjs — green (this file is ADR-0055
    content-anchored; the anchor is citation-based, not line-based, so the
    comment edit does not disturb it).
  • node scripts/check-nul-bytes.mjs — clean.
  • node scripts/check-i18n-bundles.mjs (after pnpm exec turbo run build --filter=@objectstack/cli) — "9 package(s) — all bundles in sync, no
    undeclared authoring keys" (comment-only edit produces no drift).

Generated by Claude Code

…9137)
Direction 4 of the #8772 ruling ("immediately"): a load-bearing comment
stating that this guard's absent-master-FK branch is the sole enforcement
point for three authorable controlled_by_parent master-reference shapes
(master_detail with no required; required+readonly; required+system) until
both ramp legs land — the builder-force slice (#9138) and the lint-at-v18
slice (#9139). No behaviour change.
Also corrects an adjacent [#8959] paragraph in the same branch that had
gone stale: it still described #8772 as "open and unruled", which stopped
being true on 2026-08-16. Left alone, it would have directly contradicted
the new freeze note one paragraph below it.
Co-Authored-By: Claude Code <noreply@anthropic.com>
@github-actions

Copy link
Copy Markdown
Contributor

📓 Docs Drift Check

This PR changes 1 package(s): @objectstack/plugin-security.

12 hand-written doc(s) reference the affected code and may need an implementation-accuracy re-verification:

  • content/docs/deployment/cli.mdx(via @objectstack/plugin-security)
  • content/docs/kernel/runtime-services/sharing-service.mdx(via @objectstack/plugin-security)
  • content/docs/kernel/services-checklist.mdx(via @objectstack/plugin-security)
  • content/docs/permissions/access-recipes.mdx(via packages/plugins/plugin-security)
  • content/docs/permissions/authorization.mdx(via @objectstack/plugin-security)
  • content/docs/permissions/explain.mdx(via @objectstack/plugin-security)
  • content/docs/permissions/permissions-matrix.mdx(via packages/plugins/plugin-security)
  • content/docs/permissions/sharing-rules.mdx(via @objectstack/plugin-security)
  • content/docs/plugins/index.mdx(via @objectstack/plugin-security)
  • content/docs/plugins/packages.mdx(via @objectstack/plugin-security)
  • content/docs/ui/audience-based-interfaces.mdx(via packages/plugins/plugin-security)
  • content/docs/ui/dashboards.mdx(via @objectstack/plugin-security)

1 release-owned page(s) also reference the affected code. These are read-only:

  • content/docs/releases/implementation-status.mdx(via @objectstack/plugin-security)

content/docs/releases/ is RELEASE-OWNED (AGENTS.md "Documentation Guardrails"): release
notes are written centrally at release time, and a code PR that edits them is the exact PR
that guardrail exists to stop. They are still audited — read-only. If one of them is actually
wrong, file an issue or open a dedicated docs-only PR; do not edit it here.

Advisory only. To re-verify, run the docs-accuracy-audit workflow scoped to these files:
node scripts/docs-audit/affected-docs.mjs origin/main → pass the list as args.docs.

@os-project-manageros-project-manager added the skip-changeset PR has no user-facing published change; bypasses the changeset gate label Aug 17, 2026 — with Claude
@os-project-manager
os-project-manager marked this pull request as ready for review August 17, 2026 01:41
@os-project-manager
os-project-manager added this pull request to the merge queueAug 17, 2026
Merged via the queue into main with commit 8abada3Aug 17, 2026
31 checks passed
@os-project-manager
os-project-manager deleted the claude/issue-9137-guard-freeze-note branch August 17, 2026 01:53
Sign up for freeto join this conversation on GitHub. Already have an account? Sign in to comment

Labels

size/sskip-changesetPR has no user-facing published change; bypasses the changeset gate

Projects

None yet

2 participants

@os-project-manager@claude