atsfill 0.0.4.dev17__tar.gz → 0.0.4.dev18__tar.gz

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 (25) hide show
  1. {atsfill-0.0.4.dev17 → atsfill-0.0.4.dev18}/PKG-INFO +2 -2
  2. {atsfill-0.0.4.dev17 → atsfill-0.0.4.dev18}/README.md +1 -1
  3. {atsfill-0.0.4.dev17 → atsfill-0.0.4.dev18}/pyproject.toml +1 -1
  4. {atsfill-0.0.4.dev17 → atsfill-0.0.4.dev18}/pyproject.toml.orig +1 -1
  5. {atsfill-0.0.4.dev17 → atsfill-0.0.4.dev18}/src/atsfill/core/registry.py +8 -1
  6. atsfill-0.0.4.dev18/src/atsfill/registry.toml +376 -0
  7. atsfill-0.0.4.dev17/src/atsfill/registry.toml +0 -46
  8. {atsfill-0.0.4.dev17 → atsfill-0.0.4.dev18}/LICENSE +0 -0
  9. {atsfill-0.0.4.dev17 → atsfill-0.0.4.dev18}/src/atsfill/__init__.py +0 -0
  10. {atsfill-0.0.4.dev17 → atsfill-0.0.4.dev18}/src/atsfill/adapters/__init__.py +0 -0
  11. {atsfill-0.0.4.dev17 → atsfill-0.0.4.dev18}/src/atsfill/adapters/ashby.py +0 -0
  12. {atsfill-0.0.4.dev17 → atsfill-0.0.4.dev18}/src/atsfill/adapters/greenhouse.py +0 -0
  13. {atsfill-0.0.4.dev17 → atsfill-0.0.4.dev18}/src/atsfill/adapters/teamtailor.py +0 -0
  14. {atsfill-0.0.4.dev17 → atsfill-0.0.4.dev18}/src/atsfill/adapters/wttj.py +0 -0
  15. {atsfill-0.0.4.dev17 → atsfill-0.0.4.dev18}/src/atsfill/cli.py +0 -0
  16. {atsfill-0.0.4.dev17 → atsfill-0.0.4.dev18}/src/atsfill/core/__init__.py +0 -0
  17. {atsfill-0.0.4.dev17 → atsfill-0.0.4.dev18}/src/atsfill/core/accounts.py +0 -0
  18. {atsfill-0.0.4.dev17 → atsfill-0.0.4.dev18}/src/atsfill/core/adapter.py +0 -0
  19. {atsfill-0.0.4.dev17 → atsfill-0.0.4.dev18}/src/atsfill/core/attempts.py +0 -0
  20. {atsfill-0.0.4.dev17 → atsfill-0.0.4.dev18}/src/atsfill/core/browser.py +0 -0
  21. {atsfill-0.0.4.dev17 → atsfill-0.0.4.dev18}/src/atsfill/core/commands.py +0 -0
  22. {atsfill-0.0.4.dev17 → atsfill-0.0.4.dev18}/src/atsfill/core/matching.py +0 -0
  23. {atsfill-0.0.4.dev17 → atsfill-0.0.4.dev18}/src/atsfill/core/paths.py +0 -0
  24. {atsfill-0.0.4.dev17 → atsfill-0.0.4.dev18}/src/atsfill/core/results.py +0 -0
  25. {atsfill-0.0.4.dev17 → atsfill-0.0.4.dev18}/src/atsfill/py.typed +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: atsfill
3
- Version: 0.0.4.dev17
3
+ Version: 0.0.4.dev18
4
4
  Summary: Read, dry-run and submit job application forms on hiring systems: Ashby, Greenhouse, Teamtailor, Welcome to the Jungle.
5
5
  Keywords: job-applications,ats,ashby,greenhouse,teamtailor,ai-agents,cli
6
6
  Author: shbernal
@@ -53,7 +53,7 @@ It is built for agents with a shell: every command prints one JSON document and
53
53
  ## Supported hiring systems
54
54
 
55
55
  <!-- badges -->
