atsfill 0.0.4.dev17__tar.gz → 0.0.4.dev19__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.
- {atsfill-0.0.4.dev17 → atsfill-0.0.4.dev19}/PKG-INFO +2 -2
- {atsfill-0.0.4.dev17 → atsfill-0.0.4.dev19}/README.md +1 -1
- {atsfill-0.0.4.dev17 → atsfill-0.0.4.dev19}/pyproject.toml +1 -1
- {atsfill-0.0.4.dev17 → atsfill-0.0.4.dev19}/pyproject.toml.orig +1 -1
- {atsfill-0.0.4.dev17 → atsfill-0.0.4.dev19}/src/atsfill/core/registry.py +8 -1
- atsfill-0.0.4.dev19/src/atsfill/registry.toml +376 -0
- atsfill-0.0.4.dev17/src/atsfill/registry.toml +0 -46
- {atsfill-0.0.4.dev17 → atsfill-0.0.4.dev19}/LICENSE +0 -0
- {atsfill-0.0.4.dev17 → atsfill-0.0.4.dev19}/src/atsfill/__init__.py +0 -0
- {atsfill-0.0.4.dev17 → atsfill-0.0.4.dev19}/src/atsfill/adapters/__init__.py +0 -0
- {atsfill-0.0.4.dev17 → atsfill-0.0.4.dev19}/src/atsfill/adapters/ashby.py +0 -0
- {atsfill-0.0.4.dev17 → atsfill-0.0.4.dev19}/src/atsfill/adapters/greenhouse.py +0 -0
- {atsfill-0.0.4.dev17 → atsfill-0.0.4.dev19}/src/atsfill/adapters/teamtailor.py +0 -0
- {atsfill-0.0.4.dev17 → atsfill-0.0.4.dev19}/src/atsfill/adapters/wttj.py +0 -0
- {atsfill-0.0.4.dev17 → atsfill-0.0.4.dev19}/src/atsfill/cli.py +0 -0
- {atsfill-0.0.4.dev17 → atsfill-0.0.4.dev19}/src/atsfill/core/__init__.py +0 -0
- {atsfill-0.0.4.dev17 → atsfill-0.0.4.dev19}/src/atsfill/core/accounts.py +0 -0
- {atsfill-0.0.4.dev17 → atsfill-0.0.4.dev19}/src/atsfill/core/adapter.py +0 -0
- {atsfill-0.0.4.dev17 → atsfill-0.0.4.dev19}/src/atsfill/core/attempts.py +0 -0
- {atsfill-0.0.4.dev17 → atsfill-0.0.4.dev19}/src/atsfill/core/browser.py +0 -0
- {atsfill-0.0.4.dev17 → atsfill-0.0.4.dev19}/src/atsfill/core/commands.py +0 -0
- {atsfill-0.0.4.dev17 → atsfill-0.0.4.dev19}/src/atsfill/core/matching.py +0 -0
- {atsfill-0.0.4.dev17 → atsfill-0.0.4.dev19}/src/atsfill/core/paths.py +0 -0
- {atsfill-0.0.4.dev17 → atsfill-0.0.4.dev19}/src/atsfill/core/results.py +0 -0
- {atsfill-0.0.4.dev17 → atsfill-0.0.4.dev19}/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.
|
|
3
|
+
Version: 0.0.4.dev19
|
|
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
|
-
   
|
|
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
|
-
   
|
|
33
33
|
<!-- /badges -->
|
|
34
34
|
|
|
35
35
|
| System | Account needed | `read` without a browser |
|
|
@@ -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
|
-
|
|
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
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|