@c4a/context-cli 0.7.0 → 0.7.4

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 (219) hide show
  1. package/README.md +18 -39
  2. package/README.zh-CN.md +13 -27
  3. package/cli.js +59230 -80555
  4. package/indexers/bundles/context-code-indexer/SKILL.md +30 -3
  5. package/indexers/bundles/context-code-indexer/context-indexer.yaml +3 -8
  6. package/indexers/bundles/context-code-indexer/references/indexer.md +110 -7
  7. package/indexers/bundles/context-code-indexer/references/metrics.md +143 -37
  8. package/indexers/bundles/context-code-indexer/templates/adapter-integration.md +2 -2
  9. package/indexers/bundles/context-code-indexer/templates/component-library.md +8 -0
  10. package/indexers/bundles/context-code-indexer/templates/gateway-facade.md +16 -0
  11. package/indexers/bundles/context-markdown-indexer/SKILL.md +13 -3
  12. package/indexers/bundles/context-markdown-indexer/context-indexer.yaml +20 -7
  13. package/indexers/bundles/context-markdown-indexer/references/indexer.md +33 -4
  14. package/indexers/bundles/context-markdown-indexer/references/semantic-planning.md +30 -14
  15. package/indexers/bundles/context-markdown-indexer/references/structure-and-artifacts.md +6 -0
  16. package/indexers/bundles/context-markdown-indexer/tests/fixtures/anonymous.json +1 -1
  17. package/indexers/bundles/context-markdown-indexer/tests/fixtures/profiles.json +13 -13
  18. package/indexers/bundles/context-markdown-indexer/tests/fixtures/routing.json +122 -0
  19. package/indexers/contracts/operator-contract.json +2 -2
  20. package/indexers/contracts/profile-contract.json +3819 -454
  21. package/indexers/release-manifest.json +22 -22
  22. package/package.json +13 -3
  23. package/plugins/VERSION +1 -1
  24. package/plugins/claude/.claude-plugin/plugin.json +1 -1
  25. package/plugins/claude/commands/context.md +44 -85
  26. package/plugins/codex/.codex-plugin/plugin.json +2 -2
  27. package/plugins/codex/skills/context/SKILL.md +44 -85
  28. package/plugins/cursor/.cursor-plugin/plugin.json +1 -1
  29. package/plugins/cursor/commands/c4a-context.md +44 -85
  30. package/plugins/skills/context/SKILL.md +44 -85
  31. package/plugins/skills/context-code-indexer/SKILL.md +30 -3
  32. package/plugins/skills/context-code-indexer/context-indexer.yaml +3 -8
  33. package/plugins/skills/context-code-indexer/references/indexer.md +110 -7
  34. package/plugins/skills/context-code-indexer/references/metrics.md +143 -37
  35. package/plugins/skills/context-code-indexer/templates/adapter-integration.md +2 -2
  36. package/plugins/skills/context-code-indexer/templates/component-library.md +8 -0
  37. package/plugins/skills/context-code-indexer/templates/gateway-facade.md +16 -0
  38. package/plugins/skills/context-markdown-indexer/SKILL.md +13 -3
  39. package/plugins/skills/context-markdown-indexer/context-indexer.yaml +20 -7
  40. package/plugins/skills/context-markdown-indexer/references/indexer.md +33 -4
  41. package/plugins/skills/context-markdown-indexer/references/semantic-planning.md +30 -14
  42. package/plugins/skills/context-markdown-indexer/references/structure-and-artifacts.md +6 -0
  43. package/plugins/skills/context-markdown-indexer/tests/fixtures/anonymous.json +1 -1
  44. package/plugins/skills/context-markdown-indexer/tests/fixtures/profiles.json +13 -13
  45. package/plugins/skills/context-markdown-indexer/tests/fixtures/routing.json +122 -0
  46. package/providers/context/actions/advance-current-indexer-lifecycle.yaml +6 -0
  47. package/providers/context/actions/configure-indexer-providers.yaml +1 -1
  48. package/providers/context/actions/materialize-indexer-workset-view.yaml +7 -0
  49. package/providers/context/actions/run-indexer-lifecycle.yaml +7 -0
  50. package/providers/context/actions/run-indexer-post-author-composer.yaml +1 -1
  51. package/providers/context/codes.yaml +9 -49
  52. package/providers/context/graphs/indexer.yaml +75 -592
  53. package/providers/context/graphs/workspace.yaml +25 -500
  54. package/providers/context/manifest.json +110 -1199
  55. package/providers/context/provider.yaml +2 -2
  56. package/providers/context/resources/diagnostics/projection-stale.md +0 -1
  57. package/providers/context/resources/dialogue/human-gates.md +3 -3
  58. package/providers/context/resources/manuals/reference/package-templates.md +2 -3
  59. package/providers/context/resources/manuals/reference/project-api.md +52 -985
  60. package/providers/context/resources/procedures/close-and-build.md +8 -23
  61. package/providers/context/resources/procedures/knowledge-review.md +13 -4
  62. package/providers/context/resources/procedures/source-capture-detailed.md +6 -8
  63. package/providers/context/resources/views/authorized-indexer-workset-view.yaml +15 -0
  64. package/providers/context/resources/views/package-current.yaml +1 -1
  65. package/providers/context/resources/views/resolved-indexer-instructions.yaml +1 -1
  66. package/providers/context/resources/views/review-current.yaml +1 -1
  67. package/providers/context/resources/views/source-boundary.yaml +1 -1
  68. package/providers/context/resources/views/source-current.yaml +1 -1
  69. package/providers/context/resources/views/verification-current.yaml +1 -1
  70. package/providers/context/resources/views/workspace-current.yaml +1 -1
  71. package/providers/context/schemas/indexer-agent-step-input.schema.json +2 -2
  72. package/providers/context/schemas/indexer-agent-step-result.schema.json +298 -32
  73. package/providers/context/schemas/indexer-authorized-workset-view.schema.json +65 -0
  74. package/providers/context/schemas/indexer-contract-overlay-validation-input.schema.json +0 -42
  75. package/providers/context/schemas/indexer-contract-overlay-validation-result.schema.json +27 -122
  76. package/providers/context/schemas/indexer-lifecycle-continuation.schema.json +15 -0
  77. package/providers/context/schemas/indexer-main-lifecycle-input.schema.json +13 -20
  78. package/providers/context/schemas/indexer-main-lifecycle-output.schema.json +17 -2
  79. package/providers/context/schemas/indexer-materialized-resource.schema.json +8 -1
  80. package/providers/context/schemas/indexer-overlay-question-proposal-input.schema.json +55 -6
  81. package/providers/context/schemas/indexer-overlay-question-rebind-input.schema.json +4 -4
  82. package/providers/context/schemas/indexer-workset-view-materialization-request.schema.json +32 -0
  83. package/providers/context/skills/configure-indexer-providers/SKILL.md +40 -27
  84. package/providers/context/skills/run-indexer-agent-step/SKILL.md +34 -8
  85. package/providers/context/skills/run-indexer-lifecycle/SKILL.md +37 -0
  86. package/providers/context/skills/run-indexer-post-author-composer/SKILL.md +38 -9
  87. package/docs/document-optimization.md +0 -82
  88. package/docs/document-optimization.zh-CN.md +0 -70
  89. package/indexers/capability-manifest.json +0 -40
  90. package/indexers/contracts/hard-rule-conformance.json +0 -2644
  91. package/providers/context/actions/accept-main-index-run.yaml +0 -7
  92. package/providers/context/actions/accept-material-answer-run.yaml +0 -7
  93. package/providers/context/actions/accept-post-author-composer-run.yaml +0 -7
  94. package/providers/context/actions/actualize-material-answer-bindings.yaml +0 -8
  95. package/providers/context/actions/align-next.yaml +0 -6
  96. package/providers/context/actions/apply-code-index-guidance.yaml +0 -5
  97. package/providers/context/actions/apply-document-optimization-guidance.yaml +0 -5
  98. package/providers/context/actions/apply-structure-confirmation.yaml +0 -5
  99. package/providers/context/actions/audit-material-gap-state.yaml +0 -8
  100. package/providers/context/actions/audit-projected-artifact-fan-out.yaml +0 -8
  101. package/providers/context/actions/authorize-indexer-contract-overlay.yaml +0 -7
  102. package/providers/context/actions/build-main-index-author-worksets.yaml +0 -7
  103. package/providers/context/actions/build-main-index-catalog-fallback.yaml +0 -7
  104. package/providers/context/actions/build-main-index-partition-worksets.yaml +0 -7
  105. package/providers/context/actions/build-material-question-workset.yaml +0 -7
  106. package/providers/context/actions/build-post-author-composer-worksets.yaml +0 -7
  107. package/providers/context/actions/build-question-target-inventory.yaml +0 -7
  108. package/providers/context/actions/build-subject-catalog.yaml +0 -7
  109. package/providers/context/actions/build-target-resolution-views.yaml +0 -7
  110. package/providers/context/actions/checkpoint-material-answer-review.yaml +0 -8
  111. package/providers/context/actions/checkpoint-material-gaps.yaml +0 -8
  112. package/providers/context/actions/close-indexer-approved-knowledge.yaml +0 -8
  113. package/providers/context/actions/compile-next.yaml +0 -5
  114. package/providers/context/actions/compose-indexer-post-author-fragments.yaml +0 -7
  115. package/providers/context/actions/configure-code-extraction.yaml +0 -5
  116. package/providers/context/actions/configure-prose-lifecycle.yaml +0 -5
  117. package/providers/context/actions/converge-main-index-partition-run.yaml +0 -7
  118. package/providers/context/actions/evaluate-material-gaps.yaml +0 -8
  119. package/providers/context/actions/extract-next.yaml +0 -5
  120. package/providers/context/actions/fail-main-index-run.yaml +0 -7
  121. package/providers/context/actions/fail-material-answer-run.yaml +0 -7
  122. package/providers/context/actions/fail-post-author-composer-run.yaml +0 -7
  123. package/providers/context/actions/inspect-code-extraction.yaml +0 -5
  124. package/providers/context/actions/inspect-document-classification.yaml +0 -5
  125. package/providers/context/actions/inspect-index-candidate-review-readiness.yaml +0 -8
  126. package/providers/context/actions/inspect-index-profile-failure.yaml +0 -7
  127. package/providers/context/actions/inspect-material-answer-review.yaml +0 -8
  128. package/providers/context/actions/inspect-structure.yaml +0 -5
  129. package/providers/context/actions/migrate-codeindex.yaml +0 -5
  130. package/providers/context/actions/observe-main-index-run-ledger.yaml +0 -7
  131. package/providers/context/actions/observe-material-answer-runs.yaml +0 -7
  132. package/providers/context/actions/observe-post-author-composer-worksets.yaml +0 -7
  133. package/providers/context/actions/optimize-documents.yaml +0 -6
  134. package/providers/context/actions/override-index-profile-audit.yaml +0 -7
  135. package/providers/context/actions/prepare-main-index-run-ledger.yaml +0 -7
  136. package/providers/context/actions/prepare-material-answer-runs.yaml +0 -7
  137. package/providers/context/actions/preview-extraction-batch.yaml +0 -5
  138. package/providers/context/actions/reconcile-indexer-results.yaml +0 -7
  139. package/providers/context/actions/reconcile-review-identities.yaml +0 -5
  140. package/providers/context/actions/record-index-profile-revision.yaml +0 -7
  141. package/providers/context/actions/report-index-profile-failure.yaml +0 -7
  142. package/providers/context/actions/resolve-effective-composers.yaml +0 -7
  143. package/providers/context/actions/review-material-answer-candidate.yaml +0 -8
  144. package/providers/context/actions/revise-code-index-audit.yaml +0 -5
  145. package/providers/context/actions/revise-document.yaml +0 -5
  146. package/providers/context/actions/revise-index-output.yaml +0 -7
  147. package/providers/context/actions/run-material-answer-indexers.yaml +0 -7
  148. package/providers/context/actions/start-main-index-run.yaml +0 -7
  149. package/providers/context/actions/start-material-answer-run.yaml +0 -7
  150. package/providers/context/actions/start-post-author-composer-run.yaml +0 -7
  151. package/providers/context/actions/submit-code-index-audit.yaml +0 -6
  152. package/providers/context/resources/dialogue/code-extraction.md +0 -87
  153. package/providers/context/resources/dialogue/document-classification.md +0 -33
  154. package/providers/context/resources/dialogue/structure-confirmation.md +0 -44
  155. package/providers/context/resources/dialogue/workflow-mode-after-capture.md +0 -25
  156. package/providers/context/resources/manuals/reference/code-extractors.md +0 -152
  157. package/providers/context/resources/procedures/code-extraction.md +0 -188
  158. package/providers/context/resources/procedures/code-index-audit.md +0 -113
  159. package/providers/context/resources/procedures/document-classification.md +0 -22
  160. package/providers/context/resources/procedures/document-optimization.md +0 -110
  161. package/providers/context/resources/procedures/document-revision.md +0 -36
  162. package/providers/context/resources/procedures/prose-align.md +0 -68
  163. package/providers/context/resources/procedures/prose-compile.md +0 -23
  164. package/providers/context/resources/semantic/align/candidate-resolution.md +0 -106
  165. package/providers/context/resources/semantic/align/density-profile.md +0 -41
  166. package/providers/context/resources/semantic/align/gates.md +0 -276
  167. package/providers/context/resources/semantic/align/structure-planning.md +0 -337
  168. package/providers/context/resources/semantic/code-index/classification.md +0 -270
  169. package/providers/context/resources/semantic/code-index/templates/adapter.md +0 -118
  170. package/providers/context/resources/semantic/code-index/templates/api-service.md +0 -116
  171. package/providers/context/resources/semantic/code-index/templates/background-runtime.md +0 -109
  172. package/providers/context/resources/semantic/code-index/templates/cli-tool.md +0 -129
  173. package/providers/context/resources/semantic/code-index/templates/contract-source.md +0 -73
  174. package/providers/context/resources/semantic/code-index/templates/contracts-and-chains.md +0 -81
  175. package/providers/context/resources/semantic/code-index/templates/cross-module-chain.md +0 -78
  176. package/providers/context/resources/semantic/code-index/templates/derived-source.md +0 -116
  177. package/providers/context/resources/semantic/code-index/templates/domain-service.md +0 -109
  178. package/providers/context/resources/semantic/code-index/templates/event-flow.md +0 -62
  179. package/providers/context/resources/semantic/code-index/templates/monorepo-container.md +0 -124
  180. package/providers/context/resources/semantic/code-index/templates/persistence-boundary.md +0 -56
  181. package/providers/context/resources/semantic/code-index/templates/plugin-extension.md +0 -52
  182. package/providers/context/resources/semantic/code-index/templates/protocol-boundary.md +0 -88
  183. package/providers/context/resources/semantic/code-index/templates/sdk-library.md +0 -132
  184. package/providers/context/resources/semantic/code-index/templates/web-application.md +0 -145
  185. package/providers/context/resources/semantic/compile/index.md +0 -31
  186. package/providers/context/resources/views/code-index-audit.yaml +0 -6
  187. package/providers/context/resources/views/document-optimization-current.yaml +0 -6
  188. package/providers/context/resources/views/extraction-preview.yaml +0 -6
  189. package/providers/context/resources/views/structure-current.yaml +0 -6
  190. package/providers/context/schemas/code-index-audit-decision.schema.json +0 -94
  191. package/providers/context/schemas/document-optimization-decisions.schema.json +0 -57
  192. package/providers/context/schemas/indexer-candidate-review-readiness-input.schema.json +0 -46
  193. package/providers/context/schemas/indexer-candidate-review-readiness-output.schema.json +0 -104
  194. package/providers/context/schemas/indexer-contract-overlay-authorization-input.schema.json +0 -32
  195. package/providers/context/schemas/indexer-contract-overlay-authorization-result.schema.json +0 -121
  196. package/providers/context/schemas/indexer-material-answer-lifecycle-input.schema.json +0 -90
  197. package/providers/context/schemas/indexer-material-answer-lifecycle-output.schema.json +0 -80
  198. package/providers/context/schemas/indexer-material-answer-review-inspection-input.schema.json +0 -32
  199. package/providers/context/schemas/indexer-material-answer-review-inspection-output.schema.json +0 -32
  200. package/providers/context/schemas/indexer-material-answer-review-resolution-input.schema.json +0 -19
  201. package/providers/context/schemas/indexer-material-answer-review-resolution-output.schema.json +0 -87
  202. package/providers/context/schemas/indexer-material-gap-lifecycle-input.schema.json +0 -86
  203. package/providers/context/schemas/indexer-material-gap-lifecycle-output.schema.json +0 -19
  204. package/providers/context/schemas/indexer-post-author-fragment-result.schema.json +0 -18
  205. package/providers/context/schemas/indexer-post-author-lifecycle-input.schema.json +0 -94
  206. package/providers/context/schemas/indexer-post-author-lifecycle-output.schema.json +0 -72
  207. package/providers/context/schemas/indexer-profile-failure-inspection-input.schema.json +0 -13
  208. package/providers/context/schemas/indexer-profile-failure-inspection-result.schema.json +0 -19
  209. package/providers/context/schemas/indexer-profile-failure-report-input.schema.json +0 -22
  210. package/providers/context/schemas/indexer-profile-failure-report-result.schema.json +0 -49
  211. package/providers/context/schemas/indexer-profile-override-decision.schema.json +0 -20
  212. package/providers/context/schemas/indexer-profile-override-result.schema.json +0 -49
  213. package/providers/context/schemas/indexer-profile-revision-agent-input.schema.json +0 -18
  214. package/providers/context/schemas/indexer-profile-revision-record-input.schema.json +0 -31
  215. package/providers/context/schemas/indexer-profile-revision-record-result.schema.json +0 -45
  216. package/providers/context/schemas/indexer-result-reconciliation-input.schema.json +0 -59
  217. package/providers/context/schemas/indexer-result-reconciliation-output.schema.json +0 -43
  218. package/providers/context/schemas/prose-structure-batch.schema.json +0 -35
  219. package/providers/context/skills/revise-index-output/SKILL.md +0 -12
