//! Scope CLI command definitions. use clap::Subcommand; #[derive(Subcommand)] pub enum ScopeCommands { /// Show current scope context /// /// Displays the configured scope hierarchy and inheritance chain. Status, /// Override an inherited pattern /// /// Creates an explicit override for a pattern inherited from a /// broader scope (organization or team). Requires justification. Override { /// Concept path to override (e.g., "tls/min_version") concept_path: String, /// New value for the override #[arg(short = 'V', long)] value: String, /// Reason for the override (required) #[arg(short, long)] reason: String, /// Evidence reference (ADR, ticket, spec) #[arg(short, long)] evidence: Option, /// Expiration duration (e.g., "90d" for 90 days) #[arg(long)] expires: Option, }, /// List overrides at current scope /// /// Shows all pattern overrides defined at the current scope level. List { /// Include inherited overrides from broader scopes #[arg(long)] include_inherited: bool, /// Show expired overrides #[arg(long)] show_expired: bool, }, /// Remove an override /// /// Deletes a scope override, allowing the inherited pattern /// to take effect again. Remove { /// Concept path of the override to remove concept_path: String, /// Force removal without confirmation #[arg(short, long)] force: bool, }, }