Work / Chitragupt / Wiki / Decisions
2026-08-03-fix-checklist-question-count-mislabel
Decisioncanonicalverified 2026-08-03
DECISION.2026-08-03.FIX-CHECKLIST-QUESTION-COUNT-MISLABELTax 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—QuickCheckCardtitle/empty-copy now readsQUICK_CHECK_QUESTION_COUNT = INTERROGATOR_CATALOG_V1.length;QuickCheckListrenders all entries instead of the first 15.- pillar-tax —
PILLAR.TAX.WIDGET.RETURN-CHECKLIST-15Qrenamed toPILLAR.TAX.WIDGET.RETURN-CHECKLIST-19Q;PILLAR.TAX.REVIEW.WIDGET-ORDERupdated. - 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é