Who, if anyone, fires the activity's actions — derived from its shape
alone: autonomous (every action cascade-fired), interactive (only
fireAction-fired actions), off-system (target present), or hybrid.
OptionalfilterDerived state of the activity's filter existence gate. Present iff
declared. Advisory read: the engine's stage entry owns the gate itself.
The activity's shape-derived ActivityKind. Advisory: a label so a
consumer can render each activity as what it is (user / service /
script / manual / receive).
Whether this activity is the current actor's responsibility right now.
OptionalrequirementDerived state per declared requirement, keyed by requirement name.
Present iff the activity declares requirements; unmetRequirements
contains descriptors for exactly the requirements whose insight isn't satisfied.
The stage-entry filter scoped this activity out of the current visit:
its entry is skipped and never started, so it does not exist for this
visit — surfaces hide it entirely (an action-resolved skipped was real,
started work and stays visible). Derived via isFilterScopedOut,
stamped here so consumers never re-join entry state to compute it.
OptionalsemanticsThe activity's advisory workflow meaning, unchanged from its definition.
OptionalunmetThe activity's unmet Activity.requirements, with authored display copy — present iff at least
one is unmet. The activity's own readiness summary: a consumer can explain why
the whole activity is gated without inspecting each action (every action also
carries the matching requirements-unmet disabledReason).
The causal refinement of ActivityEvaluation.classification: whether this activity completes without a caller, derived by deriveWorkflowAutonomy's dataflow over the definition — a mechanically
autonomousactivity whose triggers only read caller-written state still reports the caller it waits on.