ProtectedInternalInternal method that must be implemented by derived action classes. This is where the actual action logic should be implemented.
The action execution parameters including typed context
Promise resolving to the action result
Executes the action with the provided parameters.
The action execution parameters including context
Promise resolving to the action result
Create a net-new interactive-form override for the requesting user.
Net-new path only. Returns ALREADY_EXISTS if the user already has an Active override for the target entity — agents should call
Get Active Form For Entityfirst and route toModify Interactive Formin that case. (Pending sibling overrides do NOT block creation — those are an in-flight refinement and Modify will resolve them in-place.)Security clamp — Scope. This action always writes
Scope='User', UserID=ctx.user.ID, Status='Active', Priority=0, regardless of any scope-related parameter the caller might supply. This is the load-bearing safety property of the AI authoring path: an agent cannot write Global or Role overrides that would affect other users. Scope promotion (User → Role → Global) is a separate, deliberate human action in Component Studio / Form Builder dashboard.Atomicity. If the override insert fails after the Component insert succeeds, we surface PERSIST_FAILED with the Component already in the table. Orphan Components are harmless — they don't render anywhere until something points an override at them. The caller can retry; a second run will create a fresh Component and a successful override.