@c4a/context-cli 0.6.1 → 0.6.3

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 (246) hide show
  1. package/README.md +77 -12
  2. package/README.zh-CN.md +202 -0
  3. package/cli.js +74066 -45247
  4. package/docs/context-debug-event-v1.schema.json +29 -0
  5. package/docs/context-debug-replay-v1.schema.json +33 -0
  6. package/docs/debug-tracing.md +86 -0
  7. package/docs/quickstart.md +23 -5
  8. package/package.json +8 -3
  9. package/plugins/README.md +60 -118
  10. package/plugins/README_CN.md +51 -102
  11. package/plugins/VERSION +1 -1
  12. package/plugins/claude/.claude-plugin/plugin.json +1 -1
  13. package/plugins/claude/commands/continue.md +61 -10
  14. package/plugins/claude/commands/init.md +26 -11
  15. package/plugins/codex/.codex-plugin/plugin.json +2 -2
  16. package/plugins/codex/skills/continue/SKILL.md +61 -11
  17. package/plugins/codex/skills/init/SKILL.md +28 -14
  18. package/plugins/cursor/.cursor-plugin/plugin.json +2 -3
  19. package/plugins/cursor/README.md +2 -2
  20. package/plugins/cursor/commands/context-continue.md +61 -10
  21. package/plugins/cursor/commands/context-init.md +26 -11
  22. package/plugins/skills/context-continue/SKILL.md +61 -11
  23. package/plugins/skills/context-init/SKILL.md +28 -14
  24. package/providers/context/actions/accept-package-templates.yaml +5 -0
  25. package/providers/context/actions/align-next.yaml +6 -0
  26. package/providers/context/actions/apply-managed-review.yaml +5 -0
  27. package/providers/context/actions/apply-structure-confirmation.yaml +5 -0
  28. package/providers/context/actions/build-next.yaml +5 -0
  29. package/providers/context/actions/capture-next.yaml +5 -0
  30. package/providers/context/actions/close-approved-knowledge.yaml +5 -0
  31. package/providers/context/actions/compile-next.yaml +5 -0
  32. package/providers/context/actions/configure-code-extraction.yaml +5 -0
  33. package/providers/context/actions/configure-document-capture.yaml +5 -0
  34. package/providers/context/actions/configure-package-output.yaml +5 -0
  35. package/providers/context/actions/configure-prose-lifecycle.yaml +5 -0
  36. package/providers/context/actions/extract-next.yaml +5 -0
  37. package/providers/context/actions/inspect-document-classification.yaml +5 -0
  38. package/providers/context/actions/inspect-repository-recovery.yaml +6 -0
  39. package/providers/context/actions/inspect-review.yaml +5 -0
  40. package/providers/context/actions/inspect-structure.yaml +5 -0
  41. package/providers/context/actions/maintain-evidence.yaml +6 -0
  42. package/providers/context/actions/materialize-context-view.yaml +8 -0
  43. package/providers/context/actions/reconcile-review-identities.yaml +5 -0
  44. package/providers/context/actions/register-source-batch.yaml +7 -0
  45. package/providers/context/actions/repair-project-entry.yaml +5 -0
  46. package/providers/context/actions/repair-verification.yaml +5 -0
  47. package/providers/context/actions/repair-workspace-state.yaml +5 -0
  48. package/providers/context/actions/restore-repository-sources.yaml +7 -0
  49. package/providers/context/codes.yaml +41 -0
  50. package/providers/context/graphs/workspace.yaml +536 -0
  51. package/providers/context/manifest.json +700 -0
  52. package/providers/context/provider.yaml +12 -0
  53. package/providers/context/resources/diagnostics/projection-stale.md +13 -0
  54. package/providers/context/resources/diagnostics/verification.md +21 -0
  55. package/providers/context/resources/diagnostics/workspace-state.md +27 -0
  56. package/providers/context/resources/dialogue/code-extraction.md +34 -0
  57. package/providers/context/resources/dialogue/document-capture.md +29 -0
  58. package/providers/context/resources/dialogue/document-classification.md +33 -0
  59. package/providers/context/resources/dialogue/evidence-maintenance.md +26 -0
  60. package/providers/context/resources/dialogue/human-gates.md +34 -0
  61. package/providers/context/resources/dialogue/knowledge-review.md +27 -0
  62. package/providers/context/resources/dialogue/package-output.md +30 -0
  63. package/providers/context/resources/dialogue/repository-source-recovery.md +23 -0
  64. package/providers/context/resources/dialogue/source-boundary.md +29 -0
  65. package/providers/context/resources/dialogue/structure-confirmation.md +44 -0
  66. package/providers/context/resources/manuals/guides/lark-resources.md +121 -0
  67. package/providers/context/resources/manuals/guides/package-outputs.md +267 -0
  68. package/providers/context/resources/manuals/reference/package-templates.md +378 -0
  69. package/providers/context/resources/manuals/reference/project-api.md +825 -0
  70. package/providers/context/resources/manuals/reference/template-variables.md +248 -0
  71. package/providers/context/resources/procedures/close-and-build.md +23 -0
  72. package/providers/context/resources/procedures/code-extraction.md +50 -0
  73. package/providers/context/resources/procedures/document-capture.md +49 -0
  74. package/providers/context/resources/procedures/document-classification.md +22 -0
  75. package/providers/context/resources/procedures/evidence-maintenance.md +20 -0
  76. package/providers/context/resources/procedures/knowledge-review.md +34 -0
  77. package/providers/context/resources/procedures/package-output.md +37 -0
  78. package/providers/context/resources/procedures/project-configuration.md +21 -0
  79. package/providers/context/resources/procedures/prose-align.md +68 -0
  80. package/providers/context/resources/procedures/prose-compile.md +23 -0
  81. package/providers/context/resources/procedures/repository-source-recovery.md +43 -0
  82. package/providers/context/resources/procedures/source-boundary.md +48 -0
  83. package/{plugins/codex/skills/continue/references/internal-procedures/skill-source-scope/references/capture-source.md → providers/context/resources/procedures/source-capture-detailed.md} +54 -19
  84. package/providers/context/resources/procedures/verify-and-repair.md +31 -0
  85. package/{plugins/claude/skills/skill-prose-align/references/internal-procedures/structure-planning/references → providers/context/resources/semantic/align}/candidate-resolution.md +17 -2
  86. package/{plugins/claude/skills/skill-prose-align/references/internal-procedures/structure-planning/references → providers/context/resources/semantic/align}/density-profile.md +11 -0
  87. package/{plugins/codex/skills/init/references/internal-procedures/skill-prose-align/references/internal-procedures/structure-planning/references → providers/context/resources/semantic/align}/gates.md +13 -0
  88. package/{plugins/cursor/skills/skill-prose-align/references/internal-procedures → providers/context/resources/semantic/align}/structure-planning.md +62 -12
  89. package/providers/context/resources/semantic/compile/index.md +31 -0
  90. package/providers/context/resources/views/package-current.yaml +6 -0
  91. package/providers/context/resources/views/review-current.yaml +6 -0
  92. package/providers/context/resources/views/source-boundary.yaml +6 -0
  93. package/providers/context/resources/views/source-current.yaml +6 -0
  94. package/providers/context/resources/views/structure-current.yaml +6 -0
  95. package/providers/context/resources/views/verification-current.yaml +6 -0
  96. package/providers/context/resources/views/workspace-current.yaml +6 -0
  97. package/providers/context/schemas/evidence-maintenance-input.schema.json +30 -0
  98. package/providers/context/schemas/prose-structure-batch.schema.json +35 -0
  99. package/providers/context/schemas/repository-source-recovery.schema.json +40 -0
  100. package/providers/context/schemas/source-batch-input.schema.json +189 -0
  101. package/providers/context/scripts/render-context-view.mjs +21 -0
  102. package/plugins/claude/skills/skill-continue-workflow/SKILL.md +0 -235
  103. package/plugins/claude/skills/skill-init-workspace/SKILL.md +0 -74
  104. package/plugins/claude/skills/skill-package-output/SKILL.md +0 -180
  105. package/plugins/claude/skills/skill-prose-align/SKILL.md +0 -322
  106. package/plugins/claude/skills/skill-prose-align/references/internal-procedures/structure-planning/references/gates.md +0 -263
  107. package/plugins/claude/skills/skill-prose-align/references/internal-procedures/structure-planning.md +0 -282
  108. package/plugins/claude/skills/skill-prose-compile/SKILL.md +0 -287
  109. package/plugins/claude/skills/skill-prose-compile/references/internal-procedures/close-gate.md +0 -132
  110. package/plugins/claude/skills/skill-prose-compile/references/internal-procedures/compile-actions/references/action-domain-gates.md +0 -52
  111. package/plugins/claude/skills/skill-prose-compile/references/internal-procedures/compile-actions/references/notes.md +0 -48
  112. package/plugins/claude/skills/skill-prose-compile/references/internal-procedures/compile-actions/references/refresh-and-update.md +0 -85
  113. package/plugins/claude/skills/skill-prose-compile/references/internal-procedures/compile-actions/references/structural-challenges.md +0 -73
  114. package/plugins/claude/skills/skill-prose-compile/references/internal-procedures/compile-actions.md +0 -413
  115. package/plugins/claude/skills/skill-prose-compile/references/internal-procedures/compile-judgment.md +0 -123
  116. package/plugins/claude/skills/skill-prose-compile/references/internal-procedures/semantic-judgment/references/disposition-semantics.md +0 -81
  117. package/plugins/claude/skills/skill-prose-compile/references/internal-procedures/semantic-judgment/references/leakage-and-ownership.md +0 -55
  118. package/plugins/claude/skills/skill-prose-compile/references/internal-procedures/semantic-judgment/references/scope-review-and-omit.md +0 -93
  119. package/plugins/claude/skills/skill-prose-compile/references/internal-procedures/semantic-judgment/references/temporal-and-evidence.md +0 -79
  120. package/plugins/claude/skills/skill-prose-compile/references/internal-procedures/semantic-judgment/references/user-confirmation.md +0 -111
  121. package/plugins/claude/skills/skill-prose-compile/references/internal-procedures/semantic-judgment.md +0 -194
  122. package/plugins/claude/skills/skill-review-gate/SKILL.md +0 -138
  123. package/plugins/claude/skills/skill-source-scope/SKILL.md +0 -525
  124. package/plugins/claude/skills/skill-source-scope/references/capture-source.md +0 -201
  125. package/plugins/codex/skills/continue/references/internal-procedures/skill-continue-workflow.md +0 -235
  126. package/plugins/codex/skills/continue/references/internal-procedures/skill-init-workspace.md +0 -74
  127. package/plugins/codex/skills/continue/references/internal-procedures/skill-package-output.md +0 -180
  128. package/plugins/codex/skills/continue/references/internal-procedures/skill-prose-align/references/internal-procedures/structure-planning/references/candidate-resolution.md +0 -91
  129. package/plugins/codex/skills/continue/references/internal-procedures/skill-prose-align/references/internal-procedures/structure-planning/references/density-profile.md +0 -30
  130. package/plugins/codex/skills/continue/references/internal-procedures/skill-prose-align/references/internal-procedures/structure-planning/references/gates.md +0 -263
  131. package/plugins/codex/skills/continue/references/internal-procedures/skill-prose-align/references/internal-procedures/structure-planning.md +0 -282
  132. package/plugins/codex/skills/continue/references/internal-procedures/skill-prose-align.md +0 -322
  133. package/plugins/codex/skills/continue/references/internal-procedures/skill-prose-compile/references/internal-procedures/close-gate.md +0 -132
  134. package/plugins/codex/skills/continue/references/internal-procedures/skill-prose-compile/references/internal-procedures/compile-actions/references/action-domain-gates.md +0 -52
  135. package/plugins/codex/skills/continue/references/internal-procedures/skill-prose-compile/references/internal-procedures/compile-actions/references/notes.md +0 -48
  136. package/plugins/codex/skills/continue/references/internal-procedures/skill-prose-compile/references/internal-procedures/compile-actions/references/refresh-and-update.md +0 -85
  137. package/plugins/codex/skills/continue/references/internal-procedures/skill-prose-compile/references/internal-procedures/compile-actions/references/structural-challenges.md +0 -73
  138. package/plugins/codex/skills/continue/references/internal-procedures/skill-prose-compile/references/internal-procedures/compile-actions.md +0 -413
  139. package/plugins/codex/skills/continue/references/internal-procedures/skill-prose-compile/references/internal-procedures/compile-judgment.md +0 -123
  140. package/plugins/codex/skills/continue/references/internal-procedures/skill-prose-compile/references/internal-procedures/semantic-judgment/references/disposition-semantics.md +0 -81
  141. package/plugins/codex/skills/continue/references/internal-procedures/skill-prose-compile/references/internal-procedures/semantic-judgment/references/leakage-and-ownership.md +0 -55
  142. package/plugins/codex/skills/continue/references/internal-procedures/skill-prose-compile/references/internal-procedures/semantic-judgment/references/scope-review-and-omit.md +0 -93
  143. package/plugins/codex/skills/continue/references/internal-procedures/skill-prose-compile/references/internal-procedures/semantic-judgment/references/temporal-and-evidence.md +0 -79
  144. package/plugins/codex/skills/continue/references/internal-procedures/skill-prose-compile/references/internal-procedures/semantic-judgment/references/user-confirmation.md +0 -111
  145. package/plugins/codex/skills/continue/references/internal-procedures/skill-prose-compile/references/internal-procedures/semantic-judgment.md +0 -194
  146. package/plugins/codex/skills/continue/references/internal-procedures/skill-prose-compile.md +0 -287
  147. package/plugins/codex/skills/continue/references/internal-procedures/skill-review-gate.md +0 -138
  148. package/plugins/codex/skills/continue/references/internal-procedures/skill-source-scope.md +0 -525
  149. package/plugins/codex/skills/init/references/internal-procedures/skill-continue-workflow.md +0 -235
  150. package/plugins/codex/skills/init/references/internal-procedures/skill-init-workspace.md +0 -74
  151. package/plugins/codex/skills/init/references/internal-procedures/skill-package-output.md +0 -180
  152. package/plugins/codex/skills/init/references/internal-procedures/skill-prose-align/references/internal-procedures/structure-planning/references/candidate-resolution.md +0 -91
  153. package/plugins/codex/skills/init/references/internal-procedures/skill-prose-align/references/internal-procedures/structure-planning/references/density-profile.md +0 -30
  154. package/plugins/codex/skills/init/references/internal-procedures/skill-prose-align/references/internal-procedures/structure-planning.md +0 -282
  155. package/plugins/codex/skills/init/references/internal-procedures/skill-prose-align.md +0 -322
  156. package/plugins/codex/skills/init/references/internal-procedures/skill-prose-compile/references/internal-procedures/close-gate.md +0 -132
  157. package/plugins/codex/skills/init/references/internal-procedures/skill-prose-compile/references/internal-procedures/compile-actions/references/action-domain-gates.md +0 -52
  158. package/plugins/codex/skills/init/references/internal-procedures/skill-prose-compile/references/internal-procedures/compile-actions/references/notes.md +0 -48
  159. package/plugins/codex/skills/init/references/internal-procedures/skill-prose-compile/references/internal-procedures/compile-actions/references/refresh-and-update.md +0 -85
  160. package/plugins/codex/skills/init/references/internal-procedures/skill-prose-compile/references/internal-procedures/compile-actions/references/structural-challenges.md +0 -73
  161. package/plugins/codex/skills/init/references/internal-procedures/skill-prose-compile/references/internal-procedures/compile-actions.md +0 -413
  162. package/plugins/codex/skills/init/references/internal-procedures/skill-prose-compile/references/internal-procedures/compile-judgment.md +0 -123
  163. package/plugins/codex/skills/init/references/internal-procedures/skill-prose-compile/references/internal-procedures/semantic-judgment/references/disposition-semantics.md +0 -81
  164. package/plugins/codex/skills/init/references/internal-procedures/skill-prose-compile/references/internal-procedures/semantic-judgment/references/leakage-and-ownership.md +0 -55
  165. package/plugins/codex/skills/init/references/internal-procedures/skill-prose-compile/references/internal-procedures/semantic-judgment/references/scope-review-and-omit.md +0 -93
  166. package/plugins/codex/skills/init/references/internal-procedures/skill-prose-compile/references/internal-procedures/semantic-judgment/references/temporal-and-evidence.md +0 -79
  167. package/plugins/codex/skills/init/references/internal-procedures/skill-prose-compile/references/internal-procedures/semantic-judgment/references/user-confirmation.md +0 -111
  168. package/plugins/codex/skills/init/references/internal-procedures/skill-prose-compile/references/internal-procedures/semantic-judgment.md +0 -194
  169. package/plugins/codex/skills/init/references/internal-procedures/skill-prose-compile.md +0 -287
  170. package/plugins/codex/skills/init/references/internal-procedures/skill-review-gate.md +0 -138
  171. package/plugins/codex/skills/init/references/internal-procedures/skill-source-scope/references/capture-source.md +0 -201
  172. package/plugins/codex/skills/init/references/internal-procedures/skill-source-scope.md +0 -525
  173. package/plugins/cursor/skills/skill-continue-workflow/SKILL.md +0 -235
  174. package/plugins/cursor/skills/skill-init-workspace/SKILL.md +0 -74
  175. package/plugins/cursor/skills/skill-package-output/SKILL.md +0 -180
  176. package/plugins/cursor/skills/skill-prose-align/SKILL.md +0 -322
  177. package/plugins/cursor/skills/skill-prose-align/references/internal-procedures/structure-planning/references/candidate-resolution.md +0 -91
  178. package/plugins/cursor/skills/skill-prose-align/references/internal-procedures/structure-planning/references/density-profile.md +0 -30
  179. package/plugins/cursor/skills/skill-prose-align/references/internal-procedures/structure-planning/references/gates.md +0 -263
  180. package/plugins/cursor/skills/skill-prose-compile/SKILL.md +0 -287
  181. package/plugins/cursor/skills/skill-prose-compile/references/internal-procedures/close-gate.md +0 -132
  182. package/plugins/cursor/skills/skill-prose-compile/references/internal-procedures/compile-actions/references/action-domain-gates.md +0 -52
  183. package/plugins/cursor/skills/skill-prose-compile/references/internal-procedures/compile-actions/references/notes.md +0 -48
  184. package/plugins/cursor/skills/skill-prose-compile/references/internal-procedures/compile-actions/references/refresh-and-update.md +0 -85
  185. package/plugins/cursor/skills/skill-prose-compile/references/internal-procedures/compile-actions/references/structural-challenges.md +0 -73
  186. package/plugins/cursor/skills/skill-prose-compile/references/internal-procedures/compile-actions.md +0 -413
  187. package/plugins/cursor/skills/skill-prose-compile/references/internal-procedures/compile-judgment.md +0 -123
  188. package/plugins/cursor/skills/skill-prose-compile/references/internal-procedures/semantic-judgment/references/disposition-semantics.md +0 -81
  189. package/plugins/cursor/skills/skill-prose-compile/references/internal-procedures/semantic-judgment/references/leakage-and-ownership.md +0 -55
  190. package/plugins/cursor/skills/skill-prose-compile/references/internal-procedures/semantic-judgment/references/scope-review-and-omit.md +0 -93
  191. package/plugins/cursor/skills/skill-prose-compile/references/internal-procedures/semantic-judgment/references/temporal-and-evidence.md +0 -79
  192. package/plugins/cursor/skills/skill-prose-compile/references/internal-procedures/semantic-judgment/references/user-confirmation.md +0 -111
  193. package/plugins/cursor/skills/skill-prose-compile/references/internal-procedures/semantic-judgment.md +0 -194
  194. package/plugins/cursor/skills/skill-review-gate/SKILL.md +0 -138
  195. package/plugins/cursor/skills/skill-source-scope/SKILL.md +0 -525
  196. package/plugins/cursor/skills/skill-source-scope/references/capture-source.md +0 -201
  197. package/plugins/skills/context-continue/references/internal-procedures/skill-continue-workflow.md +0 -235
  198. package/plugins/skills/context-continue/references/internal-procedures/skill-init-workspace.md +0 -74
  199. package/plugins/skills/context-continue/references/internal-procedures/skill-package-output.md +0 -180
  200. package/plugins/skills/context-continue/references/internal-procedures/skill-prose-align/references/internal-procedures/structure-planning/references/candidate-resolution.md +0 -91
  201. package/plugins/skills/context-continue/references/internal-procedures/skill-prose-align/references/internal-procedures/structure-planning/references/density-profile.md +0 -30
  202. package/plugins/skills/context-continue/references/internal-procedures/skill-prose-align/references/internal-procedures/structure-planning/references/gates.md +0 -263
  203. package/plugins/skills/context-continue/references/internal-procedures/skill-prose-align/references/internal-procedures/structure-planning.md +0 -282
  204. package/plugins/skills/context-continue/references/internal-procedures/skill-prose-align.md +0 -322
  205. package/plugins/skills/context-continue/references/internal-procedures/skill-prose-compile/references/internal-procedures/close-gate.md +0 -132
  206. package/plugins/skills/context-continue/references/internal-procedures/skill-prose-compile/references/internal-procedures/compile-actions/references/action-domain-gates.md +0 -52
  207. package/plugins/skills/context-continue/references/internal-procedures/skill-prose-compile/references/internal-procedures/compile-actions/references/notes.md +0 -48
  208. package/plugins/skills/context-continue/references/internal-procedures/skill-prose-compile/references/internal-procedures/compile-actions/references/refresh-and-update.md +0 -85
  209. package/plugins/skills/context-continue/references/internal-procedures/skill-prose-compile/references/internal-procedures/compile-actions/references/structural-challenges.md +0 -73
  210. package/plugins/skills/context-continue/references/internal-procedures/skill-prose-compile/references/internal-procedures/compile-actions.md +0 -413
  211. package/plugins/skills/context-continue/references/internal-procedures/skill-prose-compile/references/internal-procedures/compile-judgment.md +0 -123
  212. package/plugins/skills/context-continue/references/internal-procedures/skill-prose-compile/references/internal-procedures/semantic-judgment/references/disposition-semantics.md +0 -81
  213. package/plugins/skills/context-continue/references/internal-procedures/skill-prose-compile/references/internal-procedures/semantic-judgment/references/leakage-and-ownership.md +0 -55
  214. package/plugins/skills/context-continue/references/internal-procedures/skill-prose-compile/references/internal-procedures/semantic-judgment/references/scope-review-and-omit.md +0 -93
  215. package/plugins/skills/context-continue/references/internal-procedures/skill-prose-compile/references/internal-procedures/semantic-judgment/references/temporal-and-evidence.md +0 -79
  216. package/plugins/skills/context-continue/references/internal-procedures/skill-prose-compile/references/internal-procedures/semantic-judgment/references/user-confirmation.md +0 -111
  217. package/plugins/skills/context-continue/references/internal-procedures/skill-prose-compile/references/internal-procedures/semantic-judgment.md +0 -194
  218. package/plugins/skills/context-continue/references/internal-procedures/skill-prose-compile.md +0 -287
  219. package/plugins/skills/context-continue/references/internal-procedures/skill-review-gate.md +0 -138
  220. package/plugins/skills/context-continue/references/internal-procedures/skill-source-scope/references/capture-source.md +0 -201
  221. package/plugins/skills/context-continue/references/internal-procedures/skill-source-scope.md +0 -525
  222. package/plugins/skills/context-init/references/internal-procedures/skill-continue-workflow.md +0 -235
  223. package/plugins/skills/context-init/references/internal-procedures/skill-init-workspace.md +0 -74
  224. package/plugins/skills/context-init/references/internal-procedures/skill-package-output.md +0 -180
  225. package/plugins/skills/context-init/references/internal-procedures/skill-prose-align/references/internal-procedures/structure-planning/references/candidate-resolution.md +0 -91
  226. package/plugins/skills/context-init/references/internal-procedures/skill-prose-align/references/internal-procedures/structure-planning/references/density-profile.md +0 -30
  227. package/plugins/skills/context-init/references/internal-procedures/skill-prose-align/references/internal-procedures/structure-planning/references/gates.md +0 -263
  228. package/plugins/skills/context-init/references/internal-procedures/skill-prose-align/references/internal-procedures/structure-planning.md +0 -282
  229. package/plugins/skills/context-init/references/internal-procedures/skill-prose-align.md +0 -322
  230. package/plugins/skills/context-init/references/internal-procedures/skill-prose-compile/references/internal-procedures/close-gate.md +0 -132
  231. package/plugins/skills/context-init/references/internal-procedures/skill-prose-compile/references/internal-procedures/compile-actions/references/action-domain-gates.md +0 -52
  232. package/plugins/skills/context-init/references/internal-procedures/skill-prose-compile/references/internal-procedures/compile-actions/references/notes.md +0 -48
  233. package/plugins/skills/context-init/references/internal-procedures/skill-prose-compile/references/internal-procedures/compile-actions/references/refresh-and-update.md +0 -85
  234. package/plugins/skills/context-init/references/internal-procedures/skill-prose-compile/references/internal-procedures/compile-actions/references/structural-challenges.md +0 -73
  235. package/plugins/skills/context-init/references/internal-procedures/skill-prose-compile/references/internal-procedures/compile-actions.md +0 -413
  236. package/plugins/skills/context-init/references/internal-procedures/skill-prose-compile/references/internal-procedures/compile-judgment.md +0 -123
  237. package/plugins/skills/context-init/references/internal-procedures/skill-prose-compile/references/internal-procedures/semantic-judgment/references/disposition-semantics.md +0 -81
  238. package/plugins/skills/context-init/references/internal-procedures/skill-prose-compile/references/internal-procedures/semantic-judgment/references/leakage-and-ownership.md +0 -55
  239. package/plugins/skills/context-init/references/internal-procedures/skill-prose-compile/references/internal-procedures/semantic-judgment/references/scope-review-and-omit.md +0 -93
  240. package/plugins/skills/context-init/references/internal-procedures/skill-prose-compile/references/internal-procedures/semantic-judgment/references/temporal-and-evidence.md +0 -79
  241. package/plugins/skills/context-init/references/internal-procedures/skill-prose-compile/references/internal-procedures/semantic-judgment/references/user-confirmation.md +0 -111
  242. package/plugins/skills/context-init/references/internal-procedures/skill-prose-compile/references/internal-procedures/semantic-judgment.md +0 -194
  243. package/plugins/skills/context-init/references/internal-procedures/skill-prose-compile.md +0 -287
  244. package/plugins/skills/context-init/references/internal-procedures/skill-review-gate.md +0 -138
  245. package/plugins/skills/context-init/references/internal-procedures/skill-source-scope/references/capture-source.md +0 -201
  246. package/plugins/skills/context-init/references/internal-procedures/skill-source-scope.md +0 -525
