Commit graph

  • 8c58990fd9
    fix(security): stop leaking Gemini API key to browsers (#34) varutasu 2026-05-27 08:41:48 -0500
  • 0918bd0449 fix(security): stop leaking Gemini API key to browsers convoy/secure-scanner-gemini-key Randall Stillwell 2026-05-27 08:40:00 -0500
  • 7efb6efe69
    docs: post-convoy cleanup for 7-convoy 2026-05-26 wave (#33) varutasu 2026-05-26 23:15:21 -0500
  • a941d4db1f docs: post-convoy cleanup for 7-convoy 2026-05-26 wave Randall Stillwell 2026-05-26 23:12:26 -0500
  • de9f3348f6
    feat(infra): adopt node-pg-migrate + backfill initial schema migration (#32) varutasu 2026-05-26 23:01:58 -0500
  • b99e885a80 Merge remote-tracking branch 'origin/main' into convoy/migration-tool convoy/migration-tool Randall Stillwell 2026-05-26 22:59:39 -0500
  • 0668b0c7d0
    refactor(auth): collapse lib/auth-context.js + lib/admin-auth.js onto lib/use-auth.js (#31) varutasu 2026-05-26 22:58:08 -0500
  • 68bf75f18c feat(infra): adopt node-pg-migrate + backfill initial schema migration Randall Stillwell 2026-05-26 22:55:09 -0500
  • 3022e80c04 refactor(auth): collapse lib/auth-context.js + lib/admin-auth.js onto lib/use-auth.js convoy/single-auth-provider Randall Stillwell 2026-05-26 22:54:35 -0500
  • c403ea49e8
    refactor(db): collapse @neondatabase/serverless onto @vercel/postgres + delete lib/database.js (#30) varutasu 2026-05-26 22:54:01 -0500
  • 13d62108ce
    chore(lint): forbid require() in scripts/** under "type": "module" (#29) varutasu 2026-05-26 22:53:31 -0500
  • 171f5afc6f
    chore(components): remove dead user prop from MobileNavigation (#28) varutasu 2026-05-26 22:53:28 -0500
  • 5f2b234cc8
    fix(scripts): require TEST_USERS_PASSWORD + purge weak literals from test-user helpers (#27) varutasu 2026-05-26 22:53:24 -0500
  • ba954629ed
    ci(workflows): exclude pages/api/** from visual-diff path filter (#26) varutasu 2026-05-26 22:51:22 -0500
  • cc99e74c89 refactor(db): collapse @neondatabase/serverless onto @vercel/postgres + delete lib/database.js convoy/single-sql-client Randall Stillwell 2026-05-26 22:50:58 -0500
  • 1f100d1831 chore(lint): forbid require() in scripts/** under "type": "module" convoy/lint-against-cjs-in-esm-scripts Randall Stillwell 2026-05-26 22:50:16 -0500
  • 6b70cca58c chore(components): remove dead user prop from MobileNavigation convoy/cleanup-mobile-nav-dead-props Randall Stillwell 2026-05-26 22:50:13 -0500
  • af505d533c fix(scripts): require TEST_USERS_PASSWORD + purge weak literals from test-user helpers Randall Stillwell 2026-05-26 22:49:38 -0500
  • 39f3e3affe ci(workflows): exclude pages/api/** from visual-diff path filter Randall Stillwell 2026-05-26 22:48:56 -0500
  • 5f1fa60cba docs: post-convoy cleanup for fix-reset-db-script Randall Stillwell 2026-05-26 22:10:13 -0500
  • 3ab9bf840c
    fix(scripts): convert reset-db.js to ESM + require ADMIN_INITIAL_PASSWORD (#25) varutasu 2026-05-26 22:08:45 -0500
  • ff98c5fdd6 fix(scripts): convert reset-db.js to ESM + require ADMIN_INITIAL_PASSWORD Randall Stillwell 2026-05-25 11:36:25 -0500
  • 1de0e03522
    fix(migration): rename-admin-email crashes — neon() returns array, not { rows } varutasu 2026-05-25 11:30:09 -0500
  • 98406fafbe fix(migration): neon() returns rows array directly, not { rows, rowCount } Randall Stillwell 2026-05-25 11:25:43 -0500
  • 7e06ab559a
    docs: post-convoy cleanup for pick-a-name — first post-P0 P1 convoy varutasu 2026-05-25 04:10:12 -0500
  • d640795959 docs: post-convoy cleanup for pick-a-name — first post-P0 P1 convoy Randall Stillwell 2026-05-25 03:04:29 -0500
  • 9abbab6c21
    feat(brand): unify on Deck Hearth across in-repo strings + infra (P1 brand decision) varutasu 2026-05-25 02:28:29 -0500
  • 1c18d214c1 feat(brand): infrastructure + email migration for Deck Hearth (B2 of 2) Randall Stillwell 2026-05-25 01:58:48 -0500
  • ac8c998935 feat(brand): in-repo display + comment sweep for Deck Hearth (B1 of 2) Randall Stillwell 2026-05-25 01:50:33 -0500
  • 50ce9ab43a architect: pick-a-name (queued → in-progress; 2 briefs, D1-D5 routed back for operator gate-1) Randall Stillwell 2026-05-25 00:04:07 -0500
  • 989b7fab29 convoy: scope pick-a-name (Deck Hearth wins, last open P1 brand decision) Randall Stillwell 2026-05-24 23:19:14 -0500
  • 7832e03dec docs: post-convoy cleanup for add-rate-limiting — MILESTONE, last P0 closed Randall Stillwell 2026-05-24 23:09:07 -0500
  • 708ef45a96
    feat(security): rate-limit search/upload/import + gate import routes (P0 #6 - closes last P0) varutasu 2026-05-24 22:59:59 -0500
  • 51a3a970e0 feat(security): rate-limit search/upload/import + gate import routes (P0 #6) Randall Stillwell 2026-05-24 22:46:27 -0500
  • 60b842ee41 architect: add-rate-limiting (queued → in-progress; 1 brief, D1 routes back for operator gate-1) Randall Stillwell 2026-05-24 22:30:09 -0500
  • 46aeb77813 convoy: scope add-rate-limiting (P0 #6 PARTIAL → RESOLVED, the LAST P0) Randall Stillwell 2026-05-24 22:19:49 -0500
  • f8b2cd85bc docs: post-convoy cleanup for cors-tighten Randall Stillwell 2026-05-24 20:49:30 -0500
  • da50d78406
    fix(security): drop wildcard CORS + redundant OPTIONS from 24 API routes (P0 #5) varutasu 2026-05-24 20:41:38 -0500
  • a84373642e fix(security): drop wildcard CORS + redundant OPTIONS from 24 API routes (P0 #5) Randall Stillwell 2026-05-24 20:24:47 -0500
  • ec22b704e0 convoy: architect cors-tighten (Option B, 24 files + CI lock) Randall Stillwell 2026-05-24 20:12:20 -0500
  • da2afe3df8 convoy: scope cors-tighten (P0 #5 PARTIAL → RESOLVED) Randall Stillwell 2026-05-24 20:04:16 -0500
  • eefc390636 docs: post-convoy cleanup for adopt-playwright-smoke Randall Stillwell 2026-05-24 19:33:43 -0500
  • 7b6f7519b2
    feat(test): adopt @playwright/test + ship playwright.config.js + visual scaffold (P1 #10 step 2) varutasu 2026-05-24 19:25:18 -0500
  • c72d006666 feat(test): adopt @playwright/test + ship playwright.config.js + visual scaffold (Brief 1 of adopt-playwright-smoke) Randall Stillwell 2026-05-24 18:44:52 -0500
  • 3ac527ef48 architect: ratify decisions + brief for adopt-playwright-smoke Randall Stillwell 2026-05-24 17:56:20 -0500
  • c8f1541fa9 convoy: scope adopt-playwright-smoke (P1 #10 step 2) Randall Stillwell 2026-05-24 17:28:55 -0500
  • c2a43a0ce2 docs: post-convoy cleanup for fix-vercel-deployment-protection-in-ci Randall Stillwell 2026-05-24 16:32:45 -0500
  • 9a3e077d40
    fix(ci): plumb VERCEL_AUTOMATION_BYPASS_SECRET into preview-smoke + visual-diff (#17) varutasu 2026-05-24 16:26:22 -0500
  • 043a6ee78a fix(ci): drop x-vercel-set-bypass-cookie=true from wait-action path Randall Stillwell 2026-05-24 16:14:59 -0500
  • b6f8688df8 fix(ci): route github.event.pull_request.body through env: to avoid shell injection Randall Stillwell 2026-05-24 15:31:16 -0500
  • 365e9f02f7 fix(ci): plumb VERCEL_AUTOMATION_BYPASS_SECRET into preview-smoke + visual-diff (Brief 1 of fix-vercel-deployment-protection-in-ci) Randall Stillwell 2026-05-24 15:26:23 -0500
  • d3ea1cbf24 architect: plan fix-vercel-deployment-protection-in-ci convoy (1 brief) Randall Stillwell 2026-05-24 15:15:45 -0500
  • efca3e84c1 docs: mark P0 #8 (Next.js bump) RESOLVED in ship-readiness.md Randall Stillwell 2026-05-24 14:40:46 -0500
  • b7ddd0895e docs: post-convoy cleanup for fix-layout-default-user (+ queue CI-protection follow-up) Randall Stillwell 2026-05-24 14:37:39 -0500
  • ca302a89c1
    fix(layout+pages): default user=null + page audit sweep (P0 #7) (#15) varutasu 2026-05-24 14:31:37 -0500
  • 0f6bfbb7df feat(pages): pass user explicitly + null-guard leaky page seeds (Brief 2 of fix-layout-default-user) Randall Stillwell 2026-05-24 10:05:17 -0500
  • 79171e8b97 feat(layout): default user=null + Sign-in CTA when logged out (Brief 1 of fix-layout-default-user) Randall Stillwell 2026-05-24 09:14:13 -0500
  • bac22ead5f architect(fix-layout-default-user): plan + briefs 1-2 (Layout fix + page audit) Randall Stillwell 2026-05-23 18:02:23 -0500
  • e31ad825b4 convoy: scope fix-layout-default-user (P0 #7 — Layout maintainer-email leak) Randall Stillwell 2026-05-23 17:51:00 -0500
  • 7e972546b7
    fix(ci): scoped permissions for preview-smoke + visual-diff workflows (#16) varutasu 2026-05-24 14:22:12 -0500
  • a02a504511 fix(ci): scoped permissions for preview-smoke + visual-diff workflows Randall Stillwell 2026-05-24 14:03:26 -0500
  • eeb14eb0e0 docs: post-convoy cleanup for drop-public-setup Randall Stillwell 2026-05-23 17:04:35 -0500
  • 5488cff08f docs: post-convoy cleanup for drop-public-setup Randall Stillwell 2026-05-23 17:04:35 -0500
  • b63b5090cc fix(seed): convert scripts/setup-neon-db.js from CJS to ESM (Node 22.x compat) Randall Stillwell 2026-05-23 15:07:25 -0500
  • 792439b5eb architect(drop-public-setup): expand scope with brief 2 (CJS→ESM) Randall Stillwell 2026-05-23 15:03:25 -0500
  • ff80753fe4 feat(seed): require ADMIN_INITIAL_PASSWORD env var; strip admin123 from README Randall Stillwell 2026-05-23 14:57:31 -0500
  • 4d32659545 architect(drop-public-setup): plan + brief 1 (env-var admin password) Randall Stillwell 2026-05-23 12:32:52 -0500
  • 466f859ec2 convoy: scope drop-public-setup (P0 #3 — admin credentials in seed) Randall Stillwell 2026-05-23 12:24:03 -0500
  • 99e5593c33 fix(seed): convert scripts/setup-neon-db.js from CJS to ESM (Node 22.x compat) Randall Stillwell 2026-05-23 15:07:25 -0500
  • 5ad0b4d36e architect(drop-public-setup): expand scope with brief 2 (CJS→ESM) Randall Stillwell 2026-05-23 15:03:25 -0500
  • ba1022b5db feat(seed): require ADMIN_INITIAL_PASSWORD env var; strip admin123 from README Randall Stillwell 2026-05-23 14:57:31 -0500
  • cd4ba35356 architect(drop-public-setup): plan + brief 1 (env-var admin password) Randall Stillwell 2026-05-23 12:32:52 -0500
  • d2f5c4f9af convoy: scope drop-public-setup (P0 #3 — admin credentials in seed) Randall Stillwell 2026-05-23 12:24:03 -0500
  • c7ad0ffa29 docs: post-convoy cleanup for fix-auth-bypass Randall Stillwell 2026-05-23 11:27:48 -0500
  • f64a80ba2a docs: post-convoy cleanup for fix-auth-bypass Randall Stillwell 2026-05-23 11:27:48 -0500
  • 1629afbb76 test(auth): add vitest harness + 16 auth-focused unit tests (Brief 5 of fix-auth-bypass) Randall Stillwell 2026-05-23 11:06:54 -0500
  • bcb448d328 test(auth): add vitest harness + 16 auth-focused unit tests (Brief 5 of fix-auth-bypass) Randall Stillwell 2026-05-23 11:06:54 -0500
  • 1fca3aa1ca fix(api): return 401 (not 500) on unauthenticated cards-collection writes Randall Stillwell 2026-05-23 11:02:57 -0500
  • e391be92ad fix(api): return 401 (not 500) on unauthenticated cards-collection writes Randall Stillwell 2026-05-23 11:02:57 -0500
  • 297afca1ae fix(auth): tighten public auth surface — CORS + rate limit (Brief 4 of fix-auth-bypass) Randall Stillwell 2026-05-23 10:51:33 -0500
  • 258e479dc5 fix(auth): remove synthetic-admin bypass (Brief 2 of fix-auth-bypass) Randall Stillwell 2026-05-23 10:47:27 -0500
  • 6dae7adc77 fix(auth): tighten public auth surface — CORS + rate limit (Brief 4 of fix-auth-bypass) Randall Stillwell 2026-05-23 10:51:33 -0500
  • 27e924c7cd fix(auth): remove synthetic-admin bypass (Brief 2 of fix-auth-bypass) Randall Stillwell 2026-05-23 10:47:27 -0500
  • 4a10dcedd3 fix(auth): centralize JWT secret + 24h TTL (Brief 1 of fix-auth-bypass) Randall Stillwell 2026-05-23 09:47:11 -0500
  • fc0dd73fdc fix(api): delete dev endpoints + CI guard (Brief 3 of fix-auth-bypass) Randall Stillwell 2026-05-23 09:54:09 -0500
  • b6891f1fa6 fix(api): delete dev endpoints + CI guard (Brief 3 of fix-auth-bypass) Randall Stillwell 2026-05-23 09:54:09 -0500
  • 5d72277355 fix(auth): centralize JWT secret + 24h TTL (Brief 1 of fix-auth-bypass) Randall Stillwell 2026-05-23 09:47:11 -0500
  • bc0d1687d0 docs(AGENTS): reflect bump-next-js outcome (Next 16, ESLint v9, typescript devDep) Randall Stillwell 2026-05-23 02:36:08 -0500
  • 1667b87ee3 convoy(fix-auth-bypass): architect plan + 5 briefs (Wave A/B/C dispatch) Randall Stillwell 2026-05-23 02:58:16 -0500
  • ebd4fd1397 chore: merge main into convoy/fix-auth-bypass Randall Stillwell 2026-05-23 02:39:48 -0500
  • 48cff0a9d5 docs(AGENTS): reflect bump-next-js outcome (Next 16, ESLint v9, typescript devDep) Randall Stillwell 2026-05-23 02:36:08 -0500
  • e57ea17579 bump: next 15.4.3 -> 16.2.6, ESLint flat config (v9 fallback), typescript devDep Randall Stillwell 2026-05-23 02:04:02 -0500
  • 7540b2c8d5 convoy(bump-next-js): plan + brief 1 (Decisions A-D) Randall Stillwell 2026-05-23 02:03:45 -0500
  • 84aa381bd3 convoy: scope bump-next-js (P0 #8 — unblock Vercel deploys) Randall Stillwell 2026-05-22 23:45:14 -0500
  • 177ba5f620 fix(bootstrap/ci): make lint job show green while debt is tracked Randall Stillwell 2026-05-22 23:27:20 -0500
  • 9aaa599820 fix(bootstrap): make L3 CI green + record two new ship-blockers Randall Stillwell 2026-05-22 23:24:11 -0500
  • 1944b1ed48 bootstrap: agent pipeline v0.5.0 + ship-readiness review Randall Stillwell 2026-05-22 23:16:08 -0500
  • 093a288cc4 bump: next 15.4.3 -> 16.2.6, ESLint flat config (v9 fallback), typescript devDep Randall Stillwell 2026-05-23 02:04:02 -0500
  • df763f8eb5 convoy(bump-next-js): plan + brief 1 (Decisions A-D) Randall Stillwell 2026-05-23 02:03:45 -0500
  • 74d9f580c7 convoy: scope bump-next-js (P0 #8 — unblock Vercel deploys) Randall Stillwell 2026-05-22 23:45:14 -0500