@@ -6,7 +6,6 @@ entrypoints:
6
6
  provider-selection: configure-indexer-providers
7
7
  markdown-provider: inspect-markdown-provider-capture
8
8
  requirement-confirmation: route-index-requirement-confirmation
9
- contract-overlay-authorization: authorize-indexer-contract-overlay
10
9
  contract-overlay-validation: validate-indexer-contract-overlays
11
10
  subject-key-validation: validate-subject-key-schemas
12
11
  dependency-authorization: authorize-indexer-dependencies
@@ -14,20 +13,75 @@ entrypoints:
14
13
  overlay-question-proposal: propose-overlay-question-amendment
15
14
  overlay-question-rebind: rebind-indexer-selection-to-requirement
16
15
  project-confirmation: confirm-indexer-project
17
- main-index: build-question-target-inventory
16
+ main-index: advance-current-indexer-lifecycle
17
+ current-lifecycle: advance-current-indexer-lifecycle
18
18
  main-run-validation: validate-main-index-author-result
19
19
  post-author-composer-step: run-indexer-post-author-composer
20
- material-answer: build-material-question-workset
21
- material-answer-step: run-material-answer-indexers
22
- material-answer-review: review-material-answer-candidates
23
- material-gap-audit: audit-material-gap-state
24
- material-gap-evaluation: evaluate-material-gaps
25
- material-answer-actualization: actualize-material-answer-bindings
26
- approved-knowledge-close: close-indexer-approved-knowledge
27
- candidate-review: inspect-index-candidate-review-readiness
28
20
  candidate-compile: compile-indexer-candidates
