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.
Files changed (170) hide show
  1. stage/__init__.py +1 -0
  2. stage/__main__.py +8 -0
  3. stage/banner.py +32 -0
  4. stage/bootstrap/__init__.py +0 -0
  5. stage/bootstrap/openjobs.py +392 -0
  6. stage/classify/__init__.py +29 -0
  7. stage/classify/eligibility.py +115 -0
  8. stage/classify/internship.py +64 -0
  9. stage/classify/role.py +91 -0
  10. stage/classify/scope.py +47 -0
  11. stage/cli/__init__.py +0 -0
  12. stage/cli/app.py +4 -0
  13. stage/cli/commands/__init__.py +8 -0
  14. stage/cli/commands/discovery.py +294 -0
  15. stage/cli/commands/insight.py +494 -0
  16. stage/cli/commands/pipeline.py +337 -0
  17. stage/cli/commands/postings.py +473 -0
  18. stage/cli/commands/schedule.py +171 -0
  19. stage/cli/housekeeping.py +64 -0
  20. stage/cli/logfile.py +56 -0
  21. stage/cli/notify.py +170 -0
  22. stage/cli/options.py +678 -0
  23. stage/cli/render.py +1398 -0
  24. stage/cli/runlock.py +74 -0
  25. stage/cli/schedule.py +702 -0
  26. stage/cli/schedule_state.py +363 -0
  27. stage/cli/selection.py +83 -0
  28. stage/cli/serialize.py +196 -0
  29. stage/companies.py +542 -0
  30. stage/data/companies/a.yaml +1289 -0
  31. stage/data/companies/b.yaml +900 -0
  32. stage/data/companies/c.yaml +1377 -0
  33. stage/data/companies/d.yaml +497 -0
  34. stage/data/companies/e.yaml +519 -0
  35. stage/data/companies/f.yaml +454 -0
  36. stage/data/companies/g.yaml +601 -0
  37. stage/data/companies/h.yaml +446 -0
  38. stage/data/companies/i.yaml +503 -0
  39. stage/data/companies/j.yaml +138 -0
  40. stage/data/companies/k.yaml +278 -0
  41. stage/data/companies/l.yaml +402 -0
  42. stage/data/companies/m.yaml +937 -0
  43. stage/data/companies/n.yaml +549 -0
  44. stage/data/companies/o.yaml +371 -0
  45. stage/data/companies/other.yaml +58 -0
  46. stage/data/companies/p.yaml +825 -0
  47. stage/data/companies/q.yaml +121 -0
  48. stage/data/companies/r.yaml +583 -0
  49. stage/data/companies/s.yaml +1140 -0
  50. stage/data/companies/t.yaml +817 -0
  51. stage/data/companies/u.yaml +196 -0
  52. stage/data/companies/v.yaml +325 -0
  53. stage/data/companies/w.yaml +353 -0
  54. stage/data/companies/x.yaml +67 -0
  55. stage/data/companies/y.yaml +36 -0
  56. stage/data/companies/z.yaml +146 -0
  57. stage/data/fonts/DejaVuSans.LICENSE.txt +99 -0
  58. stage/data/fonts/DejaVuSans.ttf +0 -0
  59. stage/data/lexicon/company_tokens.yaml +228 -0
  60. stage/data/lexicon/eligibility.yaml +455 -0
  61. stage/data/lexicon/inclusive_suffixes.yaml +37 -0
  62. stage/data/lexicon/internship.yaml +187 -0
  63. stage/data/lexicon/language.yaml +226 -0
  64. stage/data/lexicon/locations.yaml +1159 -0
  65. stage/data/lexicon/roles.yaml +2012 -0
  66. stage/data/lexicon/terms.yaml +76 -0
  67. stage/data/lexicon/workday_facets.yaml +27 -0
  68. stage/data/seed_companies.yaml +198 -0
  69. stage/dedup/__init__.py +19 -0
  70. stage/dedup/identity.py +113 -0
  71. stage/dedup/resolve.py +97 -0
  72. stage/domain/__init__.py +244 -0
  73. stage/domain/company.py +49 -0
  74. stage/domain/coverage.py +86 -0
  75. stage/domain/custom_board.py +92 -0
  76. stage/domain/discovery.py +94 -0
  77. stage/domain/enums.py +114 -0
  78. stage/domain/events.py +204 -0
  79. stage/domain/filters.py +27 -0
  80. stage/domain/health.py +169 -0
  81. stage/domain/ids.py +48 -0
  82. stage/domain/job.py +47 -0
  83. stage/domain/matching.py +15 -0
  84. stage/domain/priority.py +34 -0
  85. stage/domain/quarantine.py +39 -0
  86. stage/domain/rate_state.py +78 -0
  87. stage/domain/retention.py +20 -0
  88. stage/domain/rotation.py +46 -0
  89. stage/domain/signals.py +12 -0
  90. stage/domain/sync_run.py +35 -0
  91. stage/domain/text.py +113 -0
  92. stage/domain/validator.py +14 -0
  93. stage/domain/visits.py +60 -0
  94. stage/domain/workday.py +38 -0
  95. stage/http/__init__.py +58 -0
  96. stage/http/breaker.py +53 -0
  97. stage/http/cache.py +44 -0
  98. stage/http/client.py +725 -0
  99. stage/http/profiles.py +101 -0
  100. stage/lexicon.py +370 -0
  101. stage/normalize/__init__.py +16 -0
  102. stage/normalize/language.py +47 -0
  103. stage/normalize/location.py +271 -0
  104. stage/normalize/terms.py +153 -0
  105. stage/normalize/urls.py +122 -0
  106. stage/paths.py +86 -0
  107. stage/py.typed +0 -0
  108. stage/services/__init__.py +0 -0
  109. stage/services/canary.py +120 -0
  110. stage/services/coverage.py +231 -0
  111. stage/services/discover.py +747 -0
  112. stage/services/export.py +274 -0
  113. stage/services/health.py +237 -0
  114. stage/services/maintenance.py +225 -0
  115. stage/services/quarantine.py +20 -0
  116. stage/services/query.py +86 -0
  117. stage/services/sync.py +1257 -0
  118. stage/sources/__init__.py +82 -0
  119. stage/sources/_text.py +79 -0
  120. stage/sources/ashby.py +93 -0
  121. stage/sources/bamboohr.py +80 -0
  122. stage/sources/base.py +225 -0
  123. stage/sources/breezy.py +90 -0
  124. stage/sources/collage.py +60 -0
  125. stage/sources/community_feeds.py +142 -0
  126. stage/sources/curated_markdown.py +289 -0
  127. stage/sources/custom_json.py +610 -0
  128. stage/sources/espresso.py +154 -0
  129. stage/sources/feed.py +44 -0
  130. stage/sources/greenhouse.py +104 -0
  131. stage/sources/jobbank.py +147 -0
  132. stage/sources/jobvite.py +133 -0
  133. stage/sources/lever.py +76 -0
  134. stage/sources/oracle_cloud.py +187 -0
  135. stage/sources/platforms.py +609 -0
  136. stage/sources/quebec_emploi.py +146 -0
  137. stage/sources/recruitee.py +96 -0
  138. stage/sources/simplify.py +110 -0
  139. stage/sources/smartrecruiters.py +216 -0
  140. stage/sources/speedyapply.py +200 -0
  141. stage/sources/themuse.py +157 -0
  142. stage/sources/workable.py +83 -0
  143. stage/sources/workday.py +524 -0
  144. stage/sources/zshah.py +99 -0
  145. stage/storage/__init__.py +29 -0
  146. stage/storage/migrations/0001_initial.sql +239 -0
  147. stage/storage/migrations/__init__.py +135 -0
  148. stage/storage/repository.py +213 -0
  149. stage/storage/search.py +28 -0
  150. stage/storage/sqlite_repo.py +1586 -0
  151. stage/storage/writer.py +249 -0
  152. stage/tui/__init__.py +0 -0
  153. stage/tui/app.py +82 -0
  154. stage/tui/help.py +26 -0
  155. stage/tui/safe.py +21 -0
  156. stage/tui/screens/__init__.py +0 -0
  157. stage/tui/screens/boards.py +186 -0
  158. stage/tui/screens/postings.py +509 -0
  159. stage/tui/screens/review.py +209 -0
  160. stage/tui/screens/splash.py +37 -0
  161. stage/tui/screens/stats.py +124 -0
  162. stage/tui/screens/sync.py +194 -0
  163. stage/tui/state.py +160 -0
  164. stage/tui/theme.tcss +205 -0
  165. stage/tui/widgets/__init__.py +0 -0
  166. stage_cli-1.0.0.dist-info/METADATA +379 -0
  167. stage_cli-1.0.0.dist-info/RECORD +170 -0
  168. stage_cli-1.0.0.dist-info/WHEEL +4 -0
  169. stage_cli-1.0.0.dist-info/entry_points.txt +2 -0
  170. stage_cli-1.0.0.dist-info/licenses/LICENSE +21 -0
