@blxzer/cursor-trellis 0.4.2 → 0.4.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 (315) hide show
  1. package/CHANGELOG.md +24 -0
  2. package/README.md +23 -14
  3. package/README.zh-CN.md +14 -10
  4. package/bin/smart-search.js +10 -2
  5. package/dist/cli/index.d.ts.map +1 -1
  6. package/dist/cli/index.js +36 -15
  7. package/dist/cli/index.js.map +1 -1
  8. package/dist/commands/init.d.ts +1 -1
  9. package/dist/commands/init.d.ts.map +1 -1
  10. package/dist/commands/init.js +42 -153
  11. package/dist/commands/init.js.map +1 -1
  12. package/dist/commands/migrate.d.ts +10 -0
  13. package/dist/commands/migrate.d.ts.map +1 -0
  14. package/dist/commands/migrate.js +38 -0
  15. package/dist/commands/migrate.js.map +1 -0
  16. package/dist/commands/update.d.ts +5 -0
  17. package/dist/commands/update.d.ts.map +1 -1
  18. package/dist/commands/update.js +137 -40
  19. package/dist/commands/update.js.map +1 -1
  20. package/dist/configurators/cursor.d.ts +2 -1
  21. package/dist/configurators/cursor.d.ts.map +1 -1
  22. package/dist/configurators/cursor.js +4 -2
  23. package/dist/configurators/cursor.js.map +1 -1
  24. package/dist/configurators/index.js +4 -4
  25. package/dist/configurators/index.js.map +1 -1
  26. package/dist/configurators/shared.d.ts +8 -0
  27. package/dist/configurators/shared.d.ts.map +1 -1
  28. package/dist/configurators/shared.js +27 -1
  29. package/dist/configurators/shared.js.map +1 -1
  30. package/dist/configurators/workflow.d.ts +0 -9
  31. package/dist/configurators/workflow.d.ts.map +1 -1
  32. package/dist/configurators/workflow.js +2 -4
  33. package/dist/configurators/workflow.js.map +1 -1
  34. package/dist/constants/paths.d.ts +9 -0
  35. package/dist/constants/paths.d.ts.map +1 -1
  36. package/dist/constants/paths.js +13 -0
  37. package/dist/constants/paths.js.map +1 -1
  38. package/dist/migrations/manifests/0.3.0.json +1 -1
  39. package/dist/templates/common/bundled-skills/cstl-meta/references/platform-files/skills-and-commands.md +2 -4
  40. package/dist/templates/common/bundled-skills/cstl-skill-creator/SKILL.md +10 -7
  41. package/dist/templates/common/bundled-skills/cstl-skill-creator/references/authoring-rules.md +93 -19
  42. package/dist/templates/common/bundled-skills/cstl-skill-creator/references/general-authoring.md +189 -0
  43. package/dist/templates/common/bundled-skills/cstl-skill-creator/references/review-checklist.md +10 -5
  44. package/dist/templates/common/commands/continue.md +5 -4
  45. package/dist/templates/common/index.d.ts +20 -0
  46. package/dist/templates/common/index.d.ts.map +1 -1
  47. package/dist/templates/common/index.js +21 -2
  48. package/dist/templates/common/index.js.map +1 -1
  49. package/dist/templates/common/optional-skills/chrome-cdp/SKILL.md +179 -0
  50. package/dist/templates/common/optional-skills/chrome-cdp/examples/fetch-hook-api-capture.md +149 -0
  51. package/dist/templates/common/optional-skills/chrome-cdp/scripts/cdp.mjs +903 -0
  52. package/dist/templates/cursor/agents/cstl-research.md +1 -1
  53. package/dist/templates/cursor/fixtures/expected-rules.d.ts +1 -1
  54. package/dist/templates/cursor/fixtures/expected-rules.d.ts.map +1 -1
  55. package/dist/templates/cursor/fixtures/expected-rules.js +7 -24
  56. package/dist/templates/cursor/fixtures/expected-rules.js.map +1 -1
  57. package/dist/templates/cursor/hooks.json +4 -0
  58. package/dist/templates/cursor/index.d.ts +1 -1
  59. package/dist/templates/cursor/index.js +1 -1
  60. package/dist/templates/cursor/rules/cstl-bootstrap.mdc +17 -0
  61. package/dist/templates/markdown/agents.md +15 -10
  62. package/dist/templates/markdown/framework/cursor-native-modes-guide.md.txt +12 -9
  63. package/dist/templates/markdown/framework/cursor-subagent-policy.md.txt +62 -126
  64. package/dist/templates/markdown/framework/dogfood-only-surfaces.md.txt +4 -6
  65. package/dist/templates/markdown/framework/execution-strategy.md.txt +2 -0
  66. package/dist/templates/markdown/framework/index.md.txt +4 -0
  67. package/dist/templates/markdown/framework/internal-skills-cursor-reachability.md.txt +4 -3
  68. package/dist/templates/markdown/framework/middleware-protocol.md.txt +83 -0
  69. package/dist/templates/markdown/framework/parallel-first-execution.md.txt +78 -0
  70. package/dist/templates/markdown/framework/release-boundary.md.txt +30 -0
  71. package/dist/templates/markdown/framework/retrieval-daily-guide.md.txt +1 -1
  72. package/dist/templates/markdown/framework/upgrade.md.txt +15 -0
  73. package/dist/templates/markdown/index.d.ts +4 -0
  74. package/dist/templates/markdown/index.d.ts.map +1 -1
  75. package/dist/templates/markdown/index.js +17 -0
  76. package/dist/templates/markdown/index.js.map +1 -1
  77. package/dist/templates/markdown/spec/guides/index.md.txt +0 -6
  78. package/dist/templates/shared-hooks/event-bridge.py +60 -0
  79. package/dist/templates/shared-hooks/index.d.ts +1 -1
  80. package/dist/templates/shared-hooks/index.d.ts.map +1 -1
  81. package/dist/templates/shared-hooks/index.js +1 -0
  82. package/dist/templates/shared-hooks/index.js.map +1 -1
  83. package/dist/templates/shared-hooks/session-start.py +18 -1
  84. package/dist/templates/trellis/CONTEXT.md +63 -3
  85. package/dist/templates/trellis/gitignore.txt +39 -39
  86. package/dist/templates/trellis/index.d.ts +12 -0
  87. package/dist/templates/trellis/index.d.ts.map +1 -1
  88. package/dist/templates/trellis/index.js +73 -15
  89. package/dist/templates/trellis/index.js.map +1 -1
  90. package/dist/templates/trellis/pool/README.md +12 -3
  91. package/dist/templates/trellis/pool/plan.md +24 -5
  92. package/dist/templates/trellis/scripts/common/adapter_middleware.py +158 -0
  93. package/dist/templates/trellis/scripts/common/artifact_locale.py +12 -3
  94. package/dist/templates/trellis/scripts/common/cursor_retrieval_env.py +5 -2
  95. package/dist/templates/trellis/scripts/common/full_quality.py +237 -0
  96. package/dist/templates/trellis/scripts/common/git.py +6 -0
  97. package/dist/templates/trellis/scripts/common/git_context.py +17 -5
  98. package/dist/templates/trellis/scripts/common/kernel_command.py +367 -0
  99. package/dist/templates/trellis/scripts/common/lite_context.py +280 -0
  100. package/dist/templates/trellis/scripts/common/ondemand_topology.py +225 -0
  101. package/dist/templates/trellis/scripts/common/parent_orchestration.py +1 -1
  102. package/dist/templates/trellis/scripts/common/pool_store.py +16 -4
  103. package/dist/templates/trellis/scripts/common/retrieval_agent_instructions.py +2 -2
  104. package/dist/templates/trellis/scripts/common/session_context.py +28 -2
  105. package/dist/templates/trellis/scripts/common/task_gates.py +73 -12
  106. package/dist/templates/trellis/scripts/common/task_map.py +42 -9
  107. package/dist/templates/trellis/scripts/common/task_store.py +286 -56
  108. package/dist/templates/trellis/scripts/common/test_adapter_middleware.py +56 -0
  109. package/dist/templates/trellis/scripts/common/test_depends_mode_block.py +9 -0
  110. package/dist/templates/trellis/scripts/common/test_full_quality.py +197 -0
  111. package/dist/templates/trellis/scripts/common/test_kernel_command.py +326 -0
  112. package/dist/templates/trellis/scripts/common/test_lite_path.py +190 -0
  113. package/dist/templates/trellis/scripts/common/test_ondemand_topology.py +122 -0
  114. package/dist/templates/trellis/scripts/common/test_pool_store.py +17 -0
  115. package/dist/templates/trellis/scripts/common/test_task_store_kernel_patch.py +163 -0
  116. package/dist/templates/trellis/scripts/common/workflow_phase.py +3 -0
  117. package/dist/templates/trellis/scripts/get_context.py +1 -0
  118. package/dist/templates/trellis/scripts/pool.py +5 -0
  119. package/dist/templates/trellis/scripts/task.py +83 -7
  120. package/dist/templates/trellis/workflow.md +100 -18
  121. package/dist/utils/cursor-retrieval-env.d.ts +2 -1
  122. package/dist/utils/cursor-retrieval-env.d.ts.map +1 -1
  123. package/dist/utils/cursor-retrieval-env.js +3 -2
  124. package/dist/utils/cursor-retrieval-env.js.map +1 -1
  125. package/dist/utils/cursor2plus-residue-cleanup.d.ts +38 -0
  126. package/dist/utils/cursor2plus-residue-cleanup.d.ts.map +1 -0
  127. package/dist/utils/cursor2plus-residue-cleanup.js +145 -0
  128. package/dist/utils/cursor2plus-residue-cleanup.js.map +1 -0
  129. package/dist/utils/manifest-prune.d.ts.map +1 -1
  130. package/dist/utils/manifest-prune.js +7 -2
  131. package/dist/utils/manifest-prune.js.map +1 -1
  132. package/dist/utils/p36-upgrade.d.ts +62 -0
  133. package/dist/utils/p36-upgrade.d.ts.map +1 -0
  134. package/dist/utils/p36-upgrade.js +160 -0
  135. package/dist/utils/p36-upgrade.js.map +1 -0
  136. package/dist/utils/project-capabilities.d.ts +1 -12
  137. package/dist/utils/project-capabilities.d.ts.map +1 -1
  138. package/dist/utils/project-capabilities.js +3 -100
  139. package/dist/utils/project-capabilities.js.map +1 -1
  140. package/dist/utils/readiness.d.ts +10 -0
  141. package/dist/utils/readiness.d.ts.map +1 -1
  142. package/dist/utils/readiness.js +58 -26
  143. package/dist/utils/readiness.js.map +1 -1
  144. package/dist/utils/retrieval-agent-instructions.js +1 -1
  145. package/dist/utils/retrieval-agent-instructions.js.map +1 -1
  146. package/dist/utils/template-hash.d.ts.map +1 -1
  147. package/dist/utils/template-hash.js +11 -1
  148. package/dist/utils/template-hash.js.map +1 -1
  149. package/dist/utils/uninstall-scrubbers.d.ts.map +1 -1
  150. package/dist/utils/uninstall-scrubbers.js +52 -14
  151. package/dist/utils/uninstall-scrubbers.js.map +1 -1
  152. package/dist/utils/update-rollout-report.d.ts +14 -0
  153. package/dist/utils/update-rollout-report.d.ts.map +1 -1
  154. package/dist/utils/update-rollout-report.js +1 -0
  155. package/dist/utils/update-rollout-report.js.map +1 -1
  156. package/dist/utils/workflow-ownership.d.ts +1 -1
  157. package/dist/utils/workflow-ownership.js +4 -4
  158. package/dist/utils/workflow-ownership.js.map +1 -1
  159. package/package.json +5 -4
  160. package/scripts/postinstall.js +6 -7
  161. package/dist/commands/campaign/canvas-render.d.ts +0 -68
  162. package/dist/commands/campaign/canvas-render.d.ts.map +0 -1
  163. package/dist/commands/campaign/canvas-render.js +0 -414
  164. package/dist/commands/campaign/canvas-render.js.map +0 -1
  165. package/dist/commands/campaign/compose.d.ts +0 -15
  166. package/dist/commands/campaign/compose.d.ts.map +0 -1
  167. package/dist/commands/campaign/compose.js +0 -110
  168. package/dist/commands/campaign/compose.js.map +0 -1
  169. package/dist/commands/campaign/index.d.ts +0 -13
  170. package/dist/commands/campaign/index.d.ts.map +0 -1
  171. package/dist/commands/campaign/index.js +0 -134
  172. package/dist/commands/campaign/index.js.map +0 -1
  173. package/dist/commands/campaign/kind-map.d.ts +0 -6
  174. package/dist/commands/campaign/kind-map.d.ts.map +0 -1
  175. package/dist/commands/campaign/kind-map.js +0 -21
  176. package/dist/commands/campaign/kind-map.js.map +0 -1
  177. package/dist/commands/campaign/mcp-server.d.ts +0 -6
  178. package/dist/commands/campaign/mcp-server.d.ts.map +0 -1
  179. package/dist/commands/campaign/mcp-server.js +0 -167
  180. package/dist/commands/campaign/mcp-server.js.map +0 -1
  181. package/dist/commands/campaign/render.d.ts +0 -5
  182. package/dist/commands/campaign/render.d.ts.map +0 -1
  183. package/dist/commands/campaign/render.js +0 -103
  184. package/dist/commands/campaign/render.js.map +0 -1
  185. package/dist/commands/campaign/trellis-load.d.ts +0 -13
  186. package/dist/commands/campaign/trellis-load.d.ts.map +0 -1
  187. package/dist/commands/campaign/trellis-load.js +0 -122
  188. package/dist/commands/campaign/trellis-load.js.map +0 -1
  189. package/dist/commands/campaign/types.d.ts +0 -61
  190. package/dist/commands/campaign/types.d.ts.map +0 -1
  191. package/dist/commands/campaign/types.js +0 -3
  192. package/dist/commands/campaign/types.js.map +0 -1
  193. package/dist/commands/goal/index.d.ts +0 -3
  194. package/dist/commands/goal/index.d.ts.map +0 -1
  195. package/dist/commands/goal/index.js +0 -159
  196. package/dist/commands/goal/index.js.map +0 -1
  197. package/dist/commands/goal/review.d.ts +0 -6
  198. package/dist/commands/goal/review.d.ts.map +0 -1
  199. package/dist/commands/goal/review.js +0 -28
  200. package/dist/commands/goal/review.js.map +0 -1
  201. package/dist/commands/rpc/client.d.ts +0 -51
  202. package/dist/commands/rpc/client.d.ts.map +0 -1
  203. package/dist/commands/rpc/client.js +0 -147
  204. package/dist/commands/rpc/client.js.map +0 -1
  205. package/dist/commands/rpc/index.d.ts +0 -10
  206. package/dist/commands/rpc/index.d.ts.map +0 -1
  207. package/dist/commands/rpc/index.js +0 -157
  208. package/dist/commands/rpc/index.js.map +0 -1
  209. package/dist/commands/rpc/serve.d.ts +0 -23
  210. package/dist/commands/rpc/serve.d.ts.map +0 -1
  211. package/dist/commands/rpc/serve.js +0 -60
  212. package/dist/commands/rpc/serve.js.map +0 -1
  213. package/dist/commands/rpc/smoke.d.ts +0 -16
  214. package/dist/commands/rpc/smoke.d.ts.map +0 -1
  215. package/dist/commands/rpc/smoke.js +0 -92
  216. package/dist/commands/rpc/smoke.js.map +0 -1
  217. package/dist/commands/sdk/index.d.ts +0 -9
  218. package/dist/commands/sdk/index.d.ts.map +0 -1
  219. package/dist/commands/sdk/index.js +0 -58
  220. package/dist/commands/sdk/index.js.map +0 -1
  221. package/dist/commands/sdk/run.d.ts +0 -42
  222. package/dist/commands/sdk/run.d.ts.map +0 -1
  223. package/dist/commands/sdk/run.js +0 -220
  224. package/dist/commands/sdk/run.js.map +0 -1
  225. package/dist/commands/sdk/status.d.ts +0 -14
  226. package/dist/commands/sdk/status.d.ts.map +0 -1
  227. package/dist/commands/sdk/status.js +0 -69
  228. package/dist/commands/sdk/status.js.map +0 -1
  229. package/dist/configurators/cursor2plus-local.d.ts +0 -6
  230. package/dist/configurators/cursor2plus-local.d.ts.map +0 -1
  231. package/dist/configurators/cursor2plus-local.js +0 -21
  232. package/dist/configurators/cursor2plus-local.js.map +0 -1
  233. package/dist/goal/action-packet.d.ts +0 -89
  234. package/dist/goal/action-packet.d.ts.map +0 -1
  235. package/dist/goal/action-packet.js +0 -113
  236. package/dist/goal/action-packet.js.map +0 -1
  237. package/dist/goal/audit.d.ts +0 -14
  238. package/dist/goal/audit.d.ts.map +0 -1
  239. package/dist/goal/audit.js +0 -12
  240. package/dist/goal/audit.js.map +0 -1
  241. package/dist/goal/constants.d.ts +0 -26
  242. package/dist/goal/constants.d.ts.map +0 -1
  243. package/dist/goal/constants.js +0 -24
  244. package/dist/goal/constants.js.map +0 -1
  245. package/dist/goal/paths.d.ts +0 -8
  246. package/dist/goal/paths.d.ts.map +0 -1
  247. package/dist/goal/paths.js +0 -36
  248. package/dist/goal/paths.js.map +0 -1
  249. package/dist/goal/preflight.d.ts +0 -21
  250. package/dist/goal/preflight.d.ts.map +0 -1
  251. package/dist/goal/preflight.js +0 -97
  252. package/dist/goal/preflight.js.map +0 -1
  253. package/dist/goal/review-seam.d.ts +0 -44
  254. package/dist/goal/review-seam.d.ts.map +0 -1
  255. package/dist/goal/review-seam.js +0 -153
  256. package/dist/goal/review-seam.js.map +0 -1
  257. package/dist/goal/reviewer-rules.d.ts +0 -13
  258. package/dist/goal/reviewer-rules.d.ts.map +0 -1
  259. package/dist/goal/reviewer-rules.js +0 -153
  260. package/dist/goal/reviewer-rules.js.map +0 -1
  261. package/dist/goal/reviewer.d.ts +0 -9
  262. package/dist/goal/reviewer.d.ts.map +0 -1
  263. package/dist/goal/reviewer.js +0 -54
  264. package/dist/goal/reviewer.js.map +0 -1
  265. package/dist/goal/runtime.d.ts +0 -32
  266. package/dist/goal/runtime.d.ts.map +0 -1
  267. package/dist/goal/runtime.js +0 -242
  268. package/dist/goal/runtime.js.map +0 -1
  269. package/dist/goal/sdk-client.d.ts +0 -10
  270. package/dist/goal/sdk-client.d.ts.map +0 -1
  271. package/dist/goal/sdk-client.js +0 -34
  272. package/dist/goal/sdk-client.js.map +0 -1
  273. package/dist/goal/state.d.ts +0 -40
  274. package/dist/goal/state.d.ts.map +0 -1
  275. package/dist/goal/state.js +0 -37
  276. package/dist/goal/state.js.map +0 -1
  277. package/dist/goal/task-triggers.d.ts +0 -15
  278. package/dist/goal/task-triggers.d.ts.map +0 -1
  279. package/dist/goal/task-triggers.js +0 -23
  280. package/dist/goal/task-triggers.js.map +0 -1
  281. package/dist/goal/walls.d.ts +0 -12
  282. package/dist/goal/walls.d.ts.map +0 -1
  283. package/dist/goal/walls.js +0 -65
  284. package/dist/goal/walls.js.map +0 -1
  285. package/dist/goal/worker-prompt.d.ts +0 -13
  286. package/dist/goal/worker-prompt.d.ts.map +0 -1
  287. package/dist/goal/worker-prompt.js +0 -41
  288. package/dist/goal/worker-prompt.js.map +0 -1
  289. package/dist/goal/worker.d.ts +0 -42
  290. package/dist/goal/worker.d.ts.map +0 -1
  291. package/dist/goal/worker.js +0 -180
  292. package/dist/goal/worker.js.map +0 -1
  293. package/dist/templates/common/bundled-skills/cstl-cursor2plus-setup/SKILL.md +0 -63
  294. package/dist/templates/cursor/commands/cursor2plus-setup.md +0 -82
  295. package/dist/templates/cursor/rules/cstl-cursor-modes.mdc +0 -32
  296. package/dist/templates/cursor/rules/cstl-session-rename.mdc +0 -31
  297. package/dist/templates/cursor/rules/cstl-subagent-dispatch.mdc +0 -34
  298. package/dist/templates/cursor/rules/cstl-triage.mdc +0 -36
  299. package/dist/templates/cursor/rules/retrieval-routing.mdc +0 -78
  300. package/dist/templates/trellis/local/README.md +0 -85
  301. package/dist/templates/trellis/local/config.local.json.example +0 -6
  302. package/dist/templates/trellis/local/index.d.ts +0 -8
  303. package/dist/templates/trellis/local/index.d.ts.map +0 -1
  304. package/dist/templates/trellis/local/index.js +0 -15
  305. package/dist/templates/trellis/local/index.js.map +0 -1
  306. package/dist/templates/trellis/local/patch_wpelc8.py +0 -421
  307. package/dist/templates/trellis/local/smoke.py +0 -94
  308. package/dist/templates/trellis/local/subagent-models.json.example +0 -4
  309. package/dist/templates/trellis/local/trellis-task-models.json.example +0 -10
  310. package/dist/templates/trellis/local/trellis-task-models.json5.example +0 -45
  311. package/dist/templates/trellis/local/trellis_task_models_config.py +0 -200
  312. package/dist/utils/cursor-sdk-gate.d.ts +0 -10
  313. package/dist/utils/cursor-sdk-gate.d.ts.map +0 -1
  314. package/dist/utils/cursor-sdk-gate.js +0 -32
  315. package/dist/utils/cursor-sdk-gate.js.map +0 -1
