@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
@@ -9,7 +9,7 @@
9
9
  "logical_unit_ref": "node:anonymous-domain-reference",
10
10
  "canonical_facts": { "target": { "eligible": true } },
11
11
  "artifact_policy_variant": "standard",
12
- "artifacts": [{ "artifact_id": "content", "artifact_kind": "content", "purpose": "required", "reader_question_refs": ["question:source-authority"], "evidence_refs": ["evidence:anonymous-domain-reference-source"] }],
12
+ "artifacts": [{ "artifact_id": "content", "artifact_kind": "content", "purpose": "required", "reader_question_refs": ["question:reader-purpose"], "evidence_refs": ["evidence:anonymous-domain-reference-source"] }],
13
13
  "evidence_refs": ["evidence:anonymous-domain-reference-source"]
14
14
  },
15
15
  {
@@ -22,7 +22,7 @@
22
22
  "logical_unit_ref": "node:anonymous-product-requirements",
23
23
  "canonical_facts": { "target": { "eligible": true } },
24
24
  "artifact_policy_variant": "standard",
25
- "artifacts": [{ "artifact_id": "content", "artifact_kind": "content", "purpose": "required", "reader_question_refs": ["question:source-authority"], "evidence_refs": ["evidence:anonymous-product-requirements-source"] }],
25
+ "artifacts": [{ "artifact_id": "content", "artifact_kind": "content", "purpose": "required", "reader_question_refs": ["question:reader-purpose"], "evidence_refs": ["evidence:anonymous-product-requirements-source"] }],
26
26
  "evidence_refs": ["evidence:anonymous-product-requirements-source"]
27
27
  },
28
28
  {
@@ -35,7 +35,7 @@
35
35
  "logical_unit_ref": "node:anonymous-technical-guide",
36
36
  "canonical_facts": { "target": { "eligible": true } },
37
37
  "artifact_policy_variant": "standard",
38
- "artifacts": [{ "artifact_id": "content", "artifact_kind": "content", "purpose": "required", "reader_question_refs": ["question:source-authority"], "evidence_refs": ["evidence:anonymous-technical-guide-source"] }],
38
+ "artifacts": [{ "artifact_id": "content", "artifact_kind": "content", "purpose": "required", "reader_question_refs": ["question:reader-structure"], "evidence_refs": ["evidence:anonymous-technical-guide-source"] }],
39
39
  "evidence_refs": ["evidence:anonymous-technical-guide-source"]
40
40
  },
41
41
  {
@@ -48,7 +48,7 @@
48
48
  "logical_unit_ref": "node:anonymous-user-and-developer-guide",
49
49
  "canonical_facts": { "target": { "eligible": true } },
50
50
  "artifact_policy_variant": "standard",
51
- "artifacts": [{ "artifact_id": "content", "artifact_kind": "content", "purpose": "required", "reader_question_refs": ["question:source-authority"], "evidence_refs": ["evidence:anonymous-user-and-developer-guide-source"] }],
51
+ "artifacts": [{ "artifact_id": "content", "artifact_kind": "content", "purpose": "required", "reader_question_refs": ["question:reader-operation"], "evidence_refs": ["evidence:anonymous-user-and-developer-guide-source"] }],
52
52
  "evidence_refs": ["evidence:anonymous-user-and-developer-guide-source"]
53
53
  },
54
54
  {
@@ -61,7 +61,7 @@
61
61
  "logical_unit_ref": "node:anonymous-public-api-reference",
62
62
  "canonical_facts": { "target": { "eligible": true } },
63
63
  "artifact_policy_variant": "standard",
64
- "artifacts": [{ "artifact_id": "content", "artifact_kind": "content", "purpose": "required", "reader_question_refs": ["question:source-authority"], "evidence_refs": ["evidence:anonymous-public-api-reference-source"] }],
64
+ "artifacts": [{ "artifact_id": "content", "artifact_kind": "content", "purpose": "required", "reader_question_refs": ["question:reader-contract"], "evidence_refs": ["evidence:anonymous-public-api-reference-source"] }],
65
65
  "evidence_refs": ["evidence:anonymous-public-api-reference-source"]
66
66
  },
