{"slug":"SDCC-Stories","total":5,"limit":100,"offset":0,"since":null,"commits":[{"hash":"dbfa7ca","date":"2026-06-01 07:39:53 -0700","author":"Steve Abrams","subject":"Global search across candidates + stories + settings","body":"Add a unified search bar to the SDCC-Stories admin header. Replaces the\nnarrow ?search= filter on /api/candidates (which only hit 3 columns)\nwith cross-table coverage.\n\nserver.js\n  GET /api/search?q=<query>&limit=25 — searches:\n    · candidates (name, email, zip, story, key_quote, demographics,\n      district, representative, story_category, press_pitch_angle,\n      story_type, tier — 18 LIKE columns)\n    · stories (one_liner, instagram_caption, x_post, hashtags,\n      story_category, lane, status)\n    · settings (key + value — credential values masked as\n      '(set — N chars)' for keys matching /token|secret|password|key$/i)\n  Returns unified {results, query, counts, total} grouped by type.\n\npublic/index.html\n  Add header-center search input + results panel.\n\npublic/css/styles.css\n  .global-search-* styles matching the existing light theme.\n\npublic/js/app.js\n  Debounced 220ms search → fetch → grouped render.\n  Cmd+K / Ctrl+K focuses input. Esc closes. Arrow keys + Enter.\n  Click-through: candidate → switchTab + openCandidate;\n                  story → switchTab + scroll-into-view;\n                  setting → switchTab('settings').\n  Story cards get data-story-id so the scroll-into-view works.\n\nCo-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>"},{"hash":"8c69aad","date":"2026-05-30 21:22:30 -0700","author":"Steve Abrams","subject":"gitignore: add *.bak-* *.pre-* *.orig patterns to prevent backup file leaks","body":"Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>"},{"hash":"795a4f4","date":"2026-05-30 09:32:49 -0700","author":"steve","subject":"security: strip hardcoded dw_admin DSN password -> env-first. No rotation/deploy.","body":""},{"hash":"ae4222d","date":"2026-05-13 08:58:00 -0700","author":"Steve","subject":"snapshot: 2 file(s) changed, ~2 modified","body":""},{"hash":"5f05dd4","date":"2026-05-06 10:25:12 -0700","author":"Steve Abrams","subject":"initial scaffold (gitify-all 2026-05-06)","body":""}]}