File-Naming: Reference Artifacts (Bills, Receipts, Statements)
Section titled “File-Naming: Reference Artifacts (Bills, Receipts, Statements)”Decision
Section titled “Decision”Naming System.md §4 — new ISO-date exception for dated financial/reference docs:
- Rule:
Type_Vendor_YYYY-MM-DD.pdf— what → who → when (BEM object-first). Hyphens allowed in the date only (ISO-8601 is never a code variable, so the underscore-only rationale doesn’t apply). - Folder-implied collapse: drop any element the folder already says — Type (
Bills/) or part of Vendor (Statements/CreditCard/already says “CreditCard” — keep only the institution, since that’s what changes if Talbot switches providers). - Validates rather than replaces the existing 8-year
Bills/convention (Rogers-2018-10-16.pdf).
Retroactive scope
Section titled “Retroactive scope”Accounting artifacts dated 2025-06-01 onward (FY26, aligned with the QuickBooks Desktop → Online migration — pre-migration files are frozen reference material nothing else points at). Applied to Bills/, Expenses/AI Tools/, Statements/Chequing/, Statements/CreditCard/. Invoices/ had no files in scope. Bills/ needed zero changes (already compliant).
Result: 7 Stripe receipts → Claude_YYYY-MM-DD.pdf (verified real vendor+date via markitdown against each PDF’s “Date paid” line — all Anthropic/Claude, no Cursor receipts currently present); 26 statements → BMO_YYYY-MM-DD.pdf.
Utility built
Section titled “Utility built”D:\FSS\Software\Utils\PythonUtils\rename_receipts\ — deterministic uv-managed CLI, dry-run by default (--execute to apply). Registered at Core/IT/Utils/Custom/rename-receipts.md.
Gotcha: WSL/drvfs delete lock
Section titled “Gotcha: WSL/drvfs delete lock”os.rename() and even plain rm failed with PermissionError on 3 of the first 25 files, despite -rwxrwxrwx — not systemic (a fresh scratch file deleted fine). Likely a transient lock (backup/AV scan) on those specific pre-existing files. Fix: copy + byte-verify (filecmp.cmp) + delete, and don’t abort the whole batch on one locked file — collect a manual-cleanup list and print the exact Remove-Item PowerShell command. All subsequent files (26/26 in the follow-up BMO-redundancy-fix pass) deleted cleanly from WSL.
Process gap closed
Section titled “Process gap closed”New custom utils weren’t being registered in Core/IT/Utils/Custom/ at creation — rename_receipts was caught only when Talbot asked for it after the fact. Added to ai-config/AGENTS.md’s Utility script placement rule: register at creation time, not retroactively.
Deferred
Section titled “Deferred”- Vault-wide retroactive rename beyond Accounting: not evaluated, Talbot’s call for later.
- Pre-2025-06-01 Accounting artifacts: left alone (frozen reference material, no upstream system points at them post-QBO-migration).