67
67
  {
@@ -74,7 +74,7 @@
74
74
  "logical_unit_ref": "node:anonymous-runbook",
75
75
  "canonical_facts": { "target": { "eligible": true } },
76
76
  "artifact_policy_variant": "standard",
77
- "artifacts": [{ "artifact_id": "content", "artifact_kind": "content", "purpose": "required", "reader_question_refs": ["question:source-authority"], "evidence_refs": ["evidence:anonymous-runbook-source"] }],
77
+ "artifacts": [{ "artifact_id": "content", "artifact_kind": "content", "purpose": "required", "reader_question_refs": ["question:reader-operation"], "evidence_refs": ["evidence:anonymous-runbook-source"] }],
78
78
  "evidence_refs": ["evidence:anonymous-runbook-source"]
79
79
  },
80
80
  {
@@ -87,7 +87,7 @@
87
87
  "logical_unit_ref": "node:anonymous-faq-support",
88
88
  "canonical_facts": { "target": { "eligible": true } },
89
89
  "artifact_policy_variant": "standard",
90
- "artifacts": [{ "artifact_id": "content", "artifact_kind": "content", "purpose": "required", "reader_question_refs": ["question:source-authority"], "evidence_refs": ["evidence:anonymous-faq-support-source"] }],
90
+ "artifacts": [{ "artifact_id": "content", "artifact_kind": "content", "purpose": "required", "reader_question_refs": ["question:reader-purpose"], "evidence_refs": ["evidence:anonymous-faq-support-source"] }],
91
91
  "evidence_refs": ["evidence:anonymous-faq-support-source"]
92
92
  },
93
93
  {
@@ -100,7 +100,7 @@
100
100
  "logical_unit_ref": "node:anonymous-standard-policy",
101
101
  "canonical_facts": { "target": { "eligible": true } },
102
102
  "artifact_policy_variant": "standard",
103
- "artifacts": [{ "artifact_id": "content", "artifact_kind": "content", "purpose": "required", "reader_question_refs": ["question:source-authority"], "evidence_refs": ["evidence:anonymous-standard-policy-source"] }],
103
+ "artifacts": [{ "artifact_id": "content", "artifact_kind": "content", "purpose": "required", "reader_question_refs": ["question:reader-contract"], "evidence_refs": ["evidence:anonymous-standard-policy-source"] }],
104
104
  "evidence_refs": ["evidence:anonymous-standard-policy-source"]
105
105
  },
106
106
  {
@@ -113,7 +113,7 @@
113
113
  "logical_unit_ref": "node:anonymous-decision-record",
114
114
  "canonical_facts": { "target": { "eligible": true } },
115
115
  "artifact_policy_variant": "standard",
116
- "artifacts": [{ "artifact_id": "content", "artifact_kind": "content", "purpose": "required", "reader_question_refs": ["question:source-authority"], "evidence_refs": ["evidence:anonymous-decision-record-source"] }],
116
+ "artifacts": [{ "artifact_id": "content", "artifact_kind": "content", "purpose": "required", "reader_question_refs": ["question:reader-purpose"], "evidence_refs": ["evidence:anonymous-decision-record-source"] }],
117
117
  "evidence_refs": ["evidence:anonymous-decision-record-source"]
118
118
  },
119
119
  {
@@ -126,7 +126,7 @@
126
126
  "logical_unit_ref": "node:anonymous-incident-review",
127
127
  "canonical_facts": { "target": { "eligible": true } },
128
128
  "artifact_policy_variant": "standard",
129
- "artifacts": [{ "artifact_id": "content", "artifact_kind": "content", "purpose": "required", "reader_question_refs": ["question:source-authority"], "evidence_refs": ["evidence:anonymous-incident-review-source"] }],
129
+ "artifacts": [{ "artifact_id": "content", "artifact_kind": "content", "purpose": "required", "reader_question_refs": ["question:reader-operation"], "evidence_refs": ["evidence:anonymous-incident-review-source"] }],
130
130
  "evidence_refs": ["evidence:anonymous-incident-review-source"]
131
131
  },
132
132
  {
@@ -139,7 +139,7 @@
139
139
  "logical_unit_ref": "node:anonymous-test-validation",
140
140
  "canonical_facts": { "target": { "eligible": true } },
141
141
  "artifact_policy_variant": "standard",
142
- "artifacts": [{ "artifact_id": "content", "artifact_kind": "content", "purpose": "required", "reader_question_refs": ["question:source-authority"], "evidence_refs": ["evidence:anonymous-test-validation-source"] }],
142
+ "artifacts": [{ "artifact_id": "content", "artifact_kind": "content", "purpose": "required", "reader_question_refs": ["question:reader-operation"], "evidence_refs": ["evidence:anonymous-test-validation-source"] }],
143
143
  "evidence_refs": ["evidence:anonymous-test-validation-source"]
144
144
  },
