@aiwg/cli 2026.9.12 → 2026.9.16
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/agentic/code/providers/capability-matrix.yaml +42 -0
- package/agentic/code/providers/model-capabilities.v1.json +119 -34
- package/agentic/code/providers/model-catalog.v1.json +259 -56
- package/dist/src/cli/handlers/sessions.js +348 -42
- package/dist/src/cli/handlers/use.js +20 -1
- package/dist/src/cli/scope-resolver.js +13 -0
- package/dist/src/cli/services/deployment-verification.js +33 -2
- package/dist/src/config/aiwg-config.js +39 -0
- package/dist/src/config/user-registry.js +9 -0
- package/dist/src/extensions/manifest.js +1 -0
- package/dist/src/models/model-capabilities.v1.json +119 -34
- package/dist/src/models/model-catalog.v1.json +259 -56
- package/dist/src/models/model-discovery.js +7 -0
- package/dist/src/models/provider-policy.js +1 -1
- package/dist/src/plugin/skill-command-translator.js +1 -0
- package/dist/src/providers/capability-matrix.yaml +42 -0
- package/dist/src/providers/grokbot-paths.js +103 -0
- package/dist/src/providers/provider-definitions.js +85 -1
- package/dist/src/providers/provider-inventory.js +1 -0
- package/dist/src/sessions/adapters/claude.js +127 -3
- package/dist/src/sessions/adapters/grokbot.js +49 -0
- package/dist/src/sessions/adapters/hermes.js +17 -9
- package/dist/src/sessions/adapters/opencode.js +12 -1
- package/dist/src/sessions/contracts.js +1 -1
- package/dist/src/sessions/export-plan.js +243 -0
- package/dist/src/sessions/fortemi-export-mapping.js +300 -0
- package/dist/src/sessions/fortemi-shard-blobs.js +78 -0
- package/dist/src/sessions/fortemi-shard-recovery.js +151 -0
- package/dist/src/sessions/index.js +6 -0
- package/dist/src/sessions/output-lineage.js +43 -0
- package/dist/src/sessions/workspace-discovery.js +1 -1
- package/dist/src/skills/deployer.js +17 -0
- package/dist/src/smiths/skillsmith/collision-detector.js +1 -0
- package/package.json +1 -1
- package/tools/agents/deploy-agents.mjs +3 -2
- package/tools/agents/providers/grokbot.mjs +285 -0
|
@@ -172,6 +172,7 @@ export function resolveDelivery(delivery) {
|
|
|
172
172
|
* less aggressive at small fan-outs (10 is a safe middle ground)
|
|
173
173
|
* - hermes: MCP sidecar; rate-limit depends on upstream provider, operator
|
|
174
174
|
* should tune. Conservative 10 default.
|
|
175
|
+
* - grokbot: desktop multi-agent; conservative 4 until native evidence.
|
|
175
176
|
* - unknown: conservative 4 default.
|
|
176
177
|
*/
|
|
177
178
|
export const PROVIDER_PARALLELISM_DEFAULTS = {
|
|
@@ -186,6 +187,13 @@ export const PROVIDER_PARALLELISM_DEFAULTS = {
|
|
|
186
187
|
windsurf: { max_parallel_subagents: 10, max_parallel_ralph_loops: 3, max_parallel_mc_missions: 6 },
|
|
187
188
|
openclaw: { max_parallel_subagents: 10, max_parallel_ralph_loops: 3, max_parallel_mc_missions: 6 },
|
|
188
189
|
hermes: { max_parallel_subagents: 10, max_parallel_ralph_loops: 3, max_parallel_mc_missions: 6 },
|
|
190
|
+
// Desktop multi-agent; conservative until native concurrency evidence exists.
|
|
191
|
+
grokbot: { max_parallel_subagents: 4, max_parallel_ralph_loops: 2, max_parallel_mc_missions: 4 },
|
|
192
|
+
// Conservative defaults for remaining stable/experimental harnesses (#249).
|
|
193
|
+
openhuman: { max_parallel_subagents: 4, max_parallel_ralph_loops: 2, max_parallel_mc_missions: 4 },
|
|
194
|
+
omp: { max_parallel_subagents: 4, max_parallel_ralph_loops: 2, max_parallel_mc_missions: 4 },
|
|
195
|
+
pi: { max_parallel_subagents: 4, max_parallel_ralph_loops: 2, max_parallel_mc_missions: 4 },
|
|
196
|
+
'deepseek-harness': { max_parallel_subagents: 4, max_parallel_ralph_loops: 2, max_parallel_mc_missions: 4 },
|
|
189
197
|
};
|
|
190
198
|
const UNKNOWN_PROVIDER_PARALLELISM = {
|
|
191
199
|
max_parallel_subagents: 4,
|
|
@@ -928,6 +936,35 @@ export async function writeAiwgConfig(projectDir, config) {
|
|
|
928
936
|
}
|
|
929
937
|
}
|
|
930
938
|
}
|
|
939
|
+
/**
|
|
940
|
+
* Ensure `provider` appears in `config.providers` without wiping others (#247).
|
|
941
|
+
* First entry is the primary provider for parallelism/doctor labels.
|
|
942
|
+
* When `asPrimary` is true (explicit `--provider` deploy), move the provider to the front.
|
|
943
|
+
*/
|
|
944
|
+
export function ensureProviderListed(config, provider, opts = {}) {
|
|
945
|
+
const normalized = provider.trim();
|
|
946
|
+
if (!normalized)
|
|
947
|
+
return config;
|
|
948
|
+
const providers = Array.isArray(config.providers) ? [...config.providers] : [];
|
|
949
|
+
const idx = providers.indexOf(normalized);
|
|
950
|
+
if (opts.asPrimary) {
|
|
951
|
+
if (idx === 0) {
|
|
952
|
+
config.providers = providers;
|
|
953
|
+
return config;
|
|
954
|
+
}
|
|
955
|
+
if (idx > 0)
|
|
956
|
+
providers.splice(idx, 1);
|
|
957
|
+
providers.unshift(normalized);
|
|
958
|
+
}
|
|
959
|
+
else if (idx < 0) {
|
|
960
|
+
providers.push(normalized);
|
|
961
|
+
}
|
|
962
|
+
else {
|
|
963
|
+
return config;
|
|
964
|
+
}
|
|
965
|
+
config.providers = providers;
|
|
966
|
+
return config;
|
|
967
|
+
}
|
|
931
968
|
/**
|
|
932
969
|
* Update the `installed` record for a framework after a successful deployment.
|
|
933
970
|
* Returns the updated config (does not write to disk — caller must call writeAiwgConfig).
|
|
@@ -975,6 +1012,8 @@ export function updateInstalled(config, name, provider, counts, opts) {
|
|
|
975
1012
|
delete existing.deployedArtifactHashes;
|
|
976
1013
|
}
|
|
977
1014
|
config.installed[name] = existing;
|
|
1015
|
+
// Keep providers[] aligned with deployedTo so doctor/parallelism see the right primary (#247).
|
|
1016
|
+
ensureProviderListed(config, provider, { asPrimary: opts.asPrimary === true });
|
|
978
1017
|
return config;
|
|
979
1018
|
}
|
|
980
1019
|
/**
|
|
@@ -25,6 +25,15 @@ import { userScopeConfigPath } from '../cli/scope-resolver.js';
|
|
|
25
25
|
* never set this — it exists so the test suite can avoid clobbering the real
|
|
26
26
|
* `~/.aiwg/installed.json` on the developer's machine.
|
|
27
27
|
*/
|
|
28
|
+
/** True when AIWG_USER_REGISTRY_PATH redirects away from ~/.aiwg/installed.json. */
|
|
29
|
+
export function isUserRegistryPathOverrideActive() {
|
|
30
|
+
return Boolean(process.env.AIWG_USER_REGISTRY_PATH?.trim());
|
|
31
|
+
}
|
|
32
|
+
/**
|
|
33
|
+
* Operator-facing warning for a leftover test override (#246).
|
|
34
|
+
* Docs mark AIWG_USER_REGISTRY_PATH as test-only; doctor/status/use must surface it.
|
|
35
|
+
*/
|
|
36
|
+
export const USER_REGISTRY_PATH_OVERRIDE_WARN = 'AIWG_USER_REGISTRY_PATH is set (test override active); user registry is not writing to default ~/.aiwg/installed.json';
|
|
28
37
|
export function userRegistryPath() {
|
|
29
38
|
const override = process.env.AIWG_USER_REGISTRY_PATH;
|
|
30
39
|
if (override)
|
|
@@ -4,88 +4,130 @@
|
|
|
4
4
|
"verifiedAt": "2026-07-20",
|
|
5
5
|
"providers": {
|
|
6
6
|
"antigravity": {
|
|
7
|
-
"agent": "native",
|
|
7
|
+
"agent": "native",
|
|
8
|
+
"skill": "native",
|
|
9
|
+
"globalChild": "inherited",
|
|
8
10
|
"identifierSyntax": "model identifier accepted by Antigravity CLI 1.1.26 --model",
|
|
9
|
-
"effortValues": [
|
|
11
|
+
"effortValues": [
|
|
12
|
+
"low",
|
|
13
|
+
"medium",
|
|
14
|
+
"high"
|
|
15
|
+
],
|
|
10
16
|
"inheritance": "Omitted model and effort inherit the invoking Antigravity session",
|
|
11
17
|
"invalidPinFallback": "Provider validation/error; never assume fallback",
|
|
12
18
|
"configTarget": "agy launch arguments; custom-agent model tiers are not projected from generic AIWG model ids",
|
|
13
19
|
"artifactFormat": "YAML frontmatter plus Markdown; runtime --model and --effort flags",
|
|
14
20
|
"verification": "Pinned offline contract; authenticated model selection was not executed",
|
|
15
|
-
"sourceUrl": "https://antigravity.google/docs/cli/subagents/",
|
|
21
|
+
"sourceUrl": "https://antigravity.google/docs/cli/subagents/",
|
|
22
|
+
"verifiedAt": "2026-09-04"
|
|
16
23
|
},
|
|
17
24
|
"claude": {
|
|
18
|
-
"agent": "native",
|
|
25
|
+
"agent": "native",
|
|
26
|
+
"skill": "native",
|
|
27
|
+
"globalChild": "inherited",
|
|
19
28
|
"identifierSyntax": "Claude alias or accepted Anthropic model ID",
|
|
20
|
-
"effortValues": [
|
|
29
|
+
"effortValues": [
|
|
30
|
+
"low",
|
|
31
|
+
"medium",
|
|
32
|
+
"high"
|
|
33
|
+
],
|
|
21
34
|
"inheritance": "Omitted agent or skill fields inherit the invoking session",
|
|
22
35
|
"invalidPinFallback": "Provider validation/error; never assume fallback",
|
|
23
36
|
"configTarget": ".claude/agents/*.md and skill SKILL.md frontmatter",
|
|
24
37
|
"artifactFormat": "YAML frontmatter plus Markdown",
|
|
25
38
|
"verification": "Inspect deployed frontmatter and bounded invocation metadata",
|
|
26
|
-
"sourceUrl": "https://code.claude.com/docs/en/sub-agents",
|
|
39
|
+
"sourceUrl": "https://code.claude.com/docs/en/sub-agents",
|
|
40
|
+
"verifiedAt": "2026-07-20"
|
|
27
41
|
},
|
|
28
42
|
"codex": {
|
|
29
|
-
"agent": "native",
|
|
43
|
+
"agent": "native",
|
|
44
|
+
"skill": "unsupported",
|
|
45
|
+
"globalChild": "inherited",
|
|
30
46
|
"identifierSyntax": "Codex model slug accepted by config.toml",
|
|
31
|
-
"effortValues": [
|
|
47
|
+
"effortValues": [
|
|
48
|
+
"minimal",
|
|
49
|
+
"low",
|
|
50
|
+
"medium",
|
|
51
|
+
"high",
|
|
52
|
+
"xhigh"
|
|
53
|
+
],
|
|
32
54
|
"inheritance": "Omitted model and model_reasoning_effort inherit the parent session",
|
|
33
55
|
"invalidPinFallback": "Strict config or runtime validation; never assume fallback",
|
|
34
56
|
"configTarget": ".codex/agents/*.toml",
|
|
35
57
|
"artifactFormat": "Standalone TOML custom-agent configuration",
|
|
36
58
|
"verification": "Parse TOML and load in Codex custom-agent registry",
|
|
37
|
-
"sourceUrl": "https://learn.chatgpt.com/docs/agent-configuration/subagents",
|
|
59
|
+
"sourceUrl": "https://learn.chatgpt.com/docs/agent-configuration/subagents",
|
|
60
|
+
"verifiedAt": "2026-07-20"
|
|
38
61
|
},
|
|
39
62
|
"copilot": {
|
|
40
|
-
"agent": "native",
|
|
63
|
+
"agent": "native",
|
|
64
|
+
"skill": "unsupported",
|
|
65
|
+
"globalChild": "inherited",
|
|
41
66
|
"identifierSyntax": "Current Copilot custom-agent model identifier",
|
|
42
67
|
"inheritance": "Omitted model uses session or Auto selection",
|
|
43
68
|
"invalidPinFallback": "Plan/admin/catalog dependent; report unresolved",
|
|
44
69
|
"configTarget": ".github/agents/*.agent.md",
|
|
45
70
|
"artifactFormat": "YAML frontmatter plus Markdown",
|
|
46
71
|
"verification": "Schema fixture and entitled Copilot invocation",
|
|
47
|
-
"sourceUrl": "https://docs.github.com/en/copilot/reference/custom-agents-configuration",
|
|
72
|
+
"sourceUrl": "https://docs.github.com/en/copilot/reference/custom-agents-configuration",
|
|
73
|
+
"verifiedAt": "2026-07-20"
|
|
48
74
|
},
|
|
49
75
|
"cursor": {
|
|
50
|
-
"agent": "native",
|
|
76
|
+
"agent": "native",
|
|
77
|
+
"skill": "unsupported",
|
|
78
|
+
"globalChild": "inherited",
|
|
51
79
|
"identifierSyntax": "Cursor-supported exact model ID",
|
|
52
80
|
"inheritance": "Omitted model inherits parent selection",
|
|
53
81
|
"invalidPinFallback": "Plan/admin fallback may apply; record observed result",
|
|
54
82
|
"configTarget": ".cursor/agents/*.md",
|
|
55
83
|
"artifactFormat": "YAML frontmatter plus Markdown",
|
|
56
84
|
"verification": "Schema fixture and entitled Cursor invocation",
|
|
57
|
-
"sourceUrl": "https://cursor.com/docs/subagents",
|
|
85
|
+
"sourceUrl": "https://cursor.com/docs/subagents",
|
|
86
|
+
"verifiedAt": "2026-07-20"
|
|
58
87
|
},
|
|
59
88
|
"factory": {
|
|
60
|
-
"agent": "native",
|
|
89
|
+
"agent": "native",
|
|
90
|
+
"skill": "informational",
|
|
91
|
+
"globalChild": "native",
|
|
61
92
|
"identifierSyntax": "Factory model ID or Light/Medium/Heavy complexity",
|
|
62
|
-
"effortValues": [
|
|
93
|
+
"effortValues": [
|
|
94
|
+
"low",
|
|
95
|
+
"medium",
|
|
96
|
+
"high"
|
|
97
|
+
],
|
|
63
98
|
"inheritance": "Droid may inherit org/session model policy",
|
|
64
99
|
"invalidPinFallback": "Organization policy may substitute; record observed result",
|
|
65
100
|
"configTarget": ".factory/droids/*.md and Factory settings",
|
|
66
101
|
"artifactFormat": "YAML frontmatter plus Markdown",
|
|
67
102
|
"verification": "Fixture validation and Factory CLI model report",
|
|
68
|
-
"sourceUrl": "https://docs.factory.ai/cli/configuration/custom-droids",
|
|
103
|
+
"sourceUrl": "https://docs.factory.ai/cli/configuration/custom-droids",
|
|
104
|
+
"verifiedAt": "2026-07-20"
|
|
69
105
|
},
|
|
70
106
|
"opencode": {
|
|
71
|
-
"agent": "native",
|
|
107
|
+
"agent": "native",
|
|
108
|
+
"skill": "unsupported",
|
|
109
|
+
"globalChild": "inherited",
|
|
72
110
|
"identifierSyntax": "provider/model-id",
|
|
73
111
|
"inheritance": "Omitted agent model inherits global primary model",
|
|
74
112
|
"invalidPinFallback": "Installed provider catalog determines error/fallback",
|
|
75
113
|
"configTarget": ".opencode/agent/*.md",
|
|
76
114
|
"artifactFormat": "YAML frontmatter plus Markdown",
|
|
77
115
|
"verification": "Inspect artifact and OpenCode model registry",
|
|
78
|
-
"sourceUrl": "https://opencode.ai/docs/agents",
|
|
116
|
+
"sourceUrl": "https://opencode.ai/docs/agents",
|
|
117
|
+
"verifiedAt": "2026-07-20"
|
|
79
118
|
},
|
|
80
119
|
"warp": {
|
|
81
|
-
"agent": "global-only",
|
|
120
|
+
"agent": "global-only",
|
|
121
|
+
"skill": "unsupported",
|
|
122
|
+
"globalChild": "native",
|
|
82
123
|
"identifierSyntax": "Warp saved-profile or run model identifier",
|
|
83
124
|
"inheritance": "All delegated work uses run/profile selection",
|
|
84
125
|
"invalidPinFallback": "Profile availability dependent",
|
|
85
126
|
"configTarget": "Warp agent profile or run configuration",
|
|
86
127
|
"artifactFormat": "Saved profile / run control plane",
|
|
87
128
|
"verification": "Inspect active profile and run metadata",
|
|
88
|
-
"sourceUrl": "https://docs.warp.dev/agent-platform/capabilities/agent-profiles-permissions",
|
|
129
|
+
"sourceUrl": "https://docs.warp.dev/agent-platform/capabilities/agent-profiles-permissions",
|
|
130
|
+
"verifiedAt": "2026-07-20"
|
|
89
131
|
},
|
|
90
132
|
"omp": {
|
|
91
133
|
"agent": "native",
|
|
@@ -108,66 +150,109 @@
|
|
|
108
150
|
"verifiedAt": "2026-09-04"
|
|
109
151
|
},
|
|
110
152
|
"pi": {
|
|
111
|
-
"agent": "native",
|
|
153
|
+
"agent": "native",
|
|
154
|
+
"skill": "inherited",
|
|
155
|
+
"globalChild": "native",
|
|
112
156
|
"identifierSyntax": "provider/model identifier accepted by Pi --model",
|
|
113
|
-
"effortValues": [
|
|
157
|
+
"effortValues": [
|
|
158
|
+
"minimal",
|
|
159
|
+
"low",
|
|
160
|
+
"medium",
|
|
161
|
+
"high",
|
|
162
|
+
"xhigh"
|
|
163
|
+
],
|
|
114
164
|
"inheritance": "Omitted model and thinking level inherit the invoking Pi session",
|
|
115
165
|
"invalidPinFallback": "Pi resolves against its configured catalog and exits on invalid explicit selection",
|
|
116
166
|
"configTarget": "Pi headless launch arguments",
|
|
117
167
|
"artifactFormat": "Runtime --model and --thinking flags",
|
|
118
168
|
"verification": "Inspect strict JSONL state and the selected provider/model",
|
|
119
|
-
"sourceUrl": "https://github.com/earendil-works/pi/tree/main/packages/coding-agent#cli-reference",
|
|
169
|
+
"sourceUrl": "https://github.com/earendil-works/pi/tree/main/packages/coding-agent#cli-reference",
|
|
170
|
+
"verifiedAt": "2026-09-04"
|
|
120
171
|
},
|
|
121
172
|
"deepseek-harness": {
|
|
122
|
-
"agent": "native",
|
|
173
|
+
"agent": "native",
|
|
174
|
+
"skill": "inherited",
|
|
175
|
+
"globalChild": "native",
|
|
123
176
|
"identifierSyntax": "provider/model passed through the SDK initialize request or agent-default-model Cordis row",
|
|
124
|
-
"effortValues": [
|
|
177
|
+
"effortValues": [
|
|
178
|
+
"minimal",
|
|
179
|
+
"low",
|
|
180
|
+
"medium",
|
|
181
|
+
"high",
|
|
182
|
+
"xhigh"
|
|
183
|
+
],
|
|
125
184
|
"inheritance": "Subagents inherit the configured Harness route unless explicitly overridden",
|
|
126
185
|
"invalidPinFallback": "Explicit unavailable routes or models fail the request",
|
|
127
186
|
"configTarget": "Ephemeral Cordis route patch and SDK initialize request",
|
|
128
187
|
"artifactFormat": "agent-default-model config; JSON-RPC initialize params",
|
|
129
188
|
"verification": "Pinned source contract plus opt-in headless OpenRouter smoke",
|
|
130
|
-
"sourceUrl": "https://github.com/deepseek-ai/deepseek-harness",
|
|
189
|
+
"sourceUrl": "https://github.com/deepseek-ai/deepseek-harness",
|
|
190
|
+
"verifiedAt": "2026-09-05"
|
|
131
191
|
},
|
|
132
192
|
"windsurf": {
|
|
133
|
-
"agent": "unsupported",
|
|
193
|
+
"agent": "unsupported",
|
|
194
|
+
"skill": "unsupported",
|
|
195
|
+
"globalChild": "inherited",
|
|
134
196
|
"identifierSyntax": "UI-selected provider model",
|
|
135
197
|
"inheritance": "Child behavior follows the main UI session",
|
|
136
198
|
"invalidPinFallback": "No portable custom-child selector",
|
|
137
199
|
"configTarget": "No supported portable artifact field",
|
|
138
200
|
"artifactFormat": "Informational policy only",
|
|
139
201
|
"verification": "Assert unsupported fields are omitted",
|
|
140
|
-
"sourceUrl": "https://docs.devin.ai/desktop/cascade/skills",
|
|
202
|
+
"sourceUrl": "https://docs.devin.ai/desktop/cascade/skills",
|
|
203
|
+
"verifiedAt": "2026-07-20"
|
|
141
204
|
},
|
|
142
205
|
"openclaw": {
|
|
143
|
-
"agent": "native",
|
|
206
|
+
"agent": "native",
|
|
207
|
+
"skill": "unsupported",
|
|
208
|
+
"globalChild": "native",
|
|
144
209
|
"identifierSyntax": "Configured provider/model identifier",
|
|
145
210
|
"inheritance": "Per-agent or per-spawn override falls back to global subagent model",
|
|
146
211
|
"invalidPinFallback": "Provider/account fallback must be observed",
|
|
147
212
|
"configTarget": "OpenClaw subagent configuration",
|
|
148
213
|
"artifactFormat": "JSON/JSONC runtime configuration",
|
|
149
214
|
"verification": "Inspect resolved subagent metadata",
|
|
150
|
-
"sourceUrl": "https://docs.openclaw.ai/tools/subagents",
|
|
215
|
+
"sourceUrl": "https://docs.openclaw.ai/tools/subagents",
|
|
216
|
+
"verifiedAt": "2026-07-20"
|
|
217
|
+
},
|
|
218
|
+
"grokbot": {
|
|
219
|
+
"agent": "unsupported",
|
|
220
|
+
"skill": "unsupported",
|
|
221
|
+
"globalChild": "informational",
|
|
222
|
+
"identifierSyntax": "No verified Grok Bot native model pin surface",
|
|
223
|
+
"inheritance": "AIWG does not invent Grok Bot model IDs; routing remains informational",
|
|
224
|
+
"invalidPinFallback": "Report unsupported; do not fabricate xAI/Grok model pins as native",
|
|
225
|
+
"configTarget": "Grok Bot has no verified AIWG-owned model config path",
|
|
226
|
+
"artifactFormat": "Informational only",
|
|
227
|
+
"verification": "Confirm steward models --route --provider grokbot emits unsupported/informational",
|
|
228
|
+
"sourceUrl": "https://github.com/jmagly/aiwg/blob/main/docs/architecture/adr-grokbot-provider-target.md",
|
|
229
|
+
"verifiedAt": "2026-09-15"
|
|
151
230
|
},
|
|
152
231
|
"hermes": {
|
|
153
|
-
"agent": "global-only",
|
|
232
|
+
"agent": "global-only",
|
|
233
|
+
"skill": "unsupported",
|
|
234
|
+
"globalChild": "native",
|
|
154
235
|
"identifierSyntax": "Hermes delegation provider and model",
|
|
155
236
|
"inheritance": "All delegated workers share one configured model",
|
|
156
237
|
"invalidPinFallback": "Provider resolution is global; report actual model",
|
|
157
238
|
"configTarget": "Hermes delegation configuration",
|
|
158
239
|
"artifactFormat": "Global CLI/config setting",
|
|
159
240
|
"verification": "Inspect Hermes delegation configuration",
|
|
160
|
-
"sourceUrl": "https://hermes-agent.nousresearch.com/docs/user-guide/features/delegation",
|
|
241
|
+
"sourceUrl": "https://hermes-agent.nousresearch.com/docs/user-guide/features/delegation",
|
|
242
|
+
"verifiedAt": "2026-07-20"
|
|
161
243
|
},
|
|
162
244
|
"openhuman": {
|
|
163
|
-
"agent": "compiled",
|
|
245
|
+
"agent": "compiled",
|
|
246
|
+
"skill": "unsupported",
|
|
247
|
+
"globalChild": "inherited",
|
|
164
248
|
"identifierSyntax": "Inherit, Exact(model), or semantic Hint",
|
|
165
249
|
"inheritance": "Inherit delegates selection to router/provider defaults",
|
|
166
250
|
"invalidPinFallback": "Exact pins validate; semantic hints route dynamically",
|
|
167
251
|
"configTarget": "OpenHuman agent TOML",
|
|
168
252
|
"artifactFormat": "Standalone TOML agent definition",
|
|
169
253
|
"verification": "Parse against OpenHuman definition schema",
|
|
170
|
-
"sourceUrl": "https://github.com/tinyhumansai/openhuman/blob/main/src/openhuman/agent/harness/definition.rs",
|
|
254
|
+
"sourceUrl": "https://github.com/tinyhumansai/openhuman/blob/main/src/openhuman/agent/harness/definition.rs",
|
|
255
|
+
"verifiedAt": "2026-07-20"
|
|
171
256
|
}
|
|
172
257
|
}
|
|
173
258
|
}
|