Complete Aphoria claims system overhaul: - A1: Rename ExtractedClaim to Observation (extractors produce observations, not claims) - A2: Add AuthoredClaim with full provenance, invariants, and authority tiers - A3: Verify engine comparing observations against authored claims, CLI + formatters - A4: Corpus as first-class assertions with predicate indexing, authority lens, trust packs - A5: Coverage analysis, explain/docs generation, self-audit extractor, claim suggester skill Also includes: 42 extractors updated for Observation type, verifiable_predicates trait, conflict detection with comparison modes, claims TOML persistence, Grafana dashboard, backup/restore scripts, and comprehensive test coverage. Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
48 lines
1.2 KiB
Rust
48 lines
1.2 KiB
Rust
//! CLI definitions for the `aphoria verify` command.
|
|
|
|
use std::path::PathBuf;
|
|
|
|
use clap::Subcommand;
|
|
|
|
/// Verify commands for checking code against authored claims.
|
|
#[derive(Subcommand)]
|
|
pub enum VerifyCommands {
|
|
/// Run verification: check observations against authored claims
|
|
Run {
|
|
/// Path to the project root
|
|
#[arg(default_value = ".")]
|
|
path: PathBuf,
|
|
|
|
/// Output format: table or json
|
|
#[arg(short, long, default_value = "table")]
|
|
format: String,
|
|
|
|
/// Exit with non-zero code on conflicts
|
|
#[arg(long)]
|
|
exit_code: bool,
|
|
|
|
/// Only scan staged/changed files (for pre-commit hooks)
|
|
#[arg(long)]
|
|
changed_only: bool,
|
|
|
|
/// Include UNCLAIMED observations in output
|
|
#[arg(long)]
|
|
show_unclaimed: bool,
|
|
|
|
/// Filter to specific claim IDs (comma-separated)
|
|
#[arg(long, value_delimiter = ',')]
|
|
claim: Vec<String>,
|
|
|
|
/// Filter by category
|
|
#[arg(long)]
|
|
category: Option<String>,
|
|
},
|
|
|
|
/// Show claim-to-extractor mapping
|
|
Map {
|
|
/// Path to the project root
|
|
#[arg(default_value = ".")]
|
|
path: PathBuf,
|
|
},
|
|
}
|