Skip to content

docs: metadata-lifecycle overlay-whitelist table contradicts the registry on flow — table says allowOrgOverride ✅, code and tests say ❌ #11664

Description

@yinlianghui

What

The "Overlay whitelist (shared-DB tenancy invariant)" table in content/docs/concepts/metadata-lifecycle.mdx lists:

| flow | ✅ | Per-org overlays are allowed for automation definitions. |

But the registry — which that very section declares to be the single machine-readable source ("The whitelist lives in one place: MetadataTypeRegistryEntry.allowOrgOverride") — says the opposite (packages/spec/src/kernel/metadata-plugin.zod.ts, flow entry):

{type: 'flow',,supportsOverlay: false,allowOrgOverride: false,allowRuntimeCreate: true,}

The adjacent code comment documents the rationale (the #6190 phantom: an org-scoped flow overlay wrote successfully and lost its binding on the next cold start, because the loader cannot merge per-org flow overlays; rolling the flag back turned the silent phantom into a loud 403 not_overridable). Conformance tests pin the refusal: save-meta-response-conformance.test.ts ("allowOrgOverride: false for flow, so an org-scoped write is …") and publish-meta-response-conformance.test.ts ("org-scoped draft is refused").

Why it matters

The table tells an integrator that an org-scoped flow overlay will persist; in reality the write 403s. Anyone building on the docs row plans a customization path that does not exist.

Suggested fix

Found while fact-checking a promo video's on-screen claims against the runtime (video-studio #4). Filing as a finding — unassigned, not claimed.

Metadata

Metadata

Assignees

Type

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions