@citeark/agent 0.3.20

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 (347) hide show
  1. package/LICENSE +202 -0
  2. package/README.md +128 -0
  3. package/data/dataset-source-registry.v1.json +300 -0
  4. package/dist/arkgraph/boot.js +6 -0
  5. package/dist/arkgraph/index.html +1 -0
  6. package/dist/arkgraph/viewer.css +1 -0
  7. package/dist/arkgraph/viewer.en.css +1 -0
  8. package/dist/arkgraph/viewer.en.js +49 -0
  9. package/dist/arkgraph/viewer.en.js.LEGAL.txt +56 -0
  10. package/dist/arkgraph/viewer.js +49 -0
  11. package/dist/arkgraph/viewer.js.LEGAL.txt +56 -0
  12. package/docker/claude-code/Dockerfile +97 -0
  13. package/docker/claude-code/codex-pro-relay.mjs +466 -0
  14. package/docker/claude-code/runtime-contract-check.mjs +79 -0
  15. package/docs/arkgraph-reading.md +79 -0
  16. package/docs/configuration.md +100 -0
  17. package/docs/integration.md +92 -0
  18. package/docs/maturity-plan.md +27 -0
  19. package/docs/npm-release.md +44 -0
  20. package/docs/paper-reading.md +40 -0
  21. package/docs/research-plan-granularity.md +27 -0
  22. package/docs/terminal.md +49 -0
  23. package/examples/toy-evaluation/compile-task.json +27 -0
  24. package/examples/toy-evaluation/paper.md +5 -0
  25. package/examples/toy-evaluation/repository/README.md +9 -0
  26. package/examples/toy-evaluation/repository/checkpoint.json +4 -0
  27. package/examples/toy-evaluation/repository/evaluate.py +17 -0
  28. package/examples/toy-evaluation/task.json +81 -0
  29. package/package.json +59 -0
  30. package/prompts/compile-research.md +58 -0
  31. package/prompts/execute-contract.md +72 -0
  32. package/prompts/execute-workspace-simple.md +51 -0
  33. package/prompts/execute-workspace.md +34 -0
  34. package/prompts/prepare-reproduction.md +82 -0
  35. package/prompts/repair-research.md +45 -0
  36. package/protocol/CAP.md +129 -0
  37. package/protocol/LICENSE +12 -0
  38. package/protocol/MAPPINGS.md +72 -0
  39. package/protocol/README.md +38 -0
  40. package/protocol/conformance-v2.0-alpha.1.json +36 -0
  41. package/protocol/examples/arkgraph/checkpoint-evaluation.json +309 -0
  42. package/protocol/examples/arkgraph/fixtures.mjs +49 -0
  43. package/protocol/examples/arkgraph/paper-free.json +291 -0
  44. package/protocol/examples/arkgraph/partial-failure.json +344 -0
  45. package/protocol/examples/arkgraph/training-evaluation.json +443 -0
  46. package/protocol/profiles/agent-trace.md +16 -0
  47. package/protocol/profiles/computational-run.md +16 -0
  48. package/protocol/profiles/core.md +15 -0
  49. package/protocol/profiles/public-bundle.md +18 -0
  50. package/protocol/profiles/reproduction.md +29 -0
  51. package/protocol/profiles/research-compilation.md +44 -0
  52. package/protocol/profiles/research-plan.md +39 -0
  53. package/protocol/profiles/restricted-evidence.md +15 -0
  54. package/runtime/bootstrap-autodl-runtime.sh +314 -0
  55. package/runtime/create-runtime-venv.sh +41 -0
  56. package/runtime/install-local-cpu-runtime.sh +23 -0
  57. package/runtime/install-scientific-runtime.sh +153 -0
  58. package/runtime/mineru/parse.py +62 -0
  59. package/runtime/mineru/requirements.txt +4 -0
  60. package/runtime/requirements-baseline.txt +38 -0
  61. package/schemas/cap/v2/activity.schema.json +47 -0
  62. package/schemas/cap/v2/agent.schema.json +32 -0
  63. package/schemas/cap/v2/assertion.schema.json +110 -0
  64. package/schemas/cap/v2/descriptor.schema.json +243 -0
  65. package/schemas/cap/v2/entity.schema.json +64 -0
  66. package/schemas/cap/v2/manifest.schema.json +67 -0
  67. package/schemas/cap/v2/relation.schema.json +82 -0
  68. package/schemas/compute-catalog.schema.json +63 -0
  69. package/schemas/compute-decision.schema.json +27 -0
  70. package/schemas/execution-contract.schema.json +1024 -0
  71. package/schemas/research-card.schema.json +30 -0
  72. package/schemas/research-inventory-draft.schema.json +366 -0
  73. package/schemas/research.schema.json +1044 -0
  74. package/schemas/result.schema.json +173 -0
  75. package/schemas/verification-policy.schema.json +47 -0
  76. package/schemas/verified-conclusion.schema.json +58 -0
  77. package/schemas/workspace-summary.schema.json +24 -0
  78. package/scripts/build-arkgraph-view.mjs +12 -0
  79. package/scripts/check-execution-feasibility.mjs +24 -0
  80. package/scripts/check-syntax.mjs +15 -0
  81. package/scripts/deterministic-asset-preparation.py +438 -0
  82. package/scripts/package-cap.mjs +23 -0
  83. package/scripts/package-local-agent.mjs +23 -0
  84. package/scripts/preview-arkgraph.mjs +25 -0
  85. package/scripts/replay-research-compiler-candidate.mjs +134 -0
  86. package/scripts/review-compiler-sources.mjs +44 -0
  87. package/scripts/run-asset-preparation.sh +17 -0
  88. package/scripts/run-research-plan.mjs +98 -0
  89. package/scripts/validate-asset-preparation.py +290 -0
  90. package/scripts/verify-local-runtime.mjs +57 -0
  91. package/scripts/verify-npm-package.mjs +57 -0
  92. package/src/adapters/paper2agent.mjs +107 -0
  93. package/src/assets/cache.mjs +159 -0
  94. package/src/assets/compute.mjs +98 -0
  95. package/src/assets/executor.mjs +145 -0
  96. package/src/assets/lifecycle.mjs +213 -0
  97. package/src/assets/manifest.mjs +242 -0
  98. package/src/assets/opportunistic-preparation.mjs +81 -0
  99. package/src/assets/plan.mjs +411 -0
  100. package/src/assets/prompts.mjs +29 -0
  101. package/src/assets/public-asset-probe.mjs +525 -0
  102. package/src/assets/qualification.mjs +119 -0
  103. package/src/assets/readiness.mjs +130 -0
  104. package/src/assets/reproduction-admission.mjs +355 -0
  105. package/src/assets/requirements.mjs +152 -0
  106. package/src/assets/source-grounding.mjs +341 -0
  107. package/src/assets/source-policy.mjs +118 -0
  108. package/src/autodl/client.mjs +260 -0
  109. package/src/autodl/ssh.mjs +380 -0
  110. package/src/autodl/tools.mjs +129 -0
  111. package/src/cap/redaction.mjs +38 -0
  112. package/src/cap/v2/archive.mjs +152 -0
  113. package/src/cap/v2/attestation.mjs +204 -0
  114. package/src/cap/v2/canonical-json.mjs +114 -0
  115. package/src/cap/v2/compilation-artifact.mjs +240 -0
  116. package/src/cap/v2/core.mjs +282 -0
  117. package/src/cap/v2/measurement-assessment-records.mjs +23 -0
  118. package/src/cap/v2/pipeline-artifact.mjs +922 -0
  119. package/src/cap/v2/read.mjs +41 -0
  120. package/src/cap/v2/reassessment-artifact.mjs +383 -0
  121. package/src/cap/v2/research-artifact.mjs +231 -0
  122. package/src/cap/v2/research-map-records.mjs +46 -0
  123. package/src/cap/v2/research-object-records.mjs +163 -0
  124. package/src/cap/v2/research-records.mjs +187 -0
  125. package/src/cap/v2/verify.mjs +642 -0
  126. package/src/cli.mjs +1146 -0
  127. package/src/compute/autodl-pro-compiler.mjs +347 -0
  128. package/src/compute/autodl-pro-executor.mjs +459 -0
  129. package/src/compute/autodl-pro-job.mjs +843 -0
  130. package/src/compute/autodl-pro-network.mjs +295 -0
  131. package/src/compute/autodl-pro-remote.mjs +810 -0
  132. package/src/compute/autodl-pro-staging.mjs +117 -0
  133. package/src/compute/campaign.mjs +110 -0
  134. package/src/compute/catalog.mjs +123 -0
  135. package/src/compute/checkpoint-protocol.mjs +154 -0
  136. package/src/compute/codex-account-lock.mjs +111 -0
  137. package/src/compute/codex-account-session.mjs +107 -0
  138. package/src/compute/compiler-profile.mjs +38 -0
  139. package/src/compute/compiler-router.mjs +23 -0
  140. package/src/compute/coordinator-recovery.mjs +210 -0
  141. package/src/compute/executor-router.mjs +29 -0
  142. package/src/compute/gcp-batch-compiler.mjs +685 -0
  143. package/src/compute/gcp-batch-executor.mjs +1215 -0
  144. package/src/compute/gcp-batch-failure.mjs +92 -0
  145. package/src/compute/gcp-batch-job.mjs +527 -0
  146. package/src/compute/gcp-batch-lifecycle.mjs +81 -0
  147. package/src/compute/gcp-checkpoint-worker.mjs +1633 -0
  148. package/src/compute/local-codex-compiler.mjs +52 -0
  149. package/src/compute/measurement-hardware.mjs +128 -0
  150. package/src/compute/remote-attempt.mjs +226 -0
  151. package/src/compute/requirements.mjs +124 -0
  152. package/src/compute/research-phases.mjs +48 -0
  153. package/src/compute/scheduler.mjs +452 -0
  154. package/src/compute/shared-workloads.mjs +26 -0
  155. package/src/compute/stage-archive.mjs +79 -0
  156. package/src/contracts/campaign-contract.mjs +52 -0
  157. package/src/contracts/execution-contract.mjs +819 -0
  158. package/src/contracts/execution-mode.mjs +19 -0
  159. package/src/contracts/execution-timeouts.mjs +45 -0
  160. package/src/contracts/execution-workload.mjs +68 -0
  161. package/src/contracts/preflight-schema.mjs +25 -0
  162. package/src/contracts/public-contract.mjs +63 -0
  163. package/src/contracts/subject-tags.mjs +31 -0
  164. package/src/dashboard/data.mjs +898 -0
  165. package/src/dashboard/server.mjs +79 -0
  166. package/src/dashboard/static/dashboard.css +366 -0
  167. package/src/dashboard/static/dashboard.js +560 -0
  168. package/src/dashboard/static/index.html +85 -0
  169. package/src/deployment/community-policy.mjs +9 -0
  170. package/src/deployment/environment.mjs +112 -0
  171. package/src/deployment/guided.mjs +98 -0
  172. package/src/deployment/handoff.mjs +102 -0
  173. package/src/deployment/local-contract.mjs +31 -0
  174. package/src/deployment/local.mjs +100 -0
  175. package/src/deployment/prepare.mjs +46 -0
  176. package/src/deployment/recipe.mjs +108 -0
  177. package/src/deployment/supplement.mjs +51 -0
  178. package/src/deployment/terminal.mjs +43 -0
  179. package/src/diagnosis/renderer.mjs +75 -0
  180. package/src/diagnosis/target-failure.mjs +46 -0
  181. package/src/evidence/parser-registry.mjs +54 -0
  182. package/src/evidence/parsers/fasttext-classification.mjs +82 -0
  183. package/src/evidence/parsers/json-scalar.mjs +96 -0
  184. package/src/evidence/parsers/simcse-senteval.mjs +104 -0
  185. package/src/evidence/parsers/starspace-classification.mjs +78 -0
  186. package/src/evidence/registry.mjs +147 -0
  187. package/src/execution/runner-audit.mjs +473 -0
  188. package/src/gcp/auth.mjs +106 -0
  189. package/src/gcp/batch-client.mjs +120 -0
  190. package/src/gcp/resource-discovery.mjs +177 -0
  191. package/src/gcp/rest.mjs +82 -0
  192. package/src/gcp/secret-manager.mjs +34 -0
  193. package/src/gcp/signed-url.mjs +133 -0
  194. package/src/gcp/storage.mjs +220 -0
  195. package/src/graph/command.mjs +41 -0
  196. package/src/graph/execution.mjs +97 -0
  197. package/src/graph/model.mjs +37 -0
  198. package/src/graph/presentation.mjs +110 -0
  199. package/src/graph/query.mjs +159 -0
  200. package/src/graph/research-relations.mjs +69 -0
  201. package/src/graph/source-page.mjs +12 -0
  202. package/src/graph/source-preview.mjs +34 -0
  203. package/src/graph/validate.mjs +76 -0
  204. package/src/job.mjs +496 -0
  205. package/src/network/autodl-routing-proxy.mjs +462 -0
  206. package/src/network/egress-proxy.mjs +158 -0
  207. package/src/observability/event-contract.mjs +230 -0
  208. package/src/observability/pipeline-monitor.mjs +166 -0
  209. package/src/pipeline/orchestrator.mjs +1281 -0
  210. package/src/pipeline/recovery-error.mjs +11 -0
  211. package/src/pipeline/replay.mjs +304 -0
  212. package/src/pipeline/shared-execution.mjs +115 -0
  213. package/src/pipeline/stage-checkpoint.mjs +86 -0
  214. package/src/pipeline/stage-recovery.mjs +101 -0
  215. package/src/pipeline/targets.mjs +110 -0
  216. package/src/process.mjs +143 -0
  217. package/src/protocol.mjs +312 -0
  218. package/src/provider/codex-account.mjs +44 -0
  219. package/src/provider/codex-completion.mjs +49 -0
  220. package/src/provider/completion.mjs +292 -0
  221. package/src/provider/model-client.mjs +44 -0
  222. package/src/provider/model-route.mjs +29 -0
  223. package/src/provider/openrouter-readiness.mjs +189 -0
  224. package/src/provider/reader-bridge.mjs +35 -0
  225. package/src/provider/relay.mjs +263 -0
  226. package/src/provider/runtime-auth.mjs +40 -0
  227. package/src/public/cap.d.mts +90 -0
  228. package/src/public/cap.mjs +12 -0
  229. package/src/public/contracts.d.mts +2 -0
  230. package/src/public/host.mjs +171 -0
  231. package/src/public/operations.d.mts +11 -0
  232. package/src/public/presentation.d.mts +4 -0
  233. package/src/records/views.mjs +26 -0
  234. package/src/remote/command.mjs +178 -0
  235. package/src/remote/ssh.mjs +59 -0
  236. package/src/repository-origin.mjs +81 -0
  237. package/src/reproduction/evidence-feedback.mjs +96 -0
  238. package/src/reproduction/incomplete-initialization.mjs +25 -0
  239. package/src/reproduction/lifecycle.mjs +253 -0
  240. package/src/reproduction/plan.mjs +132 -0
  241. package/src/reproduction/prompts.mjs +70 -0
  242. package/src/reproduction/runner.mjs +188 -0
  243. package/src/reproduction/summary.mjs +130 -0
  244. package/src/reproduction/workspace-mode.mjs +7 -0
  245. package/src/research/automatic-admission.mjs +156 -0
  246. package/src/research/compiler-coverage.mjs +85 -0
  247. package/src/research/compiler-failure.mjs +24 -0
  248. package/src/research/compiler-normalization-guards.mjs +112 -0
  249. package/src/research/compiler-repair.mjs +3 -0
  250. package/src/research/compiler.mjs +853 -0
  251. package/src/research/continuation-selection.mjs +26 -0
  252. package/src/research/execution-graph-context.mjs +43 -0
  253. package/src/research/experiment-importance.mjs +15 -0
  254. package/src/research/inventory-handoff.mjs +104 -0
  255. package/src/research/inventory-revisions.mjs +32 -0
  256. package/src/research/mineru-local.mjs +73 -0
  257. package/src/research/paper-command.mjs +19 -0
  258. package/src/research/paper-markdown.mjs +180 -0
  259. package/src/research/paper-source-map.mjs +69 -0
  260. package/src/research/planning-policy.mjs +88 -0
  261. package/src/research/reference-materials.mjs +11 -0
  262. package/src/research/reproduction-scope.mjs +30 -0
  263. package/src/research/research-map.mjs +94 -0
  264. package/src/research/research-objects.mjs +88 -0
  265. package/src/research/source-discovery.mjs +646 -0
  266. package/src/research/source-observations.mjs +75 -0
  267. package/src/research/source-review-cli-mcp.mjs +26 -0
  268. package/src/research/source-review-input.mjs +209 -0
  269. package/src/research/source-review-local-codex.mjs +36 -0
  270. package/src/research/source-review-model.mjs +70 -0
  271. package/src/research/source-review.mjs +173 -0
  272. package/src/research/structure.mjs +3163 -0
  273. package/src/research-card/renderer.mjs +277 -0
  274. package/src/research-card/verified-conclusion.mjs +143 -0
  275. package/src/results/output-registry.mjs +183 -0
  276. package/src/runtime/claude-code.mjs +52 -0
  277. package/src/runtime/codex-capacity-retry.mjs +87 -0
  278. package/src/runtime/codex.mjs +64 -0
  279. package/src/runtime/config.mjs +157 -0
  280. package/src/runtime/final-output.mjs +40 -0
  281. package/src/runtime/index.mjs +21 -0
  282. package/src/runtime/local-codex.mjs +74 -0
  283. package/src/runtime/opencode.mjs +95 -0
  284. package/src/runtime/prompt.mjs +13 -0
  285. package/src/sandbox/docker.mjs +363 -0
  286. package/src/settings/command.mjs +297 -0
  287. package/src/settings/store.mjs +119 -0
  288. package/src/telemetry/pricing.mjs +68 -0
  289. package/src/telemetry/usage.mjs +265 -0
  290. package/src/terminal/events.mjs +97 -0
  291. package/src/terminal/input.mjs +40 -0
  292. package/src/terminal/plain.mjs +40 -0
  293. package/src/terminal/remote-stream.mjs +22 -0
  294. package/src/terminal/screen.mjs +214 -0
  295. package/src/terminal/transcript.mjs +69 -0
  296. package/src/util.mjs +107 -0
  297. package/src/verification/ai-assessor.mjs +534 -0
  298. package/src/verification/claim-evaluator.mjs +242 -0
  299. package/src/verification/evidence-context.mjs +165 -0
  300. package/src/verification/evidence-reader.mjs +95 -0
  301. package/src/verification/integrity.mjs +570 -0
  302. package/src/verification/tolerance.mjs +32 -0
  303. package/src/workloads/cpu-research-preparation.mjs +56 -0
  304. package/src/workloads/definition.mjs +74 -0
  305. package/src/workloads/phase-aware-reproduction.mjs +46 -0
  306. package/src/workloads/reproduction.mjs +85 -0
  307. package/src/workspace/command.mjs +242 -0
  308. package/src/workspace/control.mjs +49 -0
  309. package/src/workspace/entry.mjs +28 -0
  310. package/src/workspace/input.mjs +93 -0
  311. package/src/workspace/interactive.mjs +94 -0
  312. package/src/workspace/jobs.mjs +418 -0
  313. package/src/workspace/session.mjs +97 -0
  314. package/src/workspace/worker.mjs +137 -0
  315. package/ui/arkgraph/ambient-motion.mjs +10 -0
  316. package/ui/arkgraph/app.jsx +153 -0
  317. package/ui/arkgraph/boot.js +6 -0
  318. package/ui/arkgraph/camera-motion.mjs +20 -0
  319. package/ui/arkgraph/context-reveal.mjs +39 -0
  320. package/ui/arkgraph/details.css +3 -0
  321. package/ui/arkgraph/entry.jsx +28 -0
  322. package/ui/arkgraph/experiment-curves.mjs +17 -0
  323. package/ui/arkgraph/experiment-selection.mjs +15 -0
  324. package/ui/arkgraph/experiment-style.css +26 -0
  325. package/ui/arkgraph/experiment-ui.jsx +32 -0
  326. package/ui/arkgraph/frame.html +1 -0
  327. package/ui/arkgraph/graph-gestures.mjs +62 -0
  328. package/ui/arkgraph/label-layout.mjs +57 -0
  329. package/ui/arkgraph/locales/en.json +229 -0
  330. package/ui/arkgraph/locales/source-types.json +15 -0
  331. package/ui/arkgraph/localization-build.mjs +27 -0
  332. package/ui/arkgraph/material-build.mjs +23 -0
  333. package/ui/arkgraph/material-colors.mjs +39 -0
  334. package/ui/arkgraph/material-style.css +15 -0
  335. package/ui/arkgraph/open-graph.jsx +326 -0
  336. package/ui/arkgraph/outline.jsx +49 -0
  337. package/ui/arkgraph/package-lock.json +888 -0
  338. package/ui/arkgraph/package.json +17 -0
  339. package/ui/arkgraph/reading-layout.mjs +130 -0
  340. package/ui/arkgraph/reading-presentation.mjs +73 -0
  341. package/ui/arkgraph/record-detail.css +51 -0
  342. package/ui/arkgraph/record-details.jsx +29 -0
  343. package/ui/arkgraph/research-types.mjs +31 -0
  344. package/ui/arkgraph/selection-mark.jsx +6 -0
  345. package/ui/arkgraph/soft-spine.mjs +26 -0
  346. package/ui/arkgraph/steering-style.css +187 -0
  347. package/ui/arkgraph/style.css +272 -0
