use crate::cli::verify::VerifyArgs;
use crate::context::AppContext;
use crate::error::AppError;
use crate::output;
use crate::services::verifier::verify;
pub fn run(ctx: &AppContext, args: VerifyArgs) -> Result<(), AppError> {
let target = if args.target.is_absolute() {
args.target
} else if args.target == "." {
ctx.cwd.clone()
} else {
return Err(AppError::Usage("target must be absolute or .".to_string()));
};
let report = verify(&target)?;
for line in &report.lines {
output::line(line);
}
if report.failures > 0 {
return Err(AppError::Violations {
count: report.failures,
});
}
Ok(())
}