29
21
  incremental-impact: report-indexer-incremental-impact
30
22
  nodes:
23
+ - id: advance-current-indexer-lifecycle
24
+ kind: action
25
+ reasonCode: route.indexer.lifecycle-advance
26
+ action: actions/advance-current-indexer-lifecycle.yaml
27
+ satisfiedBy:
28
+ - path: indexer_current.advance_complete
29
+ equals: true
30
+ - id: run-current-indexer-agent
31
+ kind: action
32
+ reasonCode: route.indexer.agent-step
33
+ action: actions/run-indexer-agent-step.yaml
34
+ satisfiedBy:
35
+ - path: indexer_current.agent_complete
36
+ equals: true
37
+ resources:
38
+ required:
39
+ - resources/views/resolved-indexer-instructions.yaml
40
+ - resources/views/authorized-indexer-workset-view.yaml
41
+ - id: review-current-indexer-structure
42
+ kind: gate
43
+ reasonCode: route.indexer.semantic-structure-review
44
+ gate:
45
+ id: indexer-semantic-structure-review
46
+ prompt: Review the complete semantic structure and its create-or-enrich targets before authoring.
47
+ authority: context.knowledge-review
48
+ delegatable: true
49
+ satisfiedBy:
50
+ - path: indexer_current.structure_review_complete
51
+ equals: true
52
+ - id: run-current-indexer-composer
53
+ kind: action
54
+ reasonCode: route.indexer.post-author-agent-step
55
+ action: actions/run-indexer-post-author-composer.yaml
56
+ satisfiedBy:
57
+ - path: indexer_current.composer_complete
58
+ equals: true
59
+ resources:
60
+ required:
61
+ - resources/views/resolved-indexer-instructions.yaml
62
+ - id: resolve-current-indexer-block
63
+ kind: gate
64
+ reasonCode: route.indexer.recovery-required
65
+ gate:
66
+ id: indexer-recovery
67
+ prompt: Resolve the reported source, material, or execution failure before retrying the current Indexer lifecycle.
68
+ delegatable: false
69
+ satisfiedBy:
70
+ - path: indexer_current.blockers_clear
71
+ equals: true
72
+ - id: confirm-current-indexer-layout
73
+ kind: gate
74
+ reasonCode: route.indexer.layout-confirmation-required
75
+ gate:
76
+ id: confirm-layout-change
77
+ prompt: Confirm the proposed knowledge layout change or reject it with revision feedback.
78
+ delegatable: false
79
+ satisfiedBy:
80
+ - path: indexer_current.layout_confirmed
81
+ equals: true
82
+ - id: current-indexer-ready
83
+ kind: terminal
84
+ terminalOutcome: completed
31
85
  - id: configure-indexer-providers