145
145
  {
@@ -152,7 +152,7 @@
152
152
  "logical_unit_ref": "node:anonymous-release-migration-guide",
153
153
  "canonical_facts": { "target": { "eligible": true } },
154
154
  "artifact_policy_variant": "standard",
155
- "artifacts": [{ "artifact_id": "content", "artifact_kind": "content", "purpose": "required", "reader_question_refs": ["question:source-authority"], "evidence_refs": ["evidence:anonymous-release-migration-guide-source"] }],
155
+ "artifacts": [{ "artifact_id": "content", "artifact_kind": "content", "purpose": "required", "reader_question_refs": ["question:reader-operation"], "evidence_refs": ["evidence:anonymous-release-migration-guide-source"] }],
156
156
  "evidence_refs": ["evidence:anonymous-release-migration-guide-source"]
157
157
  },
158
158
  {
@@ -165,7 +165,7 @@
165
165
  "logical_unit_ref": "node:anonymous-documentation-site",
166
166
  "canonical_facts": { "target": { "eligible": true } },
167
167
  "artifact_policy_variant": "standard",
168
- "artifacts": [{ "artifact_id": "content", "artifact_kind": "content", "purpose": "required", "reader_question_refs": ["question:source-authority"], "evidence_refs": ["evidence:anonymous-documentation-site-source"] }],
168
+ "artifacts": [{ "artifact_id": "content", "artifact_kind": "content", "purpose": "required", "reader_question_refs": ["question:reader-purpose"], "evidence_refs": ["evidence:anonymous-documentation-site-source"] }],
169
169
  "evidence_refs": ["evidence:anonymous-documentation-site-source"]
170
170
  }
171
171
  ]
@@ -146,6 +146,128 @@
146
146
  ]
147
147
  }
148
148
  ]
