Expand description
config, export-snapshot (FR10), backup-key — administrative commands. Config surfaces the TP8
(c)/(b) treatment + the pre-2025 lot method; export/backup arrive in Task 15.
Structs§
- Export
Report - Outcome of the CLI
export_snapshotwrapper: the written snapshot path plus the count of UNRESOLVED Hard blockers (severity() == Hard) in the projection. Any Hard blocker gates EVERY tax year (compute_tax_yearshort-circuits on the projection-wide first Hard blocker), sounresolved_hard > 0means every exported Form 8949 / Schedule D / projection CSV is INFORMATIONAL, not final — theExportSnapshotmain.rs arm warns on stderr accordingly. A fully-resolved ledger yields0and no warning. Advisory blockers (incl.PseudoReconcileActive,SelfTransferInboundZeroBasis) never count. - IrsPdf
Report - Outcome of
export_irs_pdf: the written PDF paths, the unresolved-Hard-blocker count (same INFORMATIONAL disclosure asexport-snapshot), whether the fill was watermarked (pseudo-active), the count of rows that MIGHT belong on a separate broker-reported 8949 (the [I5] advisory — the separate boxes are year-aware: A/B/D/E from a 1099-B pre-TY2025, G/H/J/K from a 1099-DA from TY2025), and the SP2 packet (Schedule SE + Form 8283 + Form 1040 cap-gains) with the advisories each one drives.
Functions§
- backup_
key - §8: export the passphrase-protected key (escape hatch; HIGH-security write).
- broker_
reporting_ advisory - The [I5] broker-reporting advisory line, year-aware — or
Nonewhen no disposition may have been broker-reported (broker_reported_rows == 0). - export_
irs_ pdf export-irs-pdf: fill the OFFICIAL IRS PDFs fortax_yearand write them (owner-only) toout_dir. THIN OPENER (★ arch-C-1, Defensive Filing Wizard Task 3): opens its OWNSessionand projects ONCE, then delegates everything else to [export_irs_pdf_from_session] — the&Sessioninner a future TUI (which already holds the vault’sVaultLock) can call directly, without a SECONDSession::open(which would deadlock the editor,session.rs:662).- export_
pseudo_ active - Probe: would an export be gated?
truewhen the projection is pseudo-active (a synthetic default contributes). Used by theexport-snapshotCLI arm to decide whether to PROMPT for the attestation phrase; the authoritative gate lives insideexport_snapshotitself. Kept in the library so main.rs stays a thin dispatch (no session-open / projection business logic in the binary). - export_
snapshot - FR10 / NFR2 exception: decrypted SQLite image (via the store) + the projected ledger as CSV.
When
tax_yearisSome(y), the per-tax-year Form 8949 + Schedule D CSVs are also written, year-scoped toy(P2-B); whenNone, only the all-years CSVs are written. - promote_
export_ gate - BG-D8 (Task 14) — the export COMPLETENESS gate. REFUSES the export (writing ZERO bytes: called
FIRST in each export fn, before any
mkdir_out/file write) when a promoted-basis DISPOSAL leg is filed in the exported range but its Form 8275 disclosure is absent or INCOMPLETE (an empty/scaffold-only Part II). Reg §1.6662-4(f) makes a disclosure adequate only on a COMPLETED Form 8275; a promoted leg filed without one is inadequate disclosure — a HARD refusal, never a warning. - set_
config - Persist a new TP8 fee treatment (None = leave unchanged), then return the resulting config.
- set_
pre2025_ method - Persist the pre-2025 lot identification method and attestation flag, then return the resulting config.
- show_
config