32
86
  kind: action
33
87
  reasonCode: route.indexer.provider-configuration
@@ -162,6 +216,7 @@ nodes:
162
216
  resources:
163
217
  required:
164
218
  - resources/views/resolved-indexer-instructions.yaml
219
+ - resources/views/authorized-indexer-workset-view.yaml
165
220
  - id: propose-overlay-question-amendment
166
221
  kind: action
167
222
  reasonCode: route.indexer.overlay-question-proposal
@@ -178,7 +233,7 @@ nodes:
178
233
  kind: action
179
234
  reasonCode: route.indexer.contract-overlay-validation
180
235
  action: actions/validate-indexer-contract-overlays.yaml
181
- - id: contract-overlay-trusted
236
+ - id: contract-overlay-valid
182
237
  kind: terminal
183
238
  terminalOutcome: completed
184
239
  - id: validate-subject-key-schemas
@@ -207,25 +262,6 @@ nodes:
207
262
  - id: subject-reidentification-confirmed
208
263
  kind: terminal
209
264
  terminalOutcome: completed
210
- - id: contract-overlay-authorization-required
211
- kind: terminal
212
- terminalOutcome: waiting-user
213
- - id: authorize-indexer-contract-overlay
214
- kind: gate
215
- reasonCode: route.indexer.contract-overlay-authorization
216
- inspectionAction: actions/validate-indexer-contract-overlays.yaml
217
- resolutionAction: actions/authorize-indexer-contract-overlay.yaml
218
- gate:
219
- id: authorize-indexer-contract-overlay
220
- prompt: Authorize the exact current-project data-only contract overlay after conformance validation.
221
- authority: context.indexer-contract-overlay
222
- delegatable: false
223
- satisfiedBy:
224
- - path: indexer_contract_overlay.trust_state
225
- equals: project-authorized-exact-digest
226
- - id: contract-overlay-authorization-done
227
- kind: terminal
228
- terminalOutcome: completed
229
265
  - id: authorize-indexer-dependencies
230
266
  kind: gate
231
267
  reasonCode: route.indexer.dependency-authorization
@@ -278,65 +314,6 @@ nodes:
278
314
  kind: action
279
315
  reasonCode: route.indexer.project-observation
280
316
  action: actions/observe-indexer-project.yaml
