You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
[orchestrator] Non-blocking findings from the PR #1902 / #1903 / #1909 review rounds, batched as one tech-debt pass. Filed by the orchestrator (session subagent budget exhausted); none block anything.
attachmentType key-map guard (architect M3, feat(reports): usage column, attachment notes, deposit footnotes & column cleanup #1902): getAttachmentNote (now in client/src/lib/reportContent/buildReportContent.ts) interpolates attachmentType into a template-literal i18n key — a fourth AttachmentType enum member would silently print a raw key onto a bank-facing PDF. Use a Record<AttachmentType, string> key map so it becomes a compile error instead.
Shared BCP47 locale helper (architect M2, feat(reports): wizard settings step with report language selection #1903): the 'de' → 'de-DE' : 'en-US' mapping is duplicated in client/src/lib/formatters.ts (useFormatters) and client/src/pages/ReportWizardPage/ReportWizardPage.tsx (reportLocaleString). Extract one exported helper before a third locale silently diverges.
reportPdf optional-formatters nit (pre-Round-2 refinement backlog): make formatters/reportFormatters a required parameter in buildReportContent rather than optional-with-silent-fallback (the fallback renders raw ISO dates/numbers).
Resolved along the way, listed for the record: architect L4 (#1903, currency missing from the regeneration effect deps) became moot when #1909 deleted that effect; the mixed-language mobile-card question was settled by the architect's export-test rule in the #1909 round 2 review.
[orchestrator] Non-blocking findings from the PR #1902 / #1903 / #1909 review rounds, batched as one tech-debt pass. Filed by the orchestrator (session subagent budget exhausted); none block anything.
getAttachmentNote(now inclient/src/lib/reportContent/buildReportContent.ts) interpolatesattachmentTypeinto a template-literal i18n key — a fourthAttachmentTypeenum member would silently print a raw key onto a bank-facing PDF. Use aRecord<AttachmentType, string>key map so it becomes a compile error instead.'de' → 'de-DE' : 'en-US'mapping is duplicated inclient/src/lib/formatters.ts(useFormatters) andclient/src/pages/ReportWizardPage/ReportWizardPage.tsx(reportLocaleString). Extract one exported helper before a third locale silently diverges.createFormattersreturn (architect L1, feat(reports): wizard settings step with report language selection #1903): the factory's return type is inline; give it a named interface (or bind it to the existingFormattersinterface explicitly)..step4BodyCSS class and thesourceReports.stepper.optionsi18n key now describe step 5 content (.step4Layout/.step4Columnwere already removed in feat(reports): editable HTML report preview with on-demand PDF export #1909). Rename for the 5-step reality..settingsDividerdouble duty (UX nit, feat(reports): wizard settings step with report language selection #1903): the class acts as both border-divider and flex section container; split or rename for clarity.deducedTypestypo (PO nit, feat(reports): usage column, attachment notes, deposit footnotes & column cleanup #1902): variable should readdedupedTypes(now inbuildReportContent.ts).reportPdfoptional-formatters nit (pre-Round-2 refinement backlog): makeformatters/reportFormattersa required parameter inbuildReportContentrather than optional-with-silent-fallback (the fallback renders raw ISO dates/numbers).Resolved along the way, listed for the record: architect L4 (#1903,
currencymissing from the regeneration effect deps) became moot when #1909 deleted that effect; the mixed-language mobile-card question was settled by the architect's export-test rule in the #1909 round 2 review.