149
+ },
150
+ {
151
+ "id": "anonymous-product-intent",
152
+ "profile": "product-requirements",
153
+ "source_role": "authoritative-document",
154
+ "density_mode": "meso",
155
+ "candidate_signal": "coherent-product-outcome",
156
+ "candidate_resolution": "dismiss-with-rationale",
157
+ "artifacts": [{
158
+ "artifact_id": "product-intent",
159
+ "artifact_kind": "content",
160
+ "boundary_decision": "retain-section-group",
161
+ "sections": [{ "section_key": "outcome", "owner_indexer_id": "anonymous-markdown-indexer", "document_kind": "product-requirements", "reader_goal": "understand-product-intent", "artifact_kind": "content" }]
162
+ }]
163
+ },
164
+ {
165
+ "id": "anonymous-public-api-contract",
166
+ "profile": "public-api-reference",
167
+ "source_role": "authoritative-document",
168
+ "density_mode": "meso",
169
+ "candidate_signal": "contract-and-policy-boundaries",
170
+ "candidate_resolution": "accept-correction",
171
+ "artifacts": [
172
+ { "artifact_id": "api-reference", "artifact_kind": "content", "boundary_decision": "promote-reader-artifact", "sections": [{ "section_key": "operations", "owner_indexer_id": "anonymous-markdown-indexer", "document_kind": "public-api-reference", "reader_goal": "look-up-public-contract", "artifact_kind": "content" }] },
173
+ { "artifact_id": "contract-policy", "artifact_kind": "content", "boundary_decision": "promote-reader-artifact", "sections": [{ "section_key": "compatibility", "owner_indexer_id": "anonymous-markdown-indexer", "document_kind": "public-contract-policy", "reader_goal": "follow-public-contract-policy", "artifact_kind": "content" }] }
174
+ ]
175
+ },
176
+ {
177
+ "id": "anonymous-operational-runbook",
178
+ "profile": "runbook",
179
+ "source_role": "operational-document",
180
+ "density_mode": "micro",
181
+ "candidate_signal": "ordered-recovery-task",
182
+ "candidate_resolution": "keep-unresolved",
183
+ "artifacts": [{
184
+ "artifact_id": "recovery-procedure",
185
+ "artifact_kind": "content",
186
+ "boundary_decision": "retain-section-group",
187
+ "sections": [{ "section_key": "recover", "owner_indexer_id": "anonymous-markdown-indexer", "document_kind": "runbook", "reader_goal": "operate-or-recover-system", "artifact_kind": "content" }]
188
+ }]
189
+ },
190
+ {
191
+ "id": "anonymous-support-answers",
192
+ "profile": "faq-support",
193
+ "source_role": "supporting-document",
194
+ "density_mode": "micro",
195
+ "candidate_signal": "independent-reader-question",
196
+ "candidate_resolution": "accept-correction",
197
+ "artifacts": [{
198
+ "artifact_id": "support-answer",
199
+ "artifact_kind": "content",
200
+ "boundary_decision": "promote-reader-artifact",
201
+ "sections": [{ "section_key": "answer", "owner_indexer_id": "anonymous-markdown-indexer", "document_kind": "faq-support", "reader_goal": "resolve-reader-question", "artifact_kind": "content" }]
202
+ }]
203
+ },
204
+ {
205
+ "id": "anonymous-standard-policy",
206
+ "profile": "standard-policy",
207
+ "source_role": "authoritative-document",
208
+ "density_mode": "single-pass",
209
+ "candidate_signal": "single-normative-scope",
210
+ "candidate_resolution": "dismiss-with-rationale",
211
+ "artifacts": [{
212
+ "artifact_id": "policy",
213
+ "artifact_kind": "content",
214
+ "boundary_decision": "retain-section-group",
215
+ "sections": [{ "section_key": "requirements", "owner_indexer_id": "anonymous-markdown-indexer", "document_kind": "standard-policy", "reader_goal": "follow-standard-or-policy", "artifact_kind": "content" }]
216
+ }]
217
+ },
218
+ {
219
+ "id": "anonymous-architecture-decision",
220
+ "profile": "decision-record",
221
+ "source_role": "decision-record",
222
+ "density_mode": "single-pass",
223
+ "candidate_signal": "decision-with-tradeoffs",
224
+ "candidate_resolution": "dismiss-with-rationale",
225
+ "artifacts": [{
226
+ "artifact_id": "decision",
227
+ "artifact_kind": "content",
228
+ "boundary_decision": "retain-section-group",
229
+ "sections": [{ "section_key": "tradeoffs", "owner_indexer_id": "anonymous-markdown-indexer", "document_kind": "decision-record", "reader_goal": "understand-decision-and-tradeoffs", "artifact_kind": "content" }]
230
+ }]
231
+ },
232
+ {
233
+ "id": "anonymous-incident-learning",
234
+ "profile": "incident-review",
235
+ "source_role": "operational-document",
236
+ "density_mode": "macro",
237
+ "candidate_signal": "timeline-and-remediation",
238
+ "candidate_resolution": "accept-correction",
239
+ "artifacts": [{
240
+ "artifact_id": "incident-review",
241
+ "artifact_kind": "content",
242
+ "boundary_decision": "retain-section-group",
243
+ "sections": [{ "section_key": "learning", "owner_indexer_id": "anonymous-markdown-indexer", "document_kind": "incident-review", "reader_goal": "learn-from-incident", "artifact_kind": "content" }]
244
+ }]
245
+ },
246
+ {
247
+ "id": "anonymous-validation-record",
248
+ "profile": "test-validation",
249
+ "source_role": "supporting-document",
250
+ "density_mode": "meso",
251
+ "candidate_signal": "acceptance-result",
252
+ "candidate_resolution": "keep-unresolved",
253
+ "artifacts": [{
254
+ "artifact_id": "validation",
255
+ "artifact_kind": "content",
256
+ "boundary_decision": "retain-section-group",
257
+ "sections": [{ "section_key": "result", "owner_indexer_id": "anonymous-markdown-indexer", "document_kind": "test-validation", "reader_goal": "verify-behavior-or-acceptance", "artifact_kind": "content" }]
258
+ }]
259
+ },
260
+ {
261
+ "id": "anonymous-release-migration",
262
+ "profile": "release-migration-guide",
263
+ "source_role": "authoritative-document",
264
+ "density_mode": "macro",
265
+ "candidate_signal": "release-and-migration-tasks",
266
+ "candidate_resolution": "accept-correction",
267
+ "artifacts": [
268
+ { "artifact_id": "release-change", "artifact_kind": "content", "boundary_decision": "promote-reader-artifact", "sections": [{ "section_key": "change", "owner_indexer_id": "anonymous-markdown-indexer", "document_kind": "release-guide", "reader_goal": "understand-release-change", "artifact_kind": "content" }] },
269
+ { "artifact_id": "migration-task", "artifact_kind": "content", "boundary_decision": "promote-reader-artifact", "sections": [{ "section_key": "steps", "owner_indexer_id": "anonymous-markdown-indexer", "document_kind": "migration-guide", "reader_goal": "complete-migration", "artifact_kind": "content" }] }
270
+ ]
149
271
  }
