Commit graph

  • 641ea3da53 feat: add GET/POST /api/digest-queue endpoints pyr0ball 2026-03-20 02:51:17 -0700
  • 0590a3a12e fix: fix indentation and add try/finally in digest startup pyr0ball 2026-03-20 02:36:23 -0700
  • 7d9be91aab fix: fix indentation and add try/finally in digest startup pyr0ball 2026-03-20 02:36:23 -0700
  • 6a1ee3ed28 feat: add digest_queue table to schema and dev-api startup pyr0ball 2026-03-20 02:34:41 -0700
  • b56ad40c9e feat: add digest_queue table to schema and dev-api startup pyr0ball 2026-03-20 02:34:41 -0700
  • 11a8441fed docs: add digest queue implementation plan pyr0ball 2026-03-20 02:19:44 -0700
  • 24a16ee4b0 docs: add digest scrape queue design spec pyr0ball 2026-03-19 20:28:23 -0700
  • c6f810fb30 feat(signals): add Unrelated and Digest reclassify chips to InterviewsView pyr0ball 2026-03-19 20:01:08 -0700
  • d2dd902482 feat(signals): add Unrelated and Digest reclassify chips to InterviewsView pyr0ball 2026-03-19 20:01:08 -0700
  • 87aae6eefc feat(signals): add Unrelated and Digest reclassify chips to InterviewCard pyr0ball 2026-03-19 20:00:27 -0700
  • 9d03cb55a9 feat(signals): add Unrelated and Digest reclassify chips to InterviewCard pyr0ball 2026-03-19 20:00:27 -0700
  • 34494db8d8 feat(signals): strip HTML and normalize whitespace from email bodies pyr0ball 2026-03-19 19:59:59 -0700
  • d10093cfa0 feat(signals): strip HTML and normalize whitespace from email bodies pyr0ball 2026-03-19 19:59:59 -0700
  • 909fe60908 feat(interviews): paginate applied list (10 per page) pyr0ball 2026-03-19 19:45:59 -0700
  • eff68791f4 feat(interviews): paginate applied list (10 per page) pyr0ball 2026-03-19 19:45:59 -0700
  • e487942eeb fix(signals): add .stop modifiers and aria-labels to pre-list signal banner buttons pyr0ball 2026-03-19 19:35:15 -0700
  • fbb1b1ef3b fix(signals): add .stop modifiers and aria-labels to pre-list signal banner buttons pyr0ball 2026-03-19 19:35:15 -0700
  • 9de51d6b4a feat(signals): expandable body + reclassify chips in InterviewsView pre-list pyr0ball 2026-03-19 19:31:23 -0700
  • f62c103654 feat(signals): expandable body + reclassify chips in InterviewsView pre-list pyr0ball 2026-03-19 19:31:23 -0700
  • 804c2a8064 fix(signals): per-signal expand state, error rollback, type safety in InterviewCard pyr0ball 2026-03-19 19:26:36 -0700
  • b52d7c0f5b fix(signals): per-signal expand state, error rollback, type safety in InterviewCard pyr0ball 2026-03-19 19:26:36 -0700
  • 2796d0d911 feat(signals): expandable body + reclassify chips in InterviewCard pyr0ball 2026-03-19 19:22:10 -0700
  • b973469bc4 feat(signals): expandable body + reclassify chips in InterviewCard pyr0ball 2026-03-19 19:22:10 -0700
  • 3b2df5e89e feat(signals): add body and from_addr to StageSignal interface pyr0ball 2026-03-19 19:19:27 -0700
  • b20fef6c03 feat(signals): add body and from_addr to StageSignal interface pyr0ball 2026-03-19 19:19:27 -0700
  • 218f4ff9c8 fix(signals): capture rowcount after commit in reclassify_signal (consistency) pyr0ball 2026-03-19 19:18:43 -0700
  • 353c07cf92 fix(signals): capture rowcount after commit in reclassify_signal (consistency) pyr0ball 2026-03-19 19:18:43 -0700
  • 1d943ed8a3 feat(signals): add body/from_addr to signal query; add reclassify endpoint pyr0ball 2026-03-19 19:14:11 -0700
  • 86d56ee2eb feat(signals): add body/from_addr to signal query; add reclassify endpoint pyr0ball 2026-03-19 19:14:11 -0700
  • e8b47fa60a plan: signal banner redesign — expandable email + reclassify chips pyr0ball 2026-03-19 17:22:46 -0700
  • f4dd99a136 docs: fix signal banner spec — neutral two-call path, Map reactivity, type union notes pyr0ball 2026-03-19 17:12:19 -0700
  • 168d2b7a4a docs: spec for signal banner expandable email and re-classification UI pyr0ball 2026-03-19 17:07:55 -0700
  • e24e0b7233 feat(interviews): collapsible Applied section, email sync pill, pre-list signal banners pyr0ball 2026-03-19 16:34:58 -0700
  • 22e45575b7 feat(interviews): collapsible Applied section, email sync pill, pre-list signal banners pyr0ball 2026-03-19 16:34:58 -0700
  • 5ca25e160c feat(interviews): add stage signal banners and extend move emit in InterviewCard pyr0ball 2026-03-19 16:25:49 -0700
  • fb3e5b7532 feat(interviews): add stage signal banners and extend move emit in InterviewCard pyr0ball 2026-03-19 16:25:49 -0700
  • 52c7dfcfe3 feat(interviews): add preSelectedStage prop to MoveToSheet pyr0ball 2026-03-19 16:25:48 -0700
  • dd151f1afc feat(interviews): add preSelectedStage prop to MoveToSheet pyr0ball 2026-03-19 16:25:48 -0700
  • 6e2ddaf6da feat(interviews): export StageSignal interface; add stage_signals to PipelineJob pyr0ball 2026-03-19 16:22:59 -0700
  • 6ea2fc5346 feat(interviews): export StageSignal interface; add stage_signals to PipelineJob pyr0ball 2026-03-19 16:22:59 -0700
  • bc8174271e feat(interviews): add stage signals, email sync, and dismiss endpoints to dev-api pyr0ball 2026-03-19 10:46:17 -0700
  • 690a471575 feat(interviews): add stage signals, email sync, and dismiss endpoints to dev-api pyr0ball 2026-03-19 10:46:17 -0700
  • 60383281fb docs: add interviews improvements implementation plan pyr0ball 2026-03-19 09:46:20 -0700
  • cbdbed9a8e docs(interviews): fix spec review issues (SQL column, emit signature, stage mapping, event_rescheduled) pyr0ball 2026-03-19 09:32:26 -0700
  • 12f714abb8 docs(interviews): spec for applied collapsible, email sync pill, stage signal banners pyr0ball 2026-03-19 09:24:18 -0700
  • 4abdf21981 fix(apply): check saveCoverLetter error; document cover-letter-generated in wrapper pyr0ball 2026-03-19 08:36:19 -0700
  • eb0a12abef fix(apply): check saveCoverLetter error; document cover-letter-generated in wrapper pyr0ball 2026-03-19 08:36:19 -0700
  • 1006e88e5b fix(apply): ensure loading resets on fetchJobs error and clear toast timer on unmount pyr0ball 2026-03-19 08:24:52 -0700
  • ff84a4f02f fix(apply): ensure loading resets on fetchJobs error and clear toast timer on unmount pyr0ball 2026-03-19 08:24:52 -0700
  • b94828855b feat(apply): desktop split-pane layout with narrow list, expand animation, speed demon + marathon easter eggs pyr0ball 2026-03-19 08:21:08 -0700
  • b1eec1b28f feat(apply): desktop split-pane layout with narrow list, expand animation, speed demon + marathon easter eggs pyr0ball 2026-03-19 08:21:08 -0700
  • d8aca3ec52 feat(apply): extract ApplyWorkspace component with job-removed emit and perfect match easter egg pyr0ball 2026-03-19 08:14:15 -0700
  • 1e8263fb4c feat(apply): extract ApplyWorkspace component with job-removed emit and perfect match easter egg pyr0ball 2026-03-19 08:14:15 -0700
  • 5ac742d892 refactor(apply): add score-badge--mid-high token for 4-tier scoring pyr0ball 2026-03-19 08:08:06 -0700
  • 1367ca377a refactor(apply): add score-badge--mid-high token for 4-tier scoring pyr0ball 2026-03-19 08:08:06 -0700
  • b663458b28 docs(apply): fix plan review issues (onUnmounted, mq listener cleanup, job-row__sep CSS) pyr0ball 2026-03-19 08:00:35 -0700
  • 025e53da00 docs(apply): add implementation plan for desktop split-pane pyr0ball 2026-03-19 07:57:55 -0700
  • 84e6ec1f43 docs(apply): fix spec review issues (overflow:clip, CSS var, threshold note) pyr0ball 2026-03-19 07:45:16 -0700
  • 5959860deb docs(apply): add split-pane desktop layout design spec pyr0ball 2026-03-19 07:37:34 -0700
  • 73c2557c31 feat(interviews): complete InterviewsView with kanban, keyboard nav, confetti pyr0ball 2026-03-19 00:38:11 -0700
  • 6425da150d feat(interviews): complete InterviewsView with kanban, keyboard nav, confetti pyr0ball 2026-03-19 00:38:11 -0700
  • c5b3d31cb9 feat(interviews): add MoveToSheet bottom sheet / dialog component pyr0ball 2026-03-18 18:15:02 -0700
  • 0394366b1a feat(interviews): add MoveToSheet bottom sheet / dialog component pyr0ball 2026-03-18 18:15:02 -0700
  • b523707d17 feat(interviews): add InterviewCard component (medium density) pyr0ball 2026-03-18 18:15:01 -0700
  • d29ee1b7f8 feat(interviews): add InterviewCard component (medium density) pyr0ball 2026-03-18 18:15:01 -0700
  • 4dcab5ff29 feat(interviews): add interviews Pinia store with optimistic moves pyr0ball 2026-03-18 15:26:44 -0700
  • b946155ade feat(interviews): add interviews Pinia store with optimistic moves pyr0ball 2026-03-18 15:26:44 -0700
  • 6fb366e499 feat(interviews): add /api/interviews and /api/jobs/:id/move endpoints pyr0ball 2026-03-18 15:22:51 -0700
  • 6feafc12cd feat(interviews): add /api/interviews and /api/jobs/:id/move endpoints pyr0ball 2026-03-18 15:22:51 -0700
  • cce0f8195a feat(vue-spa): Apply view — job picker list + cover letter workspace pyr0ball 2026-03-18 09:05:40 -0700
  • 2384345d54 feat(vue-spa): Apply view — job picker list + cover letter workspace pyr0ball 2026-03-18 09:05:40 -0700
  • d138b27619 fix(vue-spa): suppress spring snap-back on processed cards pyr0ball 2026-03-17 22:39:06 -0700
  • ffec6bb843 fix(vue-spa): suppress spring snap-back on processed cards pyr0ball 2026-03-17 22:39:06 -0700
  • 1f5ab2df37 chore(vue-spa): dev API + Vite proxy for live data during development pyr0ball 2026-03-17 22:36:45 -0700
  • 0b66959860 chore(vue-spa): dev API + Vite proxy for live data during development pyr0ball 2026-03-17 22:36:45 -0700
  • 75cc0760e1 feat(vue-spa): JobReviewView card stack with swipe gestures pyr0ball 2026-03-17 22:30:33 -0700
  • 015df2df53 feat(vue-spa): JobReviewView card stack with swipe gestures pyr0ball 2026-03-17 22:30:33 -0700
  • f3ce46e252 feat(web): implement design spec — peregrine.css, sidebar nav, HomeView pyr0ball 2026-03-17 22:00:42 -0700
  • 8f1ad9176b feat(web): implement design spec — peregrine.css, sidebar nav, HomeView pyr0ball 2026-03-17 22:00:42 -0700
  • ae6021ceeb feat(web): Vue 3 SPA scaffold with avocet lessons applied pyr0ball 2026-03-17 21:24:00 -0700
  • cc18927437 feat(web): Vue 3 SPA scaffold with avocet lessons applied pyr0ball 2026-03-17 21:24:00 -0700
  • bf1dc39f14 fix(tests): update mock from inner_text() to text_content() in e2e helpers pyr0ball 2026-03-17 20:33:55 -0700
  • aa92bc1e5b fix(tests): update mock from inner_text() to text_content() in e2e helpers pyr0ball 2026-03-17 20:33:55 -0700
  • 6e480c56ad chore(release): v0.6.2 pyr0ball 2026-03-17 20:08:55 -0700
  • 8d9c5782fd chore(release): v0.6.2 v0.6.2 pyr0ball 2026-03-17 20:08:55 -0700
  • 167fa8d84a fix(e2e): cloud auth via cookie, local port, Playwright WebSocket gotcha pyr0ball 2026-03-17 20:01:42 -0700
  • cb8afa6539 fix(e2e): cloud auth via cookie, local port, Playwright WebSocket gotcha pyr0ball 2026-03-17 20:01:42 -0700
  • 0758b70306 feat(e2e): add smoke + interaction tests; fix two demo mode errors pyr0ball 2026-03-17 07:00:54 -0700
  • 5d14542142 feat(e2e): add smoke + interaction tests; fix two demo mode errors pyr0ball 2026-03-17 07:00:54 -0700
  • c746acd89f feat(e2e): add conftest with Streamlit helpers, browser fixtures, console filter pyr0ball 2026-03-16 23:14:24 -0700
  • a55e09d30b feat(e2e): add conftest with Streamlit helpers, browser fixtures, console filter pyr0ball 2026-03-16 23:14:24 -0700
  • 4844c55292 feat(e2e): add BasePage and 7 page objects pyr0ball 2026-03-16 23:14:20 -0700
  • 0cdd97f1c0 feat(e2e): add BasePage and 7 page objects pyr0ball 2026-03-16 23:14:20 -0700
  • 3be63f4a81 feat(e2e): add mode configs (demo/cloud/local) with Directus JWT auth pyr0ball 2026-03-16 23:07:34 -0700
  • 20c776260f feat(e2e): add mode configs (demo/cloud/local) with Directus JWT auth pyr0ball 2026-03-16 23:07:34 -0700
  • 4d58d33567 feat(e2e): add ErrorRecord, ModeConfig, diff_errors models with tests pyr0ball 2026-03-16 23:06:02 -0700
  • 39d8c2f006 feat(e2e): add ErrorRecord, ModeConfig, diff_errors models with tests pyr0ball 2026-03-16 23:06:02 -0700
  • 0317b9582a chore(e2e): scaffold E2E harness directory and install deps pyr0ball 2026-03-16 22:58:47 -0700
  • 5efc6d48eb chore(e2e): scaffold E2E harness directory and install deps pyr0ball 2026-03-16 22:58:47 -0700
  • 251f463522 chore(e2e): add xvfb-run wrapper for headed debugging sessions pyr0ball 2026-03-16 22:57:21 -0700