Thoughts

3 thoughts about "development"
3/27/2026

Session 40 Codebase Audit: Railway Postgres password was hardcoded in plaintext in 5 pipeline scripts (render-batch.mjs, generate-visuals-batch.mjs, queue-manage.mjs, youtube-publish.mjs, blog-insert.mjs) and committed to git history. Fixed by creating shared lib/db.mjs that reads DATABASE_URL from .env. Password needs to be rotated in Railway dashboard since the old one is in git history. After rotating, update .env with the new connection string. All 5 scripts now use the shared module. Full audit fixed 21 issues: FRAMINGS bug, duplicate types, shared modules for DB/R2/validation/preflight, removed dead code, added manifest validation, preflight CLI checks, Hedra temp cleanup. Net: 336 lines added, 362 removed, zero TypeScript errors.

3/14/2026

Tat-Tally Session 39 (2026-03-14): Completed all 6 frontend resilience and safety audit fixes (S12-S17). S12: Display app now refetches all data when Wi-Fi reconnects. Added useConnectionStatus + wasDisconnected ref to DisplayLayout, calls queryClient.invalidateQueries() on reconnection. S13: Entrant submit and withdraw fetch calls now have 10-second AbortController timeouts. Shows "Check your connection and try again." on timeout. S14: All res.json() calls in entrant app wrapped in try/catch. Falls back to res.statusText or generic message when server returns non-JSON (handles Railway 502/503 HTML error pages). S15: Admin framework-detail save now checks for active/scoring categories using the framework before allowing edits. Blocks with error listing category names. S16: Admin category status transitions use optimistic locking via updated_at column. If another admin changed the status concurrently, shows "changed by someone else, please refresh." S17: Entrant submission page blocks both closed and scoring categories with context-aware messaging ("Judging In Progress" vs "Category Closed"). All 5 apps pass tsc --noEmit. Committed as 291d36f, pushed to main. Remaining audit items: S1, S8-S11 (security + database), S3-S7 (multi-tenancy RLS, deferred past Norfolk), N1-N9 (nice-to-have, deferred to Atlanta).

3/7/2026

As of March 2026, Dave Tedder's primary AI tool is Claude (Pro plan, Claude Code, Claude Desktop). He also has Google Gemini Pro, OpenAI GPT Pro, Perplexity Pro, and Antigravity available. Claude is the default for automation and development work.

People: Dave Tedder