pub enum TriageAction {
List {
age: bool,
count: bool,
},
Status,
Accept {
issue: String,
reason: Option<String>,
to: Option<String>,
actor: Option<String>,
},
Decline {
issue: String,
reason: Option<String>,
actor: Option<String>,
},
Duplicate {
issue: String,
of: String,
reason: Option<String>,
actor: Option<String>,
},
Defer {
issue: String,
reason: Option<String>,
actor: Option<String>,
},
Batch {
select: Option<String>,
filter: Option<String>,
decision: String,
reason: Option<String>,
actor: Option<String>,
of: Option<String>,
to: Option<String>,
apply: bool,
},
}Expand description
The tix triage tree (contracts/cli-surface.md, WP05 T023–T025).
list and status are read-only queue views; the four decision verbs take a
single issue; batch is the selection-shaped twin of tix bulk, preview by
default and writing only under an explicit --apply.
§Why the reason flag is Option on accept and the rest
contracts/decision-history.md splits it: decline, duplicate and defer
require a reason, accept records one when supplied. A required clap argument
on three of the four would make the fourth’s absence look like an oversight,
and — more importantly — the enforcement belongs to the service, which refuses
missing_reason before any write on every surface (NFR-003). The flag is
therefore optional everywhere and the rule is the service’s, so the CLI,
TUI and MCP cannot end up with three different ideas of which decision needs
one. tix triage decline 1 with no --reason still fails, at the service,
with the contract’s own kind.
Variants§
List
Read the inbox queue: one row per entry (FR-001)
Fields
Status
Read the inbox summary: decision counts and the age histogram (FR-005)
Accept
Accept: move into the normal workflow, validated by #183’s transition policy
Fields
Decline
Decline: move to [triage].declined_status; never deletes or archives
Fields
Duplicate
Duplicate: record a typed duplicates relation; never merges files
Fields
Defer
Defer: stay in the inbox with a refreshed entry time
Fields
Batch
One decision across a selection: preview by default, --apply to write
Fields
Trait Implementations§
Source§impl FromArgMatches for TriageAction
impl FromArgMatches for TriageAction
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<'b>(
&mut self,
__clap_arg_matches: &mut ArgMatches,
) -> Result<(), Error>
fn update_from_arg_matches_mut<'b>( &mut self, __clap_arg_matches: &mut ArgMatches, ) -> Result<(), Error>
ArgMatches to self.Source§impl Subcommand for TriageAction
impl Subcommand for TriageAction
Source§fn augment_subcommands<'b>(__clap_app: Command) -> Command
fn augment_subcommands<'b>(__clap_app: Command) -> Command
Source§fn augment_subcommands_for_update<'b>(__clap_app: Command) -> Command
fn augment_subcommands_for_update<'b>(__clap_app: Command) -> Command
Command so it can instantiate self via
FromArgMatches::update_from_arg_matches_mut Read moreSource§fn has_subcommand(__clap_name: &str) -> bool
fn has_subcommand(__clap_name: &str) -> bool
Self can parse a specific subcommandAuto Trait Implementations§
impl Freeze for TriageAction
impl RefUnwindSafe for TriageAction
impl Send for TriageAction
impl Sync for TriageAction
impl Unpin for TriageAction
impl UnsafeUnpin for TriageAction
impl UnwindSafe for TriageAction
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> 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