281
- - id: build-question-target-inventory
282
- kind: action
283
- reasonCode: route.indexer.question-target-inventory
284
- action: actions/build-question-target-inventory.yaml
285
- - id: build-main-index-partition-worksets
286
- kind: action
287
- reasonCode: route.indexer.partition-worksets
288
- action: actions/build-main-index-partition-worksets.yaml
289
- - id: prepare-main-index-partition-runs
290
- kind: action
291
- reasonCode: route.indexer.main-run-ledger-preparation
292
- action: actions/prepare-main-index-run-ledger.yaml
293
- - id: observe-main-index-partition-worksets
294
- kind: action
295
- reasonCode: route.indexer.main-workset-observation
296
- action: actions/observe-main-index-run-ledger.yaml
297
- - id: start-main-index-partition-run
298
- kind: action
299
- reasonCode: route.indexer.main-run-start
300
- action: actions/start-main-index-run.yaml
301
- - id: run-main-index-partition-workset
302
- kind: action
303
- reasonCode: route.indexer.agent-step
304
- action: actions/run-indexer-agent-step.yaml
305
- resources:
306
- required:
307
- - resources/views/resolved-indexer-instructions.yaml
308
- - id: converge-main-index-partition-run
309
- kind: action
310
- reasonCode: route.indexer.partition-convergence
311
- action: actions/converge-main-index-partition-run.yaml
312
- - id: start-main-index-catalog-fallback
313
- kind: action
314
- reasonCode: route.indexer.main-run-start
315
- action: actions/start-main-index-run.yaml
316
- - id: build-main-index-catalog-fallback
317
- kind: action
318
- reasonCode: route.indexer.catalog-fallback
319
- action: actions/build-main-index-catalog-fallback.yaml
320
- - id: fail-main-index-partition-run
321
- kind: action
322
- reasonCode: route.indexer.main-run-failure
323
- action: actions/fail-main-index-run.yaml
324
- - id: build-subject-catalog
325
- kind: action
326
- reasonCode: route.indexer.subject-catalog
327
- action: actions/build-subject-catalog.yaml
328
- - id: build-target-resolution-views
329
- kind: action
330
- reasonCode: route.indexer.target-resolution
331
- action: actions/build-target-resolution-views.yaml
332
- - id: audit-projected-artifact-fan-out
333
- kind: action
334
- reasonCode: route.indexer.projected-artifact-fan-out
335
- action: actions/audit-projected-artifact-fan-out.yaml
336
- - id: build-main-index-author-worksets
337
- kind: action
338
- reasonCode: route.indexer.author-worksets
339
- action: actions/build-main-index-author-worksets.yaml
340
317
  - id: validate-main-index-author-result
341
318
  kind: action
342
319
  reasonCode: route.indexer.main-run-validation
@@ -349,183 +326,17 @@ nodes:
349
326
  kind: terminal
350
327
  join: any
351
328
  terminalOutcome: failed
352
- - id: main-index-plan-revision-required
353
- kind: terminal
354
- terminalOutcome: partial
355
- - id: prepare-main-index-author-runs
356
- kind: action
357
- reasonCode: route.indexer.main-run-ledger-preparation
358
- action: actions/prepare-main-index-run-ledger.yaml
359
- - id: observe-main-index-author-worksets
360
- kind: action
361
- reasonCode: route.indexer.main-workset-observation
362
- action: actions/observe-main-index-run-ledger.yaml
363
- - id: start-main-index-author-run
364
- kind: action
365
- reasonCode: route.indexer.main-run-start
366
- action: actions/start-main-index-run.yaml
367
- - id: run-main-index-author-workset
368
- kind: action
369
- reasonCode: route.indexer.agent-step
370
- action: actions/run-indexer-agent-step.yaml
371
- resources:
372
- required:
373
- - resources/views/resolved-indexer-instructions.yaml
374
- - id: accept-main-index-author-run
375
- kind: action
376
- reasonCode: route.indexer.main-run-acceptance
377
- action: actions/accept-main-index-run.yaml
378
- - id: fail-main-index-author-run
379
- kind: action
380
- reasonCode: route.indexer.main-run-failure
381
- action: actions/fail-main-index-run.yaml
382
- - id: main-index-blocked
383
- kind: terminal
384
- join: any
385
- terminalOutcome: blocked
386
- - id: resolve-effective-composers
387
- kind: action
388
- reasonCode: route.indexer.effective-composers
389
- action: actions/resolve-effective-composers.yaml
390
- - id: build-post-author-composer-worksets
391
- kind: action
392
- reasonCode: route.indexer.post-author-worksets
393
- action: actions/build-post-author-composer-worksets.yaml
394
- - id: start-post-author-composer-run
395
- kind: action
396
- reasonCode: route.indexer.post-author-run-start
397
- action: actions/start-post-author-composer-run.yaml
398
329
  - id: run-indexer-post-author-composer
399
330
  kind: action
400
331
  reasonCode: route.indexer.post-author-agent-step
401
332
  action: actions/run-indexer-post-author-composer.yaml
402
- - id: accept-post-author-composer-run
403
- kind: action
404
- reasonCode: route.indexer.post-author-run-acceptance
405
- action: actions/accept-post-author-composer-run.yaml
406
- - id: fail-post-author-composer-run
407
- kind: action
408
- reasonCode: route.indexer.post-author-run-failure
409
- action: actions/fail-post-author-composer-run.yaml
410
- - id: observe-post-author-composer-worksets
411
- kind: action
412
- reasonCode: route.indexer.post-author-observation
413
- action: actions/observe-post-author-composer-worksets.yaml
414
- - id: compose-indexer-post-author-fragments
415
- kind: action
416
- reasonCode: route.indexer.post-author-composition
417
- action: actions/compose-indexer-post-author-fragments.yaml
418
- - id: reconcile-indexer-results
419
- kind: action
420
- join: any
421
- reasonCode: route.indexer.result-reconciliation
422
- action: actions/reconcile-indexer-results.yaml
423
- - id: checkpoint-material-gaps
424
- kind: action
425
- join: any
426
- reasonCode: route.indexer.material-gap-checkpoint
427
- action: actions/checkpoint-material-gaps.yaml
428
- - id: audit-material-gap-state
429
- kind: action
430
- join: any
431
- reasonCode: route.indexer.material-gap-audit
432
- action: actions/audit-material-gap-state.yaml
433
- - id: material-gap-audit-current
434
- kind: terminal
435
- join: any
436
- terminalOutcome: completed
437
- - id: indexer-reconciliation-ready
438
- kind: terminal
439
- join: any
440
- terminalOutcome: completed
441
- - id: index-material-required
442
- kind: terminal
443
- join: any
444
- terminalOutcome: blocked
445
- - id: build-material-question-workset
446
- kind: action
447
- reasonCode: route.indexer.material-question-workset
448
- action: actions/build-material-question-workset.yaml
449
- - id: evaluate-material-gaps
450
- kind: action
451
- join: any
452
- reasonCode: route.indexer.material-gap-evaluation
453
- action: actions/evaluate-material-gaps.yaml
454
- - id: indexer-layout-ready
455
- kind: terminal
456
- join: any
457
- terminalOutcome: completed
458
- - id: actualize-material-answer-bindings
459
- kind: action
460
- reasonCode: route.indexer.material-answer-actualization
461
- action: actions/actualize-material-answer-bindings.yaml
462
- - id: close-indexer-approved-knowledge
463
- kind: action
464
- reasonCode: route.indexer.approved-knowledge-close
465
- action: actions/close-indexer-approved-knowledge.yaml
466
- - id: indexer-approved-knowledge-closed
467
- kind: terminal
468
- terminalOutcome: completed
469
- - id: prepare-material-answer-runs
470
- kind: action
471
- reasonCode: route.indexer.material-answer-run-preparation
472
- action: actions/prepare-material-answer-runs.yaml
473
- - id: observe-material-answer-runs
474
- kind: action
475
- reasonCode: route.indexer.material-answer-observation
476
- action: actions/observe-material-answer-runs.yaml
477
- - id: start-material-answer-run
478
- kind: action
479
- reasonCode: route.indexer.material-answer-run-start
480
- action: actions/start-material-answer-run.yaml
481
- - id: run-material-answer-indexers
482
- kind: action
483
- reasonCode: route.indexer.material-answer-agent-step
484
- action: actions/run-material-answer-indexers.yaml
485
333
  resources:
