Skip to main content

PrescriptiveDeclaration

Struct PrescriptiveDeclaration 

Source
pub struct PrescriptiveDeclaration {
Show 13 fields pub kind: PrescriptiveKind, pub items: Vec<String>, pub filled_by: Vec<String>, pub reviewed_by: Vec<String>, pub ordered_by: Option<String>, pub frame: Option<String>, pub need_text: Option<String>, pub label: Option<String>, pub file: PathBuf, pub line: usize, pub item_kind: String, pub item_target: ItemTarget, pub structural_fingerprint: String,
}
Expand description

A prescriptive work-orchestration declaration discovered in source (ADR-033).

Covers all eight primitives. The kind field distinguishes them (and maps to a WorkShape via PrescriptiveKind::shape); the rest are loosely-typed optional captures shared across kinds for forward-compat (ADR-009), mirroring RecurrentDeclaration. Scan is recall-tuned (ADR-010): every field is optional here; per-kind required-field validation lives at the audit layer (and at parse-time in the macros). All members are antigen-category SubstrateAlignment+FunctionalCorrectness per ADR-024/ADR-028.

Fields§

§kind: PrescriptiveKind

Which prescriptive primitive was declared.

§items: Vec<String>

needs (panel) / rule_out (ddx) / priority_order (triage) — the shape’s required list. Held as one field because exactly one of the three is meaningful per kind; the audit reads it through the kind’s shape.

§filled_by: Vec<String>

who-refs that fill the work (panel/rx filled_by; refer to; biopsy deep_investigation_by; ddx investigator; triage triaged_by).

§reviewed_by: Vec<String>

who-refs that review the work (panel/rx reviewed_by; ddx reviewer).

§ordered_by: Option<String>

who-ref that ordered the work (panel ordered_by).

§frame: Option<String>

The intrinsic temporal frame, if any (panel/rx due; refer response_due; triage re_triage_due; culture runs_until; quarantine until). ISO-8601.

§need_text: Option<String>

The primary free-text content of the need (rx treatment; biopsy request_text; ddx symptom; culture test_kind; quarantine reason).

§label: Option<String>

A secondary opaque label (rx diagnosis; biopsy location; quarantine scope) — a v0.3 opaque label, not resolved (VOID-4b).

§file: PathBuf

Source file path.

§line: usize

Line number.

§item_kind: String

Item kind that was annotated.

§item_target: ItemTarget

Item identity for structural cross-referencing.

§structural_fingerprint: String

Structural digest of the annotated item AS SCANNED, computed by antigen_fingerprint::structural_digest. The audit pins who-step satisfaction to this fingerprint (NFA-21): an attestation that signed against an older fingerprint is stale and does NOT count toward fulfillment — the same freshness discipline immunity witnesses use (mirrors Immunity::structural_fingerprint).

#[serde(default)] so reports serialized before this field deserialize cleanly with an empty fingerprint (the audit falls back to the sidecar’s stored value when empty, the same legacy path as the immunity audit).

Trait Implementations§

Source§

impl Clone for PrescriptiveDeclaration

Source§

fn clone(&self) -> PrescriptiveDeclaration

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 PrescriptiveDeclaration

Source§

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

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

impl<'de> Deserialize<'de> for PrescriptiveDeclaration

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 PrescriptiveDeclaration

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, 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> 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 = Infallible

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

fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

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.