rdmbair15m5-changelog-20260923-0832-rdreceipt-document-classification-review-ui
rdmbair15m5-changelog-20260923-0832-rdreceipt-document-classification-review-ui
Summary
Surfaced on-device ReceiptClassifier document
classification (DocumentClass) in the RDReceipt review UI
per STATUS.md Item 12 and the PRD mandate ("retained and marked, never
discarded"). Users can filter excluded non-receipts via a dedicated
sidebar section with dynamic count badges, inspect exclusion/uncertainty
tags on list rows, and view detailed classification metadata, confidence
scores, and individual detection signals in the receipt detail view.
Scope
- Hosts:
rdmbair15m5(local build & verification),rdmsm4x(canonical hub sync) - Repositories:
apps/RDReceipt - Target Commits:
e61417a
Touched Files
Packages/rdRECEIPT/Sources/rdRECEIPTUI/Models/SidebarSection.swift: Addedcase excludedwith Display Name "Excluded / Non-Receipts" and iconxmark.bin.fill.Packages/rdRECEIPT/Sources/rdRECEIPTUI/AppState.swift: Handledcase .excludedinfilteredReceiptsevaluatingReceiptClassifier.classify.Packages/rdRECEIPT/Sources/rdRECEIPTUI/Views/SidebarView.swift: Added navigation entry under Quick Filters with dynamic red pill badge showing count of excluded documents.Packages/rdRECEIPT/Sources/rdRECEIPTUI/Views/ReceiptRowView.swift: IntegratedDocumentClassstatus pills (Excluded/Uncertain) for receipts identified as non-receipts.Packages/rdRECEIPT/Sources/rdRECEIPTUI/Views/ReceiptDetailView.swift: CreatedDocumentClassificationCarddisplaying detected class, confidence score, PRD retention policy indicator, and horizontal badge layout of classifier evidence signals (+total_with_amount,+tax_with_amount, etc.).SESSION-STATE.md: Recorded completion of Milestone 8 (STATUS.md item 12).
Verification Evidence
- Compilation:
swift build --package-path /Users/richh/dev/apps/RDReceiptcompiled with return code 0. - Universal2 Packaging:
bash build.shproduced lipo-verified fat binaries (x86_64 arm64) indist/forrdreceipt,rdreceipt-mcp, andRDReceipt.app. - Repository Parity: Pushed to
origin(git.ecs0.net) andbackup(github.com:richhdoty/RDReceipt), fast-forward pulled onto canonicalrdmsm4x:~/dev/apps/RDReceipt(e61417a). Both working trees are 100% clean.
Undo Instructions
git -C /Users/richh/dev/apps/RDReceipt revert e61417a
bash /Users/richh/dev/apps/RDReceipt/build.sh
git -C /Users/richh/dev/apps/RDReceipt push origin main && git -C /Users/richh/dev/apps/RDReceipt push backup main
ssh rdmsm4x "cd ~/dev/apps/RDReceipt && git pull"