486
334
  required:
487
335
  - resources/views/resolved-indexer-instructions.yaml
488
- - id: accept-material-answer-run
489
- kind: action
490
- reasonCode: route.indexer.material-answer-run-acceptance
491
- action: actions/accept-material-answer-run.yaml
492
- - id: fail-material-answer-run
493
- kind: action
494
- reasonCode: route.indexer.material-answer-run-failure
495
- action: actions/fail-material-answer-run.yaml
496
- - id: material-answer-blocked
497
- kind: terminal
498
- join: any
499
- terminalOutcome: blocked
500
- - id: material-answer-failed
501
- kind: terminal
502
- join: any
503
- terminalOutcome: failed
504
- - id: review-material-answer-candidates
505
- kind: gate
506
- reasonCode: route.indexer.material-answer-review
507
- inspectionAction: actions/inspect-material-answer-review.yaml
508
- resolutionAction: actions/review-material-answer-candidate.yaml
509
- gate:
510
- id: review-material-answer-candidates
511
- prompt: Review only the exact question-target and source-span evidence binding for this material answer.
512
- authority: context.indexer-material-answer-review
513
- delegatable: true
514
- satisfiedBy:
515
- - path: indexer_material_answer_review.state
516
- equals: approved
517
- - id: checkpoint-material-answer-review
518
- kind: action
519
- reasonCode: route.indexer.material-answer-review-checkpoint
520
- action: actions/checkpoint-material-answer-review.yaml
521
336
  - id: post-author-blocked
522
337
  kind: terminal
523
338
  join: any
524
339
  terminalOutcome: blocked
525
- - id: inspect-index-candidate-review-readiness
526
- kind: action
527
- reasonCode: route.indexer.candidate-review-readiness
528
- action: actions/inspect-index-candidate-review-readiness.yaml
529
340
  - id: compile-indexer-candidates
530
341
  kind: action
531
342
  reasonCode: route.indexer.candidate-compile
@@ -540,60 +351,13 @@ nodes:
540
351
  - id: indexer-incremental-impact-reported
541
352
  kind: terminal
542
353
  terminalOutcome: completed
543
- - id: revise-index-output
544
- kind: action
545
- reasonCode: route.indexer.profile-revision
546
- action: actions/revise-index-output.yaml
547
- - id: record-index-profile-revision
548
- kind: action
549
- reasonCode: route.indexer.profile-revision-record
550
- action: actions/record-index-profile-revision.yaml
551
- - id: report-index-profile-failure
552
- kind: action
553
- reasonCode: route.indexer.profile-failure-report
554
- action: actions/report-index-profile-failure.yaml
555
- - id: override-index-profile-audit
556
- kind: gate
557
- reasonCode: route.indexer.profile-override
558
- inspectionAction: actions/inspect-index-profile-failure.yaml
559
- resolutionAction: actions/override-index-profile-audit.yaml
560
- gate:
561
- id: override-index-profile-audit
562
- prompt: Force approve only the exact current runtime profile risk after reading the complete three-attempt report.
563
- authority: context.indexer-profile-risk-override
564
- delegatable: false
565
- satisfiedBy:
566
- - path: indexer_profile_override.completed
567
- equals: true
568
- - id: review-index-candidates
569
- kind: gate
570
- reasonCode: route.indexer.candidate-review
571
- inspectionAction: actions/inspect-review.yaml
572
- resolutionAction: actions/apply-forced-review.yaml
573
- delegated:
574
- inspection: skip
575
- resolutionAction: actions/apply-managed-review.yaml
576
- resources:
577
- required: []
578
- recommended: []
579
- gate:
580
- id: review-index-candidates
581
- prompt: Review the exact current candidate set only after both mechanical audit stages are current.
582
- authority: context.knowledge-review
583
- delegatable: true
584
- satisfiedBy:
585
- - path: indexer_candidate_review.completed
586
- equals: true
587
- - id: index-baseline-audit-failed
588
- kind: terminal
589
- terminalOutcome: failed
590
- - id: index-profile-revision-pending
591
- kind: terminal
592
- terminalOutcome: blocked
593
- - id: index-candidate-review-complete
594
- kind: terminal
595
- terminalOutcome: completed
596
354
  edges:
355
+ - { from: advance-current-indexer-lifecycle, to: run-current-indexer-agent }
356
+ - { from: run-current-indexer-agent, to: review-current-indexer-structure }
357
+ - { from: review-current-indexer-structure, to: run-current-indexer-composer, kind: gatedBy }
358
+ - { from: run-current-indexer-composer, to: resolve-current-indexer-block }
359
+ - { from: resolve-current-indexer-block, to: confirm-current-indexer-layout, kind: gatedBy }
360
+ - { from: confirm-current-indexer-layout, to: current-indexer-ready, kind: gatedBy }
597
361
  - from: inspect-markdown-provider-capture
598
362
  to: discover-markdown-indexer-providers
