DecisionPlan: Construct a coordinated decision plan

View source: R/grouped_decisions.R

DecisionPlanR Documentation

Construct a coordinated decision plan

Description

Represents one complete set of selections returned by a grouped policy consultation. Each named entry is either one ActionEvent() or explicit NULL, meaning that the eligible leaf was considered but no new action was selected. Completeness against the eligible members is validated by the Engine, which has the activation context.

At runtime, selections must name every and only eligible member exactly once. An explicit NULL means "considered, but no new action selected"; it does not cancel an action already pending for that member. Core validates the complete plan and every pending-slot outcome before modifying any member slot. This all-or-none boundary covers plan acceptance and staging only. Accepted constituent actions subsequently arbitrate and realize as independent timeline events.

Usage

DecisionPlan(selections, metadata = NULL)

Arguments

selections

Non-empty named list with unique leaf decision-point ids. Every value must be an ActionEvent() or explicit NULL.

metadata

Optional named list of compact plan-level provenance. Core treats these values as opaque audit information, never as execution input. When trajectory logging is enabled, metadata is retained on raw grouped leaf records but is not flattened by trajectory_table().

Value

A list of class "DecisionPlan".


fluxCore documentation built on Sept. 22, 2026, 5:07 p.m.