Actions and result contracts
Documentation status: guide — see Maturity and evidence.
functionalP is commonly used as the body of a declared action. The action declaration remains the contract; the script is only one operationalization of that contract.
Keep the declaration authoritative
A public action should define its owner, name, parameter direction/types, publication state, and return convention in metadata. The script reads the provided inputs and writes the declared outputs.
if Amount < 0 then
begin
Message := 'Amount must be non-negative';
Result := false;
end
else
begin
Result := true;
end;
This example deliberately avoids any implementation class identifier.
Object action vs process
Use an object action when one conceptual object owns the behavior. Introduce a process when the operation crosses several objects, waits for external work, emits several significant events, or must be resumed.
Published actions
A script does not make an action public. Publication is declared by the model and remains subject to authentication, authorization, validation, and process state.