RejectionCodes
Rejection codes as the Manifest, results, receipts and HTTP name them: a decide function may reject with the local name of a code of its aggregate (invalid-item, a code without a dot, declared within its @AggregateRoot class), which the kernel qualifies with the deciding command's aggregate type (eshop-basket.basket.invalid-item) before anything else sees it; a code with a dot is full, and stays as it is.
The framework's codes (wow.*) carry the framework's meaning: their HTTP status, and whether a client retries them. Only the framework's own commands, whose types are in the wow. namespace, decide one, and a domain command's thrown require and check are answered with FrameworkCodes.COMMAND_INVALID and FrameworkCodes.COMMAND_REFUSED (ThrownRejections); a domain command that rejects with another is answered FrameworkCodes.COMMAND_FAILED instead, with its message and the code it chose (REJECTED_CODE). A domain's other full codes stay as they are: a shared model's codes (tree.node-not-found) are named after the model rather than the context, and the edge looks a code's status up in the command's own context.
Properties
Functions
rejection, decided for a command of commandType, as the kernel answers it: its code qualified with type (qualify), or FrameworkCodes.COMMAND_FAILED when a domain command chose a framework code; rejection itself when its code is full and its own.