@c4a/context-cli 0.6.18 → 0.7.0

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 (297) hide show
  1. package/README.md +73 -8
  2. package/README.zh-CN.md +47 -7
  3. package/cli.js +89881 -53821
  4. package/docs/document-optimization.md +35 -11
  5. package/docs/document-optimization.zh-CN.md +29 -9
  6. package/indexers/bundles/context-code-indexer/SKILL.md +20 -0
  7. package/indexers/bundles/context-code-indexer/context-indexer.yaml +230 -0
  8. package/indexers/bundles/context-code-indexer/references/composers/contracts-and-chains.md +23 -0
  9. package/indexers/bundles/context-code-indexer/references/composers/cross-module-chain.md +22 -0
  10. package/indexers/bundles/context-code-indexer/references/composers/development-and-delivery.md +22 -0
  11. package/indexers/bundles/context-code-indexer/references/composers/event-flow.md +21 -0
  12. package/indexers/bundles/context-code-indexer/references/composers/examples-and-documentation.md +22 -0
  13. package/indexers/bundles/context-code-indexer/references/composers/persistence-boundary.md +21 -0
  14. package/indexers/bundles/context-code-indexer/references/composers/protocol-boundary.md +22 -0
  15. package/indexers/bundles/context-code-indexer/references/composers/public-contract.md +23 -0
  16. package/indexers/bundles/context-code-indexer/references/indexer.md +49 -0
  17. package/indexers/bundles/context-code-indexer/references/metrics.md +201 -0
  18. package/indexers/bundles/context-code-indexer/templates/adapter-integration.md +119 -0
  19. package/indexers/bundles/context-code-indexer/templates/api-service.md +118 -0
  20. package/indexers/bundles/context-code-indexer/templates/background-runtime.md +109 -0
  21. package/indexers/bundles/context-code-indexer/templates/cli-tool.md +129 -0
  22. package/indexers/bundles/context-code-indexer/templates/component-library.md +99 -0
  23. package/indexers/bundles/context-code-indexer/templates/contract-source.md +73 -0
  24. package/indexers/bundles/context-code-indexer/templates/data-sync-reconciliation.md +77 -0
  25. package/indexers/bundles/context-code-indexer/templates/derived-generated-source.md +117 -0
  26. package/indexers/bundles/context-code-indexer/templates/domain-service.md +109 -0
  27. package/indexers/bundles/context-code-indexer/templates/event-consumer.md +62 -0
  28. package/indexers/bundles/context-code-indexer/templates/gateway-facade.md +89 -0
  29. package/indexers/bundles/context-code-indexer/templates/monorepo-container.md +124 -0
  30. package/indexers/bundles/context-code-indexer/templates/plugin-extension.md +52 -0
  31. package/indexers/bundles/context-code-indexer/templates/sdk-library.md +132 -0
  32. package/indexers/bundles/context-code-indexer/templates/storage-repository.md +56 -0
  33. package/indexers/bundles/context-code-indexer/templates/web-application.md +146 -0
  34. package/indexers/bundles/context-code-indexer/tests/fixtures/chapters.json +226 -0
  35. package/indexers/bundles/context-code-indexer/tests/fixtures/composers.json +82 -0
  36. package/indexers/bundles/context-code-indexer/tests/fixtures/profiles.json +210 -0
  37. package/indexers/bundles/context-code-indexer/tests/fixtures/scenarios.json +122 -0
  38. package/indexers/bundles/context-markdown-indexer/SKILL.md +20 -0
  39. package/indexers/bundles/context-markdown-indexer/context-indexer.yaml +147 -0
  40. package/indexers/bundles/context-markdown-indexer/references/classification.md +63 -0
  41. package/indexers/bundles/context-markdown-indexer/references/editorial-policy.md +106 -0
  42. package/indexers/bundles/context-markdown-indexer/references/indexer.md +23 -0
  43. package/indexers/bundles/context-markdown-indexer/references/semantic-planning.md +146 -0
  44. package/indexers/bundles/context-markdown-indexer/references/structure-and-artifacts.md +109 -0
  45. package/indexers/bundles/context-markdown-indexer/tests/fixtures/anonymous.json +31 -0
  46. package/indexers/bundles/context-markdown-indexer/tests/fixtures/editorial.json +309 -0
  47. package/indexers/bundles/context-markdown-indexer/tests/fixtures/migration-equivalence.json +186 -0
  48. package/indexers/bundles/context-markdown-indexer/tests/fixtures/profiles.json +171 -0
  49. package/indexers/bundles/context-markdown-indexer/tests/fixtures/routing.json +151 -0
  50. package/indexers/capability-manifest.json +40 -0
  51. package/indexers/contracts/hard-rule-conformance.json +2644 -0
  52. package/indexers/contracts/operator-contract.json +35 -0
  53. package/indexers/contracts/profile-contract.json +10162 -0
  54. package/indexers/release-manifest.json +208 -0
  55. package/package.json +5 -4
  56. package/plugins/README.md +17 -109
  57. package/plugins/README_CN.md +11 -89
  58. package/plugins/VERSION +1 -1
  59. package/plugins/claude/.claude-plugin/plugin.json +3 -11
  60. package/plugins/claude/CLAUDE.md +1 -1
  61. package/plugins/claude/README.md +1 -1
  62. package/plugins/claude/commands/context.md +112 -7
  63. package/plugins/codex/.codex-plugin/plugin.json +6 -17
  64. package/plugins/codex/AGENTS.md +1 -1
  65. package/plugins/codex/README.md +1 -1
  66. package/plugins/codex/skills/context/SKILL.md +113 -19
  67. package/plugins/cursor/.cursor-plugin/plugin.json +4 -17
  68. package/plugins/cursor/AGENTS.md +1 -1
  69. package/plugins/cursor/README.md +3 -2
  70. package/plugins/cursor/commands/c4a-context.md +112 -9
  71. package/plugins/skills/{c4a-context → context}/SKILL.md +114 -20
  72. package/plugins/skills/context-code-indexer/SKILL.md +20 -0
  73. package/plugins/skills/context-code-indexer/context-indexer.yaml +230 -0
  74. package/plugins/skills/context-code-indexer/references/composers/contracts-and-chains.md +23 -0
  75. package/plugins/skills/context-code-indexer/references/composers/cross-module-chain.md +22 -0
  76. package/plugins/skills/context-code-indexer/references/composers/development-and-delivery.md +22 -0
  77. package/plugins/skills/context-code-indexer/references/composers/event-flow.md +21 -0
  78. package/plugins/skills/context-code-indexer/references/composers/examples-and-documentation.md +22 -0
  79. package/plugins/skills/context-code-indexer/references/composers/persistence-boundary.md +21 -0
  80. package/plugins/skills/context-code-indexer/references/composers/protocol-boundary.md +22 -0
  81. package/plugins/skills/context-code-indexer/references/composers/public-contract.md +23 -0
  82. package/plugins/skills/context-code-indexer/references/indexer.md +49 -0
  83. package/plugins/skills/context-code-indexer/references/metrics.md +201 -0
  84. package/plugins/skills/context-code-indexer/templates/adapter-integration.md +119 -0
  85. package/plugins/skills/context-code-indexer/templates/api-service.md +118 -0
  86. package/plugins/skills/context-code-indexer/templates/background-runtime.md +109 -0
  87. package/plugins/skills/context-code-indexer/templates/cli-tool.md +129 -0
  88. package/plugins/skills/context-code-indexer/templates/component-library.md +99 -0
  89. package/plugins/skills/context-code-indexer/templates/contract-source.md +73 -0
  90. package/plugins/skills/context-code-indexer/templates/data-sync-reconciliation.md +77 -0
  91. package/plugins/skills/context-code-indexer/templates/derived-generated-source.md +117 -0
  92. package/plugins/skills/context-code-indexer/templates/domain-service.md +109 -0
  93. package/plugins/skills/context-code-indexer/templates/event-consumer.md +62 -0
  94. package/plugins/skills/context-code-indexer/templates/gateway-facade.md +89 -0
  95. package/plugins/skills/context-code-indexer/templates/monorepo-container.md +124 -0
  96. package/plugins/skills/context-code-indexer/templates/plugin-extension.md +52 -0
  97. package/plugins/skills/context-code-indexer/templates/sdk-library.md +132 -0
  98. package/plugins/skills/context-code-indexer/templates/storage-repository.md +56 -0
  99. package/plugins/skills/context-code-indexer/templates/web-application.md +146 -0
  100. package/plugins/skills/context-code-indexer/tests/fixtures/chapters.json +226 -0
  101. package/plugins/skills/context-code-indexer/tests/fixtures/composers.json +82 -0
  102. package/plugins/skills/context-code-indexer/tests/fixtures/profiles.json +210 -0
  103. package/plugins/skills/context-code-indexer/tests/fixtures/scenarios.json +122 -0
  104. package/plugins/skills/context-markdown-indexer/SKILL.md +20 -0
  105. package/plugins/skills/context-markdown-indexer/context-indexer.yaml +147 -0
  106. package/plugins/skills/context-markdown-indexer/references/classification.md +63 -0
  107. package/plugins/skills/context-markdown-indexer/references/editorial-policy.md +106 -0
  108. package/plugins/skills/context-markdown-indexer/references/indexer.md +23 -0
  109. package/plugins/skills/context-markdown-indexer/references/semantic-planning.md +146 -0
  110. package/plugins/skills/context-markdown-indexer/references/structure-and-artifacts.md +109 -0
  111. package/plugins/skills/context-markdown-indexer/tests/fixtures/anonymous.json +31 -0
  112. package/plugins/skills/context-markdown-indexer/tests/fixtures/editorial.json +309 -0
  113. package/plugins/skills/context-markdown-indexer/tests/fixtures/migration-equivalence.json +186 -0
  114. package/plugins/skills/context-markdown-indexer/tests/fixtures/profiles.json +171 -0
  115. package/plugins/skills/context-markdown-indexer/tests/fixtures/routing.json +151 -0
  116. package/providers/context/actions/accept-main-index-run.yaml +7 -0
  117. package/providers/context/actions/accept-material-answer-run.yaml +7 -0
  118. package/providers/context/actions/accept-post-author-composer-run.yaml +7 -0
  119. package/providers/context/actions/actualize-material-answer-bindings.yaml +8 -0
  120. package/providers/context/actions/apply-code-index-guidance.yaml +5 -0
  121. package/providers/context/actions/apply-document-optimization-guidance.yaml +5 -0
  122. package/providers/context/actions/apply-indexer-project.yaml +7 -0
  123. package/providers/context/actions/audit-material-gap-state.yaml +8 -0
  124. package/providers/context/actions/audit-projected-artifact-fan-out.yaml +8 -0
  125. package/providers/context/actions/authorize-indexer-contract-overlay.yaml +7 -0
  126. package/providers/context/actions/authorize-indexer-dependencies.yaml +7 -0
  127. package/providers/context/actions/authorize-indexer-program-execution.yaml +7 -0
  128. package/providers/context/actions/build-main-index-author-worksets.yaml +7 -0
  129. package/providers/context/actions/build-main-index-catalog-fallback.yaml +7 -0
  130. package/providers/context/actions/build-main-index-partition-worksets.yaml +7 -0
  131. package/providers/context/actions/build-material-question-workset.yaml +7 -0
  132. package/providers/context/actions/build-post-author-composer-worksets.yaml +7 -0
  133. package/providers/context/actions/build-question-target-inventory.yaml +7 -0
  134. package/providers/context/actions/build-subject-catalog.yaml +7 -0
  135. package/providers/context/actions/build-target-resolution-views.yaml +7 -0
  136. package/providers/context/actions/checkpoint-material-answer-review.yaml +8 -0
  137. package/providers/context/actions/checkpoint-material-gaps.yaml +8 -0
  138. package/providers/context/actions/close-indexer-approved-knowledge.yaml +8 -0
  139. package/providers/context/actions/compile-indexer-candidates.yaml +8 -0
  140. package/providers/context/actions/compose-indexer-post-author-fragments.yaml +7 -0
  141. package/providers/context/actions/configure-community-indexer-fallback.yaml +6 -0
  142. package/providers/context/actions/configure-indexer-providers.yaml +6 -0
  143. package/providers/context/actions/confirm-index-requirement-workset.yaml +8 -0
  144. package/providers/context/actions/confirm-subject-reidentification.yaml +8 -0
  145. package/providers/context/actions/converge-main-index-partition-run.yaml +7 -0
  146. package/providers/context/actions/discover-markdown-indexer-providers.yaml +6 -0
  147. package/providers/context/actions/evaluate-material-gaps.yaml +8 -0
  148. package/providers/context/actions/fail-main-index-run.yaml +7 -0
  149. package/providers/context/actions/fail-material-answer-run.yaml +7 -0
  150. package/providers/context/actions/fail-post-author-composer-run.yaml +7 -0
  151. package/providers/context/actions/inspect-index-candidate-review-readiness.yaml +8 -0
  152. package/providers/context/actions/inspect-index-profile-failure.yaml +7 -0
  153. package/providers/context/actions/inspect-indexer-dependencies.yaml +7 -0
  154. package/providers/context/actions/inspect-indexer-program-execution.yaml +7 -0
  155. package/providers/context/actions/inspect-indexer-project-proposal.yaml +7 -0
  156. package/providers/context/actions/inspect-markdown-provider-capture.yaml +7 -0
  157. package/providers/context/actions/inspect-material-answer-review.yaml +8 -0
  158. package/providers/context/actions/maintain-evidence.yaml +1 -1
  159. package/providers/context/actions/materialize-indexer-instructions.yaml +7 -0
  160. package/providers/context/actions/migrate-codeindex.yaml +5 -0
  161. package/providers/context/actions/observe-indexer-project.yaml +7 -0
  162. package/providers/context/actions/observe-main-index-run-ledger.yaml +7 -0
  163. package/providers/context/actions/observe-material-answer-runs.yaml +7 -0
  164. package/providers/context/actions/observe-post-author-composer-worksets.yaml +7 -0
  165. package/providers/context/actions/override-index-profile-audit.yaml +7 -0
  166. package/providers/context/actions/prepare-indexer-customization-project.yaml +7 -0
  167. package/providers/context/actions/prepare-main-index-run-ledger.yaml +7 -0
  168. package/providers/context/actions/prepare-material-answer-runs.yaml +7 -0
  169. package/providers/context/actions/propose-indexer-customization.yaml +7 -0
  170. package/providers/context/actions/propose-overlay-question-amendment.yaml +7 -0
  171. package/providers/context/actions/rebind-indexer-selection-to-requirement.yaml +7 -0
  172. package/providers/context/actions/reconcile-indexer-results.yaml +7 -0
  173. package/providers/context/actions/record-index-profile-revision.yaml +7 -0
  174. package/providers/context/actions/register-source-batch.yaml +1 -1
  175. package/providers/context/actions/report-index-profile-failure.yaml +7 -0
  176. package/providers/context/actions/report-indexer-incremental-impact.yaml +8 -0
  177. package/providers/context/actions/resolve-effective-composers.yaml +7 -0
  178. package/providers/context/actions/restore-repository-sources.yaml +1 -1
  179. package/providers/context/actions/review-material-answer-candidate.yaml +8 -0
  180. package/providers/context/actions/revise-index-output.yaml +7 -0
  181. package/providers/context/actions/route-index-requirement-confirmation.yaml +8 -0
  182. package/providers/context/actions/route-indexer-provider-selection.yaml +7 -0
  183. package/providers/context/actions/run-indexer-agent-step.yaml +7 -0
  184. package/providers/context/actions/run-indexer-post-author-composer.yaml +7 -0
  185. package/providers/context/actions/run-material-answer-indexers.yaml +7 -0
  186. package/providers/context/actions/start-main-index-run.yaml +7 -0
  187. package/providers/context/actions/start-material-answer-run.yaml +7 -0
  188. package/providers/context/actions/start-post-author-composer-run.yaml +7 -0
  189. package/providers/context/actions/validate-indexer-contract-overlays.yaml +7 -0
  190. package/providers/context/actions/validate-indexer-customization.yaml +7 -0
  191. package/providers/context/actions/validate-indexer-selection-proposal.yaml +7 -0
  192. package/providers/context/actions/validate-main-index-run.yaml +7 -0
  193. package/providers/context/actions/validate-markdown-provider-selection.yaml +7 -0
  194. package/providers/context/actions/validate-subject-key-schemas.yaml +8 -0
  195. package/providers/context/codes.yaml +72 -0
  196. package/providers/context/graphs/indexer.yaml +1068 -0
  197. package/providers/context/graphs/workspace.yaml +52 -3
  198. package/providers/context/manifest.json +1487 -157
  199. package/providers/context/provider.yaml +3 -2
  200. package/providers/context/resources/dialogue/code-extraction.md +12 -0
  201. package/providers/context/resources/dialogue/document-classification.md +1 -1
  202. package/providers/context/resources/dialogue/knowledge-review.md +7 -1
  203. package/providers/context/resources/dialogue/source-boundary.md +9 -1
  204. package/providers/context/resources/dialogue/workflow-mode-after-capture.md +11 -8
  205. package/providers/context/resources/dialogue/workflow-mode-after-creation.md +6 -4
  206. package/providers/context/resources/manuals/guides/lark-resources.md +7 -0
  207. package/providers/context/resources/manuals/guides/package-outputs.md +3 -3
  208. package/providers/context/resources/manuals/reference/code-extractors.md +7 -6
  209. package/providers/context/resources/manuals/reference/package-templates.md +18 -10
  210. package/providers/context/resources/manuals/reference/project-api.md +49 -24
  211. package/providers/context/resources/procedures/close-and-build.md +24 -9
  212. package/providers/context/resources/procedures/code-extraction.md +41 -13
  213. package/providers/context/resources/procedures/code-index-audit.md +83 -13
  214. package/providers/context/resources/procedures/document-capture.md +9 -0
  215. package/providers/context/resources/procedures/document-optimization.md +88 -21
  216. package/providers/context/resources/procedures/document-revision.md +11 -6
  217. package/providers/context/resources/procedures/knowledge-review.md +4 -1
  218. package/providers/context/resources/procedures/source-boundary.md +20 -8
  219. package/providers/context/resources/semantic/align/structure-planning.md +4 -4
  220. package/providers/context/resources/semantic/code-index/classification.md +8 -5
  221. package/providers/context/resources/semantic/code-index/templates/adapter.md +9 -0
  222. package/providers/context/resources/semantic/code-index/templates/contracts-and-chains.md +81 -0
  223. package/providers/context/resources/views/resolved-indexer-instructions.yaml +23 -0
  224. package/providers/context/schemas/document-optimization-decisions.schema.json +29 -6
  225. package/providers/context/schemas/indexer-agent-step-input.schema.json +30 -0
  226. package/providers/context/schemas/indexer-agent-step-result.schema.json +47 -0
  227. package/providers/context/schemas/indexer-candidate-compile-input.schema.json +57 -0
  228. package/providers/context/schemas/indexer-candidate-compile-output.schema.json +38 -0
  229. package/providers/context/schemas/indexer-candidate-review-readiness-input.schema.json +46 -0
  230. package/providers/context/schemas/indexer-candidate-review-readiness-output.schema.json +104 -0
  231. package/providers/context/schemas/indexer-contract-overlay-authorization-input.schema.json +32 -0
  232. package/providers/context/schemas/indexer-contract-overlay-authorization-result.schema.json +121 -0
  233. package/providers/context/schemas/indexer-contract-overlay-validation-input.schema.json +90 -0
  234. package/providers/context/schemas/indexer-contract-overlay-validation-result.schema.json +158 -0
  235. package/providers/context/schemas/indexer-customization-project-preparation-result.schema.json +44 -0
  236. package/providers/context/schemas/indexer-customization-proposal-draft.schema.json +83 -0
  237. package/providers/context/schemas/indexer-customization-validation-result.schema.json +36 -0
  238. package/providers/context/schemas/indexer-dependency-authorization-input.schema.json +71 -0
  239. package/providers/context/schemas/indexer-dependency-authorization-result.schema.json +138 -0
  240. package/providers/context/schemas/indexer-incremental-impact-input.schema.json +31 -0
  241. package/providers/context/schemas/indexer-incremental-impact-output.schema.json +52 -0
  242. package/providers/context/schemas/indexer-main-lifecycle-input.schema.json +187 -0
  243. package/providers/context/schemas/indexer-main-lifecycle-output.schema.json +180 -0
  244. package/providers/context/schemas/indexer-markdown-provider-capture-input.schema.json +17 -0
  245. package/providers/context/schemas/indexer-markdown-provider-capture-output.schema.json +54 -0
  246. package/providers/context/schemas/indexer-markdown-provider-validation-input.schema.json +34 -0
  247. package/providers/context/schemas/indexer-markdown-provider-validation-output.schema.json +75 -0
  248. package/providers/context/schemas/indexer-material-answer-lifecycle-input.schema.json +90 -0
  249. package/providers/context/schemas/indexer-material-answer-lifecycle-output.schema.json +80 -0
  250. package/providers/context/schemas/indexer-material-answer-review-inspection-input.schema.json +32 -0
  251. package/providers/context/schemas/indexer-material-answer-review-inspection-output.schema.json +32 -0
  252. package/providers/context/schemas/indexer-material-answer-review-resolution-input.schema.json +19 -0
  253. package/providers/context/schemas/indexer-material-answer-review-resolution-output.schema.json +87 -0
  254. package/providers/context/schemas/indexer-material-gap-lifecycle-input.schema.json +86 -0
  255. package/providers/context/schemas/indexer-material-gap-lifecycle-output.schema.json +19 -0
  256. package/providers/context/schemas/indexer-materialize-request.schema.json +53 -0
  257. package/providers/context/schemas/indexer-materialized-resource.schema.json +57 -0
  258. package/providers/context/schemas/indexer-overlay-question-amendment.schema.json +13 -0
  259. package/providers/context/schemas/indexer-overlay-question-proposal-input.schema.json +40 -0
  260. package/providers/context/schemas/indexer-overlay-question-rebind-input.schema.json +35 -0
  261. package/providers/context/schemas/indexer-overlay-question-rebind-result.schema.json +25 -0
  262. package/providers/context/schemas/indexer-post-author-fragment-request.schema.json +26 -0
  263. package/providers/context/schemas/indexer-post-author-fragment-result.schema.json +18 -0
  264. package/providers/context/schemas/indexer-post-author-lifecycle-input.schema.json +94 -0
  265. package/providers/context/schemas/indexer-post-author-lifecycle-output.schema.json +72 -0
  266. package/providers/context/schemas/indexer-profile-failure-inspection-input.schema.json +13 -0
  267. package/providers/context/schemas/indexer-profile-failure-inspection-result.schema.json +19 -0
  268. package/providers/context/schemas/indexer-profile-failure-report-input.schema.json +22 -0
  269. package/providers/context/schemas/indexer-profile-failure-report-result.schema.json +49 -0
  270. package/providers/context/schemas/indexer-profile-override-decision.schema.json +20 -0
  271. package/providers/context/schemas/indexer-profile-override-result.schema.json +49 -0
  272. package/providers/context/schemas/indexer-profile-revision-agent-input.schema.json +18 -0
  273. package/providers/context/schemas/indexer-profile-revision-record-input.schema.json +31 -0
  274. package/providers/context/schemas/indexer-profile-revision-record-result.schema.json +45 -0
  275. package/providers/context/schemas/indexer-program-execution-authorization-input.schema.json +145 -0
  276. package/providers/context/schemas/indexer-program-execution-authorization-result.schema.json +60 -0
  277. package/providers/context/schemas/indexer-project-action-result.schema.json +19 -0
  278. package/providers/context/schemas/indexer-project-gate-input.schema.json +100 -0
  279. package/providers/context/schemas/indexer-project-observation-input.schema.json +16 -0
  280. package/providers/context/schemas/indexer-project-observation-result.schema.json +42 -0
  281. package/providers/context/schemas/indexer-provider-route-input.schema.json +55 -0
  282. package/providers/context/schemas/indexer-provider-route-report.schema.json +188 -0
  283. package/providers/context/schemas/indexer-requirement-confirmation-input.schema.json +27 -0
  284. package/providers/context/schemas/indexer-requirement-confirmation-output.schema.json +24 -0
  285. package/providers/context/schemas/indexer-result-reconciliation-input.schema.json +59 -0
  286. package/providers/context/schemas/indexer-result-reconciliation-output.schema.json +43 -0
  287. package/providers/context/schemas/indexer-selection-proposal-input.schema.json +12 -0
  288. package/providers/context/schemas/indexer-selection-proposal-validation.schema.json +23 -0
  289. package/providers/context/schemas/indexer-subject-reidentification-input.schema.json +37 -0
  290. package/providers/context/schemas/indexer-subject-reidentification-output.schema.json +31 -0
  291. package/providers/context/schemas/source-batch-input.schema.json +18 -3
  292. package/providers/context/skills/configure-indexer-providers/SKILL.md +58 -0
  293. package/providers/context/skills/prepare-indexer-customization-project/SKILL.md +31 -0
  294. package/providers/context/skills/propose-indexer-customization/SKILL.md +40 -0
  295. package/providers/context/skills/revise-index-output/SKILL.md +12 -0
  296. package/providers/context/skills/run-indexer-agent-step/SKILL.md +20 -0
  297. package/providers/context/skills/run-indexer-post-author-composer/SKILL.md +21 -0