599
363
  outcomes: [completed]
@@ -736,13 +500,7 @@ edges:
736
500
  to: done
737
501
  outcomes: [completed]
738
502
  - from: validate-indexer-contract-overlays
739
- to: contract-overlay-trusted
740
- outcomes: [completed]
741
- - from: validate-indexer-contract-overlays
742
- to: contract-overlay-authorization-required
743
- outcomes: [waiting-user]
744
- - from: authorize-indexer-contract-overlay
745
- to: contract-overlay-authorization-done
503
+ to: contract-overlay-valid
746
504
  outcomes: [completed]
747
505
  - from: authorize-indexer-dependencies
748
506
  to: prepare-indexer-customization-project
@@ -770,113 +528,8 @@ edges:
770
528
  - from: observe-indexer-project
771
529
  to: indexer-selection-invalid
772
530
  outcomes: [failed]
773
- - from: build-question-target-inventory
774
- to: build-main-index-partition-worksets
775
- outcomes: [completed]
776
- - from: build-main-index-partition-worksets
777
- to: prepare-main-index-partition-runs
778
- outcomes: [completed]
779
- - from: prepare-main-index-partition-runs
780
- to: observe-main-index-partition-worksets
781
- outcomes: [completed]
782
- - from: observe-main-index-partition-worksets
783
- to: start-main-index-partition-run
784
- outcomes: [partial]
785
- - from: observe-main-index-partition-worksets
786
- to: build-subject-catalog
787
- outcomes: [completed]
788
- - from: observe-main-index-partition-worksets
789
- to: main-index-blocked
790
- outcomes: [failed, blocked]
791
- - from: start-main-index-partition-run
792
- to: run-main-index-partition-workset
793
- outcomes: [completed]
794
- - from: run-main-index-partition-workset
795
- to: converge-main-index-partition-run
796
- outcomes: [completed]
797
- - from: run-main-index-partition-workset
798
- to: fail-main-index-partition-run
799
- outcomes: [failed]
800
- - from: converge-main-index-partition-run
801
- to: observe-main-index-partition-worksets
802
- kind: repeat
803
- outcomes: [completed, partial]
804
- - from: converge-main-index-partition-run
805
- to: start-main-index-catalog-fallback
806
- outcomes: [blocked]
807
- - from: converge-main-index-partition-run
808
- to: main-index-blocked
809
- outcomes: [failed]
810
- - from: start-main-index-catalog-fallback
811
- to: build-main-index-catalog-fallback
812
- outcomes: [completed]
813
- - from: build-main-index-catalog-fallback
814
- to: observe-main-index-partition-worksets
815
- kind: repeat
816
- outcomes: [completed]
817
- - from: build-main-index-catalog-fallback
818
- to: main-index-blocked
819
- outcomes: [failed, blocked]
820
- - from: fail-main-index-partition-run
821
- to: observe-main-index-partition-worksets
822
- kind: repeat
823
- outcomes: [completed]
824
- - from: fail-main-index-partition-run
825
- to: main-index-blocked
826
- outcomes: [failed, blocked]
827
- - from: build-subject-catalog
828
- to: build-target-resolution-views
829
- outcomes: [completed]
830
- - from: build-target-resolution-views
831
- to: audit-projected-artifact-fan-out
832
- outcomes: [completed]
833
- - from: build-target-resolution-views
834
- to: index-target-resolution-ambiguous
835
- outcomes: [blocked]
836
- - from: build-target-resolution-views
837
- to: main-index-blocked
838
- outcomes: [failed]
839
- - from: audit-projected-artifact-fan-out
840
- to: build-main-index-author-worksets
841
- outcomes: [completed]
842
- - from: audit-projected-artifact-fan-out
843
- to: main-index-plan-revision-required
844
- outcomes: [partial]
845
- - from: audit-projected-artifact-fan-out
846
- to: main-index-blocked
847
- outcomes: [failed]
848
- - from: build-main-index-author-worksets
849
- to: prepare-main-index-author-runs
850
- outcomes: [completed]
851
- - from: build-main-index-author-worksets
852
- to: index-target-resolution-ambiguous
853
- outcomes: [blocked]
854
- - from: build-main-index-author-worksets
855
- to: main-index-blocked
856
- outcomes: [failed]
857
- - from: prepare-main-index-author-runs
858
- to: observe-main-index-author-worksets
859
- outcomes: [completed]
860
- - from: observe-main-index-author-worksets
861
- to: start-main-index-author-run
862
- outcomes: [partial]
863
- - from: observe-main-index-author-worksets
864
- to: resolve-effective-composers
865
- outcomes: [completed]
866
- - from: observe-main-index-author-worksets
867
- to: main-index-blocked
868
- outcomes: [failed, blocked]
869
- - from: start-main-index-author-run
870
- to: run-main-index-author-workset
871
- outcomes: [completed]
872
- - from: run-main-index-author-workset
873
- to: validate-main-index-author-result
874
- outcomes: [completed]
875
- - from: run-main-index-author-workset
876
- to: fail-main-index-author-run
877
- outcomes: [failed]
878
531
  - from: validate-main-index-author-result
879
- to: accept-main-index-author-run
532
+ to: done
880
533
  outcomes: [completed]
881
534
  - from: validate-main-index-author-result
882
535
  to: index-target-resolution-ambiguous
@@ -884,185 +537,15 @@ edges:
884
537
  - from: validate-main-index-author-result
885
538
  to: index-target-resolution-invalid
886
539
  outcomes: [failed]
887
- - from: accept-main-index-author-run
888
- to: observe-main-index-author-worksets
889
- kind: repeat
890
- outcomes: [completed]
891
- - from: accept-main-index-author-run
892
- to: main-index-blocked
893
- outcomes: [failed, blocked]
894
- - from: fail-main-index-author-run
895
- to: observe-main-index-author-worksets
896
- kind: repeat
897
- outcomes: [completed]
898
- - from: fail-main-index-author-run
899
- to: main-index-blocked
900
- outcomes: [failed, blocked]
901
- - from: resolve-effective-composers
902
- to: build-post-author-composer-worksets
903
- outcomes: [completed]
904
- - from: build-post-author-composer-worksets
905
- to: reconcile-indexer-results
906
- outcomes: [completed]
907
- - from: build-post-author-composer-worksets
908
- to: observe-post-author-composer-worksets
909
- outcomes: [partial]
910
- - from: build-post-author-composer-worksets
911
- to: post-author-blocked
912
- outcomes: [failed, blocked]
913
- - from: start-post-author-composer-run
914
- to: run-indexer-post-author-composer
915
- outcomes: [completed]
916
540
  - from: run-indexer-post-author-composer
