Commit graph

  • 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
  • ef9cb29518 docs: add cover letter recruiter framing to Jobgether spec pyr0ball 2026-03-15 04:23:31 -0700
  • 952b21377f docs: add cover letter recruiter framing to Jobgether spec pyr0ball 2026-03-15 04:23:31 -0700
  • fe2f27c2a2 docs: add Jobgether integration design spec pyr0ball 2026-03-15 04:16:22 -0700
  • 9c87ed1cf2 docs: add Jobgether integration design spec pyr0ball 2026-03-15 04:16:22 -0700
  • d0987abc0e Merge pull request 'feat: LLM queue optimizer — resource-aware batch scheduler (closes #2)' (#13) from feature/llm-queue-optimizer into main pyr0ball 2026-03-15 05:11:29 -0700
  • e6f0e41de4 Merge pull request 'feat: LLM queue optimizer — resource-aware batch scheduler (closes #2)' (#13) from feature/llm-queue-optimizer into main pyr0ball 2026-03-15 05:11:29 -0700
  • a1a1141616 Merge pull request 'feat: LLM queue optimizer — resource-aware batch scheduler (closes #2)' (#13) from feature/llm-queue-optimizer into main pyr0ball 2026-03-15 05:11:29 -0700
  • c6fea9b3e2 feat: LLM queue optimizer complete — closes #2 pyr0ball 2026-03-15 05:01:24 -0700
  • 22091760bd feat: LLM queue optimizer complete — closes #2 pyr0ball 2026-03-15 05:01:24 -0700
  • 27d4b0e732 feat: LLM queue optimizer complete — closes #2 pyr0ball 2026-03-15 05:01:24 -0700
  • 6e0105b0e8 feat(app): use reset_running_tasks() on startup to preserve queued tasks pyr0ball 2026-03-15 04:57:49 -0700
  • a17ba1e8d8 feat(app): use reset_running_tasks() on startup to preserve queued tasks pyr0ball 2026-03-15 04:57:49 -0700
  • 95378c106e feat(app): use reset_running_tasks() on startup to preserve queued tasks pyr0ball 2026-03-15 04:57:49 -0700
  • 690a1ccf93 feat(task_runner): route LLM tasks through scheduler in submit_task() pyr0ball 2026-03-15 04:52:42 -0700
  • 1139cd55ec feat(task_runner): route LLM tasks through scheduler in submit_task() pyr0ball 2026-03-15 04:52:42 -0700
  • 07c627cdb0 feat(task_runner): route LLM tasks through scheduler in submit_task() pyr0ball 2026-03-15 04:52:42 -0700
  • 3e3c6f1fc5 feat(scheduler): add durability — re-queue surviving LLM tasks on startup pyr0ball 2026-03-15 04:24:11 -0700
  • dfd2f0214e feat(scheduler): add durability — re-queue surviving LLM tasks on startup pyr0ball 2026-03-15 04:24:11 -0700
  • bcd918fb67 feat(scheduler): add durability — re-queue surviving LLM tasks on startup pyr0ball 2026-03-15 04:24:11 -0700
  • 9b96c45b63 feat(scheduler): implement thread-safe singleton get_scheduler/reset_scheduler pyr0ball 2026-03-15 04:19:23 -0700
  • 1d9020c99a feat(scheduler): implement thread-safe singleton get_scheduler/reset_scheduler pyr0ball 2026-03-15 04:19:23 -0700
  • 207d3816b3 feat(scheduler): implement thread-safe singleton get_scheduler/reset_scheduler pyr0ball 2026-03-15 04:19:23 -0700
  • a53a03d593 feat(scheduler): implement scheduler loop and batch worker with VRAM-aware scheduling pyr0ball 2026-03-15 04:14:56 -0700
  • 84ce68af46 feat(scheduler): implement scheduler loop and batch worker with VRAM-aware scheduling pyr0ball 2026-03-15 04:14:56 -0700
  • 3984a9c743 feat(scheduler): implement scheduler loop and batch worker with VRAM-aware scheduling pyr0ball 2026-03-15 04:14:56 -0700
  • 68d257d278 feat(scheduler): implement enqueue() with depth guard and ghost-row cleanup pyr0ball 2026-03-15 04:05:22 -0700
  • 605e820fa6 feat(scheduler): implement enqueue() with depth guard and ghost-row cleanup pyr0ball 2026-03-15 04:05:22 -0700
  • 4d055f6bcd feat(scheduler): implement enqueue() with depth guard and ghost-row cleanup pyr0ball 2026-03-15 04:05:22 -0700
  • 46b229094a refactor(scheduler): use module-level _get_gpus directly in __init__ pyr0ball 2026-03-15 04:01:01 -0700
  • fa780af2f1 refactor(scheduler): use module-level _get_gpus directly in __init__ pyr0ball 2026-03-15 04:01:01 -0700
  • 28e66001a3 refactor(scheduler): use module-level _get_gpus directly in __init__ pyr0ball 2026-03-15 04:01:01 -0700
  • 415e98d401 feat(scheduler): implement TaskScheduler.__init__ with budget loading and VRAM detection pyr0ball 2026-03-15 03:32:11 -0700
  • cceacdd371 feat(scheduler): implement TaskScheduler.__init__ with budget loading and VRAM detection pyr0ball 2026-03-15 03:32:11 -0700
  • 535c0ae9e0 feat(scheduler): implement TaskScheduler.__init__ with budget loading and VRAM detection pyr0ball 2026-03-15 03:32:11 -0700
  • fe8da36e00 feat(scheduler): add task_scheduler.py skeleton with constants and TaskSpec pyr0ball 2026-03-15 03:28:43 -0700
  • 0fedf7989e feat(scheduler): add task_scheduler.py skeleton with constants and TaskSpec pyr0ball 2026-03-15 03:28:43 -0700
  • 3d7f6f7ff1 feat(scheduler): add task_scheduler.py skeleton with constants and TaskSpec pyr0ball 2026-03-15 03:28:43 -0700
  • e3547cd998 docs(config): add scheduler VRAM budget config to llm.yaml.example pyr0ball 2026-03-15 03:28:26 -0700
  • b664240340 docs(config): add scheduler VRAM budget config to llm.yaml.example pyr0ball 2026-03-15 03:28:26 -0700
  • 52470759a4 docs(config): add scheduler VRAM budget config to llm.yaml.example pyr0ball 2026-03-15 03:28:26 -0700
  • 1616858729 refactor(tests): remove unused imports from test_task_scheduler pyr0ball 2026-03-15 03:27:17 -0700
  • 1f2273f049 refactor(tests): remove unused imports from test_task_scheduler pyr0ball 2026-03-15 03:27:17 -0700
  • d51066e8c2 refactor(tests): remove unused imports from test_task_scheduler pyr0ball 2026-03-15 03:27:17 -0700