@@ -0,0 +1,23 @@
1
+ schema: agent-graph.resource.v2
2
+ id: resolved-indexer-instructions
3
+ kind: procedure
4
+ mediaType: text/markdown
5
+ materializer: actions/materialize-indexer-instructions.yaml
6
+ input:
7
+ protocol: context.indexer.materialize-request/v1
8
+ handler: context.materialize-indexer-instructions/v1
9
+ resource_id: resolved-indexer-instructions
10
+ indexer_id: __runtime__
11
+ provider_id: __runtime__
12
+ provider_fingerprint: sha256:0000000000000000000000000000000000000000000000000000000000000000
13
+ provider_integrity: sha256:0000000000000000000000000000000000000000000000000000000000000000
14
+ manifest_digest: sha256:0000000000000000000000000000000000000000000000000000000000000000
15
+ requirement_set_digest: sha256:0000000000000000000000000000000000000000000000000000000000000000
16
+ workset_ref: __runtime__
17
+ workset_digest: sha256:0000000000000000000000000000000000000000000000000000000000000000
18
+ profile: __runtime__
19
+ composer_id: null
20
+ instruction_set_digest: sha256:0000000000000000000000000000000000000000000000000000000000000000
21
+ customization_fingerprint: sha256:0000000000000000000000000000000000000000000000000000000000000000
22
+ request_digest: sha256:0000000000000000000000000000000000000000000000000000000000000000
23
+ description: Runtime-bound exact Provider instructions; Context replaces the reserved template input before exposing this Route.
@@ -1,12 +1,12 @@
1
1
  {
2
2
  "$schema": "https://json-schema.org/draft/2020-12/schema",
3
- "$id": "context.document-optimization-decisions.v1",
4
- "title": "Context document optimization decisions",
3
+ "$id": "context.document-optimization-decisions.v2",
4
+ "title": "Context source-constrained editorial revision decisions",
5
5
  "type": "object",
6
6
  "additionalProperties": false,
7
7
  "required": ["schema", "decisions"],
8
8
  "properties": {
9
- "schema": { "const": "context.document-optimization-decisions.v1" },
9
+ "schema": { "const": "context.document-optimization-decisions.v2" },
10
10
  "decisions": {
11
11
  "type": "array",
12
12
  "items": {
@@ -18,14 +18,37 @@
18
18
  "input_digest": { "type": "string", "minLength": 1 },
19
19
  "context_digest": { "type": "string", "minLength": 1 },
20
20
  "policy_digest": { "type": "string", "minLength": 1 },
21
- "action": { "enum": ["keep", "replace"] },
21
+ "action": {
22
+ "enum": ["keep", "repair", "reshape", "omit"],
23
+ "description": "Keep the Section, repair local presentation, reshape it within the same source boundary, or omit a mechanically eligible non-knowledge Section."
24
+ },
22
25
  "replacement": { "type": "string" },
23
- "reason": { "type": "string" }
26
+ "assessment": {
27
+ "type": "string",
28
+ "minLength": 12,
29
+ "description": "Required when keeping a Section that has mechanical signals and when a repair or reshape retains review-confidence signals after rescan. Name every remaining signal code and explain why it is a false positive or why changing the Section would reduce source fidelity. Repair and reshape replacements cannot retain high-confidence signals. This value is decision-only and is not published."
30
+ },
31
+ "reason": {
32
+ "enum": [
33
+ "unanswered-question",
34
+ "empty-or-placeholder",
35
+ "draft-without-decision",
36
+ "duplicate-content",
37
+ "obsolete-without-replacement",
38
+ "volatile-reference",
39
+ "sensitive-value-candidate",
40
+ "conversion-artifact"
41
+ ]
42
+ }
24
43
  },
25
44
  "allOf": [
26
45
  {
27
- "if": { "properties": { "action": { "const": "replace" } } },
46
+ "if": { "properties": { "action": { "enum": ["repair", "reshape"] } } },
28
47
  "then": { "required": ["replacement"] }
48
+ },
49
+ {
50
+ "if": { "properties": { "action": { "const": "omit" } } },
51
+ "then": { "required": ["reason"] }
29
52
  }
30
53
  ]
31
54
  }
@@ -0,0 +1,30 @@
1
+ {
2
+ "$schema": "https://json-schema.org/draft/2020-12/schema",
3
+ "$id": "context.indexer.agent-step-input/v1",
4
+ "type": "object",
5
+ "additionalProperties": false,
6
+ "required": ["protocol", "run_request", "instruction_request_digest", "input_digest"],
7
+ "properties": {
8
+ "protocol": { "const": "context.indexer.agent-step-input/v1" },
9
+ "run_request": {
10
+ "type": "object",
11
+ "required": ["protocol", "operation", "workset", "composition_input", "final_authority", "execution_request_digest"],
12
+ "properties": {
13
+ "protocol": { "const": "context.indexer.run-request/v1" },
14
+ "operation": { "enum": ["main-index", "material-answer"] },
15
+ "workset": { "type": "object" },
16
+ "composition_input": { "type": "object" },
17
+ "final_authority": { "type": "object" },
18
+ "execution_request_digest": { "$ref": "#/$defs/digest" }
19
+ }
20
+ },
21
+ "instruction_request_digest": { "$ref": "#/$defs/digest" },
22
+ "input_digest": { "$ref": "#/$defs/digest" }
23
+ },
24
+ "$defs": {
25
+ "digest": {
26
+ "type": "string",
27
+ "pattern": "^sha256:[a-f0-9]{64}$"
28
+ }
29
+ }
30
+ }
@@ -0,0 +1,47 @@
1
+ {
2
+ "$schema": "https://json-schema.org/draft/2020-12/schema",
3
+ "$id": "context.indexer.agent-step-result/v1",
4
+ "type": "object",
5
+ "additionalProperties": false,
6
+ "required": [
7
+ "protocol",
8
+ "input_digest",
9
+ "instruction_payload_digest",
10
+ "run_result",
11
+ "execution_receipt",
12
+ "stable_result_digest"
13
+ ],
14
+ "properties": {
15
+ "protocol": { "const": "context.indexer.agent-step-result/v1" },
16
+ "input_digest": { "$ref": "#/$defs/digest" },
17
+ "instruction_payload_digest": { "$ref": "#/$defs/digest" },
18
+ "run_result": {
19
+ "type": "object",
20
+ "required": ["protocol", "operation", "result"],
21
+ "properties": {
22
+ "protocol": { "const": "context.indexer.run-result/v1" },
23
+ "operation": { "enum": ["main-index", "material-answer"] },
24
+ "result": { "type": "object" }
25
+ }
26
+ },
27
+ "execution_receipt": {
28
+ "type": "object",
29
+ "additionalProperties": false,
30
+ "required": ["adapter", "adapter_version", "execution_id", "receipt_digest"],
31
+ "properties": {
32
+ "adapter": { "type": "string", "minLength": 1 },
33
+ "adapter_version": { "type": "string", "minLength": 1 },
34
+ "model": { "type": "string", "minLength": 1 },
35
+ "execution_id": { "type": "string", "minLength": 1 },
36
+ "receipt_digest": { "$ref": "#/$defs/digest" }
37
+ }
38
+ },
39
+ "stable_result_digest": { "$ref": "#/$defs/digest" }
40
+ },
41
+ "$defs": {
42
+ "digest": {
43
+ "type": "string",
44
+ "pattern": "^sha256:[a-f0-9]{64}$"
45
+ }
46
+ }
47
+ }
@@ -0,0 +1,57 @@
1
+ {
2
+ "$schema": "https://json-schema.org/draft/2020-12/schema",
3
+ "$id": "context.indexer.candidate-compile-input/v1",
4
+ "type": "object",
5
+ "additionalProperties": false,
6
+ "required": [
7
+ "protocol",
8
+ "accepted_result_refs",
9
+ "subject_key_schema_set",
10
+ "layout_proposal_set",
11
+ "layout_transition",
12
+ "layout_change_confirmations",
13
+ "rendered_artifacts"
14
+ ],
15
+ "properties": {
16
+ "protocol": { "const": "context.indexer.candidate-compile-input/v1" },
17
+ "accepted_result_refs": {
18
+ "type": "array",
19
+ "minItems": 1,
20
+ "items": {
21
+ "type": "object",
22
+ "additionalProperties": false,
23
+ "required": [
24
+ "workset_digest",
25
+ "execution_request_digest",
26
+ "acceptance_digest",
27
+ "artifact_result_digest"
28
+ ],
29
+ "properties": {
30
+ "workset_digest": { "$ref": "#/$defs/digest" },
31
+ "execution_request_digest": { "$ref": "#/$defs/digest" },
32
+ "acceptance_digest": { "$ref": "#/$defs/digest" },
33
+ "artifact_result_digest": { "$ref": "#/$defs/digest" }
34
+ }
35
+ }
36
+ },
37
+ "subject_key_schema_set": { "type": "object" },
38
+ "layout_proposal_set": { "type": "object" },
39
+ "layout_transition": { "type": "object" },
40
+ "layout_change_confirmations": { "type": "array", "items": { "type": "object" } },
41
+ "rendered_artifacts": {
42
+ "type": "array",
43
+ "items": {
44
+ "type": "object",
45
+ "additionalProperties": false,
46
+ "required": ["artifact_result_digest", "artifacts"],
47
+ "properties": {
48
+ "artifact_result_digest": { "$ref": "#/$defs/digest" },
49
+ "artifacts": { "type": "array", "items": { "type": "object" } }
50
+ }
51
+ }
52
+ }
53
+ },
54
+ "$defs": {
55
+ "digest": { "type": "string", "pattern": "^sha256:[a-f0-9]{64}$" }
56
+ }
57
+ }
@@ -0,0 +1,38 @@
1
+ {
2
+ "$schema": "https://json-schema.org/draft/2020-12/schema",
3
+ "$id": "context.indexer.candidate-compile-action/v1",
4
+ "type": "object",
5
+ "additionalProperties": false,
6
+ "required": [
7
+ "protocol",
8
+ "outcome",
9
+ "graph_outcome",
10
+ "compile",
11
+ "transaction",
12
+ "receipt_digest"
13
+ ],
14
+ "properties": {
15
+ "protocol": { "const": "context.indexer.candidate-compile-action/v1" },
16
+ "outcome": { "const": "indexer-candidates-compiled" },
17
+ "graph_outcome": { "const": "completed" },
18
+ "compile": {
19
+ "type": "object",
20
+ "required": [
21
+ "protocol",
22
+ "layout_proposal_set_digest",
23
+ "layout_transition_digest",
24
+ "accepted_result_set_digest",
25
+ "result_bindings",
26
+ "files",
27
+ "artifact_manifest",
28
+ "physical_artifact_audit",
29
+ "compile_digest"
30
+ ]
31
+ },
32
+ "transaction": { "type": "object" },
33
+ "receipt_digest": { "$ref": "#/$defs/digest" }
34
+ },
35
+ "$defs": {
36
+ "digest": { "type": "string", "pattern": "^sha256:[a-f0-9]{64}$" }
37
+ }
38
+ }
@@ -0,0 +1,46 @@
1
+ {
2
+ "$schema": "https://json-schema.org/draft/2020-12/schema",
3
+ "$id": "context.indexer.candidate-review-readiness-input/v1",
4
+ "type": "object",
5
+ "additionalProperties": false,
6
+ "required": [
7
+ "protocol",
8
+ "binding",
9
+ "precompile_audit_report_digest",
10
+ "postcompile_audit_report_digest",
11
+ "profile_override_receipt_digest",
12
+ "input_digest"
13
+ ],
14
+ "properties": {
15
+ "protocol": { "const": "context.indexer.candidate-review-readiness-input/v1" },
16
+ "binding": {
17
+ "type": "object",
18
+ "additionalProperties": false,
19
+ "required": [
20
+ "requirement_set_digest",
21
+ "registry_digest",
22
+ "inventory_digest",
23
+ "layout_digest",
24
+ "candidate_set_digest",
25
+ "effective_revision_digest"
26
+ ],
27
+ "properties": {
28
+ "requirement_set_digest": { "$ref": "#/$defs/digest" },
29
+ "registry_digest": { "$ref": "#/$defs/digest" },
30
+ "inventory_digest": { "$ref": "#/$defs/digest" },
31
+ "layout_digest": { "$ref": "#/$defs/digest" },
32
+ "candidate_set_digest": { "$ref": "#/$defs/digest" },
33
+ "effective_revision_digest": { "$ref": "#/$defs/digest" }
34
+ }
35
+ },
36
+ "precompile_audit_report_digest": { "$ref": "#/$defs/digest" },
37
+ "postcompile_audit_report_digest": { "$ref": "#/$defs/digest" },
38
+ "profile_override_receipt_digest": {
39
+ "oneOf": [{ "$ref": "#/$defs/digest" }, { "type": "null" }]
40
+ },
41
+ "input_digest": { "$ref": "#/$defs/digest" }
42
+ },
43
+ "$defs": {
44
+ "digest": { "type": "string", "pattern": "^sha256:[a-f0-9]{64}$" }
45
+ }
46
+ }
@@ -0,0 +1,104 @@
1
+ {
2
+ "$schema": "https://json-schema.org/draft/2020-12/schema",
3
+ "$id": "context.indexer.candidate-review-readiness-result/v1",
4
+ "type": "object",
5
+ "additionalProperties": false,
6
+ "required": [
7
+ "protocol",
8
+ "state",
9
+ "binding",
10
+ "precompile_audit_report_digest",
11
+ "postcompile_audit_report_digest",
12
+ "baseline_failed_check_ids",
13
+ "profile_state",
14
+ "profile_failed_metric_ids",
15
+ "profile_override_receipt_digest",
16
+ "profile_override_applied",
17
+ "audit_facts",
18
+ "review_binding_digest",
19
+ "graph_outcome",
20
+ "result_digest",
21
+ "reason_code"
22
+ ],
23
+ "properties": {
24
+ "protocol": { "const": "context.indexer.candidate-review-readiness-result/v1" },
25
+ "state": { "enum": ["ready", "baseline-blocked", "profile-blocked"] },
26
+ "binding": {
27
+ "type": "object",
28
+ "additionalProperties": false,
29
+ "required": [
30
+ "requirement_set_digest",
31
+ "registry_digest",
32
+ "inventory_digest",
33
+ "layout_digest",
34
+ "candidate_set_digest",
35
+ "effective_revision_digest"
36
+ ],
37
+ "properties": {
38
+ "requirement_set_digest": { "$ref": "#/$defs/digest" },
39
+ "registry_digest": { "$ref": "#/$defs/digest" },
40
+ "inventory_digest": { "$ref": "#/$defs/digest" },
41
+ "layout_digest": { "$ref": "#/$defs/digest" },
42
+ "candidate_set_digest": { "$ref": "#/$defs/digest" },
43
+ "effective_revision_digest": { "$ref": "#/$defs/digest" }
44
+ }
45
+ },
46
+ "precompile_audit_report_digest": { "$ref": "#/$defs/digest" },
47
+ "postcompile_audit_report_digest": { "$ref": "#/$defs/digest" },
48
+ "baseline_failed_check_ids": {
49
+ "type": "array",
50
+ "uniqueItems": true,
51
+ "items": { "type": "string", "minLength": 1 }
52
+ },
53
+ "profile_state": {
54
+ "enum": ["not-applicable", "passed", "revision-required", "human-guidance-required"]
55
+ },
56
+ "profile_failed_metric_ids": {
57
+ "type": "array",
58
+ "uniqueItems": true,
59
+ "items": { "type": "string", "minLength": 1 }
60
+ },
61
+ "profile_override_receipt_digest": {
62
+ "oneOf": [{ "$ref": "#/$defs/digest" }, { "type": "null" }]
63
+ },
64
+ "profile_override_applied": { "type": "boolean" },
65
+ "audit_facts": { "$ref": "#/$defs/auditFacts" },
66
+ "review_binding_digest": { "$ref": "#/$defs/digest" },
67
+ "graph_outcome": { "enum": ["completed", "failed", "blocked"] },
68
+ "result_digest": { "$ref": "#/$defs/digest" },
69
+ "reason_code": {
70
+ "enum": [
71
+ "index-review-required",
72
+ "index-baseline-audit-failed",
73
+ "index-profile-revision-required",
74
+ "index-profile-human-guidance-required"
75
+ ]
76
+ }
77
+ },
78
+ "$defs": {
79
+ "digest": { "type": "string", "pattern": "^sha256:[a-f0-9]{64}$" },
80
+ "auditFacts": {
81
+ "type": "object",
82
+ "additionalProperties": false,
83
+ "required": ["protocol", "audit", "facts_digest"],
84
+ "properties": {
85
+ "protocol": { "const": "context.indexer.audit-facts/v1" },
86
+ "audit": {
87
+ "type": "object",
88
+ "additionalProperties": false,
89
+ "required": ["baseline_clear", "profile_state", "problem_lineage_id", "profile_attempt_count", "profile_report_digest", "profile_override_eligible", "profile_override_receipt_digest"],
90
+ "properties": {
91
+ "baseline_clear": { "type": "boolean" },
92
+ "profile_state": { "enum": ["not-applicable", "passed", "revision-required", "human-guidance-required"] },
93
+ "problem_lineage_id": { "oneOf": [{ "$ref": "#/$defs/digest" }, { "type": "null" }] },
94
+ "profile_attempt_count": { "type": "integer", "minimum": 0, "maximum": 3 },
95
+ "profile_report_digest": { "oneOf": [{ "$ref": "#/$defs/digest" }, { "type": "null" }] },
96
+ "profile_override_eligible": { "type": "boolean" },
97
+ "profile_override_receipt_digest": { "oneOf": [{ "$ref": "#/$defs/digest" }, { "type": "null" }] }
98
+ }
99
+ },
100
+ "facts_digest": { "$ref": "#/$defs/digest" }
101
+ }
102
+ }
103
+ }
104
+ }
@@ -0,0 +1,32 @@
1
+ {
2
+ "$schema": "https://json-schema.org/draft/2020-12/schema",
3
+ "$id": "context.indexer.contract-overlay-authorization-input/v1",
4
+ "type": "object",
5
+ "additionalProperties": false,
6
+ "required": [
7
+ "protocol",
8
+ "validation_input",
9
+ "expected_conformance_report_digest",
10
+ "authority_ref",
11
+ "authority_scope_digest",
12
+ "input_digest"
13
+ ],
14
+ "properties": {
15
+ "protocol": { "const": "context.indexer.contract-overlay-authorization-input/v1" },
16
+ "validation_input": {
17
+ "type": "object",
18
+ "required": ["protocol", "input_digest"],
19
+ "properties": {
20
+ "protocol": { "const": "context.indexer.contract-overlay-validation-input/v1" },
21
+ "input_digest": { "$ref": "#/$defs/digest" }
22
+ }
23
+ },
24
+ "expected_conformance_report_digest": { "$ref": "#/$defs/digest" },
25
+ "authority_ref": { "type": "string", "minLength": 1 },
26
+ "authority_scope_digest": { "$ref": "#/$defs/digest" },
27
+ "input_digest": { "$ref": "#/$defs/digest" }
28
+ },
29
+ "$defs": {
30
+ "digest": { "type": "string", "pattern": "^sha256:[a-f0-9]{64}$" }
31
+ }
32
+ }
@@ -0,0 +1,121 @@
1
+ {
2
+ "$schema": "https://json-schema.org/draft/2020-12/schema",
3
+ "$id": "context.indexer.contract-overlay-authorization-result/v1",
4
+ "type": "object",
5
+ "additionalProperties": false,
6
+ "required": [
7
+ "protocol",
8
+ "trusted_validation_input",
9
+ "validation",
10
+ "project_authorization",
11
+ "result_digest"
12
+ ],
13
+ "properties": {
14
+ "protocol": { "const": "context.indexer.contract-overlay-authorization-result/v1" },
15
+ "trusted_validation_input": {
16
+ "type": "object",
17
+ "required": ["protocol", "project_authorization", "input_digest"],
18
+ "properties": {
19
+ "protocol": { "const": "context.indexer.contract-overlay-validation-input/v1" },
20
+ "project_authorization": { "type": "object" },
21
+ "input_digest": { "$ref": "#/$defs/digest" }
22
+ }
23
+ },
24
+ "validation": {
25
+ "type": "object",
26
+ "required": [
27
+ "protocol",
28
+ "outcome",
29
+ "graph_outcome",
30
+ "validation_input_digest",
31
+ "trust_receipt",
32
+ "result_digest"
33
+ ],
34
+ "properties": {
35
+ "protocol": { "const": "context.indexer.contract-overlay-validation-result/v1" },
36
+ "outcome": { "const": "trusted" },
37
+ "graph_outcome": { "const": "completed" },
38
+ "validation_input_digest": { "$ref": "#/$defs/digest" },
39
+ "trust_receipt": {
40
+ "type": "object",
41
+ "additionalProperties": false,
42
+ "required": [
43
+ "protocol",
44
+ "trust_class",
45
+ "project_ref",
46
+ "overlay_digest",
47
+ "attestation_digest",
48
+ "base_contract_digest",
49
+ "provider_integrity",
50
+ "operator_contract_digest",
51
+ "conformance_report_digest",
52
+ "trust_adapter",
53
+ "trust_adapter_version",
54
+ "trust_management_authority_digest",
55
+ "trust_policy_digest",
56
+ "authorization_receipt_digest",
57
+ "receipt_digest"
58
+ ],
59
+ "properties": {
60
+ "protocol": { "const": "context.indexer.overlay-trust-receipt/v1" },
61
+ "trust_class": { "const": "project-authorized-exact-digest" },
62
+ "project_ref": { "type": "string", "minLength": 1 },
63
+ "overlay_digest": { "$ref": "#/$defs/digest" },
64
+ "attestation_digest": { "$ref": "#/$defs/nullableDigest" },
65
+ "base_contract_digest": { "$ref": "#/$defs/digest" },
66
+ "provider_integrity": { "$ref": "#/$defs/digest" },
67
+ "operator_contract_digest": { "$ref": "#/$defs/digest" },
68
+ "conformance_report_digest": { "$ref": "#/$defs/digest" },
69
+ "trust_adapter": { "type": "null" },
70
+ "trust_adapter_version": { "type": "null" },
71
+ "trust_management_authority_digest": { "type": "null" },
72
+ "trust_policy_digest": { "type": "null" },
73
+ "authorization_receipt_digest": { "$ref": "#/$defs/digest" },
74
+ "receipt_digest": { "$ref": "#/$defs/digest" }
75
+ }
76
+ },
77
+ "result_digest": { "$ref": "#/$defs/digest" }
78
+ }
79
+ },
80
+ "project_authorization": {
81
+ "type": "object",
82
+ "additionalProperties": false,
83
+ "required": [
84
+ "protocol",
85
+ "project_ref",
86
+ "overlay_digest",
87
+ "attestation_digest",
88
+ "base_contract_digest",
89
+ "provider_integrity",
90
+ "operator_contract_digest",
91
+ "conformance_report_digest",
92
+ "authority_ref",
93
+ "authority_scope_digest",
94
+ "authorization_receipt_digest"
95
+ ],
96
+ "properties": {
97
+ "protocol": { "const": "context.indexer.overlay-project-authorization/v1" },
98
+ "project_ref": { "type": "string", "minLength": 1 },
99
+ "overlay_digest": { "$ref": "#/$defs/digest" },
100
+ "attestation_digest": { "$ref": "#/$defs/nullableDigest" },
101
+ "base_contract_digest": { "$ref": "#/$defs/digest" },
102
+ "provider_integrity": { "$ref": "#/$defs/digest" },
103
+ "operator_contract_digest": { "$ref": "#/$defs/digest" },
104
+ "conformance_report_digest": { "$ref": "#/$defs/digest" },
105
+ "authority_ref": { "const": "context.indexer-contract-overlay" },
106
+ "authority_scope_digest": { "$ref": "#/$defs/digest" },
107
+ "authorization_receipt_digest": { "$ref": "#/$defs/digest" }
108
+ }
109
+ },
110
+ "result_digest": { "$ref": "#/$defs/digest" }
111
+ },
112
+ "$defs": {
113
+ "digest": { "type": "string", "pattern": "^sha256:[a-f0-9]{64}$" },
114
+ "nullableDigest": {
115
+ "oneOf": [
116
+ { "type": "null" },
117
+ { "$ref": "#/$defs/digest" }
118
+ ]
119
+ }
120
+ }
121
+ }
@@ -0,0 +1,90 @@
1
+ {
2
+ "$schema": "https://json-schema.org/draft/2020-12/schema",
3
+ "$id": "context.indexer.contract-overlay-validation-input/v1",
4
+ "type": "object",
5
+ "additionalProperties": false,
6
+ "required": [
7
+ "protocol",
8
+ "project_ref",
9
+ "overlay",
10
+ "base_contract",
11
+ "operator_contract",
12
+ "provider_integrity",
13
+ "attestation",
14
+ "trust_bundle_envelope",
15
+ "project_authorization",
16
+ "input_digest"
17
+ ],
18
+ "properties": {
19
+ "protocol": { "const": "context.indexer.contract-overlay-validation-input/v1" },
20
+ "project_ref": { "type": "string", "minLength": 1 },
21
+ "overlay": {
22
+ "type": "object",
23
+ "required": ["protocol", "overlay_digest"],
24
+ "properties": {
25
+ "protocol": { "const": "context.indexer.contract-overlay/v1" },
26
+ "overlay_digest": { "$ref": "#/$defs/digest" }
27
+ }
28
+ },
29
+ "base_contract": {
30
+ "type": "object",
31
+ "required": ["protocol", "contract_digest"],
32
+ "properties": {
33
+ "protocol": { "const": "context.indexer.profile-contract/v1" },
34
+ "contract_digest": { "$ref": "#/$defs/digest" }
35
+ }
36
+ },
37
+ "operator_contract": {
38
+ "type": "object",
39
+ "required": ["protocol", "contract_digest"],
40
+ "properties": {
41
+ "protocol": { "const": "context.indexer.operator-contract/v1" },
42
+ "contract_digest": { "$ref": "#/$defs/digest" }
43
+ }
44
+ },
45
+ "provider_integrity": { "$ref": "#/$defs/digest" },
46
+ "attestation": {
47
+ "oneOf": [
48
+ { "type": "null" },
49
+ {
50
+ "type": "object",
51
+ "required": ["protocol", "attestation_digest"],
52
+ "properties": {
53
+ "protocol": { "const": "context.indexer.overlay-attestation/v1" },
54
+ "attestation_digest": { "$ref": "#/$defs/digest" }
55
+ }
56
+ }
57
+ ]
58
+ },
59
+ "trust_bundle_envelope": {
60
+ "oneOf": [
61
+ { "type": "null" },
62
+ {
63
+ "type": "object",
64
+ "required": ["protocol", "bundle"],
65
+ "properties": {
66
+ "protocol": { "const": "context.indexer.overlay-trust-bundle-envelope/v1" },
67
+ "bundle": { "type": "object" }
68
+ }
69
+ }
70
+ ]
71
+ },
72
+ "project_authorization": {
73
+ "oneOf": [
74
+ { "type": "null" },
75
+ {
76
+ "type": "object",
77
+ "required": ["protocol", "authorization_receipt_digest"],
78
+ "properties": {
79
+ "protocol": { "const": "context.indexer.overlay-project-authorization/v1" },
80
+ "authorization_receipt_digest": { "$ref": "#/$defs/digest" }
81
+ }
82
+ }
83
+ ]
84
+ },
85
+ "input_digest": { "$ref": "#/$defs/digest" }
86
+ },
87
+ "$defs": {
88
+ "digest": { "type": "string", "pattern": "^sha256:[a-f0-9]{64}$" }
89
+ }
90
+ }