56
- ![ashby: send verified 2026-10-19](https://img.shields.io/badge/ashby-send%20verified%202026--10--19-9ece6a) ![greenhouse: dry run verified 2026-10-19](https://img.shields.io/badge/greenhouse-dry%20run%20verified%202026--10--19-7aa2f7) ![teamtailor: send verified 2026-10-20](https://img.shields.io/badge/teamtailor-send%20verified%202026--10--20-9ece6a) ![wttj: send verified 2026-10-20](https://img.shields.io/badge/wttj-send%20verified%202026--10--20-9ece6a)
56
+ ![greenhouse: dry run verified 2026-10-19](https://img.shields.io/badge/greenhouse-dry%20run%20verified%202026--10--19-7aa2f7) ![ashby: send verified 2026-10-19](https://img.shields.io/badge/ashby-send%20verified%202026--10--19-9ece6a) ![teamtailor: send verified 2026-10-20](https://img.shields.io/badge/teamtailor-send%20verified%202026--10--20-9ece6a) ![wttj: send verified 2026-10-20](https://img.shields.io/badge/wttj-send%20verified%202026--10--20-9ece6a)
57
57
  <!-- /badges -->
58
58
 
59
59
  | System | Account needed | `read` without a browser |
@@ -29,7 +29,7 @@ It is built for agents with a shell: every command prints one JSON document and
29
29
  ## Supported hiring systems
30
30
 
31
31
  <!-- badges -->
32
- ![ashby: send verified 2026-10-19](https://img.shields.io/badge/ashby-send%20verified%202026--10--19-9ece6a) ![greenhouse: dry run verified 2026-10-19](https://img.shields.io/badge/greenhouse-dry%20run%20verified%202026--10--19-7aa2f7) ![teamtailor: send verified 2026-10-20](https://img.shields.io/badge/teamtailor-send%20verified%202026--10--20-9ece6a) ![wttj: send verified 2026-10-20](https://img.shields.io/badge/wttj-send%20verified%202026--10--20-9ece6a)
32
+ ![greenhouse: dry run verified 2026-10-19](https://img.shields.io/badge/greenhouse-dry%20run%20verified%202026--10--19-7aa2f7) ![ashby: send verified 2026-10-19](https://img.shields.io/badge/ashby-send%20verified%202026--10--19-9ece6a) ![teamtailor: send verified 2026-10-20](https://img.shields.io/badge/teamtailor-send%20verified%202026--10--20-9ece6a) ![wttj: send verified 2026-10-20](https://img.shields.io/badge/wttj-send%20verified%202026--10--20-9ece6a)
33
33
  <!-- /badges -->
34
34
 
35
35
  | System | Account needed | `read` without a browser |
@@ -1,6 +1,6 @@
1
1
  [project]
2
2
  name = "atsfill"
3
- version = "0.0.4.dev17"
3
+ version = "0.0.4.dev18"
4
4
  description = "Read, dry-run and submit job application forms on hiring systems: Ashby, Greenhouse, Teamtailor, Welcome to the Jungle."
5
5
  readme = "README.md"
6
6
  license = "MIT"
@@ -1,6 +1,6 @@
1
1
  [project]
2
2
  name = "atsfill"
3
- version = "0.0.4.dev17"
3
+ version = "0.0.4.dev18"
4
4
  description = "Read, dry-run and submit job application forms on hiring systems: Ashby, Greenhouse, Teamtailor, Welcome to the Jungle."
5
5
  readme = "README.md"
6
6
  license = "MIT"
@@ -55,6 +55,7 @@ class System:
55
55
  hosting: tuple[str, ...]
56
56
  adapter: str | None = None
57
57
  share: float | None = None
58
+ links_to: tuple[str, ...] = () # an aggregator's: the sources its postings link to
58
59
  block: Block | None = None
59
60
  mapped: Verification | None = None
60
61
  dry_run_verified: Verification | None = None
@@ -80,6 +81,8 @@ def _system(source: str, entry: dict) -> System:
80
81
  _one_of(source, "account", entry.get("account"), ACCOUNTS)
81
82
  for h in entry.get("hosting", []):
82
83
  _one_of(source, "hosting", h, HOSTING)
84
+ if entry.get("links_to") and entry["kind"] != "aggregator":
85
+ raise ValueError(f"{source}: links_to on a {entry['kind']}, only an aggregator links out")
83
86
  block = entry.get("block")
84
87
  if block is not None:
85
88
  _one_of(source, "block.vendor", block.get("vendor"), VENDORS)
@@ -97,6 +100,7 @@ def _system(source: str, entry: dict) -> System:
97
100
  tuple(entry.get("hosting", [])),
98
101
  entry.get("adapter"),
99
102
  entry.get("share"),
103
+ tuple(entry.get("links_to", [])),
100
104
  block,
101
105
  **states,
102
106
  send_broken=broken,
@@ -158,7 +162,8 @@ def _row(s: System) -> str:
158
162
  state = "send_broken" if s.send_broken else s.state or ""
159
163
  if s.adapter:
160
164
  state = f"[{state}]({s.adapter}.md)" if state else f"[adapter]({s.adapter}.md)"
161
- cells = [s.source, s.kind, share, s.account, ", ".join(s.hosting), block, state]
165
+ kind = f"{s.kind} → {', '.join(s.links_to)}" if s.links_to else s.kind
166
+ cells = [s.source, kind, share, s.account, ", ".join(s.hosting), block, state]
162
167
  return "| " + " | ".join(cells) + " |"
163
168
 
164
169
 
@@ -181,6 +186,8 @@ def backlog(registry: dict[str, System] | None = None) -> str:
181
186
  " [ADR 0013](../adr/0013-survey-and-adapter-rounds.md): no account first, blocked last,"
182
187
  " then by share of postings.",
183
188
  "",
189
+ f"The registry covers {sum(s.share or 0 for s in registry.values()):.1%} of postings.",
190
+ "",
184
191
  head,
185
192
  *map(_row, adapters),
186
193
  ]
@@ -0,0 +1,376 @@
1
+ # The hiring systems atsfill has mapped (ADR 0012), one table per freehire `source`.
2
+ # `docs/adapters/README.md` is generated from this file: `uv run scripts/backlog.py`.
3
+ #
4
+ # kind ats | board | aggregator | custom
5
+ # share fraction of freehire's postings, worldwide, from its `source` facet
6
+ # account none | to_send | to_read
7
+ # hosting hosted, embedded: where the form is found
8
+ # links_to an aggregator's: the sources its postings were followed to
9
+ # adapter the adapter's name, when there is one
10
+ # block vendor, signal, step (posting | form | upload), date, version, camoufox, browser
11
+ # mapped, dry_run_verified, send_verified
12
+ # date, version (the release), commit (the exact code), by; only the user sets
13
+ # send_verified
14
+ # send_broken
15
+ # date, version, commit, by, cause (system | code | unknown), reason: a send that
16
+ # worked fails now; send_verified stays as the last known good
17
+
18
+ [ashby]
19
+ kind = "ats"
20
+ share = 0.0146
21
+ account = "none"
22
+ hosting = ["hosted", "embedded"]
23
+ adapter = "ashby"
24
+ send_verified = { date = 2026-10-19, version = "0.0.2", by = "shbernal", commit = "7622376" }
25
+ dry_run_verified = { date = 2026-10-19, version = "0.0.2", by = "gate", commit = "c230c5e" }
26
+
27
+ [teamtailor]
28
+ kind = "ats"
29
+ share = 0.0122
30
+ account = "none"
31
+ hosting = ["hosted"]
32
+ adapter = "teamtailor"
33
+ send_verified = { date = 2026-10-20, version = "0.0.3", by = "shbernal", commit = "9bc6d84" }
34
+ dry_run_verified = { date = 2026-10-19, version = "0.0.2", by = "gate", commit = "91a0bba" }
35
+
36
+ [greenhouse]
37
+ kind = "ats"
38
+ share = 0.0352
39
+ account = "none"
40
+ hosting = ["hosted", "embedded"]
41
+ adapter = "greenhouse"
42
+ dry_run_verified = { date = 2026-10-19, version = "0.0.2", by = "gate", commit = "c0fb0c5" }
43
+
44
+ [wttj]
45
+ kind = "board"
46
+ share = 0.0007
47
+ account = "to_send"
48
+ hosting = ["hosted"]
49
+ adapter = "wttj"
50
+ send_verified = { date = 2026-10-20, version = "0.0.3", by = "shbernal", commit = "9bc6d84" }
51
+ dry_run_verified = { date = 2026-10-19, version = "0.0.2", by = "gate", commit = "ad9f478" }
52
+
53
+ [workday]
54
+ kind = "ats"
55
+ share = 0.1786
56
+ account = "to_read"
57
+ hosting = ["hosted"]
58
+ mapped = { date = 2026-10-20, version = "0.0.2", by = "agent", commit = "7934b25" }
59
+
60
+ [trudvsem]
61
+ kind = "board"
62
+ share = 0.1006
63
+ account = "to_read"
64
+ hosting = ["hosted"]
65
+ block = { vendor = "unknown", signal = "empty response to the browser, http 460 to curl, from outside Russia", step = "posting", date = 2026-10-20, version = "0.0.2", camoufox = "0.5.8", browser = "156.0.1-beta.36" }
66
+ mapped = { date = 2026-10-20, version = "0.0.2", by = "agent", commit = "7934b25" }
67
+
68
+ [oracle]
69
+ kind = "ats"
70
+ share = 0.0833
71
+ account = "none"
72
+ hosting = ["hosted"]
73
+ mapped = { date = 2026-10-20, version = "0.0.2", by = "agent", commit = "7934b25" }
74
+
75
+ [smartrecruiters]
76
+ kind = "ats"
77
+ share = 0.0441
78
+ account = "none"
79
+ hosting = ["hosted"]
80
+ mapped = { date = 2026-10-20, version = "0.0.2", by = "agent", commit = "7934b25" }
81
+
82
+ [successfactors]
83
+ kind = "ats"
84
+ share = 0.0350
85
+ account = "to_read"
86
+ hosting = ["hosted"]
87
+ mapped = { date = 2026-10-20, version = "0.0.2", by = "agent", commit = "7934b25" }
88
+
89
+ [ukg]
90
+ kind = "ats"
91
+ share = 0.0349
92
+ account = "to_read"
93
+ hosting = ["hosted"]
94
+ mapped = { date = 2026-10-20, version = "0.0.2", by = "agent", commit = "7934b25" }
95
+
96
+ [paycom]
97
+ kind = "ats"
98
+ share = 0.0244
99
+ account = "none"
100
+ hosting = ["hosted"]
101
+ mapped = { date = 2026-10-20, version = "0.0.2", by = "agent", commit = "7934b25" }
102
+
103
+ [icims]
104
+ kind = "ats"
105
+ share = 0.0190
106
+ account = "to_read"
107
+ hosting = ["hosted"]
108
+ mapped = { date = 2026-10-20, version = "0.0.2", by = "agent", commit = "7934b25" }
109
+
110
+ [manatal]
111
+ kind = "ats"
112
+ share = 0.0187
113
+ account = "none"
114
+ hosting = ["hosted"]
115
+ mapped = { date = 2026-10-20, version = "0.0.2", by = "agent", commit = "7934b25" }
116
+
117
+ [paylocity]
118
+ kind = "ats"
119
+ share = 0.0167
120
+ account = "none"
121
+ hosting = ["hosted"]
122
+ mapped = { date = 2026-10-20, version = "0.0.2", by = "agent", commit = "7934b25" }
123
+
124
+ [dayforce]
125
+ kind = "ats"
126
+ share = 0.0165
127
+ account = "none"
128
+ hosting = ["hosted"]
129
+ mapped = { date = 2026-10-20, version = "0.0.2", by = "agent", commit = "7934b25" }
130
+
131
+ [workable]
132
+ kind = "ats"
133
+ share = 0.0159
134
+ account = "none"
135
+ hosting = ["hosted"]
136
+ mapped = { date = 2026-10-20, version = "0.0.2", by = "agent", commit = "7934b25" }
137
+
138
+ [energyjobline]
139
+ kind = "aggregator"
140
+ share = 0.0157
141
+ account = "to_read"
142
+ hosting = ["hosted"]
143
+ mapped = { date = 2026-10-20, version = "0.0.2", by = "agent", commit = "7934b25" }
144
+
145
+ [mycareersfuture]
146
+ kind = "board"
147
+ share = 0.0157
148
+ account = "to_read"
149
+ hosting = ["hosted"]
150
+ mapped = { date = 2026-10-20, version = "0.0.2", by = "agent", commit = "7934b25" }
151
+
152
+ [adzuna]
153
+ kind = "aggregator"
154
+ share = 0.0134
155
+ account = "none"
156
+ mapped = { date = 2026-10-20, version = "0.0.2", by = "agent", commit = "7934b25" }
157
+
158
+ [bamboohr]
159
+ kind = "ats"
160
+ share = 0.0133
161
+ account = "none"
162
+ hosting = ["hosted"]
163
+ mapped = { date = 2026-10-20, version = "0.0.2", by = "agent", commit = "7934b25" }
164
+
165
+ [taleo]
166
+ kind = "ats"
167
+ share = 0.0125
168
+ account = "to_read"
169
+ hosting = ["hosted"]
170
+ mapped = { date = 2026-10-20, version = "0.0.2", by = "agent", commit = "7934b25" }
171
+
172
+ [jazzhr]
173
+ kind = "ats"
174
+ share = 0.0118
175
+ account = "none"
176
+ hosting = ["hosted"]
177
+ mapped = { date = 2026-10-20, version = "0.0.2", by = "agent", commit = "7934b25" }
178
+
179
+ [lever]
180
+ kind = "ats"
181
+ share = 0.0116
182
+ account = "none"
183
+ hosting = ["hosted"]
184
+ mapped = { date = 2026-10-20, version = "0.0.2", by = "agent", commit = "7934b25" }
185
+
186
+ [adp]
187
+ kind = "ats"
188
+ share = 0.0108
189
+ account = "to_read"
190
+ hosting = ["hosted"]
191
+ mapped = { date = 2026-10-20, version = "0.0.2", by = "agent", commit = "7934b25" }
192
+
193
+ [eures]
194
+ kind = "aggregator"
195
+ share = 0.0102
196
+ account = "none"
197
+ mapped = { date = 2026-10-20, version = "0.0.2", by = "agent", commit = "7934b25" }
198
+
199
+ [hireology]
200
+ kind = "ats"
201
+ share = 0.0101
202
+ account = "none"
203
+ hosting = ["hosted"]
204
+ mapped = { date = 2026-10-20, version = "0.0.2", by = "agent", commit = "7934b25" }
205
+
206
+ [paycor]
207
+ kind = "ats"
208
+ share = 0.0095
209
+ account = "none"
210
+ hosting = ["hosted", "embedded"]
211
+ mapped = { date = 2026-10-20, version = "0.0.2", by = "agent", commit = "7934b25" }
212
+
213
+ [zohorecruit]
214
+ kind = "ats"
215
+ share = 0.0089
216
+ account = "none"
217
+ hosting = ["hosted"]
218
+ mapped = { date = 2026-10-20, version = "0.0.2", by = "agent", commit = "7934b25" }
219
+
220
+ [ukgready]
221
+ kind = "ats"
222
+ share = 0.0085
223
+ account = "none"
224
+ hosting = ["hosted"]
225
+ mapped = { date = 2026-10-20, version = "0.0.2", by = "agent", commit = "7934b25" }
226
+
227
+ [adpmyjobs]
228
+ kind = "ats"
229
+ share = 0.0084
230
+ account = "to_read"
231
+ hosting = ["hosted"]
232
+ mapped = { date = 2026-10-20, version = "0.0.2", by = "agent", commit = "7934b25" }
233
+
234
+ [phenom]
235
+ kind = "ats"
236
+ share = 0.0071
237
+ account = "none"
238
+ hosting = ["hosted"]
239
+ mapped = { date = 2026-10-20, version = "0.0.2", by = "agent", commit = "7934b25" }
240
+
241
+ [breezy]
242
+ kind = "ats"
243
+ share = 0.0069
244
+ account = "none"
245
+ hosting = ["hosted"]
246
+ mapped = { date = 2026-10-20, version = "0.0.2", by = "agent", commit = "7934b25" }
247
+
248
+ [recruitee]
249
+ kind = "ats"
250
+ share = 0.0066
251
+ account = "none"
252
+ hosting = ["hosted"]
253
+ mapped = { date = 2026-10-20, version = "0.0.2", by = "agent", commit = "7934b25" }
254
+
255
+ [hrmdirect]
256
+ kind = "ats"
257
+ share = 0.0059
258
+ account = "to_read"
259
+ hosting = ["hosted"]
260
+ mapped = { date = 2026-10-20, version = "0.0.2", by = "agent", commit = "7934b25" }
261
+
262
+ [applicantpro]
263
+ kind = "ats"
264
+ share = 0.0057
265
+ account = "none"
266
+ hosting = ["hosted"]
267
+ mapped = { date = 2026-10-20, version = "0.0.2", by = "agent", commit = "7934b25" }
268
+
269
+ [rippling]
270
+ kind = "ats"
271
+ share = 0.0050
272
+ account = "none"
273
+ hosting = ["hosted"]
274
+ mapped = { date = 2026-10-20, version = "0.0.2", by = "agent", commit = "7934b25" }
275
+
276
+ [isolvedhire]
277
+ kind = "ats"
278
+ share = 0.0047
279
+ account = "none"
280
+ hosting = ["hosted"]
281
+ mapped = { date = 2026-10-20, version = "0.0.2", by = "agent", commit = "7934b25" }
282
+
283
+ [jobstreet]
284
+ kind = "board"
285
+ share = 0.0047
286
+ account = "to_read"
287
+ hosting = ["hosted"]
288
+ mapped = { date = 2026-10-20, version = "0.0.2", by = "agent", commit = "7934b25" }
289
+
290
+ [whatjobs-uk]
291
+ kind = "aggregator"
292
+ share = 0.0043
293
+ account = "none"
294
+ mapped = { date = 2026-10-20, version = "0.0.2", by = "agent", commit = "7934b25" }
295
+
296
+ [personio]
297
+ kind = "ats"
298
+ share = 0.0041
299
+ account = "none"
300
+ hosting = ["hosted"]
301
+ mapped = { date = 2026-10-20, version = "0.0.2", by = "agent", commit = "7934b25" }
302
+
303
+ [gupy]
304
+ kind = "ats"
305
+ share = 0.0040
306
+ account = "to_read"
307
+ hosting = ["hosted"]
308
+ mapped = { date = 2026-10-20, version = "0.0.2", by = "agent", commit = "7934b25" }
309
+
310
+ [eightfold]
311
+ kind = "ats"
312
+ share = 0.0040
313
+ account = "none"
314
+ hosting = ["hosted"]
315
+ mapped = { date = 2026-10-20, version = "0.0.2", by = "agent", commit = "7934b25" }
316
+
317
+ [startupjobs]
318
+ kind = "aggregator"
319
+ share = 0.0036
320
+ account = "none"
321
+ links_to = ["smartrecruiters", "recruitee"]
322
+ mapped = { date = 2026-10-20, version = "0.0.2", by = "agent", commit = "7934b25" }
323
+
324
+ [pinpoint]
325
+ kind = "ats"
326
+ share = 0.0035
327
+ account = "none"
328
+ hosting = ["hosted"]
329
+ mapped = { date = 2026-10-20, version = "0.0.2", by = "agent", commit = "7934b25" }
330
+
331
+ [radancy]
332
+ kind = "aggregator"
333
+ share = 0.0034
334
+ account = "none"
335
+ links_to = ["icims", "workday"]
336
+ mapped = { date = 2026-10-20, version = "0.0.2", by = "agent", commit = "7934b25" }
337
+
338
+ [join]
339
+ kind = "ats"
340
+ share = 0.0032
341
+ account = "to_read"
342
+ hosting = ["hosted"]
343
+ mapped = { date = 2026-10-20, version = "0.0.2", by = "agent", commit = "7934b25" }
344
+
345
+ [4dayweek]
346
+ kind = "aggregator"
347
+ share = 0.0031
348
+ account = "none"
349
+ links_to = ["crelate"]
350
+ mapped = { date = 2026-10-20, version = "0.0.2", by = "agent", commit = "7934b25" }
351
+
352
+ [hiringthing]
353
+ kind = "ats"
354
+ share = 0.0028
355
+ account = "none"
356
+ hosting = ["hosted"]
357
+ mapped = { date = 2026-10-20, version = "0.0.2", by = "agent", commit = "7934b25" }
358
+
359
+ [jibe]
360
+ kind = "aggregator"
361
+ share = 0.0027
362
+ account = "none"
363
+ links_to = ["icims"]
364
+ mapped = { date = 2026-10-20, version = "0.0.2", by = "agent", commit = "7934b25" }
365
+
366
+ [telegram]
367
+ kind = "aggregator"
368
+ share = 0.0027
369
+ account = "none"
370
+ mapped = { date = 2026-10-20, version = "0.0.2", by = "agent", commit = "7934b25" }
371
+
372
+ [whatjobs-es]
373
+ kind = "aggregator"
374
+ share = 0.0024
375
+ account = "none"
376
+ mapped = { date = 2026-10-20, version = "0.0.2", by = "agent", commit = "7934b25" }
@@ -1,46 +0,0 @@
1
- # The hiring systems atsfill has mapped (ADR 0012), one table per freehire `source`.
2
- # `docs/adapters/README.md` is generated from this file: `uv run scripts/backlog.py`.
3
- #
4
- # kind ats | board | aggregator | custom
5
- # share fraction of freehire's postings, worldwide, from its `source` facet
6
- # account none | to_send | to_read
7
- # hosting hosted, embedded: where the form is found
8
- # adapter the adapter's name, when there is one
9
- # block vendor, signal, step (posting | form | upload), date, version, camoufox, browser
10
- # mapped, dry_run_verified, send_verified
11
- # date, version (the release), commit (the exact code), by; only the user sets
12
- # send_verified
13
- # send_broken
14
- # date, version, commit, by, cause (system | code | unknown), reason: a send that
15
- # worked fails now; send_verified stays as the last known good
16
-
17
- [ashby]
18
- kind = "ats"
19
- account = "none"
20
- hosting = ["hosted", "embedded"]
21
- adapter = "ashby"
22
- send_verified = { date = 2026-10-19, version = "0.0.2", by = "shbernal", commit = "7622376" }
23
- dry_run_verified = { date = 2026-10-19, version = "0.0.2", by = "gate", commit = "c230c5e" }
24
-
25
- [teamtailor]
26
- kind = "ats"
27
- account = "none"
28
- hosting = ["hosted"]
29
- adapter = "teamtailor"
30
- send_verified = { date = 2026-10-20, version = "0.0.3", by = "shbernal", commit = "9bc6d84" }
31
- dry_run_verified = { date = 2026-10-19, version = "0.0.2", by = "gate", commit = "91a0bba" }
32
-
33
- [greenhouse]
34
- kind = "ats"
35
- account = "none"
36
- hosting = ["hosted", "embedded"]
37
- adapter = "greenhouse"
38
- dry_run_verified = { date = 2026-10-19, version = "0.0.2", by = "gate", commit = "c0fb0c5" }
39
-
40
- [wttj]
41
- kind = "board"
42
- account = "to_send"
43
- hosting = ["hosted"]
44
- adapter = "wttj"
45
- send_verified = { date = 2026-10-20, version = "0.0.3", by = "shbernal", commit = "9bc6d84" }
46
- dry_run_verified = { date = 2026-10-19, version = "0.0.2", by = "gate", commit = "ad9f478" }
File without changes