pub struct Plan {
pub goal: String,
pub validation_contract: Vec<Assertion>,
pub milestones: Vec<PlanMilestone>,
pub considered_alternatives: Option<ConsideredAlternatives>,
pub command_grants: Vec<String>,
pub touch_set: Vec<String>,
pub standards_manifest: Option<Box<StandardsPin>>,
pub reviewer_independence: Option<ReviewerIndependence>,
}Expand description
The approved plan as emitted by the orchestrator and committed by the engine as the first commit on the mission branch (plan §4.4).
Fields§
§goal: String§validation_contract: Vec<Assertion>§milestones: Vec<PlanMilestone>§considered_alternatives: Option<ConsideredAlternatives>Review material required for broad/expensive plans: the approach the planner chose and at least two rejected shapes with their trade-offs.
command_grants: Vec<String>Read-only shell commands the plan declares as runnable by BOTH worker and validator sessions.
touch_set: Vec<String>Gitignore/glob-style repo-relative path patterns the mission is allowed to touch.
standards_manifest: Option<Box<StandardsPin>>The Flight Rules standards manifest pinned at approval (ticket
flight-rules-resolution-pin, KRZ-342; design D-E): the
engine-resolved applicable-rule snapshot — pack identity + digest,
selection inputs, and every applicable rule’s id, revision, effective
status, statement, scopes, and checker binding. The ENGINE resolves
and writes it from the trusted source at approve_plan; a plan
carrying a stale or substituted manifest is rejected there. Additive:
None in every pre-KRZ-342 plan and whenever no standards-configured
pack governs, and skip_serializing_if keeps those plans
byte-identical. Boxed: the pin is a rare, sizable field, and an
inline StandardsPin would push Plan past the
large_enum_variant budget on PlanRequest::Ready.
reviewer_independence: Option<ReviewerIndependence>Engine-owned review requirement, copied from configuration at approval.