@c4a/context-cli 0.6.18 → 0.7.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (297) hide show
  1. package/README.md +73 -8
  2. package/README.zh-CN.md +47 -7
  3. package/cli.js +89881 -53821
  4. package/docs/document-optimization.md +35 -11
  5. package/docs/document-optimization.zh-CN.md +29 -9
  6. package/indexers/bundles/context-code-indexer/SKILL.md +20 -0
  7. package/indexers/bundles/context-code-indexer/context-indexer.yaml +230 -0
  8. package/indexers/bundles/context-code-indexer/references/composers/contracts-and-chains.md +23 -0
  9. package/indexers/bundles/context-code-indexer/references/composers/cross-module-chain.md +22 -0
  10. package/indexers/bundles/context-code-indexer/references/composers/development-and-delivery.md +22 -0
  11. package/indexers/bundles/context-code-indexer/references/composers/event-flow.md +21 -0
  12. package/indexers/bundles/context-code-indexer/references/composers/examples-and-documentation.md +22 -0
  13. package/indexers/bundles/context-code-indexer/references/composers/persistence-boundary.md +21 -0
  14. package/indexers/bundles/context-code-indexer/references/composers/protocol-boundary.md +22 -0
  15. package/indexers/bundles/context-code-indexer/references/composers/public-contract.md +23 -0
  16. package/indexers/bundles/context-code-indexer/references/indexer.md +49 -0
  17. package/indexers/bundles/context-code-indexer/references/metrics.md +201 -0
  18. package/indexers/bundles/context-code-indexer/templates/adapter-integration.md +119 -0
  19. package/indexers/bundles/context-code-indexer/templates/api-service.md +118 -0
  20. package/indexers/bundles/context-code-indexer/templates/background-runtime.md +109 -0
  21. package/indexers/bundles/context-code-indexer/templates/cli-tool.md +129 -0
  22. package/indexers/bundles/context-code-indexer/templates/component-library.md +99 -0
  23. package/indexers/bundles/context-code-indexer/templates/contract-source.md +73 -0
  24. package/indexers/bundles/context-code-indexer/templates/data-sync-reconciliation.md +77 -0
  25. package/indexers/bundles/context-code-indexer/templates/derived-generated-source.md +117 -0
  26. package/indexers/bundles/context-code-indexer/templates/domain-service.md +109 -0
  27. package/indexers/bundles/context-code-indexer/templates/event-consumer.md +62 -0
  28. package/indexers/bundles/context-code-indexer/templates/gateway-facade.md +89 -0
  29. package/indexers/bundles/context-code-indexer/templates/monorepo-container.md +124 -0
  30. package/indexers/bundles/context-code-indexer/templates/plugin-extension.md +52 -0
  31. package/indexers/bundles/context-code-indexer/templates/sdk-library.md +132 -0
  32. package/indexers/bundles/context-code-indexer/templates/storage-repository.md +56 -0
  33. package/indexers/bundles/context-code-indexer/templates/web-application.md +146 -0
  34. package/indexers/bundles/context-code-indexer/tests/fixtures/chapters.json +226 -0
  35. package/indexers/bundles/context-code-indexer/tests/fixtures/composers.json +82 -0
  36. package/indexers/bundles/context-code-indexer/tests/fixtures/profiles.json +210 -0
  37. package/indexers/bundles/context-code-indexer/tests/fixtures/scenarios.json +122 -0
  38. package/indexers/bundles/context-markdown-indexer/SKILL.md +20 -0
  39. package/indexers/bundles/context-markdown-indexer/context-indexer.yaml +147 -0
  40. package/indexers/bundles/context-markdown-indexer/references/classification.md +63 -0
  41. package/indexers/bundles/context-markdown-indexer/references/editorial-policy.md +106 -0
  42. package/indexers/bundles/context-markdown-indexer/references/indexer.md +23 -0
  43. package/indexers/bundles/context-markdown-indexer/references/semantic-planning.md +146 -0
  44. package/indexers/bundles/context-markdown-indexer/references/structure-and-artifacts.md +109 -0
  45. package/indexers/bundles/context-markdown-indexer/tests/fixtures/anonymous.json +31 -0
  46. package/indexers/bundles/context-markdown-indexer/tests/fixtures/editorial.json +309 -0
  47. package/indexers/bundles/context-markdown-indexer/tests/fixtures/migration-equivalence.json +186 -0
  48. package/indexers/bundles/context-markdown-indexer/tests/fixtures/profiles.json +171 -0
  49. package/indexers/bundles/context-markdown-indexer/tests/fixtures/routing.json +151 -0
  50. package/indexers/capability-manifest.json +40 -0
  51. package/indexers/contracts/hard-rule-conformance.json +2644 -0
  52. package/indexers/contracts/operator-contract.json +35 -0
  53. package/indexers/contracts/profile-contract.json +10162 -0
  54. package/indexers/release-manifest.json +208 -0
  55. package/package.json +5 -4
  56. package/plugins/README.md +17 -109
  57. package/plugins/README_CN.md +11 -89
  58. package/plugins/VERSION +1 -1
  59. package/plugins/claude/.claude-plugin/plugin.json +3 -11
  60. package/plugins/claude/CLAUDE.md +1 -1
  61. package/plugins/claude/README.md +1 -1
  62. package/plugins/claude/commands/context.md +112 -7
  63. package/plugins/codex/.codex-plugin/plugin.json +6 -17
  64. package/plugins/codex/AGENTS.md +1 -1
  65. package/plugins/codex/README.md +1 -1
  66. package/plugins/codex/skills/context/SKILL.md +113 -19
  67. package/plugins/cursor/.cursor-plugin/plugin.json +4 -17
  68. package/plugins/cursor/AGENTS.md +1 -1
  69. package/plugins/cursor/README.md +3 -2
  70. package/plugins/cursor/commands/c4a-context.md +112 -9
  71. package/plugins/skills/{c4a-context → context}/SKILL.md +114 -20
  72. package/plugins/skills/context-code-indexer/SKILL.md +20 -0
  73. package/plugins/skills/context-code-indexer/context-indexer.yaml +230 -0
  74. package/plugins/skills/context-code-indexer/references/composers/contracts-and-chains.md +23 -0
  75. package/plugins/skills/context-code-indexer/references/composers/cross-module-chain.md +22 -0
  76. package/plugins/skills/context-code-indexer/references/composers/development-and-delivery.md +22 -0
  77. package/plugins/skills/context-code-indexer/references/composers/event-flow.md +21 -0
  78. package/plugins/skills/context-code-indexer/references/composers/examples-and-documentation.md +22 -0
  79. package/plugins/skills/context-code-indexer/references/composers/persistence-boundary.md +21 -0
  80. package/plugins/skills/context-code-indexer/references/composers/protocol-boundary.md +22 -0
  81. package/plugins/skills/context-code-indexer/references/composers/public-contract.md +23 -0
  82. package/plugins/skills/context-code-indexer/references/indexer.md +49 -0
  83. package/plugins/skills/context-code-indexer/references/metrics.md +201 -0
  84. package/plugins/skills/context-code-indexer/templates/adapter-integration.md +119 -0
  85. package/plugins/skills/context-code-indexer/templates/api-service.md +118 -0
  86. package/plugins/skills/context-code-indexer/templates/background-runtime.md +109 -0
  87. package/plugins/skills/context-code-indexer/templates/cli-tool.md +129 -0
  88. package/plugins/skills/context-code-indexer/templates/component-library.md +99 -0
  89. package/plugins/skills/context-code-indexer/templates/contract-source.md +73 -0
  90. package/plugins/skills/context-code-indexer/templates/data-sync-reconciliation.md +77 -0
  91. package/plugins/skills/context-code-indexer/templates/derived-generated-source.md +117 -0
  92. package/plugins/skills/context-code-indexer/templates/domain-service.md +109 -0
  93. package/plugins/skills/context-code-indexer/templates/event-consumer.md +62 -0
  94. package/plugins/skills/context-code-indexer/templates/gateway-facade.md +89 -0
  95. package/plugins/skills/context-code-indexer/templates/monorepo-container.md +124 -0
  96. package/plugins/skills/context-code-indexer/templates/plugin-extension.md +52 -0
  97. package/plugins/skills/context-code-indexer/templates/sdk-library.md +132 -0
  98. package/plugins/skills/context-code-indexer/templates/storage-repository.md +56 -0
  99. package/plugins/skills/context-code-indexer/templates/web-application.md +146 -0
  100. package/plugins/skills/context-code-indexer/tests/fixtures/chapters.json +226 -0
  101. package/plugins/skills/context-code-indexer/tests/fixtures/composers.json +82 -0
  102. package/plugins/skills/context-code-indexer/tests/fixtures/profiles.json +210 -0
  103. package/plugins/skills/context-code-indexer/tests/fixtures/scenarios.json +122 -0
  104. package/plugins/skills/context-markdown-indexer/SKILL.md +20 -0
  105. package/plugins/skills/context-markdown-indexer/context-indexer.yaml +147 -0
  106. package/plugins/skills/context-markdown-indexer/references/classification.md +63 -0
  107. package/plugins/skills/context-markdown-indexer/references/editorial-policy.md +106 -0
  108. package/plugins/skills/context-markdown-indexer/references/indexer.md +23 -0
  109. package/plugins/skills/context-markdown-indexer/references/semantic-planning.md +146 -0
  110. package/plugins/skills/context-markdown-indexer/references/structure-and-artifacts.md +109 -0
  111. package/plugins/skills/context-markdown-indexer/tests/fixtures/anonymous.json +31 -0
  112. package/plugins/skills/context-markdown-indexer/tests/fixtures/editorial.json +309 -0
  113. package/plugins/skills/context-markdown-indexer/tests/fixtures/migration-equivalence.json +186 -0
  114. package/plugins/skills/context-markdown-indexer/tests/fixtures/profiles.json +171 -0
  115. package/plugins/skills/context-markdown-indexer/tests/fixtures/routing.json +151 -0
  116. package/providers/context/actions/accept-main-index-run.yaml +7 -0
  117. package/providers/context/actions/accept-material-answer-run.yaml +7 -0
  118. package/providers/context/actions/accept-post-author-composer-run.yaml +7 -0
  119. package/providers/context/actions/actualize-material-answer-bindings.yaml +8 -0
  120. package/providers/context/actions/apply-code-index-guidance.yaml +5 -0
  121. package/providers/context/actions/apply-document-optimization-guidance.yaml +5 -0
  122. package/providers/context/actions/apply-indexer-project.yaml +7 -0
  123. package/providers/context/actions/audit-material-gap-state.yaml +8 -0
  124. package/providers/context/actions/audit-projected-artifact-fan-out.yaml +8 -0
  125. package/providers/context/actions/authorize-indexer-contract-overlay.yaml +7 -0
  126. package/providers/context/actions/authorize-indexer-dependencies.yaml +7 -0
  127. package/providers/context/actions/authorize-indexer-program-execution.yaml +7 -0
  128. package/providers/context/actions/build-main-index-author-worksets.yaml +7 -0
  129. package/providers/context/actions/build-main-index-catalog-fallback.yaml +7 -0
  130. package/providers/context/actions/build-main-index-partition-worksets.yaml +7 -0
  131. package/providers/context/actions/build-material-question-workset.yaml +7 -0
  132. package/providers/context/actions/build-post-author-composer-worksets.yaml +7 -0
  133. package/providers/context/actions/build-question-target-inventory.yaml +7 -0
  134. package/providers/context/actions/build-subject-catalog.yaml +7 -0
  135. package/providers/context/actions/build-target-resolution-views.yaml +7 -0
  136. package/providers/context/actions/checkpoint-material-answer-review.yaml +8 -0
  137. package/providers/context/actions/checkpoint-material-gaps.yaml +8 -0
  138. package/providers/context/actions/close-indexer-approved-knowledge.yaml +8 -0
  139. package/providers/context/actions/compile-indexer-candidates.yaml +8 -0
  140. package/providers/context/actions/compose-indexer-post-author-fragments.yaml +7 -0
  141. package/providers/context/actions/configure-community-indexer-fallback.yaml +6 -0
  142. package/providers/context/actions/configure-indexer-providers.yaml +6 -0
  143. package/providers/context/actions/confirm-index-requirement-workset.yaml +8 -0
  144. package/providers/context/actions/confirm-subject-reidentification.yaml +8 -0
  145. package/providers/context/actions/converge-main-index-partition-run.yaml +7 -0
  146. package/providers/context/actions/discover-markdown-indexer-providers.yaml +6 -0
  147. package/providers/context/actions/evaluate-material-gaps.yaml +8 -0
  148. package/providers/context/actions/fail-main-index-run.yaml +7 -0
  149. package/providers/context/actions/fail-material-answer-run.yaml +7 -0
  150. package/providers/context/actions/fail-post-author-composer-run.yaml +7 -0
  151. package/providers/context/actions/inspect-index-candidate-review-readiness.yaml +8 -0
  152. package/providers/context/actions/inspect-index-profile-failure.yaml +7 -0
  153. package/providers/context/actions/inspect-indexer-dependencies.yaml +7 -0
  154. package/providers/context/actions/inspect-indexer-program-execution.yaml +7 -0
  155. package/providers/context/actions/inspect-indexer-project-proposal.yaml +7 -0
  156. package/providers/context/actions/inspect-markdown-provider-capture.yaml +7 -0
  157. package/providers/context/actions/inspect-material-answer-review.yaml +8 -0
  158. package/providers/context/actions/maintain-evidence.yaml +1 -1
  159. package/providers/context/actions/materialize-indexer-instructions.yaml +7 -0
  160. package/providers/context/actions/migrate-codeindex.yaml +5 -0
  161. package/providers/context/actions/observe-indexer-project.yaml +7 -0
  162. package/providers/context/actions/observe-main-index-run-ledger.yaml +7 -0
  163. package/providers/context/actions/observe-material-answer-runs.yaml +7 -0
  164. package/providers/context/actions/observe-post-author-composer-worksets.yaml +7 -0
  165. package/providers/context/actions/override-index-profile-audit.yaml +7 -0
  166. package/providers/context/actions/prepare-indexer-customization-project.yaml +7 -0
  167. package/providers/context/actions/prepare-main-index-run-ledger.yaml +7 -0
  168. package/providers/context/actions/prepare-material-answer-runs.yaml +7 -0
  169. package/providers/context/actions/propose-indexer-customization.yaml +7 -0
  170. package/providers/context/actions/propose-overlay-question-amendment.yaml +7 -0
  171. package/providers/context/actions/rebind-indexer-selection-to-requirement.yaml +7 -0
  172. package/providers/context/actions/reconcile-indexer-results.yaml +7 -0
  173. package/providers/context/actions/record-index-profile-revision.yaml +7 -0
  174. package/providers/context/actions/register-source-batch.yaml +1 -1
  175. package/providers/context/actions/report-index-profile-failure.yaml +7 -0
  176. package/providers/context/actions/report-indexer-incremental-impact.yaml +8 -0
  177. package/providers/context/actions/resolve-effective-composers.yaml +7 -0
  178. package/providers/context/actions/restore-repository-sources.yaml +1 -1
  179. package/providers/context/actions/review-material-answer-candidate.yaml +8 -0
  180. package/providers/context/actions/revise-index-output.yaml +7 -0
  181. package/providers/context/actions/route-index-requirement-confirmation.yaml +8 -0
  182. package/providers/context/actions/route-indexer-provider-selection.yaml +7 -0
  183. package/providers/context/actions/run-indexer-agent-step.yaml +7 -0
  184. package/providers/context/actions/run-indexer-post-author-composer.yaml +7 -0
  185. package/providers/context/actions/run-material-answer-indexers.yaml +7 -0
  186. package/providers/context/actions/start-main-index-run.yaml +7 -0
  187. package/providers/context/actions/start-material-answer-run.yaml +7 -0
  188. package/providers/context/actions/start-post-author-composer-run.yaml +7 -0
  189. package/providers/context/actions/validate-indexer-contract-overlays.yaml +7 -0
  190. package/providers/context/actions/validate-indexer-customization.yaml +7 -0
  191. package/providers/context/actions/validate-indexer-selection-proposal.yaml +7 -0
  192. package/providers/context/actions/validate-main-index-run.yaml +7 -0
  193. package/providers/context/actions/validate-markdown-provider-selection.yaml +7 -0
  194. package/providers/context/actions/validate-subject-key-schemas.yaml +8 -0
  195. package/providers/context/codes.yaml +72 -0
  196. package/providers/context/graphs/indexer.yaml +1068 -0
  197. package/providers/context/graphs/workspace.yaml +52 -3
  198. package/providers/context/manifest.json +1487 -157
  199. package/providers/context/provider.yaml +3 -2
  200. package/providers/context/resources/dialogue/code-extraction.md +12 -0
  201. package/providers/context/resources/dialogue/document-classification.md +1 -1
  202. package/providers/context/resources/dialogue/knowledge-review.md +7 -1
  203. package/providers/context/resources/dialogue/source-boundary.md +9 -1
  204. package/providers/context/resources/dialogue/workflow-mode-after-capture.md +11 -8
  205. package/providers/context/resources/dialogue/workflow-mode-after-creation.md +6 -4
  206. package/providers/context/resources/manuals/guides/lark-resources.md +7 -0
  207. package/providers/context/resources/manuals/guides/package-outputs.md +3 -3
  208. package/providers/context/resources/manuals/reference/code-extractors.md +7 -6
  209. package/providers/context/resources/manuals/reference/package-templates.md +18 -10
  210. package/providers/context/resources/manuals/reference/project-api.md +49 -24
  211. package/providers/context/resources/procedures/close-and-build.md +24 -9
  212. package/providers/context/resources/procedures/code-extraction.md +41 -13
  213. package/providers/context/resources/procedures/code-index-audit.md +83 -13
  214. package/providers/context/resources/procedures/document-capture.md +9 -0
  215. package/providers/context/resources/procedures/document-optimization.md +88 -21
  216. package/providers/context/resources/procedures/document-revision.md +11 -6
  217. package/providers/context/resources/procedures/knowledge-review.md +4 -1
  218. package/providers/context/resources/procedures/source-boundary.md +20 -8
  219. package/providers/context/resources/semantic/align/structure-planning.md +4 -4
  220. package/providers/context/resources/semantic/code-index/classification.md +8 -5
  221. package/providers/context/resources/semantic/code-index/templates/adapter.md +9 -0
  222. package/providers/context/resources/semantic/code-index/templates/contracts-and-chains.md +81 -0
  223. package/providers/context/resources/views/resolved-indexer-instructions.yaml +23 -0
  224. package/providers/context/schemas/document-optimization-decisions.schema.json +29 -6
  225. package/providers/context/schemas/indexer-agent-step-input.schema.json +30 -0
  226. package/providers/context/schemas/indexer-agent-step-result.schema.json +47 -0
  227. package/providers/context/schemas/indexer-candidate-compile-input.schema.json +57 -0
  228. package/providers/context/schemas/indexer-candidate-compile-output.schema.json +38 -0
  229. package/providers/context/schemas/indexer-candidate-review-readiness-input.schema.json +46 -0
  230. package/providers/context/schemas/indexer-candidate-review-readiness-output.schema.json +104 -0
  231. package/providers/context/schemas/indexer-contract-overlay-authorization-input.schema.json +32 -0
  232. package/providers/context/schemas/indexer-contract-overlay-authorization-result.schema.json +121 -0
  233. package/providers/context/schemas/indexer-contract-overlay-validation-input.schema.json +90 -0
  234. package/providers/context/schemas/indexer-contract-overlay-validation-result.schema.json +158 -0
  235. package/providers/context/schemas/indexer-customization-project-preparation-result.schema.json +44 -0
  236. package/providers/context/schemas/indexer-customization-proposal-draft.schema.json +83 -0
  237. package/providers/context/schemas/indexer-customization-validation-result.schema.json +36 -0
  238. package/providers/context/schemas/indexer-dependency-authorization-input.schema.json +71 -0
  239. package/providers/context/schemas/indexer-dependency-authorization-result.schema.json +138 -0
  240. package/providers/context/schemas/indexer-incremental-impact-input.schema.json +31 -0
  241. package/providers/context/schemas/indexer-incremental-impact-output.schema.json +52 -0
  242. package/providers/context/schemas/indexer-main-lifecycle-input.schema.json +187 -0
  243. package/providers/context/schemas/indexer-main-lifecycle-output.schema.json +180 -0
  244. package/providers/context/schemas/indexer-markdown-provider-capture-input.schema.json +17 -0
  245. package/providers/context/schemas/indexer-markdown-provider-capture-output.schema.json +54 -0
  246. package/providers/context/schemas/indexer-markdown-provider-validation-input.schema.json +34 -0
  247. package/providers/context/schemas/indexer-markdown-provider-validation-output.schema.json +75 -0
  248. package/providers/context/schemas/indexer-material-answer-lifecycle-input.schema.json +90 -0
  249. package/providers/context/schemas/indexer-material-answer-lifecycle-output.schema.json +80 -0
  250. package/providers/context/schemas/indexer-material-answer-review-inspection-input.schema.json +32 -0
  251. package/providers/context/schemas/indexer-material-answer-review-inspection-output.schema.json +32 -0
  252. package/providers/context/schemas/indexer-material-answer-review-resolution-input.schema.json +19 -0
  253. package/providers/context/schemas/indexer-material-answer-review-resolution-output.schema.json +87 -0
  254. package/providers/context/schemas/indexer-material-gap-lifecycle-input.schema.json +86 -0
  255. package/providers/context/schemas/indexer-material-gap-lifecycle-output.schema.json +19 -0
  256. package/providers/context/schemas/indexer-materialize-request.schema.json +53 -0
  257. package/providers/context/schemas/indexer-materialized-resource.schema.json +57 -0
  258. package/providers/context/schemas/indexer-overlay-question-amendment.schema.json +13 -0
  259. package/providers/context/schemas/indexer-overlay-question-proposal-input.schema.json +40 -0
  260. package/providers/context/schemas/indexer-overlay-question-rebind-input.schema.json +35 -0
  261. package/providers/context/schemas/indexer-overlay-question-rebind-result.schema.json +25 -0
  262. package/providers/context/schemas/indexer-post-author-fragment-request.schema.json +26 -0
  263. package/providers/context/schemas/indexer-post-author-fragment-result.schema.json +18 -0
  264. package/providers/context/schemas/indexer-post-author-lifecycle-input.schema.json +94 -0
  265. package/providers/context/schemas/indexer-post-author-lifecycle-output.schema.json +72 -0
  266. package/providers/context/schemas/indexer-profile-failure-inspection-input.schema.json +13 -0
  267. package/providers/context/schemas/indexer-profile-failure-inspection-result.schema.json +19 -0
  268. package/providers/context/schemas/indexer-profile-failure-report-input.schema.json +22 -0
  269. package/providers/context/schemas/indexer-profile-failure-report-result.schema.json +49 -0
  270. package/providers/context/schemas/indexer-profile-override-decision.schema.json +20 -0
  271. package/providers/context/schemas/indexer-profile-override-result.schema.json +49 -0
  272. package/providers/context/schemas/indexer-profile-revision-agent-input.schema.json +18 -0
  273. package/providers/context/schemas/indexer-profile-revision-record-input.schema.json +31 -0
  274. package/providers/context/schemas/indexer-profile-revision-record-result.schema.json +45 -0
  275. package/providers/context/schemas/indexer-program-execution-authorization-input.schema.json +145 -0
  276. package/providers/context/schemas/indexer-program-execution-authorization-result.schema.json +60 -0
  277. package/providers/context/schemas/indexer-project-action-result.schema.json +19 -0
  278. package/providers/context/schemas/indexer-project-gate-input.schema.json +100 -0
  279. package/providers/context/schemas/indexer-project-observation-input.schema.json +16 -0
  280. package/providers/context/schemas/indexer-project-observation-result.schema.json +42 -0
  281. package/providers/context/schemas/indexer-provider-route-input.schema.json +55 -0
  282. package/providers/context/schemas/indexer-provider-route-report.schema.json +188 -0
  283. package/providers/context/schemas/indexer-requirement-confirmation-input.schema.json +27 -0
  284. package/providers/context/schemas/indexer-requirement-confirmation-output.schema.json +24 -0
  285. package/providers/context/schemas/indexer-result-reconciliation-input.schema.json +59 -0
  286. package/providers/context/schemas/indexer-result-reconciliation-output.schema.json +43 -0
  287. package/providers/context/schemas/indexer-selection-proposal-input.schema.json +12 -0
  288. package/providers/context/schemas/indexer-selection-proposal-validation.schema.json +23 -0
  289. package/providers/context/schemas/indexer-subject-reidentification-input.schema.json +37 -0
  290. package/providers/context/schemas/indexer-subject-reidentification-output.schema.json +31 -0
  291. package/providers/context/schemas/source-batch-input.schema.json +18 -3
  292. package/providers/context/skills/configure-indexer-providers/SKILL.md +58 -0
  293. package/providers/context/skills/prepare-indexer-customization-project/SKILL.md +31 -0
  294. package/providers/context/skills/propose-indexer-customization/SKILL.md +40 -0
  295. package/providers/context/skills/revise-index-output/SKILL.md +12 -0
  296. package/providers/context/skills/run-indexer-agent-step/SKILL.md +20 -0
  297. package/providers/context/skills/run-indexer-post-author-composer/SKILL.md +21 -0