150
272
  ]
151
273
  }
@@ -0,0 +1,6 @@
1
+ schema: agent-graph.action.v1
2
+ id: advance-current-indexer-lifecycle
3
+ description: Advance deterministic Indexer setup, fallback, recovery, and finalization to the next semantic step or Gate.
4
+ runner: command
5
+ effect: write
6
+ command: context run --format json
@@ -3,4 +3,4 @@ id: configure-indexer-providers
3
3
  runner: agent
4
4
  effect: write
5
5
  skill: skills/configure-indexer-providers/SKILL.md
6
- outputSchema: schemas/indexer-provider-route-input.schema.json
6
+ outputSchema: schemas/indexer-agent-step-result.schema.json
@@ -0,0 +1,7 @@
1
+ schema: agent-graph.action.v1
2
+ id: materialize-indexer-workset-view
3
+ runner: host
4
+ effect: read
5
+ handler: context.materialize-indexer-workset-view/v1
6
+ inputSchema: schemas/indexer-workset-view-materialization-request.schema.json
7
+ outputSchema: schemas/indexer-authorized-workset-view.schema.json
@@ -0,0 +1,7 @@
1
+ schema: agent-graph.action.v1
2
+ id: run-indexer-lifecycle
3
+ description: Continue the unique registry-and-Provider Indexer lifecycle until current Candidates exist.
4
+ runner: agent
5
+ effect: write
6
+ skill: skills/run-indexer-lifecycle/SKILL.md
7
+ outputSchema: schemas/indexer-lifecycle-continuation.schema.json
@@ -4,4 +4,4 @@ runner: agent
4
4
  effect: write
5
5
  skill: skills/run-indexer-post-author-composer/SKILL.md
6
6
  inputSchema: schemas/indexer-post-author-fragment-request.schema.json
7
- outputSchema: schemas/indexer-post-author-fragment-result.schema.json
7
+ outputSchema: schemas/indexer-agent-step-result.schema.json
@@ -3,10 +3,6 @@ codes:
3
3
  - { code: diagnostic.project-entry-invalid, kind: diagnostic, severity: error, summary: The Context project entry cannot be loaded., document: resources/diagnostics/workspace-state.md }
4
4
  - { code: diagnostic.workspace-state-invalid, kind: diagnostic, severity: error, summary: Context cannot establish valid lifecycle facts for the workspace., document: resources/diagnostics/workspace-state.md }
5
5
  - { code: diagnostic.structure-snapshot-invalid, kind: diagnostic, severity: error, summary: An active source-bound structure snapshot is invalid., document: resources/diagnostics/workspace-state.md }
6
- - { code: diagnostic.phase-source-unresolved, kind: diagnostic, severity: error, summary: A document lifecycle phase cannot resolve its canonical source., document: resources/diagnostics/workspace-state.md }
7
- - { code: diagnostic.structure-route-unresolved, kind: diagnostic, severity: error, summary: A staged structure cannot resolve to one source and collection lifecycle., document: resources/diagnostics/workspace-state.md }
8
- - { code: diagnostic.compile-route-ambiguous, kind: diagnostic, severity: error, summary: More than one compile lifecycle owns the same source and collection., document: resources/diagnostics/workspace-state.md }
9
- - { code: diagnostic.structure-snapshot-missing, kind: diagnostic, severity: error, summary: A compile batch references a missing confirmed structure snapshot., document: resources/diagnostics/workspace-state.md }
10
6
  - { code: diagnostic.verify-failed, kind: diagnostic, severity: error, summary: Verification found one or more blocking findings., document: resources/diagnostics/verification.md }
11
7
  - { code: diagnostic.projection-stale, kind: diagnostic, severity: info, summary: Approved knowledge changed and deterministic close must refresh its derived projection., document: resources/diagnostics/projection-stale.md }
12
8
  - { code: diagnostic.evidence-degraded, kind: diagnostic, severity: warning, summary: Approved knowledge has evidence that cannot currently be rechecked., document: resources/diagnostics/verification.md }
@@ -22,36 +18,19 @@ codes:
22
18
  - { code: route.capture.configuration-required, kind: route-reason, summary: Registered document sources are missing capture declarations., document: resources/procedures/project-configuration.md }
