bookmark-research 0.5.0-beta.1
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/.agents/plugins/marketplace.json +20 -0
- package/.codex-plugin/plugin.json +46 -0
- package/LICENSE +674 -0
- package/README.md +128 -0
- package/README.zh.md +126 -0
- package/bin/bookmark-research.js +30 -0
- package/config/providers.json +98 -0
- package/docs/bookmark-research-architecture.md +124 -0
- package/docs/cli-launcher-plan.md +58 -0
- package/docs/details.en.md +272 -0
- package/docs/details.md +93 -0
- package/docs/harness-compatibility.md +304 -0
- package/docs/harness-sources.json +342 -0
- package/docs/host-validation.json +298 -0
- package/docs/install-design-0.2.0.md +57 -0
- package/docs/installation.en.md +197 -0
- package/docs/installation.md +316 -0
- package/docs/instructions.en.md +42 -0
- package/docs/instructions.md +42 -0
- package/docs/mcp-aggregation-0.2.0.md +92 -0
- package/docs/multi-host-installation-plan.md +163 -0
- package/docs/prompt-reference.en.md +104 -0
- package/docs/prompt-reference.md +104 -0
- package/docs/provider-smoke-0.2.0.json +235 -0
- package/docs/release-notes-0.5.0-beta.1.md +33 -0
- package/docs/research-0.2.0.md +140 -0
- package/docs/research-sources-0.2.0.json +9360 -0
- package/docs/user-guide.en.md +74 -0
- package/docs/user-guide.md +74 -0
- package/docs/validation-0.2.0.md +126 -0
- package/docs/validation-0.4.0.md +154 -0
- package/docs/wiki-quality.md +105 -0
- package/docs/wiki-quality.zh.md +105 -0
- package/hosts/claude/runtime.js +13 -0
- package/hosts/codex/delegate.md +14 -0
- package/hosts/codex/prepare.py +61 -0
- package/hosts/dsh/plugin.js +36 -0
- package/hosts/dsh/runtime.js +14 -0
- package/hosts/dsh/workflow-call.py +45 -0
- package/hosts/pi/register-workflow.py +72 -0
- package/hosts/pi/runtime.js +18 -0
- package/hosts/shared/research-call.py +76 -0
- package/hosts/shared/research-flow.js +208 -0
- package/hosts/shared/workflow.json +15 -0
- package/install.sh +310 -0
- package/package.json +12 -0
- package/scripts/build_zip.py +143 -0
- package/scripts/export_bundle.py +496 -0
- package/scripts/host_assets.py +70 -0
- package/scripts/host_clients.py +196 -0
- package/scripts/host_install.py +277 -0
- package/scripts/install.py +593 -0
- package/scripts/launcher.py +186 -0
- package/scripts/verify_fixture.py +220 -0
- package/scripts/verify_live.py +62 -0
- package/scripts/verify_quality.py +87 -0
- package/skills/bookmark-research/SKILL.md +80 -0
- package/skills/bookmark-research/agents/openai.yaml +3 -0
- package/skills/bookmark-research/references/cli.md +150 -0
- package/skills/bookmark-research/references/deep-research.md +164 -0
- package/skills/bookmark-research/references/github-and-sync.md +30 -0
- package/skills/bookmark-research/references/host-workflows.md +101 -0
- package/skills/bookmark-research/references/package-semantics.md +78 -0
- package/skills/bookmark-research/references/research-methods.md +51 -0
- package/skills/bookmark-research/references/research-services.md +72 -0
- package/skills/bookmark-research/references/research-workflow.md +57 -0
- package/skills/bookmark-research/references/settings-and-archive.md +104 -0
- package/skills/bookmark-research/references/source-lifecycle.md +75 -0
- package/skills/bookmark-research/references/wiki-and-evaluation.md +63 -0
- package/skills/bookmark-research/references/zh/cli.md +150 -0
- package/skills/bookmark-research/references/zh/deep-research.md +164 -0
- package/skills/bookmark-research/references/zh/github-and-sync.md +30 -0
- package/skills/bookmark-research/references/zh/host-workflows.md +101 -0
- package/skills/bookmark-research/references/zh/package-semantics.md +78 -0
- package/skills/bookmark-research/references/zh/research-methods.md +51 -0
- package/skills/bookmark-research/references/zh/research-services.md +70 -0
- package/skills/bookmark-research/references/zh/research-workflow.md +57 -0
- package/skills/bookmark-research/references/zh/settings-and-archive.md +104 -0
- package/skills/bookmark-research/references/zh/skill-guide.md +75 -0
- package/skills/bookmark-research/references/zh/source-lifecycle.md +75 -0
- package/skills/bookmark-research/references/zh/wiki-and-evaluation.md +63 -0
- package/src/archive.py +302 -0
- package/src/bookmark_index.py +913 -0
- package/src/cli.py +435 -0
- package/src/credentials.py +82 -0
- package/src/evaluation.py +337 -0
- package/src/jina.py +96 -0
- package/src/mcp_server.py +641 -0
- package/src/onboarding.py +352 -0
- package/src/provider_adapters.py +152 -0
- package/src/readiness.py +283 -0
- package/src/remote_mcp.py +295 -0
- package/src/research.py +1334 -0
- package/src/research_coverage.py +160 -0
- package/src/research_services.py +684 -0
- package/src/routing.py +202 -0
- package/src/search_results.py +244 -0
- package/src/service_http.py +139 -0
- package/src/settings.py +247 -0
- package/src/source_inputs.py +201 -0
- package/src/source_manager.py +348 -0
- package/src/source_watcher.py +68 -0
- package/src/textio.py +9 -0
- package/src/tui.py +586 -0
- package/src/web_search.py +603 -0
- package/src/wiki.py +383 -0
|
@@ -0,0 +1,342 @@
|
|
|
1
|
+
{
|
|
2
|
+
"schema_version": 1,
|
|
3
|
+
"topic": "Bookmark Research cross-harness packaging compatibility",
|
|
4
|
+
"research_date": "2026-09-07",
|
|
5
|
+
"updated_on": "2026-09-08",
|
|
6
|
+
"source_policy": "Official product documentation, official repositories and Agent Plugins normative schemas only.",
|
|
7
|
+
"limitations": [
|
|
8
|
+
"Exa retrieval may return indexed content and does not establish a uniform live-origin timestamp.",
|
|
9
|
+
"Mutable repository branches are not pinned release artifacts.",
|
|
10
|
+
"This research subtask did not install clients. Codex 0.153.4 launch diagnostics were supplied by the project's local integration task; Claude Code, Pi and DeepSeek Harness client loading remains untested.",
|
|
11
|
+
"Exported configuration shape, shared runtime tests and target-client interoperability are separate checks."
|
|
12
|
+
],
|
|
13
|
+
"sources": [
|
|
14
|
+
{
|
|
15
|
+
"id": "H01",
|
|
16
|
+
"title": "Agent Plugins Specification 1.0.0",
|
|
17
|
+
"url": "https://agent-plugins.org/specification",
|
|
18
|
+
"publisher": "Agent Plugins",
|
|
19
|
+
"revision": "1.0.0",
|
|
20
|
+
"supports": [
|
|
21
|
+
"Root plugin.json requires $schema and name; fixed skills/ and mcp.json discovery.",
|
|
22
|
+
"Client-specific manifest data and files use reverse-domain namespaces.",
|
|
23
|
+
"stdio executable, path containment, PLUGIN_ROOT and PLUGIN_DATA semantics.",
|
|
24
|
+
"The specification does not establish that a named existing client has adopted the format."
|
|
25
|
+
],
|
|
26
|
+
"read_scope": "Full extracted specification; normative sections 4–11 inspected.",
|
|
27
|
+
"retrieval_method": "Exa MCP web_search_exa and/or web_fetch_exa",
|
|
28
|
+
"retrieved_on": "2026-09-07",
|
|
29
|
+
"evidence_status": "official_content_read",
|
|
30
|
+
"runtime_tested_in_this_subtask": false
|
|
31
|
+
},
|
|
32
|
+
{
|
|
33
|
+
"id": "H02",
|
|
34
|
+
"title": "Agent Plugins 1.0.0 plugin manifest JSON Schema",
|
|
35
|
+
"url": "https://agent-plugins.org/schemas/1.0.0/plugin.schema.json",
|
|
36
|
+
"publisher": "Agent Plugins",
|
|
37
|
+
"revision": "1.0.0",
|
|
38
|
+
"supports": [
|
|
39
|
+
"Closed top-level manifest object.",
|
|
40
|
+
"Required $schema and name; metadata and extensions types."
|
|
41
|
+
],
|
|
42
|
+
"read_scope": "Full extracted schema.",
|
|
43
|
+
"retrieval_method": "Exa MCP web_search_exa and/or web_fetch_exa",
|
|
44
|
+
"retrieved_on": "2026-09-07",
|
|
45
|
+
"evidence_status": "official_content_read",
|
|
46
|
+
"runtime_tested_in_this_subtask": false
|
|
47
|
+
},
|
|
48
|
+
{
|
|
49
|
+
"id": "H03",
|
|
50
|
+
"title": "Agent Plugins 1.0.0 MCP configuration JSON Schema",
|
|
51
|
+
"url": "https://agent-plugins.org/schemas/1.0.0/mcp.schema.json",
|
|
52
|
+
"publisher": "Agent Plugins",
|
|
53
|
+
"revision": "1.0.0",
|
|
54
|
+
"supports": [
|
|
55
|
+
"Required root $schema and mcpServers.",
|
|
56
|
+
"stdio requires type and command; env may not define PLUGIN_ROOT or PLUGIN_DATA.",
|
|
57
|
+
"Runtime path containment is separate from JSON Schema validation."
|
|
58
|
+
],
|
|
59
|
+
"read_scope": "Full extracted schema.",
|
|
60
|
+
"retrieval_method": "Exa MCP web_search_exa and/or web_fetch_exa",
|
|
61
|
+
"retrieved_on": "2026-09-07",
|
|
62
|
+
"evidence_status": "official_content_read",
|
|
63
|
+
"runtime_tested_in_this_subtask": false
|
|
64
|
+
},
|
|
65
|
+
{
|
|
66
|
+
"id": "H04",
|
|
67
|
+
"title": "Package your plugin",
|
|
68
|
+
"url": "https://developers.openai.com/plugins/build/plugins",
|
|
69
|
+
"publisher": "OpenAI",
|
|
70
|
+
"revision": "Current documentation URL; not a pinned client release.",
|
|
71
|
+
"supports": [
|
|
72
|
+
".codex-plugin/plugin.json is the Codex/OpenAI native manifest path.",
|
|
73
|
+
"Skills and MCP configuration belong at the plugin root.",
|
|
74
|
+
"Current documentation shows direct server maps or mcp_servers-wrapped maps for referenced MCP configuration files."
|
|
75
|
+
],
|
|
76
|
+
"read_scope": "Extracted page through plugin layout and bundled MCP configuration sections.",
|
|
77
|
+
"qualification": "Read according to the OpenAI Docs skill; schema compatibility must still be checked against the selected runtime and local plugin tooling.",
|
|
78
|
+
"retrieval_method": "Exa MCP web_search_exa and/or web_fetch_exa",
|
|
79
|
+
"retrieved_on": "2026-09-07",
|
|
80
|
+
"evidence_status": "official_content_read",
|
|
81
|
+
"runtime_tested_in_this_subtask": false
|
|
82
|
+
},
|
|
83
|
+
{
|
|
84
|
+
"id": "H05",
|
|
85
|
+
"title": "Claude Code plugins reference",
|
|
86
|
+
"url": "https://code.claude.com/docs/en/plugins-reference",
|
|
87
|
+
"publisher": "Anthropic",
|
|
88
|
+
"revision": "Current documentation URL; not a pinned Claude Code release.",
|
|
89
|
+
"supports": [
|
|
90
|
+
".claude-plugin/plugin.json is the native manifest path; current documentation allows the manifest to be omitted.",
|
|
91
|
+
"If a manifest is present, name is the required identity field.",
|
|
92
|
+
"Root skills and MCP configuration, native plugin path variables, component and installation conventions."
|
|
93
|
+
],
|
|
94
|
+
"read_scope": "Extracted page including manifest schema and MCP sections.",
|
|
95
|
+
"qualification": "Does not establish root Agent Plugins plugin.json interoperability.",
|
|
96
|
+
"retrieval_method": "Exa MCP web_search_exa and/or web_fetch_exa",
|
|
97
|
+
"retrieved_on": "2026-09-07",
|
|
98
|
+
"evidence_status": "official_content_read",
|
|
99
|
+
"runtime_tested_in_this_subtask": false
|
|
100
|
+
},
|
|
101
|
+
{
|
|
102
|
+
"id": "H06",
|
|
103
|
+
"title": "Codex 0.153.4 native plugin MCP configuration parser",
|
|
104
|
+
"url": "https://github.com/openai/codex/blob/rust-v0.153.4/codex-rs/codex-mcp/src/plugin_config.rs",
|
|
105
|
+
"retrieval_url": "https://raw.githubusercontent.com/openai/codex/refs/tags/rust-v0.153.4/codex-rs/codex-mcp/src/plugin_config.rs",
|
|
106
|
+
"publisher": "OpenAI",
|
|
107
|
+
"revision": "rust-v0.153.4",
|
|
108
|
+
"supports": [
|
|
109
|
+
"Native host-plugin normalization resolves an explicitly relative cwd with root.join(cwd).",
|
|
110
|
+
"The native normalizer does not expand PLUGIN_ROOT, CLAUDE_PLUGIN_ROOT or CODEX_PLUGIN_ROOT in command or args.",
|
|
111
|
+
"Host-plugin normalization leaves an absent cwd unset; executor-owned plugin normalization separately supplies a plugin-root default.",
|
|
112
|
+
"Agent Plugins MCP configuration uses a separate agent_plugin_config.rs parser."
|
|
113
|
+
],
|
|
114
|
+
"read_scope": "Full raw source for the precise release tag, including normalize_plugin_mcp_server and normalize_plugin_mcp_server_value.",
|
|
115
|
+
"qualification": "The project's local Codex 0.153.4 diagnostic trace independently reported literal PLUGIN_ROOT args, session cwd and no plugin-root environment injection. The read-only research subtask did not repeat client execution.",
|
|
116
|
+
"retrieval_method": "Exa MCP web_fetch_exa; GitHub blob fetch timed out, raw release-tag source succeeded.",
|
|
117
|
+
"retrieved_on": "2026-09-08",
|
|
118
|
+
"evidence_status": "official_release_source_read",
|
|
119
|
+
"runtime_tested_in_this_subtask": false
|
|
120
|
+
},
|
|
121
|
+
{
|
|
122
|
+
"id": "P01",
|
|
123
|
+
"title": "Pi Coding Agent",
|
|
124
|
+
"url": "https://pi.dev",
|
|
125
|
+
"publisher": "Pi / earendil-works",
|
|
126
|
+
"revision": "Current project homepage.",
|
|
127
|
+
"supports": [
|
|
128
|
+
"Current installation package is @earendil-works/pi-coding-agent.",
|
|
129
|
+
"Extensibility uses extensions, skills, prompt templates and themes.",
|
|
130
|
+
"MCP integration is presented as an extension/package capability."
|
|
131
|
+
],
|
|
132
|
+
"read_scope": "Full extracted homepage.",
|
|
133
|
+
"retrieval_method": "Exa MCP web_search_exa and/or web_fetch_exa",
|
|
134
|
+
"retrieved_on": "2026-09-07",
|
|
135
|
+
"evidence_status": "official_content_read",
|
|
136
|
+
"runtime_tested_in_this_subtask": false
|
|
137
|
+
},
|
|
138
|
+
{
|
|
139
|
+
"id": "P02",
|
|
140
|
+
"title": "Pi Packages",
|
|
141
|
+
"url": "https://github.com/earendil-works/pi/blob/main/packages/coding-agent/docs/packages.md",
|
|
142
|
+
"publisher": "Pi / earendil-works",
|
|
143
|
+
"revision": "main (mutable)",
|
|
144
|
+
"supports": [
|
|
145
|
+
"package.json pi key can declare skills, extensions, prompts and themes.",
|
|
146
|
+
"pi install accepts npm, git and local paths; local paths are recorded without copying.",
|
|
147
|
+
"Global and project package settings; package resource paths and dependency conventions."
|
|
148
|
+
],
|
|
149
|
+
"read_scope": "Extracted package documentation; installation, local paths, manifest and dependency sections inspected.",
|
|
150
|
+
"retrieval_method": "Exa MCP web_search_exa and/or web_fetch_exa",
|
|
151
|
+
"retrieved_on": "2026-09-07",
|
|
152
|
+
"evidence_status": "official_content_read",
|
|
153
|
+
"runtime_tested_in_this_subtask": false
|
|
154
|
+
},
|
|
155
|
+
{
|
|
156
|
+
"id": "P03",
|
|
157
|
+
"title": "Pi Skills",
|
|
158
|
+
"url": "https://github.com/earendil-works/pi/blob/main/packages/coding-agent/docs/skills.md",
|
|
159
|
+
"publisher": "Pi / earendil-works",
|
|
160
|
+
"revision": "main (mutable)",
|
|
161
|
+
"supports": [
|
|
162
|
+
"Global, project, package, settings and --skill discovery.",
|
|
163
|
+
"/skill:name command; progressive disclosure; shared Agent Skills format.",
|
|
164
|
+
"Pi allows broader recursive discovery than Agent Plugins 1.0.0; shared packages should keep the stricter simple layout."
|
|
165
|
+
],
|
|
166
|
+
"read_scope": "Full extracted skills documentation.",
|
|
167
|
+
"retrieval_method": "Exa MCP web_search_exa and/or web_fetch_exa",
|
|
168
|
+
"retrieved_on": "2026-09-07",
|
|
169
|
+
"evidence_status": "official_content_read",
|
|
170
|
+
"runtime_tested_in_this_subtask": false
|
|
171
|
+
},
|
|
172
|
+
{
|
|
173
|
+
"id": "P04",
|
|
174
|
+
"title": "Pi Extensions",
|
|
175
|
+
"url": "https://github.com/earendil-works/pi/blob/main/packages/coding-agent/docs/extensions.md",
|
|
176
|
+
"publisher": "Pi / earendil-works",
|
|
177
|
+
"revision": "main (mutable)",
|
|
178
|
+
"supports": [
|
|
179
|
+
"Default extension factory receives ExtensionAPI.",
|
|
180
|
+
"pi.registerTool registers model-callable tools; current examples import from @earendil-works/pi-coding-agent and typebox.",
|
|
181
|
+
"Extension locations, TypeScript loading, startup/shutdown lifecycle and package declarations."
|
|
182
|
+
],
|
|
183
|
+
"read_scope": "Opening and API/lifecycle excerpts; not all examples were fetched.",
|
|
184
|
+
"retrieval_method": "Exa MCP web_search_exa and/or web_fetch_exa",
|
|
185
|
+
"retrieved_on": "2026-09-07",
|
|
186
|
+
"evidence_status": "official_content_read",
|
|
187
|
+
"runtime_tested_in_this_subtask": false
|
|
188
|
+
},
|
|
189
|
+
{
|
|
190
|
+
"id": "P05",
|
|
191
|
+
"title": "Using Pi — Design Principles and CLI",
|
|
192
|
+
"url": "https://raw.githubusercontent.com/earendil-works/pi/main/packages/coding-agent/docs/usage.md",
|
|
193
|
+
"publisher": "Pi / earendil-works",
|
|
194
|
+
"revision": "main (mutable)",
|
|
195
|
+
"supports": [
|
|
196
|
+
"The design-principles section explicitly states that Pi core does not include built-in MCP.",
|
|
197
|
+
"--skill is an additive command-line resource option.",
|
|
198
|
+
"Package management and project trust are host behavior, not supplied by a generic MCP server."
|
|
199
|
+
],
|
|
200
|
+
"read_scope": "Full extracted usage page; CLI and closing Design Principles sections inspected.",
|
|
201
|
+
"retrieval_method": "Exa MCP web_search_exa and/or web_fetch_exa",
|
|
202
|
+
"retrieved_on": "2026-09-07",
|
|
203
|
+
"evidence_status": "official_content_read",
|
|
204
|
+
"runtime_tested_in_this_subtask": false
|
|
205
|
+
},
|
|
206
|
+
{
|
|
207
|
+
"id": "D01",
|
|
208
|
+
"title": "DeepSeek Harness README",
|
|
209
|
+
"url": "https://github.com/deepseek-ai/deepseek-harness/blob/master/README.md",
|
|
210
|
+
"publisher": "DeepSeek AI",
|
|
211
|
+
"revision": "master (mutable)",
|
|
212
|
+
"supports": [
|
|
213
|
+
"Project identity, dsh launcher and Cordis-based plugin architecture.",
|
|
214
|
+
"Developer preview and explicitly expected compatibility-breaking changes."
|
|
215
|
+
],
|
|
216
|
+
"read_scope": "Full extracted README.",
|
|
217
|
+
"retrieval_method": "Exa MCP web_search_exa and/or web_fetch_exa",
|
|
218
|
+
"retrieved_on": "2026-09-07",
|
|
219
|
+
"evidence_status": "official_content_read",
|
|
220
|
+
"runtime_tested_in_this_subtask": false
|
|
221
|
+
},
|
|
222
|
+
{
|
|
223
|
+
"id": "D02",
|
|
224
|
+
"title": "Package and install a plugin",
|
|
225
|
+
"url": "https://github.com/deepseek-ai/deepseek-harness/blob/master/docs/user/develop/basic/publish.md",
|
|
226
|
+
"publisher": "DeepSeek AI",
|
|
227
|
+
"revision": "master (mutable)",
|
|
228
|
+
"supports": [
|
|
229
|
+
"Bundle package.json declares dsh.bundle.patch; profiles separately declare dsh.profile.bundles.",
|
|
230
|
+
"dsh plugin --profile NAME add PATH installs a bundle; --dump-config inspects composition.",
|
|
231
|
+
"Later patch rows replace complete config values; native JS entry points are used when a bundle contributes its own Cordis module."
|
|
232
|
+
],
|
|
233
|
+
"read_scope": "Full extracted tutorial.",
|
|
234
|
+
"retrieval_method": "Exa MCP web_search_exa and/or web_fetch_exa",
|
|
235
|
+
"retrieved_on": "2026-09-07",
|
|
236
|
+
"evidence_status": "official_content_read",
|
|
237
|
+
"runtime_tested_in_this_subtask": false
|
|
238
|
+
},
|
|
239
|
+
{
|
|
240
|
+
"id": "D03",
|
|
241
|
+
"title": "Your first plugin",
|
|
242
|
+
"url": "https://github.com/deepseek-ai/deepseek-harness/blob/master/docs/user/develop/basic/index.md",
|
|
243
|
+
"publisher": "DeepSeek AI",
|
|
244
|
+
"revision": "master (mutable)",
|
|
245
|
+
"supports": [
|
|
246
|
+
"Cordis named exports name, inject and apply; object and class forms also supported.",
|
|
247
|
+
"Local --patch plugin module paths are absolute; overlay location does not reset the profile's resolution root.",
|
|
248
|
+
"Services are awaited before activation and ctx.effect supplies cleanup."
|
|
249
|
+
],
|
|
250
|
+
"read_scope": "Full extracted tutorial.",
|
|
251
|
+
"retrieval_method": "Exa MCP web_search_exa and/or web_fetch_exa",
|
|
252
|
+
"retrieved_on": "2026-09-07",
|
|
253
|
+
"evidence_status": "official_content_read",
|
|
254
|
+
"runtime_tested_in_this_subtask": false
|
|
255
|
+
},
|
|
256
|
+
{
|
|
257
|
+
"id": "D04",
|
|
258
|
+
"title": "DSH MCP client bridge README",
|
|
259
|
+
"url": "https://github.com/deepseek-ai/deepseek-harness/blob/master/packages/mcp/mcp-client/README.md",
|
|
260
|
+
"publisher": "DeepSeek AI",
|
|
261
|
+
"revision": "master (mutable)",
|
|
262
|
+
"supports": [
|
|
263
|
+
"@deepseek-ai/dsh-mcp-client connects one server per plugin instance.",
|
|
264
|
+
"stdio and Streamable HTTP; command/args/env/cwd and reconnection settings.",
|
|
265
|
+
"MCP tools become mcp__server__tool; Resources and Prompts are not bridged by this implementation."
|
|
266
|
+
],
|
|
267
|
+
"read_scope": "Full extracted README.",
|
|
268
|
+
"retrieval_method": "Exa MCP web_search_exa and/or web_fetch_exa",
|
|
269
|
+
"retrieved_on": "2026-09-07",
|
|
270
|
+
"evidence_status": "official_content_read",
|
|
271
|
+
"runtime_tested_in_this_subtask": false
|
|
272
|
+
},
|
|
273
|
+
{
|
|
274
|
+
"id": "D05",
|
|
275
|
+
"title": "DSH MCP client entry source",
|
|
276
|
+
"url": "https://github.com/deepseek-ai/deepseek-harness/blob/master/packages/mcp/mcp-client/src/index.ts",
|
|
277
|
+
"publisher": "DeepSeek AI",
|
|
278
|
+
"revision": "master (mutable)",
|
|
279
|
+
"supports": [
|
|
280
|
+
"name = mcp-client, inject = ['tools'], async apply(ctx, config).",
|
|
281
|
+
"Config schema includes transport, serverName, command, args, env, cwd, toolCallTimeoutMs and failOnStartupError.",
|
|
282
|
+
"Distinct server-name reservation and effect-scoped disposal; no plugin-root placeholder expansion contract in this entry."
|
|
283
|
+
],
|
|
284
|
+
"read_scope": "Full extracted entry source.",
|
|
285
|
+
"qualification": "Absence of a placeholder contract in this source is not a statement about every future DSH extension; examples therefore use resolved absolute paths.",
|
|
286
|
+
"retrieval_method": "Exa MCP web_search_exa and/or web_fetch_exa",
|
|
287
|
+
"retrieved_on": "2026-09-07",
|
|
288
|
+
"evidence_status": "official_content_read",
|
|
289
|
+
"runtime_tested_in_this_subtask": false
|
|
290
|
+
},
|
|
291
|
+
{
|
|
292
|
+
"id": "D06",
|
|
293
|
+
"title": "DSH Skills subsystem",
|
|
294
|
+
"url": "https://github.com/deepseek-ai/deepseek-harness/blob/master/docs/subsystems/skills.md",
|
|
295
|
+
"publisher": "DeepSeek AI",
|
|
296
|
+
"revision": "master (mutable)",
|
|
297
|
+
"supports": [
|
|
298
|
+
"Project/custom/user/bundled skill-root precedence.",
|
|
299
|
+
"<name>/SKILL.md and flat Markdown discovery; no arbitrary recursive **/SKILL.md discovery.",
|
|
300
|
+
"Registry, filesystem provider and model-facing skill consumer are separate capabilities."
|
|
301
|
+
],
|
|
302
|
+
"read_scope": "Extracted subsystem documentation including discovery and policy sections.",
|
|
303
|
+
"retrieval_method": "Exa MCP web_search_exa and/or web_fetch_exa",
|
|
304
|
+
"retrieved_on": "2026-09-07",
|
|
305
|
+
"evidence_status": "official_content_read",
|
|
306
|
+
"runtime_tested_in_this_subtask": false
|
|
307
|
+
},
|
|
308
|
+
{
|
|
309
|
+
"id": "D07",
|
|
310
|
+
"title": "DSH filesystem skill provider source",
|
|
311
|
+
"url": "https://github.com/deepseek-ai/deepseek-harness/blob/master/packages/skill/skill-filesystem/src/index.ts",
|
|
312
|
+
"publisher": "DeepSeek AI",
|
|
313
|
+
"revision": "master (mutable)",
|
|
314
|
+
"supports": [
|
|
315
|
+
"customSkillDirs and includeDefaultRoots configuration.",
|
|
316
|
+
"Default dshHome and agentsHome, source-rank construction and provider injection into skills service."
|
|
317
|
+
],
|
|
318
|
+
"read_scope": "Opening source and configuration/root-resolution excerpts.",
|
|
319
|
+
"retrieval_method": "Exa MCP web_search_exa and/or web_fetch_exa",
|
|
320
|
+
"retrieved_on": "2026-09-07",
|
|
321
|
+
"evidence_status": "official_content_read",
|
|
322
|
+
"runtime_tested_in_this_subtask": false
|
|
323
|
+
},
|
|
324
|
+
{
|
|
325
|
+
"id": "D08",
|
|
326
|
+
"title": "dsh CLI behavior reference",
|
|
327
|
+
"url": "https://github.com/deepseek-ai/deepseek-harness/blob/master/apps/cli/reference/README.md",
|
|
328
|
+
"publisher": "DeepSeek AI",
|
|
329
|
+
"revision": "master (mutable)",
|
|
330
|
+
"supports": [
|
|
331
|
+
"Profile boot order; built-in web/headless profile templates versus new arbitrary base-only profiles.",
|
|
332
|
+
"dsh plugin forwards to pnpm and reconciles dsh.bundle manifests.",
|
|
333
|
+
"--dump-config is a configuration inspection step, not an application boot test."
|
|
334
|
+
],
|
|
335
|
+
"read_scope": "Full extracted CLI reference.",
|
|
336
|
+
"retrieval_method": "Exa MCP web_search_exa and/or web_fetch_exa",
|
|
337
|
+
"retrieved_on": "2026-09-07",
|
|
338
|
+
"evidence_status": "official_content_read",
|
|
339
|
+
"runtime_tested_in_this_subtask": false
|
|
340
|
+
}
|
|
341
|
+
]
|
|
342
|
+
}
|
|
@@ -0,0 +1,298 @@
|
|
|
1
|
+
{
|
|
2
|
+
"schema_version": 1,
|
|
3
|
+
"checked_on": "2026-09-11",
|
|
4
|
+
"scope": "Four-host artifacts, choreography contracts and actual shared stdio MCP. This is not a paid host research run.",
|
|
5
|
+
"host_first_review": {
|
|
6
|
+
"checked_on": "2026-09-13",
|
|
7
|
+
"method": "Exa search and page extraction through the current plugin CLI",
|
|
8
|
+
"scope": "Host collaboration, MCP/Skill access, and host-first research routing; not four-host end-to-end execution",
|
|
9
|
+
"origin_freshness": "not_established",
|
|
10
|
+
"completeness": "unknown",
|
|
11
|
+
"runtime_tested": false,
|
|
12
|
+
"local_validation": {
|
|
13
|
+
"unit_tests_passed": 369,
|
|
14
|
+
"skill_and_plugin_validation": "passed",
|
|
15
|
+
"installed_stdio": {
|
|
16
|
+
"version": "0.4.0+codex.20260913140145",
|
|
17
|
+
"matching_export_files": 61,
|
|
18
|
+
"tool_count": 35,
|
|
19
|
+
"routing_cases_passed": 5,
|
|
20
|
+
"network_calls": 0,
|
|
21
|
+
"database_created": false,
|
|
22
|
+
"research_execution_started": false
|
|
23
|
+
},
|
|
24
|
+
"four_host_end_to_end": "not_run"
|
|
25
|
+
},
|
|
26
|
+
"rechecked_source_ids_with_unchanged_hashes": ["W3", "W7"],
|
|
27
|
+
"sources": [
|
|
28
|
+
{
|
|
29
|
+
"id": "W12",
|
|
30
|
+
"url": "https://developers.openai.com/codex/subagents",
|
|
31
|
+
"sha256": "9e1693a5eb5d6877f43d84a67a33544e37553801191bb6915b8295f2b3135de2",
|
|
32
|
+
"read_scope": "Availability, native orchestration, delegation rules and parent configuration inheritance"
|
|
33
|
+
},
|
|
34
|
+
{
|
|
35
|
+
"id": "W13",
|
|
36
|
+
"url": "https://code.claude.com/docs/en/sub-agents",
|
|
37
|
+
"sha256": "2d6849d3924a109422d5c9a9429f20fb488ee78eb4dd9acc7057e6f7d3e70175",
|
|
38
|
+
"read_scope": "Ordinary subagents, available tools/MCP filters, Skill preloading and child context"
|
|
39
|
+
},
|
|
40
|
+
{
|
|
41
|
+
"id": "W14",
|
|
42
|
+
"url": "https://code.claude.com/docs/en/agent-teams",
|
|
43
|
+
"sha256": "7fcf71d3490d7f02610e09ee32125c433d713e7b55bfc698d43c84ba9b4dc0f9",
|
|
44
|
+
"read_scope": "Experimental enablement, shared tasks, messaging and teammate context/MCP/Skill settings"
|
|
45
|
+
},
|
|
46
|
+
{
|
|
47
|
+
"id": "W15",
|
|
48
|
+
"url": "https://raw.githubusercontent.com/earendil-works/pi/main/packages/coding-agent/docs/usage.md",
|
|
49
|
+
"sha256": "b6f36be5d035ce9cf50aaf3e15ac2176613fb8e0f55be8f6f8730c4bac66cd2b",
|
|
50
|
+
"read_scope": "Resource/tool options and design principles excluding built-in MCP and subagents"
|
|
51
|
+
},
|
|
52
|
+
{
|
|
53
|
+
"id": "W16",
|
|
54
|
+
"url": "https://github.com/earendil-works/pi/tree/main/packages/coding-agent/examples/extensions/subagent",
|
|
55
|
+
"sha256": "41ee13a3c03d188240ccc6ea3361c325da33237c215f8923e3b2439e98a7ece2",
|
|
56
|
+
"read_scope": "Official extension example: isolated subprocesses, single/parallel/chain modes and tool configuration"
|
|
57
|
+
}
|
|
58
|
+
]
|
|
59
|
+
},
|
|
60
|
+
"sources": [
|
|
61
|
+
{
|
|
62
|
+
"id": "W1",
|
|
63
|
+
"url": "https://code.claude.com/docs/en/workflows",
|
|
64
|
+
"retrieved_at": "2026-09-10T14:47:37.789660+00:00",
|
|
65
|
+
"method": "Exa saved page extraction",
|
|
66
|
+
"content_kind": "provider_extracted_text",
|
|
67
|
+
"sha256": "279959e978889d5436be24945aa72f9553fed84c4193ffa6b0c62d4a1d8e3bea",
|
|
68
|
+
"completeness": "unknown",
|
|
69
|
+
"origin_freshness": "not_established",
|
|
70
|
+
"runtime_verification": false
|
|
71
|
+
},
|
|
72
|
+
{
|
|
73
|
+
"id": "W2",
|
|
74
|
+
"url": "https://claude.com/blog/introducing-dynamic-workflows-in-claude-code",
|
|
75
|
+
"retrieved_at": "2026-09-10T14:47:37.789660+00:00",
|
|
76
|
+
"method": "Exa saved page extraction",
|
|
77
|
+
"content_kind": "provider_extracted_text",
|
|
78
|
+
"sha256": "04ee8d82a1b4ea47714d88a29e259374ebecb8544c285d18f89838687d497914",
|
|
79
|
+
"completeness": "unknown",
|
|
80
|
+
"origin_freshness": "not_established",
|
|
81
|
+
"runtime_verification": false
|
|
82
|
+
},
|
|
83
|
+
{
|
|
84
|
+
"id": "W3",
|
|
85
|
+
"url": "https://developers.openai.com/codex/concepts/customization",
|
|
86
|
+
"retrieved_at": "2026-09-10T14:47:37.789660+00:00",
|
|
87
|
+
"method": "Exa saved page extraction",
|
|
88
|
+
"content_kind": "provider_extracted_text",
|
|
89
|
+
"sha256": "80289c50c991d4ad054a4d4aee4d78fa89b88d010e1a57da543ba4fb56278dee",
|
|
90
|
+
"completeness": "unknown",
|
|
91
|
+
"origin_freshness": "not_established",
|
|
92
|
+
"runtime_verification": false
|
|
93
|
+
},
|
|
94
|
+
{
|
|
95
|
+
"id": "W4",
|
|
96
|
+
"url": "https://developers.openai.com/codex/workflows",
|
|
97
|
+
"retrieved_at": "2026-09-10T14:47:37.789660+00:00",
|
|
98
|
+
"method": "Exa saved page extraction",
|
|
99
|
+
"content_kind": "provider_extracted_text",
|
|
100
|
+
"sha256": "7bc97bc8d609c5bfa5df58b1c4248d1b58882023b8ab8aaa904941432c682064",
|
|
101
|
+
"completeness": "unknown",
|
|
102
|
+
"origin_freshness": "not_established",
|
|
103
|
+
"runtime_verification": false
|
|
104
|
+
},
|
|
105
|
+
{
|
|
106
|
+
"id": "W5",
|
|
107
|
+
"url": "https://pi.dev/packages/pi-subagents-workflows",
|
|
108
|
+
"retrieved_at": "2026-09-10T14:47:37.789660+00:00",
|
|
109
|
+
"method": "Exa saved page extraction",
|
|
110
|
+
"content_kind": "provider_extracted_text",
|
|
111
|
+
"sha256": "4e7a662a251d0ae7b530731133725f77746661b05d8b2d2e4af42f470b7876d2",
|
|
112
|
+
"completeness": "unknown",
|
|
113
|
+
"origin_freshness": "not_established",
|
|
114
|
+
"runtime_verification": false
|
|
115
|
+
},
|
|
116
|
+
{
|
|
117
|
+
"id": "W6",
|
|
118
|
+
"url": "https://github.com/nicobailon/pi-subagents",
|
|
119
|
+
"retrieved_at": "2026-09-10T14:47:37.789660+00:00",
|
|
120
|
+
"method": "Exa saved page extraction",
|
|
121
|
+
"content_kind": "provider_extracted_text",
|
|
122
|
+
"sha256": "9d97907a09bb7cbe110186898c81a92be388a4a69b9fab1f1c0cedefd474e9b2",
|
|
123
|
+
"completeness": "unknown",
|
|
124
|
+
"origin_freshness": "not_established",
|
|
125
|
+
"runtime_verification": false
|
|
126
|
+
},
|
|
127
|
+
{
|
|
128
|
+
"id": "W7",
|
|
129
|
+
"url": "https://deepseek-harness.github.io/deepseek-harness/en/reference/subsystems/workflow",
|
|
130
|
+
"retrieved_at": "2026-09-10T14:47:37.789660+00:00",
|
|
131
|
+
"method": "Exa saved page extraction",
|
|
132
|
+
"content_kind": "provider_extracted_text",
|
|
133
|
+
"sha256": "2b18104e3631bf2e2db68c41e400d936259115bc8236333efd54d9c8eea02eff",
|
|
134
|
+
"completeness": "unknown",
|
|
135
|
+
"origin_freshness": "not_established",
|
|
136
|
+
"runtime_verification": false
|
|
137
|
+
},
|
|
138
|
+
{
|
|
139
|
+
"id": "W8",
|
|
140
|
+
"url": "https://github.com/deepseek-ai/deepseek-harness/blob/master/packages/workflow/tool-workflow/README.md",
|
|
141
|
+
"retrieved_at": "2026-09-10T14:47:37.789660+00:00",
|
|
142
|
+
"method": "Exa saved page extraction",
|
|
143
|
+
"content_kind": "provider_extracted_text",
|
|
144
|
+
"sha256": "31676b24d65c6ca5bbcda1a777ee77854b3894700edaedc4f4afd92a9da52fb3",
|
|
145
|
+
"completeness": "unknown",
|
|
146
|
+
"origin_freshness": "not_established",
|
|
147
|
+
"runtime_verification": false
|
|
148
|
+
}
|
|
149
|
+
],
|
|
150
|
+
"supplementary_sources": [
|
|
151
|
+
{
|
|
152
|
+
"id": "W9",
|
|
153
|
+
"url": "https://learn.chatgpt.com/docs/agent-configuration/subagents",
|
|
154
|
+
"read_on": "2026-09-11",
|
|
155
|
+
"content_kind": "html",
|
|
156
|
+
"sha256": "2ef3debd56838912b1198c4e327c930fca2f75f1978487a57499161fc52e5033",
|
|
157
|
+
"completeness": "unknown"
|
|
158
|
+
},
|
|
159
|
+
{
|
|
160
|
+
"id": "W10",
|
|
161
|
+
"url": "https://github.com/nicobailon/pi-subagents/blob/main/docs/workflows.md",
|
|
162
|
+
"read_on": "2026-09-11",
|
|
163
|
+
"content_kind": "raw_markdown",
|
|
164
|
+
"sha256": "9d11adb32bd743ee3320b6ecca544d17165177daf55abdd1c375d9182a83f33d",
|
|
165
|
+
"completeness": "unknown"
|
|
166
|
+
},
|
|
167
|
+
{
|
|
168
|
+
"id": "W11",
|
|
169
|
+
"url": "https://github.com/nicobailon/pi-subagents/blob/main/docs/tool-reference.md",
|
|
170
|
+
"read_on": "2026-09-11",
|
|
171
|
+
"content_kind": "raw_markdown",
|
|
172
|
+
"sha256": "9507f30e4013d0967431be18c65b292727bc67351cb987b7a0a8130d831f8017",
|
|
173
|
+
"completeness": "unknown"
|
|
174
|
+
}
|
|
175
|
+
],
|
|
176
|
+
"local_capabilities": {
|
|
177
|
+
"codex": {
|
|
178
|
+
"version": "0.153.4",
|
|
179
|
+
"multi_agent": {
|
|
180
|
+
"stability": "stable",
|
|
181
|
+
"enabled": true
|
|
182
|
+
},
|
|
183
|
+
"session_tools_still_required": true,
|
|
184
|
+
"installed_plugin_verification": {
|
|
185
|
+
"base_version": "0.3.0",
|
|
186
|
+
"marketplace": "personal",
|
|
187
|
+
"backup_hashes_verified": true,
|
|
188
|
+
"mcp_transport": "actual installed-cache stdio",
|
|
189
|
+
"mcp_tool_count": 34,
|
|
190
|
+
"non_manifest_file_hashes_matched": 36,
|
|
191
|
+
"codex_host_assets_matched": 3,
|
|
192
|
+
"cli_fts5": true,
|
|
193
|
+
"read_only_tool_calls": ["research_route", "research_services"],
|
|
194
|
+
"network_calls": 0,
|
|
195
|
+
"database_created": false,
|
|
196
|
+
"new_thread_required": true
|
|
197
|
+
},
|
|
198
|
+
"delegated_skill_acceptance": {
|
|
199
|
+
"input": "Fresh synthetic canvas; expected answers not read",
|
|
200
|
+
"bookmark_instances": 7,
|
|
201
|
+
"original_urls": 6,
|
|
202
|
+
"local_documents_reviewed": 5,
|
|
203
|
+
"metadata_claims": 6,
|
|
204
|
+
"wiki_pages": 2,
|
|
205
|
+
"accounted_urls": 6,
|
|
206
|
+
"original_pages_reviewed": 0,
|
|
207
|
+
"research_status": "incomplete",
|
|
208
|
+
"input_and_evidence_hashes_verified": true,
|
|
209
|
+
"provider_calls": 0,
|
|
210
|
+
"additional_verifier": "Host thread limit reached; disclosed same-agent second review",
|
|
211
|
+
"live_web_research_verified": false
|
|
212
|
+
}
|
|
213
|
+
},
|
|
214
|
+
"claude": {
|
|
215
|
+
"version": "2.1.247",
|
|
216
|
+
"manifest_validation": {
|
|
217
|
+
"command": "claude plugin validate --strict <temporary-export>",
|
|
218
|
+
"exit_code": 0,
|
|
219
|
+
"warnings": 0,
|
|
220
|
+
"result": "Validation passed",
|
|
221
|
+
"scope": "Native plugin manifest; not execution of workflow code"
|
|
222
|
+
},
|
|
223
|
+
"account_workflow_access_verified": false,
|
|
224
|
+
"live_client_attempt": {
|
|
225
|
+
"plugin_loaded": true,
|
|
226
|
+
"mcp_connected": true,
|
|
227
|
+
"mcp_tool_count": 34,
|
|
228
|
+
"workflow_tool_visible": true,
|
|
229
|
+
"packaged_workflow_command_visible": true,
|
|
230
|
+
"synthetic_input_urls": 2,
|
|
231
|
+
"synthetic_bookmark_instances": 3,
|
|
232
|
+
"initial_isolated_launch": "User authentication was not loaded",
|
|
233
|
+
"existing_configuration_launch": "Configured model endpoint returned 429 / Service Unavailable",
|
|
234
|
+
"subagents_started": 0,
|
|
235
|
+
"reported_cost_usd": 0,
|
|
236
|
+
"native_workflow_execution_passed": false,
|
|
237
|
+
"global_configuration_changed": false
|
|
238
|
+
}
|
|
239
|
+
},
|
|
240
|
+
"pi": {
|
|
241
|
+
"found_in_path": false,
|
|
242
|
+
"node_version": "22.17.0",
|
|
243
|
+
"required_node_version": "22.19.0",
|
|
244
|
+
"required_pi_version": "0.83",
|
|
245
|
+
"required_pi_subagents_version": "0.43.0",
|
|
246
|
+
"required_extensions": [
|
|
247
|
+
"pi-subagents",
|
|
248
|
+
"pi-subagents-workflows"
|
|
249
|
+
],
|
|
250
|
+
"native_workflow_validator_run": false
|
|
251
|
+
},
|
|
252
|
+
"dsh": {
|
|
253
|
+
"found_in_path": false,
|
|
254
|
+
"profile_configured": false,
|
|
255
|
+
"native_workflow_run": false
|
|
256
|
+
}
|
|
257
|
+
},
|
|
258
|
+
"checks": [
|
|
259
|
+
{
|
|
260
|
+
"command": "python3 -B -m unittest discover -s tests -p test_host_workflows.py -v",
|
|
261
|
+
"status": "passed",
|
|
262
|
+
"tests": 8,
|
|
263
|
+
"nested_isolated_javascript_checks": 36
|
|
264
|
+
},
|
|
265
|
+
{
|
|
266
|
+
"name": "complete_inventory",
|
|
267
|
+
"transport": "actual local stdio MCP",
|
|
268
|
+
"input": "synthetic 207-URL package",
|
|
269
|
+
"result": "Every page and unique u- ID preserved; groups flatten to the complete inventory; agents_started=0"
|
|
270
|
+
},
|
|
271
|
+
{
|
|
272
|
+
"name": "complete_analysis_artifact",
|
|
273
|
+
"transport": "actual local stdio MCP",
|
|
274
|
+
"result": "207 IDs plus child failures persisted as a JSON object outside the package, read back unchanged, SHA-256 verified, replay idempotent"
|
|
275
|
+
},
|
|
276
|
+
{
|
|
277
|
+
"name": "project_registration",
|
|
278
|
+
"result": "Pi project-scoped registration is idempotent; differing existing definitions and symlinks are preserved and rejected"
|
|
279
|
+
},
|
|
280
|
+
{
|
|
281
|
+
"name": "isolated_choreography",
|
|
282
|
+
"result": "Reading/verification barriers, complete differences, child failures, fatal errors and full artifact requirements checked using simulated native hooks; Pi forbids nested async helpers"
|
|
283
|
+
}
|
|
284
|
+
],
|
|
285
|
+
"boundaries": {
|
|
286
|
+
"global_configuration_changed": false,
|
|
287
|
+
"host_extensions_installed": false,
|
|
288
|
+
"paid_model_runs_started": 0,
|
|
289
|
+
"source_package_write_authorized": false,
|
|
290
|
+
"complete_paid_host_end_to_end": "not_run",
|
|
291
|
+
"limits": [
|
|
292
|
+
"Mutable source branches and provider-extracted text are not pinned host releases or proof of whole-page completeness.",
|
|
293
|
+
"Pi and DSH were not installed; Node is below the Pi workflow requirement.",
|
|
294
|
+
"Codex feature state and Claude manifest validation do not prove native tools or account access in an arbitrary session.",
|
|
295
|
+
"Local correlation IDs beginning local: are not native host run IDs."
|
|
296
|
+
]
|
|
297
|
+
}
|
|
298
|
+
}
|