Severity: Medium — found during a deep project review (2026-07-06).
1. Wiki submodule is stale and dirty
2. Dead code: client/src/pages/BudgetPage/
Not referenced in App.tsx routes, not imported anywhere outside its own folder, untouched since 7a438dce (2026-03-17). It is the only page with zero E2E references — because it's unreachable. Remove it (or re-route it if it was meant to survive the budget redesign).
3. Missing test file
client/src/components/autoItemize/AutoItemizePdfPreview.tsx — real component added recently with no corresponding .test.tsx, violating the test-file-parity rule that [MODE: review] is supposed to enforce. (Type-only/barrel files autoItemize/types.ts, autoItemize/index.ts, ChunkLoadErrorBoundary/index.ts also lack tests; the rule as written admits no exemption — either add tests or document a barrel/types exemption in CLAUDE.md.)
4. Base-checkout hygiene (informational)
42 dirty items (10 modified + 32 untracked) sit uncommitted in the base checkout — all under .claude/agent-memory/ plus the dirty wiki pointer. Agent memory is being written in the base checkout rather than in session worktrees; decide whether memory updates should be committed routinely or gitignored.
Severity: Medium — found during a deep project review (2026-07-06).
1. Wiki submodule is stale and dirty
API-Contract.md(17 ins/17 del) — unpushed architecture documentation sitting in the working tree.betasince (auto-itemize merge [auto-itemize] Merge multiple extracted line items into one consolidated line (LLM-summarized text, code-summed numerics) #1797, cost-basis filter Cost Breakdown: payment-status (Cost Basis) filter — Paid / Outstanding / All #1786, vendor reassignment, document attachment, …), so the API Contract is likely missing several endpoints. Per CLAUDE.md, the wiki is the canonical API contract that dev-team-lead specs are written against.2. Dead code:
client/src/pages/BudgetPage/Not referenced in
App.tsxroutes, not imported anywhere outside its own folder, untouched since7a438dce(2026-03-17). It is the only page with zero E2E references — because it's unreachable. Remove it (or re-route it if it was meant to survive the budget redesign).3. Missing test file
client/src/components/autoItemize/AutoItemizePdfPreview.tsx— real component added recently with no corresponding.test.tsx, violating the test-file-parity rule that[MODE: review]is supposed to enforce. (Type-only/barrel filesautoItemize/types.ts,autoItemize/index.ts,ChunkLoadErrorBoundary/index.tsalso lack tests; the rule as written admits no exemption — either add tests or document a barrel/types exemption in CLAUDE.md.)4. Base-checkout hygiene (informational)
42 dirty items (10 modified + 32 untracked) sit uncommitted in the base checkout — all under
.claude/agent-memory/plus the dirty wiki pointer. Agent memory is being written in the base checkout rather than in session worktrees; decide whether memory updates should be committed routinely or gitignored.