Skip to main content

Mission

Struct Mission 

Source
pub struct Mission {
Show 16 fields pub id: String, pub goal: String, pub validation_contract: Vec<Assertion>, pub milestones: Vec<Milestone>, pub status: MissionStatus, pub created_at: DateTime<Utc>, pub base_branch: String, pub base_sha: Option<String>, pub mission_branch: String, pub command_grants: Vec<String>, pub touch_set: Vec<String>, pub deny_exceptions: Vec<String>, pub egress_grants: Vec<String>, pub executor_route: Option<ExecutorRoute>, pub standards_manifest: Option<StandardsPin>, pub reviewer_independence: Option<ReviewerIndependence>,
}

Fields§

§id: String§goal: String§validation_contract: Vec<Assertion>

Defined BEFORE features (plan §2.3).

§milestones: Vec<Milestone>§status: MissionStatus§created_at: DateTime<Utc>§base_branch: String

e.g. “main”

§base_sha: Option<String>

Base-branch commit SHA pinned at plan approval; None until approved or for missions created before this field existed.

§mission_branch: String

e.g. kranz/mission-<id>

§command_grants: Vec<String>

Read-only shell commands granted mission-wide to worker AND validator sessions; single source of truth carried from the approved Plan.

§touch_set: Vec<String>

Gitignore/glob-style repo-relative path patterns the mission is allowed to touch; single source of truth carried from the approved Plan.

§deny_exceptions: Vec<String>

Worker deny rules (e.g. Bash(git push*)) an operator has LIFTED for this mission via a WorkerDeny grant — subtracted from the worker deny set by permissions::for_role. Extend-only, runtime-only (never plan- declared): a deliberate, logged erosion of a safety guardrail.

§egress_grants: Vec<String>

Egress destinations (host:port) an operator has GRANTED for this mission — folded into the egress proxy’s allowlist for fs+net sessions (crate::egress_proxy). Extend-only, runtime-only (never plan-declared): the fold target a GrantKind::Egress approval extends; read into the proxy allowlist at spec build so that approval needs no plumbing change.

§executor_route: Option<ExecutorRoute>

The executor route this mission was seeded with (ticket routing-rules-config): derived at fold time from mission.created’s original folded goal + routed config (crate::routing::seed_executor_route) — plan.approved overwrites goal with the plan’s own, so the task class exists only on that first event and the decision is folded here once, then replayed onto every worker.spawned. None when the seed carried no task class; additive (absent in pre-existing state snapshots). A mid-mission config.changed backend flip moves the LIVE tier (MissionState::executor_tier), not this seed-time record.

§standards_manifest: Option<StandardsPin>

The Flight Rules standards pin folded from the approved plan (plan.approved / plan.revised; KRZ-342 D-E) — the single source of truth every later mission stage resolves against. None for missions without a standards-configured pack and in every pre-KRZ-342 state snapshot; additive.

§reviewer_independence: Option<ReviewerIndependence>

Operator policy pinned by plan approval, never replaced by live config.

Trait Implementations§

Source§

impl Clone for Mission

Source§

fn clone(&self) -> Mission

Returns a duplicate of the value. Read more
1.0.0 (const: unstable) · Source§

fn clone_from(&mut self, source: &Self)

Performs copy-assignment from source. Read more
Source§

impl Debug for Mission

Source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter. Read more
Source§

impl<'de> Deserialize<'de> for Mission

Source§

fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>
where __D: Deserializer<'de>,

Deserialize this value from the given Serde deserializer. Read more
Source§

impl Serialize for Mission

Source§

fn serialize<__S>(&self, __serializer: __S) -> Result<__S::Ok, __S::Error>
where __S: Serializer,

Serialize this value into the given Serde serializer. Read more

Auto Trait Implementations§

Blanket Implementations§

Source§

impl<T> Any for T
where T: 'static + ?Sized,

Source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
Source§

impl<T> Borrow<T> for T
where T: ?Sized,

Source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
Source§

impl<T> BorrowMut<T> for T
where T: ?Sized,

Source§

fn borrow_mut(&mut self) -> &mut T

Mutably borrows from an owned value. Read more
Source§

impl<T> CloneToUninit for T
where T: Clone,

Source§

unsafe fn clone_to_uninit(&self, dest: *mut u8)

🔬This is a nightly-only experimental API. (clone_to_uninit)
Performs copy-assignment from self to dest. Read more
Source§

impl<T> DeserializeOwned for T
where T: for<'de> Deserialize<'de>,

Source§

impl<T> From<T> for T

Source§

fn from(t: T) -> T

Returns the argument unchanged.

Source§

impl<T> Instrument for T

Source§

fn instrument(self, span: Span) -> Instrumented<Self>

Instruments this type with the provided Span, returning an Instrumented wrapper. Read more
Source§

fn in_current_span(self) -> Instrumented<Self>

Instruments this type with the current Span, returning an Instrumented wrapper. Read more
Source§

impl<T, U> Into<U> for T
where U: From<T>,

Source§

fn into(self) -> U

Calls U::from(self).

That is, this conversion is whatever the implementation of From<T> for U chooses to do.

Source§

impl<T> PolicyExt for T
where T: ?Sized,

Source§

fn and<P, B, E>(self, other: P) -> And<T, P>
where T: Sized + Policy<B, E>, P: Policy<B, E>,

Create a new Policy that returns Action::Follow only if self and other return Action::Follow. Read more
Source§

fn or<P, B, E>(self, other: P) -> Or<T, P>
where T: Sized + Policy<B, E>, P: Policy<B, E>,

Create a new Policy that returns Action::Follow if either self or other returns Action::Follow. Read more
Source§

impl<T> Same for T

Source§

type Output = T

Should always be Self
Source§

impl<T> ToOwned for T
where T: Clone,

Source§

type Owned = T

The resulting type after obtaining ownership.
Source§

fn to_owned(&self) -> T

Creates owned data from borrowed data, usually by cloning. Read more
Source§

fn clone_into(&self, target: &mut T)

Uses borrowed data to replace owned data, usually by cloning. Read more
Source§

impl<T, U> TryFrom<U> for T
where U: Into<T>,

Source§

type Error = !

The type returned in the event of a conversion error.
Source§

fn try_from(value: U) -> Result<T, !>

Performs the conversion.
Source§

impl<T, U> TryInto<U> for T
where U: TryFrom<T>,

Source§

type Error = <U as TryFrom<T>>::Error

The type returned in the event of a conversion error.
Source§

fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

Performs the conversion.
Source§

impl<T> WithSubscriber for T

Source§

fn with_subscriber<S>(self, subscriber: S) -> WithDispatch<Self>
where S: Into<Dispatch>,

Attaches the provided Subscriber to this type, returning a WithDispatch wrapper. Read more
Source§

fn with_current_subscriber(self) -> WithDispatch<Self>

Attaches the current default Subscriber to this type, returning a WithDispatch wrapper. Read more