stage-cli 1.0.0__py3-none-any.whl
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- stage/__init__.py +1 -0
- stage/__main__.py +8 -0
- stage/banner.py +32 -0
- stage/bootstrap/__init__.py +0 -0
- stage/bootstrap/openjobs.py +392 -0
- stage/classify/__init__.py +29 -0
- stage/classify/eligibility.py +115 -0
- stage/classify/internship.py +64 -0
- stage/classify/role.py +91 -0
- stage/classify/scope.py +47 -0
- stage/cli/__init__.py +0 -0
- stage/cli/app.py +4 -0
- stage/cli/commands/__init__.py +8 -0
- stage/cli/commands/discovery.py +294 -0
- stage/cli/commands/insight.py +494 -0
- stage/cli/commands/pipeline.py +337 -0
- stage/cli/commands/postings.py +473 -0
- stage/cli/commands/schedule.py +171 -0
- stage/cli/housekeeping.py +64 -0
- stage/cli/logfile.py +56 -0
- stage/cli/notify.py +170 -0
- stage/cli/options.py +678 -0
- stage/cli/render.py +1398 -0
- stage/cli/runlock.py +74 -0
- stage/cli/schedule.py +702 -0
- stage/cli/schedule_state.py +363 -0
- stage/cli/selection.py +83 -0
- stage/cli/serialize.py +196 -0
- stage/companies.py +542 -0
- stage/data/companies/a.yaml +1289 -0
- stage/data/companies/b.yaml +900 -0
- stage/data/companies/c.yaml +1377 -0
- stage/data/companies/d.yaml +497 -0
- stage/data/companies/e.yaml +519 -0
- stage/data/companies/f.yaml +454 -0
- stage/data/companies/g.yaml +601 -0
- stage/data/companies/h.yaml +446 -0
- stage/data/companies/i.yaml +503 -0
- stage/data/companies/j.yaml +138 -0
- stage/data/companies/k.yaml +278 -0
- stage/data/companies/l.yaml +402 -0
- stage/data/companies/m.yaml +937 -0
- stage/data/companies/n.yaml +549 -0
- stage/data/companies/o.yaml +371 -0
- stage/data/companies/other.yaml +58 -0
- stage/data/companies/p.yaml +825 -0
- stage/data/companies/q.yaml +121 -0
- stage/data/companies/r.yaml +583 -0
- stage/data/companies/s.yaml +1140 -0
- stage/data/companies/t.yaml +817 -0
- stage/data/companies/u.yaml +196 -0
- stage/data/companies/v.yaml +325 -0
- stage/data/companies/w.yaml +353 -0
- stage/data/companies/x.yaml +67 -0
- stage/data/companies/y.yaml +36 -0
- stage/data/companies/z.yaml +146 -0
- stage/data/fonts/DejaVuSans.LICENSE.txt +99 -0
- stage/data/fonts/DejaVuSans.ttf +0 -0
- stage/data/lexicon/company_tokens.yaml +228 -0
- stage/data/lexicon/eligibility.yaml +455 -0
- stage/data/lexicon/inclusive_suffixes.yaml +37 -0
- stage/data/lexicon/internship.yaml +187 -0
- stage/data/lexicon/language.yaml +226 -0
- stage/data/lexicon/locations.yaml +1159 -0
- stage/data/lexicon/roles.yaml +2012 -0
- stage/data/lexicon/terms.yaml +76 -0
- stage/data/lexicon/workday_facets.yaml +27 -0
- stage/data/seed_companies.yaml +198 -0
- stage/dedup/__init__.py +19 -0
- stage/dedup/identity.py +113 -0
- stage/dedup/resolve.py +97 -0
- stage/domain/__init__.py +244 -0
- stage/domain/company.py +49 -0
- stage/domain/coverage.py +86 -0
- stage/domain/custom_board.py +92 -0
- stage/domain/discovery.py +94 -0
- stage/domain/enums.py +114 -0
- stage/domain/events.py +204 -0
- stage/domain/filters.py +27 -0
- stage/domain/health.py +169 -0
- stage/domain/ids.py +48 -0
- stage/domain/job.py +47 -0
- stage/domain/matching.py +15 -0
- stage/domain/priority.py +34 -0
- stage/domain/quarantine.py +39 -0
- stage/domain/rate_state.py +78 -0
- stage/domain/retention.py +20 -0
- stage/domain/rotation.py +46 -0
- stage/domain/signals.py +12 -0
- stage/domain/sync_run.py +35 -0
- stage/domain/text.py +113 -0
- stage/domain/validator.py +14 -0
- stage/domain/visits.py +60 -0
- stage/domain/workday.py +38 -0
- stage/http/__init__.py +58 -0
- stage/http/breaker.py +53 -0
- stage/http/cache.py +44 -0
- stage/http/client.py +725 -0
- stage/http/profiles.py +101 -0
- stage/lexicon.py +370 -0
- stage/normalize/__init__.py +16 -0
- stage/normalize/language.py +47 -0
- stage/normalize/location.py +271 -0
- stage/normalize/terms.py +153 -0
- stage/normalize/urls.py +122 -0
- stage/paths.py +86 -0
- stage/py.typed +0 -0
- stage/services/__init__.py +0 -0
- stage/services/canary.py +120 -0
- stage/services/coverage.py +231 -0
- stage/services/discover.py +747 -0
- stage/services/export.py +274 -0
- stage/services/health.py +237 -0
- stage/services/maintenance.py +225 -0
- stage/services/quarantine.py +20 -0
- stage/services/query.py +86 -0
- stage/services/sync.py +1257 -0
- stage/sources/__init__.py +82 -0
- stage/sources/_text.py +79 -0
- stage/sources/ashby.py +93 -0
- stage/sources/bamboohr.py +80 -0
- stage/sources/base.py +225 -0
- stage/sources/breezy.py +90 -0
- stage/sources/collage.py +60 -0
- stage/sources/community_feeds.py +142 -0
- stage/sources/curated_markdown.py +289 -0
- stage/sources/custom_json.py +610 -0
- stage/sources/espresso.py +154 -0
- stage/sources/feed.py +44 -0
- stage/sources/greenhouse.py +104 -0
- stage/sources/jobbank.py +147 -0
- stage/sources/jobvite.py +133 -0
- stage/sources/lever.py +76 -0
- stage/sources/oracle_cloud.py +187 -0
- stage/sources/platforms.py +609 -0
- stage/sources/quebec_emploi.py +146 -0
- stage/sources/recruitee.py +96 -0
- stage/sources/simplify.py +110 -0
- stage/sources/smartrecruiters.py +216 -0
- stage/sources/speedyapply.py +200 -0
- stage/sources/themuse.py +157 -0
- stage/sources/workable.py +83 -0
- stage/sources/workday.py +524 -0
- stage/sources/zshah.py +99 -0
- stage/storage/__init__.py +29 -0
- stage/storage/migrations/0001_initial.sql +239 -0
- stage/storage/migrations/__init__.py +135 -0
- stage/storage/repository.py +213 -0
- stage/storage/search.py +28 -0
- stage/storage/sqlite_repo.py +1586 -0
- stage/storage/writer.py +249 -0
- stage/tui/__init__.py +0 -0
- stage/tui/app.py +82 -0
- stage/tui/help.py +26 -0
- stage/tui/safe.py +21 -0
- stage/tui/screens/__init__.py +0 -0
- stage/tui/screens/boards.py +186 -0
- stage/tui/screens/postings.py +509 -0
- stage/tui/screens/review.py +209 -0
- stage/tui/screens/splash.py +37 -0
- stage/tui/screens/stats.py +124 -0
- stage/tui/screens/sync.py +194 -0
- stage/tui/state.py +160 -0
- stage/tui/theme.tcss +205 -0
- stage/tui/widgets/__init__.py +0 -0
- stage_cli-1.0.0.dist-info/METADATA +379 -0
- stage_cli-1.0.0.dist-info/RECORD +170 -0
- stage_cli-1.0.0.dist-info/WHEEL +4 -0
- stage_cli-1.0.0.dist-info/entry_points.txt +2 -0
- stage_cli-1.0.0.dist-info/licenses/LICENSE +21 -0
|
@@ -0,0 +1,121 @@
|
|
|
1
|
+
- name: Q5
|
|
2
|
+
platform: workable
|
|
3
|
+
slug: q5-partners
|
|
4
|
+
source_of_record: discover
|
|
5
|
+
last_verified: 2026-08-16
|
|
6
|
+
notes: '2026-08-16: adopted from this employer''s own apply URL, then paused to
|
|
7
|
+
match the rest of the workable platform, which is parked until 2026-08-18 after
|
|
8
|
+
two 429s in one day.'
|
|
9
|
+
- name: Qorvo
|
|
10
|
+
platform: custom_json
|
|
11
|
+
slug: qorvo
|
|
12
|
+
source_of_record: discover
|
|
13
|
+
last_verified: 2026-08-20
|
|
14
|
+
notes: '2026-08-20: SuccessFactors RMK; /rss.xml carries all 131 postings in 1.4MB.'
|
|
15
|
+
custom:
|
|
16
|
+
url: https://careers.qorvo.com/rss.xml
|
|
17
|
+
format: rss
|
|
18
|
+
fields:
|
|
19
|
+
title: title
|
|
20
|
+
id: g:id
|
|
21
|
+
url: link
|
|
22
|
+
location: g:location
|
|
23
|
+
description: description
|
|
24
|
+
category: g:job_function
|
|
25
|
+
- name: QS Quacquarelli Symonds
|
|
26
|
+
platform: bamboohr
|
|
27
|
+
slug: qs
|
|
28
|
+
source_of_record: openjobs
|
|
29
|
+
enabled: false
|
|
30
|
+
notes: '2026-08-08: bamboohr publishes no board name, so a 200 with jobs is not
|
|
31
|
+
evidence of the right company; needs a human to open the board once'
|
|
32
|
+
- name: Quadric
|
|
33
|
+
platform: workable
|
|
34
|
+
slug: quadric-dot-i-o-inc
|
|
35
|
+
source_of_record: discover
|
|
36
|
+
last_verified: 2026-08-17
|
|
37
|
+
notes: '2026-08-14: paused after two 429s in one day, the second after 7 requests;
|
|
38
|
+
paused_until resumed it.'
|
|
39
|
+
- name: Quadrillion
|
|
40
|
+
platform: ashby
|
|
41
|
+
slug: quadrillion-labs
|
|
42
|
+
source_of_record: discover
|
|
43
|
+
last_verified: 2026-08-14
|
|
44
|
+
name_gate_exempt: true
|
|
45
|
+
notes: '2026-08-14: board token taken from this employer''s own application URL
|
|
46
|
+
in a feed posting, not from slug guessing; ashby publishes no board name, so the
|
|
47
|
+
name gate cannot confirm it and provenance is the evidence (6 job(s))'
|
|
48
|
+
- name: Qualcomm
|
|
49
|
+
platform: custom_json
|
|
50
|
+
slug: qualcomm
|
|
51
|
+
source_of_record: discover
|
|
52
|
+
last_verified: 2026-08-16
|
|
53
|
+
notes: '2026-08-16: eightfold /api/pcsx/search?domain= — the endpoint template carries
|
|
54
|
+
across tenants, the filter names do not.'
|
|
55
|
+
custom:
|
|
56
|
+
url: https://careers.qualcomm.com/api/pcsx/search?domain=qualcomm.com&query=&location=&start=0&sort_by=relevance&filter_seniority=Intern
|
|
57
|
+
jobs_path: data.positions
|
|
58
|
+
fields:
|
|
59
|
+
title: name
|
|
60
|
+
id: id
|
|
61
|
+
location: standardizedLocations
|
|
62
|
+
department: department
|
|
63
|
+
url_template: https://careers.qualcomm.com/careers/job/{id}
|
|
64
|
+
page_param: start
|
|
65
|
+
page_size: 10
|
|
66
|
+
max_pages: 20
|
|
67
|
+
- name: Qualys
|
|
68
|
+
platform: workday
|
|
69
|
+
slug: qualys
|
|
70
|
+
source_of_record: discover
|
|
71
|
+
last_verified: 2026-08-21
|
|
72
|
+
workday_tenant: qualys
|
|
73
|
+
workday_site: Careers
|
|
74
|
+
workday_dc: wd5
|
|
75
|
+
notes: '2026-08-21: supplied URL exposes the Workday tenant, site, and data center;
|
|
76
|
+
endpoint returned live postings.'
|
|
77
|
+
- name: Quantbot Technologies
|
|
78
|
+
platform: greenhouse
|
|
79
|
+
slug: quantbot-technologies
|
|
80
|
+
source_of_record: discover
|
|
81
|
+
last_verified: &id001 2026-08-14
|
|
82
|
+
- name: Quantic Dream
|
|
83
|
+
platform: lever
|
|
84
|
+
slug: quanticdream
|
|
85
|
+
source_of_record: openjobs
|
|
86
|
+
enabled: false
|
|
87
|
+
notes: '2026-08-08: lever publishes no board name, so a 200 with jobs is not evidence
|
|
88
|
+
of the right company; needs a human to open the board once'
|
|
89
|
+
- name: Quantlab
|
|
90
|
+
platform: jobvite
|
|
91
|
+
slug: quantlab
|
|
92
|
+
source_of_record: discover
|
|
93
|
+
last_verified: 2026-08-20
|
|
94
|
+
enabled: false
|
|
95
|
+
notes: '2026-08-21: re-checked on the server-rendered board as well; the tenant
|
|
96
|
+
answers 403, so the board is closed to our client'
|
|
97
|
+
- name: Qube Research and Technologies
|
|
98
|
+
platform: greenhouse
|
|
99
|
+
slug: quberesearchandtechnologies
|
|
100
|
+
source_of_record: discover
|
|
101
|
+
last_verified: 2026-08-20
|
|
102
|
+
notes: '2026-08-20: owner-supplied careers URL; the board names itself Qube Research
|
|
103
|
+
& Technologies.'
|
|
104
|
+
- name: QuEra Computing
|
|
105
|
+
platform: greenhouse
|
|
106
|
+
slug: queracomputinginc
|
|
107
|
+
source_of_record: discover
|
|
108
|
+
last_verified: *id001
|
|
109
|
+
- name: Quince
|
|
110
|
+
platform: greenhouse
|
|
111
|
+
slug: quince
|
|
112
|
+
source_of_record: openjobs
|
|
113
|
+
last_verified: 2026-08-11
|
|
114
|
+
name_gate_exempt: true
|
|
115
|
+
- name: Quora
|
|
116
|
+
platform: ashby
|
|
117
|
+
slug: quora
|
|
118
|
+
source_of_record: openjobs
|
|
119
|
+
last_verified: 2026-08-11
|
|
120
|
+
notes: '2026-08-11: enabled on slug evidence - ashby publishes no board name, but
|
|
121
|
+
the slug folds to the caption and the board returned 5 job(s)'
|
|
@@ -0,0 +1,583 @@
|
|
|
1
|
+
- name: Rackspace Technology
|
|
2
|
+
platform: lever
|
|
3
|
+
slug: rackspace
|
|
4
|
+
source_of_record: openjobs
|
|
5
|
+
enabled: false
|
|
6
|
+
notes: '2026-08-08: lever publishes no board name, so a 200 with jobs is not evidence
|
|
7
|
+
of the right company; needs a human to open the board once'
|
|
8
|
+
- name: Radix Trading
|
|
9
|
+
platform: greenhouse
|
|
10
|
+
slug: radixuniversity
|
|
11
|
+
source_of_record: discover
|
|
12
|
+
last_verified: &id003 2026-08-14
|
|
13
|
+
- name: Rainmaker
|
|
14
|
+
platform: lever
|
|
15
|
+
slug: make-rain
|
|
16
|
+
source_of_record: discover
|
|
17
|
+
last_verified: &id006 2026-08-14
|
|
18
|
+
name_gate_exempt: true
|
|
19
|
+
notes: '2026-08-14: board token taken from this employer''s own application URL
|
|
20
|
+
in a feed posting, not from slug guessing; lever publishes no board name, so the
|
|
21
|
+
name gate cannot confirm it and provenance is the evidence (32 job(s))'
|
|
22
|
+
- name: Rakuten Kobo
|
|
23
|
+
platform: workday
|
|
24
|
+
slug: rakuten
|
|
25
|
+
source_of_record: discover
|
|
26
|
+
last_verified: &id001 2026-08-14
|
|
27
|
+
workday_tenant: rakuten
|
|
28
|
+
workday_site: kobo
|
|
29
|
+
workday_dc: wd1
|
|
30
|
+
notes: '2026-08-14: verified by a real sync — this board returned postings, which
|
|
31
|
+
is the only verification a Workday tenant can have without an offline probe'
|
|
32
|
+
- name: Ramp
|
|
33
|
+
platform: ashby
|
|
34
|
+
slug: ramp
|
|
35
|
+
source_of_record: openjobs
|
|
36
|
+
last_verified: &id002 2026-08-11
|
|
37
|
+
notes: '2026-08-11: enabled on slug evidence - ashby publishes no board name, but
|
|
38
|
+
the slug folds to the caption and the board returned 128 job(s)'
|
|
39
|
+
- name: RAPP
|
|
40
|
+
platform: greenhouse
|
|
41
|
+
slug: rapp
|
|
42
|
+
source_of_record: openjobs
|
|
43
|
+
last_verified: &id005 2026-08-11
|
|
44
|
+
- name: Razer
|
|
45
|
+
platform: workday
|
|
46
|
+
slug: razer
|
|
47
|
+
source_of_record: discover
|
|
48
|
+
last_verified: *id001
|
|
49
|
+
workday_tenant: razer
|
|
50
|
+
workday_site: careers
|
|
51
|
+
workday_dc: wd3
|
|
52
|
+
notes: '2026-08-14: verified by a real sync — this board returned postings, which
|
|
53
|
+
is the only verification a Workday tenant can have without an offline probe'
|
|
54
|
+
- name: RBC (early talent)
|
|
55
|
+
platform: workday
|
|
56
|
+
slug: rbc
|
|
57
|
+
source_of_record: discover
|
|
58
|
+
last_verified: 2026-08-11
|
|
59
|
+
recheck_after: &id009 2026-10-01
|
|
60
|
+
workday_tenant: rbc
|
|
61
|
+
workday_site: RBCEARLYTALENT1
|
|
62
|
+
workday_dc: wd3
|
|
63
|
+
notes: '2026-08-12: enabled for the bounded resumable Workday crawl. It receives
|
|
64
|
+
at most five listing requests per daily sync and retains progress; re-measure
|
|
65
|
+
yield in October'
|
|
66
|
+
- name: Readystate Asset Management
|
|
67
|
+
platform: greenhouse
|
|
68
|
+
slug: readystate
|
|
69
|
+
source_of_record: discover
|
|
70
|
+
last_verified: &id004 2026-08-18
|
|
71
|
+
notes: '2026-08-18: seen in feed postings but absent from the registry; discover
|
|
72
|
+
matched greenhouse/readystate with 1 job(s) and the board named itself, so it
|
|
73
|
+
is polled directly instead of secondhand'
|
|
74
|
+
- name: Recursion
|
|
75
|
+
platform: greenhouse
|
|
76
|
+
slug: recursionpharmaceuticals
|
|
77
|
+
source_of_record: discover
|
|
78
|
+
last_verified: 2026-08-20
|
|
79
|
+
notes: '2026-08-20: owner-supplied careers URL; the greenhouse embed names this
|
|
80
|
+
token and the board names itself Recursion.'
|
|
81
|
+
- name: Red Barrels
|
|
82
|
+
platform: bamboohr
|
|
83
|
+
slug: redbarrels
|
|
84
|
+
source_of_record: openjobs
|
|
85
|
+
last_verified: *id002
|
|
86
|
+
notes: '2026-08-11: enabled on slug evidence - bamboohr publishes no board name,
|
|
87
|
+
but the slug folds to the caption and the board returned 1 job(s)'
|
|
88
|
+
- name: Red Bull
|
|
89
|
+
platform: smartrecruiters
|
|
90
|
+
slug: redbull
|
|
91
|
+
source_of_record: discover
|
|
92
|
+
last_verified: &id007 2026-08-14
|
|
93
|
+
- name: Red Hat
|
|
94
|
+
platform: workday
|
|
95
|
+
slug: redhat
|
|
96
|
+
source_of_record: discover
|
|
97
|
+
last_verified: 2026-08-21
|
|
98
|
+
workday_tenant: redhat
|
|
99
|
+
workday_site: jobs
|
|
100
|
+
workday_dc: wd5
|
|
101
|
+
notes: '2026-08-21: supplied URL exposes the Workday tenant, site, and data center;
|
|
102
|
+
endpoint returned live postings.'
|
|
103
|
+
- name: Reddit
|
|
104
|
+
platform: greenhouse
|
|
105
|
+
slug: reddit
|
|
106
|
+
source_of_record: openjobs
|
|
107
|
+
last_verified: *id003
|
|
108
|
+
- name: Redis
|
|
109
|
+
platform: ashby
|
|
110
|
+
slug: redis
|
|
111
|
+
source_of_record: discover
|
|
112
|
+
last_verified: 2026-08-21
|
|
113
|
+
notes: '2026-08-21: the public Ashby board is named Redis and returned live postings.'
|
|
114
|
+
- name: Redwood Materials
|
|
115
|
+
platform: greenhouse
|
|
116
|
+
slug: redwoodmaterials
|
|
117
|
+
source_of_record: discover
|
|
118
|
+
last_verified: *id003
|
|
119
|
+
- name: Reflector Entertainment
|
|
120
|
+
platform: custom_json
|
|
121
|
+
slug: dayforce-ref
|
|
122
|
+
source_of_record: discover
|
|
123
|
+
last_verified: 2026-08-18
|
|
124
|
+
rate_profile: conservative
|
|
125
|
+
notes: 'Dayforce, reached by sending the /api/auth/csrf token as x-csrf-token. 2026-08-21:
|
|
126
|
+
two boards on this host answered 403 in one run, so the row is pinned conservative.'
|
|
127
|
+
custom:
|
|
128
|
+
url: https://jobs.dayforcehcm.com/api/geo/ref/jobposting/search
|
|
129
|
+
method: POST
|
|
130
|
+
body:
|
|
131
|
+
clientNamespace: ref
|
|
132
|
+
jobBoardCode: CANDIDATEPORTAL
|
|
133
|
+
cultureCode: en-CA
|
|
134
|
+
distanceUnit: 1
|
|
135
|
+
handshake_url: https://jobs.dayforcehcm.com/api/auth/csrf
|
|
136
|
+
token_pattern: '"csrfToken":"([a-f0-9]+)"'
|
|
137
|
+
token_header: x-csrf-token
|
|
138
|
+
jobs_path: jobPostings
|
|
139
|
+
fields:
|
|
140
|
+
title: jobTitle
|
|
141
|
+
id: jobPostingId
|
|
142
|
+
description: jobDescription
|
|
143
|
+
location: postingLocations.0.formattedAddress
|
|
144
|
+
url_template: https://jobs.dayforcehcm.com/en-CA/ref/CANDIDATEPORTAL/jobs/{id}
|
|
145
|
+
page_param: paginationStart
|
|
146
|
+
page_size: 25
|
|
147
|
+
page_step: 25
|
|
148
|
+
max_pages: 20
|
|
149
|
+
- name: reflector entertainment
|
|
150
|
+
platform: recruitee
|
|
151
|
+
slug: reflectorentertainment
|
|
152
|
+
source_of_record: openjobs
|
|
153
|
+
enabled: false
|
|
154
|
+
notes: '2026-08-08: recruitee publishes no board name, so a 200 with jobs is not
|
|
155
|
+
evidence of the right company; needs a human to open the board once'
|
|
156
|
+
- name: RegDesk
|
|
157
|
+
platform: smartrecruiters
|
|
158
|
+
slug: regdeskinc
|
|
159
|
+
source_of_record: discover
|
|
160
|
+
last_verified: *id004
|
|
161
|
+
notes: '2026-08-18: seen in feed postings but absent from the registry; discover
|
|
162
|
+
matched smartrecruiters/regdeskinc with 2 job(s) and the board named itself, so
|
|
163
|
+
it is polled directly instead of secondhand'
|
|
164
|
+
- name: Reitmans
|
|
165
|
+
platform: smartrecruiters
|
|
166
|
+
slug: reitmanscanadalteltd
|
|
167
|
+
source_of_record: discover
|
|
168
|
+
last_verified: 2026-08-17
|
|
169
|
+
notes: '2026-08-17: found by a plain-HTTP scan of the employer''s own careers page
|
|
170
|
+
for a known ATS hostname, no browser and one request per host.'
|
|
171
|
+
- name: Relativity Space
|
|
172
|
+
platform: greenhouse
|
|
173
|
+
slug: relativity
|
|
174
|
+
source_of_record: discover
|
|
175
|
+
last_verified: 2026-08-20
|
|
176
|
+
notes: '2026-08-20: reached from the owner''s RippleMatch link; the greenhouse board
|
|
177
|
+
names itself Relativity Space.'
|
|
178
|
+
- name: relic entertainment
|
|
179
|
+
platform: bamboohr
|
|
180
|
+
slug: relicentertainment
|
|
181
|
+
source_of_record: openjobs
|
|
182
|
+
last_verified: *id002
|
|
183
|
+
notes: '2026-08-11: enabled on slug evidence - bamboohr publishes no board name,
|
|
184
|
+
but the slug folds to the caption and the board returned 1 job(s)'
|
|
185
|
+
- name: Reltio
|
|
186
|
+
platform: greenhouse
|
|
187
|
+
slug: reltio
|
|
188
|
+
source_of_record: openjobs
|
|
189
|
+
last_verified: *id005
|
|
190
|
+
- name: Remote
|
|
191
|
+
platform: greenhouse
|
|
192
|
+
slug: remotecom
|
|
193
|
+
source_of_record: openjobs
|
|
194
|
+
last_verified: *id005
|
|
195
|
+
- name: Renaissance Technologies
|
|
196
|
+
platform: custom_json
|
|
197
|
+
slug: rentec
|
|
198
|
+
source_of_record: discover
|
|
199
|
+
last_verified: 2026-08-21
|
|
200
|
+
notes: '2026-08-21: server-rendered board of 12 roles; the id sits in a selectedPosition
|
|
201
|
+
query param rather than a path segment, so identity comes from the url'
|
|
202
|
+
custom:
|
|
203
|
+
url: https://www.rentec.com/Careers.action?jobs=true
|
|
204
|
+
format: html
|
|
205
|
+
row_selector: div.flex-auto:not(.flex)
|
|
206
|
+
fields:
|
|
207
|
+
title: a
|
|
208
|
+
url: a::attr(href)
|
|
209
|
+
- name: Renault
|
|
210
|
+
platform: workday
|
|
211
|
+
slug: alliancewd
|
|
212
|
+
source_of_record: discover
|
|
213
|
+
last_verified: 2026-08-16
|
|
214
|
+
workday_tenant: alliancewd
|
|
215
|
+
workday_site: renault-group-careers
|
|
216
|
+
workday_dc: wd3
|
|
217
|
+
notes: '2026-08-16: coordinates taken from this employer''s own apply URL, then
|
|
218
|
+
verified by a scratch sync (17 posting(s), 0 kept)'
|
|
219
|
+
- name: Rendezvous Robotics
|
|
220
|
+
platform: greenhouse
|
|
221
|
+
slug: rendezvousrobotics
|
|
222
|
+
source_of_record: discover
|
|
223
|
+
last_verified: *id003
|
|
224
|
+
- name: Renesas
|
|
225
|
+
platform: smartrecruiters
|
|
226
|
+
slug: renesaselectronics
|
|
227
|
+
source_of_record: openjobs
|
|
228
|
+
last_verified: 2026-08-16
|
|
229
|
+
notes: '2026-08-16: ats_link recorded in the OpenJobs dataset, then verified by
|
|
230
|
+
a live probe that matched the company name on the returned board'
|
|
231
|
+
- name: Reonic
|
|
232
|
+
platform: ashby
|
|
233
|
+
slug: reonic
|
|
234
|
+
source_of_record: discover
|
|
235
|
+
last_verified: *id006
|
|
236
|
+
name_gate_exempt: true
|
|
237
|
+
notes: '2026-08-14: board token taken from this employer''s own application URL
|
|
238
|
+
in a feed posting, not from slug guessing; ashby publishes no board name, so the
|
|
239
|
+
name gate cannot confirm it and provenance is the evidence (32 job(s))'
|
|
240
|
+
- name: Replit
|
|
241
|
+
platform: ashby
|
|
242
|
+
slug: replit
|
|
243
|
+
source_of_record: discover
|
|
244
|
+
last_verified: *id004
|
|
245
|
+
name_gate_exempt: true
|
|
246
|
+
notes: '2026-08-18: token from this employer''s own apply URL, not slug guessing;
|
|
247
|
+
ashby publishes no board name, so provenance is the evidence (78 job(s))'
|
|
248
|
+
- name: Reply
|
|
249
|
+
platform: lever
|
|
250
|
+
slug: reply
|
|
251
|
+
source_of_record: discover
|
|
252
|
+
last_verified: *id006
|
|
253
|
+
name_gate_exempt: true
|
|
254
|
+
notes: '2026-08-14: board token taken from this employer''s own application URL
|
|
255
|
+
in a feed posting, not from slug guessing; lever publishes no board name, so the
|
|
256
|
+
name gate cannot confirm it and provenance is the evidence (40 job(s))'
|
|
257
|
+
- name: Resolver
|
|
258
|
+
platform: jobvite
|
|
259
|
+
slug: resolver
|
|
260
|
+
source_of_record: openjobs
|
|
261
|
+
last_verified: 2026-08-21
|
|
262
|
+
notes: '2026-08-21: the Jobvite API answers 401, but jobs.jobvite.com/resolver/jobs
|
|
263
|
+
server-renders all 12 postings, which is the contract this row polls'
|
|
264
|
+
- name: RESPEC
|
|
265
|
+
platform: smartrecruiters
|
|
266
|
+
slug: respecinc
|
|
267
|
+
source_of_record: discover
|
|
268
|
+
last_verified: *id007
|
|
269
|
+
- name: ResponsiveAds
|
|
270
|
+
platform: workable
|
|
271
|
+
slug: responsiveads-inc
|
|
272
|
+
source_of_record: discover
|
|
273
|
+
last_verified: 2026-08-17
|
|
274
|
+
notes: '2026-08-14: paused after two 429s in one day, the second after 7 requests;
|
|
275
|
+
paused_until resumed it.'
|
|
276
|
+
- name: Retool
|
|
277
|
+
platform: custom_json
|
|
278
|
+
slug: retool
|
|
279
|
+
source_of_record: discover
|
|
280
|
+
last_verified: 2026-08-21
|
|
281
|
+
notes: '2026-08-21: the official Gem board used by Retool exposes a public GraphQL
|
|
282
|
+
listing query; the existing POST adapter returned 34 postings with direct job
|
|
283
|
+
URLs.'
|
|
284
|
+
custom:
|
|
285
|
+
url: https://jobs.gem.com/api/public/graphql
|
|
286
|
+
method: POST
|
|
287
|
+
body:
|
|
288
|
+
query: "query JobBoardList($boardId: String!) {\n oatsExternalJobPostings(boardId:\
|
|
289
|
+
\ $boardId) {\n jobPostings {\n id\n extId\n title\n \
|
|
290
|
+
\ locations {\n id\n name\n city\n isoCountry\n\
|
|
291
|
+
\ isRemote\n extId\n }\n job {\n id\n \
|
|
292
|
+
\ department {\n id\n name\n extId\n }\n\
|
|
293
|
+
\ locationType\n employmentType\n }\n }\n }\n}\n"
|
|
294
|
+
variables:
|
|
295
|
+
boardId: retool
|
|
296
|
+
headers:
|
|
297
|
+
Origin: https://jobs.gem.com
|
|
298
|
+
Referer: https://jobs.gem.com/retool
|
|
299
|
+
jobs_path: data.oatsExternalJobPostings.jobPostings
|
|
300
|
+
fields:
|
|
301
|
+
title: title
|
|
302
|
+
id: extId
|
|
303
|
+
location: locations.0.name
|
|
304
|
+
department: job.department.name
|
|
305
|
+
employment_type: job.employmentType
|
|
306
|
+
url_template: https://jobs.gem.com/retool/{id}
|
|
307
|
+
- name: ReversingLabs
|
|
308
|
+
platform: workable
|
|
309
|
+
slug: reversinglabs
|
|
310
|
+
source_of_record: discover
|
|
311
|
+
last_verified: 2026-08-17
|
|
312
|
+
notes: '2026-08-14: paused after two 429s in one day, the second after 7 requests;
|
|
313
|
+
paused_until resumed it.'
|
|
314
|
+
- name: Revise Robotics
|
|
315
|
+
platform: ashby
|
|
316
|
+
slug: reviserobotics
|
|
317
|
+
source_of_record: discover
|
|
318
|
+
last_verified: *id006
|
|
319
|
+
name_gate_exempt: true
|
|
320
|
+
notes: '2026-08-14: board token taken from this employer''s own application URL
|
|
321
|
+
in a feed posting, not from slug guessing; ashby publishes no board name, so the
|
|
322
|
+
name gate cannot confirm it and provenance is the evidence (2 job(s))'
|
|
323
|
+
- name: Revvity
|
|
324
|
+
platform: workday
|
|
325
|
+
slug: revvity
|
|
326
|
+
source_of_record: discover
|
|
327
|
+
last_verified: &id008 2026-08-16
|
|
328
|
+
workday_tenant: revvity
|
|
329
|
+
workday_site: External
|
|
330
|
+
workday_dc: wd103
|
|
331
|
+
notes: '2026-08-16: coordinates taken from this employer''s own apply URL, then
|
|
332
|
+
verified by a scratch sync — the board answered with 8 posting(s), 2 kept after
|
|
333
|
+
the CS-internship screens'
|
|
334
|
+
- name: RFCUNY
|
|
335
|
+
platform: workday
|
|
336
|
+
slug: rfcuny
|
|
337
|
+
source_of_record: discover
|
|
338
|
+
last_verified: *id008
|
|
339
|
+
workday_tenant: rfcuny
|
|
340
|
+
workday_site: RFCUNY
|
|
341
|
+
workday_dc: wd108
|
|
342
|
+
notes: '2026-08-16: coordinates taken from this employer''s own apply URL, then
|
|
343
|
+
verified by a scratch sync — the board answered with 120 posting(s), 1 kept after
|
|
344
|
+
the CS-internship screens'
|
|
345
|
+
- name: Rho
|
|
346
|
+
platform: ashby
|
|
347
|
+
slug: rho
|
|
348
|
+
source_of_record: discover
|
|
349
|
+
last_verified: *id006
|
|
350
|
+
name_gate_exempt: true
|
|
351
|
+
notes: '2026-08-14: board token taken from this employer''s own application URL
|
|
352
|
+
in a feed posting, not from slug guessing; ashby publishes no board name, so the
|
|
353
|
+
name gate cannot confirm it and provenance is the evidence (43 job(s))'
|
|
354
|
+
- name: Riot Games
|
|
355
|
+
platform: greenhouse
|
|
356
|
+
slug: riotgames
|
|
357
|
+
source_of_record: discover
|
|
358
|
+
last_verified: 2026-08-20
|
|
359
|
+
notes: Its student-internships page refuses our client, but the native greenhouse
|
|
360
|
+
board answers with 161 postings.
|
|
361
|
+
- name: Ripple
|
|
362
|
+
platform: greenhouse
|
|
363
|
+
slug: ripple
|
|
364
|
+
source_of_record: discover
|
|
365
|
+
last_verified: 2026-08-21
|
|
366
|
+
notes: '2026-08-21: official careers page exposes the live Ripple Greenhouse board.'
|
|
367
|
+
- name: Rippling
|
|
368
|
+
platform: custom_json
|
|
369
|
+
slug: rippling
|
|
370
|
+
source_of_record: discover
|
|
371
|
+
last_verified: &id010 2026-08-17
|
|
372
|
+
notes: '2026-08-17: found from the ats.rippling.com apply URL carried by Rippling''s
|
|
373
|
+
own feed postings.'
|
|
374
|
+
custom:
|
|
375
|
+
url: https://api.rippling.com/platform/api/ats/v1/board/rippling/jobs
|
|
376
|
+
fields:
|
|
377
|
+
title: name
|
|
378
|
+
id: uuid
|
|
379
|
+
location: workLocation.label
|
|
380
|
+
url: url
|
|
381
|
+
category: department.label
|
|
382
|
+
- name: Riveron
|
|
383
|
+
platform: ashby
|
|
384
|
+
slug: riveron
|
|
385
|
+
source_of_record: discover
|
|
386
|
+
last_verified: *id004
|
|
387
|
+
name_gate_exempt: true
|
|
388
|
+
notes: '2026-08-18: token from this employer''s own apply URL, not slug guessing;
|
|
389
|
+
ashby publishes no board name, so provenance is the evidence (70 job(s))'
|
|
390
|
+
- name: Rivian
|
|
391
|
+
platform: custom_json
|
|
392
|
+
slug: rivian
|
|
393
|
+
source_of_record: discover
|
|
394
|
+
last_verified: 2026-08-19
|
|
395
|
+
notes: iCIMS career-site (careers-home) JSON API, which is a different contract
|
|
396
|
+
from the icims.com boards that serve only HTML.
|
|
397
|
+
custom:
|
|
398
|
+
url: https://careers.rivian.com/api/jobs?limit=100&internal=false
|
|
399
|
+
jobs_path: jobs
|
|
400
|
+
fields:
|
|
401
|
+
title: data.title
|
|
402
|
+
id: data.req_id
|
|
403
|
+
url: data.apply_url
|
|
404
|
+
location: data.full_location
|
|
405
|
+
description: data.description
|
|
406
|
+
department: data.category
|
|
407
|
+
employment_type: data.employment_type
|
|
408
|
+
page_param: page
|
|
409
|
+
page_size: 100
|
|
410
|
+
page_start: 1
|
|
411
|
+
page_step: 1
|
|
412
|
+
max_pages: 15
|
|
413
|
+
- name: Rivian and Volkswagen Group Technologies
|
|
414
|
+
platform: ashby
|
|
415
|
+
slug: rivianvw.tech
|
|
416
|
+
source_of_record: discover
|
|
417
|
+
last_verified: *id006
|
|
418
|
+
name_gate_exempt: true
|
|
419
|
+
notes: '2026-08-14: board token taken from this employer''s own application URL
|
|
420
|
+
in a feed posting, not from slug guessing; ashby publishes no board name, so the
|
|
421
|
+
name gate cannot confirm it and provenance is the evidence (113 job(s))'
|
|
422
|
+
- name: Roam
|
|
423
|
+
platform: ashby
|
|
424
|
+
slug: tryroam
|
|
425
|
+
source_of_record: discover
|
|
426
|
+
last_verified: *id006
|
|
427
|
+
name_gate_exempt: true
|
|
428
|
+
notes: '2026-08-14: board token taken from this employer''s own application URL
|
|
429
|
+
in a feed posting, not from slug guessing; ashby publishes no board name, so the
|
|
430
|
+
name gate cannot confirm it and provenance is the evidence (4 job(s))'
|
|
431
|
+
- name: Robinhood
|
|
432
|
+
platform: greenhouse
|
|
433
|
+
slug: robinhood
|
|
434
|
+
source_of_record: discover
|
|
435
|
+
last_verified: 2026-08-17
|
|
436
|
+
notes: '2026-08-17: browser discovery found a greenhouse API URL, so this is a native
|
|
437
|
+
board rather than custom_json; verified by probe with the company name on the
|
|
438
|
+
returned board'
|
|
439
|
+
- name: Roblox
|
|
440
|
+
platform: greenhouse
|
|
441
|
+
slug: roblox
|
|
442
|
+
source_of_record: discover
|
|
443
|
+
last_verified: *id003
|
|
444
|
+
- name: Roche
|
|
445
|
+
platform: workday
|
|
446
|
+
slug: roche
|
|
447
|
+
source_of_record: manual
|
|
448
|
+
last_verified: 2026-08-13
|
|
449
|
+
workday_tenant: roche
|
|
450
|
+
workday_site: roche-ext
|
|
451
|
+
workday_dc: wd3
|
|
452
|
+
workday_facet: workerSubType:5cbb2c6fdeee0185f1889cdb54348a05
|
|
453
|
+
notes: '2026-08-13: official Workday endpoint verified; its Interns, Apprentices
|
|
454
|
+
and Graduates facet has nine listings.'
|
|
455
|
+
- name: Rocket
|
|
456
|
+
platform: workday
|
|
457
|
+
slug: rocket
|
|
458
|
+
source_of_record: openjobs
|
|
459
|
+
last_verified: *id001
|
|
460
|
+
recheck_after: *id009
|
|
461
|
+
workday_tenant: rocket
|
|
462
|
+
workday_site: rocket_careers
|
|
463
|
+
workday_dc: wd5
|
|
464
|
+
notes: '2026-08-14: verified by a real sync — this board returned postings, which
|
|
465
|
+
is the only verification a Workday tenant can have without an offline probe'
|
|
466
|
+
- name: Rocket Lab
|
|
467
|
+
platform: greenhouse
|
|
468
|
+
slug: rocketlab
|
|
469
|
+
source_of_record: discover
|
|
470
|
+
last_verified: 2026-08-19
|
|
471
|
+
notes: Careers page is SilverStripe, but its position slugs carry Greenhouse job
|
|
472
|
+
ids; the board names itself Rocket Lab Corporation.
|
|
473
|
+
- name: Rockstar Games
|
|
474
|
+
platform: greenhouse
|
|
475
|
+
slug: rockstargames
|
|
476
|
+
source_of_record: openjobs
|
|
477
|
+
last_verified: *id005
|
|
478
|
+
- name: Rodeo FX
|
|
479
|
+
platform: smartrecruiters
|
|
480
|
+
slug: rodeofx
|
|
481
|
+
source_of_record: discover
|
|
482
|
+
last_verified: 2026-08-21
|
|
483
|
+
- name: Rogers
|
|
484
|
+
platform: custom_json
|
|
485
|
+
slug: rogers
|
|
486
|
+
source_of_record: discover
|
|
487
|
+
last_verified: 2026-08-20
|
|
488
|
+
notes: SuccessFactors RMK; /rss.xml carries the whole 166-posting board, which is
|
|
489
|
+
retail and field roles today.
|
|
490
|
+
custom:
|
|
491
|
+
url: https://jobs.rogers.com/rss.xml
|
|
492
|
+
format: rss
|
|
493
|
+
fields:
|
|
494
|
+
title: title
|
|
495
|
+
id: g:id
|
|
496
|
+
url: link
|
|
497
|
+
location: g:location
|
|
498
|
+
description: description
|
|
499
|
+
category: g:job_function
|
|
500
|
+
- name: Rolls-Royce
|
|
501
|
+
platform: workday
|
|
502
|
+
slug: rollsroyce
|
|
503
|
+
source_of_record: openjobs
|
|
504
|
+
last_verified: *id001
|
|
505
|
+
recheck_after: *id009
|
|
506
|
+
workday_tenant: rollsroyce
|
|
507
|
+
workday_site: professional
|
|
508
|
+
workday_dc: wd3
|
|
509
|
+
notes: '2026-08-14: verified by a real sync — this board returned postings, which
|
|
510
|
+
is the only verification a Workday tenant can have without an offline probe'
|
|
511
|
+
- name: Rovio
|
|
512
|
+
platform: lever
|
|
513
|
+
slug: rovio-2
|
|
514
|
+
source_of_record: openjobs
|
|
515
|
+
last_verified: 2026-08-04
|
|
516
|
+
- name: Royal Bank of Canada
|
|
517
|
+
platform: workday
|
|
518
|
+
slug: rbc
|
|
519
|
+
source_of_record: manual
|
|
520
|
+
last_verified: 2026-08-13
|
|
521
|
+
workday_tenant: rbc
|
|
522
|
+
workday_site: rbcglobal1
|
|
523
|
+
workday_dc: wd3
|
|
524
|
+
workday_facet: workerSubType:7911130ac48001184e788bd8f87d0001
|
|
525
|
+
notes: '2026-08-13: official general Workday endpoint verified; its Student/Coop
|
|
526
|
+
fixed-term facet is separate from the existing early-talent site.'
|
|
527
|
+
- name: RRS Group
|
|
528
|
+
platform: smartrecruiters
|
|
529
|
+
slug: rrsgroup
|
|
530
|
+
source_of_record: discover
|
|
531
|
+
last_verified: *id007
|
|
532
|
+
- name: RSM
|
|
533
|
+
platform: workday
|
|
534
|
+
slug: rsm
|
|
535
|
+
source_of_record: discover
|
|
536
|
+
last_verified: *id008
|
|
537
|
+
workday_tenant: rsm
|
|
538
|
+
workday_site: rsmcareers
|
|
539
|
+
workday_dc: wd1
|
|
540
|
+
notes: '2026-08-16: coordinates taken from this employer''s own apply URL, then
|
|
541
|
+
verified by a scratch sync — the board answered with 2 posting(s), 1 kept after
|
|
542
|
+
the CS-internship screens'
|
|
543
|
+
- name: RTX
|
|
544
|
+
platform: workday
|
|
545
|
+
slug: globalhr
|
|
546
|
+
source_of_record: discover
|
|
547
|
+
last_verified: *id010
|
|
548
|
+
workday_tenant: globalhr
|
|
549
|
+
workday_site: Private_Posting_No_TMP
|
|
550
|
+
workday_dc: wd5
|
|
551
|
+
name_gate_exempt: true
|
|
552
|
+
notes: 'Found in a feed apply URL: globalhr.wd5 carries 269 postings, and the tenant
|
|
553
|
+
is shared with Pratt & Whitney.'
|
|
554
|
+
- name: Rubrik
|
|
555
|
+
platform: greenhouse
|
|
556
|
+
slug: rubrik
|
|
557
|
+
source_of_record: discover
|
|
558
|
+
last_verified: 2026-08-21
|
|
559
|
+
- name: Runway
|
|
560
|
+
platform: ashby
|
|
561
|
+
slug: runway
|
|
562
|
+
source_of_record: openjobs
|
|
563
|
+
last_verified: 2026-08-16
|
|
564
|
+
name_gate_exempt: true
|
|
565
|
+
notes: '2026-08-16: ats_link recorded in the OpenJobs dataset and the board answered
|
|
566
|
+
with postings, but this platform publishes no board name, so provenance is the
|
|
567
|
+
evidence rather than a name match.'
|
|
568
|
+
- name: Ruselle Investments
|
|
569
|
+
platform: workday
|
|
570
|
+
slug: russell
|
|
571
|
+
source_of_record: openjobs
|
|
572
|
+
last_verified: *id001
|
|
573
|
+
recheck_after: *id009
|
|
574
|
+
workday_tenant: russell
|
|
575
|
+
workday_site: russellinvestments
|
|
576
|
+
workday_dc: wd5
|
|
577
|
+
notes: '2026-08-14: verified by a real sync — this board returned postings, which
|
|
578
|
+
is the only verification a Workday tenant can have without an offline probe'
|
|
579
|
+
- name: Rush street interactive
|
|
580
|
+
platform: greenhouse
|
|
581
|
+
slug: rushstreetinteractive
|
|
582
|
+
source_of_record: openjobs
|
|
583
|
+
last_verified: *id005
|