chore: repo hygiene — document merge-lines endpoint, remove dead BudgetPage, close test-parity gaps#1853
Conversation
…etPage, close test-parity gaps Addresses the four items from issue #1821's repo hygiene audit: - Wiki: document the previously-missing POST /api/invoices/auto-itemize/merge-lines endpoint (Story #1797, PR #1803) in API-Contract.md. Audited all other candidate gaps (cost-basis filter, vendor reassignment, document attachment) and confirmed they were already documented or client-only; older vendor-contacts/subsidy-programs doc gaps predate this issue's staleness window and are left as a follow-up candidate (see PR body). - Remove dead client/src/pages/BudgetPage/ (unrouted, zero references, superseded by BudgetOverviewPage/BudgetSourcesPage). - Add missing unit test for AutoItemizePdfPreview.tsx (8 scenarios, 100% coverage). - Broaden the test-file-parity exemption (dev-team-lead.md, implementation-checklist.md, CLAUDE.md) to explicitly cover bare `types.ts` filenames and pure re-export barrels, matching existing practice. - Codify in CLAUDE.md that agent-memory updates ride along with session-worktree PRs rather than sitting uncommitted in the base checkout. Also folds in a deferred nit from #1811: errorHandler.ts's doc comment referenced a non-existent fallbackErrorCode() function; corrected to point at the actual inline fallback branch in mapFastifyErrorCode(). Fixes #1821 Co-Authored-By: Claude dev-team-lead (Sonnet 4.6) <noreply@anthropic.com> Co-Authored-By: Claude product-architect (Opus 4.6) <noreply@anthropic.com> Co-Authored-By: Claude backend-developer (Haiku 4.5) <noreply@anthropic.com> Co-Authored-By: Claude frontend-developer (Haiku 4.5) <noreply@anthropic.com> Co-Authored-By: Claude qa-integration-tester (Sonnet 4.5) <noreply@anthropic.com>
|
[security-engineer] Security review of PR #1853 (chore/1821-repo-hygiene). Scope reviewed: 1. Deleted 2. New
3. Wiki doc for 4. 5. Policy/checklist amendments ( No injection, auth, XSS, SSRF, or sensitive-data-exposure issues found. This is a clean hygiene PR. Verdict: APPROVED — no findings. |
|
🎉 This PR is included in version 2.13.0-beta.22 🎉 The release is available on GitHub release Your semantic-release bot 📦🚀 |
Summary
POST /api/invoices/auto-itemize/merge-linesendpoint (Story [auto-itemize] Merge multiple extracted line items into one consolidated line (LLM-summarized text, code-summed numerics) #1797, PR feat(auto-itemize): merge multiple extracted line items into one (#1797) #1803) inAPI-Contract.md. Audited all other candidate gaps from the ~8 recent feature PRs (cost-basis filter Cost Breakdown: payment-status (Cost Basis) filter — Paid / Outstanding / All #1786, vendor reassignment, document attachment, backups scheduler-status, VAT_RATE) — all were either already documented or client-only changes with no server contract impact.client/src/pages/BudgetPage/— unrouted, zero references anywhere (routes, imports, E2E), superseded byBudgetOverviewPage/BudgetSourcesPage.AutoItemizePdfPreview.tsx(8 scenarios, 100% statement/branch/function/line coverage, verified by running the suite locally).dev-team-lead.md,implementation-checklist.md,CLAUDE.md) to explicitly cover baretypes.tsfilenames and pure re-export barrels (index.ts) — matches existing practice (confirmed ~25 other untestedindex.ts/types.tsfiles already exist acrossclient/src/).CLAUDE.mdthat agent-memory updates ride along with session-worktree PRs rather than sitting uncommitted in the base checkout.errorHandler.ts's doc comment referenced a non-existentfallbackErrorCode(); corrected to point at the actual inline fallback branch.Fixes #1821
Notes for the repo owner
cdto the base checkout" rule. These need a manual sweep by the repo owner.vendor-contacts(routes added March 2026) and complete endpoint documentation forsubsidy-programs(added Feb 2026, currently only referenced in a summary table). Worth a separate follow-up issue if a full legacy audit is wanted.Test plan
AutoItemizePdfPreview.test.tsxrun locally: 8/8 passed, 100% coverage on the target fileerrorHandler.tsverified comment-only (function body byte-for-byte unchanged)Co-Authored-By: Claude Opus 4.6 noreply@anthropic.com