catherd-cli 1.5.0 → 2.0.0-beta.20261022113309
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.
- package/README.md +164 -208
- package/THIRD_PARTY_NOTICES.md +217 -35
- package/catalog/jev.json +27 -1
- package/catalog/models.json +56 -247
- package/package.json +6 -8
- package/plugin/.claude-plugin/plugin.json +1 -1
- package/plugin/.codex-plugin/plugin.json +1 -1
- package/plugin/bin/catherd-mcp +1 -1
- package/plugin/commands/catherd.md +2 -2
- package/plugin/skills/catherd/SKILL.md +97 -421
- package/plugin/skills/catherd-setup/SKILL.md +20 -19
- package/src/adapters/all.ts +0 -4
- package/src/adapters/backend.ts +1 -2
- package/src/adapters/cursor/home.ts +1 -1
- package/src/adapters/cursor/index.ts +4 -4
- package/src/cli.ts +22 -27
- package/src/domain/bars.ts +33 -107
- package/src/domain/blocked.ts +72 -0
- package/src/domain/branch.ts +51 -0
- package/src/domain/brief.ts +21 -6
- package/src/domain/catalog.ts +69 -324
- package/src/domain/cost.ts +15 -30
- package/src/domain/errors.ts +2 -2
- package/src/domain/fail-lines.ts +26 -0
- package/src/domain/failover.ts +37 -87
- package/src/domain/findings.ts +47 -0
- package/src/domain/gate-brief.ts +1 -0
- package/src/domain/ids.ts +13 -2
- package/src/domain/jev.ts +47 -2
- package/src/domain/judge.ts +124 -0
- package/src/domain/lane.ts +22 -3
- package/src/domain/milestone-memory.ts +53 -0
- package/src/domain/notice.ts +25 -8
- package/src/domain/notify.ts +32 -0
- package/src/domain/plan-doc.ts +198 -0
- package/src/domain/plan-lint.ts +141 -0
- package/src/domain/profile-rules.ts +101 -160
- package/src/domain/profile.ts +116 -63
- package/src/domain/record.ts +53 -2
- package/src/domain/role-prompts.ts +131 -45
- package/src/domain/role-scope.ts +4 -34
- package/src/domain/role-tools.ts +2 -2
- package/src/domain/roles.ts +2 -0
- package/src/domain/route.ts +17 -0
- package/src/domain/rules.ts +33 -0
- package/src/domain/run-events.ts +298 -0
- package/src/domain/run-machine.ts +668 -0
- package/src/domain/run-state.ts +1310 -0
- package/src/domain/scorecard.ts +197 -0
- package/src/domain/select.ts +151 -146
- package/src/domain/slopalytics.ts +72 -0
- package/src/entry/answer-command.ts +39 -0
- package/src/entry/catalog-command.ts +25 -174
- package/src/entry/check-bin.ts +17 -0
- package/src/entry/cli-kit.ts +1 -1
- package/src/entry/daemon-bin.ts +22 -0
- package/src/entry/glyphs.ts +15 -2
- package/src/entry/init-command.ts +18 -68
- package/src/entry/knowledge-command.ts +45 -4
- package/src/entry/lock-command.ts +6 -7
- package/src/entry/mcp/role-server.ts +18 -0
- package/src/entry/mcp/server.ts +13 -40
- package/src/entry/mcp/session-tools.ts +149 -0
- package/src/entry/panel/openapi.ts +189 -0
- package/src/entry/panel/server.ts +410 -0
- package/src/entry/panel-command.ts +68 -0
- package/src/entry/profile-command.ts +10 -14
- package/src/entry/role-cli-command.ts +47 -3
- package/src/entry/runs-command.ts +3 -19
- package/src/entry/scorecard-command.ts +187 -0
- package/src/entry/supervise-bin.ts +1 -1
- package/src/infra/env.ts +0 -2
- package/src/infra/git.ts +64 -0
- package/src/infra/heavy-lock.ts +45 -7
- package/src/infra/launch.ts +63 -7
- package/src/infra/memory.ts +45 -0
- package/src/infra/ntfy.ts +40 -0
- package/src/infra/open-url.ts +42 -0
- package/src/infra/paths.ts +2 -2
- package/src/infra/slopalytics.ts +30 -0
- package/src/infra/store.ts +6 -1
- package/src/services/admission.ts +24 -9
- package/src/services/backends.ts +4 -6
- package/src/services/capture.ts +1 -22
- package/src/services/catalog-service.ts +155 -262
- package/src/services/credentials.ts +4 -20
- package/src/services/daemon.ts +181 -0
- package/src/services/dispatch-service.ts +5 -1
- package/src/services/doctor-backends.ts +1 -1
- package/src/services/doctor-checks.ts +47 -0
- package/src/services/doctor.ts +4 -9
- package/src/services/failover-rungs.ts +109 -0
- package/src/services/finalize.ts +12 -0
- package/src/services/gate-env.ts +1 -2
- package/src/services/gate-service.ts +21 -6
- package/src/services/jev-service.ts +2 -4
- package/src/services/lane-service.ts +34 -3
- package/src/services/milestone-check.ts +433 -0
- package/src/services/milestone-tree.ts +170 -0
- package/src/services/milestones.ts +35 -8
- package/src/services/notifier.ts +69 -2
- package/src/services/notify-service.ts +26 -0
- package/src/services/panel-setup.ts +116 -0
- package/src/services/plan-input.ts +151 -0
- package/src/services/ports.ts +30 -4
- package/src/services/preflight.ts +82 -8
- package/src/services/profile-service.ts +30 -3
- package/src/services/profile-store.ts +8 -3
- package/src/services/protocol.ts +4 -0
- package/src/services/provenance.ts +31 -90
- package/src/services/questions.ts +9 -0
- package/src/services/reconcile.ts +11 -0
- package/src/services/routing-service.ts +26 -15
- package/src/services/run-briefs.ts +477 -0
- package/src/services/run-client.ts +217 -0
- package/src/services/run-effects.ts +837 -0
- package/src/services/run-events-store.ts +174 -0
- package/src/services/run-evidence.ts +1 -1
- package/src/services/run-read.ts +221 -0
- package/src/services/run-report.ts +176 -0
- package/src/services/run-service.ts +55 -6
- package/src/services/run-store.ts +54 -7
- package/src/services/scorecard-metrics.ts +86 -0
- package/src/services/scorecard.ts +382 -0
- package/src/services/summary.ts +27 -3
- package/src/services/tree-path.ts +27 -0
- package/src/services/workspace-admission.ts +5 -13
- package/src/services/workspace-service.ts +5 -0
- package/web/dist/assets/Brand-PKlUX5TE.js +1 -0
- package/web/dist/assets/Brand-PKlUX5TE.js.br +0 -0
- package/web/dist/assets/Brand-PKlUX5TE.js.gz +0 -0
- package/web/dist/assets/Modal-Dxc5so53.js +1 -0
- package/web/dist/assets/Modal-Dxc5so53.js.br +0 -0
- package/web/dist/assets/Modal-Dxc5so53.js.gz +0 -0
- package/web/dist/assets/Pressable-C8-T6Ed_.js +1 -0
- package/web/dist/assets/StatusChip-B5xfI_Mn.js +153 -0
- package/web/dist/assets/StatusChip-B5xfI_Mn.js.br +0 -0
- package/web/dist/assets/StatusChip-B5xfI_Mn.js.gz +0 -0
- package/web/dist/assets/_app-Ea5cpyKe.js +1 -0
- package/web/dist/assets/_app-Ea5cpyKe.js.br +0 -0
- package/web/dist/assets/_app-Ea5cpyKe.js.gz +0 -0
- package/web/dist/assets/_runId-pTG0fXVo.js +1 -0
- package/web/dist/assets/_runId-pTG0fXVo.js.br +0 -0
- package/web/dist/assets/_runId-pTG0fXVo.js.gz +0 -0
- package/web/dist/assets/drawer-Du3cdlok.js +1 -0
- package/web/dist/assets/drawer-Du3cdlok.js.br +0 -0
- package/web/dist/assets/drawer-Du3cdlok.js.gz +0 -0
- package/web/dist/assets/geist-cyrillic-ext-wght-normal-DjL33-gN.woff2 +0 -0
- package/web/dist/assets/geist-cyrillic-wght-normal-BEAKL7Jp.woff2 +0 -0
- package/web/dist/assets/geist-latin-ext-wght-normal-DC-KSUi6.woff2 +0 -0
- package/web/dist/assets/geist-latin-wght-normal-BgDaEnEv.woff2 +0 -0
- package/web/dist/assets/geist-mono-cyrillic-ext-wght-normal-X_5orZeX.woff2 +0 -0
- package/web/dist/assets/geist-mono-cyrillic-wght-normal-DiZS0aHC.woff2 +0 -0
- package/web/dist/assets/geist-mono-latin-ext-wght-normal-Bwz-egvJ.woff2 +0 -0
- package/web/dist/assets/geist-mono-latin-wght-normal-XN7g48iV.woff2 +0 -0
- package/web/dist/assets/geist-mono-symbols2-wght-normal-CO5SzqOn.woff2 +0 -0
- package/web/dist/assets/geist-mono-vietnamese-wght-normal-DadHysG0.woff2 +0 -0
- package/web/dist/assets/geist-vietnamese-wght-normal-6IgcOCM7.woff2 +0 -0
- package/web/dist/assets/index-B6GiwDkh.js +11 -0
- package/web/dist/assets/index-B6GiwDkh.js.br +0 -0
- package/web/dist/assets/index-B6GiwDkh.js.gz +0 -0
- package/web/dist/assets/index-C5IbylvM.css +2 -0
- package/web/dist/assets/index-C5IbylvM.css.br +0 -0
- package/web/dist/assets/index-C5IbylvM.css.gz +0 -0
- package/web/dist/assets/label-DFSYBc62.js +1 -0
- package/web/dist/assets/label-DFSYBc62.js.br +0 -0
- package/web/dist/assets/label-DFSYBc62.js.gz +0 -0
- package/web/dist/assets/link-D8EcKZUt.js +1 -0
- package/web/dist/assets/link-D8EcKZUt.js.br +0 -0
- package/web/dist/assets/link-D8EcKZUt.js.gz +0 -0
- package/web/dist/assets/login-DaN5HPPW.js +1 -0
- package/web/dist/assets/login-DaN5HPPW.js.br +0 -0
- package/web/dist/assets/login-DaN5HPPW.js.gz +0 -0
- package/web/dist/assets/query-Cu--ccT3.js +1 -0
- package/web/dist/assets/questions-shoO9OVj.js +1 -0
- package/web/dist/assets/questions-shoO9OVj.js.br +0 -0
- package/web/dist/assets/questions-shoO9OVj.js.gz +0 -0
- package/web/dist/assets/react-query.gen-Bu2yV-qJ.js +12 -0
- package/web/dist/assets/react-query.gen-Bu2yV-qJ.js.br +0 -0
- package/web/dist/assets/react-query.gen-Bu2yV-qJ.js.gz +0 -0
- package/web/dist/assets/rolldown-runtime-XKyaHtl9.js +1 -0
- package/web/dist/assets/run-status-C0DRuV7U.js +1 -0
- package/web/dist/assets/runs-C3rg2zZc.js +1 -0
- package/web/dist/assets/runs-C3rg2zZc.js.br +0 -0
- package/web/dist/assets/runs-C3rg2zZc.js.gz +0 -0
- package/web/dist/assets/setup-5I4Vl9fR.js +1 -0
- package/web/dist/assets/setup-5I4Vl9fR.js.br +0 -0
- package/web/dist/assets/setup-5I4Vl9fR.js.gz +0 -0
- package/web/dist/assets/table-BOxXhqS4.js +1 -0
- package/web/dist/assets/table-BOxXhqS4.js.br +0 -0
- package/web/dist/assets/table-BOxXhqS4.js.gz +0 -0
- package/web/dist/assets/textfield-BzRFkxBF.js +1 -0
- package/web/dist/assets/textfield-BzRFkxBF.js.br +0 -0
- package/web/dist/assets/textfield-BzRFkxBF.js.gz +0 -0
- package/web/dist/assets/time--9kSQbbp.js +1 -0
- package/web/dist/assets/use-css-variable-CpnN9WtA.js +5 -0
- package/web/dist/assets/use-css-variable-CpnN9WtA.js.br +0 -0
- package/web/dist/assets/use-css-variable-CpnN9WtA.js.gz +0 -0
- package/web/dist/assets/useMutation-CVPKlR34.js +1 -0
- package/web/dist/assets/useMutation-CVPKlR34.js.br +0 -0
- package/web/dist/assets/useMutation-CVPKlR34.js.gz +0 -0
- package/web/dist/index.html +15 -0
- package/catalog/ATTRIBUTION.md +0 -44
- package/catalog/scores.json +0 -3202
- package/catalog/sources.json +0 -97
- package/src/adapters/antigravity/events.ts +0 -131
- package/src/adapters/antigravity/home.ts +0 -46
- package/src/adapters/antigravity/index.ts +0 -335
- package/src/adapters/antigravity/models.ts +0 -37
- package/src/adapters/grok/events.ts +0 -112
- package/src/adapters/grok/home.ts +0 -187
- package/src/adapters/grok/index.ts +0 -358
- package/src/adapters/grok/models.ts +0 -48
- package/src/domain/calibration.ts +0 -132
- package/src/domain/sources.ts +0 -144
- package/src/entry/mcp/dispatch-tools.ts +0 -52
- package/src/entry/mcp/lane-tools.ts +0 -131
- package/src/entry/mcp/protocol-tools.ts +0 -63
- package/src/entry/mcp/push-tools.ts +0 -16
- package/src/entry/mcp/run-tools.ts +0 -164
- package/src/entry/mcp/setup-tools.ts +0 -109
- package/src/entry/mcp/workspace-tools.ts +0 -142
- package/src/entry/tui/commands.ts +0 -563
- package/src/entry/tui/effects.ts +0 -385
- package/src/entry/tui/fixtures.ts +0 -637
- package/src/entry/tui/profile-edits.ts +0 -146
- package/src/entry/tui/profile-tree.ts +0 -429
- package/src/entry/tui/providers/app.tsx +0 -162
- package/src/entry/tui/providers/boundary.tsx +0 -57
- package/src/entry/tui/providers/data.tsx +0 -160
- package/src/entry/tui/providers/keymap.tsx +0 -166
- package/src/entry/tui/providers/root.tsx +0 -45
- package/src/entry/tui/providers/theme.tsx +0 -17
- package/src/entry/tui/providers/toast.tsx +0 -77
- package/src/entry/tui/run.tsx +0 -114
- package/src/entry/tui/state.ts +0 -400
- package/src/entry/tui/stories.ts +0 -114
- package/src/entry/tui/text.ts +0 -130
- package/src/entry/tui/theme.ts +0 -140
- package/src/entry/tui/views/app.tsx +0 -208
- package/src/entry/tui/views/dialogs.tsx +0 -41
- package/src/entry/tui/views/profile-actions.ts +0 -331
- package/src/entry/tui/views/profiles.tsx +0 -520
- package/src/entry/tui/views/runs.tsx +0 -619
- package/src/entry/tui/views/save-dialog.tsx +0 -344
- package/src/entry/tui/views/status.tsx +0 -213
- package/src/entry/tui/widgets/chrome.tsx +0 -114
- package/src/entry/tui/widgets/dialog-confirm.tsx +0 -58
- package/src/entry/tui/widgets/dialog-prompt.tsx +0 -52
- package/src/entry/tui/widgets/dialog-select.tsx +0 -212
- package/src/entry/tui/widgets/dialog.tsx +0 -68
- package/src/entry/tui/widgets/line.tsx +0 -92
- package/src/entry/tui/widgets/list.tsx +0 -197
- package/src/entry/tui/widgets/spinner.tsx +0 -49
- package/src/entry/tui/widgets/toast.tsx +0 -62
- package/src/infra/sources/arena.ts +0 -95
- package/src/infra/sources/artificial-analysis.ts +0 -119
- package/src/infra/sources/cache.ts +0 -126
- package/src/infra/sources/csv.ts +0 -38
- package/src/infra/sources/epoch.ts +0 -82
- package/src/infra/sources/http.ts +0 -75
- package/src/infra/sources/litellm.ts +0 -58
- package/src/infra/sources/models-dev.ts +0 -59
- package/src/infra/sources/openrouter-endpoints.ts +0 -52
- package/src/infra/sources/openrouter-models.ts +0 -60
- package/src/infra/sources/rows.ts +0 -38
- package/src/infra/sources/vectara.ts +0 -69
- package/src/infra/sources/zip.ts +0 -48
- package/src/services/catalog-refresh.ts +0 -201
- package/src/services/doctor-sources.ts +0 -76
- package/src/services/runs-page.ts +0 -290
- package/src/services/source-derive.ts +0 -397
- package/src/services/source-sync.ts +0 -312
- package/src/services/standins.ts +0 -238
- package/src/services/treat-likes.ts +0 -113
package/catalog/models.json
CHANGED
|
@@ -1,13 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"schema": 1,
|
|
3
|
-
"version": "2026-10-
|
|
4
|
-
"sources": {
|
|
5
|
-
"claude": "https://platform.claude.com/docs/en/models/overview (2026-09-25); efforts https://platform.claude.com/docs/en/build-with-claude/effort; prices https://platform.claude.com/docs/en/about-claude/pricing",
|
|
6
|
-
"codex": "codex debug models --bundled, Codex CLI 0.157.0 (2026-09-25), gpt-6.1-sol from Codex CLI 0.159.2 (2026-10-01); prices https://developers.openai.com/api/docs/pricing; plan weights https://learn.chatgpt.com/docs/pricing",
|
|
7
|
-
"opencode": "opencode models <provider> --verbose on 1.18.32 and the v2 model.list (2026-09-25); https://opencode.ai/docs/zen, https://opencode.ai/docs/go",
|
|
8
|
-
"cursor": "cursor-agent models on 2026.09.28-64d2043 (research 2026-09-29 §2.4; ids to confirm in the live kit, docs/dev/live-verification.md §11); prices https://openrouter.ai/api/v1/models and https://models.dev/api.json (2026-09-28)",
|
|
9
|
-
"antigravity": "agy 1.2.13 docs (models, and slugs such as gemini-3.8-flash-high; research 2026-09-29 §4.5) and the Gemini API's thinking levels; ids and efforts to confirm in the live kit, docs/dev/live-verification.md §13"
|
|
10
|
-
},
|
|
3
|
+
"version": "2026-10-21",
|
|
11
4
|
"backends": {
|
|
12
5
|
"codex": {
|
|
13
6
|
"imageGen": {
|
|
@@ -21,22 +14,11 @@
|
|
|
21
14
|
{
|
|
22
15
|
"id": "gpt-6-astra",
|
|
23
16
|
"name": "GPT-6 Astra",
|
|
24
|
-
"vendor": "openai",
|
|
25
|
-
"releaseDate": "2026-09-04",
|
|
26
17
|
"capabilities": { "toolUse": true, "imageIn": true, "reasoning": true },
|
|
27
|
-
"price": { "input": 10, "cached": 1, "output": 50 },
|
|
28
18
|
"planWeight": 60,
|
|
29
19
|
"on": {
|
|
30
|
-
"codex": {
|
|
31
|
-
|
|
32
|
-
"efforts": ["low", "medium", "high", "xhigh", "max", "ultra"],
|
|
33
|
-
"context": 272000
|
|
34
|
-
},
|
|
35
|
-
"opencode": {
|
|
36
|
-
"id": "opencode/gpt-6-astra",
|
|
37
|
-
"efforts": ["low", "medium", "high", "xhigh", "max"],
|
|
38
|
-
"context": 1050000
|
|
39
|
-
}
|
|
20
|
+
"codex": { "id": "gpt-6-astra" },
|
|
21
|
+
"opencode": { "id": "opencode/gpt-6-astra" }
|
|
40
22
|
},
|
|
41
23
|
"notes": {
|
|
42
24
|
"ultra": "maximum reasoning with automatic task delegation to parallel subagents; never in a default ladder"
|
|
@@ -45,17 +27,9 @@
|
|
|
45
27
|
{
|
|
46
28
|
"id": "gpt-6.1-sol",
|
|
47
29
|
"name": "GPT-6.1 Sol",
|
|
48
|
-
"predecessor": "gpt-6-sol",
|
|
49
|
-
"vendor": "openai",
|
|
50
|
-
"releaseDate": "2026-09-29",
|
|
51
30
|
"capabilities": { "toolUse": true, "imageIn": true, "reasoning": true },
|
|
52
|
-
"price": { "input": 2, "cached": 0.1, "output": 10 },
|
|
53
31
|
"on": {
|
|
54
|
-
"codex": {
|
|
55
|
-
"id": "gpt-6.1-sol",
|
|
56
|
-
"efforts": ["low", "medium", "high", "xhigh", "max", "ultra"],
|
|
57
|
-
"context": 272000
|
|
58
|
-
}
|
|
32
|
+
"codex": { "id": "gpt-6.1-sol" }
|
|
59
33
|
},
|
|
60
34
|
"notes": {
|
|
61
35
|
"ultra": "maximum reasoning with automatic task delegation to parallel subagents; never in a default ladder"
|
|
@@ -64,24 +38,12 @@
|
|
|
64
38
|
{
|
|
65
39
|
"id": "gpt-6-sol",
|
|
66
40
|
"name": "GPT-6 Sol",
|
|
67
|
-
"predecessor": "gpt-5.6-sol",
|
|
68
|
-
"vendor": "openai",
|
|
69
|
-
"releaseDate": "2026-09-22",
|
|
70
41
|
"capabilities": { "toolUse": true, "imageIn": true, "reasoning": true },
|
|
71
|
-
"price": { "input": 2, "cached": 0.2, "output": 10 },
|
|
72
42
|
"planWeight": 20,
|
|
73
43
|
"on": {
|
|
74
|
-
"codex": {
|
|
75
|
-
|
|
76
|
-
|
|
77
|
-
"context": 272000
|
|
78
|
-
},
|
|
79
|
-
"opencode": {
|
|
80
|
-
"id": "opencode/gpt-6-sol",
|
|
81
|
-
"efforts": ["none", "low", "medium", "high", "xhigh", "max"],
|
|
82
|
-
"context": 1050000
|
|
83
|
-
},
|
|
84
|
-
"cursor": { "id": "gpt-6-sol", "efforts": ["low", "high", "xhigh"], "context": 200000 }
|
|
44
|
+
"codex": { "id": "gpt-6-sol" },
|
|
45
|
+
"opencode": { "id": "opencode/gpt-6-sol" },
|
|
46
|
+
"cursor": { "id": "gpt-6-sol" }
|
|
85
47
|
},
|
|
86
48
|
"notes": {
|
|
87
49
|
"ultra": "maximum reasoning with automatic task delegation to parallel subagents; never in a default ladder"
|
|
@@ -90,124 +52,63 @@
|
|
|
90
52
|
{
|
|
91
53
|
"id": "gpt-6-luna",
|
|
92
54
|
"name": "GPT-6 Luna",
|
|
93
|
-
"predecessor": "gpt-5.6-luna",
|
|
94
|
-
"vendor": "openai",
|
|
95
|
-
"releaseDate": "2026-09-22",
|
|
96
55
|
"capabilities": { "toolUse": true, "imageIn": true, "reasoning": true },
|
|
97
|
-
"price": { "input": 0.1, "cached": 0.01, "output": 0.5 },
|
|
98
56
|
"planWeight": 1,
|
|
99
57
|
"on": {
|
|
100
|
-
"codex": {
|
|
101
|
-
|
|
102
|
-
|
|
103
|
-
|
|
104
|
-
},
|
|
105
|
-
"opencode": {
|
|
106
|
-
"id": "opencode/gpt-6-luna",
|
|
107
|
-
"efforts": ["none", "low", "medium", "high", "xhigh", "max"],
|
|
108
|
-
"context": 1050000
|
|
109
|
-
},
|
|
110
|
-
"opencode-go": {
|
|
111
|
-
"id": "opencode-go/gpt-6-luna",
|
|
112
|
-
"efforts": ["none", "low", "medium", "high", "xhigh", "max"],
|
|
113
|
-
"context": 1050000
|
|
114
|
-
},
|
|
115
|
-
"cursor": { "id": "gpt-6-luna", "efforts": ["high"], "context": 200000 }
|
|
58
|
+
"codex": { "id": "gpt-6-luna" },
|
|
59
|
+
"opencode": { "id": "opencode/gpt-6-luna" },
|
|
60
|
+
"opencode-go": { "id": "opencode-go/gpt-6-luna" },
|
|
61
|
+
"cursor": { "id": "gpt-6-luna" }
|
|
116
62
|
}
|
|
117
63
|
},
|
|
118
64
|
{
|
|
119
65
|
"id": "gpt-5.6-sol",
|
|
120
66
|
"name": "GPT-5.6 Sol",
|
|
121
|
-
"vendor": "openai",
|
|
122
|
-
"releaseDate": "2026-07-09",
|
|
123
|
-
"status": "legacy",
|
|
124
67
|
"capabilities": { "toolUse": true, "imageIn": true, "reasoning": true },
|
|
125
|
-
"price": { "input": 4, "cached": 0.4, "output": 20 },
|
|
126
68
|
"planWeight": 30,
|
|
127
69
|
"on": {
|
|
128
|
-
"codex": {
|
|
129
|
-
|
|
130
|
-
"efforts": ["low", "medium", "high", "xhigh", "max", "ultra"],
|
|
131
|
-
"context": 272000
|
|
132
|
-
},
|
|
133
|
-
"opencode": {
|
|
134
|
-
"id": "opencode/gpt-5.6-sol",
|
|
135
|
-
"efforts": ["none", "low", "medium", "high", "xhigh", "max"],
|
|
136
|
-
"context": 1050000
|
|
137
|
-
}
|
|
70
|
+
"codex": { "id": "gpt-5.6-sol" },
|
|
71
|
+
"opencode": { "id": "opencode/gpt-5.6-sol" }
|
|
138
72
|
},
|
|
139
|
-
"notes": {
|
|
73
|
+
"notes": {
|
|
74
|
+
"upgrade": "Codex offers gpt-6-sol as its upgrade"
|
|
75
|
+
}
|
|
140
76
|
},
|
|
141
77
|
{
|
|
142
78
|
"id": "gpt-5.6-terra",
|
|
143
79
|
"name": "GPT-5.6 Terra",
|
|
144
|
-
"vendor": "openai",
|
|
145
|
-
"releaseDate": "2026-07-09",
|
|
146
|
-
"status": "legacy",
|
|
147
80
|
"capabilities": { "toolUse": true, "imageIn": true, "reasoning": true },
|
|
148
|
-
"price": { "input": 2, "cached": 0.2, "output": 12 },
|
|
149
81
|
"planWeight": 15,
|
|
150
82
|
"on": {
|
|
151
|
-
"codex": {
|
|
152
|
-
|
|
153
|
-
"efforts": ["low", "medium", "high", "xhigh", "max", "ultra"],
|
|
154
|
-
"context": 272000
|
|
155
|
-
},
|
|
156
|
-
"opencode": {
|
|
157
|
-
"id": "opencode/gpt-5.6-terra",
|
|
158
|
-
"efforts": ["none", "low", "medium", "high", "xhigh", "max"],
|
|
159
|
-
"context": 1050000
|
|
160
|
-
}
|
|
83
|
+
"codex": { "id": "gpt-5.6-terra" },
|
|
84
|
+
"opencode": { "id": "opencode/gpt-5.6-terra" }
|
|
161
85
|
},
|
|
162
|
-
"notes": {
|
|
86
|
+
"notes": {
|
|
87
|
+
"upgrade": "Codex offers gpt-6-sol as its upgrade"
|
|
88
|
+
}
|
|
163
89
|
},
|
|
164
90
|
{
|
|
165
91
|
"id": "gpt-5.6-luna",
|
|
166
92
|
"name": "GPT-5.6 Luna",
|
|
167
|
-
"vendor": "openai",
|
|
168
|
-
"releaseDate": "2026-07-09",
|
|
169
|
-
"status": "legacy",
|
|
170
93
|
"capabilities": { "toolUse": true, "imageIn": true, "reasoning": true },
|
|
171
|
-
"price": { "input": 0.2, "cached": 0.02, "output": 1.2 },
|
|
172
94
|
"planWeight": 1.5,
|
|
173
95
|
"on": {
|
|
174
|
-
"codex": {
|
|
175
|
-
|
|
176
|
-
|
|
177
|
-
"context": 272000
|
|
178
|
-
},
|
|
179
|
-
"opencode": {
|
|
180
|
-
"id": "opencode/gpt-5.6-luna",
|
|
181
|
-
"efforts": ["none", "low", "medium", "high", "xhigh", "max"],
|
|
182
|
-
"context": 1050000
|
|
183
|
-
},
|
|
184
|
-
"opencode-go": {
|
|
185
|
-
"id": "opencode-go/gpt-5.6-luna",
|
|
186
|
-
"efforts": ["none", "low", "medium", "high", "xhigh", "max"],
|
|
187
|
-
"context": 1050000
|
|
188
|
-
}
|
|
96
|
+
"codex": { "id": "gpt-5.6-luna" },
|
|
97
|
+
"opencode": { "id": "opencode/gpt-5.6-luna" },
|
|
98
|
+
"opencode-go": { "id": "opencode-go/gpt-5.6-luna" }
|
|
189
99
|
},
|
|
190
|
-
"notes": {
|
|
100
|
+
"notes": {
|
|
101
|
+
"upgrade": "Codex offers gpt-6-luna as its upgrade"
|
|
102
|
+
}
|
|
191
103
|
},
|
|
192
104
|
{
|
|
193
105
|
"id": "claude-fable-5-1",
|
|
194
106
|
"name": "Claude Fable 5.1",
|
|
195
|
-
"vendor": "anthropic",
|
|
196
|
-
"releaseDate": "2026-09-01",
|
|
197
107
|
"capabilities": { "toolUse": true, "imageIn": true, "reasoning": true },
|
|
198
|
-
"price": { "input": 10, "cached": 0.25, "output": 50 },
|
|
199
108
|
"meteredOnPlan": true,
|
|
200
109
|
"on": {
|
|
201
|
-
"claude-code": {
|
|
202
|
-
|
|
203
|
-
"efforts": ["low", "medium", "high", "xhigh", "max"],
|
|
204
|
-
"context": 1000000
|
|
205
|
-
},
|
|
206
|
-
"opencode": {
|
|
207
|
-
"id": "opencode/claude-fable-5-1",
|
|
208
|
-
"efforts": ["low", "medium", "high", "xhigh", "max"],
|
|
209
|
-
"context": 1000000
|
|
210
|
-
}
|
|
110
|
+
"claude-code": { "id": "claude-fable-5-1" },
|
|
111
|
+
"opencode": { "id": "opencode/claude-fable-5-1" }
|
|
211
112
|
},
|
|
212
113
|
"notes": {
|
|
213
114
|
"plan": "Pro and Team Standard pay usage credits for Fable; Max includes it up to half the weekly limit"
|
|
@@ -216,201 +117,109 @@
|
|
|
216
117
|
{
|
|
217
118
|
"id": "claude-opus-5-5",
|
|
218
119
|
"name": "Claude Opus 5.5",
|
|
219
|
-
"vendor": "anthropic",
|
|
220
|
-
"releaseDate": "2026-09-22",
|
|
221
120
|
"capabilities": { "toolUse": true, "imageIn": true, "reasoning": true },
|
|
222
|
-
"price": { "input": 4, "cached": 0.2, "output": 20 },
|
|
223
121
|
"on": {
|
|
224
|
-
"claude-code": {
|
|
225
|
-
|
|
226
|
-
|
|
227
|
-
"context": 1000000
|
|
228
|
-
},
|
|
229
|
-
"opencode": {
|
|
230
|
-
"id": "opencode/claude-opus-5-5",
|
|
231
|
-
"efforts": ["low", "medium", "high", "xhigh", "max"],
|
|
232
|
-
"context": 1000000
|
|
233
|
-
},
|
|
234
|
-
"cursor": {
|
|
235
|
-
"id": "claude-opus-5-5",
|
|
236
|
-
"efforts": ["low", "medium", "high", "xhigh", "max"],
|
|
237
|
-
"context": 200000
|
|
238
|
-
}
|
|
122
|
+
"claude-code": { "id": "claude-opus-5-5" },
|
|
123
|
+
"opencode": { "id": "opencode/claude-opus-5-5" },
|
|
124
|
+
"cursor": { "id": "claude-opus-5-5" }
|
|
239
125
|
},
|
|
240
|
-
"notes": {
|
|
126
|
+
"notes": {
|
|
127
|
+
"effort": "the API default effort is medium"
|
|
128
|
+
}
|
|
241
129
|
},
|
|
242
130
|
{
|
|
243
131
|
"id": "claude-sonnet-5-5",
|
|
244
132
|
"name": "Claude Sonnet 5.5",
|
|
245
|
-
"predecessor": "claude-sonnet-5",
|
|
246
|
-
"vendor": "anthropic",
|
|
247
|
-
"releaseDate": "2026-09-28",
|
|
248
133
|
"capabilities": { "toolUse": true, "imageIn": true, "reasoning": true },
|
|
249
|
-
"price": { "input": 2, "cached": 0.2, "output": 10 },
|
|
250
134
|
"on": {
|
|
251
|
-
"claude-code": {
|
|
252
|
-
|
|
253
|
-
"efforts": ["low", "medium", "high", "xhigh", "max"],
|
|
254
|
-
"context": 1000000
|
|
255
|
-
},
|
|
256
|
-
"opencode": {
|
|
257
|
-
"id": "opencode/claude-sonnet-5-5",
|
|
258
|
-
"efforts": ["low", "medium", "high", "xhigh", "max"],
|
|
259
|
-
"context": 1000000
|
|
260
|
-
}
|
|
135
|
+
"claude-code": { "id": "claude-sonnet-5-5" },
|
|
136
|
+
"opencode": { "id": "opencode/claude-sonnet-5-5" }
|
|
261
137
|
}
|
|
262
138
|
},
|
|
263
139
|
{
|
|
264
140
|
"id": "claude-sonnet-5",
|
|
265
141
|
"name": "Claude Sonnet 5",
|
|
266
|
-
"vendor": "anthropic",
|
|
267
|
-
"releaseDate": "2026-06-29",
|
|
268
142
|
"capabilities": { "toolUse": true, "imageIn": true, "reasoning": true },
|
|
269
|
-
"price": { "input": 2, "cached": 0.2, "output": 10 },
|
|
270
143
|
"on": {
|
|
271
|
-
"claude-code": {
|
|
272
|
-
|
|
273
|
-
"efforts": ["low", "medium", "high", "xhigh", "max"],
|
|
274
|
-
"context": 1000000
|
|
275
|
-
},
|
|
276
|
-
"opencode": {
|
|
277
|
-
"id": "opencode/claude-sonnet-5",
|
|
278
|
-
"efforts": ["low", "medium", "high", "xhigh", "max"],
|
|
279
|
-
"context": 1000000
|
|
280
|
-
}
|
|
144
|
+
"claude-code": { "id": "claude-sonnet-5" },
|
|
145
|
+
"opencode": { "id": "opencode/claude-sonnet-5" }
|
|
281
146
|
}
|
|
282
147
|
},
|
|
283
148
|
{
|
|
284
|
-
"id": "claude-
|
|
149
|
+
"id": "claude-4-5-haiku",
|
|
285
150
|
"name": "Claude Haiku 4.5",
|
|
286
|
-
"vendor": "anthropic",
|
|
287
|
-
"releaseDate": "2025-10-15",
|
|
288
151
|
"capabilities": { "toolUse": true, "imageIn": true, "reasoning": true },
|
|
289
|
-
"price": { "input": 1, "cached": 0.1, "output": 5 },
|
|
290
152
|
"on": {
|
|
291
|
-
"claude-code": { "id": "claude-haiku-4-5-20251001"
|
|
292
|
-
"opencode": { "id": "opencode/claude-haiku-4-5"
|
|
153
|
+
"claude-code": { "id": "claude-haiku-4-5-20251001" },
|
|
154
|
+
"opencode": { "id": "opencode/claude-haiku-4-5" }
|
|
293
155
|
},
|
|
294
|
-
"notes": {
|
|
156
|
+
"notes": {
|
|
157
|
+
"effort": "no effort parameter in Claude Code: its only rung there is #default"
|
|
158
|
+
}
|
|
295
159
|
},
|
|
296
160
|
{
|
|
297
161
|
"id": "grok-4-7",
|
|
298
162
|
"name": "Grok 4.7",
|
|
299
|
-
"predecessor": "grok-4-6",
|
|
300
|
-
"vendor": "xai",
|
|
301
|
-
"releaseDate": "2026-09-21",
|
|
302
163
|
"capabilities": { "toolUse": true, "imageIn": true, "reasoning": true },
|
|
303
|
-
"price": { "input": 2, "cached": 0.5, "output": 6 },
|
|
304
164
|
"on": {
|
|
305
|
-
"
|
|
306
|
-
"cursor": { "id": "grok-4.7", "efforts": ["low", "medium", "high", "xhigh"], "context": 200000 }
|
|
165
|
+
"cursor": { "id": "grok-4.7" }
|
|
307
166
|
},
|
|
308
167
|
"notes": {
|
|
309
|
-
"pool": "a Cursor Model in Cursor: billed from Cursor's own pool (research §2.4)"
|
|
310
|
-
"effort": "grok lists no efforts: Grok Build's effort names, low to xhigh (research §3.4, §5; live-verification §12)"
|
|
168
|
+
"pool": "a Cursor Model in Cursor: billed from Cursor's own pool (research §2.4)"
|
|
311
169
|
}
|
|
312
170
|
},
|
|
313
171
|
{
|
|
314
172
|
"id": "grok-4-6",
|
|
315
173
|
"name": "Grok 4.6",
|
|
316
|
-
"predecessor": "grok-4-5",
|
|
317
|
-
"vendor": "xai",
|
|
318
|
-
"releaseDate": "2026-08-12",
|
|
319
174
|
"capabilities": { "toolUse": true, "imageIn": true, "reasoning": true },
|
|
320
|
-
"price": { "input": 2, "cached": 0.5, "output": 6 },
|
|
321
175
|
"on": {
|
|
322
|
-
"
|
|
323
|
-
"cursor": {
|
|
324
|
-
"id": "cursor-grok-4.6",
|
|
325
|
-
"efforts": ["low", "medium", "high", "xhigh"],
|
|
326
|
-
"context": 200000
|
|
327
|
-
}
|
|
176
|
+
"cursor": { "id": "cursor-grok-4.6" }
|
|
328
177
|
},
|
|
329
178
|
"notes": {
|
|
330
|
-
"pool": "a Cursor Model in Cursor: billed from Cursor's own pool (research §2.4)"
|
|
331
|
-
"effort": "grok lists no efforts: Grok Build's effort names, low to xhigh (research §3.4, §5; live-verification §12)"
|
|
179
|
+
"pool": "a Cursor Model in Cursor: billed from Cursor's own pool (research §2.4)"
|
|
332
180
|
}
|
|
333
181
|
},
|
|
334
182
|
{
|
|
335
183
|
"id": "grok-4-5",
|
|
336
184
|
"name": "Grok 4.5",
|
|
337
|
-
"vendor": "xai",
|
|
338
|
-
"releaseDate": "2026-07-08",
|
|
339
185
|
"capabilities": { "toolUse": true, "imageIn": true, "reasoning": true },
|
|
340
|
-
"price": { "input": 2, "cached": 0.3, "output": 6 },
|
|
341
186
|
"on": {
|
|
342
|
-
"
|
|
343
|
-
"cursor": { "id": "cursor-grok-4.5", "efforts": ["low", "medium", "high"], "context": 200000 }
|
|
187
|
+
"cursor": { "id": "cursor-grok-4.5" }
|
|
344
188
|
},
|
|
345
189
|
"notes": {
|
|
346
|
-
"pool": "a Cursor Model in Cursor: billed from Cursor's own pool (research §2.4)"
|
|
347
|
-
"effort": "grok lists no efforts: Grok Build's effort names, low to xhigh (research §3.4, §5; live-verification §12)"
|
|
348
|
-
}
|
|
349
|
-
},
|
|
350
|
-
{
|
|
351
|
-
"id": "composer-2-5",
|
|
352
|
-
"name": "Composer 2.5",
|
|
353
|
-
"vendor": "cursor",
|
|
354
|
-
"capabilities": { "toolUse": true, "imageIn": true, "reasoning": true },
|
|
355
|
-
"price": { "input": 2, "cached": 0.5, "output": 6 },
|
|
356
|
-
"on": { "cursor": { "id": "composer-2.5", "efforts": [], "context": 200000 } },
|
|
357
|
-
"notes": {
|
|
358
|
-
"price": "no keyless source prices Composer (research §5); Grok 4.7's, the same Cursor pool, stands in",
|
|
359
|
-
"effort": "no effort: its only rung is #default"
|
|
190
|
+
"pool": "a Cursor Model in Cursor: billed from Cursor's own pool (research §2.4)"
|
|
360
191
|
}
|
|
361
192
|
},
|
|
362
193
|
{
|
|
363
194
|
"id": "gemini-3-8-flash",
|
|
364
195
|
"name": "Gemini 3.8 Flash",
|
|
365
|
-
"predecessor": "gemini-3-7-flash",
|
|
366
|
-
"vendor": "google",
|
|
367
|
-
"releaseDate": "2026-09-02",
|
|
368
196
|
"capabilities": { "toolUse": true, "imageIn": true, "reasoning": true },
|
|
369
|
-
"price": { "input": 0.75, "cached": 0.075, "output": 3.75 },
|
|
370
197
|
"on": {
|
|
371
|
-
"cursor": { "id": "gemini-3.8-flash"
|
|
372
|
-
"antigravity": { "id": "gemini-3.8-flash", "efforts": ["low", "medium", "high"], "context": 1048576 }
|
|
198
|
+
"cursor": { "id": "gemini-3.8-flash" }
|
|
373
199
|
}
|
|
374
200
|
},
|
|
375
201
|
{
|
|
376
202
|
"id": "gemini-3-7-flash",
|
|
377
203
|
"name": "Gemini 3.7 Flash",
|
|
378
|
-
"predecessor": "gemini-3-6-flash",
|
|
379
|
-
"vendor": "google",
|
|
380
|
-
"releaseDate": "2026-08-13",
|
|
381
204
|
"capabilities": { "toolUse": true, "imageIn": true, "reasoning": true },
|
|
382
|
-
"price": { "input": 0.75, "cached": 0.075, "output": 3.75 },
|
|
383
205
|
"on": {
|
|
384
|
-
"cursor": { "id": "gemini-3.7-flash"
|
|
385
|
-
"antigravity": { "id": "gemini-3.7-flash", "efforts": ["low", "medium", "high"], "context": 1048576 }
|
|
206
|
+
"cursor": { "id": "gemini-3.7-flash" }
|
|
386
207
|
}
|
|
387
208
|
},
|
|
388
209
|
{
|
|
389
210
|
"id": "gemini-3-6-flash",
|
|
390
211
|
"name": "Gemini 3.6 Flash",
|
|
391
|
-
"vendor": "google",
|
|
392
|
-
"releaseDate": "2026-07-21",
|
|
393
212
|
"capabilities": { "toolUse": true, "imageIn": true, "reasoning": true },
|
|
394
|
-
"price": { "input": 0.75, "cached": 0.075, "output": 3.75 },
|
|
395
213
|
"on": {
|
|
396
|
-
"cursor": {
|
|
397
|
-
"id": "gemini-3.6-flash",
|
|
398
|
-
"efforts": ["minimal", "low", "medium", "high"],
|
|
399
|
-
"context": 200000
|
|
400
|
-
},
|
|
401
|
-
"antigravity": { "id": "gemini-3.6-flash", "efforts": ["low", "medium", "high"], "context": 1048576 }
|
|
214
|
+
"cursor": { "id": "gemini-3.6-flash" }
|
|
402
215
|
}
|
|
403
216
|
},
|
|
404
217
|
{
|
|
405
|
-
"id": "gemini-3-1-pro",
|
|
218
|
+
"id": "gemini-3-1-pro-preview",
|
|
406
219
|
"name": "Gemini 3.1 Pro",
|
|
407
|
-
"vendor": "google",
|
|
408
|
-
"releaseDate": "2026-02-19",
|
|
409
220
|
"capabilities": { "toolUse": true, "imageIn": true, "reasoning": true },
|
|
410
|
-
"price": { "input": 2, "cached": 0.2, "output": 12 },
|
|
411
221
|
"on": {
|
|
412
|
-
"cursor": { "id": "gemini-3.1-pro"
|
|
413
|
-
"antigravity": { "id": "gemini-3.1-pro", "efforts": ["low", "high"], "context": 1048576 }
|
|
222
|
+
"cursor": { "id": "gemini-3.1-pro" }
|
|
414
223
|
}
|
|
415
224
|
}
|
|
416
225
|
]
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "catherd-cli",
|
|
3
|
-
"version": "
|
|
3
|
+
"version": "2.0.0-beta.20261022113309",
|
|
4
4
|
"description": "Herds coding agents: autopilot builds from your own Claude Code session.",
|
|
5
5
|
"keywords": [
|
|
6
6
|
"autopilot",
|
|
@@ -12,7 +12,7 @@
|
|
|
12
12
|
"mcp",
|
|
13
13
|
"opencode",
|
|
14
14
|
"orchestration",
|
|
15
|
-
"
|
|
15
|
+
"web-panel"
|
|
16
16
|
],
|
|
17
17
|
"homepage": "https://github.com/47vigen/catherd#readme",
|
|
18
18
|
"bugs": {
|
|
@@ -29,6 +29,7 @@
|
|
|
29
29
|
},
|
|
30
30
|
"files": [
|
|
31
31
|
"src",
|
|
32
|
+
"web/dist",
|
|
32
33
|
"catalog",
|
|
33
34
|
"plugin",
|
|
34
35
|
"THIRD_PARTY_NOTICES.md"
|
|
@@ -39,17 +40,15 @@
|
|
|
39
40
|
"lint": "oxlint --deny-warnings src test",
|
|
40
41
|
"format": "oxfmt",
|
|
41
42
|
"format:check": "oxfmt --check",
|
|
42
|
-
"
|
|
43
|
+
"panel:openapi": "bun scripts/panel-openapi.ts",
|
|
44
|
+
"panel:build": "cd web && bun install --frozen-lockfile && bun run build",
|
|
45
|
+
"prepack": "bun run panel:build",
|
|
43
46
|
"version-packages": "changeset version && bun scripts/stamp-plugin-version.mjs",
|
|
44
47
|
"release:publish": "npm view catherd-cli@$npm_package_version version >/dev/null 2>&1 || bun test/pack-smoke.ts && changeset publish"
|
|
45
48
|
},
|
|
46
49
|
"dependencies": {
|
|
47
50
|
"@modelcontextprotocol/sdk": "^1.30.1",
|
|
48
|
-
"@opentui/core": "0.5.12",
|
|
49
|
-
"@opentui/keymap": "0.5.12",
|
|
50
|
-
"@opentui/react": "0.5.12",
|
|
51
51
|
"citty": "^0.2.2",
|
|
52
|
-
"react": "^19.3.0",
|
|
53
52
|
"zod": "^4.6.5"
|
|
54
53
|
},
|
|
55
54
|
"devDependencies": {
|
|
@@ -57,7 +56,6 @@
|
|
|
57
56
|
"@commitlint/cli": "^21.2.3",
|
|
58
57
|
"@commitlint/config-conventional": "^21.2.3",
|
|
59
58
|
"@types/bun": "^1.4.2",
|
|
60
|
-
"@types/react": "^19.3.0",
|
|
61
59
|
"lefthook": "^2.1.14",
|
|
62
60
|
"oxfmt": "^0.70.0",
|
|
63
61
|
"oxlint": "^1.85.0",
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "catherd",
|
|
3
|
-
"version": "
|
|
3
|
+
"version": "2.0.0-beta.20261022113309",
|
|
4
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",
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "catherd",
|
|
3
|
-
"version": "
|
|
3
|
+
"version": "2.0.0-beta.20261022113309",
|
|
4
4
|
"description": "Shared catherd orchestration, profiles and durable role results through the versioned MCP core.",
|
|
5
5
|
"author": { "name": "47vigen", "url": "https://github.com/47vigen" },
|
|
6
6
|
"homepage": "https://github.com/47vigen/catherd",
|
package/plugin/bin/catherd-mcp
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
#!/bin/sh
|
|
2
2
|
# catherd's MCP launcher (spec 1.1 §12): the plugin's .mcp.json runs it. The release stamps VERSION
|
|
3
3
|
# (scripts/stamp-plugin-version.mjs), so the plugin always starts the server it was released with.
|
|
4
|
-
VERSION="
|
|
4
|
+
VERSION="2.0.0-beta.20261022113309"
|
|
5
5
|
|
|
6
6
|
# a global catherd at this version (catherd init installs one): start it, no resolve at all
|
|
7
7
|
if command -v catherd >/dev/null 2>&1 && [ "$(catherd --version 2>/dev/null)" = "$VERSION" ]; then
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
---
|
|
2
|
-
description: Orchestrate a task with catherd —
|
|
2
|
+
description: Orchestrate a task with catherd — a background daemon plans, dispatches, reviews and verifies it, and headless roles write the code
|
|
3
3
|
argument-hint: "<task, or nothing to resume the latest run>"
|
|
4
4
|
---
|
|
5
5
|
|
|
@@ -7,4 +7,4 @@ Use the `catherd` skill for this, and follow it exactly.
|
|
|
7
7
|
|
|
8
8
|
Task: $ARGUMENTS
|
|
9
9
|
|
|
10
|
-
If the task is empty, resume: call `status()`, tell the user which run it names,
|
|
10
|
+
If the task is empty, resume: call `status()`, tell the user which run it names and what it waits on, and relay any parked question to them: their answer goes in with `answer(run, unit, answer)`. A finished run is read with `result(run)`.
|