@tiangong-ai/cli 0.0.51 → 0.0.56

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (216) hide show
  1. package/AGENTS.md +22 -2
  2. package/README.md +171 -7
  3. package/dist/cli.js +10 -1
  4. package/dist/cli.js.map +1 -1
  5. package/dist/data/builtins.d.ts +1 -0
  6. package/dist/data/builtins.js +40 -0
  7. package/dist/data/builtins.js.map +1 -0
  8. package/dist/data/catalog.d.ts +25 -0
  9. package/dist/data/catalog.js +305 -0
  10. package/dist/data/catalog.js.map +1 -0
  11. package/dist/data/commands.d.ts +9 -0
  12. package/dist/data/commands.js +307 -0
  13. package/dist/data/commands.js.map +1 -0
  14. package/dist/data/connectors/airnow-hourly-observations.d.ts +2 -0
  15. package/dist/data/connectors/airnow-hourly-observations.js +522 -0
  16. package/dist/data/connectors/airnow-hourly-observations.js.map +1 -0
  17. package/dist/data/connectors/airnow-hourly-observations.schemas.d.ts +299 -0
  18. package/dist/data/connectors/airnow-hourly-observations.schemas.js +188 -0
  19. package/dist/data/connectors/airnow-hourly-observations.schemas.js.map +1 -0
  20. package/dist/data/connectors/bluesky-public-posts.d.ts +2 -0
  21. package/dist/data/connectors/bluesky-public-posts.js +705 -0
  22. package/dist/data/connectors/bluesky-public-posts.js.map +1 -0
  23. package/dist/data/connectors/bluesky-public-posts.schemas.d.ts +733 -0
  24. package/dist/data/connectors/bluesky-public-posts.schemas.js +422 -0
  25. package/dist/data/connectors/bluesky-public-posts.schemas.js.map +1 -0
  26. package/dist/data/connectors/epa-eis-records.d.ts +2 -0
  27. package/dist/data/connectors/epa-eis-records.js +566 -0
  28. package/dist/data/connectors/epa-eis-records.js.map +1 -0
  29. package/dist/data/connectors/epa-eis-records.schemas.d.ts +199 -0
  30. package/dist/data/connectors/epa-eis-records.schemas.js +146 -0
  31. package/dist/data/connectors/epa-eis-records.schemas.js.map +1 -0
  32. package/dist/data/connectors/federal-register-documents.d.ts +2 -0
  33. package/dist/data/connectors/federal-register-documents.js +517 -0
  34. package/dist/data/connectors/federal-register-documents.js.map +1 -0
  35. package/dist/data/connectors/federal-register-documents.schemas.d.ts +357 -0
  36. package/dist/data/connectors/federal-register-documents.schemas.js +243 -0
  37. package/dist/data/connectors/federal-register-documents.schemas.js.map +1 -0
  38. package/dist/data/connectors/gdelt-doc-search.d.ts +2 -0
  39. package/dist/data/connectors/gdelt-doc-search.js +658 -0
  40. package/dist/data/connectors/gdelt-doc-search.js.map +1 -0
  41. package/dist/data/connectors/gdelt-doc-search.schemas.d.ts +446 -0
  42. package/dist/data/connectors/gdelt-doc-search.schemas.js +330 -0
  43. package/dist/data/connectors/gdelt-doc-search.schemas.js.map +1 -0
  44. package/dist/data/connectors/gdelt-file-feeds.d.ts +4 -0
  45. package/dist/data/connectors/gdelt-file-feeds.js +591 -0
  46. package/dist/data/connectors/gdelt-file-feeds.js.map +1 -0
  47. package/dist/data/connectors/gdelt-file-feeds.schemas.d.ts +40 -0
  48. package/dist/data/connectors/gdelt-file-feeds.schemas.js +256 -0
  49. package/dist/data/connectors/gdelt-file-feeds.schemas.js.map +1 -0
  50. package/dist/data/connectors/nasa-firms-fire.d.ts +2 -0
  51. package/dist/data/connectors/nasa-firms-fire.js +578 -0
  52. package/dist/data/connectors/nasa-firms-fire.js.map +1 -0
  53. package/dist/data/connectors/nasa-firms-fire.schemas.d.ts +369 -0
  54. package/dist/data/connectors/nasa-firms-fire.schemas.js +238 -0
  55. package/dist/data/connectors/nasa-firms-fire.schemas.js.map +1 -0
  56. package/dist/data/connectors/open-meteo-air-quality.d.ts +2 -0
  57. package/dist/data/connectors/open-meteo-air-quality.js +401 -0
  58. package/dist/data/connectors/open-meteo-air-quality.js.map +1 -0
  59. package/dist/data/connectors/open-meteo-air-quality.schemas.d.ts +335 -0
  60. package/dist/data/connectors/open-meteo-air-quality.schemas.js +225 -0
  61. package/dist/data/connectors/open-meteo-air-quality.schemas.js.map +1 -0
  62. package/dist/data/connectors/open-meteo-flood.d.ts +2 -0
  63. package/dist/data/connectors/open-meteo-flood.js +446 -0
  64. package/dist/data/connectors/open-meteo-flood.js.map +1 -0
  65. package/dist/data/connectors/open-meteo-flood.schemas.d.ts +388 -0
  66. package/dist/data/connectors/open-meteo-flood.schemas.js +227 -0
  67. package/dist/data/connectors/open-meteo-flood.schemas.js.map +1 -0
  68. package/dist/data/connectors/open-meteo-historical-weather.d.ts +2 -0
  69. package/dist/data/connectors/open-meteo-historical-weather.js +468 -0
  70. package/dist/data/connectors/open-meteo-historical-weather.js.map +1 -0
  71. package/dist/data/connectors/open-meteo-historical-weather.schemas.d.ts +420 -0
  72. package/dist/data/connectors/open-meteo-historical-weather.schemas.js +282 -0
  73. package/dist/data/connectors/open-meteo-historical-weather.schemas.js.map +1 -0
  74. package/dist/data/connectors/openaq-air-quality.d.ts +2 -0
  75. package/dist/data/connectors/openaq-air-quality.js +734 -0
  76. package/dist/data/connectors/openaq-air-quality.js.map +1 -0
  77. package/dist/data/connectors/openaq-air-quality.schemas.d.ts +1067 -0
  78. package/dist/data/connectors/openaq-air-quality.schemas.js +512 -0
  79. package/dist/data/connectors/openaq-air-quality.schemas.js.map +1 -0
  80. package/dist/data/connectors/regulations-gov-attachments.d.ts +2 -0
  81. package/dist/data/connectors/regulations-gov-attachments.js +486 -0
  82. package/dist/data/connectors/regulations-gov-attachments.js.map +1 -0
  83. package/dist/data/connectors/regulations-gov-attachments.schemas.d.ts +270 -0
  84. package/dist/data/connectors/regulations-gov-attachments.schemas.js +181 -0
  85. package/dist/data/connectors/regulations-gov-attachments.schemas.js.map +1 -0
  86. package/dist/data/connectors/regulations-gov-comments.d.ts +2 -0
  87. package/dist/data/connectors/regulations-gov-comments.js +718 -0
  88. package/dist/data/connectors/regulations-gov-comments.js.map +1 -0
  89. package/dist/data/connectors/regulations-gov-comments.schemas.d.ts +717 -0
  90. package/dist/data/connectors/regulations-gov-comments.schemas.js +389 -0
  91. package/dist/data/connectors/regulations-gov-comments.schemas.js.map +1 -0
  92. package/dist/data/connectors/usbr-project-records.d.ts +2 -0
  93. package/dist/data/connectors/usbr-project-records.js +467 -0
  94. package/dist/data/connectors/usbr-project-records.js.map +1 -0
  95. package/dist/data/connectors/usbr-project-records.schemas.d.ts +194 -0
  96. package/dist/data/connectors/usbr-project-records.schemas.js +137 -0
  97. package/dist/data/connectors/usbr-project-records.schemas.js.map +1 -0
  98. package/dist/data/connectors/usbr-rise.d.ts +2 -0
  99. package/dist/data/connectors/usbr-rise.js +625 -0
  100. package/dist/data/connectors/usbr-rise.js.map +1 -0
  101. package/dist/data/connectors/usbr-rise.schemas.d.ts +623 -0
  102. package/dist/data/connectors/usbr-rise.schemas.js +407 -0
  103. package/dist/data/connectors/usbr-rise.schemas.js.map +1 -0
  104. package/dist/data/connectors/usgs-water-instantaneous-values.d.ts +2 -0
  105. package/dist/data/connectors/usgs-water-instantaneous-values.js +521 -0
  106. package/dist/data/connectors/usgs-water-instantaneous-values.js.map +1 -0
  107. package/dist/data/connectors/usgs-water-instantaneous-values.schemas.d.ts +496 -0
  108. package/dist/data/connectors/usgs-water-instantaneous-values.schemas.js +309 -0
  109. package/dist/data/connectors/usgs-water-instantaneous-values.schemas.js.map +1 -0
  110. package/dist/data/connectors/youtube-public-content.d.ts +2 -0
  111. package/dist/data/connectors/youtube-public-content.js +974 -0
  112. package/dist/data/connectors/youtube-public-content.js.map +1 -0
  113. package/dist/data/connectors/youtube-public-content.schemas.d.ts +773 -0
  114. package/dist/data/connectors/youtube-public-content.schemas.js +567 -0
  115. package/dist/data/connectors/youtube-public-content.schemas.js.map +1 -0
  116. package/dist/data/contracts.d.ts +374 -0
  117. package/dist/data/contracts.js +10 -0
  118. package/dist/data/contracts.js.map +1 -0
  119. package/dist/data/runtime/artifacts.d.ts +6 -0
  120. package/dist/data/runtime/artifacts.js +103 -0
  121. package/dist/data/runtime/artifacts.js.map +1 -0
  122. package/dist/data/runtime/bounded-http.d.ts +10 -0
  123. package/dist/data/runtime/bounded-http.js +403 -0
  124. package/dist/data/runtime/bounded-http.js.map +1 -0
  125. package/dist/data/runtime/canonical-json.d.ts +3 -0
  126. package/dist/data/runtime/canonical-json.js +59 -0
  127. package/dist/data/runtime/canonical-json.js.map +1 -0
  128. package/dist/data/runtime/credentials.d.ts +14 -0
  129. package/dist/data/runtime/credentials.js +67 -0
  130. package/dist/data/runtime/credentials.js.map +1 -0
  131. package/dist/data/runtime/csv.d.ts +4 -0
  132. package/dist/data/runtime/csv.js +51 -0
  133. package/dist/data/runtime/csv.js.map +1 -0
  134. package/dist/data/runtime/errors.d.ts +22 -0
  135. package/dist/data/runtime/errors.js +101 -0
  136. package/dist/data/runtime/errors.js.map +1 -0
  137. package/dist/data/runtime/execute.d.ts +11 -0
  138. package/dist/data/runtime/execute.js +358 -0
  139. package/dist/data/runtime/execute.js.map +1 -0
  140. package/dist/data/runtime/receipts.d.ts +13 -0
  141. package/dist/data/runtime/receipts.js +38 -0
  142. package/dist/data/runtime/receipts.js.map +1 -0
  143. package/dist/data/schemas/catalog.v1.json +73 -0
  144. package/dist/data/schemas/core-receipt.v1.json +117 -0
  145. package/dist/data/schemas/describe.v1.json +24 -0
  146. package/dist/data/schemas/discovery.v1.json +130 -0
  147. package/dist/data/schemas/doctor.v1.json +40 -0
  148. package/dist/data/schemas/error.v1.json +48 -0
  149. package/dist/data/schemas/manifest.v1.json +174 -0
  150. package/dist/data/schemas/run-request.v1.json +37 -0
  151. package/dist/data/schemas/run-result.v1.json +77 -0
  152. package/dist/data/schemas.d.ts +27 -0
  153. package/dist/data/schemas.js +69 -0
  154. package/dist/data/schemas.js.map +1 -0
  155. package/dist/env.js.map +1 -1
  156. package/dist/errors.js.map +1 -1
  157. package/dist/http.js.map +1 -1
  158. package/dist/kb/config.js.map +1 -1
  159. package/dist/kb/pipeline-health.js.map +1 -1
  160. package/dist/research/orchestration.js +54 -7
  161. package/dist/research/orchestration.js.map +1 -1
  162. package/dist/research/workspace/acquisition.js.map +1 -1
  163. package/dist/research/workspace/audit-bundle.js +7 -2
  164. package/dist/research/workspace/audit-bundle.js.map +1 -1
  165. package/dist/research/workspace/broker.js.map +1 -1
  166. package/dist/research/workspace/constants.js.map +1 -1
  167. package/dist/research/workspace/credentials.d.ts +3 -0
  168. package/dist/research/workspace/credentials.js +20 -3
  169. package/dist/research/workspace/credentials.js.map +1 -1
  170. package/dist/research/workspace/data-evidence-adapter.d.ts +60 -0
  171. package/dist/research/workspace/data-evidence-adapter.js +314 -0
  172. package/dist/research/workspace/data-evidence-adapter.js.map +1 -0
  173. package/dist/research/workspace/discovery-status.js +10 -7
  174. package/dist/research/workspace/discovery-status.js.map +1 -1
  175. package/dist/research/workspace/discovery.js +12 -11
  176. package/dist/research/workspace/discovery.js.map +1 -1
  177. package/dist/research/workspace/evidence-ledger.d.ts +8 -1
  178. package/dist/research/workspace/evidence-ledger.js +46 -2
  179. package/dist/research/workspace/evidence-ledger.js.map +1 -1
  180. package/dist/research/workspace/evidence.d.ts +31 -0
  181. package/dist/research/workspace/evidence.js +77 -0
  182. package/dist/research/workspace/evidence.js.map +1 -1
  183. package/dist/research/workspace/executor.js.map +1 -1
  184. package/dist/research/workspace/external-skills.d.ts +49 -49
  185. package/dist/research/workspace/external-skills.js.map +1 -1
  186. package/dist/research/workspace/platform-capabilities.js.map +1 -1
  187. package/dist/research/workspace/preflight.d.ts +4 -4
  188. package/dist/research/workspace/preflight.js +33 -8
  189. package/dist/research/workspace/preflight.js.map +1 -1
  190. package/dist/research/workspace/projects.js.map +1 -1
  191. package/dist/research/workspace/publication.js.map +1 -1
  192. package/dist/research/workspace/research-policy-wizard.js.map +1 -1
  193. package/dist/research/workspace/research-policy.js.map +1 -1
  194. package/dist/research/workspace/runtime.d.ts +7 -0
  195. package/dist/research/workspace/runtime.js +77 -20
  196. package/dist/research/workspace/runtime.js.map +1 -1
  197. package/dist/research/workspace/sanitization.js.map +1 -1
  198. package/dist/research/workspace/schemas.js +1 -1
  199. package/dist/research/workspace/schemas.js.map +1 -1
  200. package/dist/research/workspace/scientific-design.js.map +1 -1
  201. package/dist/research/workspace/scientific-review.js.map +1 -1
  202. package/dist/research/workspace/setup-catalog.d.ts +9 -9
  203. package/dist/research/workspace/setup-catalog.js +2 -2
  204. package/dist/research/workspace/setup-catalog.js.map +1 -1
  205. package/dist/research/workspace/setup-declarative.js.map +1 -1
  206. package/dist/research/workspace/setup-instructions.d.ts +42 -0
  207. package/dist/research/workspace/setup-instructions.js +413 -0
  208. package/dist/research/workspace/setup-instructions.js.map +1 -0
  209. package/dist/research/workspace/setup-invocation.js.map +1 -1
  210. package/dist/research/workspace/setup-wizard.js +7 -0
  211. package/dist/research/workspace/setup-wizard.js.map +1 -1
  212. package/dist/research/workspace/setup.d.ts +18 -15
  213. package/dist/research/workspace/setup.js +71 -3
  214. package/dist/research/workspace/setup.js.map +1 -1
  215. package/dist/research/workspace/workspace.js.map +1 -1
  216. package/package.json +3 -3
