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,937 @@
1
+ - name: Mackenzie Investments
2
+ platform: custom_json
3
+ slug: mackenzieinvestments
4
+ source_of_record: discover
5
+ last_verified: 2026-09-01
6
+ notes: '2026-09-01: iCIMS serves no JSON, so this reads the search page. Verified
7
+ 20 postings including a Winter Intern 2027 Technology Engineering role.'
8
+ custom:
9
+ url: https://careersen-mackenzieinvestments.icims.com/jobs/search?ss=1&in_iframe=1
10
+ format: html
11
+ row_selector: div.row:has(a.iCIMS_Anchor)
12
+ fields:
13
+ title: a.iCIMS_Anchor h3
14
+ url: a.iCIMS_Anchor::attr(href)
15
+ location: .header.left span + span
16
+ - name: Mactores
17
+ platform: lever
18
+ slug: mactores
19
+ source_of_record: discover
20
+ last_verified: &id002 2026-08-14
21
+ name_gate_exempt: true
22
+ notes: '2026-08-14: board token taken from this employer''s own application URL
23
+ in a feed posting, not from slug guessing; lever publishes no board name, so the
24
+ name gate cannot confirm it and provenance is the evidence (34 job(s))'
25
+ - name: Maersk
26
+ platform: workday
27
+ slug: maersk
28
+ source_of_record: openjobs
29
+ last_verified: &id001 2026-08-14
30
+ recheck_after: &id003 2026-10-01
31
+ workday_tenant: maersk
32
+ workday_site: Maersk_Careers
33
+ workday_dc: wd3
34
+ notes: '2026-08-14: verified by a real sync — this board returned postings, which
35
+ is the only verification a Workday tenant can have without an offline probe'
36
+ - name: Magic School
37
+ platform: ashby
38
+ slug: magicschool
39
+ source_of_record: openjobs
40
+ last_verified: &id009 2026-08-11
41
+ notes: '2026-08-11: enabled on slug evidence - ashby publishes no board name, but
42
+ the slug folds to the caption and the board returned 1 job(s)'
43
+ - name: Magna
44
+ platform: workday
45
+ slug: magna
46
+ source_of_record: discover
47
+ last_verified: *id001
48
+ workday_tenant: magna
49
+ workday_site: magna
50
+ workday_dc: wd3
51
+ notes: '2026-08-14: verified by a real sync — this board returned postings, which
52
+ is the only verification a Workday tenant can have without an offline probe'
53
+ - name: Magnera Corporation
54
+ platform: icims
55
+ slug: magnera
56
+ source_of_record: discover
57
+ enabled: false
58
+ notes: '2026-08-20: re-probed with the careers-home route that opened AMD, Garmin
59
+ and Panasonic; this employer publishes no careers.<domain> site, and /api/jobs
60
+ on its icims.com host is 404.'
61
+ - name: Magnet Forensics
62
+ platform: lever
63
+ slug: magnetforensics
64
+ source_of_record: discover
65
+ last_verified: *id002
66
+ name_gate_exempt: true
67
+ notes: '2026-08-14: board token taken from this employer''s own application URL
68
+ in a feed posting, not from slug guessing; lever publishes no board name, so the
69
+ name gate cannot confirm it and provenance is the evidence (45 job(s))'
70
+ - name: Malt
71
+ platform: lever
72
+ slug: malt
73
+ source_of_record: discover
74
+ last_verified: *id002
75
+ name_gate_exempt: true
76
+ notes: '2026-08-14: board token taken from this employer''s own application URL
77
+ in a feed posting, not from slug guessing; lever publishes no board name, so the
78
+ name gate cannot confirm it and provenance is the evidence (33 job(s))'
79
+ - name: Man Group
80
+ platform: greenhouse
81
+ slug: mangroup
82
+ source_of_record: discover
83
+ last_verified: &id007 2026-08-17
84
+ notes: '2026-08-17: found by a plain-HTTP scan of the employer''s own careers page
85
+ for a known ATS hostname, no browser and one request per host.'
86
+ - name: Manex AI
87
+ platform: ashby
88
+ slug: manex
89
+ source_of_record: discover
90
+ last_verified: *id002
91
+ name_gate_exempt: true
92
+ notes: '2026-08-14: board token taken from this employer''s own application URL
93
+ in a feed posting, not from slug guessing; ashby publishes no board name, so the
94
+ name gate cannot confirm it and provenance is the evidence (11 job(s))'
95
+ - name: Mango
96
+ platform: workday
97
+ slug: mango
98
+ source_of_record: discover
99
+ last_verified: *id001
100
+ workday_tenant: mango
101
+ workday_site: mango_work_your_passion
102
+ workday_dc: wd3
103
+ notes: '2026-08-14: verified by a real sync — this board returned postings, which
104
+ is the only verification a Workday tenant can have without an offline probe'
105
+ - name: Manhattan Associates
106
+ platform: workday
107
+ slug: manh
108
+ source_of_record: discover
109
+ last_verified: *id001
110
+ workday_tenant: manh
111
+ workday_site: campus
112
+ workday_dc: wd5
113
+ notes: '2026-08-14: verified by a real sync — this board returned postings, which
114
+ is the only verification a Workday tenant can have without an offline probe'
115
+ - name: Manulife
116
+ platform: workday
117
+ slug: manulife
118
+ source_of_record: discover
119
+ last_verified: *id001
120
+ workday_tenant: manulife
121
+ workday_site: mfcjh_jobs
122
+ workday_dc: wd3
123
+ notes: '2026-08-14: verified by a real sync — this board returned postings, which
124
+ is the only verification a Workday tenant can have without an offline probe'
125
+ - name: Mapjects
126
+ platform: smartrecruiters
127
+ slug: mapjectscom
128
+ source_of_record: discover
129
+ last_verified: &id006 2026-08-14
130
+ - name: Marina Bay Sands
131
+ platform: workday
132
+ slug: marinabaysands
133
+ source_of_record: manual
134
+ last_verified: 2026-08-13
135
+ workday_tenant: marinabaysands
136
+ workday_site: external
137
+ workday_dc: wd102
138
+ workday_facet: workerSubType:7b4b2dfcb1cb1007495d5190db1f0000
139
+ notes: '2026-08-13: official Workday endpoint verified; its Intern (Fixed Term)
140
+ facet has 72 listings.'
141
+ - name: Marmon Holdings
142
+ platform: workday
143
+ slug: marmon
144
+ source_of_record: manual
145
+ last_verified: 2026-08-13
146
+ workday_tenant: marmon
147
+ workday_site: Marmon_MSIP_Internships
148
+ workday_dc: wd501
149
+ notes: '2026-08-13: official dedicated internship Workday board verified; it has
150
+ ten listings and no broad-board crawl.'
151
+ - name: Marqeta
152
+ platform: greenhouse
153
+ slug: marqeta
154
+ source_of_record: discover
155
+ last_verified: 2026-08-21
156
+ notes: '2026-08-21: official careers page resolves to the live Marqeta Greenhouse
157
+ board.'
158
+ - name: Marsh McLennan
159
+ platform: workday
160
+ slug: mmc
161
+ source_of_record: openjobs
162
+ last_verified: *id001
163
+ recheck_after: *id003
164
+ workday_tenant: mmc
165
+ workday_site: MMC
166
+ workday_dc: wd1
167
+ notes: '2026-08-14: verified by a real sync — this board returned postings, which
168
+ is the only verification a Workday tenant can have without an offline probe'
169
+ - name: Marshall Wace
170
+ platform: greenhouse
171
+ slug: mwinternshipprogram
172
+ source_of_record: discover
173
+ last_verified: &id004 2026-08-14
174
+ - name: Marvell
175
+ platform: workday
176
+ slug: marvell
177
+ source_of_record: openjobs
178
+ last_verified: 2026-08-03
179
+ workday_tenant: marvell
180
+ workday_site: MarvellCareers
181
+ workday_dc: wd1
182
+ - name: Mastercard
183
+ platform: workday
184
+ slug: mastercard
185
+ source_of_record: openjobs
186
+ last_verified: *id001
187
+ recheck_after: *id003
188
+ workday_tenant: mastercard
189
+ workday_site: CUOReqSite
190
+ workday_dc: wd1
191
+ notes: '2026-08-14: verified by a real sync — this board returned postings, which
192
+ is the only verification a Workday tenant can have without an offline probe'
193
+ - name: Mastercard
194
+ platform: workday
195
+ slug: mastercard
196
+ source_of_record: openjobs
197
+ last_verified: *id001
198
+ recheck_after: *id003
199
+ workday_tenant: mastercard
200
+ workday_site: CorporateCareers
201
+ workday_dc: wd1
202
+ notes: '2026-08-14: verified by a real sync — this board returned postings, which
203
+ is the only verification a Workday tenant can have without an offline probe'
204
+ - name: Masterclass
205
+ platform: greenhouse
206
+ slug: masterclass
207
+ source_of_record: openjobs
208
+ last_verified: &id005 2026-08-11
209
+ - name: Match Group
210
+ platform: lever
211
+ slug: matchgroup
212
+ source_of_record: openjobs
213
+ last_verified: &id008 2026-08-04
214
+ - name: MathWorks
215
+ platform: custom_json
216
+ slug: mathworks
217
+ source_of_record: discover
218
+ last_verified: 2026-08-20
219
+ enabled: false
220
+ notes: '2026-08-20: closed for good — AkamaiGHost Access Denied on the careers search,
221
+ rss.xml and sitemap.xml from the first request; a policy wall, not a gate we may
222
+ pass.'
223
+ custom:
224
+ url: https://www.mathworks.com/company/jobs/opportunities/search
225
+ fields:
226
+ title: title
227
+ id: id
228
+ - name: Matrox
229
+ platform: custom_json
230
+ slug: matrox
231
+ source_of_record: discover
232
+ last_verified: 2026-08-20
233
+ notes: '2026-08-20: UKG/UltiPro board named only by matrox.com/careers, which links
234
+ this exact board id; the search endpoint is POST-only.'
235
+ custom:
236
+ url: https://recruiting.ultipro.ca/MAT5002MARX/JobBoard/69a03e48-0d5a-46df-9cba-fbcc2c7a9dbc/JobBoardView/LoadSearchResults
237
+ method: POST
238
+ body:
239
+ opportunitySearch:
240
+ Top: 100
241
+ Skip: 0
242
+ QueryString: ''
243
+ OrderBy: []
244
+ Filters: []
245
+ jobs_path: opportunities
246
+ fields:
247
+ title: Title
248
+ id: Id
249
+ location: Locations.0.Address.City
250
+ category: JobCategoryName
251
+ description: BriefDescription
252
+ url_template: https://recruiting.ultipro.ca/MAT5002MARX/JobBoard/69a03e48-0d5a-46df-9cba-fbcc2c7a9dbc/OpportunityDetail?opportunityId={id}
253
+ - name: Maven Securities
254
+ platform: greenhouse
255
+ slug: mavensecuritiesholdingltd
256
+ source_of_record: manual
257
+ last_verified: *id004
258
+ - name: Mavericks VFX
259
+ platform: bamboohr
260
+ slug: mavericksvfx
261
+ source_of_record: openjobs
262
+ enabled: false
263
+ notes: '2026-08-08: bamboohr publishes no board name, so a 200 with jobs is not
264
+ evidence of the right company; needs a human to open the board once'
265
+ - name: Maxima
266
+ platform: ashby
267
+ slug: maxima
268
+ source_of_record: discover
269
+ last_verified: *id002
270
+ name_gate_exempt: true
271
+ notes: '2026-08-14: board token taken from this employer''s own application URL
272
+ in a feed posting, not from slug guessing; ashby publishes no board name, so the
273
+ name gate cannot confirm it and provenance is the evidence (24 job(s))'
274
+ - name: MCG Health
275
+ platform: greenhouse
276
+ slug: mcghealth
277
+ source_of_record: discover
278
+ last_verified: *id004
279
+ - name: McGill University
280
+ platform: workday
281
+ slug: mcgill
282
+ source_of_record: discover
283
+ last_verified: 2026-08-13
284
+ workday_tenant: mcgill
285
+ workday_site: mcgill_careers
286
+ workday_dc: wd3
287
+ workday_facet: workerSubType:5b8bbc1be9ca01b84e1ed240de00830e
288
+ notes: '2026-08-13: verified public Student (Fixed Term) facet; Stage retains only
289
+ CS, software, data, and research roles after bilingual screening'
290
+ - name: McKesson
291
+ platform: workday
292
+ slug: mckesson
293
+ source_of_record: discover
294
+ last_verified: *id001
295
+ workday_tenant: mckesson
296
+ workday_site: External_Careers
297
+ workday_dc: wd3
298
+ notes: '2026-08-14: verified by a real sync — this board returned postings, which
299
+ is the only verification a Workday tenant can have without an offline probe'
300
+ - name: McKinsey
301
+ platform: custom_json
302
+ slug: mckinsey
303
+ source_of_record: discover
304
+ last_verified: 2026-08-20
305
+ notes: www.mckinsey.com times out for our client, but its jobs api is on gateway.mckinsey.com;
306
+ q=internship returns all 63 in one request.
307
+ custom:
308
+ url: https://gateway.mckinsey.com/apigw-x0cceuow60/v1/api/jobs/search?pageSize=100&start=1&lang=en&q=internship
309
+ headers:
310
+ Origin: https://www.mckinsey.com
311
+ Referer: https://www.mckinsey.com/careers/search-jobs
312
+ jobs_path: docs
313
+ fields:
314
+ title: title
315
+ id: jobID
316
+ location: cities
317
+ url: jobApplyURL
318
+ category: interestCategory
319
+ - name: MDA
320
+ platform: custom_json
321
+ slug: mda
322
+ source_of_record: discover
323
+ last_verified: 2026-08-20
324
+ notes: UKG/UltiPro board; the MAC5000MCDW tenant is MacDonald Dettwiler, and its
325
+ six postings are all student terms.
326
+ custom:
327
+ url: https://recruiting.ultipro.ca/MAC5000MCDW/JobBoard/7667adcc-47ae-477a-9183-0d8ef8bc0748/JobBoardView/LoadSearchResults
328
+ method: POST
329
+ body:
330
+ opportunitySearch:
331
+ Top: 50
332
+ Skip: 0
333
+ QueryString: ''
334
+ OrderBy:
335
+ - Value: postedDateDesc
336
+ PropertyName: PostedDate
337
+ Ascending: false
338
+ Filters:
339
+ - t: TermsSearchFilterDto
340
+ fieldName: 4
341
+ extra: null
342
+ values: []
343
+ matchCriteria:
344
+ PreferredJobs: []
345
+ Educations: []
346
+ LicenseAndCertifications: []
347
+ Skills: []
348
+ hasNoLicenses: false
349
+ SkippedSkills: []
350
+ headers:
351
+ Referer: https://recruiting.ultipro.ca/MAC5000MCDW/JobBoard/7667adcc-47ae-477a-9183-0d8ef8bc0748
352
+ Origin: https://recruiting.ultipro.ca
353
+ jobs_path: opportunities
354
+ fields:
355
+ title: Title
356
+ id: Id
357
+ location: Locations.0.LocalizedDescription
358
+ description: BriefDescription
359
+ category: JobCategoryName
360
+ url_template: https://recruiting.ultipro.ca/MAC5000MCDW/JobBoard/7667adcc-47ae-477a-9183-0d8ef8bc0748/OpportunityDetail?opportunityId={id}
361
+ page_param: opportunitySearch.Skip
362
+ page_size: 50
363
+ page_step: 50
364
+ max_pages: 4
365
+ - name: Mediatonic Games
366
+ platform: greenhouse
367
+ slug: mediatonic
368
+ source_of_record: openjobs
369
+ enabled: false
370
+ notes: '2026-08-08: probed — board answers 200 with zero postings, which §5.3 treats
371
+ as a token that does not exist; re-check if the employer relaunches Re-probed
372
+ 2026-08-14 and still dead.'
373
+ - name: Medical Informatics Engineering
374
+ platform: greenhouse
375
+ slug: medicalinformaticsengineering
376
+ source_of_record: discover
377
+ last_verified: *id004
378
+ - name: Medline
379
+ platform: workday
380
+ slug: medline
381
+ source_of_record: discover
382
+ last_verified: 2026-08-16
383
+ workday_tenant: medline
384
+ workday_site: Medline
385
+ workday_dc: wd5
386
+ notes: '2026-08-16: coordinates taken from this employer''s own apply URL, then
387
+ verified by a scratch sync (7 posting(s), 0 kept)'
388
+ - name: Medtronic
389
+ platform: workday
390
+ slug: medtronic
391
+ source_of_record: discover
392
+ last_verified: *id001
393
+ workday_tenant: medtronic
394
+ workday_site: medtroniccareers
395
+ workday_dc: wd1
396
+ notes: '2026-08-14: verified by a real sync — this board returned postings, which
397
+ is the only verification a Workday tenant can have without an offline probe'
398
+ - name: Megazebra
399
+ platform: bamboohr
400
+ slug: megazebragmbh
401
+ source_of_record: openjobs
402
+ enabled: false
403
+ notes: '2026-08-08: bamboohr publishes no board name, so a 200 with jobs is not
404
+ evidence of the right company; needs a human to open the board once'
405
+ - name: Melius
406
+ platform: ashby
407
+ slug: melius
408
+ source_of_record: manual
409
+ last_verified: 2026-08-13
410
+ notes: '2026-08-13: official active software-engineering internship application
411
+ verifies the public Ashby board'
412
+ - name: Melotech
413
+ platform: ashby
414
+ slug: melotech
415
+ source_of_record: manual
416
+ last_verified: 2026-08-13
417
+ notes: '2026-08-13: official active AI/ML engineering internship application verifies
418
+ the public Ashby board.'
419
+ - name: Menasha Corporation
420
+ platform: workday
421
+ slug: menasha
422
+ source_of_record: discover
423
+ last_verified: *id001
424
+ workday_tenant: menasha
425
+ workday_site: menashacorp
426
+ workday_dc: wd12
427
+ notes: '2026-08-14: verified by a real sync — this board returned postings, which
428
+ is the only verification a Workday tenant can have without an offline probe'
429
+ - name: Mercari, inc.
430
+ platform: workable
431
+ slug: mercari
432
+ source_of_record: discover
433
+ last_verified: 2026-08-17
434
+ notes: '2026-08-14: paused after two 429s in one day, the second after 7 requests;
435
+ paused_until resumed it.'
436
+ - name: Mercedes-Benz Tech Innovation
437
+ platform: workday
438
+ slug: mercedesbenztechinnovation
439
+ source_of_record: discover
440
+ last_verified: *id001
441
+ workday_tenant: mercedesbenztechinnovation
442
+ workday_site: mbti_jobportal
443
+ workday_dc: wd3
444
+ notes: '2026-08-14: verified by a real sync — this board returned postings, which
445
+ is the only verification a Workday tenant can have without an offline probe'
446
+ - name: Mercury
447
+ platform: greenhouse
448
+ slug: mercury
449
+ source_of_record: openjobs
450
+ last_verified: *id005
451
+ - name: Merkle Science
452
+ platform: lever
453
+ slug: merklescience
454
+ source_of_record: discover
455
+ last_verified: *id002
456
+ name_gate_exempt: true
457
+ notes: '2026-08-14: board token taken from this employer''s own application URL
458
+ in a feed posting, not from slug guessing; lever publishes no board name, so the
459
+ name gate cannot confirm it and provenance is the evidence (25 job(s))'
460
+ - name: Meshy
461
+ platform: ashby
462
+ slug: meshy
463
+ source_of_record: discover
464
+ last_verified: *id002
465
+ name_gate_exempt: true
466
+ notes: '2026-08-14: board token taken from this employer''s own application URL
467
+ in a feed posting, not from slug guessing; ashby publishes no board name, so the
468
+ name gate cannot confirm it and provenance is the evidence (23 job(s))'
469
+ - name: Meta
470
+ platform: bamboohr
471
+ slug: meta
472
+ source_of_record: openjobs
473
+ enabled: false
474
+ notes: robots.txt forbids automated collection and Meta serves 400 or 403 even to
475
+ its own advertised job sitemap.
476
+ - name: META4
477
+ platform: smartrecruiters
478
+ slug: meta4
479
+ source_of_record: openjobs
480
+ last_verified: *id006
481
+ - name: Metaphor
482
+ platform: ashby
483
+ slug: exa
484
+ source_of_record: discover
485
+ last_verified: *id002
486
+ name_gate_exempt: true
487
+ notes: '2026-08-14: board token taken from this employer''s own application URL
488
+ in a feed posting, not from slug guessing; ashby publishes no board name, so the
489
+ name gate cannot confirm it and provenance is the evidence (50 job(s))'
490
+ - name: Metropolitan Transportation Authority
491
+ platform: jobvite
492
+ slug: metropolitantransportationauthority
493
+ source_of_record: discover
494
+ last_verified: 2026-08-21
495
+ notes: '2026-08-21: the Jobvite API answers 401, but jobs.jobvite.com/metropolitantransportationauthority/jobs
496
+ server-renders all 215 postings, which is the contract this row polls'
497
+ - name: Microchip Technology
498
+ platform: smartrecruiters
499
+ slug: microchip
500
+ source_of_record: discover
501
+ last_verified: *id006
502
+ - name: Micron Technology
503
+ platform: workday
504
+ slug: micron
505
+ source_of_record: discover
506
+ last_verified: *id001
507
+ workday_tenant: micron
508
+ workday_site: External
509
+ workday_dc: wd1
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: Microsoft
513
+ platform: custom_json
514
+ slug: microsoft
515
+ source_of_record: discover
516
+ last_verified: 2026-08-17
517
+ notes: Custom JSON listing; url_template added after kept postings were found pointing
518
+ at the listing API.
519
+ custom:
520
+ url: https://apply.careers.microsoft.com/api/pcsx/search?domain=microsoft.com&query=&start=0&sort_by=relevance&filter_seniority=Intern
521
+ jobs_path: data.positions
522
+ fields:
523
+ title: name
524
+ id: id
525
+ location: locations
526
+ category: department
527
+ url_template: https://apply.careers.microsoft.com/careers/job/{id}
528
+ page_param: start
529
+ page_size: 10
530
+ max_pages: 20
531
+ - name: Midjourney
532
+ platform: ashby
533
+ slug: midjourney
534
+ source_of_record: discover
535
+ last_verified: 2026-08-17
536
+ notes: '2026-08-17: discover --verify returned 16 jobs and needs-a-manual-check,
537
+ which is the expected Ashby verdict since Ashby publishes no board name.'
538
+ - name: Miele
539
+ platform: workday
540
+ slug: miele
541
+ source_of_record: discover
542
+ last_verified: 2026-08-16
543
+ workday_tenant: miele
544
+ workday_site: miele-jobs
545
+ workday_dc: wd3
546
+ notes: '2026-08-16: coordinates taken from this employer''s own apply URL, then
547
+ verified by a scratch sync — the board answered with 29 posting(s), 1 kept after
548
+ the CS-internship screens'
549
+ - name: Mila
550
+ platform: workable
551
+ slug: mila-2
552
+ source_of_record: discover
553
+ last_verified: 2026-08-17
554
+ notes: '2026-08-14: paused after two 429s in one day, the second after 7 requests;
555
+ paused_until resumed it.'
556
+ - name: Millennium Management
557
+ platform: custom_json
558
+ slug: millennium
559
+ source_of_record: discover
560
+ last_verified: 2026-08-20
561
+ notes: '2026-08-20: Eightfold tenant whose pcsx search is disabled, so the older
562
+ apply/v2 listing is the contract, as on the NetApp row.'
563
+ custom:
564
+ url: https://mlp.eightfold.ai/api/apply/v2/jobs?domain=mlp.com&num=10
565
+ jobs_path: positions
566
+ fields:
567
+ title: name
568
+ id: id
569
+ url: canonicalPositionUrl
570
+ location: location
571
+ department: department
572
+ description: job_description
573
+ page_param: start
574
+ page_size: 10
575
+ max_pages: 30
576
+ - name: Millicom
577
+ platform: workday
578
+ slug: tigo
579
+ source_of_record: discover
580
+ last_verified: *id001
581
+ workday_tenant: tigo
582
+ workday_site: tigocareers
583
+ workday_dc: wd103
584
+ notes: '2026-08-14: verified by a real sync — this board returned postings, which
585
+ is the only verification a Workday tenant can have without an offline probe'
586
+ - name: Mimecast
587
+ platform: workday
588
+ slug: mimecast
589
+ source_of_record: openjobs
590
+ last_verified: *id001
591
+ recheck_after: *id003
592
+ workday_tenant: mimecast
593
+ workday_site: Mimecast-Careers
594
+ workday_dc: wd5
595
+ notes: '2026-08-14: verified by a real sync — this board returned postings, which
596
+ is the only verification a Workday tenant can have without an offline probe'
597
+ - name: mino games
598
+ platform: teamtailor
599
+ slug: minogames
600
+ source_of_record: openjobs
601
+ enabled: false
602
+ notes: '2026-08-14: one row, below any adapter threshold; custom_json is the route'
603
+ - name: Miovision
604
+ platform: ashby
605
+ slug: miovision
606
+ source_of_record: discover
607
+ last_verified: *id007
608
+ notes: '2026-08-17: found by careers-page ATS scan, one plain GET. verify returned
609
+ 10 jobs and needs-a-manual-check, the expected verdict where the platform publishes
610
+ no board name; token equals the company name'
611
+ - name: Miratech
612
+ platform: smartrecruiters
613
+ slug: miratech1
614
+ source_of_record: openjobs
615
+ last_verified: *id006
616
+ - name: Miro
617
+ platform: custom_json
618
+ slug: miro
619
+ source_of_record: discover
620
+ last_verified: 2026-08-17
621
+ notes: Browser-discovered endpoint with no url field or template, so postings would
622
+ carry the listing API as their apply link.
623
+ custom:
624
+ url: https://miro.com/careers/_next/data/sfeejaVaUTHQbAWYZcG8m/en/open-positions.json
625
+ jobs_path: pageProps.jobs
626
+ fields:
627
+ title: title
628
+ id: id
629
+ location: location
630
+ department: departmentName
631
+ url_template: https://miro.com/careers/vacancy/{id}/
632
+ - name: Mistplay
633
+ platform: lever
634
+ slug: mistplay
635
+ source_of_record: openjobs
636
+ last_verified: *id008
637
+ - name: Mistral AI
638
+ platform: ashby
639
+ slug: mistral.ai
640
+ source_of_record: manual
641
+ last_verified: 2026-08-13
642
+ notes: '2026-08-13: official active applied-science internship application verifies
643
+ the public Ashby board.'
644
+ - name: MITRE
645
+ platform: custom_json
646
+ slug: mitre
647
+ source_of_record: discover
648
+ last_verified: 2026-08-20
649
+ notes: '2026-08-20: its Workday CXS site answers 200 with total=0, so the Phenom
650
+ widget behind careers.mitre.org is the real listing; fetched unfiltered because
651
+ keywords drops titles.'
652
+ custom:
653
+ url: https://careers.mitre.org/widgets
654
+ method: POST
655
+ body:
656
+ lang: en_us
657
+ deviceType: desktop
658
+ country: us
659
+ pageName: search-results
660
+ ddoKey: refineSearch
661
+ from: 0
662
+ size: 10
663
+ jobs: true
664
+ counts: true
665
+ all_fields:
666
+ - category
667
+ - country
668
+ - type
669
+ keywords: ''
670
+ siteType: external
671
+ clearAll: false
672
+ selected_fields: {}
673
+ locationData: {}
674
+ sortBy: ''
675
+ subsearch: ''
676
+ jobs_path: refineSearch.data.jobs
677
+ fields:
678
+ title: title
679
+ id: jobSeqNo
680
+ location: location
681
+ url: applyUrl
682
+ description: descriptionTeaser
683
+ category: category
684
+ department: department
685
+ page_param: from
686
+ page_size: 10
687
+ max_pages: 40
688
+ - name: Mitsubishi Heavy Industries
689
+ platform: custom_json
690
+ slug: mhi
691
+ source_of_record: discover
692
+ last_verified: 2026-08-20
693
+ notes: SuccessFactors RMK; /rss.xml carries all 353 postings, 12 of them internship
694
+ or Werkstudent terms.
695
+ custom:
696
+ url: https://mhicareers.com/rss.xml
697
+ format: rss
698
+ fields:
699
+ title: title
700
+ id: g:id
701
+ url: link
702
+ location: g:location
703
+ description: description
704
+ category: g:job_function
705
+ - name: MixMob
706
+ platform: smartrecruiters
707
+ slug: mixmob
708
+ source_of_record: openjobs
709
+ last_verified: *id006
710
+ - name: Mixpanel
711
+ platform: greenhouse
712
+ slug: mixpanel
713
+ source_of_record: openjobs
714
+ last_verified: 2026-08-16
715
+ notes: '2026-08-16: ats_link recorded in the OpenJobs dataset, then verified by
716
+ a live probe that matched the company name on the returned board'
717
+ - name: Mizuho Securities USA
718
+ platform: workday
719
+ slug: mizuho
720
+ source_of_record: discover
721
+ last_verified: *id001
722
+ workday_tenant: mizuho
723
+ workday_site: Mizuho_Confidential
724
+ workday_dc: wd1
725
+ notes: '2026-08-14: verified by a real sync — this board returned postings, which
726
+ is the only verification a Workday tenant can have without an offline probe'
727
+ - name: Mobius Renewables
728
+ platform: greenhouse
729
+ slug: mobius
730
+ source_of_record: discover
731
+ last_verified: *id004
732
+ - name: Modal
733
+ platform: ashby
734
+ slug: modal
735
+ source_of_record: discover
736
+ last_verified: *id002
737
+ name_gate_exempt: true
738
+ notes: '2026-08-14: board token taken from this employer''s own application URL
739
+ in a feed posting, not from slug guessing; ashby publishes no board name, so the
740
+ name gate cannot confirm it and provenance is the evidence (30 job(s))'
741
+ - name: Moderna
742
+ platform: workday
743
+ slug: modernatx
744
+ source_of_record: discover
745
+ last_verified: *id007
746
+ workday_tenant: modernatx
747
+ workday_site: M_tx
748
+ workday_dc: wd1
749
+ notes: '2026-08-17: found by a plain-HTTP scan of the employer''s own careers page
750
+ for a known ATS hostname, no browser and one request per host.'
751
+ - name: Moloco
752
+ platform: greenhouse
753
+ slug: moloco
754
+ source_of_record: discover
755
+ last_verified: *id004
756
+ - name: Molson Coors
757
+ platform: custom_json
758
+ slug: molsoncoors
759
+ source_of_record: discover
760
+ last_verified: 2026-08-20
761
+ notes: Phenom POST /widgets, fetched unfiltered; the board carries French Montreal
762
+ postings.
763
+ custom:
764
+ url: https://careers.molsoncoors.com/widgets
765
+ method: POST
766
+ body:
767
+ lang: en_global
768
+ deviceType: desktop
769
+ country: global
770
+ pageName: search-results
771
+ ddoKey: refineSearch
772
+ from: 0
773
+ size: 100
774
+ jobs: true
775
+ counts: true
776
+ all_fields:
777
+ - category
778
+ - country
779
+ - type
780
+ keywords: ''
781
+ siteType: external
782
+ clearAll: false
783
+ selected_fields: {}
784
+ locationData: {}
785
+ sortBy: ''
786
+ subsearch: ''
787
+ jobs_path: refineSearch.data.jobs
788
+ fields:
789
+ title: title
790
+ id: jobSeqNo
791
+ location: location
792
+ url: applyUrl
793
+ description: descriptionTeaser
794
+ category: category
795
+ department: department
796
+ page_param: from
797
+ page_size: 100
798
+ max_pages: 4
799
+ - name: Moment Energy
800
+ platform: greenhouse
801
+ slug: momentenergy
802
+ source_of_record: discover
803
+ last_verified: *id004
804
+ - name: MongoDB
805
+ platform: greenhouse
806
+ slug: mongodb
807
+ source_of_record: discover
808
+ last_verified: *id004
809
+ - name: Monolithic Power Systems
810
+ platform: workday
811
+ slug: monolithicpower
812
+ source_of_record: discover
813
+ last_verified: *id001
814
+ workday_tenant: monolithicpower
815
+ workday_site: MPS_Careers
816
+ workday_dc: wd12
817
+ notes: '2026-08-14: verified by a real sync — this board returned postings, which
818
+ is the only verification a Workday tenant can have without an offline probe'
819
+ - name: Montenson
820
+ platform: oracle_cloud
821
+ slug: montenson
822
+ source_of_record: manual
823
+ last_verified: 2026-08-13
824
+ oracle_host: fa-esgu-saasfaprod1.fa.ocs.oraclecloud.com
825
+ oracle_site: CX_1
826
+ notes: '2026-08-13: official Oracle candidate JSON verified; it currently has 61
827
+ internship results.'
828
+ - name: Moog
829
+ platform: workday
830
+ slug: moog
831
+ source_of_record: manual
832
+ last_verified: 2026-08-13
833
+ workday_tenant: moog
834
+ workday_site: moog_external_career_site
835
+ workday_dc: wd5
836
+ workday_facet: workerSubType:5601b8111949102e1147d236ce4a0000,5601b8111949102e1147d2d08ef60000
837
+ notes: '2026-08-13: official Workday endpoint verified; its intern/co-op and student
838
+ facets total six listings.'
839
+ - name: Moon
840
+ platform: greenhouse
841
+ slug: moon
842
+ source_of_record: discover
843
+ last_verified: *id004
844
+ - name: Morgan Stanley
845
+ platform: custom_json
846
+ slug: morgan-stanley
847
+ source_of_record: discover
848
+ last_verified: 2026-08-17
849
+ notes: '2026-08-17: endpoint found by browser-assisted discovery from https://www.morganstanley.com/careers/career-opportunities-search?oppo,
850
+ then replayed over plain HTTP with no browser.'
851
+ custom:
852
+ url: https://www.morganstanley.com/web/career_services/webapp/service/careerservice/resultset.json?&opportunity=sg&lang=EN&location=
853
+ jobs_path: resultSet
854
+ fields:
855
+ title: jobTitle
856
+ location: location
857
+ url: url
858
+ employment_type: employmentType
859
+ - name: Morning Star
860
+ platform: workday
861
+ slug: morningstar
862
+ source_of_record: openjobs
863
+ last_verified: *id001
864
+ recheck_after: *id003
865
+ workday_tenant: morningstar
866
+ workday_site: Americas
867
+ workday_dc: wd5
868
+ notes: '2026-08-14: verified by a real sync — this board returned postings, which
869
+ is the only verification a Workday tenant can have without an offline probe'
870
+ - name: Motorola solutions
871
+ platform: workday
872
+ slug: motorolasolutions
873
+ source_of_record: openjobs
874
+ last_verified: *id001
875
+ recheck_after: *id003
876
+ workday_tenant: motorolasolutions
877
+ workday_site: Careers
878
+ workday_dc: wd5
879
+ notes: '2026-08-14: verified by a real sync — this board returned postings, which
880
+ is the only verification a Workday tenant can have without an offline probe'
881
+ - name: Mozilla
882
+ platform: greenhouse
883
+ slug: mozilla
884
+ source_of_record: openjobs
885
+ last_verified: *id005
886
+ - name: MPR Associates
887
+ platform: icims
888
+ slug: mpr
889
+ source_of_record: discover
890
+ enabled: false
891
+ notes: '2026-08-20: re-probed with the careers-home route that opened AMD, Garmin
892
+ and Panasonic; this employer publishes no careers.<domain> site, and /api/jobs
893
+ on its icims.com host is 404.'
894
+ - name: MSD
895
+ platform: workday
896
+ slug: msd
897
+ source_of_record: discover
898
+ last_verified: *id001
899
+ workday_tenant: msd
900
+ workday_site: searchjobs
901
+ workday_dc: wd5
902
+ notes: '2026-08-14: verified by a real sync — this board returned postings, which
903
+ is the only verification a Workday tenant can have without an offline probe'
904
+ - name: Mujin
905
+ platform: bamboohr
906
+ slug: mujin
907
+ source_of_record: discover
908
+ last_verified: *id002
909
+ name_gate_exempt: true
910
+ notes: '2026-08-14: board token taken from this employer''s own application URL
911
+ in a feed posting, not from slug guessing; bamboohr publishes no board name, so
912
+ the name gate cannot confirm it and provenance is the evidence (28 job(s))'
913
+ - name: Multiply Labs
914
+ platform: lever
915
+ slug: multiplylabs
916
+ source_of_record: discover
917
+ last_verified: *id002
918
+ name_gate_exempt: true
919
+ notes: '2026-08-14: board token taken from this employer''s own application URL
920
+ in a feed posting, not from slug guessing; lever publishes no board name, so the
921
+ name gate cannot confirm it and provenance is the evidence (6 job(s))'
922
+ - name: MyJunior AI
923
+ platform: ashby
924
+ slug: junior
925
+ source_of_record: discover
926
+ last_verified: *id002
927
+ name_gate_exempt: true
928
+ notes: '2026-08-14: board token taken from this employer''s own application URL
929
+ in a feed posting, not from slug guessing; ashby publishes no board name, so the
930
+ name gate cannot confirm it and provenance is the evidence (18 job(s))'
931
+ - name: Mythic Talent
932
+ platform: bamboohr
933
+ slug: mythictalent
934
+ source_of_record: openjobs
935
+ last_verified: *id009
936
+ notes: '2026-08-11: enabled on slug evidence - bamboohr publishes no board name,
937
+ but the slug folds to the caption and the board returned 2 job(s)'