pub struct Args {
pub title: Option<String>,
pub entity_type: Option<String>,
pub mem: Option<String>,
pub sections: Vec<String>,
pub metadata: Vec<String>,
pub relations: Vec<String>,
pub anchors: Vec<String>,
pub from: Option<PathBuf>,
pub dry_run: bool,
pub note: Option<String>,
}Fields§
§title: Option<String>Entity title. Required unless --from is given.
entity_type: Option<String>Entity type (e.g. spec, memo, concept).
Required unless --from is given.
mem: Option<String>Mem name. Defaults to the first writable mem.
sections: Vec<String>Section content: repeatable --section key=value. Body
wiki-links must take slug-form ([[idempotency]], not the
title-case [[Idempotency]]) — a non-slug target refuses with
INVALID_WIKI_LINK_TARGET carrying a proposed_slug to retry with.
metadata: Vec<String>Metadata override: repeatable --metadata key=value.
relations: Vec<String>Initial relationship: repeatable --relation TYPE:target-id.
Works on both workspace shapes. A target that does not exist yet
is materialised as a forward-reference stub, same as on the MCP
surface.
anchors: Vec<String>Provenance anchor: repeatable --anchor '<json>', each a JSON
object of the anchor shape ({ "artifact": "...", "grain": "file", "class": "anchored", "hash": "...", "hash_stability": "stable" }).
Written into the mem-branch anchors sidecar in the same commit as
the entity. A malformed anchor refuses INVALID_ANCHOR. Ignored
when --from is given (the file’s anchors[] is authoritative).
from: Option<PathBuf>JSON file matching the MCP memstead_create args shape. If set,
all --title / --type / --section / --metadata / --relation
/ --anchor flags are ignored (the file is the single source of truth).
--note still applies (winning over the file’s note), and
--dry-run ORs with the file’s dry_run — same semantics as
update --from, so one template feeds both commands.
The JSON type field is entity_type (not type), matching the
response envelopes — a previous --json response pipes back in
unchanged.
dry_run: boolPreview only — validate and compute the result without writing to
disk, mutating the store, or producing a commit. Response carries
the prospective id / file_path / content_hash plus any warnings.
MEM-REPO WORKSPACES ONLY — refused with INVALID_INPUT on the
filesystem-mem workspace memstead quickstart produces.
note: Option<String>Agent-authored provenance note (≤280 chars, one sentence
describing why this mutation happened). Lands in the per-mem
commit body between the mechanical subject line and the
provenance trailers. When [mutations].require_notes = true in
workspace config a missing note adds a NOTE_MISSING warning
to the response (the mutation still commits). When --from also
carries a note, this flag takes precedence.
Trait Implementations§
Source§impl Args for Args
impl Args for Args
Source§fn augment_args<'b>(__clap_app: Command) -> Command
fn augment_args<'b>(__clap_app: Command) -> Command
Source§fn augment_args_for_update<'b>(__clap_app: Command) -> Command
fn augment_args_for_update<'b>(__clap_app: Command) -> Command
Command so it can instantiate self via
FromArgMatches::update_from_arg_matches_mut Read moreSource§impl CommandFactory for Args
impl CommandFactory for Args
Source§impl FromArgMatches for Args
impl FromArgMatches for Args
Source§fn from_arg_matches(__clap_arg_matches: &ArgMatches) -> Result<Self, Error>
fn from_arg_matches(__clap_arg_matches: &ArgMatches) -> Result<Self, Error>
Source§fn from_arg_matches_mut(
__clap_arg_matches: &mut ArgMatches,
) -> Result<Self, Error>
fn from_arg_matches_mut( __clap_arg_matches: &mut ArgMatches, ) -> Result<Self, Error>
Source§fn update_from_arg_matches(
&mut self,
__clap_arg_matches: &ArgMatches,
) -> Result<(), Error>
fn update_from_arg_matches( &mut self, __clap_arg_matches: &ArgMatches, ) -> Result<(), Error>
ArgMatches to self.Source§fn update_from_arg_matches_mut(
&mut self,
__clap_arg_matches: &mut ArgMatches,
) -> Result<(), Error>
fn update_from_arg_matches_mut( &mut self, __clap_arg_matches: &mut ArgMatches, ) -> Result<(), Error>
ArgMatches to self.Source§impl Parser for Args
impl Parser for Args
Source§fn parse_from<I, T>(itr: I) -> Self
fn parse_from<I, T>(itr: I) -> Self
Source§fn try_parse_from<I, T>(itr: I) -> Result<Self, Error>
fn try_parse_from<I, T>(itr: I) -> Result<Self, Error>
Source§fn update_from<I, T>(&mut self, itr: I)
fn update_from<I, T>(&mut self, itr: I)
Auto Trait Implementations§
impl Freeze for Args
impl RefUnwindSafe for Args
impl Send for Args
impl Sync for Args
impl Unpin for Args
impl UnsafeUnpin for Args
impl UnwindSafe for Args
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
Source§impl<T> Downcast for Twhere
T: Any,
impl<T> Downcast for Twhere
T: Any,
Source§fn into_any(self: Box<T>) -> Box<dyn Any>
fn into_any(self: Box<T>) -> Box<dyn Any>
Box<dyn Trait> (where Trait: Downcast) to Box<dyn Any>, which can then be
downcast into Box<dyn ConcreteType> where ConcreteType implements Trait.Source§fn into_any_rc(self: Rc<T>) -> Rc<dyn Any>
fn into_any_rc(self: Rc<T>) -> Rc<dyn Any>
Rc<Trait> (where Trait: Downcast) to Rc<Any>, which can then be further
downcast into Rc<ConcreteType> where ConcreteType implements Trait.Source§fn as_any(&self) -> &(dyn Any + 'static)
fn as_any(&self) -> &(dyn Any + 'static)
&Trait (where Trait: Downcast) to &Any. This is needed since Rust cannot
generate &Any’s vtable from &Trait’s.Source§fn as_any_mut(&mut self) -> &mut (dyn Any + 'static)
fn as_any_mut(&mut self) -> &mut (dyn Any + 'static)
&mut Trait (where Trait: Downcast) to &Any. This is needed since Rust cannot
generate &mut Any’s vtable from &mut Trait’s.Source§impl<T> DowncastSend for T
impl<T> DowncastSend for T
Source§impl<T> DowncastSync for T
impl<T> DowncastSync for T
impl<T> Fruit for T
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> ⓘ
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> ⓘ
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