pub enum AnalyticsCommand {
Burndown {
args: AnalyticsScopeArgs,
},
Projection {
args: AnalyticsScopeArgs,
as_of: String,
},
Export {
args: AnalyticsScopeArgs,
as_of: Option<String>,
output: Option<String>,
},
}Expand description
The tix analytics subcommands (mission burndown-scope-analytics-01M3C9J1, WP05).
A thin adapter over the shared analytics DTOs. The daily fold, the unit conversion
and the projection live in crate::analytics, and the versioned chart document is
WP04’s (crate::commands::export::chart_document), which every verb here calls rather
than re-composing. This enum owns only the spelling of the surface: the scope, the
period and the mode/unit are always explicit, and no flag here can change an issue, a
cycle date, a milestone or a snapshot.
Variants§
Burndown
Print the daily remaining/completed series for one cycle or milestone
A tab-separated table with a date column followed by the point’s own fields —
scope_total, remaining, completed, scope_added, completions — and the
day’s coverage. A value the record cannot support is -, never a zero, and a
day with no recorded history is unknown or coverage_limited. The scope,
period, mode, unit, formula version and coverage tally print above the header
row, and the findings render to stderr with their remedies.
Fields
args: AnalyticsScopeArgsProjection
Print the read-only end-date forecast over one cycle or milestone
The planning end date is the scope’s own (--to overrides it) and --as-of is
the caller’s day, never a clock. A forecast the record cannot answer prints its
status (insufficient_data or unknown) with - for every value it could not
derive — no completion date is ever invented, and no planning date or issue
changes.
Export
Write the deterministic local chart document (WP04’s target)
The document goes to stdout, or to --output through the atomic export writer the
other local targets use. --mode is required: the document states the mode it was
folded in, so a default would be a guess about which arithmetic produced the
numbers. --as-of asks the same document for a forecast. The remote
gitlab/linear namespaces are never consulted and cannot collide with a chart
document.
Trait Implementations§
Source§impl Clone for AnalyticsCommand
impl Clone for AnalyticsCommand
Source§impl Debug for AnalyticsCommand
impl Debug for AnalyticsCommand
Source§impl FromArgMatches for AnalyticsCommand
impl FromArgMatches for AnalyticsCommand
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 AnalyticsCommand
impl Subcommand for AnalyticsCommand
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 AnalyticsCommand
impl RefUnwindSafe for AnalyticsCommand
impl Send for AnalyticsCommand
impl Sync for AnalyticsCommand
impl Unpin for AnalyticsCommand
impl UnsafeUnpin for AnalyticsCommand
impl UnwindSafe for AnalyticsCommand
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> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
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