diff --git a/Prototypes/command-editor-v1.html b/Prototypes/command-editor-v1.html new file mode 100644 index 000000000..bed23cac1 --- /dev/null +++ b/Prototypes/command-editor-v1.html @@ -0,0 +1,1448 @@ + + +
+ + +Change the values and watch the path through the flow. This runs the declarative model only; C# and named rules are skipped.
+One property names the thing that changes — its identifier. Generated values are made by the command itself, after the checks, and are never asked for.
+A read model some projection builds. Its fields can be used in requirements and mapped into events. Read the same view twice? Give each an alias.
+Policies are checked before anything else. "and" binds tighter than "or". A caller who fails is turned away as Unauthorized — no events.
+Every failed check rejects the command, even at warning or information severity — severity only shapes how the message is shown.
+A rule about the command as a whole — often about state it reads. Use "or" for a rule that only applies sometimes.
+Yields the message of every rule the command breaks. Can see the whole command and who sent it.
+Generated after authorization and validation, so rules and policies can't refer to them. They can be mapped into events and given back.
+Mark a property as generated in Input.
+Compares command properties with constants. Each "when" is checked on its own — several can fire.
+The event source is never part of the payload.
+For logic the produces flow can't express — batches, loops, fan-out to other event sources. A command uses either produces or a handler, never both.
+context is the CommandContext: the command, tenant, caller, causation and when it was received.
+Only on acceptance. One field gives back a single value; more make a record. Each comes straight from a command property.
+{{d.t}}
+Examples you saved from Try it. They re-run every time the design changes.
+Every failed rule rejects the command — severity only changes how the message is shown.
+Checked before anything else. "and" binds tighter than "or". A caller who fails is turned away as Unauthorized.
+Usually about the state it reads. Property rules live on each property in the command card. Use "or" for a rule that only applies sometimes.
+Made after authorization and validation, so rules and policies can't refer to them. Mark a property generated with the wand in the command card.
+Compares command properties with constants. Each "when" is checked on its own — several can fire.
+For logic the produces flow can't express. A command uses either produces or a handler, never both.
+Arc runs operations after the events are enrolled and before they commit, in this order. If one fails, Arc compensates what it attempted — newest first — and never what didn't start.
+No reversal: if a later step fails, this one stays done. Arc never invents one.
Given back only when the command is accepted. Every value comes straight from a property of the command — generated ones included.
+Fields keep this order and are the response's contract names.
+{{concIntro}}
+No event types chosen means every type counts.
+{{race.note}}
+Drag one onto the read model header to map it by convention, or onto a property to map just that.
+{{pe.link.text}}
+Replays the events from Try it's "Given", in order, and shows the instances they build.
+{{d.t}}
+