Skip to content

Maintenance / hygiene pass

This repo is the canonical knowledge base for Renfroe Holdings (US), RHG, and Casa Moksha. Its working todo lists live in todo/ (for-austin.md, for-advisors.md, tech-automation.md, for-next-session.md, remaining-work-summary.md). This playbook is the routine for running a hygiene pass through the repo as a whole — what to look at so the knowledge base doesn't drift quietly between sessions.

Cadence: manual for now (no remote trigger). Run before major events with the CPA / Mexican accountant / legal counsel, after a JME monthly packet lands, after a Brex / Xero / banking change, or when the discovery summary feels more than a session or two behind reality.

Keep this playbook updated. When a new pattern of cruft appears in this repo that isn't covered below — a new entity, a new bank account whose statement cadence needs spot-checking, a new compliance deadline (FBAR, 5471, 8938, BE-10/15) we should be watching — add a section. If the routine doesn't evolve with the repo, it ossifies and starts missing real things, and a stale pass is worse than no pass.

What this routine is

Surfacing-only. Walk through each section, flag candidates, and funnel findings into ~/projects/lab/todo/inbox.md under a dated section ## renfroe-holdings hygiene pass <YYYY-MM-DD>. Don't fix things in the same pass — for a finance / tax / legal knowledge base, fixing means making decisions Austin and his advisors should be driving. Centralizing findings in the lab inbox means one place to triage what's stale across the whole portfolio.

What to do

1. Walk the existing items

Open todo/for-austin.md, todo/for-advisors.md, and todo/tech-automation.md. For each open [ ] item, check whether the referenced state still matches reality (file:line citations, account numbers, advisor names, date references). Mark items resolved where they're already done; close the loop. Per repo convention, don't delete closed items — move them to a ## Done section.

2. Discovery summary freshness

context/discovery-summary.md is "start here" for any session. Surface candidates:

  • Last-modified vs. recent decisions. If decisions/log.md has entries newer than discovery-summary's last update, the summary is behind.
  • Numbers in the summary that have moved — bank balances, date-stamped facts ("dormant since X", "operational Jul 2025 onward"), counts of entities / accounts / properties. Spot-check against banking/, accounting/, tax/.
  • Entity status that changed since the summary was written — e.g. an LLC was dissolved, a new account was opened, a property closed.

3. Drifted contact info / advisors / staff

context/people.md lists advisors, staff, contractors. Surface candidates:

  • Advisors / firms referenced anywhere in todo/for-advisors.md or tax/ whose contact info isn't captured in people.md.
  • People referenced by first name only without a people.md pointer — fine in casual notes but breaks for anyone (or any Claude session) reading cold.
  • Engagement-status drift — e.g. CPA listed as "engaged" but the for-advisors queue suggests they've been unresponsive for months, or vice versa.

4. Stale entity / account documents