@@ -0,0 +1,210 @@
1
+ [
2
+ {
3
+ "protocol": "context.indexer.authoring-fixture/v1",
4
+ "id": "anonymous-monorepo-container",
5
+ "anonymized": true,
6
+ "profile": "monorepo-container",
7
+ "source_role": "authoritative-source",
8
+ "logical_unit_id": "semantic-subject",
9
+ "logical_unit_ref": "node:anonymous-monorepo-container",
10
+ "canonical_facts": { "target": { "eligible": true } },
11
+ "artifact_policy_variant": "standard",
12
+ "artifacts": [{ "artifact_id": "content", "artifact_kind": "content", "purpose": "required", "reader_question_refs": ["question:failure-recovery"], "evidence_refs": ["evidence:anonymous-monorepo-container-source"] }],
13
+ "evidence_refs": ["evidence:anonymous-monorepo-container-source"]
14
+ },
15
+ {
16
+ "protocol": "context.indexer.authoring-fixture/v1",
17
+ "id": "anonymous-web-application",
18
+ "anonymized": true,
19
+ "profile": "web-application",
20
+ "source_role": "authoritative-source",
21
+ "logical_unit_id": "semantic-subject",
22
+ "logical_unit_ref": "node:anonymous-web-application",
23
+ "canonical_facts": { "target": { "eligible": true } },
24
+ "artifact_policy_variant": "standard",
25
+ "artifacts": [{ "artifact_id": "content", "artifact_kind": "content", "purpose": "required", "reader_question_refs": ["question:failure-recovery"], "evidence_refs": ["evidence:anonymous-web-application-source"] }],
26
+ "evidence_refs": ["evidence:anonymous-web-application-source"]
27
+ },
28
+ {
29
+ "protocol": "context.indexer.authoring-fixture/v1",
30
+ "id": "anonymous-component-library",
31
+ "anonymized": true,
32
+ "profile": "component-library",
33
+ "source_role": "authoritative-source",
34
+ "logical_unit_id": "semantic-subject",
35
+ "logical_unit_ref": "node:anonymous-component-library",
36
+ "canonical_facts": { "target": { "eligible": true } },
37
+ "artifact_policy_variant": "standard",
38
+ "artifacts": [{ "artifact_id": "content", "artifact_kind": "content", "purpose": "required", "reader_question_refs": ["question:failure-recovery"], "evidence_refs": ["evidence:anonymous-component-library-source"] }],
39
+ "evidence_refs": ["evidence:anonymous-component-library-source"]
40
+ },
41
+ {
42
+ "protocol": "context.indexer.authoring-fixture/v1",
43
+ "id": "anonymous-sdk-library",
44
+ "anonymized": true,
45
+ "profile": "sdk-library",
46
+ "source_role": "authoritative-source",
47
+ "logical_unit_id": "semantic-subject",
48
+ "logical_unit_ref": "node:anonymous-sdk-library",
49
+ "canonical_facts": { "target": { "eligible": true } },
50
+ "artifact_policy_variant": "standard",
51
+ "artifacts": [{ "artifact_id": "content", "artifact_kind": "content", "purpose": "required", "reader_question_refs": ["question:failure-recovery"], "evidence_refs": ["evidence:anonymous-sdk-library-source"] }],
52
+ "evidence_refs": ["evidence:anonymous-sdk-library-source"]
53
+ },
54
+ {
55
+ "protocol": "context.indexer.authoring-fixture/v1",
56
+ "id": "anonymous-cli-tool",
57
+ "anonymized": true,
58
+ "profile": "cli-tool",
59
+ "source_role": "authoritative-source",
60
+ "logical_unit_id": "semantic-subject",
61
+ "logical_unit_ref": "node:anonymous-cli-tool",
62
+ "canonical_facts": { "target": { "eligible": true } },
63
+ "artifact_policy_variant": "standard",
64
+ "artifacts": [{ "artifact_id": "content", "artifact_kind": "content", "purpose": "required", "reader_question_refs": ["question:failure-recovery"], "evidence_refs": ["evidence:anonymous-cli-tool-source"] }],
65
+ "evidence_refs": ["evidence:anonymous-cli-tool-source"]
66
+ },
67
+ {
68
+ "protocol": "context.indexer.authoring-fixture/v1",
69
+ "id": "anonymous-plugin-extension",
70
+ "anonymized": true,
71
+ "profile": "plugin-extension",
72
+ "source_role": "authoritative-source",
73
+ "logical_unit_id": "semantic-subject",
74
+ "logical_unit_ref": "node:anonymous-plugin-extension",
75
+ "canonical_facts": { "target": { "eligible": true } },
76
+ "artifact_policy_variant": "standard",
77
+ "artifacts": [{ "artifact_id": "content", "artifact_kind": "content", "purpose": "required", "reader_question_refs": ["question:failure-recovery"], "evidence_refs": ["evidence:anonymous-plugin-extension-source"] }],
78
+ "evidence_refs": ["evidence:anonymous-plugin-extension-source"]
79
+ },
80
+ {
81
+ "protocol": "context.indexer.authoring-fixture/v1",
82
+ "id": "anonymous-api-service",
83
+ "anonymized": true,
84
+ "profile": "api-service",
85
+ "source_role": "authoritative-source",
86
+ "logical_unit_id": "semantic-subject",
87
+ "logical_unit_ref": "node:anonymous-api-service",
88
+ "canonical_facts": { "target": { "eligible": true } },
89
+ "artifact_policy_variant": "standard",
90
+ "artifacts": [{ "artifact_id": "content", "artifact_kind": "content", "purpose": "required", "reader_question_refs": ["question:failure-recovery"], "evidence_refs": ["evidence:anonymous-api-service-source"] }],
91
+ "evidence_refs": ["evidence:anonymous-api-service-source"]
92
+ },
93
+ {
94
+ "protocol": "context.indexer.authoring-fixture/v1",
95
+ "id": "anonymous-gateway-facade",
96
+ "anonymized": true,
97
+ "profile": "gateway-facade",
98
+ "source_role": "authoritative-source",
99
+ "logical_unit_id": "semantic-subject",
100
+ "logical_unit_ref": "node:anonymous-gateway-facade",
101
+ "canonical_facts": { "target": { "eligible": true } },
102
+ "artifact_policy_variant": "standard",
103
+ "artifacts": [{ "artifact_id": "content", "artifact_kind": "content", "purpose": "required", "reader_question_refs": ["question:failure-recovery"], "evidence_refs": ["evidence:anonymous-gateway-facade-source"] }],
104
+ "evidence_refs": ["evidence:anonymous-gateway-facade-source"]
105
+ },
106
+ {
107
+ "protocol": "context.indexer.authoring-fixture/v1",
108
+ "id": "anonymous-domain-service",
109
+ "anonymized": true,
110
+ "profile": "domain-service",
111
+ "source_role": "authoritative-source",
112
+ "logical_unit_id": "semantic-subject",
113
+ "logical_unit_ref": "node:anonymous-domain-service",
114
+ "canonical_facts": { "target": { "eligible": true } },
115
+ "artifact_policy_variant": "standard",
116
+ "artifacts": [{ "artifact_id": "content", "artifact_kind": "content", "purpose": "required", "reader_question_refs": ["question:failure-recovery"], "evidence_refs": ["evidence:anonymous-domain-service-source"] }],
117
+ "evidence_refs": ["evidence:anonymous-domain-service-source"]
118
+ },
119
+ {
120
+ "protocol": "context.indexer.authoring-fixture/v1",
121
+ "id": "anonymous-background-runtime",
122
+ "anonymized": true,
123
+ "profile": "background-runtime",
124
+ "source_role": "authoritative-source",
125
+ "logical_unit_id": "semantic-subject",
126
+ "logical_unit_ref": "node:anonymous-background-runtime",
127
+ "canonical_facts": { "target": { "eligible": true } },
128
+ "artifact_policy_variant": "standard",
129
+ "artifacts": [{ "artifact_id": "content", "artifact_kind": "content", "purpose": "required", "reader_question_refs": ["question:failure-recovery"], "evidence_refs": ["evidence:anonymous-background-runtime-source"] }],
130
+ "evidence_refs": ["evidence:anonymous-background-runtime-source"]
131
+ },
132
+ {
133
+ "protocol": "context.indexer.authoring-fixture/v1",
134
+ "id": "anonymous-event-consumer",
135
+ "anonymized": true,
136
+ "profile": "event-consumer",
137
+ "source_role": "authoritative-source",
138
+ "logical_unit_id": "semantic-subject",
139
+ "logical_unit_ref": "node:anonymous-event-consumer",
140
+ "canonical_facts": { "target": { "eligible": true } },
141
+ "artifact_policy_variant": "standard",
142
+ "artifacts": [{ "artifact_id": "content", "artifact_kind": "content", "purpose": "required", "reader_question_refs": ["question:failure-recovery"], "evidence_refs": ["evidence:anonymous-event-consumer-source"] }],
143
+ "evidence_refs": ["evidence:anonymous-event-consumer-source"]
144
+ },
145
+ {
146
+ "protocol": "context.indexer.authoring-fixture/v1",
147
+ "id": "anonymous-data-sync-reconciliation",
148
+ "anonymized": true,
149
+ "profile": "data-sync-reconciliation",
150
+ "source_role": "authoritative-source",
151
+ "logical_unit_id": "semantic-subject",
152
+ "logical_unit_ref": "node:anonymous-data-sync-reconciliation",
153
+ "canonical_facts": { "target": { "eligible": true } },
154
+ "artifact_policy_variant": "standard",
155
+ "artifacts": [{ "artifact_id": "content", "artifact_kind": "content", "purpose": "required", "reader_question_refs": ["question:failure-recovery"], "evidence_refs": ["evidence:anonymous-data-sync-reconciliation-source"] }],
156
+ "evidence_refs": ["evidence:anonymous-data-sync-reconciliation-source"]
157
+ },
158
+ {
159
+ "protocol": "context.indexer.authoring-fixture/v1",
160
+ "id": "anonymous-storage-repository",
161
+ "anonymized": true,
162
+ "profile": "storage-repository",
163
+ "source_role": "authoritative-source",
164
+ "logical_unit_id": "semantic-subject",
165
+ "logical_unit_ref": "node:anonymous-storage-repository",
166
+ "canonical_facts": { "target": { "eligible": true } },
167
+ "artifact_policy_variant": "standard",
168
+ "artifacts": [{ "artifact_id": "content", "artifact_kind": "content", "purpose": "required", "reader_question_refs": ["question:failure-recovery"], "evidence_refs": ["evidence:anonymous-storage-repository-source"] }],
169
+ "evidence_refs": ["evidence:anonymous-storage-repository-source"]
170
+ },
171
+ {
172
+ "protocol": "context.indexer.authoring-fixture/v1",
173
+ "id": "anonymous-adapter-integration",
174
+ "anonymized": true,
175
+ "profile": "adapter-integration",
176
+ "source_role": "authoritative-source",
177
+ "logical_unit_id": "semantic-subject",
178
+ "logical_unit_ref": "node:anonymous-adapter-integration",
179
+ "canonical_facts": { "target": { "eligible": true } },
180
+ "artifact_policy_variant": "standard",
181
+ "artifacts": [{ "artifact_id": "content", "artifact_kind": "content", "purpose": "required", "reader_question_refs": ["question:failure-recovery"], "evidence_refs": ["evidence:anonymous-adapter-integration-source"] }],
182
+ "evidence_refs": ["evidence:anonymous-adapter-integration-source"]
183
+ },
184
+ {
185
+ "protocol": "context.indexer.authoring-fixture/v1",
186
+ "id": "anonymous-contract-source",
187
+ "anonymized": true,
188
+ "profile": "contract-source",
189
+ "source_role": "authoritative-source",
190
+ "logical_unit_id": "semantic-subject",
191
+ "logical_unit_ref": "node:anonymous-contract-source",
192
+ "canonical_facts": { "target": { "eligible": true } },
193
+ "artifact_policy_variant": "standard",
194
+ "artifacts": [{ "artifact_id": "content", "artifact_kind": "content", "purpose": "required", "reader_question_refs": ["question:failure-recovery"], "evidence_refs": ["evidence:anonymous-contract-source-source"] }],
195
+ "evidence_refs": ["evidence:anonymous-contract-source-source"]
196
+ },
197
+ {
198
+ "protocol": "context.indexer.authoring-fixture/v1",
199
+ "id": "anonymous-derived-generated-source",
200
+ "anonymized": true,
201
+ "profile": "derived-generated-source",
202
+ "source_role": "authoritative-source",
203
+ "logical_unit_id": "semantic-subject",
204
+ "logical_unit_ref": "node:anonymous-derived-generated-source",
205
+ "canonical_facts": { "target": { "eligible": true } },
206
+ "artifact_policy_variant": "standard",
207
+ "artifacts": [{ "artifact_id": "content", "artifact_kind": "content", "purpose": "required", "reader_question_refs": ["question:failure-recovery"], "evidence_refs": ["evidence:anonymous-derived-generated-source-source"] }],
208
+ "evidence_refs": ["evidence:anonymous-derived-generated-source-source"]
209
+ }
210
+ ]
@@ -0,0 +1,122 @@
1
+ {
2
+ "protocol": "context.indexer.community-scenario-fixture-set/v1",
3
+ "anonymized": true,
4
+ "positive_cases": [
5
+ {
6
+ "scenario_id": "rpc-query-catalog",
7
+ "authoring_fixture_ref": "anonymous-api-service",
8
+ "member_kind": "protocol-method",
9
+ "expected_inventory_disposition": "owned",
10
+ "expected_projection_disposition": "catalog-only",
11
+ "expected_artifact_behavior": "no-standalone-artifact",
12
+ "expected_bundle_artifact_ids": ["content"]
13
+ },
14
+ {
15
+ "scenario_id": "http-handler-flow",
16
+ "authoring_fixture_ref": "anonymous-api-service",
17
+ "member_kind": "handler",
18
+ "expected_inventory_disposition": "owned",
19
+ "expected_projection_disposition": "detailed",
20
+ "expected_artifact_behavior": "evidence-backed-content",
21
+ "expected_bundle_artifact_ids": ["content"]
22
+ },
23
+ {
24
+ "scenario_id": "gateway-handoff",
25
+ "authoring_fixture_ref": "anonymous-gateway-facade",
26
+ "member_kind": "downstream-callsite",
27
+ "expected_inventory_disposition": "owned",
28
+ "expected_projection_disposition": "detailed",
29
+ "expected_artifact_behavior": "evidence-backed-content",
30
+ "expected_bundle_artifact_ids": ["content"]
31
+ },
32
+ {
33
+ "scenario_id": "event-flow",
34
+ "authoring_fixture_ref": "anonymous-event-consumer",
35
+ "member_kind": "event-branch",
36
+ "expected_inventory_disposition": "owned",
37
+ "expected_projection_disposition": "detailed",
38
+ "expected_artifact_behavior": "evidence-backed-content",
39
+ "expected_bundle_artifact_ids": ["content"]
40
+ },
41
+ {
42
+ "scenario_id": "function-runtime",
43
+ "authoring_fixture_ref": "anonymous-background-runtime",
44
+ "member_kind": "event-branch",
45
+ "expected_inventory_disposition": "owned",
46
+ "expected_projection_disposition": "detailed",
47
+ "expected_artifact_behavior": "evidence-backed-content",
48
+ "expected_bundle_artifact_ids": ["content"]
49
+ },
50
+ {
51
+ "scenario_id": "scheduled-worker",
52
+ "authoring_fixture_ref": "anonymous-background-runtime",
53
+ "member_kind": "timer-branch",
54
+ "expected_inventory_disposition": "owned",
55
+ "expected_projection_disposition": "detailed",
56
+ "expected_artifact_behavior": "evidence-backed-content",
57
+ "expected_bundle_artifact_ids": ["content"]
58
+ },
59
+ {
60
+ "scenario_id": "reconciliation-flow",
61
+ "authoring_fixture_ref": "anonymous-data-sync-reconciliation",
62
+ "member_kind": "state-transition",
63
+ "expected_inventory_disposition": "owned",
64
+ "expected_projection_disposition": "detailed",
65
+ "expected_artifact_behavior": "evidence-backed-content",
66
+ "expected_bundle_artifact_ids": ["content"]
67
+ },
68
+ {
69
+ "scenario_id": "stateful-service",
70
+ "authoring_fixture_ref": "anonymous-domain-service",
71
+ "member_kind": "state-transition",
72
+ "expected_inventory_disposition": "owned",
73
+ "expected_projection_disposition": "detailed",
74
+ "expected_artifact_behavior": "evidence-backed-content",
75
+ "expected_bundle_artifact_ids": ["content"]
76
+ },
77
+ {
78
+ "scenario_id": "repository-boundary",
79
+ "authoring_fixture_ref": "anonymous-storage-repository",
80
+ "member_kind": "store",
81
+ "expected_inventory_disposition": "owned",
82
+ "expected_projection_disposition": "boundary-only",
83
+ "expected_artifact_behavior": "evidence-backed-content",
84
+ "expected_bundle_artifact_ids": ["content"]
85
+ },
86
+ {
87
+ "scenario_id": "library-capability",
88
+ "authoring_fixture_ref": "anonymous-sdk-library",
89
+ "member_kind": "method",
90
+ "expected_inventory_disposition": "owned",
91
+ "expected_projection_disposition": "capability-group",
92
+ "expected_artifact_behavior": "capability-family-artifact",
93
+ "expected_bundle_artifact_ids": ["content"]
94
+ }
95
+ ],
96
+ "negative_cases": [
97
+ {
98
+ "scenario_id": "complete-page-stale-source",
99
+ "authoring_fixture_ref": "anonymous-api-service",
100
+ "observed_condition": "source-revision-or-locator-drift",
101
+ "expected_outcome": "reject-stale-evidence"
102
+ },
103
+ {
104
+ "scenario_id": "one-method-one-page-inflation",
105
+ "authoring_fixture_ref": "anonymous-api-service",
106
+ "observed_condition": "method-count-equals-artifact-count",
107
+ "expected_outcome": "reject-artifact-inflation"
108
+ },
109
+ {
110
+ "scenario_id": "unresolved-authoring-placeholder",
111
+ "authoring_fixture_ref": "anonymous-background-runtime",
112
+ "observed_condition": "generated-placeholder-remains",
113
+ "expected_outcome": "block-generated-placeholder"
114
+ },
115
+ {
116
+ "scenario_id": "missing-runtime-platform-fact",
117
+ "authoring_fixture_ref": "anonymous-gateway-facade",
118
+ "observed_condition": "required-runtime-fact-absent",
119
+ "expected_outcome": "request-material"
120
+ }
121
+ ]
122
+ }
@@ -0,0 +1,20 @@
1
+ ---
2
+ name: context-markdown-indexer
3
+ description: Context-managed Provider for evidence-bound document knowledge. Use only when the Context Indexer lifecycle selects this Provider, not as a standalone workflow.
4
+ metadata:
5
+ context-role: "indexer-provider"
6
+ context-public-entry: "false"
7
+ context-provider-version: "1.0.0"
8
+ ---
9
+
10
+ # Context Markdown Indexer
11
+
12
+ Provider authors must satisfy
13
+ `node_modules/@c4a/context/docs/guides/markdown-indexer-skill-authoring.md` and
14
+ the shared Provider/customization guide before publishing or extending this
15
+ Skill. Those documents are authoring contracts; the current captured evidence,
16
+ workset and Route remain execution authority.
17
+
18
+ Use this Provider only through the Context Indexer lifecycle. Context supplies exact captured sources, profile authority, worksets, and evidence views; the Provider does not read arbitrary workspace paths or write approved knowledge directly.
19
+
20
+ The machine-readable authority is `context-indexer.yaml`. Context materializes the detailed guidance only after verifying this Bundle's release identity and complete file ledger.
@@ -0,0 +1,147 @@
1
+ protocol: context.indexer.provider/v1
2
+ id: context-markdown-indexer
3
+ version: 1.0.0
4
+ domains: [markdown]
5
+
6
+ activation:
7
+ target_kinds: [document, document-set, documentation-site]
8
+ required_signals:
9
+ - id: captured-document
10
+ description: The registered target scope contains a current captured Markdown or structured document snapshot.
11
+ supporting_signals:
12
+ - id: explicit-audience
13
+ description: The source identifies a reader, task, policy, decision, procedure, or reference boundary.
14
+ - id: cross-source-evidence
15
+ description: The readable scope contains current corroborating material for unresolved claims.
16
+ negative_signals:
17
+ - id: transient-conversation
18
+ description: The material is an unapproved transient conversation without a durable source identity.
19
+ agent_questions:
20
+ - Which reader goal and authority apply to each source-backed Section?
21
+
22
+ provides:
23
+ profiles:
24
+ - domain-reference
25
+ - product-requirements
26
+ - technical-guide
27
+ - user-and-developer-guide
28
+ - public-api-reference
29
+ - runbook
30
+ - faq-support
31
+ - standard-policy
32
+ - decision-record
33
+ - incident-review
34
+ - test-validation
35
+ - release-migration-guide
36
+ - documentation-site
37
+ operations:
38
+ - id: main-index
39
+ consumes: context.indexer.main-workset/v1
40
+ produces: context.indexer.main-result/v1
41
+ accepts_layer_fragments: [fact-enrichment, template-variables]
42
+ - id: material-answer
43
+ consumes: context.indexer.material-question-workset/v1
44
+ produces: context.indexer.material-answer-result/v1
45
+ supported_evidence_kinds: [contract, configuration, documentation, runbook, decision-record, test-result, runtime-observation, tool-snapshot]
46
+ accepts_layer_fragments: [fact-enrichment]
47
+ source_roles: [authoritative-document, supporting-document, operational-document, decision-record]
48
+ logical_units:
49
+ - id: reader-subject
50
+ identity: canonical-subject-key
51
+ artifacts:
52
+ recommended: [content]
53
+ supported_policy_variants: [standard]
54
+
55
+ provider:
56
+ instructions:
57
+ - path: references/indexer.md
58
+ profiles:
59
+ - domain-reference
60
+ - product-requirements
61
+ - technical-guide
62
+ - user-and-developer-guide
63
+ - public-api-reference
64
+ - runbook
65
+ - faq-support
66
+ - standard-policy
67
+ - decision-record
68
+ - incident-review
69
+ - test-validation
70
+ - release-migration-guide
71
+ - documentation-site
72
+ - path: references/classification.md
73
+ profiles:
74
+ - domain-reference
75
+ - product-requirements
76
+ - technical-guide
77
+ - user-and-developer-guide
78
+ - public-api-reference
79
+ - runbook
80
+ - faq-support
81
+ - standard-policy
82
+ - decision-record
83
+ - incident-review
84
+ - test-validation
85
+ - release-migration-guide
86
+ - documentation-site
87
+ - path: references/structure-and-artifacts.md
88
+ profiles:
89
+ - domain-reference
90
+ - product-requirements
91
+ - technical-guide
92
+ - user-and-developer-guide
93
+ - public-api-reference
94
+ - runbook
95
+ - faq-support
96
+ - standard-policy
97
+ - decision-record
98
+ - incident-review
99
+ - test-validation
100
+ - release-migration-guide
101
+ - documentation-site
102
+ - path: references/semantic-planning.md
103
+ profiles:
104
+ - domain-reference
105
+ - product-requirements
106
+ - technical-guide
107
+ - user-and-developer-guide
108
+ - public-api-reference
109
+ - runbook
110
+ - faq-support
111
+ - standard-policy
112
+ - decision-record
113
+ - incident-review
114
+ - test-validation
115
+ - release-migration-guide
116
+ - documentation-site
117
+ - path: references/editorial-policy.md
118
+ profiles:
119
+ - domain-reference
120
+ - product-requirements
121
+ - technical-guide
122
+ - user-and-developer-guide
123
+ - public-api-reference
124
+ - runbook
125
+ - faq-support
126
+ - standard-policy
127
+ - decision-record
128
+ - incident-review
129
+ - test-validation
130
+ - release-migration-guide
131
+ - documentation-site
132
+ forbidden_fallbacks: [whole-document-single-classification, unsupported-section-publication, inferred-authority]
133
+ completion_checks: [section-disposition-closure, source-authority-binding, material-gap-closure]
134
+
135
+ customization:
136
+ supports: [config, instructions-append, template-override, program-extend]
137
+
138
+ quality_guidance:
139
+ metric_ids:
140
+ - inventory-disposition-coverage
141
+ - duplicated-fact-target-ratio
142
+ - narrative-enumeration-ratio
143
+ - normalized-template-repetition-ratio
144
+ - implementation-body-ratio
145
+ - reference-only-reader-targets
146
+ - unresolved-ordinal-partitions
147
+ - discretionary-artifacts-per-logical-unit
@@ -0,0 +1,63 @@
1
+ # Section classification and projection intent
2
+
3
+ Classify evidence at Section granularity. A profile describes the source family;
4
+ it does not force one whole document into one reader purpose. For every emitted
5
+ Section, choose the semantic `document_kind`, `reader_goal`, and
6
+ `artifact_kind` before grouping Sections into Artifacts.
7
+
8
+ Use body evidence, source authority, audience, and the reader task. File names,
9
+ URLs, headings, navigation labels, and the selected profile are hints, not proof
10
+ that every Section has the same intent. Do not infer authority from polished
11
+ language or an official-looking path.
12
+
13
+ ## Canonical projection vocabulary
14
+
15
+ The current community Markdown profiles use the following semantic intents.
16
+ The CLI profile contract owns their stable storage projection; this table does
17
+ not authorize a collection or output path.
18
+
19
+ | Profile or Section family | Use when the evidence primarily… | `document_kind` | `reader_goal` | `artifact_kind` |
20
+ | --- | --- | --- | --- | --- |
21
+ | `domain-reference` | defines a durable domain, vocabulary, boundary, or business concept | `domain-reference` | `understand-domain` | `content` |
22
+ | `product-requirements` | states product intent, behavior, scope, actors, or acceptance needs | `product-requirements` | `understand-product-intent` | `content` |
23
+ | `technical-guide` | explains architecture, runtime behavior, interfaces, or design constraints | `technical-guide` | `understand-technical-design` | `content` |
24
+ | user/developer product guidance | explains a user-visible capability or product behavior | `product-requirements` | `understand-product-intent` | `content` |
25
+ | user/developer technical guidance | explains implementation-facing design or integration context | `technical-guide` | `understand-technical-design` | `content` |
26
+ | user/developer task guidance | gives a repeatable task, setup, operation, or troubleshooting sequence | `task-guide` | `complete-reader-task` | `content` |
27
+ | public API contract | supports lookup of public operations, fields, compatibility, or examples | `public-api-reference` | `look-up-public-contract` | `content` |
28
+ | public contract policy | states normative compatibility or usage constraints around a public contract | `public-contract-policy` | `follow-public-contract-policy` | `content` |
29
+ | `runbook` | directs operation, diagnosis, mitigation, recovery, or rollback | `runbook` | `operate-or-recover-system` | `content` |
30
+ | `faq-support` | answers a durable reader question with reusable evidence | `faq-support` | `resolve-reader-question` | `content` |
31
+ | `standard-policy` | defines a stable rule, standard, policy, or compliance boundary | `standard-policy` | `follow-standard-or-policy` | `content` |
32
+ | `decision-record` | records alternatives, a choice, rationale, and consequences | `decision-record` | `understand-decision-and-tradeoffs` | `content` |
33
+ | `incident-review` | records impact, timeline, cause, response, and follow-up learning | `incident-review` | `learn-from-incident` | `content` |
34
+ | `test-validation` | defines or reports verification, acceptance, or observed results | `test-validation` | `verify-behavior-or-acceptance` | `content` |
35
+ | release explanation | explains what changed, compatibility, or release impact | `release-guide` | `understand-release-change` | `content` |
36
+ | migration procedure | tells a reader how to migrate, verify, and recover | `migration-guide` | `complete-migration` | `content` |
37
+
38
+ `documentation-site` is an umbrella router. Apply the matching row above to
39
+ each source-backed Section; do not invent a site-wide projection intent and do
40
+ not collapse a multi-document site to one classification.
41
+
42
+ ## Classification order
43
+
44
+ 1. Establish the Section's current source authority and audience from the
45
+ authorized evidence view.
46
+ 2. State the concrete question the Section enables a reader to answer or task
47
+ it enables them to complete.
48
+ 3. Choose the narrowest matching `document_kind` and `reader_goal` pair from
49
+ the current profile contract.
50
+ 4. Use `artifact_kind: content` for the current community Markdown Bundle. Do
51
+ not invent a specialized Artifact kind unless the supplied profile contract
52
+ explicitly registers it.
53
+ 5. Return the intent on every actual or template-projected Section. Do not put
54
+ a collection, directory, filename, or package root in the Result.
55
+
56
+ When a Section mixes multiple reader tasks, split it along continuous evidence
57
+ boundaries. Keep one Section only when the material forms one coherent answer
58
+ for one reader goal. A heading change alone does not require a split, and a
59
+ shared heading does not justify combining unrelated tasks.
60
+
61
+ If no registered intent fits, return a material/capability disposition instead
62
+ of selecting the nearest label. Unsupported or authority-ambiguous material
63
+ must not become a reader Artifact.