Roadmap
The path to a complete US tax-prep engine. Everything below is either shipped & certified, certifying (built, correctness being locked down), or planned — with the goal of taking raw tax documents all the way to a full filed return.
This is a proposed / current working order, not a locked sequence.Any change to the taxonomy or order is put through an independent engineering review before it is treated as final. A feature's badge is derived from its engine, certification, API-contract, and docs-alignment status — it shows ✅ only when it is shipped, certified against primary source, and contract/docs-aligned; hidden or deterministically-declined code is shown as certifying or planned, never checked. The ✅ here reflects that technical readiness; locking a checkmark as a public launch claim additionally requires an independent design-review pass and external-QA sign-off, applied when the order is locked (it is proposed today). Last reviewed 2026-07-06.
✅ shipped & certified33◐ certifying12○ planned23◇ needs research1⃠ blocked0
Federal income tax — core 1040
- ✅ shipped & certified1040 ordinary tax + standard deduction + preferential LTCG 0%/15% — 2024–2026 — certified (ordinary-bracket + standard-deduction + preferential-LTCG 0%/15% stacking, all filing statuses).
- ✅ shipped & certified2020–2023 federal ordinary-bracket + standard-deduction + preferential-LTCG 0%/15% certified — independently verified vs IRS Rev. Procs 2019-44 / 2020-45 / 2021-45 / 2022-38 (§1(h)), all filing statuses, primary-source-quarantined oracle. Scoped: the 20% LTCG band, per-year AMT, and CARES/ARPA-era credits (CTC / EITC / UI-exclusion / advance-CTC / RRC) are NOT part of this cert.
- ✅ shipped & certifiedPreferential LTCG / qualified-dividend bands (0/15/20)
- ✅ shipped & certifiedNIIT — Form 8960
- ✅ shipped & certifiedAdditional Medicare — Form 8959
- ✅ shipped & certifiedFederal withholding → owed / refund
- ◐ certifyingAMT backstop — Form 6251 (modeled facts only) — current public boundary is backstop-only: the engine may incorporate AMT from modeled current facts (for example SALT or standard-deduction add-backs) and fail-closes on exposed unmodeled preference risk such as positive private-activity-bond tax-exempt interest or ISO exercise-and-hold. Standalone AMT inputs, Form 8801, and broader Form 6251 preference coverage remain out of scope.
Adjustments, deductions, itemization, SALT
- ✅ shipped & certifiedSimple itemized slice: SALT/property tax + acquisition-debt mortgage interest (Single/MFJ/HoH; MFS & incomplete mortgage facts decline) — independently verified 2026-07-01; broad medical/charitable/other Schedule A remains out of scope
- ○ plannedMedical, charitable, casualty, gambling, investment-interest itemized — not modeled today → decline
- ✅ shipped & certifiedQBI §199A — REIT dividends (1099-DIV box 5) only — independently verified 2026-07-02; 20% deduction, overall-limit declines; business/PTP-K-1/SSTB QBI stays out of scope
Capital gains, brokerage, Schedule D / 8949
- ✅ shipped & certifiedClean covered capital-gain facts — long-term/QDIV preferential bands certified; short-term taxed as ordinary
- ✅ shipped & certifiedFederal capital-loss carryover I/O + ending carryover derive-forward — covered-clean Form 8949 box A/D aggregates (or pre-netted scalars); §1211(b) −$3k (−$1,500 MFS) limit + ST/LT netting — independently verified (exact bounded label). Noncovered / missing-basis / $0-basis / adjustment-coded boxes → whole-return decline (no tax-number leakage); a broker-reported code-W wash disallowance now computes NARROWLY under two affirmations (deployed, awaiting external certification — every other wash shape still declines); multi-broker computed returns carry a cross-account/cross-spouse wash-sale VERIFY flag. Broad netting, wash-sale-safe multi-broker, state aggregates, and prior-return-derived carryforward chains remain certifying/planned (below).
- ◐ certifyingSchedule D / Form 8949 — broader netting claims: wash-sale-safe multi-broker, noncovered / basis-adjustment handling, state aggregate support, prior-return-derived carryforward chains — the covered-clean A/D aggregate path is shipped ✅ above. The cross-account/cross-spouse wash-sale gate is now addressed by the shipped lot/evidence contract's affirmation (2026-07-04). A NARROW broker-reported code-W wash-sale compute (two affirmations, whole-dollar per-entry add-back) is deployed and awaiting external certification; lot-level detail and broader wash mechanics (replacement-basis linkage) remain planned.
- ○ plannedCapital-loss carryover (derive-forward from prior return)
- ◐ certifying§1256 contracts / Form 6781 (60/40 mark-to-market split) — LIVE (rev 00184-qis) + independently Codex-verified 2026-07-04. On the federal whole-return aggregate scalar surface, a positive IRS-reported section1256NetGain computes only with section1256CleanBrokerReportedAffirmed:true; a negative aggregate computes only on the no-election path when BOTH section1256CleanBrokerReportedAffirmed:true and section1256LossCurrentlyDeductibleAffirmed:true are present. The aggregate splits statutorily 40% short-term / 60% long-term into Schedule D + the §1411 NIIT base; a net of exactly zero and tagged §1256 box/lot inputs still decline. §475(f), §988, straddles/§1092, §1212(c) carryback elections, states, and mixed special-rate + §1256 loss interactions remain excluded. Full ✅ pending the delegated-proof keeper restamp.
- ◐ certifyingShared lot/evidence contract (Form 8949 CapGainEntry v0) — the frozen input contract for all capital-gain verticals — LIVE (rev 00184-qis) + independently Codex-verified 2026-07-04. form8949Box A–L, reported-vs-corrected basis split, closed year-versioned adjustment codes, provenance precondition, box↔lot no-mix rule, evidence-based term/covered cross-checks, and a cross-account/cross-spouse wash-sale affirmation gate. Computes only a clean covered A/D lot with the affirmation; everything else declines (over-tax-safe). UNBLOCKS equity-comp, wash-sales, and crypto ↓.
- ✅ shipped & certifiedEquity-comp basis adjustment — RSU / NSO (1099-B code-B; comp-adjusted basis) — independently Codex-certified 2026-07-05 (equity_comp_track_b). A covered A/D lot with a comp-adjusted basis (broker reported basis + W-2/1099-NEC ordinary-income = corrected basis) computes the Form 8949 code-B adjustment; requires acquired/sold dates, a typed active ordinary-income source ref, and the comp-adjusted-basis affirmation. No comp-created loss; the derivation is exposed but is an internal operand (double-count-safe).
- ◐ certifyingEquity-comp — ISO (disqualifying disposition) + ESPP (qualifying + disqualifying) — independent Opus START design review (primary sources: IRC §421/§422/§423/§56(b)(3), Form 6251 instructions, Form 3921/3922). ISO computes ONLY a DISQUALIFYING disposition (equityCompIsoDisqualifyingDispositionAffirmed:true, fail-closed) — arithmetically identical to the shipped NSO path; a QUALIFYING ISO disposition stays out of scope (its AMT-side basis can differ from the regular-tax basis, a Form 6251 §56(b)(3) exercise-year-preference adjustment this engine does not model). ESPP computes for EITHER a qualifying or disqualifying §423 disposition (the caller-attested equityCompOrdinaryIncome covers whichever figure applies; the engine does not derive the §423 'lesser-of' itself; no AMT preference either way). A computed ISO-disqualifying lot carries a VERIFY flag naming the §422(c)(2) at-a-loss ordinary-income cap. ISO exercise-and-hold (no disposition) has no path through this lot shape — `proceeds` is a required field — confirmed not a build gap. Awaiting Codex external-QA certification.
- ○ plannedEquity-comp residual — QUALIFYING ISO AMT basis divergence; $0-basis broker-attested-only override — a QUALIFYING ISO disposition's AMT-side basis divergence (Form 6251 §56(b)(3), a prior-year exercise-year preference this engine does not track) remains out of scope; and the $0-basis broker-attested-only override (a broker-attested-but-not-IRS-reported basis) remains the deferred remainder — per founder direction the $0-basis path requires a caller override or fails closed (never guesses basis).
- ○ plannedCrypto (1099-DA capital + staking ordinary; unknown-basis decline) — builds on the shipped lot/evidence contract (form8949Box G–L reserved)
- ○ plannedWash sales across accounts and spouses — builds on the shipped lot/evidence contract (lotId/replacementForLotId reserved)
- ◐ certifying§1250 / collectibles special-rate gains — LIVE (2020-2026) — passed independent verification. Unrecaptured §1250 (25%) + 28%-rate collectibles/§1202 stacked above the 0/15/20 bands via the Schedule D Tax Worksheet, with the line-47 max-rate floor + Form 6251 Part III AMT. Caller-asserted portions; the derived 24%-bracket-ceiling threshold covers every SUPPORTED_TAX_YEARS year today (2020-2026) and fails closed for any future year lacking one. Full ✅ pending the delegated-proof keeper restamp.
Credits & credit limitations
- ✅ shipped & certifiedForeign Tax Credit — de-minimis §904(j) (≤$300/$600 MFJ, all-passive-1099 affirmed) — independently verified 2026-07-02; the Form 1116 safe-harbor above the ceiling (fed-ftc-1116-safe-harbor) and full Form 1116 limitation + carryover (fed-ftc-1116) remain separate slices
- ◐ certifyingForeign Tax Credit — Form 1116 Part I ratable-apportionment SAFE HARBOR above the de-minimis ceiling — narrow above-ceiling path for the common broker-1099-DIV-box-7 case (ADRs/foreign ETFs/international funds): computes the Form 1116 Part I ratable-apportionment limitation (lines 3a-3g; the numerator is ALWAYS engine-derived, never caller-asserted) when standard-deduction-only, the §1(h) QDI/capital-gain adjustment exception applies (foreign QDI+cap-gain <$20,000 AND ordinary income at/below the 32%-bracket-start threshold), no carryover, all-passive-1099. TY2020-2025 only (TY2026 declines pending published Form 1116 (2026) instructions). AMT-binding + foreign tax still declines (shared gate with de-minimis). Built 2026-07-12; not yet through the Codex external-QA loop.
- ○ plannedForeign Tax Credit — full Form 1116 (interest-expense apportionment, the §1(h) adjustment WORKSHEET itself, multi-category, AMT-FTC, carryover) — everything the de-minimis + safe-harbor slices don't cover: itemized-deduction filers, the adjustment-exception failing (≥$20,000 QDI/cap-gain or income above the 32%-bracket threshold), multi-category income, AMT Form 6251 line 8, and prior/carryover-year FTC
- ✅ shipped & certifiedChild Tax Credit / ACTC — Schedule 8812 — Source-certified at merge 92ad108; not a live-deployment claim. TY2025 federal Part I supports $2,200 per qualifying child, $500 ODC, and the $400,000 MFJ / $200,000 other-status AGI phase-out. Positive CTC and ODC counts require both dependent-level and separate filer-level eligibility affirmations. Bounded Part II-A ACTC supports unused CTC, the $1,700-per-child cap, and 15% of line-18a earned income above $2,500, where the exposed line 18a is W-2 wages plus affirmed non-loss single-sole-proprietor Schedule C net minus one-half SE tax. For three or more qualifying children, the whole return declines when the unmodeled Part II-B alternate may increase ACTC. Full Schedule 8812, state child credits, dependent-fact derivation, other earned-income branches, and tax years other than 2025 remain outside this badge.
- ○ plannedEducation (8863), child/dependent care (2441), energy (5695), EV (8936), PTC (8962)
- ○ plannedPrior-year AMT credit — Form 8801
Special federal taxes & safe-decline mechanics
- ✅ shipped & certifiedDeterministic-or-DECLINE doctrine (no runtime LLM)
- ✅ shipped & certifiedWhole-dollar rounding at the form boundary
- ✅ shipped & certifiedProvenance / derivation trace (faithfulness-gated)
- ✅ shipped & certifiedSelf-employment tax — Schedule SE — Slice 1 LIVE — passed independent verification and is now shipped and certified. SE tax (§1401/§1402: net×0.9235 → 12.4% OASDI to the $176,100 wage base coordinated with W-2 box-3, then 2.9% Medicare) + the §164(f) half-SE above-the-line deduction + SE→Additional-Medicare (Form 8959) coordination remain the exact bounded claim.
- ✅ shipped & certifiedForm 2210 §6654 no-penalty safe harbors + advisory penalty ceiling — Source-certified at b8b210b for the TY2025 federal resident Form 1040 modeled surface; immutable authenticated-live r253/r254 evidence verifies the unchanged narrow behavior, not deployment of b8b210b. Opt-in via priorYearTax. Returns no_penalty only for: (1) de_minimis when modeled current tax minus withholding is under $1,000; (2) withholding_covers_required when withholding covers the lesser of 90% of modeled current tax or the available prior-year harbor, which requires positive prior-year tax and a full 12-month prior return and uses 100% of prior-year tax, or 110% above $150,000 prior-year AGI ($75,000 MFS), with missing prior-year AGI conservatively using 110%; or (3) prior_year_zero when priorYearTax is zero, the prior return covered 12 months, and the taxpayer was a U.S. citizen or resident throughout that prior year. Returns needs_preparer otherwise. For TY2025 only, penaltyCeiling is emitted only when the complete touched-rate schedule is published and encoded; it is a conservative advisory whole-dollar upper bound, does not change tax, AGI, or refund, and is not an exact or filed Form 1040 line-38 amount. Exact per-installment penalty, Schedule AI, 1040-ES planning, special-category rules, waivers, and state regimes remain outside this badge.
Income modules — business, rental, passthrough
- ✅ shipped & certifiedW-2 wages + 1099 interest / dividends
- ◐ certifyingRetirement — fully-taxable pension / annuity / IRA (1040 line 5b) — LIVE — independently verified. The clean fully-taxable 1099-R box-2a distribution → AGI + ordinary tax (affirmation-gated; basis/QCD/rollover/Roth/NUA/early-penalty decline). NY excludes it (IT-201); CA conforms + taxes it. Full ✅ pending the delegated-proof keeper restamp.
- ◐ certifyingRetirement — Social Security §86 (1040 line 6b) + CA/NY exclusion — LIVE — independently verified. The §86 worksheet (0/50/85% tiers, Pub 915) computes the taxable SS portion → AGI; CA + NY fully EXCLUDE it on the state return (derived from the computed line 6b). Affirmation-gated; requires tax-exempt interest. Full ✅ pending the delegated-proof keeper restamp.
- ✅ shipped & certifiedSchedule C final-net sole-proprietor income (federal AGI flow) — Shipped and certified only for the TY2025 federal admission of a positive caller-affirmed final Schedule C line-31 net for one sole proprietor: scheduleCIncome enters Schedule 1 line 3 and federal AGI as ordinary business income when scheduleCIsSingleSolePropFinalNetAffirmed:true and all existing whole-return gates pass. The separately shipped fed-se-tax-sch-se row owns Schedule SE arithmetic, the Section 164(f) half-SE deduction, OASDI wage-base and W-2 box-3 coordination, and Additional Medicare coordination; none receives duplicate capability credit here. Excluded from this row: Section 199A/QBI; CA, NY, or any state conformity; Schedule C losses; raw receipts, expenses, cost-of-goods-sold, or deduction derivation; multiple Schedule Cs; spouse allocation; depreciation, Section 179, or bonus depreciation; self-employed health insurance; home office; farm, clergy, statutory-employee, church-employee, or Section 1402 optional-method cases; broader Schedule C completeness; filing, extraction, live, and deployment claims.
- ✅ shipped & certifiedSchedule E — simple passive rental (positive affirmed net) — Shipped and certified for the exact 2025 positive final Schedule E line-26 passive-rental net only. Federal compute requires scheduleERentalIsPassiveFinalNet:true and scheduleERentalNotSection162Business:true and flows the net to AGI and the §1411 NIIT base. A 2025 NY full-year-resident direct-rental net conforms only with nyScheduleENoStateBusinessAdjustmentsAffirmed:true. Not certified here: rental losses, dispositions, depreciation or cost-seg, bonus depreciation, §179, QIP, §162/QBI rentals, K-1 income, royalties, California, or NY nonresident/part-year allocation.
- ✅ shipped & certifiedSchedule E §469(i) active-participation rental-loss allowance (TY2025 federal) — Shipped and certified only for the TY2025 federal §469(i) active-participation rental-real-estate loss allowance at exact behavior revision afa6c88; immutable authenticated-live r278 verifies the unchanged narrow behavior, not deployment of afa6c88. Requires all six affirmations: active participation, no prior suspended PAL, §465 at-risk, not a real-estate professional, passive final net, and not a §162 business, plus all shared federal-profile admission gates. The current-year allowed loss is capped at $25,000 through $100,000 modified AGI, phases out at 50% to zero at $150,000, and uses pre-loss AGI with the §164(f) half-SE addback for an otherwise admitted Schedule C combination. Only the allowed loss reduces AGI; excess is advisory Form 8582 carryforward text, not a durable carryforward ledger or filed Form 8582. Fails closed for MFS, Social Security interactions, real-estate-professional treatment, missing or false affirmations, and unsupported shared conditions. Not certified: other tax years, full Form 8582 or §465 mechanics, prior/future PAL ledgers, K-1 or non-rental passive activity, §469(g) dispositions, depreciation or cost-seg, §162/§199A rentals, broader Schedule E completeness, or state rental-loss compute.
- ◐ certifyingSchedule E rental LOSS — §469(g)(1)(A) full-disposition PAL RELEASE (UNCAPPED) — NEW 2026-07-12: a SEPARATE mechanism from the §469(i) $25,000 allowance above — when a taxpayer disposes of their ENTIRE interest in a passive activity in a FULLY TAXABLE cash sale to an UNRELATED PARTY, the current-year loss PLUS ALL PRIOR-YEAR §469-suspended losses from that SAME activity are fully deducted, UNCAPPED (no $25k limit, no MAGI phase-out). Routed by asserting ANY of four disposition-specific §6694 affirmations (entire interest disposed / fully-taxable cash sale — excludes installment §453 / like-kind §1031 / gift-or-death — / unrelated party / disposition-specific at-risk), plus the shared not-real-estate-professional and not-§162-business affirmations. Fail-closed fences each decline with a NAMED reason: partial/grouped disposition, installment sale or like-kind exchange, related party, insufficient §465 at-risk, married-filing-separately (scoped out this slice), and a genuinely AMT-BINDING return (a COMPUTED two-configuration check — Form 6251 runs its own separate passive-activity-loss/at-risk worksheet this engine does not model, so a binding-AMT return declines rather than risk misstating AMT). NIIT conservatively floors the released loss at max(0,…) for the §1411 NII base (over-tax-safe simplification, flagged not silent — Form 8960 would actually allow a same-activity NII deduction, e.g. a same-sale §1250 gain, which this slice does not model). Certified against the real 2021 Fremont corpus case ($58,669 combined release) alongside PR #46's §1250 gain on the SAME disposition — proven independent (a §469(g) release computes with or without an accompanying §1250 gain). Independent END code review complete; the identified 2021 Fremont Schedule E disposition blocker was resolved on the shipped PR #47 slice. Full ✅ pending the delegated-proof keeper restamp.
- ○ plannedSchedule E — depreciation, full PAL carryforward, K-1 passthrough
- ○ plannedK-1 passthrough — 1065 partnership + 1041 trust
State, city, residency, allocation
- ✅ shipped & certifiedCA 540 2025 — full compute (rate schedule, BHST, exemption phase-out) — wages + clean-conforming non-wage income (interest/div/cap-gain, affirmation-gated) — independently verified 2026-07-02
- ✅ shipped & certifiedNY + NYC 2025 — selected paths — wages + clean-conforming non-wage income (requires nyWageAdditions + affirmation) — independently verified
- ✅ shipped & certifiedNon-mutating CA reconcile vs a filed return
- ○ plannedStates beyond CA / NY / NYC (~40 income-tax states)
- ◇ needs researchMulti-state / part-year / nonresident allocation — needs research
Source intake (Phase 4) — document → untrusted evidence → JSON envelopes
- ○ planned1099-B section → untrusted DocumentEnvelope producer (compute-free scaffold) — STARTED 2026-07-04 (scaffold — not a document-intake product yet). A deterministic 1099-B CSV-section parser emits UNTRUSTED per-lot evidence (provenance, triage, needsReview) — the trust boundary the whole architecture rests on: a bad parse can NEVER produce a wrong tax number (mechanically gated — the evidence can't reach compute). NO upload endpoint, NO OCR, NO compute-binding yet. Independent START + END review (0-Critical).
- ○ plannedDocument upload → normalized JSON envelope (classify, box/line provenance, confidence) — the bridge from raw docs → full return; builds on the untrusted-evidence producer above
- ○ plannedW-2 / 1099 vision (OCR) reads; multi-format (scanned PDF, csv, xls, zip) — the live LLM/vision extractor is a separate model-infra build (blocked in-repo today — deterministic parsers first)
- ○ plannedCorrected-1099 supersession + duplicate dedup
- ○ plannedK-1, 1098, broker-specific parsers (Coinbase, IBKR, Robinhood)
Lifecycle — multi-year, projection, filing
- ◐ certifyingPrior-year carryforward chain (state machine) — engine exists; doc-seed extractor planned
- ○ plannedWhat-if / scenario projection (surtax-aware)
- ○ plannedDraft-return PDF / e-file readiness (Form 8879, prior-yr AGI)
- ○ plannedAmendment — Form 1040-X; estimated tax — 1040-ES
Product-builder API, contract & trust surfaces
- ✅ shipped & certifiedUniform response contract (billed / retry_safe / next_action / reason / provenance)
- ✅ shipped & certifiedIdempotency (byte-identical replay, bills-once); quota & rate (hard-429)
- ✅ shipped & certifiedMachine-readable capabilities discovery (GET /api/mcp/tax-capabilities)
- ✅ shipped & certifiedOpenAPI 3.1 spec — full ComputeResult output schema + decline-code enum — independently verified 2026-07-01 40 refs, 0 dangling; ComputeResult + DeclineCode enum live
- ✅ shipped & certifiedReconcile review states (match / mismatch / unsupported / needs_review)
- ✅ shipped & certifiedSupport / changelog / structured feedback intake
- ○ plannedPer-outcome telemetry (failed / declined / retried review) — telemetry event dictionary in progress (S3 of this arc)
Commercial, legal, docs, onboarding
- ✅ shipped & certifiedPricing + billing semantics (usage-based, no overage)
- ◐ certifyingLegal posture — /terms + legal_notice (customer-is-preparer, no E&O, 12-mo cap) — built, held for founder promote
- ✅ shipped & certifiedDocs quickstart + runnable deterministic-decline example
- ○ plannedFirst-call onboarding + decline-interpretation guide
In code, not yet on the compute path (must not be marketed as shipped)
- ○ planned§121 home-sale exclusion — present in code (home-sale-exclusion.ts) but referenced only by a tax-model fixture extractor — NOT on the MCP compute path, so it is NOT shipped.
- ○ plannedOBBBA-2025 miscellaneous above/below-line deductions — present in code (obbba-deductions.ts) but referenced only by the ingest pipeline (compute-year) — NOT on the MCP federal endpoint, so it is NOT shipped.