catherd-cli 0.2.1 → 1.0.0

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 (187) hide show
  1. package/README.md +114 -30
  2. package/THIRD_PARTY_NOTICES.md +37 -0
  3. package/catalog/jev.json +89 -0
  4. package/catalog/models.json +236 -0
  5. package/catalog/scores.json +366 -0
  6. package/package.json +24 -8
  7. package/plugin/.claude-plugin/plugin.json +2 -2
  8. package/plugin/.mcp.json +1 -1
  9. package/plugin/commands/catherd.md +1 -1
  10. package/plugin/skills/catherd/SKILL.md +97 -51
  11. package/plugin/skills/catherd-setup/SKILL.md +34 -24
  12. package/src/adapters/all.ts +8 -0
  13. package/src/adapters/backend.ts +144 -0
  14. package/src/adapters/claude-code/events.ts +86 -0
  15. package/src/adapters/claude-code/index.ts +223 -0
  16. package/src/adapters/claude-code/models-api.ts +65 -0
  17. package/src/adapters/claude-code/models.ts +26 -0
  18. package/src/adapters/cli.ts +74 -0
  19. package/src/adapters/codex/events.ts +65 -0
  20. package/src/adapters/codex/home.ts +47 -0
  21. package/src/adapters/codex/index.ts +227 -0
  22. package/src/adapters/discovery.ts +87 -0
  23. package/src/adapters/opencode/agents.ts +84 -0
  24. package/src/adapters/opencode/events.ts +109 -0
  25. package/src/adapters/opencode/index.ts +316 -0
  26. package/src/adapters/registry.ts +14 -0
  27. package/src/cli.ts +159 -19
  28. package/src/domain/agents.ts +60 -0
  29. package/src/domain/budget.ts +45 -0
  30. package/src/domain/catalog.ts +262 -0
  31. package/src/domain/changes.ts +52 -0
  32. package/src/domain/cost.ts +89 -0
  33. package/src/domain/errors.ts +58 -0
  34. package/src/domain/hints.ts +22 -0
  35. package/src/domain/ids.ts +97 -0
  36. package/src/domain/jev.ts +283 -0
  37. package/src/domain/lane.ts +69 -0
  38. package/src/domain/profile-rules.ts +205 -0
  39. package/src/domain/profile.ts +383 -0
  40. package/src/domain/record.ts +84 -0
  41. package/src/{profile → domain}/role-prompts.ts +42 -26
  42. package/src/domain/roles.ts +25 -0
  43. package/src/domain/route.ts +126 -0
  44. package/src/domain/runtime.ts +21 -0
  45. package/src/domain/sanitize.ts +29 -0
  46. package/src/domain/secrets.ts +57 -0
  47. package/src/domain/select.ts +136 -0
  48. package/src/domain/state.ts +33 -0
  49. package/src/domain/util.ts +18 -0
  50. package/src/entry/capture-fixtures-command.ts +57 -0
  51. package/src/entry/catalog-command.ts +106 -0
  52. package/src/entry/cli-kit.ts +36 -0
  53. package/src/entry/deps.ts +16 -0
  54. package/src/entry/doctor-command.ts +45 -0
  55. package/src/entry/glyphs.ts +33 -0
  56. package/src/entry/init-command.ts +142 -0
  57. package/src/entry/lock-command.ts +123 -0
  58. package/src/entry/mcp/dispatch-tools.ts +82 -0
  59. package/src/entry/mcp/handshake.ts +48 -0
  60. package/src/entry/mcp/lane-tools.ts +83 -0
  61. package/src/entry/mcp/result.ts +51 -0
  62. package/src/entry/mcp/run-tools.ts +144 -0
  63. package/src/entry/mcp/server.ts +72 -0
  64. package/src/entry/mcp/setup-tools.ts +81 -0
  65. package/src/entry/profile-command.ts +320 -0
  66. package/src/entry/prompt.ts +103 -0
  67. package/src/entry/runs-command.ts +217 -0
  68. package/src/entry/supervise-bin.ts +18 -0
  69. package/src/entry/supervise-command.ts +37 -0
  70. package/src/entry/tui/commands.ts +545 -0
  71. package/src/entry/tui/effects.ts +270 -0
  72. package/src/entry/tui/fixtures.ts +318 -0
  73. package/src/entry/tui/profile-edits.ts +138 -0
  74. package/src/entry/tui/profile-tree.ts +419 -0
  75. package/src/entry/tui/providers/app.tsx +162 -0
  76. package/src/entry/tui/providers/boundary.tsx +57 -0
  77. package/src/entry/tui/providers/data.tsx +133 -0
  78. package/src/entry/tui/providers/keymap.tsx +166 -0
  79. package/src/entry/tui/providers/root.tsx +45 -0
  80. package/src/entry/tui/providers/theme.tsx +17 -0
  81. package/src/entry/tui/providers/toast.tsx +77 -0
  82. package/src/entry/tui/run.tsx +98 -0
  83. package/src/entry/tui/state.ts +336 -0
  84. package/src/entry/tui/stories.ts +75 -0
  85. package/src/entry/tui/text.ts +118 -0
  86. package/src/entry/tui/theme.ts +139 -0
  87. package/src/entry/tui/views/app.tsx +208 -0
  88. package/src/entry/tui/views/dialogs.tsx +41 -0
  89. package/src/entry/tui/views/profile-actions.ts +321 -0
  90. package/src/entry/tui/views/profiles.tsx +440 -0
  91. package/src/entry/tui/views/runs.tsx +281 -0
  92. package/src/entry/tui/views/save-dialog.tsx +332 -0
  93. package/src/entry/tui/views/status.tsx +206 -0
  94. package/src/entry/tui/widgets/chrome.tsx +114 -0
  95. package/src/entry/tui/widgets/dialog-confirm.tsx +58 -0
  96. package/src/entry/tui/widgets/dialog-prompt.tsx +52 -0
  97. package/src/entry/tui/widgets/dialog-select.tsx +212 -0
  98. package/src/entry/tui/widgets/dialog.tsx +68 -0
  99. package/src/entry/tui/widgets/line.tsx +92 -0
  100. package/src/entry/tui/widgets/list.tsx +196 -0
  101. package/src/entry/tui/widgets/spinner.tsx +49 -0
  102. package/src/entry/tui/widgets/toast.tsx +62 -0
  103. package/src/infra/assets.ts +4 -0
  104. package/src/infra/dispatch-dir.ts +278 -0
  105. package/src/infra/env.ts +43 -0
  106. package/src/infra/filelock.ts +159 -0
  107. package/src/infra/git.ts +91 -0
  108. package/src/infra/heavy-lock.ts +36 -0
  109. package/src/infra/jev-client.ts +162 -0
  110. package/src/infra/launch.ts +25 -0
  111. package/src/infra/log.ts +84 -0
  112. package/src/infra/paths.ts +38 -0
  113. package/src/infra/proc.ts +110 -0
  114. package/src/infra/store.ts +229 -0
  115. package/src/infra/supervisor.ts +257 -0
  116. package/src/infra/version.ts +6 -0
  117. package/src/services/admission.ts +277 -0
  118. package/src/services/agent-links.ts +139 -0
  119. package/src/services/backends.ts +44 -0
  120. package/src/services/budget.ts +47 -0
  121. package/src/services/capture.ts +233 -0
  122. package/src/services/catalog-service.ts +382 -0
  123. package/src/services/dispatch-service.ts +479 -0
  124. package/src/services/dispatches.ts +145 -0
  125. package/src/services/doctor-backends.ts +185 -0
  126. package/src/services/doctor-checks.ts +103 -0
  127. package/src/services/doctor.ts +358 -0
  128. package/src/services/finalize.ts +359 -0
  129. package/src/services/jev-service.ts +183 -0
  130. package/src/services/lane-service.ts +248 -0
  131. package/src/services/ports.ts +132 -0
  132. package/src/services/preflight.ts +207 -0
  133. package/src/services/profile-service.ts +292 -0
  134. package/src/services/profile-store.ts +141 -0
  135. package/src/services/reconcile.ts +101 -0
  136. package/src/services/routing-service.ts +190 -0
  137. package/src/services/run-debug.ts +79 -0
  138. package/src/services/run-service.ts +161 -0
  139. package/src/services/run-store.ts +316 -0
  140. package/src/services/setup.ts +87 -0
  141. package/src/services/state.ts +104 -0
  142. package/src/services/summary.ts +227 -0
  143. package/catalog/catalog.json +0 -112
  144. package/catalog/models-dev.json +0 -56453
  145. package/src/core/codex-events.ts +0 -49
  146. package/src/core/codex.ts +0 -166
  147. package/src/core/harness.ts +0 -89
  148. package/src/core/lanes.ts +0 -67
  149. package/src/core/lock.ts +0 -111
  150. package/src/core/opencode.ts +0 -207
  151. package/src/core/reconcile.ts +0 -26
  152. package/src/core/reply.ts +0 -54
  153. package/src/core/runstore.ts +0 -163
  154. package/src/core/spawn.ts +0 -89
  155. package/src/core/status.ts +0 -193
  156. package/src/files.ts +0 -19
  157. package/src/mcp/dispatch.ts +0 -154
  158. package/src/mcp/lane-tools.ts +0 -200
  159. package/src/mcp/out.ts +0 -6
  160. package/src/mcp/preflight.ts +0 -84
  161. package/src/mcp/run-tools.ts +0 -121
  162. package/src/mcp/runs.ts +0 -118
  163. package/src/mcp/server.ts +0 -26
  164. package/src/mcp/setup-tools.ts +0 -175
  165. package/src/paths.ts +0 -20
  166. package/src/profile/agents.ts +0 -130
  167. package/src/profile/profile.ts +0 -228
  168. package/src/routing/catalog.ts +0 -227
  169. package/src/routing/commands.ts +0 -22
  170. package/src/routing/jev.ts +0 -185
  171. package/src/routing/route.ts +0 -155
  172. package/src/routing/select.ts +0 -90
  173. package/src/tui/backends.ts +0 -57
  174. package/src/tui/commands.ts +0 -53
  175. package/src/tui/dashboard.tsx +0 -245
  176. package/src/tui/editor.tsx +0 -214
  177. package/src/tui/init.tsx +0 -208
  178. package/src/tui/matrix-model.ts +0 -279
  179. package/src/tui/matrix.tsx +0 -512
  180. package/src/tui/profiles.ts +0 -38
  181. package/src/tui/theme.ts +0 -177
  182. package/src/tui/ui.tsx +0 -267
  183. package/src/tui/watch-model.ts +0 -83
  184. package/src/tui/watch.tsx +0 -236
  185. package/src/types.ts +0 -184
  186. package/src/version.ts +0 -7
  187. /package/src/{mcp/commands.ts → entry/mcp/command.ts} +0 -0
