{"slug":"designersalesreps","total":16,"limit":100,"offset":0,"since":null,"commits":[{"hash":"67d49f1","date":"2026-09-10 11:51:23 -0700","author":"Steve Abrams","subject":"Add clean /privacy route (AdSense URL consistency)","body":"Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>"},{"hash":"f20fe60","date":"2026-09-10 11:20:49 -0700","author":"Steve Abrams","subject":"Add privacy footer link (AdSense discoverability)","body":"Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>"},{"hash":"7393941","date":"2026-09-10 11:02:10 -0700","author":"Steve Abrams","subject":"Add AdSense-compliant privacy policy page + footer link + /privacy route","body":"Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>"},{"hash":"fdd6887","date":"2026-09-09 16:02:04 -0700","author":"Steve","subject":"TK-11341: add AdSense Auto-Ads loader + ads.txt (revert to remove ads)","body":""},{"hash":"142f4e6","date":"2026-09-04 08:32:31 -0700","author":"Steve Abrams","subject":"deploy: guard live runtime data from rsync --delete","body":"deploy.sh runs 'rsync -az --delete'. This project's server appends\nuser-submitted state to a path inside its own deployed tree, and the file\ndoes not exist locally — so a deploy DELETED it on prod outright.\n\nProven by itemized rsync --dry-run against prod:\n  WITHOUT guard: *deleting   <the runtime file>\n  WITH guard:    (nothing)\n\nProd held real data at the time of the fix: fabricfriday 19,\ntextiletuesday 70, wallpaperwednesday 30 newsletter subscribers.\n\nFound by the new deploy-data-guard-canary, which caught these four after\na hand-rolled sweep missed them. TK-11227.\n\nCo-Authored-By: Claude Opus 5 <noreply@anthropic.com>\nClaude-Session: https://claude.ai/code/session_013mq9RQtVZZEWvreDqqTgv2"},{"hash":"c2aa478","date":"2026-08-18 06:06:27 -0700","author":"Steve Abrams","subject":"GA4+Meta pixel: inject gtag + fbq into homepage","body":""},{"hash":"7accefe","date":"2026-08-12 08:53:19 -0700","author":"Steve","subject":"viewer standard: add Grid/List toggle + per-field on/off menu to internal record-grid viewer","body":""},{"hash":"3c253cc","date":"2026-08-01 20:14:29 -0700","author":"Steve Abrams","subject":"designersalesreps: adopt href-to-deeper-data primitives (TK-10093)","body":""},{"hash":"37ed884","date":"2026-07-27 15:57:37 -0700","author":"Steve Abrams","subject":"chore: v1.0.1 — go-live (CF-proxied, live on prod)","body":""},{"hash":"90bd32b","date":"2026-07-27 14:58:01 -0700","author":"Steve Abrams","subject":"reassign primary port 9901->9905 (Kamatera 9901 taken)","body":""},{"hash":"08f518f","date":"2026-07-27 14:51:35 -0700","author":"Steve Abrams","subject":"auto-save: 2026-07-27T14:51:27 (1 files) — package-lock.json","body":""},{"hash":"a245b58","date":"2026-07-27 14:39:36 -0700","author":"Steve Abrams","subject":"chore: add deploy scaffold — ecosystem.config.js, deploy-kamatera.sh, nginx vhost, .deploy.conf","body":"Onboard prep for designersalesreps.com (port 9901). DNS/CF/pm2 gates\npending Steve approval per pending-approval/designersalesreps-go-live.md.\n\nCo-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>"},{"hash":"d122630","date":"2026-06-03 09:01:21 -0700","author":"Steve","subject":"Harden external links with rel=noopener noreferrer","body":"Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>"},{"hash":"e3a4fd2","date":"2026-05-19 17:36:51 -0700","author":"SteveStudio2","subject":"server — 404-guard .bak/.pre paths before static handler","body":"Drops any request whose path matches .bak or .pre- before express.static\ngets a chance to serve it, so snapshot residue can never leak to the open\nweb even if a file slips into public/.\n\nCo-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>"},{"hash":"6839ed3","date":"2026-05-19 17:36:31 -0700","author":"SteveStudio2","subject":"gitignore — exclude .bak/.pre snapshots + runtime claims.jsonl","body":"Prevents accidentally committing editor-snapshot residue or runtime claim\nsubmissions to the repo.\n\nCo-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>"},{"hash":"53e8a4f","date":"2026-05-10 21:40:34 -0700","author":"Steve Abrams","subject":"initial scaffold","body":""}]}