Skip to content
Ritesh FirodiyaGet in touch

Work / Chitragupt / Wiki / Decisions

2026-08-03-fix-checklist-question-count-mislabel

Decisioncanonicalverified 2026-08-03

DECISION.2026-08-03.FIX-CHECKLIST-QUESTION-COUNT-MISLABEL

Tax return checklist is 19 questions, not 15 — header made dynamic

Decision

TaxPage.tsx's Quick Check card hardcoded the header "Return checklist · 15 questions" and capped the rendered list at entries.slice(0, 15), but the real question catalog (INTERROGATOR_CATALOG_V1, packages/shared/src/interrogator/v1/catalog.ts) has 19 entries, and the engine's resolveQuickCheck (packages/shared/src/rules/v1/orchestrator.ts) emits exactly one QuickCheckEntry per catalog question. The header undercounted by 4, and the render cap silently hid the last 4 questions from every user.

Fixed by reading the count off INTERROGATOR_CATALOG_V1.length instead of a hand-typed number, and removing the slice(0, 15) cap so all real entries render. The count can't drift again — it's derived, not typed.

Why

Found during a bug-fix pass: the copy claimed 15, the actual list had 19. Root cause was two independent hardcodes (header string + slice cap) that never referenced the real array.

Impact

  • apps/website/src/app/(app)/tax/components/TaxPage.tsx — QuickCheckCard title/empty-copy now reads QUICK_CHECK_QUESTION_COUNT = INTERROGATOR_CATALOG_V1.length; QuickCheckList renders all entries instead of the first 15.
  • pillar-tax — PILLAR.TAX.WIDGET.RETURN-CHECKLIST-15Q renamed to PILLAR.TAX.WIDGET.RETURN-CHECKLIST-19Q; PILLAR.TAX.REVIEW.WIDGET-ORDER updated.
  • tax-pillar — "15-question return checklist" references updated to "19-question".

Status

Active

Sources

  • apps/website/src/app/(app)/tax/components/TaxPage.tsx
  • packages/shared/src/interrogator/v1/catalog.ts
  • packages/shared/src/rules/v1/orchestrator.ts

Every project of mine is written down like this.

Read the résumé