@@ -0,0 +1,366 @@
1
+ {
2
+ "schema": 1,
3
+ "version": "2026-09-25",
4
+ "benchmarks": {
5
+ "repo_code": { "benchmark": "DeepSWE", "version": "1.1" },
6
+ "terminal": { "benchmark": "Terminal-Bench", "version": "4.0" },
7
+ "honesty": {
8
+ "benchmark": "OpenAI Broken Search Tool, 100 minus the failure rate",
9
+ "version": "GPT-6 system card appendix 11.6.4.2"
10
+ }
11
+ },
12
+ "scores": [
13
+ {
14
+ "rung": "gpt-6-sol#low",
15
+ "dim": "repo_code",
16
+ "value": 37.2,
17
+ "benchmark": "DeepSWE",
18
+ "version": "1.1",
19
+ "url": "https://kingy.ai/blog/gpt-6-sol-luna-specs-benchmarks-pricing-comparison/",
20
+ "date": "2026-09-22",
21
+ "confidence": "secondary"
22
+ },
23
+ {
24
+ "rung": "gpt-6-sol#medium",
25
+ "dim": "repo_code",
26
+ "value": 56.6,
27
+ "benchmark": "DeepSWE",
28
+ "version": "1.1",
29
+ "url": "https://kingy.ai/blog/gpt-6-sol-luna-specs-benchmarks-pricing-comparison/",
30
+ "date": "2026-09-22",
31
+ "confidence": "secondary"
32
+ },
33
+ {
34
+ "rung": "gpt-6-sol#high",
35
+ "dim": "repo_code",
36
+ "value": 65.3,
37
+ "benchmark": "DeepSWE",
38
+ "version": "1.1",
39
+ "url": "https://kingy.ai/blog/gpt-6-sol-luna-specs-benchmarks-pricing-comparison/",
40
+ "date": "2026-09-22",
41
+ "confidence": "secondary"
42
+ },
43
+ {
44
+ "rung": "gpt-6-sol#xhigh",
45
+ "dim": "repo_code",
46
+ "value": 66.6,
47
+ "benchmark": "DeepSWE",
48
+ "version": "1.1",
49
+ "url": "https://kingy.ai/blog/gpt-6-sol-luna-specs-benchmarks-pricing-comparison/",
50
+ "date": "2026-09-22",
51
+ "confidence": "secondary"
52
+ },
53
+ {
54
+ "rung": "gpt-6-sol#max",
55
+ "dim": "repo_code",
56
+ "value": 68.8,
57
+ "benchmark": "DeepSWE",
58
+ "version": "1.1",
59
+ "url": "https://x.com/OpenAIDevs/status/2102461464279912495",
60
+ "date": "2026-09-22",
61
+ "confidence": "verified"
62
+ },
63
+ {
64
+ "rung": "gpt-6-sol#max",
65
+ "dim": "terminal",
66
+ "value": 43,
67
+ "benchmark": "Terminal-Bench",
68
+ "version": "4.0",
69
+ "url": "https://artificialanalysis.ai/articles/gpt-6-sol-and-luna-push-the-cost-efficiency-frontier",
70
+ "date": "2026-09-22",
71
+ "confidence": "secondary"
72
+ },
73
+ {
74
+ "rung": "gpt-6-sol#max",
75
+ "dim": "honesty",
76
+ "value": 95.1,
77
+ "benchmark": "OpenAI Broken Search Tool, 100 minus the failure rate",
78
+ "version": "GPT-6 system card appendix 11.6.4.2",
79
+ "url": "https://deploymentsafety.openai.com/gpt-6-astra/sec:appendix-sol-luna",
80
+ "date": "2026-09-22",
81
+ "confidence": "verified"
82
+ },
83
+ {
84
+ "rung": "gpt-6-sol#medium",
85
+ "dim": "honesty",
86
+ "value": 95.1,
87
+ "benchmark": "OpenAI Broken Search Tool, 100 minus the failure rate",
88
+ "version": "GPT-6 system card appendix 11.6.4.2",
89
+ "url": "https://deploymentsafety.openai.com/gpt-6-astra/sec:appendix-sol-luna",
90
+ "date": "2026-09-22",
91
+ "confidence": "inferred",
92
+ "note": "measured at max effort; carried to this effort"
93
+ },
94
+ {
95
+ "rung": "gpt-6-sol#high",
96
+ "dim": "honesty",
97
+ "value": 95.1,
98
+ "benchmark": "OpenAI Broken Search Tool, 100 minus the failure rate",
99
+ "version": "GPT-6 system card appendix 11.6.4.2",
100
+ "url": "https://deploymentsafety.openai.com/gpt-6-astra/sec:appendix-sol-luna",
101
+ "date": "2026-09-22",
102
+ "confidence": "inferred",
103
+ "note": "measured at max effort; carried to this effort"
104
+ },
105
+ {
106
+ "rung": "gpt-6-sol#xhigh",
107
+ "dim": "honesty",
108
+ "value": 95.1,
109
+ "benchmark": "OpenAI Broken Search Tool, 100 minus the failure rate",
110
+ "version": "GPT-6 system card appendix 11.6.4.2",
111
+ "url": "https://deploymentsafety.openai.com/gpt-6-astra/sec:appendix-sol-luna",
112
+ "date": "2026-09-22",
113
+ "confidence": "inferred",
114
+ "note": "measured at max effort; carried to this effort"
115
+ },
116
+ {
117
+ "rung": "gpt-6-luna#high",
118
+ "dim": "repo_code",
119
+ "value": 59.3,
120
+ "benchmark": "DeepSWE",
121
+ "version": "1.1",
122
+ "url": "https://kingy.ai/blog/gpt-6-sol-luna-specs-benchmarks-pricing-comparison/",
123
+ "date": "2026-09-22",
124
+ "confidence": "inferred",
125
+ "note": "the 0.x seed; only Luna max (66.6) is published"
126
+ },
127
+ {
128
+ "rung": "gpt-6-luna#max",
129
+ "dim": "repo_code",
130
+ "value": 66.6,
131
+ "benchmark": "DeepSWE",
132
+ "version": "1.1",
133
+ "url": "https://kingy.ai/blog/gpt-6-sol-luna-specs-benchmarks-pricing-comparison/",
134
+ "date": "2026-09-22",
135
+ "confidence": "secondary"
136
+ },
137
+ {
138
+ "rung": "gpt-6-luna#max",
139
+ "dim": "terminal",
140
+ "value": 13,
141
+ "benchmark": "Terminal-Bench",
142
+ "version": "4.0",
143
+ "url": "https://artificialanalysis.ai/articles/gpt-6-sol-and-luna-push-the-cost-efficiency-frontier",
144
+ "date": "2026-09-22",
145
+ "confidence": "secondary"
146
+ },
147
+ {
148
+ "rung": "gpt-6-luna#max",
149
+ "dim": "honesty",
150
+ "value": 71.3,
151
+ "benchmark": "OpenAI Broken Search Tool, 100 minus the failure rate",
152
+ "version": "GPT-6 system card appendix 11.6.4.2",
153
+ "url": "https://deploymentsafety.openai.com/gpt-6-astra/sec:appendix-sol-luna",
154
+ "date": "2026-09-22",
155
+ "confidence": "verified"
156
+ },
157
+ {
158
+ "rung": "gpt-6-luna#high",
159
+ "dim": "honesty",
160
+ "value": 71.3,
161
+ "benchmark": "OpenAI Broken Search Tool, 100 minus the failure rate",
162
+ "version": "GPT-6 system card appendix 11.6.4.2",
163
+ "url": "https://deploymentsafety.openai.com/gpt-6-astra/sec:appendix-sol-luna",
164
+ "date": "2026-09-22",
165
+ "confidence": "inferred",
166
+ "note": "measured at max effort; carried to this effort"
167
+ },
168
+ {
169
+ "rung": "gpt-6-astra#xhigh",
170
+ "dim": "repo_code",
171
+ "value": 74,
172
+ "benchmark": "DeepSWE",
173
+ "version": "1.1",
174
+ "url": "https://deepswe.datacurve.ai/",
175
+ "date": "2026-09-22",
176
+ "confidence": "verified"
177
+ },
178
+ {
179
+ "rung": "gpt-6-astra#high",
180
+ "dim": "terminal",
181
+ "value": 57.9,
182
+ "benchmark": "Terminal-Bench",
183
+ "version": "4.0",
184
+ "url": "https://www-cdn.anthropic.com/fc1b44717c85dc068bc6ba5024219938094694bd/Claude%20Opus%205.5%20System%20Card.pdf",
185
+ "date": "2026-09-22",
186
+ "confidence": "secondary",
187
+ "note": "OpenAI-reported, as quoted in the Opus 5.5 system card"
188
+ },
189
+ {
190
+ "rung": "gpt-6-astra#max",
191
+ "dim": "honesty",
192
+ "value": 98.5,
193
+ "benchmark": "OpenAI Broken Search Tool, 100 minus the failure rate",
194
+ "version": "GPT-6 system card appendix 11.6.4.2",
195
+ "url": "https://deploymentsafety.openai.com/gpt-6-astra/sec:appendix-sol-luna",
196
+ "date": "2026-09-22",
197
+ "confidence": "verified"
198
+ },
199
+ {
200
+ "rung": "gpt-6-astra#xhigh",
201
+ "dim": "honesty",
202
+ "value": 98.5,
203
+ "benchmark": "OpenAI Broken Search Tool, 100 minus the failure rate",
204
+ "version": "GPT-6 system card appendix 11.6.4.2",
205
+ "url": "https://deploymentsafety.openai.com/gpt-6-astra/sec:appendix-sol-luna",
206
+ "date": "2026-09-22",
207
+ "confidence": "inferred",
208
+ "note": "measured at max effort; carried to this effort"
209
+ },
210
+ {
211
+ "rung": "gpt-5.6-sol#max",
212
+ "dim": "repo_code",
213
+ "value": 73,
214
+ "benchmark": "DeepSWE",
215
+ "version": "1.1",
216
+ "url": "https://deepswe.datacurve.ai/",
217
+ "date": "2026-09-22",
218
+ "confidence": "verified"
219
+ },
220
+ {
221
+ "rung": "gpt-5.6-sol#max",
222
+ "dim": "terminal",
223
+ "value": 37.3,
224
+ "benchmark": "Terminal-Bench",
225
+ "version": "4.0",
226
+ "url": "https://www-cdn.anthropic.com/fc1b44717c85dc068bc6ba5024219938094694bd/Claude%20Opus%205.5%20System%20Card.pdf",
227
+ "date": "2026-09-22",
228
+ "confidence": "secondary"
229
+ },
230
+ {
231
+ "rung": "gpt-5.6-sol#max",
232
+ "dim": "honesty",
233
+ "value": 22.5,
234
+ "benchmark": "OpenAI Broken Search Tool, 100 minus the failure rate",
235
+ "version": "GPT-6 system card appendix 11.6.4.2",
236
+ "url": "https://deploymentsafety.openai.com/gpt-6-astra/sec:appendix-sol-luna",
237
+ "date": "2026-09-22",
238
+ "confidence": "verified"
239
+ },
240
+ {
241
+ "rung": "gpt-5.6-luna#max",
242
+ "dim": "repo_code",
243
+ "value": 67,
244
+ "benchmark": "DeepSWE",
245
+ "version": "1.1",
246
+ "url": "https://deepswe.datacurve.ai/",
247
+ "date": "2026-09-22",
248
+ "confidence": "verified"
249
+ },
250
+ {
251
+ "rung": "gpt-5.6-luna#max",
252
+ "dim": "honesty",
253
+ "value": 21.8,
254
+ "benchmark": "OpenAI Broken Search Tool, 100 minus the failure rate",
255
+ "version": "GPT-6 system card appendix 11.6.4.2",
256
+ "url": "https://deploymentsafety.openai.com/gpt-6-astra/sec:appendix-sol-luna",
257
+ "date": "2026-09-22",
258
+ "confidence": "verified"
259
+ },
260
+ {
261
+ "rung": "claude-opus-5-5#max",
262
+ "dim": "repo_code",
263
+ "value": 74.2,
264
+ "benchmark": "DeepSWE",
265
+ "version": "1.1",
266
+ "url": "https://www-cdn.anthropic.com/fc1b44717c85dc068bc6ba5024219938094694bd/Claude%20Opus%205.5%20System%20Card.pdf",
267
+ "date": "2026-09-22",
268
+ "confidence": "verified",
269
+ "note": "vendor-run, mean of 5 trials (system card 8.3)"
270
+ },
271
+ {
272
+ "rung": "claude-opus-5-5#xhigh",
273
+ "dim": "terminal",
274
+ "value": 66.4,
275
+ "benchmark": "Terminal-Bench",
276
+ "version": "4.0",
277
+ "url": "https://www-cdn.anthropic.com/fc1b44717c85dc068bc6ba5024219938094694bd/Claude%20Opus%205.5%20System%20Card.pdf",
278
+ "date": "2026-09-22",
279
+ "confidence": "verified",
280
+ "note": "Claude Code --bare, 5 trials (system card 8.5)"
281
+ },
282
+ {
283
+ "rung": "claude-opus-5-5#max",
284
+ "dim": "terminal",
285
+ "value": 64.8,
286
+ "benchmark": "Terminal-Bench",
287
+ "version": "4.0",
288
+ "url": "https://www-cdn.anthropic.com/fc1b44717c85dc068bc6ba5024219938094694bd/Claude%20Opus%205.5%20System%20Card.pdf",
289
+ "date": "2026-09-22",
290
+ "confidence": "verified"
291
+ },
292
+ {
293
+ "rung": "claude-fable-5-1#max",
294
+ "dim": "terminal",
295
+ "value": 55.8,
296
+ "benchmark": "Terminal-Bench",
297
+ "version": "4.0",
298
+ "url": "https://www-cdn.anthropic.com/fc1b44717c85dc068bc6ba5024219938094694bd/Claude%20Opus%205.5%20System%20Card.pdf",
299
+ "date": "2026-09-22",
300
+ "confidence": "verified"
301
+ },
302
+ {
303
+ "rung": "claude-fable-5-1#max",
304
+ "dim": "repo_code",
305
+ "value": 67.4,
306
+ "benchmark": "DeepSWE",
307
+ "version": "1.1",
308
+ "url": "https://codingfleet.com/blog/deepswe-v11-leaderboard-2026/",
309
+ "date": "2026-09-25",
310
+ "confidence": "inferred",
311
+ "note": "a 5-trial mean from a secondary source that names no effort"
312
+ },
313
+ {
314
+ "rung": "claude-sonnet-5#max",
315
+ "dim": "repo_code",
316
+ "value": 54,
317
+ "benchmark": "DeepSWE",
318
+ "version": "1.1",
319
+ "url": "https://deepswe.datacurve.ai/",
320
+ "date": "2026-09-22",
321
+ "confidence": "verified"
322
+ }
323
+ ],
324
+ "treatLike": {
325
+ "claude-opus-5-5#low": { "like": "claude-opus-5-5#xhigh", "note": "only xhigh and max are published" },
326
+ "claude-opus-5-5#medium": { "like": "claude-opus-5-5#xhigh", "note": "only xhigh and max are published" },
327
+ "claude-opus-5-5#high": { "like": "claude-opus-5-5#xhigh", "note": "only xhigh and max are published" },
328
+ "opencode-go/kimi-k3#max": {
329
+ "like": "gpt-6-sol#medium",
330
+ "note": "the default profile's OpenCode Go stand-in for Sol; no DeepSWE 1.1, Terminal-Bench 4.0 or honesty score is published for it"
331
+ }
332
+ },
333
+ "bars": {
334
+ "repo_code": {
335
+ "copy": { "repo_code": 55 },
336
+ "build": { "repo_code": 55 },
337
+ "logic": { "repo_code": 55, "honesty": 90 },
338
+ "hard": { "repo_code": 55, "honesty": 90 }
339
+ },
340
+ "terminal": {
341
+ "copy": { "honesty": 90 },
342
+ "build": { "honesty": 90 },
343
+ "logic": { "honesty": 90 },
344
+ "hard": { "honesty": 90 }
345
+ },
346
+ "ui": {
347
+ "copy": { "repo_code": 55 },
348
+ "build": { "repo_code": 55 },
349
+ "logic": { "repo_code": 55, "honesty": 90 },
350
+ "hard": { "repo_code": 55, "honesty": 90 }
351
+ },
352
+ "prose": {
353
+ "copy": { "repo_code": 55 },
354
+ "build": { "repo_code": 55 },
355
+ "logic": { "repo_code": 55, "honesty": 90 },
356
+ "hard": { "repo_code": 55, "honesty": 90 }
357
+ },
358
+ "research": {
359
+ "copy": { "repo_code": 55 },
360
+ "build": { "repo_code": 55 },
361
+ "logic": { "repo_code": 55, "honesty": 90 },
362
+ "hard": { "repo_code": 55, "honesty": 90 }
363
+ }
364
+ },
365
+ "barsWhy": "Track A (copy, build) needs DeepSWE 1.1 >= 55, which Luna high and every Sol rung from medium clear. Track B (logic, hard) also needs honesty >= 90: a worker on logic or hard work must say when a tool fails, which Luna (71.3) does not and Sol (95.1) does. Terminal-Bench 4.0 is published per effort only for Opus 5.5, so terminal lanes gate on honesty alone and use terminal scores to order the speed ladder."
366
+ }
package/package.json CHANGED
@@ -1,8 +1,25 @@
1
1
  {
2
2
  "name": "catherd-cli",
3
- "version": "0.2.1",
3
+ "version": "1.0.0",
4
4
  "description": "Herds coding agents: autopilot builds from your own Claude Code session.",
5
+ "keywords": [
6
+ "autopilot",
7
+ "claude-code",
8
+ "claude-code-plugin",
9
+ "cli",
10
+ "codex",
11
+ "coding-agents",
12
+ "mcp",
13
+ "opencode",
14
+ "orchestration",
15
+ "tui"
16
+ ],
17
+ "homepage": "https://github.com/47vigen/catherd#readme",
18
+ "bugs": {
19
+ "url": "https://github.com/47vigen/catherd/issues"
20
+ },
5
21
  "license": "MIT",
22
+ "author": "47vigen",
6
23
  "repository": {
7
24
  "type": "git",
8
25
  "url": "git+https://github.com/47vigen/catherd.git"
@@ -13,7 +30,8 @@
13
30
  "files": [
14
31
  "src",
15
32
  "catalog",
16
- "plugin"
33
+ "plugin",
34
+ "THIRD_PARTY_NOTICES.md"
17
35
  ],
18
36
  "type": "module",
19
37
  "scripts": {
@@ -21,16 +39,15 @@
21
39
  "lint": "oxlint --deny-warnings src test",
22
40
  "format": "oxfmt",
23
41
  "format:check": "oxfmt --check",
24
- "snapshot:models-dev": "bun scripts/snapshot-models-dev.ts",
42
+ "tui-frames": "CATHERD_WRITE_FRAMES=1 bun test test/entry/tui/frames.test.tsx",
25
43
  "version-packages": "changeset version && bun scripts/stamp-plugin-version.mjs"
26
44
  },
27
45
  "dependencies": {
28
46
  "@modelcontextprotocol/sdk": "^1.30.1",
29
- "@opentui/core": "^0.5.12",
30
- "@opentui/react": "^0.5.12",
47
+ "@opentui/core": "0.5.12",
48
+ "@opentui/keymap": "0.5.12",
49
+ "@opentui/react": "0.5.12",
31
50
  "citty": "^0.2.2",
32
- "microdiff": "^1.6.0",
33
- "ofetch": "^1.5.1",
34
51
  "react": "^19.3.0",
35
52
  "zod": "^4.6.5"
36
53
  },
@@ -43,7 +60,6 @@
43
60
  "lefthook": "^2.1.14",
44
61
  "oxfmt": "^0.70.0",
45
62
  "oxlint": "^1.85.0",
46
- "string-width": "^8.3.0",
47
63
  "typescript": "^7.0.2"
48
64
  },
49
65
  "engines": {
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "catherd",
3
- "version": "0.2.1",
4
- "description": "Herds coding agents: Claude plans and verifies, Codex and opencode workers write the code, and Jev picks the model and effort for each piece.",
3
+ "version": "1.0.0",
4
+ "description": "Herds coding agents: Claude plans and verifies, Codex, opencode or headless Claude Code workers write the code, and Jev picks the model and effort for each piece.",
5
5
  "author": {
6
6
  "name": "47vigen",
7
7
  "url": "https://github.com/47vigen"
package/plugin/.mcp.json CHANGED
@@ -2,7 +2,7 @@
2
2
  "mcpServers": {
3
3
  "catherd": {
4
4
  "command": "bunx",
5
- "args": ["catherd-cli@0.2.1", "mcp"]
5
+ "args": ["catherd-cli@1.0.0", "mcp"]
6
6
  }
7
7
  }
8
8
  }
@@ -1,5 +1,5 @@
1
1
  ---
2
- description: Orchestrate a task with catherd — Claude plans and verifies, Codex and opencode workers write the code
2
+ description: Orchestrate a task with catherd — Claude plans and verifies, Codex, opencode or headless Claude Code workers write the code
3
3
  argument-hint: "<task, or nothing to resume the latest run>"
4
4
  ---
5
5