pub enum ReasoningInput {
Assessment(AssessmentInput),
Plan(PlanInput),
Consultation(ConsultationInput),
Disagreement(DisagreementInput),
Resolution(ResolutionInput),
Conclusion(ConclusionInput),
Validation(ValidationInput),
Attempt(AttemptInput),
}Expand description
Anything a session records, as authored.
The JSON form is tagged by kind, with the variant’s fields beside the tag. This is
what the CLI, HTTP and MCP surfaces accept; crate::reasoning::store::admit turns
it into the ReasoningBody that is stored, or refuses it.
use majordomus_cli::reasoning::record::ReasoningInput;
let input: ReasoningInput = serde_json::from_value(serde_json::json!({
"kind": "plan",
"assessment": "assessment-1",
}))
.unwrap();
assert!(matches!(input, ReasoningInput::Plan(ref p) if p.assessment == "assessment-1"));
let unknown = serde_json::json!({ "kind": "opinion", "text": "x" });
assert!(serde_json::from_value::<ReasoningInput>(unknown).is_err());Variants§
Assessment(AssessmentInput)
A material uncertainty.
Plan(PlanInput)
Make and record the plan for an assessment.
Consultation(ConsultationInput)
One advisor exchange.
Disagreement(DisagreementInput)
A disagreement.
Resolution(ResolutionInput)
A disagreement settled by evidence.
Conclusion(ConclusionInput)
An engineering conclusion.
Validation(ValidationInput)
A validation step performed.
Attempt(AttemptInput)
A failed attempt.
Trait Implementations§
Source§impl Clone for ReasoningInput
impl Clone for ReasoningInput
Source§fn clone(&self) -> ReasoningInput
fn clone(&self) -> ReasoningInput
Returns a duplicate of the value. Read more
1.0.0 (const: unstable) · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
Performs copy-assignment from
source. Read moreSource§impl Debug for ReasoningInput
impl Debug for ReasoningInput
Source§impl<'de> Deserialize<'de> for ReasoningInput
impl<'de> Deserialize<'de> for ReasoningInput
Source§fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>where
__D: Deserializer<'de>,
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 JsonSchema for ReasoningInput
impl JsonSchema for ReasoningInput
Source§fn schema_id() -> Cow<'static, str>
fn schema_id() -> Cow<'static, str>
Returns a string that uniquely identifies the schema produced by this type. Read more
Source§fn json_schema(generator: &mut SchemaGenerator) -> Schema
fn json_schema(generator: &mut SchemaGenerator) -> Schema
Generates a JSON Schema for this type. Read more
Source§fn inline_schema() -> bool
fn inline_schema() -> bool
Whether JSON Schemas generated for this type should be included directly in parent schemas,
rather than being re-used where possible using the
$ref keyword. Read moreAuto Trait Implementations§
impl Freeze for ReasoningInput
impl RefUnwindSafe for ReasoningInput
impl Send for ReasoningInput
impl Sync for ReasoningInput
impl Unpin for ReasoningInput
impl UnsafeUnpin for ReasoningInput
impl UnwindSafe for ReasoningInput
Blanket Implementations§
Source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more