@@ -1 +1 @@
1
- {"version":3,"file":"research-policy.js","sourceRoot":"","sources":["../../../src/research/workspace/research-policy.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"research-policy.js","sourceRoot":"","sources":["../../../src/research/workspace/research-policy.ts"],"names":[],"mappings":"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"}
@@ -1,3 +1,4 @@
1
+ import { type ResearchDataCapabilityCatalog } from "./data-evidence-adapter.js";
1
2
  import { type DiscoveryProgress } from "./discovery-status.js";
2
3
  import { type AgentExecutionRequest } from "./executor.js";
3
4
  import type { AgentRoute, ExecutionResult, OutputRecord, ProjectState, ResearchProgressEvent } from "./types.js";
@@ -251,6 +252,12 @@ export interface NativeStagePacket {
251
252
  argv: string[];
252
253
  requestSchema: Record<string, unknown>;
253
254
  } | null;
255
+ runDataCapability: {
256
+ argv: string[];
257
+ describeArgv: string[];
258
+ requestSchema: Record<string, unknown>;
259
+ catalog: ResearchDataCapabilityCatalog;
260
+ } | null;
254
261
  recordActivity: {
255
262
  argv: string[];
256
263
  recordSchema: Record<string, unknown>;
@@ -2,10 +2,12 @@ import { randomUUID } from "node:crypto";
2
2
  import { cp, lstat, readFile, rm } from "node:fs/promises";
3
3
  import { basename, dirname, isAbsolute, join, relative, resolve } from "node:path";
4
4
  import { CliError } from "../../errors.js";
5
+ import { dataPublicSchemas } from "../../data/schemas.js";
5
6
  import { loadCapabilityDeclarations, stageLockedCapabilities, verifyCapabilities, } from "./capabilities.js";
6
7
  import { startCapabilityBroker } from "./broker.js";
7
8
  import { commitAcquisitionAssessments, freezeEvidenceSnapshot, loadCurrentEvidenceSnapshot, loadInferenceReadyEvidenceSnapshot, loadImmutableEvidenceSnapshotChain, materializeAcquisitionAudit, parseMaterializedAcquisitionAudit, } from "./acquisition.js";
8
9
  import { stageEvidenceArtifacts } from "./artifacts.js";
10
+ import { projectResearchDataCapabilities, } from "./data-evidence-adapter.js";
9
11
  import { commitDiscoveryDecisions, materializeDiscoveryEvidence } from "./discovery.js";
10
12
  import { inspectDiscoveryProgress } from "./discovery-status.js";
11
13
  import { downloadBindingRecordSchema } from "./downloads.js";
@@ -392,12 +394,24 @@ export async function prepareNativeResearchStage(input) {
392
394
  const stageContextContent = await stageContextForPackage(capsule.projectRoot, project, workPackage, config);
393
395
  const declarations = await loadCapabilityDeclarations(input.root);
394
396
  const hasBrokeredEvidence = declarations.capabilities.some((capability) => capability.permissions.includes("brokered-network"));
397
+ const dataCapabilities = projectResearchDataCapabilities();
398
+ const hasDataEvidence = dataCapabilities.capabilities.length > 0;
395
399
  const basePrompt = packagePrompt(project, workPackage, capsule.inputManifest, capsule.stagedSkills, capsule.capabilityDocumentation, null, capsule.contextBundle, capsule.contextBundleContent, stageContextContent, discovery, await listEvidenceCandidates(input.root, project.id));
396
400
  const prompt = [
397
401
  "Perform this producer stage in the current interactive host session. Do not launch codex exec, claude -p, or any other nested reasoning agent.",
398
402
  capsule.publicationPolicyDocumentation,
399
- input.stage === "discover" && hasBrokeredEvidence
400
- ? "Use native Web/Browser broadly for discovery when useful, but record every native search/navigation with recordActivity and register its candidates. Before admitting any native lead, formalize the same URL or DOI through fetchEvidence so it receives an immutable broker receipt. Assess candidates in bounded batches with recordAssessment as they arrive; the final output is only a small coverage closeout. Native results without broker/input provenance are discovery leads, never evidence."
403
+ input.stage === "discover" && (hasBrokeredEvidence || hasDataEvidence)
404
+ ? [
405
+ hasBrokeredEvidence
406
+ ? "Use native Web/Browser broadly for discovery when useful, but record every native search/navigation with recordActivity and register its candidates. Before admitting any native lead, formalize the same URL or DOI through fetchEvidence so it receives an immutable broker receipt."
407
+ : null,
408
+ hasDataEvidence
409
+ ? "Use the dynamically projected structured data capabilities when their source coverage and operation semantics fit the question. Inspect a selected capability with the supplied describe command, then call runDataCapability with the exact published DataRunRequest. The Research adapter invokes the same TypeScript runtime in-process and returns an immutable data receipt plus candidate ID; do not invoke standalone data run for project evidence."
410
+ : null,
411
+ "Assess candidates in bounded batches with recordAssessment as they arrive; the final output is only a small coverage closeout. Native results without broker/data/input provenance are discovery leads, never evidence.",
412
+ ]
413
+ .filter((value) => value !== null)
414
+ .join(" ")
401
415
  : input.stage === "acquire"
402
416
  ? "Acquire the provisionally admitted sources with the installed external acquisition/document Skills or an explicitly selected user-authorized browser. Capture the exact browser/adapter Download object, save it to the planned unique staging path, and call bindDownload before registerArtifact. Record browser/download/file-inspection activity with recordActivity. Failed or cancelled downloads cannot create bindings or artifacts. Never scan a download directory or infer success from file existence."
403
417
  : "Do not acquire additional evidence in this stage.",
@@ -418,7 +432,7 @@ export async function prepareNativeResearchStage(input) {
418
432
  preparedAt,
419
433
  bindingSha256,
420
434
  prompt,
421
- outputSchema: schemaForStage(input.stage, null, input.stage === "discover" && !hasBrokeredEvidence
435
+ outputSchema: schemaForStage(input.stage, null, input.stage === "discover" && !hasBrokeredEvidence && !hasDataEvidence
422
436
  ? { inputOnlyProvenanceIds: capsule.inputManifest.map((record) => record.id) }
423
437
  : {}),
424
438
  publicationPolicy: capsule.publicationPolicy,
@@ -499,6 +513,27 @@ export async function prepareNativeResearchStage(input) {
499
513
  requestSchema: nativeEvidenceRequestSchema(Boolean(project.scientificDesign)),
500
514
  }
501
515
  : null,
516
+ runDataCapability: input.stage === "discover" && hasDataEvidence
517
+ ? {
518
+ argv: [
519
+ "tiangong-ai",
520
+ "research",
521
+ "project",
522
+ "evidence",
523
+ "data",
524
+ "run",
525
+ project.id,
526
+ "--request",
527
+ "<absolute-data-run-request.json>",
528
+ "--workspace",
529
+ input.root,
530
+ "--json",
531
+ ],
532
+ describeArgv: ["tiangong-ai", "data", "describe", "<capability-id>", "--json"],
533
+ requestSchema: structuredClone(dataPublicSchemas.runRequest),
534
+ catalog: dataCapabilities,
535
+ }
536
+ : null,
502
537
  registerArtifact: input.stage === "acquire"
503
538
  ? {
504
539
  argv: [
@@ -651,10 +686,10 @@ export async function prepareNativeResearchStage(input) {
651
686
  },
652
687
  rules: [
653
688
  "Current native host performs producer reasoning; the CLI does not spawn a producer.",
654
- "Native Web/Browser activity is visible in the evidence ledger but becomes admissible only after broker/input formalization and strict assessment.",
689
+ "Native Web/Browser activity is visible in the evidence ledger but becomes admissible only after broker/data/input formalization and strict assessment.",
655
690
  "An interactive challenge pauses immediately. A material evidence-exhausted handoff is valid only after inspectAccess proves every required plan-bound agent route with exact terminal event hashes.",
656
691
  "When the next material step requires user authorization or an external response, request a durable handoff and stop; do not keep searching low-yield substitutes.",
657
- "Only broker receipts or registered immutable inputs may support discover output.",
692
+ "Only broker receipts, data-runtime receipts, or registered immutable inputs may support discover output.",
658
693
  "Only exact, structurally validated, content-addressed artifacts may support full-text acquisition claims.",
659
694
  "Do not place credentials, cookies, authorization data, or sensitive URL parameters in request/output files.",
660
695
  "A file's existence is not success; submit performs schema, provenance, budget, hash, and atomic-commit checks.",
@@ -1699,7 +1734,11 @@ async function writeReviewPacket(root, capsuleProject, project, inputManifest, e
1699
1734
  ];
1700
1735
  const evidenceFiles = new Map();
1701
1736
  for (const receipt of evidenceReceipts) {
1702
- for (const locator of [receipt.locator, receipt.contextLocator]) {
1737
+ for (const locator of [
1738
+ receipt.locator,
1739
+ receipt.contextLocator,
1740
+ ...(receipt.data?.artifacts.map((artifact) => artifact.locator) ?? []),
1741
+ ]) {
1703
1742
  if (!evidenceFiles.has(locator)) {
1704
1743
  evidenceFiles.set(locator, await fileRecord(resolveContained(capsuleProject, locator), locator));
1705
1744
  }
@@ -1791,7 +1830,7 @@ async function writeReviewEvidenceContext(root, projectId, capsuleProject, input
1791
1830
  : "[No admitted evidence source cites this receipt; its raw object and bounded context remain hash-bound in the review packet.]";
1792
1831
  views.push({
1793
1832
  prefix: [
1794
- `--- BROKER RECEIPT ${receipt.attemptId} ---`,
1833
+ `--- ${receipt.evidenceKind === "data" ? "DATA" : "BROKER"} RECEIPT ${receipt.attemptId} ---`,
1795
1834
  `metadata: ${JSON.stringify(metadata)}`,
1796
1835
  "--- BEGIN BOUNDED REVIEW EXCERPT ---",
1797
1836
  "",
@@ -1936,7 +1975,8 @@ async function loadBrokerReviewReferences(capsuleProject) {
1936
1975
  for (const source of evidence.sources) {
1937
1976
  if (!isObject(source) || !isObject(source.provenance))
1938
1977
  continue;
1939
- if (source.provenance.kind !== "broker" || typeof source.provenance.id !== "string")
1978
+ if (!["broker", "data"].includes(String(source.provenance.kind)) ||
1979
+ typeof source.provenance.id !== "string")
1940
1980
  continue;
1941
1981
  if (typeof source.id !== "string" || typeof source.title !== "string")
1942
1982
  continue;
@@ -2202,6 +2242,7 @@ async function reviewEnvironmentPacket(root, projectId) {
2202
2242
  function reviewSafeReceipt(receipt) {
2203
2243
  return {
2204
2244
  schemaVersion: receipt.schemaVersion,
2245
+ evidenceKind: receipt.evidenceKind ?? "broker",
2205
2246
  attemptId: receipt.attemptId,
2206
2247
  capabilityId: receipt.capabilityId,
2207
2248
  status: receipt.status,
@@ -2222,6 +2263,7 @@ function reviewSafeReceipt(receipt) {
2222
2263
  retrievedAt: receipt.retrievedAt,
2223
2264
  servedAt: receipt.servedAt,
2224
2265
  cacheHit: receipt.cacheHit,
2266
+ data: receipt.data ?? null,
2225
2267
  };
2226
2268
  }
2227
2269
  function agentRequest(input) {
@@ -2354,7 +2396,13 @@ async function validateEvidenceSources(root, project, sources) {
2354
2396
  join("inputs", input.id, basename(input.path)).replaceAll("\\", "/"),
2355
2397
  ]));
2356
2398
  const receipts = await loadProjectEvidenceReceipts(root, project.id);
2357
- const brokerLocators = new Map(receipts.map((receipt) => [receipt.attemptId, receipt.locator]));
2399
+ const receiptLocators = new Map(receipts.map((receipt) => [
2400
+ receipt.attemptId,
2401
+ {
2402
+ kind: receipt.evidenceKind === "data" ? "data" : "broker",
2403
+ locator: receipt.locator,
2404
+ },
2405
+ ]));
2358
2406
  const sourceIds = new Set();
2359
2407
  for (const source of sources) {
2360
2408
  if (!isObject(source) || !isObject(source.provenance)) {
@@ -2368,13 +2416,15 @@ async function validateEvidenceSources(root, project, sources) {
2368
2416
  }
2369
2417
  const expectedLocator = source.provenance.kind === "input"
2370
2418
  ? inputLocators.get(String(source.provenance.id))
2371
- : source.provenance.kind === "broker"
2372
- ? brokerLocators.get(String(source.provenance.id))
2419
+ : source.provenance.kind === "broker" || source.provenance.kind === "data"
2420
+ ? receiptLocators.get(String(source.provenance.id))?.kind === source.provenance.kind
2421
+ ? receiptLocators.get(String(source.provenance.id))?.locator
2422
+ : undefined
2373
2423
  : undefined;
2374
2424
  if (!expectedLocator || expectedLocator !== source.locator) {
2375
2425
  throw new StructuredOutputError(`discover output contains invalid provenance for evidence source ${String(id)}.`, {
2376
2426
  validation: [
2377
- "provenance.id must be an exact immutable input ID or broker receipt attemptId",
2427
+ "provenance.id must be an exact immutable input ID or evidence receipt attemptId",
2378
2428
  "locator must exactly match the locator bound to that provenance record",
2379
2429
  ],
2380
2430
  actual: {
@@ -2387,10 +2437,10 @@ async function validateEvidenceSources(root, project, sources) {
2387
2437
  id: inputId,
2388
2438
  locator,
2389
2439
  })),
2390
- allowedBrokerReceipts: [...brokerLocators].map(([attemptId, locator]) => ({
2391
- kind: "broker",
2440
+ allowedEvidenceReceipts: [...receiptLocators].map(([attemptId, receipt]) => ({
2441
+ kind: receipt.kind,
2392
2442
  id: attemptId,
2393
- locator,
2443
+ locator: receipt.locator,
2394
2444
  })),
2395
2445
  });
2396
2446
  }
@@ -2693,12 +2743,18 @@ async function assertDiscoveryCoverage(root, project, evidencePath) {
2693
2743
  // establish breadth, dates, source types and dimensions, but cannot claim
2694
2744
  // that a search-result receipt is already acquired full text.
2695
2745
  const gaps = computed.mechanicalGaps.filter((gap) => !/full-text source\(s\)/.test(gap));
2696
- const requiredCapabilities = requiredDiscoveryCapabilityIds(await loadCapabilityDeclarations(root));
2746
+ const requiredCapabilities = [
2747
+ ...new Set([
2748
+ ...requiredDiscoveryCapabilityIds(await loadCapabilityDeclarations(root)),
2749
+ ...(project.evidenceRequirements.requiredCapabilityIds ?? []),
2750
+ ]),
2751
+ ];
2697
2752
  const exercisedCapabilities = new Set((await loadProjectEvidenceReceipts(root, project.id)).map((receipt) => receipt.capabilityId));
2698
2753
  const journalEvents = await readJournal(workspacePaths(root).journal);
2699
2754
  const attemptedCapabilities = new Map();
2700
2755
  for (const event of journalEvents) {
2701
- if (event.scope !== project.id || event.type !== "capability.fetch.attempted")
2756
+ if (event.scope !== project.id ||
2757
+ (event.type !== "capability.fetch.attempted" && event.type !== "data.capability.requested"))
2702
2758
  continue;
2703
2759
  const capabilityId = event.payload.capabilityId;
2704
2760
  if (typeof capabilityId !== "string")
@@ -2711,7 +2767,8 @@ async function assertDiscoveryCoverage(root, project, evidencePath) {
2711
2767
  attemptedCapabilities.set(capabilityId, current);
2712
2768
  }
2713
2769
  for (const event of journalEvents) {
2714
- if (event.scope !== project.id || event.type !== "capability.fetch.failed")
2770
+ if (event.scope !== project.id ||
2771
+ (event.type !== "capability.fetch.failed" && event.type !== "data.capability.failed"))
2715
2772
  continue;
2716
2773
  const capabilityId = event.payload.capabilityId;
2717
2774
  const failureKind = event.payload.failureKind;
@@ -3030,7 +3087,7 @@ async function stageContextForPackage(capsuleProject, project, workPackage, conf
3030
3087
  }
3031
3088
  function packagePrompt(project, workPackage, inputs, stagedSkills, capabilityDocumentation, reviewPacketSha256, contextBundle, contextBundleContent, stageContextContent, discovery, evidenceCandidates) {
3032
3089
  const stageInstructions = {
3033
- discover: "Assess candidates incrementally through the packet's recordAssessment command; do not accumulate a source-sized final response. The control plane has already assigned every immutable input and broker result a candidateId and retains its title, URL, DOI, dates, receipt, locator, JSON Pointer, hashes, and retrieval metadata. Reference candidateId; never repeat or invent those deterministic fields. Give each admitted candidate a concise sourceId plus source type, relevance, quality, applicability, coverage dimensions, and limitations. Record meaningful explicit rejections; omitted candidates remain unassessed for later gap filling. Native Web or Browser discoveries are supplemental candidates only and cannot be admitted until an immutable broker receipt is attached to the same canonical URL or DOI. After broad search, strict assessment, and focused gap filling, return only the small closeout object with one judgment for every reviewed dimension plus limitations and remaining gaps. The CLI mechanically joins the latest recorded assessments to provenance, derives counts/date range/coverage, and rejects unknown or unformalized candidates.",
3090
+ discover: "Assess candidates incrementally through the packet's recordAssessment command; do not accumulate a source-sized final response. The control plane has already assigned every immutable input, broker result, and structured data result a candidateId and retains its title, URL, DOI, dates, receipt, locator, JSON Pointer, hashes, and retrieval metadata. Reference candidateId; never repeat or invent those deterministic fields. Give each admitted candidate a concise sourceId plus source type, relevance, quality, applicability, coverage dimensions, and limitations. Record meaningful explicit rejections; omitted candidates remain unassessed for later gap filling. Native Web or Browser discoveries are supplemental candidates only and cannot be admitted until an immutable broker receipt is attached to the same canonical URL or DOI. After broad search, strict assessment, and focused gap filling, return only the small closeout object with one judgment for every reviewed dimension plus limitations and remaining gaps. The CLI mechanically joins the latest recorded assessments to provenance, derives counts/date range/coverage, and rejects unknown or unformalized candidates.",
3034
3091
  acquire: "Audit every provisionally admitted source exactly once. For each source, bind its ledger candidateId, list only artifactIds returned by the exact artifact registration command, and choose accepted, limited, or rejected with a concise rationale and explicit limitations. A broker receipt is an immutable discovery record but is not full text. Use an empty artifactIds array only when intentionally retaining a source as metadata/abstract evidence or when the source is an already registered local input. Put unresolved blocking acquisition or coverage deficiencies in gaps; put honest non-blocking scope constraints in limitations. Do not invent file paths, hashes, URLs, artifact IDs, or successful downloads.",
3035
3092
  analyze: "Use only the complete embedded inference snapshot below and return analysis schema v2. Bind the exact inference snapshot hash and one reproducible analysisRun. Every finding must cite admitted source IDs and exact evidenceAtomIds; a top-journal finding must also bind design claimIds. State uncertainty and applicability. Never promote a source-level citation when no exact atom supports the statement.",
3036
3093
  synthesize: "Use only the complete embedded inference snapshot, analysis, and Claim–Evidence Graph below. Return the schema-defined object whose reportMarkdown separates supported conclusions, uncertainty, limitations, and next actions. Every material statement must remain within a graph-bound finding. Use real Markdown line breaks encoded exactly once for JSON; never place literal /n or double-escaped \\n markers in reportMarkdown.",
@@ -3052,7 +3109,7 @@ function packagePrompt(project, workPackage, inputs, stagedSkills, capabilityDoc
3052
3109
  ? "Use the installed external acquisition/document Skills in the current native host, but treat the CLI artifact registry and acquisition schema as the only authority for durable evidence."
3053
3110
  : "Capability files are provenance-bound but are not available as execution tools in this stage.",
3054
3111
  workPackage.stage === "discover"
3055
- ? `Follow the reviewed discovery plan: ${JSON.stringify(discovery)}. The plan's max broker-view count is a hard working ceiling, not a target to exhaust. Execute required first-pass channels before supplemental channels, prefer broad high-yield queries, assess registered candidates between batches, and use the next gap-fill batch only for explicit uncovered dimensions, source types, date ranges, full text, limitations, or counterevidence. Stop fetching as soon as the declared coverage minimums are supportable. Native Web/Browser may broaden lead discovery, but every such action must be recorded through recordActivity, every useful result must be registered as a candidate, and the same URL/DOI must then be formalized through the broker before admission. The broker or an immutable registered input is the sole admissible evidence path. Do not execute a staged Skill's curl/CLI examples or read provider environment variables. Invoke fetch_candidate_source with the manifest capability ID and obey its exact declared HTTP method. GET capabilities use only declared query parameters; POST capabilities require request_body containing only the documented non-secret request JSON. Never place API keys, tokens, authorization data, cookies, or other credential-like fields in request_body. The broker injects the sole declared logical credential, disables caching for credentialed requests, and never persists the POST body (only its hash). The tool result includes exact bounded context, registered candidate IDs, its receipt, whether a network call was avoided, and remaining view budget. Exercise every manifest capability with requiredForDiscovery=true, or the mechanical coverage gate will stop downstream work.`
3112
+ ? `Follow the reviewed discovery plan: ${JSON.stringify(discovery)}. The plan's max evidence-call count is a hard working ceiling, not a target to exhaust. Execute required first-pass channels before supplemental channels, prefer broad high-yield queries, assess registered candidates between batches, and use the next gap-fill batch only for explicit uncovered dimensions, source types, date ranges, full text, limitations, or counterevidence. Stop fetching as soon as the declared coverage minimums are supportable. Native Web/Browser may broaden lead discovery, but every such action must be recorded through recordActivity, every useful result must be registered as a candidate, and the same URL/DOI must then be formalized through the broker before admission. A broker receipt, structured data-runtime receipt, or immutable registered input is an admissible evidence path. Do not execute a staged Skill's curl/CLI examples or read provider environment variables. For generic broker capabilities, invoke fetch_candidate_source with the manifest capability ID and obey its exact declared HTTP method. For structured data capabilities, use the packet's dynamic catalog and describe command, then invoke runDataCapability; never call standalone data run for project evidence. Never place API keys, tokens, authorization data, cookies, or other credential-like fields in request files. The Research control plane injects declared logical credentials and persists only safe hash-bound results. Exercise every manifest capability with requiredForDiscovery=true and every project-required data capability ID, or the mechanical coverage gate will stop downstream work.`
3056
3113
  : "Use only the complete embedded stage context; no tools or additional source reads are allowed.",
3057
3114
  stageInstructions[workPackage.stage],
3058
3115
  "Do not write stage output files directly. Your final response must be only the JSON object required by the supplied output schema; the CLI will validate and atomically materialize it.",