@@ -34,7 +34,7 @@ import fs from "node:fs";
34
34
  import path from "node:path";
35
35
  import { collectPlatformTemplates } from "../configurators/index.js";
36
36
  import { getWorkflowRootTemplateFiles } from "../configurators/workflow.js";
37
- import { FILE_NAMES } from "../constants/paths.js";
37
+ import { FILE_NAMES, isUserMiddlewareOverlayPath } from "../constants/paths.js";
38
38
  import { getAllMigrations } from "../migrations/index.js";
39
39
  import { saveHashes } from "./template-hash.js";
40
40
  import { toPosix } from "./posix.js";
@@ -115,7 +115,12 @@ export function pruneOrphanManifestKeys(cwd, configuredPlatforms, hashes, option
115
115
  const key = toPosix(rawKey);
116
116
  // Always preserve .cstl/ entries — they're for the workflow tree
117
117
  // which uninstall removes wholesale and which update needs for
118
- // modified-file detection.
118
+ // modified-file detection. Exception: user middleware overlay must
119
+ // never stay in the template hash (poisoned or accidental).
120
+ if (isUserMiddlewareOverlayPath(key)) {
121
+ pruned.push(key);
122
+ continue;
123
+ }
119
124
  if (key.startsWith(".cstl/") || key === ".cstl") {
120
125
  kept[key] = value;
121
126
  continue;
@@ -1 +1 @@
1
- {"version":3,"file":"manifest-prune.js","sourceRoot":"","sources":["../../src/utils/manifest-prune.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"manifest-prune.js","sourceRoot":"","sources":["../../src/utils/manifest-prune.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA+BG;AAEH,OAAO,EAAE,MAAM,SAAS,CAAC;AACzB,OAAO,IAAI,MAAM,WAAW,CAAC;AAE7B,OAAO,EAAE,wBAAwB,EAAE,MAAM,2BAA2B,CAAC;AACrE,OAAO,EAAE,4BAA4B,EAAE,MAAM,8BAA8B,CAAC;AAC5E,OAAO,EAAE,UAAU,EAAE,2BAA2B,EAAE,MAAM,uBAAuB,CAAC;AAChF,OAAO,EAAE,gBAAgB,EAAE,MAAM,wBAAwB,CAAC;AAC1D,OAAO,EAAE,UAAU,EAAE,MAAM,oBAAoB,CAAC;AAChD,OAAO,EAAE,OAAO,EAAE,MAAM,YAAY,CAAC;AAIrC,MAAM,mBAAmB,GAAG,wBAAwB,CAAC;AACrD,MAAM,iBAAiB,GAAG,sBAAsB,CAAC;AASjD;;;;;;GAMG;AACH,SAAS,cAAc,CAAC,mBAAsC;IAC5D,MAAM,KAAK,GAAG,IAAI,GAAG,EAAU,CAAC;IAChC,KAAK,MAAM,EAAE,IAAI,mBAAmB,EAAE,CAAC;QACrC,MAAM,SAAS,GAAG,wBAAwB,CAAC,EAAE,CAAC,CAAC;QAC/C,IAAI,CAAC,SAAS;YAAE,SAAS;QACzB,KAAK,MAAM,GAAG,IAAI,SAAS,CAAC,IAAI,EAAE,EAAE,CAAC;YACnC,KAAK,CAAC,GAAG,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC;QAC1B,CAAC;IACH,CAAC;IACD,qEAAqE;IACrE,uEAAuE;IACvE,8DAA8D;IAC9D,KAAK,MAAM,GAAG,IAAI,4BAA4B,EAAE,CAAC,IAAI,EAAE,EAAE,CAAC;QACxD,KAAK,CAAC,GAAG,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC;IAC1B,CAAC;IACD,kEAAkE;IAClE,0EAA0E;IAC1E,sEAAsE;IACtE,KAAK,MAAM,SAAS,IAAI,gBAAgB,EAAE,EAAE,CAAC;QAC3C,IAAI,SAAS,CAAC,IAAI;YAAE,KAAK,CAAC,GAAG,CAAC,OAAO,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC,CAAC;QACvD,IAAI,SAAS,CAAC,EAAE;YAAE,KAAK,CAAC,GAAG,CAAC,OAAO,CAAC,SAAS,CAAC,EAAE,CAAC,CAAC,CAAC;IACrD,CAAC;IAED,OAAO,KAAK,CAAC;AACf,CAAC;AAED;;;;;;GAMG;AACH,SAAS,kBAAkB,CAAC,GAAW;IACrC,MAAM,QAAQ,GAAG,IAAI,CAAC,IAAI,CAAC,GAAG,EAAE,UAAU,CAAC,MAAM,CAAC,CAAC;IACnD,IAAI,CAAC,EAAE,CAAC,UAAU,CAAC,QAAQ,CAAC,EAAE,CAAC;QAC7B,OAAO,IAAI,CAAC;IACd,CAAC;IACD,IAAI,CAAC;QACH,MAAM,OAAO,GAAG,EAAE,CAAC,YAAY,CAAC,QAAQ,EAAE,OAAO,CAAC,CAAC;QACnD,OAAO,CACL,OAAO,CAAC,QAAQ,CAAC,mBAAmB,CAAC;YACrC,OAAO,CAAC,QAAQ,CAAC,iBAAiB,CAAC,CACpC,CAAC;IACJ,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,IAAI,CAAC;IACd,CAAC;AACH,CAAC;AAWD;;;;;;;;;;GAUG;AACH,MAAM,UAAU,uBAAuB,CACrC,GAAW,EACX,mBAAsC,EACtC,MAAsB,EACtB,UAAwB,EAAE;IAE1B,MAAM,OAAO,GAAG,OAAO,CAAC,OAAO,IAAI,IAAI,CAAC;IACxC,MAAM,KAAK,GAAG,cAAc,CAAC,mBAAmB,CAAC,CAAC;IAClD,MAAM,MAAM,GAAa,EAAE,CAAC;IAC5B,MAAM,IAAI,GAAmB,EAAE,CAAC;IAEhC,KAAK,MAAM,CAAC,MAAM,EAAE,KAAK,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,MAAM,CAAC,EAAE,CAAC;QACrD,MAAM,GAAG,GAAG,OAAO,CAAC,MAAM,CAAC,CAAC;QAC5B,iEAAiE;QACjE,+DAA+D;QAC/D,mEAAmE;QACnE,4DAA4D;QAC5D,IAAI,2BAA2B,CAAC,GAAG,CAAC,EAAE,CAAC;YACrC,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;YACjB,SAAS;QACX,CAAC;QACD,IAAI,GAAG,CAAC,UAAU,CAAC,QAAQ,CAAC,IAAI,GAAG,KAAK,OAAO,EAAE,CAAC;YAChD,IAAI,CAAC,GAAG,CAAC,GAAG,KAAK,CAAC;YAClB,SAAS;QACX,CAAC;QACD,IAAI,GAAG,KAAK,UAAU,CAAC,MAAM,EAAE,CAAC;YAC9B,IAAI,kBAAkB,CAAC,GAAG,CAAC,EAAE,CAAC;gBAC5B,IAAI,CAAC,GAAG,CAAC,GAAG,KAAK,CAAC;YACpB,CAAC;iBAAM,CAAC;gBACN,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;YACnB,CAAC;YACD,SAAS;QACX,CAAC;QACD,IAAI,KAAK,CAAC,GAAG,CAAC,GAAG,CAAC,EAAE,CAAC;YACnB,IAAI,CAAC,GAAG,CAAC,GAAG,KAAK,CAAC;YAClB,SAAS;QACX,CAAC;QACD,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;IACnB,CAAC;IAED,IAAI,OAAO,IAAI,MAAM,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QACjC,UAAU,CAAC,GAAG,EAAE,IAAI,CAAC,CAAC;IACxB,CAAC;IAED,OAAO,EAAE,MAAM,EAAE,MAAM,EAAE,IAAI,EAAE,CAAC;AAClC,CAAC"}
@@ -0,0 +1,62 @@
1
+ /**
2
+ * P36 official-surface A planner + vernacular summary for `cstl update`.
3
+ *
4
+ * Wave A refreshes unmodified shipped files (already owned by update hash
5
+ * analysis) and retires leftover extra always-on rules. User-modified
6
+ * official files are listed and kept. Wave C stop-read is confirm-gated
7
+ * on the same `cstl update` + one confirm.
8
+ */
9
+ import { type ArtifactMigratePlan, type WaveCPlan } from "@blxzer/cursor-trellis-core/task";
10
+ import type { TemplateHashes } from "../types/migration.js";
11
+ export declare const RETIRED_ALWAYS_ON_RULES: readonly [".cursor/rules/cstl-triage.mdc", ".cursor/rules/trellis-triage.mdc", ".cursor/rules/cstl-subagent-dispatch.mdc", ".cursor/rules/trellis-subagent-dispatch.mdc", ".cursor/rules/retrieval-routing.mdc", ".cursor/rules/cstl-retrieval-routing.mdc", ".cursor/rules/trellis-retrieval-routing.mdc"];
12
+ export declare const KEEP_ALWAYS_ON_RULES: readonly [".cursor/rules/cstl-bootstrap.mdc"];
13
+ export type OfficialRetireAction = "retire" | "preserve";
14
+ export interface OfficialSurfaceItem {
15
+ path: string;
16
+ action: OfficialRetireAction;
17
+ reason: string;
18
+ }
19
+ export interface OfficialSurfacePlan {
20
+ refresh: string[];
21
+ preserved: string[];
22
+ added: string[];
23
+ retire: OfficialSurfaceItem[];
24
+ preserve: OfficialSurfaceItem[];
25
+ }
26
+ export interface P36UpgradePlan {
27
+ official: OfficialSurfacePlan;
28
+ artifacts: ArtifactMigratePlan;
29
+ writeArtifacts: boolean;
30
+ waveC: WaveCPlan;
31
+ vernacular: string[];
32
+ }
33
+ export declare function planOfficialSurfaceA(options: {
34
+ cwd: string;
35
+ hashes: TemplateHashes;
36
+ refresh: string[];
37
+ preserved: string[];
38
+ added?: string[];
39
+ }): OfficialSurfacePlan;
40
+ export declare function applyOfficialRetire(cwd: string, plan: OfficialSurfacePlan): number;
41
+ export declare function composeP36Plan(options: {
42
+ official: OfficialSurfacePlan;
43
+ artifacts: ArtifactMigratePlan;
44
+ writeArtifacts: boolean;
45
+ waveC: WaveCPlan;
46
+ }): P36UpgradePlan;
47
+ export declare function printP36Vernacular(plan: P36UpgradePlan): void;
48
+ export declare function officialWorkPending(plan: OfficialSurfacePlan): boolean;
49
+ export declare function waveCWorkPending(plan: P36UpgradePlan): boolean;
50
+ export declare function p36SummaryForRollout(plan: P36UpgradePlan): {
51
+ officialRefresh: number;
52
+ officialPreserved: number;
53
+ officialRetire: number;
54
+ artifactDualRead: number;
55
+ artifactWritable: number;
56
+ degraded: string[];
57
+ writeArtifacts: boolean;
58
+ waveCConfirmed: boolean;
59
+ leftoverCloseout: number;
60
+ alreadyNewShape: number;
61
+ };
62
+ //# sourceMappingURL=p36-upgrade.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"p36-upgrade.d.ts","sourceRoot":"","sources":["../../src/utils/p36-upgrade.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAOH,OAAO,EAGL,KAAK,mBAAmB,EACxB,KAAK,SAAS,EACf,MAAM,kCAAkC,CAAC;AAC1C,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,uBAAuB,CAAC;AAI5D,eAAO,MAAM,uBAAuB,6SAQ1B,CAAC;AAEX,eAAO,MAAM,oBAAoB,+CAAgD,CAAC;AAElF,MAAM,MAAM,oBAAoB,GAAG,QAAQ,GAAG,UAAU,CAAC;AAEzD,MAAM,WAAW,mBAAmB;IAClC,IAAI,EAAE,MAAM,CAAC;IACb,MAAM,EAAE,oBAAoB,CAAC;IAC7B,MAAM,EAAE,MAAM,CAAC;CAChB;AAED,MAAM,WAAW,mBAAmB;IAClC,OAAO,EAAE,MAAM,EAAE,CAAC;IAClB,SAAS,EAAE,MAAM,EAAE,CAAC;IACpB,KAAK,EAAE,MAAM,EAAE,CAAC;IAChB,MAAM,EAAE,mBAAmB,EAAE,CAAC;IAC9B,QAAQ,EAAE,mBAAmB,EAAE,CAAC;CACjC;AAED,MAAM,WAAW,cAAc;IAC7B,QAAQ,EAAE,mBAAmB,CAAC;IAC9B,SAAS,EAAE,mBAAmB,CAAC;IAC/B,cAAc,EAAE,OAAO,CAAC;IACxB,KAAK,EAAE,SAAS,CAAC;IACjB,UAAU,EAAE,MAAM,EAAE,CAAC;CACtB;AAED,wBAAgB,oBAAoB,CAAC,OAAO,EAAE;IAC5C,GAAG,EAAE,MAAM,CAAC;IACZ,MAAM,EAAE,cAAc,CAAC;IACvB,OAAO,EAAE,MAAM,EAAE,CAAC;IAClB,SAAS,EAAE,MAAM,EAAE,CAAC;IACpB,KAAK,CAAC,EAAE,MAAM,EAAE,CAAC;CAClB,GAAG,mBAAmB,CA8CtB;AAED,wBAAgB,mBAAmB,CACjC,GAAG,EAAE,MAAM,EACX,IAAI,EAAE,mBAAmB,GACxB,MAAM,CAcR;AAED,wBAAgB,cAAc,CAAC,OAAO,EAAE;IACtC,QAAQ,EAAE,mBAAmB,CAAC;IAC9B,SAAS,EAAE,mBAAmB,CAAC;IAC/B,cAAc,EAAE,OAAO,CAAC;IACxB,KAAK,EAAE,SAAS,CAAC;CAClB,GAAG,cAAc,CAoBjB;AAED,wBAAgB,kBAAkB,CAAC,IAAI,EAAE,cAAc,GAAG,IAAI,CAkB7D;AAED,wBAAgB,mBAAmB,CAAC,IAAI,EAAE,mBAAmB,GAAG,OAAO,CAMtE;AAED,wBAAgB,gBAAgB,CAAC,IAAI,EAAE,cAAc,GAAG,OAAO,CAE9D;AAED,wBAAgB,oBAAoB,CAAC,IAAI,EAAE,cAAc,GAAG;IAC1D,eAAe,EAAE,MAAM,CAAC;IACxB,iBAAiB,EAAE,MAAM,CAAC;IAC1B,cAAc,EAAE,MAAM,CAAC;IACvB,gBAAgB,EAAE,MAAM,CAAC;IACzB,gBAAgB,EAAE,MAAM,CAAC;IACzB,QAAQ,EAAE,MAAM,EAAE,CAAC;IACnB,cAAc,EAAE,OAAO,CAAC;IACxB,cAAc,EAAE,OAAO,CAAC;IACxB,gBAAgB,EAAE,MAAM,CAAC;IACzB,eAAe,EAAE,MAAM,CAAC;CACzB,CAiBA"}
@@ -0,0 +1,160 @@
1
+ /**
2
+ * P36 official-surface A planner + vernacular summary for `cstl update`.
3
+ *
4
+ * Wave A refreshes unmodified shipped files (already owned by update hash
5
+ * analysis) and retires leftover extra always-on rules. User-modified
6
+ * official files are listed and kept. Wave C stop-read is confirm-gated
7
+ * on the same `cstl update` + one confirm.
8
+ */
9
+ import fs from "node:fs";
10
+ import path from "node:path";
11
+ import chalk from "chalk";
12
+ import { formatArtifactVernacular, formatWaveCVernacular, } from "@blxzer/cursor-trellis-core/task";
13
+ import { computeHash, removeHash } from "./template-hash.js";
14
+ import { toPosix } from "./posix.js";
15
+ export const RETIRED_ALWAYS_ON_RULES = [
16
+ ".cursor/rules/cstl-triage.mdc",
17
+ ".cursor/rules/trellis-triage.mdc",
18
+ ".cursor/rules/cstl-subagent-dispatch.mdc",
19
+ ".cursor/rules/trellis-subagent-dispatch.mdc",
20
+ ".cursor/rules/retrieval-routing.mdc",
21
+ ".cursor/rules/cstl-retrieval-routing.mdc",
22
+ ".cursor/rules/trellis-retrieval-routing.mdc",
23
+ ];
24
+ export const KEEP_ALWAYS_ON_RULES = [".cursor/rules/cstl-bootstrap.mdc"];
25
+ export function planOfficialSurfaceA(options) {
26
+ const retire = [];
27
+ const preserve = [];
28
+ for (const relativePath of RETIRED_ALWAYS_ON_RULES) {
29
+ const fullPath = path.join(options.cwd, relativePath);
30
+ if (!fs.existsSync(fullPath))
31
+ continue;
32
+ const posix = toPosix(relativePath);
33
+ const stored = options.hashes[posix] ?? options.hashes[relativePath];
34
+ let currentHash = null;
35
+ try {
36
+ currentHash = computeHash(fs.readFileSync(fullPath, "utf-8"));
37
+ }
38
+ catch {
39
+ preserve.push({
40
+ path: posix,
41
+ action: "preserve",
42
+ reason: "unreadable leftover",
43
+ });
44
+ continue;
45
+ }
46
+ const unmodified = Boolean(stored && stored === currentHash);
47
+ const knownUntracked = !stored && hasAlwaysApply(fullPath);
48
+ if (unmodified || knownUntracked) {
49
+ retire.push({
50
+ path: posix,
51
+ action: "retire",
52
+ reason: unmodified
53
+ ? "unmodified shipped always-on"
54
+ : "known official always-on path",
55
+ });
56
+ }
57
+ else {
58
+ preserve.push({
59
+ path: posix,
60
+ action: "preserve",
61
+ reason: "you edited this official file",
62
+ });
63
+ }
64
+ }
65
+ return {
66
+ refresh: [...options.refresh],
67
+ preserved: [...options.preserved],
68
+ added: [...(options.added ?? [])],
69
+ retire,
70
+ preserve,
71
+ };
72
+ }
73
+ export function applyOfficialRetire(cwd, plan) {
74
+ let deleted = 0;
75
+ for (const item of plan.retire) {
76
+ const fullPath = path.join(cwd, item.path);
77
+ if (!fs.existsSync(fullPath))
78
+ continue;
79
+ fs.unlinkSync(fullPath);
80
+ try {
81
+ removeHash(cwd, item.path);
82
+ }
83
+ catch {
84
+ // Hash store is optional in unit fixtures; retiring the file is enough.
85
+ }
86
+ deleted += 1;
87
+ }
88
+ return deleted;
89
+ }
90
+ export function composeP36Plan(options) {
91
+ const officialCount = options.official.refresh.length +
92
+ options.official.added.length +
93
+ options.official.retire.length;
94
+ const preservedCount = options.official.preserved.length + options.official.preserve.length;
95
+ const vernacular = [
96
+ `官方面:将刷新 ${officialCount} 个未改过的官方文件/规则;你改过的 ${preservedCount} 个已保留。`,
97
+ "--force / --skip-all / --create-new 会套官方文件,但不写 .p36-wave-c.json;只有交互确认 Proceed? 才停读。",
98
+ ...formatArtifactVernacular(options.artifacts, options.writeArtifacts),
99
+ ...formatWaveCVernacular(options.waveC),
100
+ ];
101
+ return {
102
+ official: options.official,
103
+ artifacts: options.artifacts,
104
+ writeArtifacts: options.writeArtifacts,
105
+ waveC: options.waveC,
106
+ vernacular,
107
+ };
108
+ }
109
+ export function printP36Vernacular(plan) {
110
+ console.log(chalk.cyan("升级摘要"));
111
+ for (const line of plan.vernacular) {
112
+ console.log(` ${line}`);
113
+ }
114
+ if (plan.official.preserve.length > 0) {
115
+ console.log(chalk.yellow(" 你改过、已保留:"));
116
+ for (const item of plan.official.preserve) {
117
+ console.log(chalk.yellow(` ? ${item.path}`));
118
+ }
119
+ }
120
+ if (plan.official.preserved.length > 0 && plan.official.preserve.length === 0) {
121
+ console.log(chalk.yellow(" 你改过、已保留:"));
122
+ for (const relativePath of plan.official.preserved.slice(0, 8)) {
123
+ console.log(chalk.yellow(` ? ${relativePath}`));
124
+ }
125
+ }
126
+ console.log("");
127
+ }
128
+ export function officialWorkPending(plan) {
129
+ return (plan.refresh.length > 0 ||
130
+ plan.added.length > 0 ||
131
+ plan.retire.length > 0);
132
+ }
133
+ export function waveCWorkPending(plan) {
134
+ return !plan.waveC.confirmed;
135
+ }
136
+ export function p36SummaryForRollout(plan) {
137
+ return {
138
+ officialRefresh: plan.official.refresh.length +
139
+ plan.official.added.length +
140
+ plan.official.retire.length,
141
+ officialPreserved: plan.official.preserved.length + plan.official.preserve.length,
142
+ officialRetire: plan.official.retire.length,
143
+ artifactDualRead: plan.artifacts.activeDualRead,
144
+ artifactWritable: plan.writeArtifacts ? plan.artifacts.writable.length : 0,
145
+ degraded: plan.artifacts.degraded,
146
+ writeArtifacts: plan.writeArtifacts,
147
+ waveCConfirmed: plan.waveC.confirmed,
148
+ leftoverCloseout: plan.waveC.leftoverCloseout,
149
+ alreadyNewShape: plan.waveC.alreadyNewShape,
150
+ };
151
+ }
152
+ function hasAlwaysApply(fullPath) {
153
+ try {
154
+ return /alwaysApply:\s*true/.test(fs.readFileSync(fullPath, "utf-8"));
155
+ }
156
+ catch {
157
+ return false;
158
+ }
159
+ }
160
+ //# sourceMappingURL=p36-upgrade.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"p36-upgrade.js","sourceRoot":"","sources":["../../src/utils/p36-upgrade.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAEH,OAAO,EAAE,MAAM,SAAS,CAAC;AACzB,OAAO,IAAI,MAAM,WAAW,CAAC;AAE7B,OAAO,KAAK,MAAM,OAAO,CAAC;AAE1B,OAAO,EACL,wBAAwB,EACxB,qBAAqB,GAGtB,MAAM,kCAAkC,CAAC;AAE1C,OAAO,EAAE,WAAW,EAAE,UAAU,EAAE,MAAM,oBAAoB,CAAC;AAC7D,OAAO,EAAE,OAAO,EAAE,MAAM,YAAY,CAAC;AAErC,MAAM,CAAC,MAAM,uBAAuB,GAAG;IACrC,+BAA+B;IAC/B,kCAAkC;IAClC,0CAA0C;IAC1C,6CAA6C;IAC7C,qCAAqC;IACrC,0CAA0C;IAC1C,6CAA6C;CACrC,CAAC;AAEX,MAAM,CAAC,MAAM,oBAAoB,GAAG,CAAC,kCAAkC,CAAU,CAAC;AA0BlF,MAAM,UAAU,oBAAoB,CAAC,OAMpC;IACC,MAAM,MAAM,GAA0B,EAAE,CAAC;IACzC,MAAM,QAAQ,GAA0B,EAAE,CAAC;IAE3C,KAAK,MAAM,YAAY,IAAI,uBAAuB,EAAE,CAAC;QACnD,MAAM,QAAQ,GAAG,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,GAAG,EAAE,YAAY,CAAC,CAAC;QACtD,IAAI,CAAC,EAAE,CAAC,UAAU,CAAC,QAAQ,CAAC;YAAE,SAAS;QACvC,MAAM,KAAK,GAAG,OAAO,CAAC,YAAY,CAAC,CAAC;QACpC,MAAM,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,IAAI,OAAO,CAAC,MAAM,CAAC,YAAY,CAAC,CAAC;QACrE,IAAI,WAAW,GAAkB,IAAI,CAAC;QACtC,IAAI,CAAC;YACH,WAAW,GAAG,WAAW,CAAC,EAAE,CAAC,YAAY,CAAC,QAAQ,EAAE,OAAO,CAAC,CAAC,CAAC;QAChE,CAAC;QAAC,MAAM,CAAC;YACP,QAAQ,CAAC,IAAI,CAAC;gBACZ,IAAI,EAAE,KAAK;gBACX,MAAM,EAAE,UAAU;gBAClB,MAAM,EAAE,qBAAqB;aAC9B,CAAC,CAAC;YACH,SAAS;QACX,CAAC;QACD,MAAM,UAAU,GAAG,OAAO,CAAC,MAAM,IAAI,MAAM,KAAK,WAAW,CAAC,CAAC;QAC7D,MAAM,cAAc,GAAG,CAAC,MAAM,IAAI,cAAc,CAAC,QAAQ,CAAC,CAAC;QAC3D,IAAI,UAAU,IAAI,cAAc,EAAE,CAAC;YACjC,MAAM,CAAC,IAAI,CAAC;gBACV,IAAI,EAAE,KAAK;gBACX,MAAM,EAAE,QAAQ;gBAChB,MAAM,EAAE,UAAU;oBAChB,CAAC,CAAC,8BAA8B;oBAChC,CAAC,CAAC,+BAA+B;aACpC,CAAC,CAAC;QACL,CAAC;aAAM,CAAC;YACN,QAAQ,CAAC,IAAI,CAAC;gBACZ,IAAI,EAAE,KAAK;gBACX,MAAM,EAAE,UAAU;gBAClB,MAAM,EAAE,+BAA+B;aACxC,CAAC,CAAC;QACL,CAAC;IACH,CAAC;IAED,OAAO;QACL,OAAO,EAAE,CAAC,GAAG,OAAO,CAAC,OAAO,CAAC;QAC7B,SAAS,EAAE,CAAC,GAAG,OAAO,CAAC,SAAS,CAAC;QACjC,KAAK,EAAE,CAAC,GAAG,CAAC,OAAO,CAAC,KAAK,IAAI,EAAE,CAAC,CAAC;QACjC,MAAM;QACN,QAAQ;KACT,CAAC;AACJ,CAAC;AAED,MAAM,UAAU,mBAAmB,CACjC,GAAW,EACX,IAAyB;IAEzB,IAAI,OAAO,GAAG,CAAC,CAAC;IAChB,KAAK,MAAM,IAAI,IAAI,IAAI,CAAC,MAAM,EAAE,CAAC;QAC/B,MAAM,QAAQ,GAAG,IAAI,CAAC,IAAI,CAAC,GAAG,EAAE,IAAI,CAAC,IAAI,CAAC,CAAC;QAC3C,IAAI,CAAC,EAAE,CAAC,UAAU,CAAC,QAAQ,CAAC;YAAE,SAAS;QACvC,EAAE,CAAC,UAAU,CAAC,QAAQ,CAAC,CAAC;QACxB,IAAI,CAAC;YACH,UAAU,CAAC,GAAG,EAAE,IAAI,CAAC,IAAI,CAAC,CAAC;QAC7B,CAAC;QAAC,MAAM,CAAC;YACP,wEAAwE;QAC1E,CAAC;QACD,OAAO,IAAI,CAAC,CAAC;IACf,CAAC;IACD,OAAO,OAAO,CAAC;AACjB,CAAC;AAED,MAAM,UAAU,cAAc,CAAC,OAK9B;IACC,MAAM,aAAa,GACjB,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAC,MAAM;QAC/B,OAAO,CAAC,QAAQ,CAAC,KAAK,CAAC,MAAM;QAC7B,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAC,MAAM,CAAC;IACjC,MAAM,cAAc,GAClB,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAC,MAAM,GAAG,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAAC,MAAM,CAAC;IACvE,MAAM,UAAU,GAAG;QACjB,WAAW,aAAa,sBAAsB,cAAc,QAAQ;QACpE,sFAAsF;QACtF,GAAG,wBAAwB,CAAC,OAAO,CAAC,SAAS,EAAE,OAAO,CAAC,cAAc,CAAC;QACtE,GAAG,qBAAqB,CAAC,OAAO,CAAC,KAAK,CAAC;KACxC,CAAC;IACF,OAAO;QACL,QAAQ,EAAE,OAAO,CAAC,QAAQ;QAC1B,SAAS,EAAE,OAAO,CAAC,SAAS;QAC5B,cAAc,EAAE,OAAO,CAAC,cAAc;QACtC,KAAK,EAAE,OAAO,CAAC,KAAK;QACpB,UAAU;KACX,CAAC;AACJ,CAAC;AAED,MAAM,UAAU,kBAAkB,CAAC,IAAoB;IACrD,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC;IAChC,KAAK,MAAM,IAAI,IAAI,IAAI,CAAC,UAAU,EAAE,CAAC;QACnC,OAAO,CAAC,GAAG,CAAC,KAAK,IAAI,EAAE,CAAC,CAAC;IAC3B,CAAC;IACD,IAAI,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QACtC,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,MAAM,CAAC,YAAY,CAAC,CAAC,CAAC;QACxC,KAAK,MAAM,IAAI,IAAI,IAAI,CAAC,QAAQ,CAAC,QAAQ,EAAE,CAAC;YAC1C,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,MAAM,CAAC,SAAS,IAAI,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC;QAClD,CAAC;IACH,CAAC;IACD,IAAI,IAAI,CAAC,QAAQ,CAAC,SAAS,CAAC,MAAM,GAAG,CAAC,IAAI,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QAC9E,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,MAAM,CAAC,YAAY,CAAC,CAAC,CAAC;QACxC,KAAK,MAAM,YAAY,IAAI,IAAI,CAAC,QAAQ,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,CAAC;YAC/D,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,MAAM,CAAC,SAAS,YAAY,EAAE,CAAC,CAAC,CAAC;QACrD,CAAC;IACH,CAAC;IACD,OAAO,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;AAClB,CAAC;AAED,MAAM,UAAU,mBAAmB,CAAC,IAAyB;IAC3D,OAAO,CACL,IAAI,CAAC,OAAO,CAAC,MAAM,GAAG,CAAC;QACvB,IAAI,CAAC,KAAK,CAAC,MAAM,GAAG,CAAC;QACrB,IAAI,CAAC,MAAM,CAAC,MAAM,GAAG,CAAC,CACvB,CAAC;AACJ,CAAC;AAED,MAAM,UAAU,gBAAgB,CAAC,IAAoB;IACnD,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,SAAS,CAAC;AAC/B,CAAC;AAED,MAAM,UAAU,oBAAoB,CAAC,IAAoB;IAYvD,OAAO;QACL,eAAe,EACb,IAAI,CAAC,QAAQ,CAAC,OAAO,CAAC,MAAM;YAC5B,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC,MAAM;YAC1B,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC,MAAM;QAC7B,iBAAiB,EACf,IAAI,CAAC,QAAQ,CAAC,SAAS,CAAC,MAAM,GAAG,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC,MAAM;QAChE,cAAc,EAAE,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC,MAAM;QAC3C,gBAAgB,EAAE,IAAI,CAAC,SAAS,CAAC,cAAc;QAC/C,gBAAgB,EAAE,IAAI,CAAC,cAAc,CAAC,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC;QAC1E,QAAQ,EAAE,IAAI,CAAC,SAAS,CAAC,QAAQ;QACjC,cAAc,EAAE,IAAI,CAAC,cAAc;QACnC,cAAc,EAAE,IAAI,CAAC,KAAK,CAAC,SAAS;QACpC,gBAAgB,EAAE,IAAI,CAAC,KAAK,CAAC,gBAAgB;QAC7C,eAAe,EAAE,IAAI,CAAC,KAAK,CAAC,eAAe;KAC5C,CAAC;AACJ,CAAC;AAED,SAAS,cAAc,CAAC,QAAgB;IACtC,IAAI,CAAC;QACH,OAAO,qBAAqB,CAAC,IAAI,CAAC,EAAE,CAAC,YAAY,CAAC,QAAQ,EAAE,OAAO,CAAC,CAAC,CAAC;IACxE,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,KAAK,CAAC;IACf,CAAC;AACH,CAAC"}
@@ -1,5 +1,5 @@
1
1
  import type { AITool } from "../types/ai-tools.js";
2
- export declare const PROJECT_CAPABILITY_IDS: readonly ["codebase-retrieval", "github-mcp", "playwright-mcp", "cursor-sdk", "campaign-mcp"];
2
+ export declare const PROJECT_CAPABILITY_IDS: readonly ["codebase-retrieval", "github-mcp", "playwright-mcp"];
3
3
  export type ProjectCapabilityId = (typeof PROJECT_CAPABILITY_IDS)[number];
4
4
  export interface McpServerTemplate {
5
5
  name: string;
@@ -50,17 +50,6 @@ export declare function getProjectCapabilityChoices(): {
50
50
  id: ProjectCapabilityId;
51
51
  name: string;
52
52
  }[];
53
- export type CursorSdkSelectionGateResult = {
54
- selected: ProjectCapabilityId[];
55
- skippedSdk: boolean;
56
- enabledSdk: boolean;
57
- message: string | null;
58
- };
59
- /**
60
- * D1: keep `cursor-sdk` visible in UI, but drop it from the effective
61
- * selection when CURSOR_API_KEY is missing (skip enablement + guidance).
62
- */
63
- export declare function applyCursorSdkSelectionGate(selected: readonly ProjectCapabilityId[], env?: NodeJS.ProcessEnv): CursorSdkSelectionGateResult;
64
53
  export declare function renderCapabilitiesJson(selected: readonly ProjectCapabilityId[], states?: Partial<Record<ProjectCapabilityId, StoredCapabilityState>>): string;
65
54
  export declare function getProjectCapability(id: ProjectCapabilityId): ProjectCapability;
66
55
  export declare function renderCapabilitiesMarkdown(selected: readonly ProjectCapabilityId[], states?: Partial<Record<ProjectCapabilityId, StoredCapabilityState>>): string;
@@ -1 +1 @@
1
- {"version":3,"file":"project-capabilities.d.ts","sourceRoot":"","sources":["../../src/utils/project-capabilities.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"project-capabilities.d.ts","sourceRoot":"","sources":["../../src/utils/project-capabilities.ts"],"names":[],"mappings":"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"}
@@ -1,13 +1,10 @@
1
1
  import fs from "node:fs";
2
2
  import path from "node:path";
3
- import { formatCursorSdkEnabledMessage, formatCursorSdkSkippedMessage, hasCursorApiKey, } from "./cursor-sdk-gate.js";
4
3
  import { ensureDir, writeFile } from "./file-writer.js";
5
4
  export const PROJECT_CAPABILITY_IDS = [
6
5
  "codebase-retrieval",
7
6
  "github-mcp",
8
7
  "playwright-mcp",
9
- "cursor-sdk",
10
- "campaign-mcp",
11
8
  ];
12
9
  export const PROJECT_CAPABILITY_READINESS_STATUSES = [
13
10
  "pending",
@@ -190,71 +187,6 @@ export const PROJECT_CAPABILITIES = [
190
187
  },
191
188
  ],
192
189
  },
193
- {
194
- id: "cursor-sdk",
195
- aliases: ["sdk", "cursor_sdk", "cursor-sdk-run"],
196
- title: "Cursor SDK RUN",
197
- description: "Optional Trellis↔Cursor SDK bridge (`cstl sdk run`). Enabled only when CURSOR_API_KEY is present; does not install packages into the consumer project.",
198
- routing: "Use for explicit SDK RUN workers bound to a task path. Prefer `cstl sdk status` before `--live`. Do not treat SDK live as IDE Native/BYOK model routing.",
199
- readiness: "`CURSOR_API_KEY` is visible in the Trellis process environment. `@cursor/sdk` is provided by the installed cursor-trellis CLI package.",
200
- fallback: [
201
- "Set CURSOR_API_KEY in your shell/session (never commit it), then re-select `cursor-sdk` or run `cstl sdk status`.",
202
- "Use `cstl sdk run --mock` without a key for dogfood; `--live` requires the key and explicit acceptance of billing/privacy risk.",
203
- ],
204
- cliAutomationGuidance: [
205
- {
206
- command: "cstl sdk status",
207
- use: "Check whether CURSOR_API_KEY is present and whether the cursor-sdk capability can be enabled.",
208
- },
209
- {
210
- command: "cstl sdk run --task <path> --mock",
211
- use: "Run the SDK bridge without calling @cursor/sdk (no API key required).",
212
- },
213
- {
214
- command: "cstl sdk run --task <path> --live",
215
- use: "Live Agent.prompt via @cursor/sdk after CURSOR_API_KEY is set and you accept billing/privacy risk.",
216
- },
217
- ],
218
- mcpServers: [],
219
- },
220
- {
221
- id: "campaign-mcp",
222
- aliases: ["trellis-campaign", "campaign", "campaign-mcp"],
223
- title: "Campaign MCP",
224
- description: "Read-only trellis-campaign MCP (`cstl campaign mcp`) for campaign_status observation. Auto-merges into .cursor/mcp.json when selected.",
225
- routing: "Use for in-session campaign observation. Set TRELLIS_CAMPAIGN_PARENT or pass --parent / tool args; this capability does not embed Parent paths into mcp.json.",
226
- readiness: "`cstl` is available on PATH so the MCP stdio server can launch. Parent task directory is configured by the operator (env or args), not by Trellis writing secrets or paths into mcp.json.",
227
- fallback: [
228
- "Ensure `cstl` is on PATH (global install or project-linked CLI).",
229
- "Set TRELLIS_CAMPAIGN_PARENT or run `cstl campaign mcp --parent <dir>` / pass parent to the MCP tool.",
230
- "See docs/campaign-ui.md for CMD + MCP observation paths (Canvas is a separate capability/task).",
231
- ],
232
- cliAutomationGuidance: [
233
- {
234
- command: "cstl campaign status --parent <dir>",
235
- use: "Compose campaign status without starting MCP.",
236
- },
237
- {
238
- command: "cstl campaign mcp --parent <dir>",
239
- use: "Run the trellis-campaign stdio MCP server.",
240
- },
241
- ],
242
- mcpQueryGuidance: [
243
- {
244
- tool: "campaign_status",
245
- use: "Read-only campaign snapshot (Trellis parent-status + optional RPC). Never auto-approves HITL gates.",
246
- },
247
- ],
248
- mcpServers: [
249
- {
250
- name: "trellis-campaign",
251
- // Match other optional MCP entries: npx -y <published package> …
252
- // (Bare `cstl` breaks on Windows shims and unpublished global installs.)
253
- command: "npx",
254
- args: ["-y", "@blxzer/cursor-trellis", "campaign", "mcp"],
255
- },
256
- ],
257
- },
258
190
  ];
259
191
  const CAPABILITY_BY_TOKEN = new Map();
260
192
  for (const capability of PROJECT_CAPABILITIES) {
@@ -359,35 +291,6 @@ export function getProjectCapabilityChoices() {
359
291
  name: `${capability.title} - ${capability.description}`,
360
292
  }));
361
293
  }
362
- /**
363
- * D1: keep `cursor-sdk` visible in UI, but drop it from the effective
364
- * selection when CURSOR_API_KEY is missing (skip enablement + guidance).
365
- */
366
- export function applyCursorSdkSelectionGate(selected, env = process.env) {
367
- const ordered = uniqueInRegistryOrder(selected);
368
- if (!ordered.includes("cursor-sdk")) {
369
- return {
370
- selected: ordered,
371
- skippedSdk: false,
372
- enabledSdk: false,
373
- message: null,
374
- };
375
- }
376
- if (hasCursorApiKey(env)) {
377
- return {
378
- selected: ordered,
379
- skippedSdk: false,
380
- enabledSdk: true,
381
- message: formatCursorSdkEnabledMessage(),
382
- };
383
- }
384
- return {
385
- selected: ordered.filter((id) => id !== "cursor-sdk"),
386
- skippedSdk: true,
387
- enabledSdk: false,
388
- message: formatCursorSdkSkippedMessage(),
389
- };
390
- }
391
294
  export function renderCapabilitiesJson(selected, states) {
392
295
  const selectedIds = uniqueInRegistryOrder(selected);
393
296
  const selectedLookup = selectedSet(selectedIds);
@@ -447,7 +350,7 @@ function appendPolicyDocumentRetrievalRouting(lines) {
447
350
  lines.push("## Policy and Document-First Routing (intent-gated)", "", "Apply this branch when the question is about architecture, responsibility, ownership, boundaries, project or package policy, storage or persistence policy, conventions, or where behavior is allowed, forbidden, or defined in instructions—not when the question names an exact symbol, protocol constant, schema path, platform file, or version literal (those stay symbol/path-first for strong A/G/F/J routes).", "", "Trigger signals include: 规定 / 边界 / 为什么不能 / storage policy / persistence / sidecar / import boundaries / transport-only / project instructions / AGENTS conventions.", "", "Evidence order for policy/document queries:", "", "1. Root and nested `AGENTS.md`, then `.cstl/spec/**`, `README.md`, `CONTRIBUTING.md`, architecture or design docs, and package-level policy or contract instruction files.", "2. Exact `rg` on policy phrases and boundary terms scoped to those paths (for example `Storage default: SQLite only`, `sidecar`, `SQLite only`, transport-only, import boundary).", "3. Read matched policy sections with direct source reads before ranking implementation files as Top-1.", "4. Use AST/CodeGraph or semantic recall only to corroborate policy claims or locate related implementation; do not let SQLite/state/cache modules outrank root policy docs when the question asks what is allowed or forbidden.", "5. Verify with source reads before final claims; optional adapters remain optional.", "", "### Storage and persistence policy (benchmark C03 pattern)", "", "When the question asks how storage is chosen, why sidecar files for cache or queue are forbidden, or SQLite vs JSON/JSONL policy: inspect root `AGENTS.md` (and nested `**/AGENTS.md`) before `src/state/*`, Kysely, or other storage implementation modules. Target Top-1 policy evidence such as `Storage default: SQLite only`, `state/openclaw.sqlite`, and `Kysely` cited from instruction docs, not from implementation adjacency alone. OpenClaw audit acceptance target for this query class: `>= 4/6` when agents follow this route.", "");
448
351
  }
449
352
  function appendCodebaseRetrievalIntentBranches(lines) {
450
- lines.push("## Query Intent Branches (intent-gated)", "", "Apply these branches only when the question matches the intent class. Do not reorder the global workflow for F/G protocol queries, platform file paths, or questions with a single named symbol or constant—keep exact `rg` and symbol-scoped CodeGraph first.", "", "### Caller and assembly chain (B-class)", "", "- Use when the question asks who calls, which modules invoke, where behavior is wired, or which facade modules delegate work.", "- Do not treat facade-runtime, loader, barrel, plugin-registry-snapshot, or a single deliver/helper file as sufficient Top-1 evidence when the rubric expects many concrete call sites.", "- After exact hits on the helper or symbol, run `codegraph callers` with a raised limit (or repeat with `rg` references/imports) until concrete callee modules appear; follow assembly nodes (`*-runtime`, `server-runtime-services`, registry entry vs snapshot) with `codegraph callees` or targeted `rg`.", "- Rank concrete call-site files above the file that only defines or loads the helper.", "", "### Cross-cutting / conceptual discovery", "", "- Use when the question has no named symbol, path, or protocol constant but asks how behavior works, spans modules/packages, or uses conceptual phrasing (for example English *how does* / *across packages*, or Chinese 如何 / 机制 / 跨).", "- The deterministic router emits intent `cross-cutting-discovery` and promotes semantic recall to plan order 1–2 (after `policy-docs-rg` when policy intent also matches); follow with exact `rg` on returned keywords and paths.", "- **On Cursor (Native, `cursorEnv: native`)**: router `platform-semantic` — built-in codebase / semantic search (e.g. SemanticSearch); see `.cursor/rules/retrieval-routing.mdc`.", "- **On Cursor++ BYOK (`cursorEnv: byok`)**: concept recall Primary is **fast_context_search** (fast-context MCP); built-in semantic is often absent (Experiment D). Select **codebase-retrieval** at init to generate `.cursor/mcp.json` entries for fast-context and codegraph.", "- **On Codex, Claude Code, and other non-Cursor hosts**: router `semantic-fast-context` — invoke `fast_context_search` when semantic recall is required after uncorroborated exact `rg`.", "- When exact-symbol or F/G preserve intents match, keep exact `rg` primary; do not apply this branch.", "", "### Trap demotion and package boundary (E-class)", "", "- Use when similarly named files exist in a different package or layer (for example `src/agents/*` vs `packages/*-core`).", "- Parse path and package hints in the query; demote trap candidates until an export, protocol type, or corroborating call site matches the asked layer.", "- Prefer `packages/<name>/` evidence when the question names a core library; demote spawn/runtime overlay traps that share a prefix but live in agent glue code.", "- Do not promote a trap file to Top-1 without reading exports and at least one confirming reference.", "", "### Extension and shared-symbol disambiguation (A-class)", "", "- Use when one symbol (for example `legacyConfigRules`) appears across many `extensions/` trees.", "- Run exact `rg` across `extensions/` first; filter by extension id or directory named in the question.", "- Prefer the first non-empty export with a real implementation over stub or empty `doctor-contract-api` paths; demote traps listed in eval/query context when present.", "- Run CodeGraph explore only after the extension candidate set is narrowed—not as an unscoped global symbol search.", "", "### Environment and config literals (D-class)", "", "- Use when the question names env vars, `OPENCLAW_*` prefixes, benchmark startup, or e2e script configuration.", "- Run exact `rg` on `scripts/`, `test/`, `e2e/`, and `bench/` (or project equivalents) before `src/` auth, token, or runtime conflict modules.", "- Prefer files that assign or read the literal in scripts over implementation files that only mention the prefix in error handling.", "- Use CodeGraph after literal hits exist; do not let auth/runtime implementation outrank script evidence for env-inventory questions.", "", "### Preserve strong routes (F / G / exact symbol)", "", "- Platform paths (`apps/ios`, `apps/android`, Swift/Kotlin trees), `packages/gateway-protocol`, contract/schema globs, and named constants: exact `rg` plus symbol-scoped `codegraph_search` stay primary.", "- Do not run policy-first, trap demotion, or env-before-`src/` passes ahead of exact symbol discovery for those queries.", "");
353
+ lines.push("## Query Intent Branches (intent-gated)", "", "Apply these branches only when the question matches the intent class. Do not reorder the global workflow for F/G protocol queries, platform file paths, or questions with a single named symbol or constant—keep exact `rg` and symbol-scoped CodeGraph first.", "", "### Caller and assembly chain (B-class)", "", "- Use when the question asks who calls, which modules invoke, where behavior is wired, or which facade modules delegate work.", "- Do not treat facade-runtime, loader, barrel, plugin-registry-snapshot, or a single deliver/helper file as sufficient Top-1 evidence when the rubric expects many concrete call sites.", "- After exact hits on the helper or symbol, run `codegraph callers` with a raised limit (or repeat with `rg` references/imports) until concrete callee modules appear; follow assembly nodes (`*-runtime`, `server-runtime-services`, registry entry vs snapshot) with `codegraph callees` or targeted `rg`.", "- Rank concrete call-site files above the file that only defines or loads the helper.", "", "### Cross-cutting / conceptual discovery", "", "- Use when the question has no named symbol, path, or protocol constant but asks how behavior works, spans modules/packages, or uses conceptual phrasing (for example English *how does* / *across packages*, or Chinese 如何 / 机制 / 跨).", "- The deterministic router emits intent `cross-cutting-discovery` and promotes semantic recall to plan order 1–2 (after `policy-docs-rg` when policy intent also matches); follow with exact `rg` on returned keywords and paths.", "- **On Cursor (Native, `cursorEnv: native`)**: router `platform-semantic` — built-in codebase / semantic search (e.g. SemanticSearch); see on-demand retrieval docs.", "- **On Cursor++ BYOK (`cursorEnv: byok`)**: concept recall Primary is **fast_context_search** (fast-context MCP); built-in semantic is often absent (Experiment D). Select **codebase-retrieval** at init to generate `.cursor/mcp.json` entries for fast-context and codegraph.", "- **On Codex, Claude Code, and other non-Cursor hosts**: router `semantic-fast-context` — invoke `fast_context_search` when semantic recall is required after uncorroborated exact `rg`.", "- When exact-symbol or F/G preserve intents match, keep exact `rg` primary; do not apply this branch.", "", "### Trap demotion and package boundary (E-class)", "", "- Use when similarly named files exist in a different package or layer (for example `src/agents/*` vs `packages/*-core`).", "- Parse path and package hints in the query; demote trap candidates until an export, protocol type, or corroborating call site matches the asked layer.", "- Prefer `packages/<name>/` evidence when the question names a core library; demote spawn/runtime overlay traps that share a prefix but live in agent glue code.", "- Do not promote a trap file to Top-1 without reading exports and at least one confirming reference.", "", "### Extension and shared-symbol disambiguation (A-class)", "", "- Use when one symbol (for example `legacyConfigRules`) appears across many `extensions/` trees.", "- Run exact `rg` across `extensions/` first; filter by extension id or directory named in the question.", "- Prefer the first non-empty export with a real implementation over stub or empty `doctor-contract-api` paths; demote traps listed in eval/query context when present.", "- Run CodeGraph explore only after the extension candidate set is narrowed—not as an unscoped global symbol search.", "", "### Environment and config literals (D-class)", "", "- Use when the question names env vars, `OPENCLAW_*` prefixes, benchmark startup, or e2e script configuration.", "- Run exact `rg` on `scripts/`, `test/`, `e2e/`, and `bench/` (or project equivalents) before `src/` auth, token, or runtime conflict modules.", "- Prefer files that assign or read the literal in scripts over implementation files that only mention the prefix in error handling.", "- Use CodeGraph after literal hits exist; do not let auth/runtime implementation outrank script evidence for env-inventory questions.", "", "### Preserve strong routes (F / G / exact symbol)", "", "- Platform paths (`apps/ios`, `apps/android`, Swift/Kotlin trees), `packages/gateway-protocol`, contract/schema globs, and named constants: exact `rg` plus symbol-scoped `codegraph_search` stay primary.", "- Do not run policy-first, trap demotion, or env-before-`src/` passes ahead of exact symbol discovery for those queries.", "");
451
354
  }
452
355
  function appendCodebaseRetrievalWorkflow(lines) {
453
356
  lines.push("## Codebase Retrieval Workflow", "", "1. Extract exact identifiers, literals, path hints, policy phrases, command names, error text, config keys, env prefixes, extension ids, routes, event names, task names, and test names from the question.", "2. Run exact `rg` search first when exact signals exist and keep file/range candidates tied to source evidence.", "3. Classify intent (policy/document, caller-chain, trap/package, extension spread, env literal, protocol/platform) and apply **Policy and Document-First Routing** or the matching branch from **Query Intent Branches** when it fits; skip branches that do not match.", "4. Use AST/CodeGraph when available and fresh enough to resolve symbols, imports, callers, callees, impact, and affected files.", "5. Use codegraph_node / codegraph_search for definition and reference on Cursor Agent; Read to verify line ranges (GO_TO_DEFINITION is not a guaranteed Agent tool).", "6. Use semantic recall for conceptual, poorly named, or cross-cutting areas, then turn returned files/ranges/keywords into exact follow-up checks; deprioritize semantic Top-1 for policy/storage-policy, env-literal, and extension-disambiguation questions until policy docs or `rg` narrow candidates.", "7. Fuse candidates by source proximity, tests, current Git state, and adapter freshness.", "8. Read files, inspect relevant Git evidence, and run task-appropriate validation before making final behavior, impact, or test-coverage claims.", "", "## Codebase Evidence Levels", "", "- Candidate: filenames, semantic recall, initial graph/LSP output, or incomplete exact search. Candidate evidence cannot support final claims.", "- Corroborated candidate: current source reads or exact `rg` hits confirm the candidate exists in this checkout. Use it to plan deeper reads or tests.", "- Verified claim: current source lines plus Git evidence or focused validation support the statement. Use this level for final answers and `verify.md`.", "- Unverified / unavailable: adapter output is stale, skipped, unavailable, hidden from the host, or not invoked. Report it explicitly instead of claiming it.", "", "## Evidence Persistence", "", "- Record exploratory retrieval chains, adapter availability, freshness checks, and competing hypotheses in task `research/*.md`.", "- Record final source/Git/test proof, validation commands, and unresolved adapter gaps in `verify.md`.", "- Prefer reusable research frontmatter when the artifact should be rediscovered later: `doc_type`, `status`, `confidence`, `scope`, and `related_files`.", "", "## Fallback Sequence", "", "- If `rg` is missing, codebase retrieval readiness fails; install or expose `rg` before claiming readiness.", "- If CodeGraph, LSP, or fast-context are unavailable or unverified, continue with exact search, direct source reads, Git evidence, and focused tests.", "- Do not start MCP servers, initialize indexes, start language servers, or install tools without explicit user approval.", "", "## Adapter Roles", "");
@@ -455,7 +358,7 @@ function appendCodebaseRetrievalWorkflow(lines) {
455
358
  for (const [role, adapter] of Object.entries(adapters)) {
456
359
  lines.push(`### ${role}`, "", `- Provider: ${adapter.provider}`, `- Required: ${adapter.required ? "yes" : "no"}`, `- Purpose: ${adapter.purpose}`, `- Readiness: ${adapter.readiness}`, `- Evidence status: ${adapter.evidenceStatus}`, "");
457
360
  }
458
- lines.push("## Semantic recall (Cursor)", "", "Semantic routing is **split by `cursorEnv`** (see `cursor_retrieval_env` / `~/.ccursor/routes.json` `byokMode`): **Native** → built-in `platform-semantic`; **BYOK** → **fast-context MCP** (`fast_context_search`) as Primary. **codebase-retrieval** is an **optional** init capability — when selected, init/update writes **fast-context** and **codegraph** into `.cursor/mcp.json`; BYOK local concept retrieval should select it.", "", "Prefer `.cursor/rules/retrieval-routing.mdc` and `retrieval-daily-guide.md` for tool names.", "");
361
+ lines.push("## Semantic recall (Cursor)", "", "Semantic routing is **split by `cursorEnv`** (see `cursor_retrieval_env` / `~/.ccursor/routes.json` `byokMode`): **Native** → built-in `platform-semantic`; **BYOK** → **fast-context MCP** (`fast_context_search`) as Primary. **codebase-retrieval** is an **optional** init capability — when selected, init/update writes **fast-context** and **codegraph** into `.cursor/mcp.json`; BYOK local concept retrieval should select it.", "", "Prefer `retrieval-daily-guide.md` for tool names (no always-on retrieval rule).", "");
459
362
  appendCodebaseRetrievalIntentBranches(lines);
460
363
  }
461
364
  function capabilityStatusLabel(status) {
@@ -492,7 +395,7 @@ export function renderCapabilitiesMarkdown(selected, states) {
492
395
  lines.push(`- ${capability.id} [${status}]: ${capability.description}${detail}`);
493
396
  }
494
397
  }
495
- lines.push("", "## Routing Rules", "", "- Unselected, unavailable, skipped, or uninvoked capabilities must not be reported as used.", "- Capability output that affects task decisions must be recorded in task research or verify evidence.", "- `codebase-retrieval` routes by retrieval role, not by tool brand: exact search, intent-gated policy/document-first routing for C-class questions, other intent-gated branches when the question class matches, AST/structure, definition/reference via codegraph on Cursor Agent, semantic recall by cursorEnv, then verification.", "- Policy, architecture, boundary, and storage-policy questions must inspect `AGENTS.md`, `.cstl/spec/**`, and README/contributing/architecture docs before semantic implementation search.", "- Intent-gated branches (policy/document, caller-chain, trap demotion, extension disambiguation, env/config literals) must not override exact-symbol or F/G protocol routes.", "- Exact `rg` search and direct source reads are the baseline for current-code claims.", "- CodeGraph output is structural guidance until index freshness and current source/Git evidence are confirmed.", "- fast-context output is semantic recall only and must be converted into exact source checks before final claims; on Cursor BYOK it is the compliant Primary for concept recall.", "- On **Cursor**, semantic recall follows **cursorEnv** (Native built-in vs BYOK fast-context). See **Semantic recall (Cursor)** under codebase-retrieval.", "- On Cursor, per-query tool order also lives in `.cursor/rules/retrieval-routing.mdc` (`alwaysApply`).", "- GitHub MCP uses the GitHub API server package; remote writes require explicit user intent and the host's credential/tool posture must be clear.", "- Playwright MCP should be used for rendered UI evidence only when browser verification is part of the task.", "");
398
+ lines.push("", "## Routing Rules", "", "- Unselected, unavailable, skipped, or uninvoked capabilities must not be reported as used.", "- Capability output that affects task decisions must be recorded in task research or verify evidence.", "- `codebase-retrieval` routes by retrieval role, not by tool brand: exact search, intent-gated policy/document-first routing for C-class questions, other intent-gated branches when the question class matches, AST/structure, definition/reference via codegraph on Cursor Agent, semantic recall by cursorEnv, then verification.", "- Policy, architecture, boundary, and storage-policy questions must inspect `AGENTS.md`, `.cstl/spec/**`, and README/contributing/architecture docs before semantic implementation search.", "- Intent-gated branches (policy/document, caller-chain, trap demotion, extension disambiguation, env/config literals) must not override exact-symbol or F/G protocol routes.", "- Exact `rg` search and direct source reads are the baseline for current-code claims.", "- CodeGraph output is structural guidance until index freshness and current source/Git evidence are confirmed.", "- fast-context output is semantic recall only and must be converted into exact source checks before final claims; on Cursor BYOK it is the compliant Primary for concept recall.", "- On **Cursor**, semantic recall follows **cursorEnv** (Native built-in vs BYOK fast-context). See **Semantic recall (Cursor)** under codebase-retrieval.", "- On Cursor, per-query tool order lives in on-demand retrieval docs, not an always-on rule.", "- GitHub MCP uses the GitHub API server package; remote writes require explicit user intent and the host's credential/tool posture must be clear.", "- Playwright MCP should be used for rendered UI evidence only when browser verification is part of the task.", "");
496
399
  if (selectedIds.includes("codebase-retrieval")) {
497
400
  appendPolicyDocumentRetrievalRouting(lines);
498
401
  appendCodebaseRetrievalWorkflow(lines);
@@ -1 +1 @@
1
- {"version":3,"file":"project-capabilities.js","sourceRoot":"","sources":["../../src/utils/project-capabilities.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"project-capabilities.js","sourceRoot":"","sources":["../../src/utils/project-capabilities.ts"],"names":[],"mappings":"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"}