@@ -0,0 +1,601 @@
1
+ - name: G-Research
2
+ platform: workday
3
+ slug: gresearch
4
+ source_of_record: discover
5
+ last_verified: &id002 2026-08-14
6
+ workday_tenant: gresearch
7
+ workday_site: G-Research
8
+ workday_dc: wd103
9
+ notes: '2026-08-14: verified by a real sync — this board returned postings, which
10
+ is the only verification a Workday tenant can have without an offline probe'
11
+ - name: Game Mode One
12
+ platform: bamboohr
13
+ slug: gamemodeone
14
+ source_of_record: openjobs
15
+ last_verified: &id001 2026-08-11
16
+ notes: '2026-08-11: enabled on slug evidence - bamboohr publishes no board name,
17
+ but the slug folds to the caption and the board returned 4 job(s)'
18
+ - name: Gameloft
19
+ platform: smartrecruiters
20
+ slug: gameloft
21
+ source_of_record: openjobs
22
+ last_verified: &id008 2026-08-14
23
+ - name: Gardens Interactive
24
+ platform: ashby
25
+ slug: gardens
26
+ source_of_record: openjobs
27
+ last_verified: *id001
28
+ notes: '2026-08-11: enabled on slug evidence - ashby publishes no board name, but
29
+ the slug folds to the caption and the board returned 3 job(s)'
30
+ - name: Garmin
31
+ platform: custom_json
32
+ slug: garmin
33
+ source_of_record: discover
34
+ last_verified: 2026-08-20
35
+ notes: '2026-08-20: iCIMS careers-home site, the same contract as the AMD row.'
36
+ custom:
37
+ url: https://careers.garmin.com/api/jobs?limit=100
38
+ jobs_path: jobs
39
+ fields:
40
+ title: data.title
41
+ id: data.slug
42
+ location: data.full_location
43
+ description: data.description
44
+ employment_type: data.employment_type
45
+ category: data.category
46
+ department: data.department
47
+ url_template: https://careers.garmin.com/jobs/{id}
48
+ page_param: page
49
+ page_size: 100
50
+ page_start: 1
51
+ page_step: 1
52
+ max_pages: 8
53
+ - name: Gartner
54
+ platform: workday
55
+ slug: gartner
56
+ source_of_record: discover
57
+ last_verified: *id002
58
+ workday_tenant: gartner
59
+ workday_site: EXT
60
+ workday_dc: wd5
61
+ notes: '2026-08-14: verified by a real sync — this board returned postings, which
62
+ is the only verification a Workday tenant can have without an offline probe'
63
+ - name: GCI
64
+ platform: oracle_cloud
65
+ slug: edqv
66
+ source_of_record: discover
67
+ last_verified: 2026-08-14
68
+ oracle_host: edqv.fa.us2.oraclecloud.com
69
+ oracle_site: CX
70
+ notes: '2026-08-14: enabled to be verified by a real sync — the Oracle Cloud candidate
71
+ endpoint has no offline probe, and this host and site come from the employer''s
72
+ own application URL'
73
+ - name: GE Aerospace
74
+ platform: workday
75
+ slug: geaerospace
76
+ source_of_record: discover
77
+ last_verified: *id002
78
+ workday_tenant: geaerospace
79
+ workday_site: ge_externalsite
80
+ workday_dc: wd5
81
+ notes: '2026-08-14: verified by a real sync — this board returned postings, which
82
+ is the only verification a Workday tenant can have without an offline probe'
83
+ - name: GE Appliances
84
+ platform: workday
85
+ slug: haier
86
+ source_of_record: manual
87
+ last_verified: 2026-08-13
88
+ workday_tenant: haier
89
+ workday_site: ge_appliances
90
+ workday_dc: wd3
91
+ workday_facet: Job_Profile:8dae14acd89201e8d9cb2ea4b401baaa
92
+ notes: '2026-08-13: official Workday endpoint verified; its Intern job-profile facet
93
+ has 19 listings.'
94
+ - name: GE HealthCare
95
+ platform: workday
96
+ slug: gehc
97
+ source_of_record: discover
98
+ last_verified: *id002
99
+ workday_tenant: gehc
100
+ workday_site: gehc_externalsite
101
+ workday_dc: wd5
102
+ notes: '2026-08-14: verified by a real sync — this board returned postings, which
103
+ is the only verification a Workday tenant can have without an offline probe'
104
+ - name: GE Vernova
105
+ platform: workday
106
+ slug: gevernova
107
+ source_of_record: discover
108
+ last_verified: *id002
109
+ workday_tenant: gevernova
110
+ workday_site: vernova_externalsite
111
+ workday_dc: wd5
112
+ notes: '2026-08-14: verified by a real sync — this board returned postings, which
113
+ is the only verification a Workday tenant can have without an offline probe'
114
+ - name: GEA
115
+ platform: workday
116
+ slug: gea
117
+ source_of_record: discover
118
+ last_verified: &id003 2026-08-16
119
+ workday_tenant: gea
120
+ workday_site: geacareers
121
+ workday_dc: wd3
122
+ notes: '2026-08-16: coordinates taken from this employer''s own apply URL, then
123
+ verified by a scratch sync — the board answered with 23 posting(s), 3 kept after
124
+ the CS-internship screens'
125
+ - name: Geisinger
126
+ platform: workday
127
+ slug: geisinger
128
+ source_of_record: discover
129
+ last_verified: *id003
130
+ workday_tenant: geisinger
131
+ workday_site: geisingerexternal
132
+ workday_dc: wd5
133
+ notes: '2026-08-16: coordinates taken from this employer''s own apply URL, then
134
+ verified by a scratch sync — the board answered with 2 posting(s), 1 kept after
135
+ the CS-internship screens'
136
+ - name: Gemini
137
+ platform: greenhouse
138
+ slug: gemini
139
+ source_of_record: discover
140
+ last_verified: &id005 2026-08-14
141
+ - name: Gen
142
+ platform: ashby
143
+ slug: gen-digital
144
+ source_of_record: manual
145
+ last_verified: 2026-08-13
146
+ notes: '2026-08-13: official active data-engineering internship application verifies
147
+ the public Ashby board.'
148
+ - name: Generac
149
+ platform: workday
150
+ slug: generac
151
+ source_of_record: discover
152
+ last_verified: *id002
153
+ workday_tenant: generac
154
+ workday_site: external
155
+ workday_dc: wd5
156
+ notes: '2026-08-14: verified by a real sync — this board returned postings, which
157
+ is the only verification a Workday tenant can have without an offline probe'
158
+ - name: General Matter
159
+ platform: greenhouse
160
+ slug: generalmatter
161
+ source_of_record: discover
162
+ last_verified: 2026-09-01
163
+ notes: '2026-09-01: verified 115 postings including a Summer 2027 Software Engineering
164
+ internship in Los Angeles.'
165
+ - name: General Dynamics Information Technology
166
+ platform: workday
167
+ slug: gdit
168
+ source_of_record: discover
169
+ last_verified: *id002
170
+ workday_tenant: gdit
171
+ workday_site: external_career_site
172
+ workday_dc: wd5
173
+ notes: '2026-08-14: verified by a real sync — this board returned postings, which
174
+ is the only verification a Workday tenant can have without an offline probe'
175
+ - name: General Dynamics Mission Systems
176
+ platform: custom_json
177
+ slug: gdms
178
+ source_of_record: discover
179
+ last_verified: 2026-09-01
180
+ notes: '2026-09-01: iCIMS serves no JSON, so this reads the search page.
181
+ Verified an Infrastructure Engineer co-op.'
182
+ custom:
183
+ url: https://careers-gdms.icims.com/jobs/search?ss=1&in_iframe=1
184
+ format: html
185
+ row_selector: div.row:has(a.iCIMS_Anchor)
186
+ fields:
187
+ title: a.iCIMS_Anchor h3
188
+ url: a.iCIMS_Anchor::attr(href)
189
+ location: .header.left span + span
190
+ - name: General Intuition & Medal
191
+ platform: ashby
192
+ slug: generalintuition-medal
193
+ source_of_record: discover
194
+ last_verified: 2026-08-14
195
+ name_gate_exempt: true
196
+ notes: '2026-08-14: board token taken from this employer''s own application URL
197
+ in a feed posting, not from slug guessing; ashby publishes no board name, so the
198
+ name gate cannot confirm it and provenance is the evidence (13 job(s))'
199
+ - name: General Motors
200
+ platform: custom_json
201
+ slug: gm
202
+ source_of_record: discover
203
+ last_verified: 2026-08-20
204
+ notes: '2026-08-20: the Beamery listing is client-side, but /sitemap.xml carries
205
+ 872 English job urls whose requisition id precedes the slug.'
206
+ custom:
207
+ url: https://search-careers.gm.com/sitemap.xml
208
+ format: sitemap
209
+ authoritative: false
210
+ row_filter: /en/jobs/jr-
211
+ fields:
212
+ title: path1_title
213
+ id: path2
214
+ url: loc
215
+ - name: Generation West Virginia
216
+ platform: workable
217
+ slug: generation-west-virginia-1
218
+ source_of_record: discover
219
+ last_verified: &id004 2026-08-16
220
+ notes: '2026-08-16: adopted from this employer''s own apply URL, then paused to
221
+ match the rest of the workable platform, which is parked until 2026-08-18 after
222
+ two 429s in one day.'
223
+ - name: Genesys
224
+ platform: workday
225
+ slug: genesys
226
+ source_of_record: discover
227
+ last_verified: *id002
228
+ workday_tenant: genesys
229
+ workday_site: Genesys
230
+ workday_dc: wd1
231
+ notes: '2026-08-14: verified by a real sync — this board returned postings, which
232
+ is the only verification a Workday tenant can have without an offline probe'
233
+ - name: Genetec
234
+ platform: workable
235
+ slug: genetec-inc
236
+ source_of_record: discover
237
+ last_verified: 2026-08-17
238
+ notes: '2026-08-14: paused after two 429s in one day, the second after 7 requests;
239
+ paused_until resumed it.'
240
+ - name: GenMD
241
+ platform: ashby
242
+ slug: genmd
243
+ source_of_record: discover
244
+ last_verified: &id009 2026-08-14
245
+ name_gate_exempt: true
246
+ notes: '2026-08-14: board token taken from this employer''s own application URL
247
+ in a feed posting, not from slug guessing; ashby publishes no board name, so the
248
+ name gate cannot confirm it and provenance is the evidence (2 job(s))'
249
+ - name: Genpact
250
+ platform: workday
251
+ slug: genpact
252
+ source_of_record: discover
253
+ last_verified: 2026-08-17
254
+ workday_tenant: genpact
255
+ workday_site: External_Careers
256
+ workday_dc: wd108
257
+ notes: '2026-08-17: coordinates found by browser-assisted discovery, then verified
258
+ by a scratch sync — the board answered with 21 posting(s)'
259
+ - name: Gensyn
260
+ platform: greenhouse
261
+ slug: gensyn
262
+ source_of_record: discover
263
+ last_verified: *id004
264
+ notes: '2026-08-16: seen in feed postings but absent from the registry; discover
265
+ matched greenhouse/gensyn with 3 job(s) and the board named itself, so it is polled
266
+ directly instead of secondhand'
267
+ - name: Genworth Financial
268
+ platform: workday
269
+ slug: gnw
270
+ source_of_record: discover
271
+ last_verified: *id002
272
+ workday_tenant: gnw
273
+ workday_site: GNW
274
+ workday_dc: wd1
275
+ notes: '2026-08-14: verified by a real sync — this board returned postings, which
276
+ is the only verification a Workday tenant can have without an offline probe'
277
+ - name: GeoComply
278
+ platform: lever
279
+ slug: geocomply-2
280
+ source_of_record: manual
281
+ last_verified: 2026-08-13
282
+ notes: '2026-08-13: official active internship application verifies the public Lever
283
+ board'
284
+ - name: Georgian Partners Growth
285
+ platform: ashby
286
+ slug: georgian
287
+ source_of_record: manual
288
+ last_verified: 2026-08-13
289
+ notes: '2026-08-13: official active AI/ML engineering internship application verifies
290
+ the public Ashby board.'
291
+ - name: GHGSat
292
+ platform: workable
293
+ slug: ghgsat
294
+ source_of_record: discover
295
+ last_verified: 2026-08-17
296
+ notes: '2026-08-17: found by browser-assisted discovery, then verified by a live
297
+ probe that matched the company name on the returned board.'
298
+ - name: Gigamon
299
+ platform: jobvite
300
+ slug: gigamon
301
+ source_of_record: openjobs
302
+ last_verified: 2026-08-21
303
+ notes: '2026-08-21: the Jobvite API answers 401, but jobs.jobvite.com/gigamon/jobs
304
+ server-renders all 28 postings, which is the contract this row polls'
305
+ - name: Gildan
306
+ platform: custom_json
307
+ slug: gildan
308
+ source_of_record: discover
309
+ last_verified: 2026-08-20
310
+ notes: The page publishes its whole listing as schema.org JobPosting blocks, which
311
+ carry the body and employment type its visible cards do not.
312
+ custom:
313
+ url: https://gildancorp.com/en/careers/open-positions/
314
+ format: jsonld
315
+ fields:
316
+ title: title
317
+ id: identifier.value
318
+ url: url
319
+ location: jobLocation.name
320
+ description: description
321
+ employment_type: employmentType
322
+ category: jobCategory
323
+ page_param: page
324
+ page_size: 10
325
+ page_start: 1
326
+ page_step: 1
327
+ max_pages: 10
328
+ - name: Gilead
329
+ platform: workday
330
+ slug: gilead
331
+ source_of_record: discover
332
+ last_verified: 2026-08-17
333
+ workday_tenant: gilead
334
+ workday_site: gileadcareers
335
+ workday_dc: wd1
336
+ notes: '2026-08-17: found by a plain-HTTP scan of the employer''s own careers page
337
+ for a known ATS hostname, no browser and one request per host.'
338
+ - name: Ginkgo Bioworks
339
+ platform: greenhouse
340
+ slug: ginkgobioworks
341
+ source_of_record: discover
342
+ last_verified: *id005
343
+ - name: GitHub
344
+ platform: custom_json
345
+ slug: github-jibe
346
+ source_of_record: discover
347
+ last_verified: 2026-08-21
348
+ notes: '2026-08-21: official early-career Jibe API returned 92 public job records;
349
+ canonical URLs are preserved.'
350
+ custom:
351
+ url: https://www.github.careers/api/jobs?limit=100
352
+ jobs_path: jobs
353
+ fields:
354
+ title: data.title
355
+ id: data.req_id
356
+ location: full_location
357
+ url: data.meta_data.canonical_url
358
+ description: data.description
359
+ category: data.categories.0.name
360
+ employment_type: data.employment_type
361
+ page_param: page
362
+ page_size: 100
363
+ page_start: 1
364
+ page_step: 1
365
+ max_pages: 2
366
+ - name: gitlab
367
+ platform: greenhouse
368
+ slug: gitlab
369
+ source_of_record: openjobs
370
+ last_verified: &id007 2026-08-14
371
+ - name: Glean
372
+ platform: greenhouse
373
+ slug: gleanwork
374
+ source_of_record: openjobs
375
+ last_verified: 2026-08-16
376
+ notes: '2026-08-16: ats_link recorded in the OpenJobs dataset, then verified by
377
+ a live probe that matched the company name on the returned board'
378
+ - name: Global Partners
379
+ platform: workday
380
+ slug: global
381
+ source_of_record: discover
382
+ last_verified: *id003
383
+ workday_tenant: global
384
+ workday_site: globalpartnerscareers
385
+ workday_dc: wd1
386
+ notes: '2026-08-16: coordinates taken from this employer''s own apply URL, then
387
+ verified by a scratch sync — the board answered with 1 posting(s), 1 kept after
388
+ the CS-internship screens'
389
+ - name: GlobalFoundries
390
+ platform: workday
391
+ slug: globalfoundries
392
+ source_of_record: discover
393
+ last_verified: *id002
394
+ workday_tenant: globalfoundries
395
+ workday_site: external
396
+ workday_dc: wd1
397
+ notes: '2026-08-14: verified by a real sync — this board returned postings, which
398
+ is the only verification a Workday tenant can have without an offline probe'
399
+ - name: Globalization Partners
400
+ platform: greenhouse
401
+ slug: globalizationpartners
402
+ source_of_record: openjobs
403
+ last_verified: &id006 2026-08-08
404
+ name_gate_exempt: true
405
+ notes: '2026-08-08: board publishes the name ''G-P''; the name gate rejects this
406
+ caption, and the board is confirmed correct'
407
+ - name: Gloss Genius
408
+ platform: greenhouse
409
+ slug: glossgenius
410
+ source_of_record: openjobs
411
+ last_verified: *id006
412
+ name_gate_exempt: true
413
+ notes: '2026-08-08: board publishes the name ''Genius AI''; the name gate rejects
414
+ this caption, and the board is confirmed correct'
415
+ - name: GOAT Group
416
+ platform: greenhouse
417
+ slug: goatgroup
418
+ source_of_record: openjobs
419
+ last_verified: *id007
420
+ - name: GoDaddy
421
+ platform: greenhouse
422
+ slug: godaddy
423
+ source_of_record: openjobs
424
+ last_verified: *id007
425
+ - name: Goldman Sachs
426
+ platform: custom_json
427
+ slug: goldmansachs
428
+ source_of_record: discover
429
+ last_verified: 2026-08-19
430
+ notes: Public GraphQL gateway, introspection open; experiences CAMPUS is the publisher's
431
+ own early-careers scope. Detail route /roles/[roleId] read from the app build
432
+ manifest.
433
+ custom:
434
+ url: https://api-higher.gs.com/gateway/api/v1/graphql
435
+ method: POST
436
+ body:
437
+ query: query($i:RoleSearchQueryInput!){roleSearch(searchQueryInput:$i){totalCount
438
+ items{roleId jobTitle division descriptionHtml lastPostedDate locations{city
439
+ state country}}}}
440
+ variables:
441
+ i:
442
+ page:
443
+ pageSize: 250
444
+ pageNumber: 0
445
+ experiences:
446
+ - CAMPUS
447
+ jobs_path: data.roleSearch.items
448
+ fields:
449
+ title: jobTitle
450
+ id: roleId
451
+ location: locations.0.city
452
+ description: descriptionHtml
453
+ department: division
454
+ url_template: https://higher.gs.com/roles/{id}
455
+ page_param: variables.i.page.pageNumber
456
+ page_size: 250
457
+ page_step: 1
458
+ max_pages: 6
459
+ - name: GoMotive
460
+ platform: greenhouse
461
+ slug: gomotive
462
+ source_of_record: openjobs
463
+ last_verified: *id006
464
+ name_gate_exempt: true
465
+ notes: '2026-08-08: board publishes the name ''Motive''; the name gate rejects this
466
+ caption, and the board is confirmed correct'
467
+ - name: Google
468
+ platform: recruitee
469
+ slug: google
470
+ source_of_record: discover
471
+ last_verified: *id005
472
+ enabled: false
473
+ notes: '2026-08-21: the recruitee tenant answers with the Senior Marketer (Sample)
474
+ demo posting, so it is not this employer; google.com/robots.txt disallows /about/careers/applications/jobs/results,
475
+ so no direct route exists'
476
+ - name: Grab
477
+ platform: smartrecruiters
478
+ slug: grab
479
+ source_of_record: discover
480
+ last_verified: *id008
481
+ - name: Grafana Labs
482
+ platform: greenhouse
483
+ slug: grafanalabs
484
+ source_of_record: discover
485
+ last_verified: 2026-08-21
486
+ notes: '2026-08-21: supplied URL is the employer’s Greenhouse board and returned
487
+ live postings.'
488
+ - name: Grant Thornton
489
+ platform: recruitee
490
+ slug: grantthornton
491
+ source_of_record: discover
492
+ last_verified: *id005
493
+ - name: Gritt Robotics Inc
494
+ platform: ashby
495
+ slug: gritt
496
+ source_of_record: discover
497
+ last_verified: *id009
498
+ name_gate_exempt: true
499
+ notes: '2026-08-14: board token taken from this employer''s own application URL
500
+ in a feed posting, not from slug guessing; ashby publishes no board name, so the
501
+ name gate cannot confirm it and provenance is the evidence (20 job(s))'
502
+ - name: Group 1001
503
+ platform: workday
504
+ slug: group1001wd
505
+ source_of_record: discover
506
+ last_verified: *id002
507
+ workday_tenant: group1001wd
508
+ workday_site: careers
509
+ workday_dc: wd5
510
+ notes: '2026-08-14: verified by a real sync — this board returned postings, which
511
+ is the only verification a Workday tenant can have without an offline probe'
512
+ - name: Group One Trading
513
+ platform: custom_json
514
+ slug: grouponetrading
515
+ source_of_record: discover
516
+ last_verified: 2026-08-20
517
+ enabled: false
518
+ notes: '2026-08-20: ApplicantPro tenant, identity confirmed from its own job pages.
519
+ Its sitemap holds 444 urls but only three postings and no titles, and the listing
520
+ renders client-side.'
521
+ custom:
522
+ url: https://group1.applicantpro.com/jobs/
523
+ fields:
524
+ title: title
525
+ id: id
526
+ - name: Groupe Dynamite
527
+ platform: custom_json
528
+ slug: groupe-dynamite
529
+ source_of_record: discover
530
+ last_verified: 2026-08-19
531
+ notes: Montreal retailer with a real tech team but no internships when added; 482
532
+ postings at 100 a page is 5 requests.
533
+ custom:
534
+ url: https://carrieres.dynamiteclothing.com/api/jobs?limit=100&sortBy=relevance&descending=false&internal=false
535
+ jobs_path: jobs
536
+ fields:
537
+ title: data.title
538
+ id: data.slug
539
+ location: data.full_location
540
+ description: data.description
541
+ url: data.apply_url
542
+ category: data.category
543
+ employment_type: data.employment_type
544
+ page_param: page
545
+ page_size: 100
546
+ page_start: 1
547
+ page_step: 1
548
+ max_pages: 10
549
+ - name: Groupon
550
+ platform: greenhouse
551
+ slug: groupon
552
+ source_of_record: openjobs
553
+ last_verified: 2026-08-11
554
+ - name: GSA
555
+ platform: greenhouse
556
+ slug: gsacapital
557
+ source_of_record: manual
558
+ last_verified: *id005
559
+ - name: GSK
560
+ platform: workday
561
+ slug: gsk
562
+ source_of_record: discover
563
+ last_verified: *id002
564
+ workday_tenant: gsk
565
+ workday_site: gskcareers
566
+ workday_dc: wd5
567
+ notes: '2026-08-14: verified by a real sync — this board returned postings, which
568
+ is the only verification a Workday tenant can have without an offline probe'
569
+ - name: GuideWell Mutual
570
+ platform: oracle_cloud
571
+ slug: fa-etum-saasfaprod1
572
+ source_of_record: discover
573
+ last_verified: *id003
574
+ oracle_host: fa-etum-saasfaprod1.fa.ocs.oraclecloud.com
575
+ oracle_site: CX_1
576
+ notes: '2026-08-16: coordinates taken from this employer''s own apply URL, then
577
+ verified by a scratch sync — the board answered with 3 posting(s), 1 kept after
578
+ the CS-internship screens'
579
+ - name: Gumloop
580
+ platform: ashby
581
+ slug: gumloop
582
+ source_of_record: discover
583
+ last_verified: *id009
584
+ name_gate_exempt: true
585
+ notes: '2026-08-14: board token taken from this employer''s own application URL
586
+ in a feed posting, not from slug guessing; ashby publishes no board name, so the
587
+ name gate cannot confirm it and provenance is the evidence (10 job(s))'
588
+ - name: Guru Studio
589
+ platform: bamboohr
590
+ slug: gurustudio
591
+ source_of_record: openjobs
592
+ last_verified: *id001
593
+ notes: '2026-08-11: enabled on slug evidence - bamboohr publishes no board name,
594
+ but the slug folds to the caption and the board returned 2 job(s)'
595
+ - name: Gusto
596
+ platform: greenhouse
597
+ slug: gusto
598
+ source_of_record: openjobs
599
+ last_verified: 2026-08-16
600
+ notes: '2026-08-16: ats_link recorded in the OpenJobs dataset, then verified by
601
+ a live probe that matched the company name on the returned board'