-
b0a2eb3746
Fix fieldset radios: validate answers against options, fix checkbox skip, fix authorization match
Matthew Jackson
2026-03-06 14:05:02 -08:00
-
053c0b1242
Fix select answer mismatch: validate answer against available options
Matthew Jackson
2026-03-06 13:44:49 -08:00
-
87cfce8eca
Filter: stop spamming Telegram on submit, collect+submit in one run
Matthew Jackson
2026-03-06 13:39:19 -08:00
-
c99ea10585
Richer search and filter summaries
Matthew Jackson
2026-03-06 13:34:21 -08:00
-
82fa2b3697
Rich apply summary with per-job details (title, company, link)
Matthew Jackson
2026-03-06 13:30:58 -08:00
-
615899e9a9
Normalize fieldset legend text same as getLabel (dedup, strip Required)
Matthew Jackson
2026-03-06 13:27:40 -08:00
-
4048d8e5c4
docs: all crons silent — scripts send own Telegram summaries
Claw
2026-03-06 21:27:15 +00:00
-
50be273d9d
docs: update cron defaults — applier silent, add git pull cron
Claw
2026-03-06 21:26:45 +00:00
-
094824abb2
Add dedicated 'closed' status for listings no longer accepting applications
Matthew Jackson
2026-03-06 13:23:39 -08:00
-
97aa8472aa
Fix radio selection: verify click worked, fallback to input/select
Matthew Jackson
2026-03-06 13:16:30 -08:00
-
bb0c96dd3d
Enable Wellfound apply: fix missing apply_type, add submit verification
Matthew Jackson
2026-03-06 12:48:03 -08:00
-
3e367687b2
Fix checkbox group (multi-select) handling in form filler
Matthew Jackson
2026-03-06 12:43:58 -08:00
-
26afc803a5
Navigate directly to apply URL instead of finding/clicking Easy Apply button
Matthew Jackson
2026-03-06 12:32:34 -08:00
-
7a730f689e
Use networkidle for job page navigation to fix intermittent button miss
Matthew Jackson
2026-03-06 12:28:50 -08:00
-
c5ebdc9362
Fix answer saving: normalize answers format, improve label dedup
Matthew Jackson
2026-03-06 12:24:10 -08:00
-
4419363b3c
Fix process exit: use process.exit() directly instead of logStream.end callback
Matthew Jackson
2026-03-06 12:21:55 -08:00
-
d43e2025b2
Fix process not exiting after run, detect closed job listings
Matthew Jackson
2026-03-06 12:19:00 -08:00
-
a498f49b95
Fix critical import bugs in linkedin.mjs and wellfound.mjs, clean up status/setup
Matthew Jackson
2026-03-06 12:15:52 -08:00
-
51ca354c52
Audit fixes: remove dead code, fix run timeout bug, add log tee to all entry points
Matthew Jackson
2026-03-06 12:13:01 -08:00
-
9e6b9beb17
feat: sort apply queue by score desc, recency desc
Claw
2026-03-06 20:08:54 +00:00
-
b7836fcec2
Tee applier stdout/stderr to data/applier.log
Matthew Jackson
2026-03-06 11:59:27 -08:00
-
8db00d94a5
Fix summary showing all zeros: count unhandled statuses, clean up format
Matthew Jackson
2026-03-06 11:54:06 -08:00
-
7c9de1af4a
AI fallback for unknown form fields: ask Claude before Telegram
Matthew Jackson
2026-03-06 11:52:39 -08:00
-
3fc5c38df7
Add clear status logging for needs_answer and honeypot exits
Matthew Jackson
2026-03-06 11:47:40 -08:00
-
0695d61954
Update all docs: README, SKILL.md, SPEC.md for current architecture
Matthew Jackson
2026-03-06 11:42:52 -08:00
-
0920554dad
Add Telegram answer learning: poller + applier safety net
Matthew Jackson
2026-03-06 11:38:37 -08:00
-
14cf9a12c1
Reliability improvements: click retry, resume selection, answer loop, browser recovery
Matthew Jackson
2026-03-06 11:30:09 -08:00
-
7f8cc3658e
Fix submit verification: wait for modal detach instead of fixed sleep
Matthew Jackson
2026-03-06 11:23:03 -08:00
-
51a4231b5d
fix: stuck detection uses progress bar value, not heading
Matthew Jackson
2026-03-06 11:08:35 -08:00
-
00bcfaca53
feat: include select options in unknown field reports and Telegram messages
Matthew Jackson
2026-03-06 11:06:38 -08:00
-
2c04504ad8
fix: report unfilled required selects as unknown fields
Matthew Jackson
2026-03-06 11:05:54 -08:00
-
5aed8eb404
fix: use evaluateHandle to find Continue link in frames
Matthew Jackson
2026-03-06 11:00:46 -08:00
-
1e67c930db
fix: search frames for Continue /apply/ link when page.$() misses it
Matthew Jackson
2026-03-06 10:59:41 -08:00
-
46c84bf28a
fix: click parent <a> link for Continue, not child <span>
Matthew Jackson
2026-03-06 10:57:35 -08:00
-
4c85a88902
fix: stuck loop on unfilled selects, Continue button detection
Matthew Jackson
2026-03-06 10:51:26 -08:00
-
5e4a0c6599
fix: always discard on modal dismiss, support "Continue applying" button
Matthew Jackson
2026-03-06 10:34:19 -08:00
-
3c46de1358
fix: shadow DOM support — LinkedIn modal is inside shadow root
Matthew Jackson
2026-03-06 10:25:51 -08:00
-
df31019fd0
fix: modal frame detection — LinkedIn renders Easy Apply in /preload/ frame
Matthew Jackson
2026-03-06 10:20:58 -08:00
-
0df5eb1b63
debug: add modal structure diagnostics — iframe detection, child tags, html snippet
Matthew Jackson
2026-03-06 10:13:22 -08:00
-
e6fb380e1c
fix: cover letter silent drop, submit verification, autocomplete scoping
Matthew Jackson
2026-03-06 10:11:44 -08:00
-
e62756c6ca
fix: robustness improvements — atomic writes, timeouts, shell injection, validation errors
Matthew Jackson
2026-03-06 10:01:53 -08:00
-
a7ce119bde
fix: resilient modal button detection and form filler robustness
Matthew Jackson
2026-03-06 09:53:54 -08:00
-
33c50178f4
debug: full-page button scan, modal heading, real progress, validation errors; bump max steps to 20
Claw
2026-03-06 17:43:03 +00:00
-
b79e9d0b9c
feat: city autocomplete dropdown, phone country code, checkboxes, EEO selects, location/heard-about answers
Claw
2026-03-06 17:39:05 +00:00
-
8556208405
debug: verbose step-by-step logging in easy_apply modal flow
Claw
2026-03-06 17:27:39 +00:00
-
af4449feb8
docs: update scheduling to OpenClaw crons, remove system crontab instructions
Claw
2026-03-06 17:21:27 +00:00
-
093b349aad
fix: waitForSelector on modal after click instead of fixed 1.5s delay
Claw
2026-03-06 17:13:56 +00:00
-
8c626b5147
debug: log apply elements on skip; use state=attached for waitForSelector
Claw
2026-03-06 17:05:57 +00:00
-
318da35e01
fix: scroll page before waiting for Easy Apply button; extend timeout to 12s
Claw
2026-03-06 17:04:27 +00:00
-
45ad5d1ec9
fix: Easy Apply is an <a> not <button> — update selector; wait for element instead of fixed timeout
Claw
2026-03-06 17:01:02 +00:00
-
02a7501e9d
fix: use aria-label selectors for LinkedIn Easy Apply button (class names are now hashed)
Claw
2026-03-06 16:53:25 +00:00
-
b8a0e03c75
feat: AI answer generation for unknown questions + Easy Apply only mode
Claw
2026-03-06 16:47:58 +00:00
-
b1528ac0ad
refactor: extract magic numbers to constants, fix audit issues
Matthew Jackson
2026-03-06 08:45:09 -08:00
-
3a52bdc72e
feat: dynamic lookback window — time since last run × 1.25 buffer (min 4h)
Claw
2026-03-06 16:25:09 +00:00
-
37b95b6b85
feat: track token usage and estimated cost per filter run in filter_runs.json
Claw
2026-03-06 16:22:14 +00:00
-
3575f06018
fix: dedupeAfterFilter skips groups with unscored members — wait until all copies are scored
Claw
2026-03-06 16:00:23 +00:00
-
c9b527c83a
feat: find-all → filter → dedup flow
Claw
2026-03-06 15:55:00 +00:00
-
2dfadbde99
refactor: generic system prompt — dumps full JSON profiles, no hardcoded criteria
Claw
2026-03-06 11:36:05 +00:00
-
c88a71fc20
feat: one batch per track — separate GTM/AE batches with their own system prompts
Claw
2026-03-06 11:35:15 +00:00
-
aadec0704b
fix: AE filter criteria - don't penalize company size, SMB, or staffing agencies with real roles
Claw
2026-03-06 11:32:30 +00:00
-
85c88f9eed
fix: make filter idempotent - skip already-scored jobs on collect, exclude by filter_score on submit
Claw
2026-03-06 11:25:19 +00:00
-
2f05a40954
fix: addJobs always reads fresh from disk to prevent searcher clobbering filter scores
Claw
2026-03-06 11:24:05 +00:00
-
56eb645e73
fix: import saveQueue statically instead of dynamic import; was causing queue writes to silently fail
Claw
2026-03-06 11:22:09 +00:00
-
8748c0e383
fix: send telegram on SIGTERM so partial cron runs still notify when jobs found
Claw
2026-03-06 11:16:39 +00:00
-
d4cc5b2541
fix: only send telegram when new jobs found (>0)
Claw
2026-03-06 11:14:50 +00:00
-
00b0094d97
feat: always send telegram after searcher run, not just when new jobs found
Claw
2026-03-06 11:14:30 +00:00
-
64748d5889
fix: stamp filter_batch_id on submitted jobs; exclude already-submitted/filtered from resubmit
Claw
2026-03-06 11:13:10 +00:00
-
fac286aaeb
fix: use claude-sonnet-4-6 (no date suffix) for batch API, bump max_tokens to 1024
Claw
2026-03-06 11:01:46 +00:00
-
0b40d284cd
fix: bump max_tokens to 256, note batch API requires native model IDs
Claw
2026-03-06 10:58:11 +00:00
-
85038b6ce1
fix: batch collect O(n²) → single queue write; correct model to claude-3-haiku-20240307
Claw
2026-03-06 10:56:54 +00:00
-
17fd919356
feat: add filter section to status report
Claw
2026-03-06 10:24:22 +00:00
-
728e0773b9
fix: sanitize Unicode surrogates in job descriptions, handle custom_id > 64 chars
Claw
2026-03-06 10:18:54 +00:00
-
d610060dbb
feat: persistent run history logs for searcher and filter
Claw
2026-03-06 10:16:06 +00:00
-
dbe9967713
feat: rewrite filter to use Anthropic Batch API
Claw
2026-03-06 10:12:47 +00:00
-
9bf904dada
feat: AI job filter — score jobs 0-10 with Claude Haiku before applying
Claw
2026-03-06 10:01:15 +00:00
-
ff59316abc
chore: update default searcher schedule to every 12 hours
Claw
2026-03-06 09:51:57 +00:00
-
9c03c2661e
chore: remove test file
Claw
2026-03-06 02:58:23 +00:00
-
7de05fdce4
chore: remove PM2 — system cron + lockfile is sufficient, no daemon needed
Claw
2026-03-06 02:57:49 +00:00
-
739bb1c99c
fix: remove PM2 cron_restart — use system cron instead so running jobs are never killed
Claw
2026-03-06 02:56:32 +00:00
-
be20f5a4e9
feat: capture job description from right panel during search — no extra page load
Claw
2026-03-06 02:49:28 +00:00
-
4a2b24d562
fix: show global keyword position (2/20) not slice position (1/19) in logs
Claw
2026-03-06 02:47:39 +00:00
-
c01abe8884
fix: location scraper — use .tvm__text selector, also capture work_type (Remote/Hybrid/On-site)
Claw
2026-03-06 02:44:17 +00:00
-
ef70c12fbe
feat: keyword progress grouped by platform in status report
Claw
2026-03-06 02:30:18 +00:00
-
dc31ae325b
feat: keyword progress in status report — shows X/N (%) per track
Claw
2026-03-06 02:28:39 +00:00
-
2a4fd52d43
fix: clear progress on clean finish — keywords only reused when previous run was incomplete
Claw
2026-03-06 02:26:14 +00:00
-
97b753d401
feat: cache keywords in search_progress.json — restarts reuse same keywords, no regeneration mid-run
Claw
2026-03-06 02:24:54 +00:00
-
65d6d1e50c
feat: per-keyword resume — restart picks up from last completed keyword, not keyword 1
Claw
2026-03-06 02:23:07 +00:00
-
ffb9eec4cb
feat: log keyword progress (X/N) during search
Claw
2026-03-06 02:20:32 +00:00
-
f9d7543611
feat: PM2 as canonical scheduler — SKILL.md updated, setup.mjs simplified, OpenClaw gateway cron removed
Claw
2026-03-06 02:12:17 +00:00
-
aec603b72c
feat: PM2 process manager for cron scheduling — proper daemon, survives reboots, no SIGTERM from agent sessions
Claw
2026-03-06 02:10:28 +00:00
-
e9c937684c
fix: cron agents launch searcher/applier detached (nohup &) to prevent SIGTERM on session end
Claw
2026-03-06 02:07:46 +00:00
-
261f5800ad
fix: load API keys from .env at runtime — never embed credentials in cron payloads or source code
Claw
2026-03-06 02:04:55 +00:00
-
0d3ef7c285
docs: reference kernel/skills for CLI + auth guidance
Claw
2026-03-06 02:00:06 +00:00
-
f907803a01
docs: clarify Playwright is auto-installed, not a manual requirement
Claw
2026-03-06 01:57:06 +00:00
-
da0842126c
docs: rewrite SKILL.md with accurate setup steps, correct Kernel CLI syntax, env vars, cron details
Claw
2026-03-06 01:56:39 +00:00
-
e288ccf06b
feat: setup.mjs auto-registers cron jobs with timeoutSeconds:0 via OpenClaw gateway
Claw
2026-03-06 01:54:54 +00:00
-
1c3e9f3561
fix: split skip counters for accurate reporting, complete status docs
Matthew Jackson
2026-03-05 17:44:25 -08:00
-
8212f97aba
refactor: normalize apply statuses, remove dead code, fix signal handler
Matthew Jackson
2026-03-05 17:39:48 -08:00
-
1bf676bb80
fix: add error logging to applier, session polling, and job card clicks
Matthew Jackson
2026-03-05 17:30:24 -08:00
-
ed908c91af
fix: audit bugs + better error logging for searcher debugging
Matthew Jackson
2026-03-05 17:28:23 -08:00