917
- to: accept-post-author-composer-run
541
+ to: done
918
542
  outcomes: [completed]
919
543
  - from: run-indexer-post-author-composer
920
- to: fail-post-author-composer-run
921
- outcomes: [failed]
922
- - from: accept-post-author-composer-run
923
- to: observe-post-author-composer-worksets
924
- kind: repeat
925
- outcomes: [completed]
926
- - from: fail-post-author-composer-run
927
- to: observe-post-author-composer-worksets
928
- kind: repeat
929
- outcomes: [completed]
930
- - from: observe-post-author-composer-worksets
931
- to: start-post-author-composer-run
932
- kind: repeat
933
- outcomes: [partial]
934
- - from: observe-post-author-composer-worksets
935
- to: compose-indexer-post-author-fragments
936
- outcomes: [unverified]
937
- - from: observe-post-author-composer-worksets
938
- to: reconcile-indexer-results
939
- outcomes: [completed]
940
- - from: observe-post-author-composer-worksets
941
544
  to: post-author-blocked
942
- outcomes: [failed, blocked]
943
- - from: compose-indexer-post-author-fragments
944
- to: reconcile-indexer-results
945
- outcomes: [completed]
946
- - from: compose-indexer-post-author-fragments
947
- to: post-author-blocked
948
- outcomes: [failed, blocked]
949
- - from: reconcile-indexer-results
950
- to: checkpoint-material-gaps
951
- outcomes: [completed, partial, blocked]
952
- - from: audit-material-gap-state
953
- to: checkpoint-material-gaps
954
- outcomes: [partial]
955
- - from: audit-material-gap-state
956
- to: close-indexer-approved-knowledge
957
- outcomes: [unverified]
958
- - from: audit-material-gap-state
959
- to: material-answer-blocked
960
- outcomes: [blocked]
961
- - from: audit-material-gap-state
962
- to: material-gap-audit-current
963
- outcomes: [completed]
964
- - from: checkpoint-material-gaps
965
- to: indexer-reconciliation-ready
966
- outcomes: [completed]
967
- - from: checkpoint-material-gaps
968
- to: build-material-question-workset
969
- outcomes: [partial]
970
- - from: checkpoint-material-gaps
971
- to: indexer-capability-gap
972
- outcomes: [blocked]
973
- - from: build-material-question-workset
974
- to: prepare-material-answer-runs
975
- outcomes: [completed]
976
- - from: prepare-material-answer-runs
977
- to: observe-material-answer-runs
978
- outcomes: [completed]
979
- - from: observe-material-answer-runs
980
- to: start-material-answer-run
981
- outcomes: [partial]
982
- - from: observe-material-answer-runs
983
- to: review-material-answer-candidates
984
- outcomes: [unverified]
985
- - from: observe-material-answer-runs
986
- to: evaluate-material-gaps
987
- outcomes: [completed]
988
- - from: observe-material-answer-runs
989
- to: material-answer-blocked
990
- outcomes: [blocked]
991
- - from: observe-material-answer-runs
992
- to: material-answer-failed
993
- outcomes: [failed]
994
- - from: start-material-answer-run
995
- to: run-material-answer-indexers
996
- outcomes: [completed]
997
- - from: run-material-answer-indexers
998
- to: accept-material-answer-run
999
- outcomes: [completed]
1000
- - from: run-material-answer-indexers
1001
- to: fail-material-answer-run
1002
545
  outcomes: [failed]
1003
- - from: accept-material-answer-run
1004
- to: observe-material-answer-runs
1005
- kind: repeat
1006
- outcomes: [completed]
1007
- - from: fail-material-answer-run
1008
- to: observe-material-answer-runs
1009
- kind: repeat
1010
- outcomes: [completed]
1011
- - from: review-material-answer-candidates
1012
- to: checkpoint-material-answer-review
1013
- outcomes: [completed]
1014
- - from: checkpoint-material-answer-review
1015
- to: evaluate-material-gaps
1016
- outcomes: [completed]
1017
- - from: evaluate-material-gaps
1018
- to: indexer-reconciliation-ready
1019
- outcomes: [completed]
1020
- - from: evaluate-material-gaps
1021
- to: indexer-layout-ready
1022
- outcomes: [partial]
1023
- - from: evaluate-material-gaps
1024
- to: material-answer-blocked
1025
- outcomes: [blocked]
1026
- - from: actualize-material-answer-bindings
1027
- to: indexer-reconciliation-ready
1028
- outcomes: [completed]
1029
- - from: actualize-material-answer-bindings
1030
- to: material-answer-blocked
1031
- outcomes: [blocked]
1032
- - from: close-indexer-approved-knowledge
1033
- to: indexer-approved-knowledge-closed
1034
- outcomes: [completed]
1035
- - from: inspect-index-candidate-review-readiness
1036
- to: review-index-candidates
1037
- outcomes: [completed]
1038
546
  - from: compile-indexer-candidates
1039
547
  to: indexer-candidates-compiled
1040
548
  outcomes: [completed]
1041
549
  - from: report-indexer-incremental-impact
1042
550
  to: indexer-incremental-impact-reported
1043
551
  outcomes: [completed]
1044
- - from: inspect-index-candidate-review-readiness
1045
- to: index-baseline-audit-failed
1046
- outcomes: [failed]
1047
- - from: inspect-index-candidate-review-readiness
1048
- to: revise-index-output
1049
- outcomes: [blocked]
1050
- - from: revise-index-output
1051
- to: record-index-profile-revision
1052
- outcomes: [completed]
1053
- - from: record-index-profile-revision
1054
- to: index-profile-revision-pending
1055
- outcomes: [partial]
1056
- - from: record-index-profile-revision
1057
- to: report-index-profile-failure
1058
- outcomes: [completed]
1059
- - from: report-index-profile-failure
1060
- to: override-index-profile-audit
1061
- outcomes: [completed]
1062
- - from: override-index-profile-audit
1063
- to: inspect-index-candidate-review-readiness
1064
- kind: repeat
1065
- outcomes: [completed]
1066
- - from: review-index-candidates
1067
- to: index-candidate-review-complete
1068
- outcomes: [completed]