@@ -0,0 +1,267 @@
1
+ ---
2
+ id: context.sdk.package-outputs
3
+ kind: procedure
4
+ mediaType: text/markdown
5
+ ---
6
+
7
+ # Package Outputs
8
+
9
+ Package outputs are generated folders under `dist/`. They turn approved
10
+ knowledge from `knowledge/` into a shape that another consumer can install,
11
+ read, or import.
12
+
13
+ Package output is a human decision gate. Do not add package declarations until
14
+ the user chooses the intended consumer and output shape.
15
+
16
+ Package build consumes approved and closed knowledge. If status reports that
17
+ close is required, run deterministic close before build. Current close derives
18
+ `knowledge/structure.yaml`, persists approved edge projection, and runs the
19
+ final verify gate without rewriting approved Markdown. References, changelog,
20
+ package index, and section fingerprint rebuilds are not current close output.
21
+
22
+ ## Recommended First Output: Agent Knowledge-Base Package
23
+
24
+ Choose an agent knowledge-base package first when the knowledge should help
25
+ Coding Agents work with the project. After the user chooses this semantic
26
+ output shape, implement it with `kbPackage()`.
27
+
28
+ Typical output:
29
+
30
+ ```text
31
+ dist/<package-name>/
32
+ ├── AGENTS.md
33
+ ├── skills/
34
+ │ └── knowledge-query/
35
+ │ └── SKILL.md
36
+ └── wikis/
37
+ ├── index.md
38
+ └── ...
39
+ ```
40
+
41
+ Choose this when the user wants:
42
+
43
+ - agent-facing guidance generated from the reviewed knowledge;
44
+ - a package that can be installed as an agent knowledge base;
45
+ - a starting point that can later be refined into task-specific skills.
46
+
47
+ The underlying `kbPackage()` declaration requires a template containing at
48
+ least one `SKILL.md` and `wikis/index.md`.
49
+ The default `src/package-templates/kb/` template is only a starting point.
50
+ Inspect the generated `dist/<package-name>/` before calling it usable.
51
+
52
+ KB packages use flat package-relative knowledge roots:
53
+
54
+ ```ts
55
+ kbPackage({
56
+ name: "component-lib-kb",
57
+ template: "src/package-templates/kb",
58
+ });
59
+ ```
60
+
61
+ The package name already identifies the surrounding build folder, so the
62
+ output does not repeat it inside each root:
63
+
64
+ ```text
65
+ skills/knowledge-query/SKILL.md
66
+ wikis/index.md
67
+ guides/...
68
+ rules/...
69
+ feats/...
70
+ others/assets/...
71
+ ```
72
+
73
+ Do not ask for another distribution namespace. Older workspaces may still
74
+ contain `distribution.knowledgeNamespace`; Context accepts that legacy input
75
+ without using it to shape the package.
76
+
77
+ Skill names are separate. Ask whether the author wants a short optional Skill
78
+ prefix, then maintain the complete final template directory name directly—for
79
+ example `skills/android-query/SKILL.md`. Package-root layout never renames a
80
+ Skill.
81
+
82
+ The default `knowledge-query` Skill is a complete generic query entry. It
83
+ carries the structure-first query discipline: start from OKF directory indexes, use
84
+ `context-build-inventory.json` edge records for package-visible relationships,
85
+ inspect page `sources` / `context:section` source_ref metadata, cite
86
+ page/section evidence, and report explicit gaps when the package does not cover
87
+ a requested fact. It does not treat direct grep over bundled OKF root
88
+ directories as the primary discovery path. When indexes do not narrow the
89
+ scope, or a candidate page is too large to read directly, its bundled
90
+ `scripts/search.mjs` provides deterministic BM25 ranking over mechanically
91
+ bounded Markdown chunks. Search results are leads; page bodies and typed edge
92
+ records remain the evidence. Its final template-author section
93
+ requires package authors to replace or edit the generic routing when the
94
+ package needs project-specific terminology, entry points, known limits, or
95
+ task workflows. Authors may explicitly accept the generic default when it is
96
+ intentionally sufficient.
97
+
98
+ When approved pages reference materialized document resources, Context keeps
99
+ their production copies in content-addressed `knowledge/assets/` paths. Build
100
+ copies only the resources selected by package pages to `others/assets/` and
101
+ rewrites relative Markdown links. Source audit XML and capture reports stay in
102
+ the production workspace; they are not distributed as reader assets. See
103
+ [Lark Resource Materialization](./lark-resources.md).
104
+
105
+ The same inventory exposes `structure.relationship_coverage`. It records
106
+ whether selected codegraph pages have current source-backed AST relationship
107
+ metadata, how many codegraph views were selected, and how many package-visible
108
+ edges were emitted. An empty edge list is therefore explicit evidence of a
109
+ coverage state, not permission to invent a dependency.
110
+
111
+ The generated `wikis/` directory is the default OKF root and follows the C4A OKF
112
+ Profile. Internal production collections are mapped into package OKF roots such
113
+ as `wikis/`, `guides/`, `rules/`, or `feats/`; when selected, `context build`
114
+ copies them into the package and generates root-aware directory indexes for them
115
+ as needed. Selected OKF roots always have an index; smaller child directories
116
+ are folded into their nearest generated ancestor index by default. These roots
117
+ contain consumer-oriented Markdown with reader-facing frontmatter and no Context
118
+ lifecycle comments. Node identity, source metadata, code symbol lists,
119
+ relationship records, generated-child records, and candidate fingerprints are
120
+ kept out of each page. `context-build-inventory.json` maps distributed paths to
121
+ approved knowledge paths and exposes package-visible structure; exact Section
122
+ evidence remains in the mapped `knowledge/` page. The package root is an agent
123
+ package; the OKF-compatible interchange surface is the selected OKF root
124
+ subtrees under `dist/<package-name>/`. The required template entry and final
125
+ output path are both `wikis/index.md`.
126
+
127
+ Current collection mapping:
128
+
129
+ | Internal collection | Package path | Role |
130
+ |---|---|---|
131
+ | `codegraph` | `wikis/codegraph/` | Structured code entities and relationships. |
132
+ | `business` | `wikis/business/` | Structured business entities and relationships. |
133
+ | `product` | `wikis/product/` | Structured product entities, behavior, and relationships. |
134
+ | `architecture` | `guides/architecture/` | Architecture explanations and design narratives. |
135
+ | `sop` | `guides/sop/` | Procedures and runbooks. |
136
+ | `faq` | `guides/faq/` | Question-oriented explanations and troubleshooting. |
137
+ | `decision` | `guides/decision/` | Decision records and trade-off narratives. |
138
+ | `incident` | `guides/incident/` | Incident timelines, response, and follow-up. |
139
+ | `standards` | `rules/standards/` | Normative standards and constraints. |
140
+ | `test` | `rules/test/` | Validation rules, scenarios, and acceptance checks. |
141
+ | `feats` | `feats/` | Feature capability records. |
142
+
143
+ `wikis/` is the structured entity-and-relationship layer. `guides/` and
144
+ `rules/` may explain, operationalize, or constrain that knowledge; their
145
+ placement does not create a relationship unless Context includes a typed edge.
146
+
147
+ `index.md` is reserved for OKF bundle and directory indexes. Source documents
148
+ may be named `index.md`, but generated concept pages must use a non-reserved
149
+ name such as `index-page.md`; `context build` rejects copied knowledge that
150
+ occupies `wikis/**/index.md`.
151
+
152
+ `src/package-templates/kb/wikis/index.md` is the bundle entry page template.
153
+ Tell the user it can be edited before build to describe the package scope,
154
+ intended users, and query guidance.
155
+
156
+ The default root index is a usable generic entry, not a project-specific
157
+ information architecture.
158
+ It links directly to pages in small child directories and to a child
159
+ `index.md` when that directory exceeds the configured navigation threshold.
160
+ The default threshold is 50 selected knowledge pages. Use Handlebars variables such as
161
+ `knowledgeGroups`, `knowledgeItems`, and `knowledgeTree` when a project needs
162
+ custom navigation. Before customizing it, read
163
+ `node_modules/@c4a/context/docs/reference/template-variables.md`.
164
+
165
+ Newly initialized generic templates must be replaced, edited, or explicitly
166
+ accepted before the first build. `context status` exposes that choice as a
167
+ package template Review Gate. Use only the revision-bound command returned by
168
+ that Route to accept an unchanged generic default; edit files under
169
+ `src/package-templates/` when customizing. Context compares file digests and
170
+ records the decision without evaluating the meaning of template prose.
171
+
172
+ Template paths are rendered before selected knowledge is copied. A rendered
173
+ template path must not collide with a selected knowledge path. If the build
174
+ reports a collision, rename the template file or exclude that knowledge path
175
+ with `select.exclude`.
176
+
177
+ Template prose must not become a second knowledge source. If a template
178
+ describes package coverage, scope, known gaps, or known limits, it must cite
179
+ approved knowledge, `context-build-inventory.json`, or rendered structure data
180
+ inside the package. Otherwise `context build` reports a template-boundary
181
+ diagnostic. Repair the template under `src/package-templates/`; do not patch
182
+ `dist/` as the durable fix.
183
+
184
+ KB package index links are also checked. `context build` validates every
185
+ selected OKF root index and generated child `index.md` so relative links and
186
+ OKF bundle-root absolute links resolve inside `dist/<package-name>/`. Broken
187
+ index links are fixed by editing the template, approved knowledge path, or
188
+ package declaration and rerunning `context build`; do not patch `dist/`
189
+ directly as the durable fix.
190
+
191
+ ## Alternative Output: LLM Text
192
+
193
+ Choose an LLM text bundle when the user wants a single text bundle for model
194
+ context, RAG import, or manual reading. After the user chooses this semantic
195
+ output shape, implement it with `llmsPackage()`.
196
+
197
+ Typical output:
198
+
199
+ ```text
200
+ dist/<package-name>/
201
+ └── llms.txt
202
+ ```
203
+
204
+ Choose this when the user wants:
205
+
206
+ - one consolidated text file;
207
+ - a format that is easy to copy, index, or upload elsewhere;
208
+ - no agent skill packaging yet.
209
+
210
+ ## Skip Package Output
211
+
212
+ The user may choose to stop after approved Markdown. In that case, keep
213
+ `packages: []` and do not run `context build`.
214
+
215
+ Approved knowledge still lives in:
216
+
217
+ ```text
218
+ knowledge/
219
+ └── ...
220
+ ```
221
+
222
+ ## How To Ask The User
223
+
224
+ When `workflow.current.reason_code` is `route.package.output-required`,
225
+ explain the choices with the output tree. Do not ask the user to pick from
226
+ unexplained labels.
227
+ Use the host's native multi-choice tool when available. If unavailable, fall
228
+ back to a short Markdown A/B/C question. The option labels should be:
229
+ agent knowledge-base package, LLM text bundle, and skip package output for now.
230
+
231
+ Recommended question shape:
232
+
233
+ ```text
234
+ The reviewed knowledge is approved. The next decision is how to package it.
235
+
236
+ Recommended: agent knowledge-base package
237
+ dist/<name>-kb/
238
+ ├── AGENTS.md
239
+ ├── skills/knowledge-query/SKILL.md
240
+ └── wikis/
241
+ ├── index.md
242
+ ├── <group-page>.md
243
+ └── <large-group>/index.md
244
+
245
+ This is best if agents should use the knowledge as a reusable knowledge base.
246
+
247
+ Alternative: LLM text bundle
248
+ dist/<name>-llms/
249
+ └── llms.txt
250
+
251
+ This is best if you need one text bundle for model/RAG import.
252
+
253
+ We can also skip package output for now and keep only knowledge/.
254
+
255
+ Which one should I declare first?
256
+ ```
257
+
258
+ If the user chooses the Agent knowledge-base package, explain that its OKF
259
+ roots are flat within `dist/<package-name>/`; do not ask for a second namespace.
260
+ Ask whether its Skills need a short prefix. The author maintains final Skill
261
+ names independently from package paths.
262
+
263
+ Do not offer `both` as a shortcut. If the user wants multiple outputs, add one
264
+ package first, verify the shape, then add another package after confirmation.
265
+ The default adaptive index policy avoids one-page directory indexes. Configure
266
+ `kbPackage().navigation` when a package needs a different inline-entry
267
+ threshold or a fully expanded index at every directory.
@@ -0,0 +1,378 @@
1
+ ---
2
+ id: context.sdk.package-templates
3
+ kind: procedure
4
+ mediaType: text/markdown
5
+ ---
6
+
7
+ # Package Templates
8
+
9
+ Packages project approved knowledge into `dist/<package-name>/`.
10
+
11
+ For the user-facing decision process, read
12
+ [Package Outputs](../guides/package-outputs.md) first. This reference only
13
+ documents the API and template behavior.
14
+
15
+ ## Package Factories
16
+
17
+ ```ts
18
+ import { llmsPackage, kbPackage } from "@c4a/context";
19
+ ```
20
+
21
+ ### `kbPackage`
22
+
23
+ ```ts
24
+ kbPackage({
25
+ name: "component-lib-kb",
26
+ template: {
27
+ path: "src/package-templates/kb",
28
+ vars: { displayName: "Component Library KB" },
29
+ },
30
+ select: {
31
+ collections: ["architecture", "sop"],
32
+ okfRoots: ["wikis", "guides"],
33
+ include: ["architecture/component-lib/**", "sop/component-lib/**"],
34
+ exclude: ["**/internal/**"],
35
+ },
36
+ navigation: {
37
+ foldDirectoryIndexes: true,
38
+ maxInlineEntries: 50,
39
+ },
40
+ });
41
+ ```
42
+
43
+ ### `llmsPackage`
44
+
45
+ ```ts
46
+ llmsPackage({
47
+ name: "component-lib-llms",
48
+ template: "src/package-templates/llms",
49
+ select: { include: ["codegraph/component-lib/**"] },
50
+ });
51
+ ```
52
+
53
+ ## Required Fields
54
+
55
+ | Field | Required | Meaning |
56
+ |---|---:|---|
57
+ | `name` | yes | Lowercase path-safe package name. Output goes to `dist/<name>/`. |
58
+ | `template` | yes | Project-relative template directory or `{ path, vars }`. |
59
+ | `select` | no | Approved knowledge selector. Omit to include all approved knowledge. Supports internal `collections`, OKF `okfRoots`, and `include` / `exclude` path patterns relative to `knowledge/`. |
60
+ | `navigation` | no | KB directory-index policy. Defaults to `{ foldDirectoryIndexes: true, maxInlineEntries: 50 }`. |
61
+ | `distribution` | no | Legacy input accepted from older workspaces. It no longer changes package paths and should not be added to new declarations. |
62
+
63
+ `template` is required. Do not call `kbPackage({ name })` or
64
+ `llmsPackage({ name })`.
65
+
66
+ ## Flat Package Roots
67
+
68
+ `name` identifies the package boundary under `dist/`. Context does not repeat
69
+ that name inside the package's knowledge roots.
70
+
71
+ Templates keep a logical, consumer-neutral layout:
72
+
73
+ ```text
74
+ skills/knowledge-query/SKILL.md
75
+ wikis/index.md
76
+ guides/...
77
+ rules/...
78
+ feats/...
79
+ ```
80
+
81
+ For `name: "component-lib-kb"`, `context build` writes:
82
+
83
+ ```text
84
+ skills/knowledge-query/SKILL.md
85
+ wikis/index.md
86
+ guides/...
87
+ rules/...
88
+ feats/...
89
+ ```
90
+
91
+ The builder maps copied knowledge, generated indexes, links, and inventory
92
+ records into these roots without rewriting Markdown prose or inferring a
93
+ downstream registry identity. New declarations should omit `distribution`.
94
+ Older declarations that still contain `distribution.knowledgeNamespace` remain
95
+ loadable, but the value does not change output paths or the build fingerprint.
96
+
97
+ Use `{{wikisRoot}}`, `{{rulesRoot}}`, `{{guidesRoot}}`, or `{{featsRoot}}` in
98
+ Skill templates so references share the package-root contract. These variables
99
+ render to the flat root names above.
100
+
101
+ Each rendered Skill must live at `skills/<skill-name>/SKILL.md`, and its YAML
102
+ frontmatter `name` must equal `<skill-name>`. Use `{{skillName}}` in custom
103
+ Skill templates. Skill names are author-maintained: when a short prefix is
104
+ useful, rename the template directory to the complete final name, such as
105
+ `skills/android-query/`; Context does not derive it from
106
+ the package name.
107
+
108
+ ## Template Variables
109
+
110
+ Templates are rendered with Handlebars. Variables are available in both file
111
+ contents and file paths.
112
+
113
+ Built-in variables:
114
+
115
+ | Variable | Meaning |
116
+ |---|---|
117
+ | `{{packageName}}` | Package name from the declaration. |
118
+ | `{{packageKind}}` | `kb` or `llms`. |
119
+ | `{{knowledgeNamespace}}` | Legacy configured namespace when an older workspace still declares one; otherwise empty. Do not use it for new output paths. |
120
+ | `{{namespacedKnowledge}}` | Always `false`; retained only so older templates remain renderable. |
121
+ | `{{skillName}}` | Current author-maintained Skill directory name. |
122
+ | `{{skillPath}}` | Current Skill's final package-relative `SKILL.md` path. |
123
+ | `{{wikisRoot}}`, `{{guidesRoot}}`, `{{rulesRoot}}`, `{{featsRoot}}` | Final package-relative OKF root paths. |
124
+ | `{{displayName}}` | Display name. Defaults to a title-cased `packageName`; override with `template.vars.displayName`. |
125
+ | `{{knowledgeCount}}` | Number of selected approved Markdown files. |
126
+ | `{{knowledgeTimestamp}}` | Latest `timestamp` from selected approved Markdown, or `1970-01-01T00:00:00.000Z` when empty. |
127
+ | `{{knowledge}}` | Concatenated selected approved Markdown bundle. |
128
+ | `{{approvedKnowledge}}` | Alias for `{{knowledge}}`. |
129
+ | `{{knowledgeItems}}` | Array of selected approved knowledge page metadata for loops. |
130
+ | `{{knowledgeGroups}}` | Selected approved knowledge pages grouped by OKF root and first directory segment; each item also exposes `internal_collection`. |
131
+ | `{{knowledgeTreeNodes}}` | Nested path tree for custom navigation. |
132
+ | `{{knowledgeTree}}` | Markdown tree preview. |
133
+ | `{{knowledgeItemsMarkdown}}` | Markdown page list. |
134
+ | `{{knowledgeGroupsMarkdown}}` | Markdown navigation for the current index: direct page links for folded directories and links to generated indexes for expanded directories. |
135
+
136
+ Custom variables come from `template.vars`.
137
+
138
+ For loops, conditionals, comments, and record fields, read
139
+ [Template Variables](./template-variables.md).
140
+
141
+ ## Template Examples
142
+
143
+ Installed examples:
144
+
145
+ ```text
146
+ node_modules/@c4a/context/templates/package-templates/kb/
147
+ node_modules/@c4a/context/templates/package-templates/llms/
148
+ ```
149
+
150
+ Workspace convention:
151
+
152
+ ```text
153
+ src/package-templates/
154
+ ├── kb/
155
+ │ ├── AGENTS.md
156
+ │ ├── wikis/
157
+ │ │ └── index.md
158
+ │ └── skills/
159
+ │ └── knowledge-query/
160
+ │ ├── SKILL.md
161
+ │ └── scripts/
162
+ │ └── search.mjs
163
+ └── llms/
164
+ └── llms.txt
165
+ ```
166
+
167
+ `kbPackage()` is for an agent knowledge-base package. The package still uses a
168
+ `skills/` folder internally because Claude/Codex consume reusable agent
169
+ instructions from that convention. Its template must contain at least one
170
+ `SKILL.md` file and `wikis/index.md`. A template with only `AGENTS.md` is a
171
+ placeholder document package, not a usable kb package, and `context build`
172
+ rejects it.
173
+
174
+ The default kb template includes:
175
+
176
+ - `skills/knowledge-query/SKILL.md`, a reusable skill that teaches agents to
177
+ query copied knowledge pages structure-first, cite page/section evidence, use
178
+ `context-build-inventory.json` edge records for package-visible
179
+ relationships, and report gaps instead of inventing unsupported answers. The
180
+ build inventory also exposes `structure.relationship_coverage` so a consumer
181
+ can distinguish an observed zero-edge result from unknown relationship
182
+ coverage. The
183
+ default entry OKF root is `wikis/`; packages that select additional internal
184
+ collections expose
185
+ `guides/`, `rules/`, or `feats/` indexes when those roots are selected.
186
+ - `skills/knowledge-query/scripts/search.mjs`, a dependency-free BM25 fallback
187
+ for exact terms, mixed keyword queries, and large Markdown indexes. It chunks
188
+ mechanically, returns inspectable paths and line ranges, and never replaces
189
+ source-backed relationship evidence.
190
+ - `wikis/index.md`, the editable OKF bundle entry page for the generated
191
+ `dist/<package-name>/wikis/` directory.
192
+
193
+ During `context build`, the root `wikis/index.md` is rendered from the template.
194
+ The builder always provides an index for every selected OKF root. With the
195
+ default navigation policy, smaller child directories are folded into their
196
+ nearest generated ancestor index, so a short collection can link directly to
197
+ its pages instead of producing one index per path segment.
198
+
199
+ ## OKF Directory Indexes
200
+
201
+ The generated
202
+ `dist/<package-name>/wikis/` tree is the required default
203
+ KB entry surface. Internal collections are mapped into OKF roots during build:
204
+ `codegraph`, `business`, and `product` go to `wikis/`; `architecture`, `sop`,
205
+ `faq`, `decision`, and `incident` go to `guides/`; `standards` and `test` go to
206
+ `rules/`; and `feats` goes to `feats/`. Treat `wikis/` as the structured
207
+ entity-and-relationship layer. Guides and rules may explain, operationalize,
208
+ or constrain that knowledge, but directory placement alone does not establish
209
+ a relationship.
210
+
211
+ Default navigation rules:
212
+
213
+ - `wikis/index.md` is the required default bundle index. Other selected OKF
214
+ roots always use their own `<okf-root>/index.md`.
215
+ - With `foldDirectoryIndexes: true`, a non-root directory gets its own
216
+ `index.md` only when its descendant knowledge-page count is greater than
217
+ `maxInlineEntries`. The default threshold is `50`.
218
+ - A folded directory is not discarded. Its pages are listed in the nearest
219
+ generated ancestor index, grouped by their relative directory path.
220
+ - The threshold counts selected knowledge pages in the path tree. It does not
221
+ inspect Markdown line counts, headings, or content semantics.
222
+ - Set `foldDirectoryIndexes: false` to generate an `index.md` for every
223
+ directory, matching the fully expanded navigation shape.
224
+ - A generated directory index uses OKF frontmatter with `type: Knowledge
225
+ Directory`, `title`, `description`, `tags`, `timestamp`, `resource`,
226
+ `package`, `package_kind`, and `knowledge_count`.
227
+ - Directory indexes list generated child indexes first, then pages from folded
228
+ paths.
229
+ - `context build` validates links in OKF root indexes and generated
230
+ child `index.md` files. Relative links must resolve to files inside
231
+ `dist/<package-name>/`; broken links are reported as
232
+ `package/index-link-invalid`.
233
+ - If a project needs curated default navigation, edit the template-owned
234
+ `wikis/index.md`. Template files or copied knowledge pages that collide with
235
+ an index path selected by the current navigation policy are rejected during
236
+ build/status preflight.
237
+
238
+ The generated templates are complete generic defaults. Before publishing,
239
+ package authors should replace or edit `src/package-templates/kb/**` when the
240
+ package needs project-specific skills, prompts, routing rules, terminology, or
241
+ package instructions. If the generic behavior is intentionally sufficient,
242
+ explicitly accept the unchanged default through the package-template Review
243
+ Route. Do not add a package-name Skill by default; add one only when the user
244
+ wants project-specific behavior beyond knowledge lookup.
245
+
246
+ ## Context OKF Profiles
247
+
248
+ Approved Markdown under `knowledge/` is the production source of truth:
249
+
250
+ - top-level YAML frontmatter uses OKF fields such as `type`, `title`,
251
+ `description`, `tags`, `timestamp`, and `resource`;
252
+ - Context production metadata such as `sources`, `node_type`, `visibility`,
253
+ `code_symbols`, relationship records, and `candidate_fingerprint` also lives
254
+ at the top level;
255
+ - do not nest C4A extension metadata under `context`; fields such as
256
+ `context.sources` and `context.code_symbols` are not part of the 0.6 profile;
257
+ - section provenance lives in `<!-- context:section ... source_ref="..." -->`
258
+ comments;
259
+ - do not add frontmatter `source_refs`; page-level provenance is derived from
260
+ section source refs when needed;
261
+ - do not add `context` or `schema` fields.
262
+
263
+ Package knowledge pages under `dist/<package-name>/` use a consumer projection.
264
+ They retain reader-facing fields such as `title`, `type`, `description`, `tags`,
265
+ `timestamp`, and custom non-lifecycle fields. Node identity, `resource`,
266
+ `sources`, Section evidence comments, and build-only fields are omitted from the
267
+ page. `context-build-inventory.json` records the distributed path, approved
268
+ knowledge path, node identity, source summary, and package-visible structure.
269
+ Maintainers return to the mapped `knowledge/` page for exact `sources` and
270
+ `source_ref` attribution. `knowledge/` is never rewritten by this projection.
271
+
272
+ Accepted section `source_ref` forms:
273
+
274
+ ```text
275
+ src-N#symbol:<file>:<symbol-id>:<kind>@<digest>
276
+ src-N#span:<heading-hint> L<start>-<end>@<span-hash>
277
+ ```
278
+
279
+ The code symbol form includes the source-relative file so same-name symbols in
280
+ different files resolve to one exact symbol-index row. Consumers should still
281
+ treat the complete `source_ref` as opaque. Production codegraph pages keep
282
+ `candidate_fingerprint` at the top level and do not duplicate this evidence in
283
+ `code_origin`.
284
+
285
+ `#span:` refs retain source snapshot line ranges for human review, diffing, and
286
+ stable re-pinning. They resolve against committed file/lark document snapshots,
287
+ not the code symbol index.
288
+
289
+ The kb package root may contain agent files such as `AGENTS.md` and `skills/`.
290
+ The OKF-compatible surface is the selected `wikis/`, `guides/`, `rules/`, and
291
+ `feats/` subtrees.
292
+
293
+ ## Build Behavior
294
+
295
+ `context build`:
296
+
297
+ 1. Selects approved Markdown from `knowledge/`.
298
+ 2. Renders all files from `template.path`.
299
+ 3. Projects selected approved Markdown into consumer-oriented package pages.
300
+ 4. For `llmsPackage`, appends selected knowledge to `llms.txt` when the template
301
+ does not already use `{{knowledge}}` or `{{approvedKnowledge}}`.
302
+ 5. Writes deterministic package inventory such as
303
+ `context-build-inventory.json`.
304
+ 6. Writes output under `dist/<package-name>/`.
305
+
306
+ `context-build-inventory.json` records what was selected and why. Each selected
307
+ file includes `selected_by` entries such as `{ "kind": "collection" }` and a
308
+ `production_metadata` object for selected page-level production fields. Child
309
+ and relationship records use the inventory's canonical structure projection,
310
+ `{ "kind": "okf_root" }`, `{ "kind": "include" }`, or
311
+ `{ "kind": "default" }`. The inventory also exposes package-visible typed
312
+ edges under `structure.edge_records`; these records are filtered to edges whose
313
+ endpoints are present in the selected package. Use those edge records for
314
+ relationship citations inside the package instead of assuming the workspace
315
+ `knowledge/structure.yaml` file is bundled.
316
+
317
+ For KB packages, the inventory records `package.distribution` as
318
+ `layout: "flat"`, `knowledge_namespace: null`, and the four package-relative
319
+ OKF roots. Selected file and group records expose both the logical `okf_root`
320
+ and final `okf_root_path`, so consumers do not need to infer paths.
321
+
322
+ Build expects approved knowledge to be closed when the project has source-bound
323
+ document knowledge. When `workflow.current.reason_code` is
324
+ `route.close.projection-stale`, run the exact returned close command. Current
325
+ close derives
326
+ `knowledge/structure.yaml`, persists approved edge projection, and runs the
327
+ final verify gate. References, changelog, package index, and section
328
+ fingerprint rebuilds are not current close output; build only packages the
329
+ current closed state.
330
+
331
+ Before writing output, `context build` validates that rendered template paths
332
+ are safe, unique, and do not collide with copied knowledge paths. For example,
333
+ a template file that renders to `wikis/codegraph/foo.md` is rejected if
334
+ selected knowledge such as `knowledge/codegraph/foo.md` maps to that same OKF
335
+ output path. Rename the template file or use `select.exclude` when the
336
+ collision is intentional.
337
+
338
+ After writing KB output, `context build` checks selected OKF root `index.md`
339
+ files and generated child directory indexes. If an index link is broken, fix
340
+ the package template, approved knowledge path, or directory index generation,
341
+ then rerun `context build`; do not patch `dist/` directly as the durable fix.
342
+
343
+ If a template describes package coverage, scope, known gaps, or known limits,
344
+ it must cite approved knowledge, `context-build-inventory.json`, or
345
+ explicitly rendered structure data. Otherwise build reports a
346
+ template-boundary diagnostic. Keep factual claims in approved knowledge and
347
+ structure; templates only package and route that material.
348
+
349
+ After build, inspect the output shape. `context build` and `context verify`
350
+ validate protocol structure; they do not decide whether the selected knowledge
351
+ is meaningful enough for the user.
352
+
353
+ ## Select Patterns
354
+
355
+ Package selection is evaluated in this order:
356
+
357
+ 1. `collections` filters by internal approved collection, for example
358
+ `architecture`, `sop`, `standards`, or `feats`.
359
+ 2. `okfRoots` filters by output root after OKF mapping: `wikis`, `guides`,
360
+ `rules`, or `feats`.
361
+ 3. `include` patterns are matched against approved paths relative to
362
+ `knowledge/`.
363
+ 4. `exclude` patterns remove matches after the previous filters.
364
+
365
+ Path patterns are relative to `knowledge/`.
366
+
367
+ ```ts
368
+ select: {
369
+ collections: ["architecture", "sop"],
370
+ okfRoots: ["wikis", "guides"],
371
+ include: ["architecture/component-lib/**", "sop/component-lib/**"],
372
+ exclude: ["**/internal/**"],
373
+ }
374
+ ```
375
+
376
+ If `include` is omitted, all approved knowledge is included unless excluded.
377
+ When `collections` or `okfRoots` are present, a file must pass those filters
378
+ before include/exclude path matching is considered.