pub struct LiveInput {
pub commit: String,
pub summary: String,
pub motivation: Option<String>,
pub rejected_alternatives: Vec<RejectedAlternativeInput>,
pub follow_up: Option<String>,
pub decisions: Vec<DecisionInput>,
pub markers: Vec<MarkerInput>,
pub effort: Option<EffortInput>,
pub staged_notes: Option<String>,
}Expand description
Input for the v2 live annotation path.
Designed for minimal friction. Most commits need only two fields:
{ "commit": "HEAD", "summary": "What and why." }Rich annotation when warranted:
{
"commit": "HEAD",
"summary": "...",
"motivation": "...",
"rejected_alternatives": [...],
"decisions": [...],
"markers": [...],
"effort": { "id": "...", "description": "...", "phase": "in_progress" }
}Fields§
§commit: String§summary: StringWhat this commit does and why (becomes narrative.summary).
motivation: Option<String>What triggered this change? (narrative.motivation)
rejected_alternatives: Vec<RejectedAlternativeInput>What alternatives were considered and rejected. Accepts either strings (“Tried X but Y”) or objects ({“approach”: “…”, “reason”: “…”}).
follow_up: Option<String>Expected follow-up work (narrative.follow_up).
decisions: Vec<DecisionInput>Design decisions.
markers: Vec<MarkerInput>Code-level markers.
effort: Option<EffortInput>Link to broader effort.
staged_notes: Option<String>Pre-loaded staged notes text (appended to provenance.notes). Not part of the user-facing JSON schema; populated by the CLI layer.
Trait Implementations§
Source§impl<'de> Deserialize<'de> for LiveInput
impl<'de> Deserialize<'de> for LiveInput
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 LiveInput
impl JsonSchema for LiveInput
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 LiveInput
impl RefUnwindSafe for LiveInput
impl Send for LiveInput
impl Sync for LiveInput
impl Unpin for LiveInput
impl UnwindSafe for LiveInput
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
Source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
Source§impl<T> Instrument for T
impl<T> Instrument for T
Source§fn instrument(self, span: Span) -> Instrumented<Self>
fn instrument(self, span: Span) -> Instrumented<Self>
Source§fn in_current_span(self) -> Instrumented<Self>
fn in_current_span(self) -> Instrumented<Self>
Source§impl<T> IntoEither for T
impl<T> IntoEither for T
Source§fn into_either(self, into_left: bool) -> Either<Self, Self>
fn into_either(self, into_left: bool) -> Either<Self, Self>
Converts
self into a Left variant of Either<Self, Self>
if into_left is true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read moreSource§fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
Converts
self into a Left variant of Either<Self, Self>
if into_left(&self) returns true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read more