A command object should state the desired outcome, affected scope, requested action, issuing authority, receiving owner, deadline, required evidence, constraints, and completion condition. It should also state whether the request is advisory, preparatory, executable, or approval-gated. That contract gives the recipient enough context to accept, narrow, challenge, or refuse the request without reconstructing its purpose from a message thread.
Commands also need lifecycle states. Proposed, reviewed, accepted, active, blocked, completed, superseded, and cancelled describe different operating realities. A model-generated plan should begin as proposed, not active. A dispatched task should not appear complete because a worker returned text. A completed action should not be called successful until the agreed result is observed. Clear state prevents command language from outrunning evidence.