23
19
  - { code: route.capture.permission-required, kind: route-reason, summary: External document capture requires source-read permission., document: resources/procedures/document-capture.md }
24
20
  - { code: route.capture.pending-target, kind: route-reason, summary: Capture the next declared document target., document: resources/procedures/document-capture.md }
25
- - { code: route.extract.scope-required, kind: route-reason, summary: Code extraction scope has not been confirmed., document: resources/procedures/code-extraction.md }
26
- - { code: route.extract.configuration-required, kind: route-reason, summary: Registered repository sources are missing extraction declarations., document: resources/procedures/project-configuration.md }
27
- - { code: route.extract.capability-required, kind: route-reason, summary: One or more code index units require missing material or a narrower plan., document: resources/procedures/code-extraction.md }
28
- - { code: route.extract.preview-required, kind: route-reason, summary: Preview all pending code index units before candidate writes., document: resources/procedures/code-extraction.md }
29
- - { code: route.extract.ownership-required, kind: route-reason, summary: Revise the index plan so every projected page has one output owner., document: resources/procedures/code-extraction.md }
30
- - { code: route.extract.scale-limit-exceeded, kind: route-reason, summary: At least one index unit exceeds the supported page limit., document: resources/procedures/code-extraction.md }
31
- - { code: route.extract.pending-target, kind: route-reason, summary: Extract the next pending code target before another workflow family., document: resources/procedures/code-extraction.md }
32
- - { code: route.extract.audit-input-required, kind: route-reason, summary: The code-index audit requires specific source or protocol material that is not currently available., document: resources/procedures/code-index-audit.md }
33
- - { code: route.extract.audit-guidance-required, kind: route-reason, summary: One or more code-index units still fail absolute quality bounds after three revisions and require one aggregated human direction., document: resources/procedures/code-index-audit.md }
34
- - { code: route.extract.audit-revision-required, kind: route-reason, summary: Revise the code-index plan and content for issues confirmed by the Agent audit., document: resources/procedures/code-index-audit.md }
35
- - { code: route.extract.audit-required, kind: route-reason, summary: The complete proposed code index requires one Agent semantic audit decision., document: resources/procedures/code-index-audit.md }
36
- - { code: route.extract.codeindex-migration-required, kind: route-reason, summary: This workspace still uses the legacy codegraph collection and must be migrated deterministically before code extraction continues., document: resources/procedures/code-extraction.md }
37
- - { code: route.document.classification-required, kind: route-reason, summary: A captured document needs an evidence-backed collection decision., document: resources/procedures/document-classification.md }
38
- - { code: route.prose.configuration-required, kind: route-reason, summary: A document target is missing a complete prose lifecycle declaration., document: resources/procedures/project-configuration.md }
39
- - { code: route.structure.pending-target, kind: route-reason, summary: Prepare the next document structure slot from source evidence., document: resources/procedures/prose-align.md }
40
- - { code: route.structure.confirmation-required, kind: route-reason, summary: A staged structure is waiting for confirmation., document: resources/procedures/prose-align.md }
41
- - { code: route.structure.confirm, kind: route-reason, summary: Persist the confirmed structure slot., document: resources/procedures/prose-align.md }
42
- - { code: route.compile.pending-target, kind: route-reason, summary: Compile the next planned source-bound knowledge view., document: resources/procedures/prose-compile.md }
43
- - { code: route.review.identity-conflict, kind: route-reason, summary: Preserve approved ViewRef and path identity before Review., document: resources/procedures/knowledge-review.md }
44
21
  - { code: route.review.decision-required, kind: route-reason, summary: The complete current candidate batch needs one review decision set., document: resources/procedures/knowledge-review.md }
45
22
  - { code: route.review.apply-managed, kind: route-reason, summary: Apply the current candidate batch under explicit session-managed authority., document: resources/procedures/knowledge-review.md }
46
23
  - { code: route.close.projection-stale, kind: route-reason, summary: Rebuild the deterministic approved structure projection., document: resources/procedures/close-and-build.md }
47
24
  - { code: route.package.output-required, kind: route-reason, summary: Approved knowledge has no confirmed package output., document: resources/procedures/package-output.md }
48
25
  - { code: route.package.configuration-required, kind: route-reason, summary: Declare the confirmed package output in the Context project., document: resources/procedures/package-output.md }
