feat: add us-cpa review workflow

This commit is contained in:
Stefano Fiorini
2026-03-15 01:31:43 -05:00
parent 82cf3d9010
commit 10a9d40f1d
6 changed files with 321 additions and 5 deletions

View File

@@ -9,6 +9,7 @@ from typing import Any
from us_cpa.cases import CaseConflictError, CaseManager
from us_cpa.prepare import EfileExporter, PrepareEngine, render_case_forms
from us_cpa.questions import QuestionEngine, render_analysis, render_memo
from us_cpa.review import ReviewEngine, render_review_memo, render_review_summary
from us_cpa.sources import TaxYearCorpus, bootstrap_irs_catalog
COMMANDS = (
@@ -73,6 +74,7 @@ def build_parser() -> argparse.ArgumentParser:
review = subparsers.add_parser("review", help="Review a return case.")
_add_common_arguments(review)
review.add_argument("--style", choices=("conversation", "memo"), default="conversation")
fetch_year = subparsers.add_parser(
"fetch-year", help="Fetch tax-year forms and instructions."
@@ -203,13 +205,21 @@ def main(argv: list[str] | None = None) -> int:
if args.command == "review":
case_dir = _require_case_dir(args)
review_payload = ReviewEngine().review_case(case_dir)
payload = {
"command": args.command,
"command": "review",
"format": args.format,
"taxYear": args.tax_year,
"caseDir": str(case_dir),
"status": "not_implemented",
"style": args.style,
**review_payload,
}
payload["rendered"] = (
render_review_memo(review_payload)
if args.style == "memo"
else render_review_summary(review_payload)
)
if args.format == "markdown":
print(payload["rendered"])
return 0
return _emit(payload, args.format)
if args.command == "fetch-year":