context/entities.md, banking/*.md, accounting/, plus source-data/. Surface candidates:

  • Banking files describing accounts as "dormant" / "awaiting" past the typical resolution window. "Awaiting 90-day CSV" that's been awaiting for 6 months is a flag.
  • Account numbers / CLABEs / routing numbers that have changed per any recent decisions/log.md entry but still appear in the old form somewhere in the repo.
  • Entities listed in entities.md that no longer match current legal status (e.g. dissolution decided in decisions/log.md but entities.md still shows active).
  • Properties whose status (operational, listing, sold, refinanced) has changed without entities.md / discovery-summary reflecting it.

5. Compliance deadlines runway

Surface compliance / filing items coming due in the next 90 days into the lab inbox under an Expiration runway subheading. Surfacing only — Austin and the CPA decide what to act on. Spot-check:

  • FBAR (FinCEN 114) — annual, due April 15 with auto-extension to October 15. tax/fbar-analysis.md tracks the trigger threshold.
  • Form 8938 (FATCA) — filed with the 1040.
  • Form 5471 (RHG, GK) — filed with the 1040.
  • BE-10 / BE-15 (BEA reporting on foreign affiliates) — BE-10 is every 5 years; BE-15 is annual; deadlines vary.
  • Mexican RFC / SAT obligations — monthly DIOT / IVA, annual filings.
  • State filings for RH and any Delaware / Texas / state-of-org entities — annual report, franchise tax.
  • Form 8832 ("check-the-box") timing — surface if the open question has been deferred long enough that the strategic-window is closing.

Cross-reference open items in tax/ against this list; flag anything whose deadline is closer than its current sequencing in for-austin.md / for-advisors.md would imply.

6. Cross-document consistency

Numbers and dates should agree across files. Surface candidates:

  • NOL carryforward amount — should match across decisions/log.md, tax/, and the discovery summary. The currently captured figure is $3,429,659 (per for-advisors.md); flag any other number cited.
  • FY anchors — fiscal years referenced as FY2025, FY2026 per the README convention. Flag bare-year references that are ambiguous.
  • Currency labeling$X USD vs $X MXN per README. Flag any bare $ figures in finance docs (not casual chat archives).
  • Decision log vs. files — every entry in decisions/log.md should be reflected wherever it's load-bearing (accounting/xero-brex-setup-plan.md, entities.md, etc.). Flag decisions that haven't been propagated.

7. Open-questions backlog

open-questions.md is the running list of unresolved uncertainties. Surface candidates:

  • Questions older than 60 days still open. Either the answer has been captured elsewhere and the question can be closed, or it's parked-but-not-marked.
  • Questions resolved (referenced in decisions/log.md) but not yet closed in open-questions.md. Per README, closing should include a pointer to where the answer lives.
  • Questions blocked on a specific document upload that's been pending in for-austin.md for >30 days. Surface so Austin can decide if the block needs escalating.

8. Source-data / source-chats archive integrity

Surface candidates:

  • Recent claude.ai conversations referenced in this repo that haven't been archived to source-chats/ per README convention. README is explicit: archive before the conversations are deleted.
  • source-data/ files referenced by name in knowledge files but missing from disk.
  • Files in source-data/ not referenced anywhere in the knowledge layer — possible orphans worth confirming or removing.

9. JME monthly packet status

remaining-work-summary.md documents the playbook for processing the JME monthly packet. Surface candidates:

  • Last JME packet processed — date, and how many days since the current month's packet was expected. Flag if a packet appears overdue.
  • Open items in the packet playbook that the most recent run didn't get to.

10. Tech-automation queue health

todo/tech-automation.md is the queue of things Claude can execute via MCP. Surface candidates:

  • Items pending on integrations not yet wired up (Xero, Brex, etc.) that have been sitting longer than the integration timeline in accounting/xero-brex-setup-plan.md. Either the plan has slipped or the item is mis-classified.
  • Items completed by Claude in past sessions but not checked off here.

11. Sensitive-data leakage

The README is explicit: this repo contains bank account numbers, CLABEs, entity details. Keep it private. Surface candidates:

  • Anything that appears in decisions/log.md or recent commits that suggests a non-private context (e.g. snippets pasted into a shared doc, a third-party reference link).
  • Tokens in tracked files — grep for likely token patterns (ghp_, sk-, gtoken_, etc.) that shouldn't be in a repo even if it's private.
  • .env or credentials files that ended up tracked. Should always be gitignored.

12. Memory rot

Sweep ~/.claude/projects/-home-dev-projects-renfroe-holdings/memory/ for entries referencing things that no longer exist (retired accounts, advisor names that have changed, decisions that were superseded). Wrong memory is worse than missing memory because it persists across sessions and affects how Claude reasons about the finances.

How to record findings

Append to ~/projects/lab/todo/inbox.md under a heading like:

## renfroe-holdings hygiene pass 2026-04-26

For each finding, give:

  • What — one-sentence description.
  • Where — file:line, account, entity, or todo-list reference.
  • Why surfaced — which section above flagged it.

Don't paste account numbers, CLABEs, or other sensitive specifics into the lab inbox — refer by file path so the sensitive data stays in this private repo.

What this routine does NOT do

  • Make any tax / accounting / legal decisions.
  • Close open-questions.md items based on its own judgment.
  • Edit decisions/log.md (Austin and advisors drive that).
  • Categorize transactions, file forms, or reach out to advisors.
  • Delete files or close todo items based on its own judgment.

All of that is action work that Austin (and his advisors) drive, separate from the surfacing pass.