Found while working #9698 (PR #9890) — recording, not claiming. Same family as that card (sharing metadata that is taught as valid and grants nothing), but a different surface and a different fix, so it is not carried in that PR.
What is wrong
type: 'owner' sharing rules and the ownedBy key no longer parse — v17 (#1878) removed them from SharingRuleSchema rather than leave them declared-but-skipped (ADR-0049). Two docs pages still present them as authorable, and one of them contradicts itself on the same page.
1. content/docs/permissions/permissions-matrix.mdx — the "Configuration Example" block ships a second rule in the removed form:
{
name: 'west_accounts_to_directors',
object: 'account',
type: 'owner',
ownedBy: { type: 'position', value: 'west_region_rep' },
sharedWith: { type: 'position', value: 'sales_director' },
accessLevel: 'edit',
}
The same page's own Enforcement status callout, a few lines above, already says the opposite: "owner-type rules and group / guest recipients — previously declared but skipped at seed time — no longer parse". An author who copies the example gets a parse failure from a page that told them it would fail.
2. content/docs/protocol/objectql/security.mdx — carries a whole ### Owner-Based Sharing section with a YAML example and a reference to OwnerSharingRuleSchema. Its enforcement callout is also stale in a subtler way: it says owner-type rules are "[experimental — not enforced]: the seed bootstrap skips them (logged)", which describes the pre-v17 state. They are not skipped now; they do not parse.
The second one is the more expensive of the two, because "skipped but authorable" and "rejected at parse" call for different author behaviour, and this is the protocol reference.
Not in scope here
content/docs/permissions/sharing-rules.mdx:234 already states the removal correctly — it is cited as the shape the two pages above should converge on, not as a defect.
The v17 release note (content/docs/releases/v17.mdx:432) mentions ownedBy as removed vocabulary, which is correct and is release-notes territory anyway.
Suggested shape (not prescribed)
Replace both examples with the enforced criteria form, and repair the protocol page's enforcement callout to say "removed in v17, does not parse" rather than "experimental — not enforced". Whether OwnerSharingRuleSchema still exists as a name worth mentioning in the protocol reference is the one judgement call here.
Generated by Claude Code
Found while working #9698 (PR #9890) — recording, not claiming. Same family as that card (sharing metadata that is taught as valid and grants nothing), but a different surface and a different fix, so it is not carried in that PR.
What is wrong
type: 'owner'sharing rules and theownedBykey no longer parse — v17 (#1878) removed them fromSharingRuleSchemarather than leave them declared-but-skipped (ADR-0049). Two docs pages still present them as authorable, and one of them contradicts itself on the same page.1.
content/docs/permissions/permissions-matrix.mdx— the "Configuration Example" block ships a second rule in the removed form:The same page's own Enforcement status callout, a few lines above, already says the opposite: "
owner-type rules andgroup/guestrecipients — previously declared but skipped at seed time — no longer parse". An author who copies the example gets a parse failure from a page that told them it would fail.2.
content/docs/protocol/objectql/security.mdx— carries a whole### Owner-Based Sharingsection with a YAML example and a reference toOwnerSharingRuleSchema. Its enforcement callout is also stale in a subtler way: it says owner-type rules are "[experimental — not enforced]: the seed bootstrap skips them (logged)", which describes the pre-v17 state. They are not skipped now; they do not parse.The second one is the more expensive of the two, because "skipped but authorable" and "rejected at parse" call for different author behaviour, and this is the protocol reference.
Not in scope here
content/docs/permissions/sharing-rules.mdx:234already states the removal correctly — it is cited as the shape the two pages above should converge on, not as a defect.The v17 release note (
content/docs/releases/v17.mdx:432) mentionsownedByas removed vocabulary, which is correct and is release-notes territory anyway.Suggested shape (not prescribed)
Replace both examples with the enforced
criteriaform, and repair the protocol page's enforcement callout to say "removed in v17, does not parse" rather than "experimental — not enforced". WhetherOwnerSharingRuleSchemastill exists as a name worth mentioning in the protocol reference is the one judgement call here.Generated by Claude Code