49
26
  - { code: route.package.template-review-required, kind: route-reason, summary: "Replace or edit package templates, or explicitly accept the generic defaults.", document: resources/procedures/package-output.md }
50
- - { code: route.document-revision.requested, kind: route-reason, summary: Apply and validate the user's requested correction on one approved knowledge page., document: resources/procedures/document-revision.md }
51
- - { code: route.document-optimization.pending, kind: route-reason, summary: Resolve the current source-faithful document revision batch before building packages., document: resources/procedures/document-optimization.md }
52
- - { code: route.document-optimization.guidance-required, kind: route-reason, summary: The same document revision quality problem remains after three attempts and requires one aggregated human direction., document: resources/procedures/document-optimization.md }
53
27
  - { code: route.build.package-stale, kind: route-reason, summary: Build the declared package outputs from current approved knowledge., document: resources/procedures/close-and-build.md }
54
28
  - { code: route.logs.delivery-pending, kind: route-reason, summary: Send locally queued runtime logs through the configured generic sink., document: resources/procedures/close-and-build.md }
29
+ - { code: route.indexer.lifecycle-required, kind: route-reason, summary: Continue the sole registry-and-Provider indexing lifecycle until current Candidates exist. }
30
+ - { code: route.indexer.lifecycle-advance, kind: route-reason, summary: Advance deterministic Indexer lifecycle state to the next Agent step or user Gate. }
31
+ - { code: route.indexer.semantic-structure-review, kind: route-reason, summary: Review the complete semantic structure and create-or-enrich targets before Author work starts. }
32
+ - { code: route.indexer.recovery-required, kind: route-reason, summary: "Resolve a persisted source, material, or execution failure before retrying the Indexer lifecycle." }
33
+ - { code: route.indexer.layout-confirmation-required, kind: route-reason, summary: Confirm the proposed knowledge layout change or reject it with revision feedback. }
55
34
  - { code: route.indexer.agent-step, kind: route-reason, summary: Run one digest-bound Indexer workset with the static Context Agent Action. }
56
35
  - { code: route.indexer.provider-configuration, kind: route-reason, summary: Configure an exact path-free Provider selection from currently visible Indexer Skills. }
57
36
  - { code: route.indexer.markdown-capture-validation, kind: route-reason, summary: Require exact current document capture before discovering a semantic Markdown Provider. }
@@ -64,12 +43,11 @@ codes:
64
43
  - { code: route.indexer.customization-validation, kind: route-reason, summary: Validate and content-address stage one exact minimal customization draft without project source writes. }
65
44
  - { code: route.indexer.customization-project-preparation, kind: route-reason, summary: Resolve the exact Providers and stage one CAS-bound customization project proposal. }
66
45
  - { code: route.indexer.project-observation, kind: route-reason, summary: Observe the complete applied target set and rerun finalized selection validation. }
67
- - { code: route.indexer.contract-overlay-validation, kind: route-reason, summary: Recompute data-only contract overlay conformance and resolve its trust path. }
46
+ - { code: route.indexer.contract-overlay-validation, kind: route-reason, summary: Recompute data-only contract overlay conformance and issue a digest-bound validation receipt. }
68
47
  - { code: route.indexer.requirement-confirmation-routing, kind: route-reason, summary: Revalidate the comparator report and select the ordinary or contraction confirmation Gate. }
69
48
  - { code: route.indexer.requirement-confirmation, kind: route-reason, summary: "Confirm an initial, equivalent, or strengthening requirement workset." }
70
49
  - { code: route.indexer.requirement-contraction, kind: route-reason, summary: Require non-delegable human confirmation for contraction or incomparable obligation replacement. }
71
- - { code: route.indexer.contract-overlay-authorization, kind: route-reason, summary: Authorize one exact current-project contract overlay after conformance passes. }
72
- - { code: route.indexer.overlay-question-proposal, kind: route-reason, summary: Propose namespaced question bindings from one current trusted overlay. }
50
+ - { code: route.indexer.overlay-question-proposal, kind: route-reason, summary: Propose namespaced question bindings from one current validated overlay. }
73
51
  - { code: route.indexer.overlay-question-rebind, kind: route-reason, summary: Revalidate an overlay requirement and build one coupled registry proposal. }
74
52
  - { code: route.indexer.dependency-authorization, kind: route-reason, summary: Authorize one exact staged dependency intent set with install scripts disabled. }
75
53
  - { code: route.indexer.program-execution-authorization, kind: route-reason, summary: Authorize one exact non-allowlisted Provider program for trusted non-sandboxed execution. }
@@ -99,25 +77,7 @@ codes:
99
77
  - { code: route.indexer.post-author-observation, kind: route-reason, summary: Join current composer worksets with their ledger and publish independent completion Facts. }
100
78
  - { code: route.indexer.post-author-composition, kind: route-reason, summary: Compose the current result envelope after every selected composer is accepted. }
101
79
  - { code: route.indexer.result-reconciliation, kind: route-reason, summary: Recompute per-domain completion and emit exact capability or material gaps before reporting success. }
102
- - { code: route.indexer.material-question-workset, kind: route-reason, summary: Build immutable question-target pairs and derive exact answer eligibility from current registry authority. }
103
- - { code: route.indexer.material-answer-run-preparation, kind: route-reason, summary: Recover content-addressed material-answer runs and accepted empty or non-empty Results. }
104
- - { code: route.indexer.material-answer-observation, kind: route-reason, summary: "Publish material-answer counts, next refs, candidates, and unresolved question keys." }
105
- - { code: route.indexer.material-answer-run-start, kind: route-reason, summary: Persist one exact pending or stale material-answer run before dispatch. }
106
- - { code: route.indexer.material-answer-agent-step, kind: route-reason, summary: Run one semantic-operation-gated material-answer request without rerunning main extraction. }
107
- - { code: route.indexer.material-answer-run-acceptance, kind: route-reason, summary: Validate current source-span read receipts and atomically accept one material-answer Result. }
108
- - { code: route.indexer.material-answer-run-failure, kind: route-reason, summary: Persist one exact material-answer failure without accepting partial evidence. }
109
- - { code: route.indexer.material-answer-review, kind: route-reason, summary: Approve or reject only one exact material-answer evidence binding; final reader content remains unapproved. }
110
- - { code: route.indexer.material-gap-audit, kind: route-reason, summary: Read-only recompute the expected retained material-gap ledger and route pre-Review drift to checkpoint or post-Review closure to close. }
111
- - { code: route.indexer.material-gap-checkpoint, kind: route-reason, summary: Recompute and durably checkpoint the retained material-gap ledger before any blocking outcome. }
112
- - { code: route.indexer.material-answer-review-checkpoint, kind: route-reason, summary: Persist one exact answer-approved successor under retained ledger CAS. }
113
- - { code: route.indexer.candidate-review-readiness, kind: route-reason, summary: Prove exact precompile and postcompile mechanical audits are current for the effective candidate revision. }
114
80
  - { code: route.indexer.candidate-compile, kind: route-reason, summary: Compile Candidate Artifacts from the exact accepted author IndexerResult set and authorized layout. }
115
81
  - { code: route.indexer.incremental-impact, kind: route-reason, summary: "Report exact logical-unit, Artifact, and Section impact from complete current Merkle dependency views." }
116
- - { code: route.indexer.profile-revision, kind: route-reason, summary: Revise one exact candidate set against the recorded runtime profile failure without changing baseline authority. }
117
- - { code: route.indexer.profile-revision-record, kind: route-reason, summary: Record one distinct result revision under the stable problem lineage and three-attempt ledger CAS. }
118
- - { code: route.indexer.profile-failure-report, kind: route-reason, summary: "Persist the complete module, artifact, metric, attempt, missing-input, and capability-loss report after three failures." }
119
- - { code: route.indexer.profile-override, kind: route-reason, summary: Require the user to force approve one exact current runtime profile risk through a non-delegable Gate. }
120
- - { code: route.indexer.candidate-review, kind: route-reason, summary: Review the exact current candidate set only after the mechanical audit readiness proof passes. }
121
- - { code: route.indexer.material-gap-evaluation, kind: route-reason, summary: Derive layout and main Review admission from the current retained ledger. }
122
- - { code: route.indexer.material-answer-actualization, kind: route-reason, summary: Map answer-approved landings to current Artifact or Section identities and checkpoint the result. }
123
- - { code: route.indexer.approved-knowledge-close, kind: route-reason, summary: Atomically close approved Indexer structure with exact resolved material-answer provenance. }
82
+ - { code: route.indexer.candidate-review, kind: route-reason, summary: Review the exact current candidate set only after current mechanical validation passes. }
83
+ - { code: route.indexer.approved-knowledge-close, kind: route-reason, summary: Atomically close approved Indexer structure after required material gaps are resolved. }