C:\Users\matt_\.claude\projects\C--Users-matt--OneDrive-Claude\memory\ and are indexed in MEMORY.md. Claude writes and updates these automatically. There are four types: project (ongoing work context), reference (where to find things), user (preferences and background), and feedback (how to behave).
mattnoodling@gmail.com — used by the Personal Assistant agent for outbound enquiries: quote requests, tradespeople, bookings, and similar personal tasks. Keeps Matthew's personal addresses out of agent correspondence.
Password stored in the global secrets vault as CLAUDES-GMAIL-PASSWORD.
C:\Users\matt_\.claude\sql-standards.md- Developer in all proc headers: Matthew Denison, Team: D&A
- UPDATE then INSERT — never use SQL MERGE statement
- RowHash computed in staging view, stored in target, compared on join
- Surrogate keys:
SK{TableName}ID— generated via@maxid + ROW_NUMBER()(no IDENTITY in Fabric) - DELETE commented out for Dims by default; active for Facts
- Schemas: target
dw, stagingSTG, procsLOAD
The disseminate.co.uk website is split into two repos in the diss-tfs Azure DevOps org, project Disseminate Web Site:
- disseminate-compass — Claude Compass internal guide site. Source:
_claude-guide\. Deployed tocompass.disseminate.co.ukvia Cloudflare Pages, triggered on push tomain. Password protected with Cloudflare Access (one-time PIN to matthew@disseminate.co.uk). - disseminate-web — Main disseminate.co.uk website (not yet built). Separate Cloudflare Pages project.
Hosting stack: 123-reg DNS → Cloudflare nameservers → Cloudflare Pages (free tier). Auth via Cloudflare Access (Zero Trust, personal plan).
Why separate repos: Each is an independent app — Compass updates should not trigger a main site deployment. The main site will be public; only Compass needs auth.
Claude Compass is styled after awwwards.com/jobs — bold, near-monochromatic editorial aesthetic with an amber accent.
- Sidebar:
#111111near-black - Accent:
#D4920Aamber/gold - Background:
#F2F2F2, cards white - Headings: 52px, weight 900, uppercase, tight letter-spacing
- Logo bars: amber shades
#F5D08A → #E8A020 → #D4920A - Shadows: minimal/flat. Border-radius: 6px.
~/.claude/CLAUDE.md is a symlink. The real file is C:\Users\matt_\OneDrive\Claude\_global\CLAUDE.md.
Always edit the real path directly — the Edit tool refuses to write through symlinks. The symlink keeps global rules in OneDrive for backup and portability while making them available in Claude's config folder.
Once Matthew has approved a plan and execution is underway, proceed without giving additional warnings about actions covered in the plan.
Why: Rule 6 already covers this — plan approval = permission to execute. Mid-task warnings feel like re-asking for permission and slow things down.
How to apply: Give one-time warnings at the planning stage if something is irreversible or risky. Once Matthew says go, execute cleanly without commentary on each step.
- Data retention: 2 years of transactional GL data only — do not load
bi.gl_groupedhistorical rollup (pre-2023 Dufrain-era monthly summaries with degraded dimensionality) - Invoiced filter: mainaccountid IN ('600000','600100','603500','619500','600500','601000','600600') AND postingtype <> 14
- AccDef filter: mainaccountid IN ('602000','602100','602200','602300','602010','602110','600000','600100','600500') AND postingtype = 14
- Sign convention: All amounts negated (* -1) to match business reporting convention
- Schema mapping:
_output\fee-flash-schema-mapping.xlsx - Source model: GL SL PBIP at
_context\powerbi\GL SL.SemanticModel\