@@ -0,0 +1,443 @@
1
+ {
2
+ "artifact": {
3
+ "id": "urn:example:arkgraph-test-lab:artifact-training-evaluation",
4
+ "createdAt": "2026-09-27T00:02:00Z",
5
+ "createdBy": "urn:example:arkgraph-test-lab:lab"
6
+ },
7
+ "profiles": [],
8
+ "roots": [
9
+ {
10
+ "role": "researchTarget",
11
+ "ref": "urn:example:arkgraph-test-lab:claim"
12
+ }
13
+ ],
14
+ "records": [
15
+ {
16
+ "$schema": "https://citeark.com/schemas/cap/v2/agent.schema.json",
17
+ "id": "urn:example:arkgraph-test-lab:lab",
18
+ "type": "https://citeark.com/cap/record-types/agent/2.0",
19
+ "role": "agent",
20
+ "fixture": true,
21
+ "name": "Synthetic example laboratory",
22
+ "kind": "organization"
23
+ },
24
+ {
25
+ "$schema": "https://citeark.com/schemas/cap/v2/entity.schema.json",
26
+ "id": "urn:example:arkgraph-test-lab:data",
27
+ "type": "https://citeark.com/cap/record-types/entity/2.0",
28
+ "role": "dataset",
29
+ "fixture": true,
30
+ "title": "Fixed synthetic test split",
31
+ "identity": {
32
+ "uri": "https://example.invalid/dataset/test-v1",
33
+ "digest": "sha256:aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa"
34
+ },
35
+ "basis": "declared"
36
+ },
37
+ {
38
+ "$schema": "https://citeark.com/schemas/cap/v2/entity.schema.json",
39
+ "id": "urn:example:arkgraph-test-lab:method",
40
+ "type": "https://citeark.com/cap/record-types/entity/2.0",
41
+ "role": "procedure",
42
+ "fixture": true,
43
+ "title": "Evaluate fixed model on fixed test split",
44
+ "version": "2",
45
+ "instructions": "Compute accuracy. This fixture executes no commands."
46
+ },
47
+ {
48
+ "$schema": "https://citeark.com/schemas/cap/v2/assertion.schema.json",
49
+ "id": "urn:example:arkgraph-test-lab:claim",
50
+ "type": "https://citeark.com/cap/record-types/assertion/2.0",
51
+ "role": "claim",
52
+ "fixture": true,
53
+ "statement": {
54
+ "value": "Model accuracy exceeds 0.80 on this test split."
55
+ },
56
+ "scope": {
57
+ "dataset": "test-v1"
58
+ }
59
+ },
60
+ {
61
+ "$schema": "https://citeark.com/schemas/cap/v2/activity.schema.json",
62
+ "id": "urn:example:arkgraph-test-lab:evaluation",
63
+ "type": "https://citeark.com/cap/record-types/activity/2.0",
64
+ "role": "evaluation",
65
+ "fixture": true,
66
+ "status": "succeeded",
67
+ "startedAt": "2026-09-27T00:00:00Z",
68
+ "endedAt": "2026-09-27T00:01:00Z",
69
+ "gaps": []
70
+ },
71
+ {
72
+ "$schema": "https://citeark.com/schemas/cap/v2/entity.schema.json",
73
+ "id": "urn:example:arkgraph-test-lab:observation",
74
+ "type": "https://citeark.com/cap/record-types/entity/2.0",
75
+ "role": "observation",
76
+ "fixture": true,
77
+ "kind": "measurement",
78
+ "basis": "observed",
79
+ "measurement": {
80
+ "metric": "accuracy",
81
+ "value": {
82
+ "decimal": "0.82"
83
+ },
84
+ "unit": "1",
85
+ "scope": {
86
+ "split": "test-v1",
87
+ "samples": 100
88
+ },
89
+ "uncertainty": {
90
+ "status": "not-estimated"
91
+ },
92
+ "method": {
93
+ "description": "Correct predictions divided by observed samples"
94
+ }
95
+ },
96
+ "limitations": [
97
+ "Synthetic protocol fixture"
98
+ ]
99
+ },
100
+ {
101
+ "$schema": "https://citeark.com/schemas/cap/v2/assertion.schema.json",
102
+ "id": "urn:example:arkgraph-test-lab:assessment",
103
+ "type": "https://citeark.com/cap/record-types/assertion/2.0",
104
+ "role": "assessment",
105
+ "fixture": true,
106
+ "subject": {
107
+ "ref": "urn:example:arkgraph-test-lab:claim"
108
+ },
109
+ "evidence": [
110
+ {
111
+ "ref": "urn:example:arkgraph-test-lab:observation"
112
+ }
113
+ ],
114
+ "conclusion": "supports",
115
+ "method": {
116
+ "type": "QualitativeReview",
117
+ "description": "Compare fixed threshold and actual scope."
118
+ },
119
+ "performedBy": {
120
+ "ref": "urn:example:arkgraph-test-lab:lab"
121
+ },
122
+ "scope": {
123
+ "split": "test-v1",
124
+ "coverage": "complete"
125
+ },
126
+ "limitations": [
127
+ "Synthetic result, not scientific evidence"
128
+ ]
129
+ },
130
+ {
131
+ "$schema": "https://citeark.com/schemas/cap/v2/relation.schema.json",
132
+ "id": "urn:example:arkgraph-test-lab:uses-data",
133
+ "type": "https://citeark.com/cap/record-types/relation/2.0",
134
+ "role": "provenance",
135
+ "fixture": true,
136
+ "predicate": "used",
137
+ "subject": {
138
+ "ref": "urn:example:arkgraph-test-lab:evaluation"
139
+ },
140
+ "object": {
141
+ "ref": "urn:example:arkgraph-test-lab:data"
142
+ },
143
+ "basis": "observed",
144
+ "attributedTo": {
145
+ "ref": "urn:example:arkgraph-test-lab:lab"
146
+ },
147
+ "sources": [],
148
+ "qualifiers": {}
149
+ },
150
+ {
151
+ "$schema": "https://citeark.com/schemas/cap/v2/relation.schema.json",
152
+ "id": "urn:example:arkgraph-test-lab:follows-method",
153
+ "type": "https://citeark.com/cap/record-types/relation/2.0",
154
+ "role": "provenance",
155
+ "fixture": true,
156
+ "predicate": "follows",
157
+ "subject": {
158
+ "ref": "urn:example:arkgraph-test-lab:evaluation"
159
+ },
160
+ "object": {
161
+ "ref": "urn:example:arkgraph-test-lab:method"
162
+ },
163
+ "basis": "declared",
164
+ "attributedTo": {
165
+ "ref": "urn:example:arkgraph-test-lab:lab"
166
+ },
167
+ "sources": [],
168
+ "qualifiers": {}
169
+ },
170
+ {
171
+ "$schema": "https://citeark.com/schemas/cap/v2/relation.schema.json",
172
+ "id": "urn:example:arkgraph-test-lab:produces-observation",
173
+ "type": "https://citeark.com/cap/record-types/relation/2.0",
174
+ "role": "provenance",
175
+ "fixture": true,
176
+ "predicate": "generated",
177
+ "subject": {
178
+ "ref": "urn:example:arkgraph-test-lab:evaluation"
179
+ },
180
+ "object": {
181
+ "ref": "urn:example:arkgraph-test-lab:observation"
182
+ },
183
+ "basis": "observed",
184
+ "attributedTo": {
185
+ "ref": "urn:example:arkgraph-test-lab:lab"
186
+ },
187
+ "sources": [],
188
+ "qualifiers": {}
189
+ },
190
+ {
191
+ "$schema": "https://citeark.com/schemas/cap/v2/relation.schema.json",
192
+ "id": "urn:example:arkgraph-test-lab:method-target",
193
+ "type": "https://citeark.com/cap/record-types/relation/2.0",
194
+ "role": "provenance",
195
+ "fixture": true,
196
+ "predicate": "plannedFor",
197
+ "subject": {
198
+ "ref": "urn:example:arkgraph-test-lab:method"
199
+ },
200
+ "object": {
201
+ "ref": "urn:example:arkgraph-test-lab:claim"
202
+ },
203
+ "basis": "declared",
204
+ "attributedTo": {
205
+ "ref": "urn:example:arkgraph-test-lab:lab"
206
+ },
207
+ "sources": [],
208
+ "qualifiers": {}
209
+ },
210
+ {
211
+ "$schema": "https://citeark.com/schemas/cap/v2/relation.schema.json",
212
+ "id": "urn:example:arkgraph-test-lab:evaluation-agent",
213
+ "type": "https://citeark.com/cap/record-types/relation/2.0",
214
+ "role": "provenance",
215
+ "fixture": true,
216
+ "predicate": "associatedWith",
217
+ "subject": {
218
+ "ref": "urn:example:arkgraph-test-lab:evaluation"
219
+ },
220
+ "object": {
221
+ "ref": "urn:example:arkgraph-test-lab:lab"
222
+ },
223
+ "basis": "observed",
224
+ "attributedTo": {
225
+ "ref": "urn:example:arkgraph-test-lab:lab"
226
+ },
227
+ "sources": [],
228
+ "qualifiers": {}
229
+ },
230
+ {
231
+ "$schema": "https://citeark.com/schemas/cap/v2/entity.schema.json",
232
+ "id": "urn:example:arkgraph-test-lab:paper",
233
+ "type": "https://citeark.com/cap/record-types/entity/2.0",
234
+ "role": "source-work",
235
+ "fixture": true,
236
+ "title": "Synthetic reference report",
237
+ "sources": [
238
+ {
239
+ "kind": "paper",
240
+ "uri": "https://example.invalid/synthetic-paper",
241
+ "integrity": "unverified",
242
+ "rights": {
243
+ "statement": "Test fixture"
244
+ }
245
+ }
246
+ ]
247
+ },
248
+ {
249
+ "$schema": "https://citeark.com/schemas/cap/v2/relation.schema.json",
250
+ "id": "urn:example:arkgraph-test-lab:reported-claim",
251
+ "type": "https://citeark.com/cap/record-types/relation/2.0",
252
+ "role": "provenance",
253
+ "fixture": true,
254
+ "predicate": "assertedIn",
255
+ "subject": {
256
+ "ref": "urn:example:arkgraph-test-lab:claim"
257
+ },
258
+ "object": {
259
+ "ref": "urn:example:arkgraph-test-lab:paper"
260
+ },
261
+ "basis": "declared",
262
+ "attributedTo": {
263
+ "ref": "urn:example:arkgraph-test-lab:lab"
264
+ },
265
+ "sources": [],
266
+ "qualifiers": {
267
+ "selector": {
268
+ "type": "TextQuoteSelector",
269
+ "exact": "Accuracy exceeds 0.80."
270
+ }
271
+ }
272
+ },
273
+ {
274
+ "$schema": "https://citeark.com/schemas/cap/v2/entity.schema.json",
275
+ "id": "urn:example:arkgraph-test-lab:training-data",
276
+ "type": "https://citeark.com/cap/record-types/entity/2.0",
277
+ "role": "dataset",
278
+ "fixture": true,
279
+ "title": "Fixed training split",
280
+ "basis": "declared"
281
+ },
282
+ {
283
+ "$schema": "https://citeark.com/schemas/cap/v2/activity.schema.json",
284
+ "id": "urn:example:arkgraph-test-lab:training",
285
+ "type": "https://citeark.com/cap/record-types/activity/2.0",
286
+ "role": "training",
287
+ "fixture": true,
288
+ "status": "succeeded",
289
+ "startedAt": "2026-09-26T00:00:00Z",
290
+ "endedAt": "2026-09-26T01:00:00Z"
291
+ },
292
+ {
293
+ "$schema": "https://citeark.com/schemas/cap/v2/entity.schema.json",
294
+ "id": "urn:example:arkgraph-test-lab:checkpoint",
295
+ "type": "https://citeark.com/cap/record-types/entity/2.0",
296
+ "role": "checkpoint",
297
+ "fixture": true,
298
+ "title": "Checkpoint created in this route",
299
+ "basis": "observed"
300
+ },
301
+ {
302
+ "$schema": "https://citeark.com/schemas/cap/v2/relation.schema.json",
303
+ "id": "urn:example:arkgraph-test-lab:train-data",
304
+ "type": "https://citeark.com/cap/record-types/relation/2.0",
305
+ "role": "provenance",
306
+ "fixture": true,
307
+ "predicate": "used",
308
+ "subject": {
309
+ "ref": "urn:example:arkgraph-test-lab:training"
310
+ },
311
+ "object": {
312
+ "ref": "urn:example:arkgraph-test-lab:training-data"
313
+ },
314
+ "basis": "observed",
315
+ "attributedTo": {
316
+ "ref": "urn:example:arkgraph-test-lab:lab"
317
+ },
318
+ "sources": [],
319
+ "qualifiers": {}
320
+ },
321
+ {
322
+ "$schema": "https://citeark.com/schemas/cap/v2/relation.schema.json",
323
+ "id": "urn:example:arkgraph-test-lab:train-model",
324
+ "type": "https://citeark.com/cap/record-types/relation/2.0",
325
+ "role": "provenance",
326
+ "fixture": true,
327
+ "predicate": "generated",
328
+ "subject": {
329
+ "ref": "urn:example:arkgraph-test-lab:training"
330
+ },
331
+ "object": {
332
+ "ref": "urn:example:arkgraph-test-lab:checkpoint"
333
+ },
334
+ "basis": "observed",
335
+ "attributedTo": {
336
+ "ref": "urn:example:arkgraph-test-lab:lab"
337
+ },
338
+ "sources": [],
339
+ "qualifiers": {}
340
+ },
341
+ {
342
+ "$schema": "https://citeark.com/schemas/cap/v2/assertion.schema.json",
343
+ "id": "urn:example:arkgraph-test-lab:claim-calibration",
344
+ "type": "https://citeark.com/cap/record-types/assertion/2.0",
345
+ "role": "claim",
346
+ "fixture": true,
347
+ "statement": {
348
+ "value": "Calibration is adequate."
349
+ }
350
+ },
351
+ {
352
+ "$schema": "https://citeark.com/schemas/cap/v2/assertion.schema.json",
353
+ "id": "urn:example:arkgraph-test-lab:assessment-conflict",
354
+ "type": "https://citeark.com/cap/record-types/assertion/2.0",
355
+ "role": "assessment",
356
+ "fixture": true,
357
+ "subject": {
358
+ "ref": "urn:example:arkgraph-test-lab:claim"
359
+ },
360
+ "evidence": [
361
+ {
362
+ "ref": "urn:example:arkgraph-test-lab:observation"
363
+ }
364
+ ],
365
+ "conclusion": "challenges",
366
+ "method": {
367
+ "type": "QualitativeReview",
368
+ "description": "Uncertainty is not estimated."
369
+ },
370
+ "performedBy": {
371
+ "ref": "urn:example:arkgraph-test-lab:lab"
372
+ },
373
+ "scope": {
374
+ "split": "test-v1"
375
+ },
376
+ "limitations": [
377
+ "Uncertainty missing"
378
+ ]
379
+ },
380
+ {
381
+ "$schema": "https://citeark.com/schemas/cap/v2/relation.schema.json",
382
+ "id": "urn:example:arkgraph-test-lab:second-target",
383
+ "type": "https://citeark.com/cap/record-types/relation/2.0",
384
+ "role": "provenance",
385
+ "fixture": true,
386
+ "predicate": "plannedFor",
387
+ "subject": {
388
+ "ref": "urn:example:arkgraph-test-lab:method"
389
+ },
390
+ "object": {
391
+ "ref": "urn:example:arkgraph-test-lab:claim-calibration"
392
+ },
393
+ "basis": "declared",
394
+ "attributedTo": {
395
+ "ref": "urn:example:arkgraph-test-lab:lab"
396
+ },
397
+ "sources": [],
398
+ "qualifiers": {}
399
+ },
400
+ {
401
+ "$schema": "https://citeark.com/schemas/cap/v2/relation.schema.json",
402
+ "id": "urn:example:arkgraph-test-lab:second-evidence",
403
+ "type": "https://citeark.com/cap/record-types/relation/2.0",
404
+ "role": "provenance",
405
+ "fixture": true,
406
+ "predicate": "evidenceFor",
407
+ "subject": {
408
+ "ref": "urn:example:arkgraph-test-lab:observation"
409
+ },
410
+ "object": {
411
+ "ref": "urn:example:arkgraph-test-lab:claim-calibration"
412
+ },
413
+ "basis": "inferred",
414
+ "attributedTo": {
415
+ "ref": "urn:example:arkgraph-test-lab:lab"
416
+ },
417
+ "sources": [],
418
+ "qualifiers": {}
419
+ },
420
+ {
421
+ "$schema": "https://citeark.com/schemas/cap/v2/relation.schema.json",
422
+ "id": "urn:example:arkgraph-test-lab:uses-checkpoint",
423
+ "type": "https://citeark.com/cap/record-types/relation/2.0",
424
+ "role": "provenance",
425
+ "fixture": true,
426
+ "predicate": "used",
427
+ "subject": {
428
+ "ref": "urn:example:arkgraph-test-lab:evaluation"
429
+ },
430
+ "object": {
431
+ "ref": "urn:example:arkgraph-test-lab:checkpoint"
432
+ },
433
+ "basis": "observed",
434
+ "attributedTo": {
435
+ "ref": "urn:example:arkgraph-test-lab:lab"
436
+ },
437
+ "sources": [],
438
+ "qualifiers": {}
439
+ }
440
+ ],
441
+ "blobs": [],
442
+ "relations": []
443
+ }
@@ -0,0 +1,16 @@
1
+ # CAP Agent Trace Profile 2.0
2
+
3
+ Profile URI: `https://citeark.com/cap/profiles/agent-trace/2.0`
4
+
5
+ This Profile requires an `execution-trace` Blob. The default representation is
6
+ NDJSON with strictly increasing `sequence` and valid `eventType`, `occurredAt`
7
+ and `observedAt` fields.
8
+
9
+ Events record observable prompts approved for publication, Agent and model
10
+ identity, tool calls, commands, file changes, errors, retries and explicit
11
+ structured decisions. CAP never requires hidden chain-of-thought.
12
+
13
+ Each event SHOULD identify its actor and Execution. Parent relationships, inputs,
14
+ outputs, trace/span identifiers and attributes MAY follow OpenTelemetry
15
+ conventions. The observation source distinguishes control-plane capture from an
16
+ Agent or user declaration.
@@ -0,0 +1,16 @@
1
+ # CAP Computational Run Profile 2.0
2
+
3
+ Profile URI: `https://citeark.com/cap/profiles/computational-run/2.0`
4
+
5
+ This Profile requires an Agent, a procedure Entity (Experiment), an execution
6
+ Activity (Execution), and observation Entities (Evidence). The
7
+ Execution binds the prospective public contract to what actually ran, including
8
+ actors, environment, code state, inputs, outputs, timestamps and exit state.
9
+
10
+ The public contract MUST be the exact blinded input disclosed to the execution
11
+ Agent and MUST NOT contain reported targets, tolerances, acceptance criteria or
12
+ the private policy reveal. An Execution MUST NOT carry a scientific verdict.
13
+
14
+ Evidence derived by a deterministic parser records its parser identity,
15
+ version, configuration, implementation digest when available and digest-bound
16
+ raw inputs. Runner-observed and actor-declared events remain distinguishable.
@@ -0,0 +1,15 @@
1
+ # CAP Core Profile 2.0
2
+
3
+ Profile URI: `https://citeark.com/cap/profiles/core/2.0`
4
+
5
+ Every CAP 2.0 Artifact declares this Profile. It requires a canonical
6
+ `cap-manifest.json`, at least one typed Record, one root, content digests, safe
7
+ paths, resolvable same-Artifact references and immutable cross-Artifact
8
+ references.
9
+
10
+ Core establishes structural and content integrity only. It does not require an
11
+ execution, Assessment, signature, public identity, online Registry or fully
12
+ materialized external Blob.
13
+
14
+ Conformance reports structural validity, Record and embedded Blob integrity,
15
+ external/withheld Blob counts and understood/unknown Profiles separately.
@@ -0,0 +1,18 @@
1
+ # CAP Public Bundle Profile 2.0
2
+
3
+ Profile URI: `https://citeark.com/cap/profiles/public-bundle/2.0`
4
+
5
+ This Profile requires:
6
+
7
+ - at least one cryptographically valid root Artifact Attestation;
8
+ - public metadata and resource-specific rights information;
9
+ - `ro-crate-metadata.json` as a RO-Crate 1.3 projection;
10
+ - a portable attached `.cap` export.
11
+
12
+ RO-Crate metadata, previews, locations and detached Attestations are Bundle
13
+ attachments. They can change without changing the CAP Artifact digest. The
14
+ archive SHA-256 detects changes to one exact public transport.
15
+
16
+ Signature validity does not establish signer trust. Public deployments MAY use
17
+ Sigstore Bundles and transparency logs; private or institutional deployments MAY
18
+ use other DSSE verification material and external trust policies.
@@ -0,0 +1,29 @@
1
+ # CAP Reproduction Profile 2.0
2
+
3
+ Profile URI: `https://citeark.com/cap/profiles/reproduction/2.0`
4
+
5
+ This Profile requires source-work, procedure and observation Entities; claim and
6
+ assessment Assertions; execution Activities; and participating Agents. The domain
7
+ names SourceWork, Experiment, Evidence, Claim, Assessment and Execution below refer
8
+ to these role projections, not additional primitive types. The profile evaluates
9
+ one or more bounded Claims without asserting paper-wide truth.
10
+
11
+ When the execution was scheduled from a Research Plan Artifact, the Manifest
12
+ MUST contain exactly one `reproduces` relation to that plan's Artifact digest.
13
+ A registry MUST reject the Reproduction Artifact when the relation does not
14
+ match the Research Plan already admitted for the campaign.
15
+
16
+ Before execution, the producer commits to the private verification policy with
17
+ `citeark-policy-commitment-v1`, a high-entropy nonce and RFC 8785 canonical JSON.
18
+ The later Assessment reveals the policy and nonce. A verifier rejects any
19
+ mismatch with both `method.policyCommitment` and the referenced Experiment's
20
+ public commitment when that Experiment is locally available.
21
+
22
+ Assessment conclusions are `supports`, `challenges`, `contradicts` or
23
+ `inconclusive`. Missing trustworthy Evidence or failed integrity produces an
24
+ inconclusive assessment. `notAssessed` belongs to a Registry coverage view and
25
+ is not an Assessment conclusion.
26
+
27
+ Operator, implementation, environment, hardware and data independence are
28
+ recorded separately. A valid Reproduction Artifact does not imply independent
29
+ repetition unless those dimensions and their provenance support that statement.
@@ -0,0 +1,44 @@
1
+ # Research Compilation Profile 2.0
2
+
3
+ Profile URI: `https://citeark.com/cap/profiles/research-compilation/2.0`
4
+
5
+ This Profile represents one compiler's source-grounded interpretation before a
6
+ planner chooses experiments or an executor runs them. The compiler MAY be a
7
+ CiteArk component, another project such as Paper2Agent, a laboratory pipeline,
8
+ or a human-operated tool.
9
+
10
+ SourceWork, Experiment and Evidence denote Entities with roles `source-work`,
11
+ `procedure` and `observation`; Claim and Assessment denote Assertions with roles
12
+ `claim` and `assessment`; Execution denotes an Activity with role `execution`.
13
+ These are domain projections over the five CAP primitives.
14
+
15
+ An Artifact declaring this Profile:
16
+
17
+ - MUST contain the compiler as an Agent and exactly one SourceWork;
18
+ - MUST root the SourceWork as `primarySourceWork` and every normalized Claim it
19
+ contains as `compiledClaim`;
20
+ - MUST contain a Blob with the role `compiler-output`, preserving the
21
+ producer-native output; this Blob MAY be JSON, an archive or another declared
22
+ media type;
23
+ - MUST contain an embedded JSON Blob with the role `research-inventory` for the
24
+ normalized Planner handoff; it MAY be the same Blob as `compiler-output`;
25
+ - MAY contain scientific material Entities and source-declared observation Entities, including each reported measurement;
26
+ - MAY contain source-reported `research-activity` Activities with `basis: declared`, a declared compiler origin, `status: unknown`, and nonempty fixed-source context. They describe what a paper says happened, never an execution captured by this compiler;
27
+ - MAY retain source-reported evaluation text as `source-assessment` Assertions, without a reproduction verdict;
28
+ - MUST NOT contain executable experiment procedures, current-run Activities, newly generated observations or reproduction Assessments;
29
+ - MUST present its Claims as the compiler's interpretation of fixed sources,
30
+ not as accepted scientific truth.
31
+
32
+ Different compilers MAY publish conflicting Artifacts for the same SourceWork.
33
+ A Registry MUST preserve their producer identities and Artifact digests rather
34
+ than silently merging them into one canonical scientific record.
35
+
36
+ A later Research Plan MAY use one or more `derivedFrom` relations to identify
37
+ the exact Research Compilation Artifacts used by its planner. A valid
38
+ Compilation Artifact does not by itself authorize execution or establish that
39
+ its compiler is trusted by a particular Registry.
40
+
41
+ The Profile standardizes SourceWork, Claim, explicitly identified research objects and source-declared observations.
42
+ Compiler-specific tools, workflows and diagnostics remain in the
43
+ `compiler-output` Blob until interoperability needs justify additional Record
44
+ types.
@@ -0,0 +1,39 @@
1
+ # Research Plan Profile 2.0
2
+
3
+ Profile URI: `https://citeark.com/cap/profiles/research-plan/2.0`
4
+
5
+ This Profile represents an immutable plan produced after source compilation and
6
+ before any reproduction execution begins. A planner MAY consume one or more
7
+ Research Compilation Artifacts from different producers.
8
+
9
+ SourceWork, Experiment and Evidence denote Entities with roles `source-work`,
10
+ `procedure` and `observation`; Claim and Assessment denote Assertions with roles
11
+ `claim` and `assessment`; Execution denotes an Activity with role `execution`.
12
+ These are domain projections over the five CAP primitives.
13
+
14
+ An Artifact declaring this Profile:
15
+
16
+ - MUST contain an Agent, exactly one SourceWork and at least one Claim;
17
+ - MUST root the SourceWork as `primarySourceWork` and every Claim as
18
+ `plannedClaim`;
19
+ - MUST root every included Experiment as `plannedExperiment`;
20
+ - MAY contain declared Evidence for values reported by the SourceWork;
21
+ - MUST mark such Evidence with `basis: declared` and MUST NOT present it as an
22
+ independently observed result;
23
+ - MUST NOT contain Execution or Assessments;
24
+ - SHOULD use `derivedFrom` relations to bind every Research Compilation
25
+ Artifact used to make the plan;
26
+ - MAY omit `Experiment.publicContract.verificationPolicyCommitment`, because
27
+ the private verification policy is created only when that Experiment is
28
+ scheduled for execution.
29
+
30
+ A public Research Plan Bundle MUST also satisfy the Public Bundle Profile and
31
+ carry a detached Attestation from its planner. A Registry applies its own trust
32
+ and execution-admission policy after protocol verification. An internal
33
+ compiler or planner checkpoint is not a Research Plan Artifact and cannot be
34
+ imported as scientific content.
35
+
36
+ A later Reproduction Artifact MUST use a `reproduces` Manifest relation to bind
37
+ the Research Plan Artifact digest. Its execution-specific Experiment MUST bind
38
+ the pre-execution verification policy commitment required by the Reproduction
39
+ Profile.
@@ -0,0 +1,15 @@
1
+ # CAP Restricted Evidence Profile 2.0
2
+
3
+ Profile URI: `https://citeark.com/cap/profiles/restricted-evidence/2.0`
4
+
5
+ This Profile allows sensitive, licensed or very large evidence to remain
6
+ external or withheld while preserving an immutable digest commitment.
7
+
8
+ Every restricted Blob declares digest, byte size, media type, availability,
9
+ resource-specific rights and an `accessPolicy`. Mutable retrieval endpoints are
10
+ stored in `cap-locations.json` and are not Artifact identity.
11
+
12
+ A verifier reports structural conformance separately from materialization. It
13
+ MUST NOT claim to have verified the unavailable Blob bytes. A controlled runner
14
+ MAY later materialize and verify the bytes or publish a new Attestation without
15
+ changing the original Artifact.