Commit graph

  • 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
  • fadbabbaf4 chore(e2e): add xvfb-run wrapper for headed debugging sessions pyr0ball 2026-03-16 22:57:21 -0700
  • 3baed0c9b2 feat(e2e): add E2E test harness implementation plan pyr0ball 2026-03-16 22:53:49 -0700
  • 378c614d2f chore(e2e): add .env.e2e.example and gitignore .env.e2e pyr0ball 2026-03-16 22:41:24 -0700
  • ce5f7d09c5 chore(e2e): add .env.e2e.example and gitignore .env.e2e pyr0ball 2026-03-16 22:41:24 -0700
  • e1496f7827 chore: update CHANGELOG for v0.6.0 and v0.6.1 pyr0ball 2026-03-16 21:48:52 -0700
  • ea11b85042 chore: update CHANGELOG for v0.6.0 and v0.6.1 v0.6.1 pyr0ball 2026-03-16 21:48:52 -0700
  • b51a4c9141 fix: keyword suggestions visibility, wizard identity autofill, dynamic sync label pyr0ball 2026-03-16 21:47:37 -0700
  • af9761f7b9 fix: keyword suggestions visibility, wizard identity autofill, dynamic sync label pyr0ball 2026-03-16 21:47:37 -0700
  • b6e16eb6e9 Merge pull request 'feat: push interview events to connected calendar integrations' (#20) from feature/calendar-push into main pyr0ball 2026-03-16 21:45:06 -0700
  • a0bdf7677f Merge pull request 'feat: push interview events to connected calendar integrations' (#20) from feature/calendar-push into main v0.6.0 pyr0ball 2026-03-16 21:45:06 -0700
  • 37d151725e feat: push interview events to connected calendar integrations (#19) pyr0ball 2026-03-16 21:31:22 -0700
  • c1ec1fc9f6 feat: push interview events to connected calendar integrations (#19) pyr0ball 2026-03-16 21:31:22 -0700
  • a60cf9ea8c fix: bootstrap resume_keywords.yaml on first cloud session pyr0ball 2026-03-16 12:01:25 -0700
  • 2fcab541c7 fix: bootstrap resume_keywords.yaml on first cloud session pyr0ball 2026-03-16 12:01:25 -0700
  • f3e547dcd7 fix: auto-provision free license on first cloud session, fix score button in Docker pyr0ball 2026-03-16 11:51:15 -0700
  • 84ae348f16 fix: auto-provision free license on first cloud session, fix score button in Docker pyr0ball 2026-03-16 11:51:15 -0700
  • ed175e9fb4 feat: add pre-commit sensitive file blocker and support request issue template pyr0ball 2026-03-16 11:30:11 -0700
  • b4116e8bae feat: add pre-commit sensitive file blocker and support request issue template pyr0ball 2026-03-16 11:30:11 -0700
  • cd564c7abc fix: get_config_dir had one extra .parent, resolved to /config not /app/config pyr0ball 2026-03-15 17:14:48 -0700
  • 00a567768b fix: get_config_dir had one extra .parent, resolved to /config not /app/config pyr0ball 2026-03-15 17:14:48 -0700
  • 5cb66d0bf1 Merge pull request 'feat: LLM queue optimizer — resource-aware batch scheduler (closes #2)' (#15) from feature/llm-queue-optimizer into main v0.5.0 pyr0ball 2026-03-15 16:48:37 -0700
  • d8549bd356 Merge pull request 'feat: LLM queue optimizer — resource-aware batch scheduler (closes #2)' (#15) from feature/llm-queue-optimizer into main pyr0ball 2026-03-15 16:48:37 -0700
  • 1ce283bb79 Merge pull request 'feat: LLM queue optimizer — resource-aware batch scheduler (closes #2)' (#15) from feature/llm-queue-optimizer into main pyr0ball 2026-03-15 16:48:37 -0700
  • 971336841f fix: _trim_to_letter_end matches full name when no profile set pyr0ball 2026-03-15 16:43:27 -0700
  • 922ede9258 fix: _trim_to_letter_end matches full name when no profile set pyr0ball 2026-03-15 16:43:27 -0700
  • ab564741f4 fix: _trim_to_letter_end matches full name when no profile set pyr0ball 2026-03-15 16:43:27 -0700
  • 4a996c2628 ci: apt-get update before installing libsqlcipher-dev pyr0ball 2026-03-15 16:37:46 -0700
  • 062f249ef9 ci: apt-get update before installing libsqlcipher-dev pyr0ball 2026-03-15 16:37:46 -0700
  • 869cb2f197 ci: apt-get update before installing libsqlcipher-dev pyr0ball 2026-03-15 16:37:46 -0700
  • 5939ae88eb ci: install libsqlcipher-dev before pip install pyr0ball 2026-03-15 16:36:50 -0700
  • 5527fe9bf8 ci: install libsqlcipher-dev before pip install pyr0ball 2026-03-15 16:36:50 -0700
  • 27d6fc01fc ci: install libsqlcipher-dev before pip install pyr0ball 2026-03-15 16:36:50 -0700
  • 2bf73bbd44 ci: re-trigger after actions enabled pyr0ball 2026-03-15 15:54:27 -0700
  • 722661058a ci: re-trigger after actions enabled pyr0ball 2026-03-15 15:54:27 -0700
  • e034a07509 ci: re-trigger after actions enabled pyr0ball 2026-03-15 15:54:27 -0700
  • 72c1d4a945 ci: enable forgejo actions pyr0ball 2026-03-15 15:48:35 -0700
  • fd02c11441 ci: enable forgejo actions pyr0ball 2026-03-15 15:48:35 -0700
  • 2b9a6c8a22 ci: enable forgejo actions pyr0ball 2026-03-15 15:48:35 -0700
  • 782936bae4 ci: trigger runner pyr0ball 2026-03-15 15:39:45 -0700
  • 1400a396ae ci: trigger runner pyr0ball 2026-03-15 15:39:45 -0700
  • e62548a22e ci: trigger runner pyr0ball 2026-03-15 15:39:45 -0700
  • 377fde239e docs: add Jobgether non-headless Playwright scraper to backlog pyr0ball 2026-03-15 11:59:48 -0700
  • 22696b4e50 docs: add Jobgether non-headless Playwright scraper to backlog pyr0ball 2026-03-15 11:59:48 -0700
  • 3267a895b0 docs: add Jobgether non-headless Playwright scraper to backlog pyr0ball 2026-03-15 11:59:48 -0700
  • 94fd2ea332 feat: add Jobgether recruiter framing to cover letter generation v0.4.1 pyr0ball 2026-03-15 09:39:06 -0700
  • 9c36c578ef feat: add Jobgether recruiter framing to cover letter generation pyr0ball 2026-03-15 09:39:06 -0700
  • 522534d28e feat: add Jobgether recruiter framing to cover letter generation pyr0ball 2026-03-15 09:39:06 -0700
  • e6257249cb feat: add Jobgether URL detection and scraper to scrape_url.py pyr0ball 2026-03-15 04:56:26 -0700
  • b3893e9ad9 feat: add Jobgether URL detection and scraper to scrape_url.py pyr0ball 2026-03-15 04:56:26 -0700
  • 37119cb332 feat: add Jobgether URL detection and scraper to scrape_url.py pyr0ball 2026-03-15 04:56:26 -0700
  • 4028667c62 feat: filter Jobgether listings via blocklist pyr0ball 2026-03-15 04:50:59 -0700
  • ee054408ea feat: filter Jobgether listings via blocklist pyr0ball 2026-03-15 04:50:59 -0700
  • 8d9e17d749 feat: filter Jobgether listings via blocklist pyr0ball 2026-03-15 04:50:59 -0700
  • a005397d5d docs: update spec — Jobgether discovery scraper not viable (Cloudflare + robots.txt) pyr0ball 2026-03-15 09:39:48 -0700
  • 4d08e64acf docs: update spec — Jobgether discovery scraper not viable (Cloudflare + robots.txt) pyr0ball 2026-03-15 09:39:48 -0700
  • 17f7baae3c docs: add Jobgether integration implementation plan pyr0ball 2026-03-15 04:32:13 -0700
  • fc6ef88a05 docs: add Jobgether integration implementation plan pyr0ball 2026-03-15 04:32:13 -0700