pub enum CliError {
Store(StoreError),
Core(CoreError),
Adapter(AdapterError),
Sqlite(Error),
Csv(Error),
Io(Error),
FormFill(FormsError),
BadEventRef(String),
Usage(String),
BadConfigValue {
key: String,
value: String,
},
AttestationRequired,
AttestationFailed,
}Variants§
Store(StoreError)
Core(CoreError)
Adapter(AdapterError)
Sqlite(Error)
Csv(Error)
C1: write_csv_exports (Task 15) uses ? on csv::Writer ops (→ csv::Error); csv::Error
is its own type (NOT covered by Io(#[from] io::Error), whose From goes the other way), so it
needs its own variant or Task 15 will not compile.
Io(Error)
FormFill(FormsError)
export-irs-pdf: an official IRS PDF fill failed — most importantly the geometric read-back
FAILING CLOSED on a mis-mapped cell, so no wrong tax form is ever written.
BadEventRef(String)
A user-supplied event reference did not parse as a canonical EventId (eventref.rs).
Usage(String)
A CLI argument was malformed (bad USD/date/enum/wallet spec, or a contradictory flag set).
BadConfigValue
M1: a cli_config row held an unrecognized value (corrupt DB, future-written value, or manual
edit gone wrong). Returning an error is safer than silently misreading the stored intent.
AttestationRequired
Sub-project 3 attestation gate: an export was attempted while the ledger is pseudo-reconciled (a synthetic, non-persisted default contributes to the projection) and NO attestation phrase was supplied. Producing a form/data file from a fictional draft requires typing the exact phrase. (Supersedes sub-2’s interim [I3] blanket refusal.)
AttestationFailed
Sub-project 3 attestation gate: an export was attempted while the ledger is pseudo-reconciled and the supplied attestation phrase did NOT match (trimmed, case-sensitive, exact). A wrong phrase is FAILED regardless of environment [R0-I1] — no fictional form leaves the machine.
Trait Implementations§
Source§impl Error for CliError
impl Error for CliError
Source§fn source(&self) -> Option<&(dyn Error + 'static)>
fn source(&self) -> Option<&(dyn Error + 'static)>
1.0.0 · Source§fn description(&self) -> &str
fn description(&self) -> &str
use the Display impl or to_string()