@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,158 @@
1
+ {
2
+ "$schema": "https://json-schema.org/draft/2020-12/schema",
3
+ "$id": "context.indexer.contract-overlay-validation-result/v1",
4
+ "type": "object",
5
+ "additionalProperties": false,
6
+ "required": [
7
+ "protocol",
8
+ "outcome",
9
+ "graph_outcome",
10
+ "validation_input_digest",
11
+ "project_ref",
12
+ "overlay",
13
+ "effective_profile",
14
+ "conformance_report",
15
+ "trust_receipt",
16
+ "authorization_request",
17
+ "result_digest"
18
+ ],
19
+ "properties": {
20
+ "protocol": { "const": "context.indexer.contract-overlay-validation-result/v1" },
21
+ "outcome": { "enum": ["trusted", "authorization-required"] },
22
+ "graph_outcome": { "enum": ["completed", "waiting-user"] },
23
+ "validation_input_digest": { "$ref": "#/$defs/digest" },
24
+ "project_ref": { "type": "string", "minLength": 1 },
25
+ "overlay": { "type": "object" },
26
+ "effective_profile": { "type": "object" },
27
+ "conformance_report": {
28
+ "type": "object",
29
+ "required": ["protocol", "report_digest"],
30
+ "properties": {
31
+ "protocol": { "const": "context.indexer.overlay-conformance-report/v1" },
32
+ "report_digest": { "$ref": "#/$defs/digest" }
33
+ }
34
+ },
35
+ "trust_receipt": {
36
+ "oneOf": [
37
+ { "type": "null" },
38
+ {
39
+ "type": "object",
40
+ "additionalProperties": false,
41
+ "required": [
42
+ "protocol",
43
+ "trust_class",
44
+ "project_ref",
45
+ "overlay_digest",
46
+ "attestation_digest",
47
+ "base_contract_digest",
48
+ "provider_integrity",
49
+ "operator_contract_digest",
50
+ "conformance_report_digest",
51
+ "trust_adapter",
52
+ "trust_adapter_version",
53
+ "trust_management_authority_digest",
54
+ "trust_policy_digest",
55
+ "authorization_receipt_digest",
56
+ "receipt_digest"
57
+ ],
58
+ "properties": {
59
+ "protocol": { "const": "context.indexer.overlay-trust-receipt/v1" },
60
+ "trust_class": {
61
+ "enum": ["enterprise-signed", "project-authorized-exact-digest"]
62
+ },
63
+ "project_ref": { "type": ["string", "null"] },
64
+ "overlay_digest": { "$ref": "#/$defs/digest" },
65
+ "attestation_digest": { "$ref": "#/$defs/nullableDigest" },
66
+ "base_contract_digest": { "$ref": "#/$defs/digest" },
67
+ "provider_integrity": { "$ref": "#/$defs/digest" },
68
+ "operator_contract_digest": { "$ref": "#/$defs/digest" },
69
+ "conformance_report_digest": { "$ref": "#/$defs/digest" },
70
+ "trust_adapter": { "type": ["string", "null"], "minLength": 1 },
71
+ "trust_adapter_version": {
72
+ "oneOf": [
73
+ { "type": "null" },
74
+ { "type": "string", "pattern": "^(0|[1-9][0-9]*)\\.(0|[1-9][0-9]*)\\.(0|[1-9][0-9]*)(?:-[0-9A-Za-z.-]+)?(?:\\+[0-9A-Za-z.-]+)?$" }
75
+ ]
76
+ },
77
+ "trust_management_authority_digest": { "$ref": "#/$defs/nullableDigest" },
78
+ "trust_policy_digest": { "$ref": "#/$defs/nullableDigest" },
79
+ "authorization_receipt_digest": { "$ref": "#/$defs/nullableDigest" },
80
+ "receipt_digest": { "$ref": "#/$defs/digest" }
81
+ },
82
+ "allOf": [
83
+ {
84
+ "if": { "properties": { "trust_class": { "const": "enterprise-signed" } } },
85
+ "then": {
86
+ "properties": {
87
+ "project_ref": { "type": "null" },
88
+ "attestation_digest": { "$ref": "#/$defs/digest" },
89
+ "trust_adapter": { "type": "string", "minLength": 1 },
90
+ "trust_adapter_version": { "type": "string" },
91
+ "trust_management_authority_digest": { "$ref": "#/$defs/digest" },
92
+ "trust_policy_digest": { "$ref": "#/$defs/digest" },
93
+ "authorization_receipt_digest": { "type": "null" }
94
+ }
95
+ }
96
+ },
97
+ {
98
+ "if": { "properties": { "trust_class": { "const": "project-authorized-exact-digest" } } },
99
+ "then": {
100
+ "properties": {
101
+ "project_ref": { "type": "string", "minLength": 1 },
102
+ "trust_adapter": { "type": "null" },
103
+ "trust_adapter_version": { "type": "null" },
104
+ "trust_management_authority_digest": { "type": "null" },
105
+ "trust_policy_digest": { "type": "null" },
106
+ "authorization_receipt_digest": { "$ref": "#/$defs/digest" }
107
+ }
108
+ }
109
+ }
110
+ ]
111
+ }
112
+ ]
113
+ },
114
+ "authorization_request": {
115
+ "oneOf": [
116
+ { "type": "null" },
117
+ {
118
+ "type": "object",
119
+ "additionalProperties": false,
120
+ "required": [
121
+ "protocol",
122
+ "project_ref",
123
+ "overlay_digest",
124
+ "attestation_digest",
125
+ "base_contract_digest",
126
+ "provider_integrity",
127
+ "operator_contract_digest",
128
+ "conformance_report_digest",
129
+ "request_digest"
130
+ ],
131
+ "properties": {
132
+ "protocol": {
133
+ "const": "context.indexer.contract-overlay-authorization-request/v1"
134
+ },
135
+ "project_ref": { "type": "string", "minLength": 1 },
136
+ "overlay_digest": { "$ref": "#/$defs/digest" },
137
+ "attestation_digest": { "$ref": "#/$defs/nullableDigest" },
138
+ "base_contract_digest": { "$ref": "#/$defs/digest" },
139
+ "provider_integrity": { "$ref": "#/$defs/digest" },
140
+ "operator_contract_digest": { "$ref": "#/$defs/digest" },
141
+ "conformance_report_digest": { "$ref": "#/$defs/digest" },
142
+ "request_digest": { "$ref": "#/$defs/digest" }
143
+ }
144
+ }
145
+ ]
146
+ },
147
+ "result_digest": { "$ref": "#/$defs/digest" }
148
+ },
149
+ "$defs": {
150
+ "digest": { "type": "string", "pattern": "^sha256:[a-f0-9]{64}$" },
151
+ "nullableDigest": {
152
+ "oneOf": [
153
+ { "type": "null" },
154
+ { "$ref": "#/$defs/digest" }
155
+ ]
156
+ }
157
+ }
158
+ }
@@ -0,0 +1,44 @@
1
+ {
2
+ "$schema": "https://json-schema.org/draft/2020-12/schema",
3
+ "$id": "context.indexer.customization-project-preparation-result/v1",
4
+ "type": "object",
5
+ "additionalProperties": false,
6
+ "required": ["protocol", "outcome", "validation_digest", "result_digest"],
7
+ "properties": {
8
+ "protocol": { "const": "context.indexer.customization-project-preparation-result/v1" },
9
+ "outcome": {
10
+ "enum": ["program-authorization-required", "project-confirmation-required"]
11
+ },
12
+ "validation_digest": { "$ref": "#/$defs/digest" },
13
+ "authorization_report": { "type": "object" },
14
+ "proposal": { "type": "object" },
15
+ "stage_receipt": { "type": "object" },
16
+ "staging_validation": { "type": "object" },
17
+ "result_digest": { "$ref": "#/$defs/digest" }
18
+ },
19
+ "allOf": [
20
+ {
21
+ "if": { "properties": { "outcome": { "const": "program-authorization-required" } } },
22
+ "then": {
23
+ "required": ["authorization_report"],
24
+ "not": {
25
+ "anyOf": [
26
+ { "required": ["proposal"] },
27
+ { "required": ["stage_receipt"] },
28
+ { "required": ["staging_validation"] }
29
+ ]
30
+ }
31
+ }
32
+ },
33
+ {
34
+ "if": { "properties": { "outcome": { "const": "project-confirmation-required" } } },
35
+ "then": {
36
+ "required": ["proposal", "stage_receipt", "staging_validation"],
37
+ "not": { "required": ["authorization_report"] }
38
+ }
39
+ }
40
+ ],
41
+ "$defs": {
42
+ "digest": { "type": "string", "pattern": "^sha256:[a-f0-9]{64}$" }
43
+ }
44
+ }
@@ -0,0 +1,83 @@
1
+ {
2
+ "$schema": "https://json-schema.org/draft/2020-12/schema",
3
+ "$id": "context.indexer.customization-proposal-draft/v1",
4
+ "type": "object",
5
+ "additionalProperties": false,
6
+ "required": [
7
+ "protocol",
8
+ "capability_gap",
9
+ "capability_gap_digest",
10
+ "indexer_id",
11
+ "mode",
12
+ "selected_step",
13
+ "rejected_smaller_steps",
14
+ "gap_summary",
15
+ "affected_scope_refs",
16
+ "files",
17
+ "dependency_intents"
18
+ ],
19
+ "properties": {
20
+ "protocol": { "const": "context.indexer.customization-proposal-draft/v1" },
21
+ "capability_gap": {
22
+ "type": "object",
23
+ "additionalProperties": false,
24
+ "required": ["route_input", "route_report"],
25
+ "properties": {
26
+ "route_input": { "type": "object" },
27
+ "route_report": { "type": "object" }
28
+ }
29
+ },
30
+ "capability_gap_digest": { "$ref": "#/$defs/digest" },
31
+ "indexer_id": { "$ref": "#/$defs/id" },
32
+ "mode": { "const": "extend" },
33
+ "selected_step": {
34
+ "enum": ["instructions-append", "template-override", "program-extend"]
35
+ },
36
+ "rejected_smaller_steps": {
37
+ "type": "array",
38
+ "minItems": 2,
39
+ "items": {
40
+ "type": "object",
41
+ "additionalProperties": false,
42
+ "required": ["step", "disposition", "reason_code", "evidence_digest"],
43
+ "properties": {
44
+ "step": { "enum": ["provider-only", "config", "instructions-append", "template-override"] },
45
+ "disposition": { "enum": ["unsupported", "insufficient"] },
46
+ "reason_code": { "$ref": "#/$defs/id" },
47
+ "evidence_digest": { "$ref": "#/$defs/digest" }
48
+ }
49
+ }
50
+ },
51
+ "gap_summary": { "type": "string", "minLength": 1 },
52
+ "affected_scope_refs": {
53
+ "type": "array",
54
+ "minItems": 1,
55
+ "uniqueItems": true,
56
+ "items": { "type": "string", "minLength": 1 }
57
+ },
58
+ "files": {
59
+ "type": "array",
60
+ "minItems": 1,
61
+ "items": {
62
+ "type": "object",
63
+ "additionalProperties": false,
64
+ "required": ["path", "content"],
65
+ "properties": {
66
+ "path": {
67
+ "type": "string",
68
+ "pattern": "^src/indexer/[a-z0-9][a-z0-9._/-]*/(?:instructions\\.md|templates/[a-z0-9][a-z0-9._/-]*\\.md|(?:index|variables|helpers)\\.ts)$"
69
+ },
70
+ "content": { "type": "string", "minLength": 1, "maxLength": 4194304 }
71
+ }
72
+ }
73
+ },
74
+ "dependency_intents": {
75
+ "type": "array",
76
+ "maxItems": 0
77
+ }
78
+ },
79
+ "$defs": {
80
+ "id": { "type": "string", "pattern": "^[a-z0-9][a-z0-9._/-]*$" },
81
+ "digest": { "type": "string", "pattern": "^sha256:[a-f0-9]{64}$" }
82
+ }
83
+ }
@@ -0,0 +1,36 @@
1
+ {
2
+ "$schema": "https://json-schema.org/draft/2020-12/schema",
3
+ "$id": "context.indexer.customization-validation-result/v1",
4
+ "type": "object",
5
+ "additionalProperties": false,
6
+ "required": [
7
+ "protocol",
8
+ "validated",
9
+ "stage_receipt",
10
+ "outcome",
11
+ "selection_proposal_input",
12
+ "result_digest"
13
+ ],
14
+ "properties": {
15
+ "protocol": { "const": "context.indexer.customization-validation-result/v1" },
16
+ "validated": { "type": "object" },
17
+ "stage_receipt": {
18
+ "type": "object",
19
+ "additionalProperties": false,
20
+ "required": ["protocol", "validation_digest", "staged_file_count", "reused", "receipt_digest"],
21
+ "properties": {
22
+ "protocol": { "const": "context.indexer.customization-draft-stage-receipt/v1" },
23
+ "validation_digest": { "$ref": "#/$defs/digest" },
24
+ "staged_file_count": { "type": "integer", "minimum": 1 },
25
+ "reused": { "type": "boolean" },
26
+ "receipt_digest": { "$ref": "#/$defs/digest" }
27
+ }
28
+ },
29
+ "outcome": { "const": "selection-validation-required" },
30
+ "selection_proposal_input": { "type": "object" },
31
+ "result_digest": { "$ref": "#/$defs/digest" }
32
+ },
33
+ "$defs": {
34
+ "digest": { "type": "string", "pattern": "^sha256:[a-f0-9]{64}$" }
35
+ }
36
+ }
@@ -0,0 +1,71 @@
1
+ {
2
+ "$schema": "https://json-schema.org/draft/2020-12/schema",
3
+ "$id": "context.indexer.dependency-authorization-input/v1",
4
+ "type": "object",
5
+ "additionalProperties": false,
6
+ "required": [
7
+ "protocol",
8
+ "proposal_digest",
9
+ "request_intent_set_digest",
10
+ "intents",
11
+ "resolutions",
12
+ "authority_ref",
13
+ "authority_scope_digest",
14
+ "install_scripts",
15
+ "input_digest"
16
+ ],
17
+ "properties": {
18
+ "protocol": { "const": "context.indexer.dependency-authorization-input/v1" },
19
+ "proposal_digest": { "$ref": "#/$defs/digest" },
20
+ "request_intent_set_digest": { "$ref": "#/$defs/digest" },
21
+ "intents": {
22
+ "type": "array",
23
+ "minItems": 1,
24
+ "items": {
25
+ "type": "object",
26
+ "additionalProperties": false,
27
+ "required": ["package", "version", "kind", "importers", "install_scripts"],
28
+ "properties": {
29
+ "package": { "type": "string", "minLength": 1 },
30
+ "version": { "type": "string", "minLength": 1 },
31
+ "kind": { "enum": ["runtime", "development"] },
32
+ "importers": {
33
+ "type": "array",
34
+ "minItems": 1,
35
+ "items": { "type": "string", "minLength": 1 }
36
+ },
37
+ "install_scripts": { "const": false }
38
+ }
39
+ }
40
+ },
41
+ "resolutions": {
42
+ "type": "array",
43
+ "minItems": 1,
44
+ "items": { "$ref": "#/$defs/resolution" }
45
+ },
46
+ "authority_ref": { "type": "string", "minLength": 1 },
47
+ "authority_scope_digest": { "$ref": "#/$defs/digest" },
48
+ "install_scripts": { "const": false },
49
+ "input_digest": { "$ref": "#/$defs/digest" }
50
+ },
51
+ "$defs": {
52
+ "digest": {
53
+ "type": "string",
54
+ "pattern": "^sha256:[a-f0-9]{64}$"
55
+ },
56
+ "resolution": {
57
+ "type": "object",
58
+ "additionalProperties": false,
59
+ "required": ["package", "version", "lock_integrity", "resolved_digest"],
60
+ "properties": {
61
+ "package": { "type": "string", "minLength": 1 },
62
+ "version": { "type": "string", "minLength": 1 },
63
+ "lock_integrity": {
64
+ "type": "string",
65
+ "pattern": "^(sha256|sha384|sha512)-[A-Za-z0-9+/]+={0,2}$"
66
+ },
67
+ "resolved_digest": { "$ref": "#/$defs/digest" }
68
+ }
69
+ }
70
+ }
71
+ }
@@ -0,0 +1,138 @@
1
+ {
2
+ "$schema": "https://json-schema.org/draft/2020-12/schema",
3
+ "$id": "context.indexer.dependency-authorization-result/v1",
4
+ "type": "object",
5
+ "additionalProperties": false,
6
+ "required": [
7
+ "protocol",
8
+ "proposal_digest",
9
+ "authorized_proposal_digest",
10
+ "request_intent_set_digest",
11
+ "receipt",
12
+ "dependencies",
13
+ "stage_receipt",
14
+ "result_digest"
15
+ ],
16
+ "properties": {
17
+ "protocol": { "const": "context.indexer.dependency-authorization-result/v1" },
18
+ "proposal_digest": { "$ref": "#/$defs/digest" },
19
+ "authorized_proposal_digest": { "$ref": "#/$defs/digest" },
20
+ "request_intent_set_digest": { "$ref": "#/$defs/digest" },
21
+ "receipt": { "$ref": "#/$defs/receipt" },
22
+ "dependencies": { "$ref": "#/$defs/dependencies" },
23
+ "stage_receipt": { "$ref": "#/$defs/stageReceipt" },
24
+ "result_digest": { "$ref": "#/$defs/digest" }
25
+ },
26
+ "$defs": {
27
+ "digest": {
28
+ "type": "string",
29
+ "pattern": "^sha256:[a-f0-9]{64}$"
30
+ },
31
+ "stageReceipt": {
32
+ "type": "object",
33
+ "additionalProperties": false,
34
+ "required": [
35
+ "protocol",
36
+ "proposal_digest",
37
+ "target_count",
38
+ "dependency_intent_digest",
39
+ "reused",
40
+ "receipt_digest"
41
+ ],
42
+ "properties": {
43
+ "protocol": { "const": "context.indexer.project-proposal-stage-receipt/v1" },
44
+ "proposal_digest": { "$ref": "#/$defs/digest" },
45
+ "target_count": { "type": "integer", "minimum": 1 },
46
+ "dependency_intent_digest": { "$ref": "#/$defs/digest" },
47
+ "reused": { "type": "boolean" },
48
+ "receipt_digest": { "$ref": "#/$defs/digest" }
49
+ }
50
+ },
51
+ "resolution": {
52
+ "type": "object",
53
+ "additionalProperties": false,
54
+ "required": ["package", "version", "lock_integrity", "resolved_digest"],
55
+ "properties": {
56
+ "package": { "type": "string", "minLength": 1 },
57
+ "version": { "type": "string", "minLength": 1 },
58
+ "lock_integrity": { "type": "string", "minLength": 1 },
59
+ "resolved_digest": { "$ref": "#/$defs/digest" }
60
+ }
61
+ },
62
+ "receipt": {
63
+ "type": "object",
64
+ "additionalProperties": false,
65
+ "required": [
66
+ "protocol",
67
+ "request_intent_set_digest",
68
+ "resolutions",
69
+ "authority_ref",
70
+ "authority_scope_digest",
71
+ "install_scripts",
72
+ "receipt_digest"
73
+ ],
74
+ "properties": {
75
+ "protocol": { "const": "context.indexer.dependency-authorization-receipt/v1" },
76
+ "request_intent_set_digest": { "$ref": "#/$defs/digest" },
77
+ "resolutions": {
78
+ "type": "array",
79
+ "minItems": 1,
80
+ "items": { "$ref": "#/$defs/resolution" }
81
+ },
82
+ "authority_ref": { "type": "string", "minLength": 1 },
83
+ "authority_scope_digest": { "$ref": "#/$defs/digest" },
84
+ "install_scripts": { "const": false },
85
+ "receipt_digest": { "$ref": "#/$defs/digest" }
86
+ }
87
+ },
88
+ "intent": {
89
+ "type": "object",
90
+ "additionalProperties": false,
91
+ "required": [
92
+ "package",
93
+ "version",
94
+ "kind",
95
+ "importers",
96
+ "state",
97
+ "lock_integrity",
98
+ "resolved_digest",
99
+ "authorization_receipt_digest",
100
+ "install_scripts"
101
+ ],
102
+ "properties": {
103
+ "package": { "type": "string", "minLength": 1 },
104
+ "version": { "type": "string", "minLength": 1 },
105
+ "kind": { "enum": ["runtime", "development"] },
106
+ "importers": {
107
+ "type": "array",
108
+ "minItems": 1,
109
+ "items": { "type": "string", "minLength": 1 }
110
+ },
111
+ "state": { "const": "locked" },
112
+ "lock_integrity": { "type": "string", "minLength": 1 },
113
+ "resolved_digest": { "$ref": "#/$defs/digest" },
114
+ "authorization_receipt_digest": { "$ref": "#/$defs/digest" },
115
+ "install_scripts": { "const": false }
116
+ }
117
+ },
118
+ "dependencies": {
119
+ "type": "object",
120
+ "additionalProperties": false,
121
+ "required": ["protocol", "intents", "authorization_receipts", "intent_set_digest"],
122
+ "properties": {
123
+ "protocol": { "const": "context.indexer.dependency-intent-set/v1" },
124
+ "intents": {
125
+ "type": "array",
126
+ "minItems": 1,
127
+ "items": { "$ref": "#/$defs/intent" }
128
+ },
129
+ "authorization_receipts": {
130
+ "type": "array",
131
+ "minItems": 1,
132
+ "items": { "$ref": "#/$defs/receipt" }
133
+ },
134
+ "intent_set_digest": { "$ref": "#/$defs/digest" }
135
+ }
136
+ }
137
+ }
138
+ }
@@ -0,0 +1,31 @@
1
+ {
2
+ "$schema": "https://json-schema.org/draft/2020-12/schema",
3
+ "$id": "context.indexer.incremental-impact-input/v1",
4
+ "type": "object",
5
+ "additionalProperties": false,
6
+ "required": ["protocol", "current_runs"],
7
+ "properties": {
8
+ "protocol": { "const": "context.indexer.incremental-impact-input/v1" },
9
+ "current_runs": {
10
+ "type": "array",
11
+ "minItems": 1,
12
+ "items": {
13
+ "type": "object",
14
+ "additionalProperties": false,
15
+ "required": [
16
+ "previous_acceptance_digest",
17
+ "current_request",
18
+ "current_dependency_view"
19
+ ],
20
+ "properties": {
21
+ "previous_acceptance_digest": { "$ref": "#/$defs/digest" },
22
+ "current_request": { "type": "object" },
23
+ "current_dependency_view": { "type": "object" }
24
+ }
25
+ }
26
+ }
27
+ },
28
+ "$defs": {
29
+ "digest": { "type": "string", "pattern": "^sha256:[a-f0-9]{64}$" }
30
+ }
31
+ }
@@ -0,0 +1,52 @@
1
+ {
2
+ "$schema": "https://json-schema.org/draft/2020-12/schema",
3
+ "$id": "context.indexer.incremental-impact-report-set/v1",
4
+ "type": "object",
5
+ "additionalProperties": false,
6
+ "required": [
7
+ "protocol",
8
+ "previous_accepted_result_set_digest",
9
+ "logical_unit_count",
10
+ "stale_logical_unit_count",
11
+ "stale_artifact_count",
12
+ "stale_section_count",
13
+ "recompute_required",
14
+ "reports",
15
+ "report_set_digest",
16
+ "outcome",
17
+ "graph_outcome"
18
+ ],
19
+ "properties": {
20
+ "protocol": { "const": "context.indexer.incremental-impact-report-set/v1" },
21
+ "previous_accepted_result_set_digest": { "$ref": "#/$defs/digest" },
22
+ "logical_unit_count": { "type": "integer", "minimum": 1 },
23
+ "stale_logical_unit_count": { "type": "integer", "minimum": 0 },
24
+ "stale_artifact_count": { "type": "integer", "minimum": 0 },
25
+ "stale_section_count": { "type": "integer", "minimum": 0 },
26
+ "recompute_required": { "type": "boolean" },
27
+ "reports": {
28
+ "type": "array",
29
+ "minItems": 1,
30
+ "items": {
31
+ "type": "object",
32
+ "required": [
33
+ "protocol",
34
+ "indexer_id",
35
+ "logical_unit_ref",
36
+ "envelope_changes",
37
+ "dependency_changes",
38
+ "artifacts",
39
+ "logical_unit_state",
40
+ "recompute_scope",
41
+ "report_digest"
42
+ ]
43
+ }
44
+ },
45
+ "report_set_digest": { "$ref": "#/$defs/digest" },
46
+ "outcome": { "const": "indexer-incremental-impact-reported" },
47
+ "graph_outcome": { "const": "completed" }
48
+ },
49
+ "$defs": {
50
+ "digest": { "type": "string", "pattern": "^sha256:[a-f0-9]{64}$" }
51
+ }
52
+ }