@blxzer/pactile 0.5.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (903) hide show
  1. package/CHANGELOG.md +602 -0
  2. package/LICENSE +235 -0
  3. package/README.md +115 -0
  4. package/README.zh-CN.md +115 -0
  5. package/bin/compat-warning.js +11 -0
  6. package/bin/cstl.js +6 -0
  7. package/bin/pactile.js +3 -0
  8. package/bin/smart-search.js +38 -0
  9. package/dist/cli/index.d.ts +3 -0
  10. package/dist/cli/index.d.ts.map +1 -0
  11. package/dist/cli/index.js +362 -0
  12. package/dist/cli/index.js.map +1 -0
  13. package/dist/commands/capability-smoke.d.ts +24 -0
  14. package/dist/commands/capability-smoke.d.ts.map +1 -0
  15. package/dist/commands/capability-smoke.js +83 -0
  16. package/dist/commands/capability-smoke.js.map +1 -0
  17. package/dist/commands/channel/adapters/claude.d.ts +29 -0
  18. package/dist/commands/channel/adapters/claude.d.ts.map +1 -0
  19. package/dist/commands/channel/adapters/claude.js +203 -0
  20. package/dist/commands/channel/adapters/claude.js.map +1 -0
  21. package/dist/commands/channel/adapters/codex.d.ts +85 -0
  22. package/dist/commands/channel/adapters/codex.d.ts.map +1 -0
  23. package/dist/commands/channel/adapters/codex.js +505 -0
  24. package/dist/commands/channel/adapters/codex.js.map +1 -0
  25. package/dist/commands/channel/adapters/index.d.ts +84 -0
  26. package/dist/commands/channel/adapters/index.d.ts.map +1 -0
  27. package/dist/commands/channel/adapters/index.js +115 -0
  28. package/dist/commands/channel/adapters/index.js.map +1 -0
  29. package/dist/commands/channel/adapters/types.d.ts +33 -0
  30. package/dist/commands/channel/adapters/types.d.ts.map +1 -0
  31. package/dist/commands/channel/adapters/types.js +2 -0
  32. package/dist/commands/channel/adapters/types.js.map +1 -0
  33. package/dist/commands/channel/agent-loader.d.ts +32 -0
  34. package/dist/commands/channel/agent-loader.d.ts.map +1 -0
  35. package/dist/commands/channel/agent-loader.js +154 -0
  36. package/dist/commands/channel/agent-loader.js.map +1 -0
  37. package/dist/commands/channel/context-loader.d.ts +26 -0
  38. package/dist/commands/channel/context-loader.d.ts.map +1 -0
  39. package/dist/commands/channel/context-loader.js +290 -0
  40. package/dist/commands/channel/context-loader.js.map +1 -0
  41. package/dist/commands/channel/context.d.ts +16 -0
  42. package/dist/commands/channel/context.d.ts.map +1 -0
  43. package/dist/commands/channel/context.js +83 -0
  44. package/dist/commands/channel/context.js.map +1 -0
  45. package/dist/commands/channel/create.d.ts +27 -0
  46. package/dist/commands/channel/create.d.ts.map +1 -0
  47. package/dist/commands/channel/create.js +39 -0
  48. package/dist/commands/channel/create.js.map +1 -0
  49. package/dist/commands/channel/dev-parse-trace.d.ts +14 -0
  50. package/dist/commands/channel/dev-parse-trace.d.ts.map +1 -0
  51. package/dist/commands/channel/dev-parse-trace.js +70 -0
  52. package/dist/commands/channel/dev-parse-trace.js.map +1 -0
  53. package/dist/commands/channel/guard.d.ts +150 -0
  54. package/dist/commands/channel/guard.d.ts.map +1 -0
  55. package/dist/commands/channel/guard.js +475 -0
  56. package/dist/commands/channel/guard.js.map +1 -0
  57. package/dist/commands/channel/index.d.ts +3 -0
  58. package/dist/commands/channel/index.d.ts.map +1 -0
  59. package/dist/commands/channel/index.js +531 -0
  60. package/dist/commands/channel/index.js.map +1 -0
  61. package/dist/commands/channel/interrupt.d.ts +10 -0
  62. package/dist/commands/channel/interrupt.d.ts.map +1 -0
  63. package/dist/commands/channel/interrupt.js +22 -0
  64. package/dist/commands/channel/interrupt.js.map +1 -0
  65. package/dist/commands/channel/kill.d.ts +7 -0
  66. package/dist/commands/channel/kill.d.ts.map +1 -0
  67. package/dist/commands/channel/kill.js +121 -0
  68. package/dist/commands/channel/kill.js.map +1 -0
  69. package/dist/commands/channel/list.d.ts +17 -0
  70. package/dist/commands/channel/list.d.ts.map +1 -0
  71. package/dist/commands/channel/list.js +233 -0
  72. package/dist/commands/channel/list.js.map +1 -0
  73. package/dist/commands/channel/messages.d.ts +15 -0
  74. package/dist/commands/channel/messages.d.ts.map +1 -0
  75. package/dist/commands/channel/messages.js +245 -0
  76. package/dist/commands/channel/messages.js.map +1 -0
  77. package/dist/commands/channel/rm.d.ts +27 -0
  78. package/dist/commands/channel/rm.d.ts.map +1 -0
  79. package/dist/commands/channel/rm.js +216 -0
  80. package/dist/commands/channel/rm.js.map +1 -0
  81. package/dist/commands/channel/run.d.ts +30 -0
  82. package/dist/commands/channel/run.d.ts.map +1 -0
  83. package/dist/commands/channel/run.js +130 -0
  84. package/dist/commands/channel/run.js.map +1 -0
  85. package/dist/commands/channel/send.d.ts +11 -0
  86. package/dist/commands/channel/send.d.ts.map +1 -0
  87. package/dist/commands/channel/send.js +24 -0
  88. package/dist/commands/channel/send.js.map +1 -0
  89. package/dist/commands/channel/spawn.d.ts +40 -0
  90. package/dist/commands/channel/spawn.d.ts.map +1 -0
  91. package/dist/commands/channel/spawn.js +242 -0
  92. package/dist/commands/channel/spawn.js.map +1 -0
  93. package/dist/commands/channel/store/events.d.ts +39 -0
  94. package/dist/commands/channel/store/events.d.ts.map +1 -0
  95. package/dist/commands/channel/store/events.js +87 -0
  96. package/dist/commands/channel/store/events.js.map +1 -0
  97. package/dist/commands/channel/store/filter.d.ts +3 -0
  98. package/dist/commands/channel/store/filter.d.ts.map +1 -0
  99. package/dist/commands/channel/store/filter.js +2 -0
  100. package/dist/commands/channel/store/filter.js.map +1 -0
  101. package/dist/commands/channel/store/lock.d.ts +23 -0
  102. package/dist/commands/channel/store/lock.d.ts.map +1 -0
  103. package/dist/commands/channel/store/lock.js +99 -0
  104. package/dist/commands/channel/store/lock.js.map +1 -0
  105. package/dist/commands/channel/store/paths.d.ts +63 -0
  106. package/dist/commands/channel/store/paths.d.ts.map +1 -0
  107. package/dist/commands/channel/store/paths.js +247 -0
  108. package/dist/commands/channel/store/paths.js.map +1 -0
  109. package/dist/commands/channel/store/schema.d.ts +27 -0
  110. package/dist/commands/channel/store/schema.d.ts.map +1 -0
  111. package/dist/commands/channel/store/schema.js +34 -0
  112. package/dist/commands/channel/store/schema.js.map +1 -0
  113. package/dist/commands/channel/store/thread-state.d.ts +5 -0
  114. package/dist/commands/channel/store/thread-state.d.ts.map +1 -0
  115. package/dist/commands/channel/store/thread-state.js +16 -0
  116. package/dist/commands/channel/store/thread-state.js.map +1 -0
  117. package/dist/commands/channel/store/watch.d.ts +19 -0
  118. package/dist/commands/channel/store/watch.d.ts.map +1 -0
  119. package/dist/commands/channel/store/watch.js +146 -0
  120. package/dist/commands/channel/store/watch.js.map +1 -0
  121. package/dist/commands/channel/supervisor/idle.d.ts +46 -0
  122. package/dist/commands/channel/supervisor/idle.d.ts.map +1 -0
  123. package/dist/commands/channel/supervisor/idle.js +72 -0
  124. package/dist/commands/channel/supervisor/idle.js.map +1 -0
  125. package/dist/commands/channel/supervisor/inbox.d.ts +30 -0
  126. package/dist/commands/channel/supervisor/inbox.d.ts.map +1 -0
  127. package/dist/commands/channel/supervisor/inbox.js +160 -0
  128. package/dist/commands/channel/supervisor/inbox.js.map +1 -0
  129. package/dist/commands/channel/supervisor/shutdown.d.ts +68 -0
  130. package/dist/commands/channel/supervisor/shutdown.d.ts.map +1 -0
  131. package/dist/commands/channel/supervisor/shutdown.js +146 -0
  132. package/dist/commands/channel/supervisor/shutdown.js.map +1 -0
  133. package/dist/commands/channel/supervisor/stdout.d.ts +51 -0
  134. package/dist/commands/channel/supervisor/stdout.d.ts.map +1 -0
  135. package/dist/commands/channel/supervisor/stdout.js +121 -0
  136. package/dist/commands/channel/supervisor/stdout.js.map +1 -0
  137. package/dist/commands/channel/supervisor/turns.d.ts +31 -0
  138. package/dist/commands/channel/supervisor/turns.d.ts.map +1 -0
  139. package/dist/commands/channel/supervisor/turns.js +45 -0
  140. package/dist/commands/channel/supervisor/turns.js.map +1 -0
  141. package/dist/commands/channel/supervisor/warning.d.ts +48 -0
  142. package/dist/commands/channel/supervisor/warning.d.ts.map +1 -0
  143. package/dist/commands/channel/supervisor/warning.js +77 -0
  144. package/dist/commands/channel/supervisor/warning.js.map +1 -0
  145. package/dist/commands/channel/supervisor.d.ts +59 -0
  146. package/dist/commands/channel/supervisor.d.ts.map +1 -0
  147. package/dist/commands/channel/supervisor.js +345 -0
  148. package/dist/commands/channel/supervisor.js.map +1 -0
  149. package/dist/commands/channel/text-body.d.ts +13 -0
  150. package/dist/commands/channel/text-body.d.ts.map +1 -0
  151. package/dist/commands/channel/text-body.js +47 -0
  152. package/dist/commands/channel/text-body.js.map +1 -0
  153. package/dist/commands/channel/threads.d.ts +39 -0
  154. package/dist/commands/channel/threads.d.ts.map +1 -0
  155. package/dist/commands/channel/threads.js +106 -0
  156. package/dist/commands/channel/threads.js.map +1 -0
  157. package/dist/commands/channel/title.d.ts +12 -0
  158. package/dist/commands/channel/title.d.ts.map +1 -0
  159. package/dist/commands/channel/title.js +24 -0
  160. package/dist/commands/channel/title.js.map +1 -0
  161. package/dist/commands/channel/wait.d.ts +17 -0
  162. package/dist/commands/channel/wait.d.ts.map +1 -0
  163. package/dist/commands/channel/wait.js +75 -0
  164. package/dist/commands/channel/wait.js.map +1 -0
  165. package/dist/commands/detach.d.ts +7 -0
  166. package/dist/commands/detach.d.ts.map +1 -0
  167. package/dist/commands/detach.js +31 -0
  168. package/dist/commands/detach.js.map +1 -0
  169. package/dist/commands/init.d.ts +51 -0
  170. package/dist/commands/init.d.ts.map +1 -0
  171. package/dist/commands/init.js +1660 -0
  172. package/dist/commands/init.js.map +1 -0
  173. package/dist/commands/migrate.d.ts +10 -0
  174. package/dist/commands/migrate.d.ts.map +1 -0
  175. package/dist/commands/migrate.js +38 -0
  176. package/dist/commands/migrate.js.map +1 -0
  177. package/dist/commands/purge.d.ts +9 -0
  178. package/dist/commands/purge.d.ts.map +1 -0
  179. package/dist/commands/purge.js +29 -0
  180. package/dist/commands/purge.js.map +1 -0
  181. package/dist/commands/rollback.d.ts +7 -0
  182. package/dist/commands/rollback.d.ts.map +1 -0
  183. package/dist/commands/rollback.js +27 -0
  184. package/dist/commands/rollback.js.map +1 -0
  185. package/dist/commands/rollout.d.ts +34 -0
  186. package/dist/commands/rollout.d.ts.map +1 -0
  187. package/dist/commands/rollout.js +102 -0
  188. package/dist/commands/rollout.js.map +1 -0
  189. package/dist/commands/uninstall.d.ts +23 -0
  190. package/dist/commands/uninstall.d.ts.map +1 -0
  191. package/dist/commands/uninstall.js +68 -0
  192. package/dist/commands/uninstall.js.map +1 -0
  193. package/dist/commands/update.d.ts +139 -0
  194. package/dist/commands/update.d.ts.map +1 -0
  195. package/dist/commands/update.js +2459 -0
  196. package/dist/commands/update.js.map +1 -0
  197. package/dist/commands/upgrade.d.ts +28 -0
  198. package/dist/commands/upgrade.d.ts.map +1 -0
  199. package/dist/commands/upgrade.js +84 -0
  200. package/dist/commands/upgrade.js.map +1 -0
  201. package/dist/commands/validate-rules.d.ts +6 -0
  202. package/dist/commands/validate-rules.d.ts.map +1 -0
  203. package/dist/commands/validate-rules.js +33 -0
  204. package/dist/commands/validate-rules.js.map +1 -0
  205. package/dist/commands/workflow.d.ts +35 -0
  206. package/dist/commands/workflow.d.ts.map +1 -0
  207. package/dist/commands/workflow.js +220 -0
  208. package/dist/commands/workflow.js.map +1 -0
  209. package/dist/configurators/cursor.d.ts +21 -0
  210. package/dist/configurators/cursor.d.ts.map +1 -0
  211. package/dist/configurators/cursor.js +51 -0
  212. package/dist/configurators/cursor.js.map +1 -0
  213. package/dist/configurators/index.d.ts +68 -0
  214. package/dist/configurators/index.d.ts.map +1 -0
  215. package/dist/configurators/index.js +170 -0
  216. package/dist/configurators/index.js.map +1 -0
  217. package/dist/configurators/shared.d.ts +200 -0
  218. package/dist/configurators/shared.d.ts.map +1 -0
  219. package/dist/configurators/shared.js +602 -0
  220. package/dist/configurators/shared.js.map +1 -0
  221. package/dist/configurators/workflow.d.ts +45 -0
  222. package/dist/configurators/workflow.d.ts.map +1 -0
  223. package/dist/configurators/workflow.js +256 -0
  224. package/dist/configurators/workflow.js.map +1 -0
  225. package/dist/constants/paths.d.ts +93 -0
  226. package/dist/constants/paths.d.ts.map +1 -0
  227. package/dist/constants/paths.js +106 -0
  228. package/dist/constants/paths.js.map +1 -0
  229. package/dist/constants/version.d.ts +9 -0
  230. package/dist/constants/version.d.ts.map +1 -0
  231. package/dist/constants/version.js +15 -0
  232. package/dist/constants/version.js.map +1 -0
  233. package/dist/index.d.ts +10 -0
  234. package/dist/index.d.ts.map +1 -0
  235. package/dist/index.js +10 -0
  236. package/dist/index.js.map +1 -0
  237. package/dist/migrations/index.d.ts +62 -0
  238. package/dist/migrations/index.d.ts.map +1 -0
  239. package/dist/migrations/index.js +187 -0
  240. package/dist/migrations/index.js.map +1 -0
  241. package/dist/migrations/manifests/0.1.0.json +9 -0
  242. package/dist/migrations/manifests/0.1.1.json +9 -0
  243. package/dist/migrations/manifests/0.1.2.json +9 -0
  244. package/dist/migrations/manifests/0.1.3.json +9 -0
  245. package/dist/migrations/manifests/0.1.4.json +9 -0
  246. package/dist/migrations/manifests/0.2.1.json +9 -0
  247. package/dist/migrations/manifests/0.2.10.json +374 -0
  248. package/dist/migrations/manifests/0.2.2.json +9 -0
  249. package/dist/migrations/manifests/0.2.3.json +9 -0
  250. package/dist/migrations/manifests/0.2.4.json +9 -0
  251. package/dist/migrations/manifests/0.2.5.json +9 -0
  252. package/dist/migrations/manifests/0.2.6.json +9 -0
  253. package/dist/migrations/manifests/0.2.7.json +9 -0
  254. package/dist/migrations/manifests/0.2.8.json +9 -0
  255. package/dist/migrations/manifests/0.2.9.json +9 -0
  256. package/dist/migrations/manifests/0.3.0.json +89 -0
  257. package/dist/migrations/manifests/0.3.1.json +32 -0
  258. package/dist/migrations/manifests/0.3.2.json +16 -0
  259. package/dist/migrations/manifests/0.3.3.json +9 -0
  260. package/dist/migrations/manifests/0.3.4.json +9 -0
  261. package/dist/migrations/manifests/0.3.5.json +9 -0
  262. package/dist/migrations/manifests/0.3.6.json +9 -0
  263. package/dist/migrations/manifests/0.4.0.json +9 -0
  264. package/dist/migrations/manifests/0.4.1.json +9 -0
  265. package/dist/migrations/manifests/0.4.2.json +9 -0
  266. package/dist/migrations/manifests/0.4.3.json +9 -0
  267. package/dist/migrations/manifests/0.5.0-beta.0.json +9 -0
  268. package/dist/migrations/manifests/0.5.0-beta.1.json +9 -0
  269. package/dist/migrations/manifests/0.5.0-beta.2.json +9 -0
  270. package/dist/migrations/manifests/0.5.0-beta.3.json +9 -0
  271. package/dist/migrations/manifests/0.5.0-beta.4.json +9 -0
  272. package/dist/migrations/manifests/0.5.0-beta.5.json +9 -0
  273. package/dist/pactile/adapters/codex/index.d.ts +75 -0
  274. package/dist/pactile/adapters/codex/index.d.ts.map +1 -0
  275. package/dist/pactile/adapters/codex/index.js +269 -0
  276. package/dist/pactile/adapters/codex/index.js.map +1 -0
  277. package/dist/pactile/adapters/cursor/index.d.ts +60 -0
  278. package/dist/pactile/adapters/cursor/index.d.ts.map +1 -0
  279. package/dist/pactile/adapters/cursor/index.js +186 -0
  280. package/dist/pactile/adapters/cursor/index.js.map +1 -0
  281. package/dist/pactile/adapters/index.d.ts +4 -0
  282. package/dist/pactile/adapters/index.d.ts.map +1 -0
  283. package/dist/pactile/adapters/index.js +4 -0
  284. package/dist/pactile/adapters/index.js.map +1 -0
  285. package/dist/pactile/adoption/bindings.d.ts +20 -0
  286. package/dist/pactile/adoption/bindings.d.ts.map +1 -0
  287. package/dist/pactile/adoption/bindings.js +99 -0
  288. package/dist/pactile/adoption/bindings.js.map +1 -0
  289. package/dist/pactile/adoption/discovery.d.ts +8 -0
  290. package/dist/pactile/adoption/discovery.d.ts.map +1 -0
  291. package/dist/pactile/adoption/discovery.js +159 -0
  292. package/dist/pactile/adoption/discovery.js.map +1 -0
  293. package/dist/pactile/adoption/inventory.d.ts +28 -0
  294. package/dist/pactile/adoption/inventory.d.ts.map +1 -0
  295. package/dist/pactile/adoption/inventory.js +261 -0
  296. package/dist/pactile/adoption/inventory.js.map +1 -0
  297. package/dist/pactile/adoption/safety.d.ts +19 -0
  298. package/dist/pactile/adoption/safety.d.ts.map +1 -0
  299. package/dist/pactile/adoption/safety.js +88 -0
  300. package/dist/pactile/adoption/safety.js.map +1 -0
  301. package/dist/pactile/adoption/workflow.d.ts +31 -0
  302. package/dist/pactile/adoption/workflow.d.ts.map +1 -0
  303. package/dist/pactile/adoption/workflow.js +259 -0
  304. package/dist/pactile/adoption/workflow.js.map +1 -0
  305. package/dist/pactile/compat/cli-options.d.ts +9 -0
  306. package/dist/pactile/compat/cli-options.d.ts.map +1 -0
  307. package/dist/pactile/compat/cli-options.js +9 -0
  308. package/dist/pactile/compat/cli-options.js.map +1 -0
  309. package/dist/pactile/compat/init-context.d.ts +16 -0
  310. package/dist/pactile/compat/init-context.d.ts.map +1 -0
  311. package/dist/pactile/compat/init-context.js +87 -0
  312. package/dist/pactile/compat/init-context.js.map +1 -0
  313. package/dist/pactile/compat/legacy-migrations.d.ts +8 -0
  314. package/dist/pactile/compat/legacy-migrations.d.ts.map +1 -0
  315. package/dist/pactile/compat/legacy-migrations.js +17 -0
  316. package/dist/pactile/compat/legacy-migrations.js.map +1 -0
  317. package/dist/pactile/compat/retired-alternate-client.d.ts +42 -0
  318. package/dist/pactile/compat/retired-alternate-client.d.ts.map +1 -0
  319. package/dist/pactile/compat/retired-alternate-client.js +153 -0
  320. package/dist/pactile/compat/retired-alternate-client.js.map +1 -0
  321. package/dist/pactile/compat/update-residue.d.ts +4 -0
  322. package/dist/pactile/compat/update-residue.d.ts.map +1 -0
  323. package/dist/pactile/compat/update-residue.js +55 -0
  324. package/dist/pactile/compat/update-residue.js.map +1 -0
  325. package/dist/pactile/exit/index.d.ts +3 -0
  326. package/dist/pactile/exit/index.d.ts.map +1 -0
  327. package/dist/pactile/exit/index.js +3 -0
  328. package/dist/pactile/exit/index.js.map +1 -0
  329. package/dist/pactile/exit/receipt.d.ts +23 -0
  330. package/dist/pactile/exit/receipt.d.ts.map +1 -0
  331. package/dist/pactile/exit/receipt.js +64 -0
  332. package/dist/pactile/exit/receipt.js.map +1 -0
  333. package/dist/pactile/exit/service.d.ts +107 -0
  334. package/dist/pactile/exit/service.d.ts.map +1 -0
  335. package/dist/pactile/exit/service.js +774 -0
  336. package/dist/pactile/exit/service.js.map +1 -0
  337. package/dist/pactile/index.d.ts +26 -0
  338. package/dist/pactile/index.d.ts.map +1 -0
  339. package/dist/pactile/index.js +22 -0
  340. package/dist/pactile/index.js.map +1 -0
  341. package/dist/pactile/lifecycle/command-runner.d.ts +26 -0
  342. package/dist/pactile/lifecycle/command-runner.d.ts.map +1 -0
  343. package/dist/pactile/lifecycle/command-runner.js +129 -0
  344. package/dist/pactile/lifecycle/command-runner.js.map +1 -0
  345. package/dist/pactile/lifecycle/default-adapters.d.ts +5 -0
  346. package/dist/pactile/lifecycle/default-adapters.d.ts.map +1 -0
  347. package/dist/pactile/lifecycle/default-adapters.js +136 -0
  348. package/dist/pactile/lifecycle/default-adapters.js.map +1 -0
  349. package/dist/pactile/lifecycle/index.d.ts +6 -0
  350. package/dist/pactile/lifecycle/index.d.ts.map +1 -0
  351. package/dist/pactile/lifecycle/index.js +6 -0
  352. package/dist/pactile/lifecycle/index.js.map +1 -0
  353. package/dist/pactile/lifecycle/legacy-import.d.ts +16 -0
  354. package/dist/pactile/lifecycle/legacy-import.d.ts.map +1 -0
  355. package/dist/pactile/lifecycle/legacy-import.js +228 -0
  356. package/dist/pactile/lifecycle/legacy-import.js.map +1 -0
  357. package/dist/pactile/lifecycle/orchestrator.d.ts +109 -0
  358. package/dist/pactile/lifecycle/orchestrator.d.ts.map +1 -0
  359. package/dist/pactile/lifecycle/orchestrator.js +1030 -0
  360. package/dist/pactile/lifecycle/orchestrator.js.map +1 -0
  361. package/dist/pactile/lifecycle/project-files.d.ts +28 -0
  362. package/dist/pactile/lifecycle/project-files.d.ts.map +1 -0
  363. package/dist/pactile/lifecycle/project-files.js +297 -0
  364. package/dist/pactile/lifecycle/project-files.js.map +1 -0
  365. package/dist/pactile/middleware/index.d.ts +3 -0
  366. package/dist/pactile/middleware/index.d.ts.map +1 -0
  367. package/dist/pactile/middleware/index.js +2 -0
  368. package/dist/pactile/middleware/index.js.map +1 -0
  369. package/dist/pactile/middleware/manifest-loader.d.ts +22 -0
  370. package/dist/pactile/middleware/manifest-loader.d.ts.map +1 -0
  371. package/dist/pactile/middleware/manifest-loader.js +228 -0
  372. package/dist/pactile/middleware/manifest-loader.js.map +1 -0
  373. package/dist/pactile/migration/index.d.ts +2 -0
  374. package/dist/pactile/migration/index.d.ts.map +1 -0
  375. package/dist/pactile/migration/index.js +2 -0
  376. package/dist/pactile/migration/index.js.map +1 -0
  377. package/dist/pactile/migration/transaction.d.ts +54 -0
  378. package/dist/pactile/migration/transaction.d.ts.map +1 -0
  379. package/dist/pactile/migration/transaction.js +445 -0
  380. package/dist/pactile/migration/transaction.js.map +1 -0
  381. package/dist/pactile/projection/managed-block.d.ts +32 -0
  382. package/dist/pactile/projection/managed-block.d.ts.map +1 -0
  383. package/dist/pactile/projection/managed-block.js +78 -0
  384. package/dist/pactile/projection/managed-block.js.map +1 -0
  385. package/dist/pactile/projection/planner.d.ts +65 -0
  386. package/dist/pactile/projection/planner.d.ts.map +1 -0
  387. package/dist/pactile/projection/planner.js +349 -0
  388. package/dist/pactile/projection/planner.js.map +1 -0
  389. package/dist/pactile/projection/shared/index.d.ts +38 -0
  390. package/dist/pactile/projection/shared/index.d.ts.map +1 -0
  391. package/dist/pactile/projection/shared/index.js +186 -0
  392. package/dist/pactile/projection/shared/index.js.map +1 -0
  393. package/dist/pactile/projection/store.d.ts +72 -0
  394. package/dist/pactile/projection/store.d.ts.map +1 -0
  395. package/dist/pactile/projection/store.js +669 -0
  396. package/dist/pactile/projection/store.js.map +1 -0
  397. package/dist/pactile/projection/structured-merge.d.ts +11 -0
  398. package/dist/pactile/projection/structured-merge.d.ts.map +1 -0
  399. package/dist/pactile/projection/structured-merge.js +347 -0
  400. package/dist/pactile/projection/structured-merge.js.map +1 -0
  401. package/dist/pactile/providers/index.d.ts +3 -0
  402. package/dist/pactile/providers/index.d.ts.map +1 -0
  403. package/dist/pactile/providers/index.js +3 -0
  404. package/dist/pactile/providers/index.js.map +1 -0
  405. package/dist/pactile/providers/probes.d.ts +55 -0
  406. package/dist/pactile/providers/probes.d.ts.map +1 -0
  407. package/dist/pactile/providers/probes.js +164 -0
  408. package/dist/pactile/providers/probes.js.map +1 -0
  409. package/dist/pactile/registry.d.ts +64 -0
  410. package/dist/pactile/registry.d.ts.map +1 -0
  411. package/dist/pactile/registry.js +196 -0
  412. package/dist/pactile/registry.js.map +1 -0
  413. package/dist/pactile/retrieval/boundary.d.ts +18 -0
  414. package/dist/pactile/retrieval/boundary.d.ts.map +1 -0
  415. package/dist/pactile/retrieval/boundary.js +113 -0
  416. package/dist/pactile/retrieval/boundary.js.map +1 -0
  417. package/dist/pactile/retrieval/evidence.d.ts +9 -0
  418. package/dist/pactile/retrieval/evidence.d.ts.map +1 -0
  419. package/dist/pactile/retrieval/evidence.js +327 -0
  420. package/dist/pactile/retrieval/evidence.js.map +1 -0
  421. package/dist/pactile/retrieval/index.d.ts +4 -0
  422. package/dist/pactile/retrieval/index.d.ts.map +1 -0
  423. package/dist/pactile/retrieval/index.js +4 -0
  424. package/dist/pactile/retrieval/index.js.map +1 -0
  425. package/dist/pactile/retrieval/planner.d.ts +23 -0
  426. package/dist/pactile/retrieval/planner.d.ts.map +1 -0
  427. package/dist/pactile/retrieval/planner.js +702 -0
  428. package/dist/pactile/retrieval/planner.js.map +1 -0
  429. package/dist/pactile/retrieval/types.d.ts +108 -0
  430. package/dist/pactile/retrieval/types.d.ts.map +1 -0
  431. package/dist/pactile/retrieval/types.js +36 -0
  432. package/dist/pactile/retrieval/types.js.map +1 -0
  433. package/dist/pactile/runtime/case-fold.d.ts +2 -0
  434. package/dist/pactile/runtime/case-fold.d.ts.map +1 -0
  435. package/dist/pactile/runtime/case-fold.js +31 -0
  436. package/dist/pactile/runtime/case-fold.js.map +1 -0
  437. package/dist/pactile/runtime/index.d.ts +8 -0
  438. package/dist/pactile/runtime/index.d.ts.map +1 -0
  439. package/dist/pactile/runtime/index.js +5 -0
  440. package/dist/pactile/runtime/index.js.map +1 -0
  441. package/dist/pactile/runtime/json-api.d.ts +15 -0
  442. package/dist/pactile/runtime/json-api.d.ts.map +1 -0
  443. package/dist/pactile/runtime/json-api.js +68 -0
  444. package/dist/pactile/runtime/json-api.js.map +1 -0
  445. package/dist/pactile/runtime/paths.d.ts +59 -0
  446. package/dist/pactile/runtime/paths.d.ts.map +1 -0
  447. package/dist/pactile/runtime/paths.js +201 -0
  448. package/dist/pactile/runtime/paths.js.map +1 -0
  449. package/dist/pactile/runtime/stores.d.ts +54 -0
  450. package/dist/pactile/runtime/stores.d.ts.map +1 -0
  451. package/dist/pactile/runtime/stores.js +375 -0
  452. package/dist/pactile/runtime/stores.js.map +1 -0
  453. package/dist/pactile/runtime/unicode-nfc-data.d.ts +12 -0
  454. package/dist/pactile/runtime/unicode-nfc-data.d.ts.map +1 -0
  455. package/dist/pactile/runtime/unicode-nfc-data.js +8 -0
  456. package/dist/pactile/runtime/unicode-nfc-data.js.map +1 -0
  457. package/dist/pactile/runtime/unicode-nfc.d.ts +3 -0
  458. package/dist/pactile/runtime/unicode-nfc.d.ts.map +1 -0
  459. package/dist/pactile/runtime/unicode-nfc.js +77 -0
  460. package/dist/pactile/runtime/unicode-nfc.js.map +1 -0
  461. package/dist/pactile/tiles/catalog.d.ts +35 -0
  462. package/dist/pactile/tiles/catalog.d.ts.map +1 -0
  463. package/dist/pactile/tiles/catalog.js +235 -0
  464. package/dist/pactile/tiles/catalog.js.map +1 -0
  465. package/dist/pactile/tiles/compiler.d.ts +54 -0
  466. package/dist/pactile/tiles/compiler.d.ts.map +1 -0
  467. package/dist/pactile/tiles/compiler.js +270 -0
  468. package/dist/pactile/tiles/compiler.js.map +1 -0
  469. package/dist/pactile/tiles/content/baseline/index.d.ts +5 -0
  470. package/dist/pactile/tiles/content/baseline/index.d.ts.map +1 -0
  471. package/dist/pactile/tiles/content/baseline/index.js +115 -0
  472. package/dist/pactile/tiles/content/baseline/index.js.map +1 -0
  473. package/dist/pactile/tiles/content/index.d.ts +4 -0
  474. package/dist/pactile/tiles/content/index.d.ts.map +1 -0
  475. package/dist/pactile/tiles/content/index.js +4 -0
  476. package/dist/pactile/tiles/content/index.js.map +1 -0
  477. package/dist/pactile/tiles/content/ondemand/index.d.ts +5 -0
  478. package/dist/pactile/tiles/content/ondemand/index.d.ts.map +1 -0
  479. package/dist/pactile/tiles/content/ondemand/index.js +184 -0
  480. package/dist/pactile/tiles/content/ondemand/index.js.map +1 -0
  481. package/dist/pactile/tiles/content/source.d.ts +29 -0
  482. package/dist/pactile/tiles/content/source.d.ts.map +1 -0
  483. package/dist/pactile/tiles/content/source.js +86 -0
  484. package/dist/pactile/tiles/content/source.js.map +1 -0
  485. package/dist/pactile/tiles/loader.d.ts +31 -0
  486. package/dist/pactile/tiles/loader.d.ts.map +1 -0
  487. package/dist/pactile/tiles/loader.js +139 -0
  488. package/dist/pactile/tiles/loader.js.map +1 -0
  489. package/dist/pactile/tiles/safe-yaml.d.ts +11 -0
  490. package/dist/pactile/tiles/safe-yaml.d.ts.map +1 -0
  491. package/dist/pactile/tiles/safe-yaml.js +212 -0
  492. package/dist/pactile/tiles/safe-yaml.js.map +1 -0
  493. package/dist/templates/common/bundled-skills/pactile-check/SKILL.md +161 -0
  494. package/dist/templates/common/bundled-skills/pactile-check/references/fowler-12-smells.md +28 -0
  495. package/dist/templates/common/bundled-skills/pactile-handoff/SKILL.md +117 -0
  496. package/dist/templates/common/bundled-skills/pactile-meta/SKILL.md +75 -0
  497. package/dist/templates/common/bundled-skills/pactile-meta/references/customize-local/add-project-local-conventions.md +83 -0
  498. package/dist/templates/common/bundled-skills/pactile-meta/references/customize-local/change-agents.md +47 -0
  499. package/dist/templates/common/bundled-skills/pactile-meta/references/customize-local/change-context-loading.md +84 -0
  500. package/dist/templates/common/bundled-skills/pactile-meta/references/customize-local/change-hooks.md +57 -0
  501. package/dist/templates/common/bundled-skills/pactile-meta/references/customize-local/change-skills-or-commands.md +77 -0
  502. package/dist/templates/common/bundled-skills/pactile-meta/references/customize-local/change-spec-structure.md +83 -0
  503. package/dist/templates/common/bundled-skills/pactile-meta/references/customize-local/change-task-lifecycle.md +88 -0
  504. package/dist/templates/common/bundled-skills/pactile-meta/references/customize-local/change-workflow.md +65 -0
  505. package/dist/templates/common/bundled-skills/pactile-meta/references/customize-local/overview.md +55 -0
  506. package/dist/templates/common/bundled-skills/pactile-meta/references/local-architecture/context-injection.md +68 -0
  507. package/dist/templates/common/bundled-skills/pactile-meta/references/local-architecture/generated-files.md +83 -0
  508. package/dist/templates/common/bundled-skills/pactile-meta/references/local-architecture/overview.md +51 -0
  509. package/dist/templates/common/bundled-skills/pactile-meta/references/local-architecture/spec-system.md +102 -0
  510. package/dist/templates/common/bundled-skills/pactile-meta/references/local-architecture/task-system.md +133 -0
  511. package/dist/templates/common/bundled-skills/pactile-meta/references/local-architecture/workflow.md +75 -0
  512. package/dist/templates/common/bundled-skills/pactile-meta/references/local-architecture/workspace-memory.md +71 -0
  513. package/dist/templates/common/bundled-skills/pactile-meta/references/platform-files/agents.md +69 -0
  514. package/dist/templates/common/bundled-skills/pactile-meta/references/platform-files/hooks-and-settings.md +59 -0
  515. package/dist/templates/common/bundled-skills/pactile-meta/references/platform-files/overview.md +45 -0
  516. package/dist/templates/common/bundled-skills/pactile-meta/references/platform-files/platform-map.md +45 -0
  517. package/dist/templates/common/bundled-skills/pactile-meta/references/platform-files/skills-and-commands.md +108 -0
  518. package/dist/templates/common/bundled-skills/pactile-micro-grill/SKILL.md +68 -0
  519. package/dist/templates/common/bundled-skills/pactile-skill-creator/SKILL.md +47 -0
  520. package/dist/templates/common/bundled-skills/pactile-skill-creator/references/authoring-rules.md +171 -0
  521. package/dist/templates/common/bundled-skills/pactile-skill-creator/references/general-authoring.md +189 -0
  522. package/dist/templates/common/bundled-skills/pactile-skill-creator/references/pactile-skill-locations.md +52 -0
  523. package/dist/templates/common/bundled-skills/pactile-skill-creator/references/review-checklist.md +52 -0
  524. package/dist/templates/common/bundled-skills/pactile-spec-bootstrap/SKILL.md +41 -0
  525. package/dist/templates/common/bundled-skills/pactile-spec-bootstrap/references/mcp-setup.md +90 -0
  526. package/dist/templates/common/bundled-skills/pactile-spec-bootstrap/references/repository-analysis.md +59 -0
  527. package/dist/templates/common/bundled-skills/pactile-spec-bootstrap/references/spec-task-planning.md +61 -0
  528. package/dist/templates/common/bundled-skills/pactile-spec-bootstrap/references/spec-writing.md +70 -0
  529. package/dist/templates/common/bundled-skills/smart-search-cli/SKILL.md +393 -0
  530. package/dist/templates/common/bundled-skills/smart-search-cli/agents/openai.yaml +3 -0
  531. package/dist/templates/common/bundled-skills/smart-search-cli/examples/batch-search.md +98 -0
  532. package/dist/templates/common/bundled-skills/smart-search-cli/examples/evidence-gathering.md +89 -0
  533. package/dist/templates/common/bundled-skills/smart-search-cli/references/cli-contract.md +323 -0
  534. package/dist/templates/common/commands/continue.md +62 -0
  535. package/dist/templates/common/commands/finish-work.md +82 -0
  536. package/dist/templates/common/commands/start.md +66 -0
  537. package/dist/templates/common/index.d.ts +68 -0
  538. package/dist/templates/common/index.d.ts.map +1 -0
  539. package/dist/templates/common/index.js +123 -0
  540. package/dist/templates/common/index.js.map +1 -0
  541. package/dist/templates/common/optional-skills/chrome-cdp/SKILL.md +179 -0
  542. package/dist/templates/common/optional-skills/chrome-cdp/examples/fetch-hook-api-capture.md +149 -0
  543. package/dist/templates/common/optional-skills/chrome-cdp/scripts/cdp.mjs +904 -0
  544. package/dist/templates/common/skills/before-dev.md +35 -0
  545. package/dist/templates/common/skills/brainstorm.md +204 -0
  546. package/dist/templates/common/skills/break-loop.md +125 -0
  547. package/dist/templates/common/skills/update-spec.md +364 -0
  548. package/dist/templates/cursor/agents/pactile-check.md +58 -0
  549. package/dist/templates/cursor/agents/pactile-implement.md +56 -0
  550. package/dist/templates/cursor/agents/pactile-research.md +51 -0
  551. package/dist/templates/cursor/commands/handoff.md +101 -0
  552. package/dist/templates/cursor/fixtures/expected-rules.d.ts +14 -0
  553. package/dist/templates/cursor/fixtures/expected-rules.d.ts.map +1 -0
  554. package/dist/templates/cursor/fixtures/expected-rules.js +20 -0
  555. package/dist/templates/cursor/fixtures/expected-rules.js.map +1 -0
  556. package/dist/templates/cursor/hooks.json +52 -0
  557. package/dist/templates/cursor/index.d.ts +19 -0
  558. package/dist/templates/cursor/index.d.ts.map +1 -0
  559. package/dist/templates/cursor/index.js +19 -0
  560. package/dist/templates/cursor/index.js.map +1 -0
  561. package/dist/templates/cursor/rules/pactile-bootstrap.mdc +18 -0
  562. package/dist/templates/cursor/worktrees.json +11 -0
  563. package/dist/templates/extract.d.ts +38 -0
  564. package/dist/templates/extract.d.ts.map +1 -0
  565. package/dist/templates/extract.js +120 -0
  566. package/dist/templates/extract.js.map +1 -0
  567. package/dist/templates/markdown/agents.md +14 -0
  568. package/dist/templates/markdown/framework/artifact-locale-guide.md.txt +93 -0
  569. package/dist/templates/markdown/framework/cursor-context-injection-guide.md.txt +85 -0
  570. package/dist/templates/markdown/framework/cursor-native-modes-guide.md.txt +239 -0
  571. package/dist/templates/markdown/framework/cursor-semantic-compliance.md.txt +41 -0
  572. package/dist/templates/markdown/framework/cursor-subagent-policy.md.txt +90 -0
  573. package/dist/templates/markdown/framework/dogfood-only-surfaces.md.txt +28 -0
  574. package/dist/templates/markdown/framework/execution-strategy.md.txt +45 -0
  575. package/dist/templates/markdown/framework/index.md.txt +31 -0
  576. package/dist/templates/markdown/framework/injection-budget-guide.md.txt +111 -0
  577. package/dist/templates/markdown/framework/internal-skills-cursor-reachability.md.txt +45 -0
  578. package/dist/templates/markdown/framework/middleware-protocol.md.txt +238 -0
  579. package/dist/templates/markdown/framework/parallel-first-execution.md.txt +116 -0
  580. package/dist/templates/markdown/framework/prd-grill-frontier.md.txt +105 -0
  581. package/dist/templates/markdown/framework/release-boundary.md.txt +30 -0
  582. package/dist/templates/markdown/framework/retrieval-daily-guide.md.txt +199 -0
  583. package/dist/templates/markdown/framework/upgrade.md.txt +15 -0
  584. package/dist/templates/markdown/framework/verification-strength-guide.md.txt +185 -0
  585. package/dist/templates/markdown/gitignore.txt +15 -0
  586. package/dist/templates/markdown/index.d.ts +59 -0
  587. package/dist/templates/markdown/index.d.ts.map +1 -0
  588. package/dist/templates/markdown/index.js +144 -0
  589. package/dist/templates/markdown/index.js.map +1 -0
  590. package/dist/templates/markdown/prompts/run-semantic-slice-12.md.txt +25 -0
  591. package/dist/templates/markdown/spec/backend/database-guidelines.md.txt +51 -0
  592. package/dist/templates/markdown/spec/backend/directory-structure.md.txt +54 -0
  593. package/dist/templates/markdown/spec/backend/error-handling.md.txt +51 -0
  594. package/dist/templates/markdown/spec/backend/index.md.txt +38 -0
  595. package/dist/templates/markdown/spec/backend/logging-guidelines.md.txt +51 -0
  596. package/dist/templates/markdown/spec/backend/quality-guidelines.md.txt +51 -0
  597. package/dist/templates/markdown/spec/frontend/component-guidelines.md.txt +59 -0
  598. package/dist/templates/markdown/spec/frontend/directory-structure.md.txt +54 -0
  599. package/dist/templates/markdown/spec/frontend/hook-guidelines.md.txt +51 -0
  600. package/dist/templates/markdown/spec/frontend/index.md.txt +39 -0
  601. package/dist/templates/markdown/spec/frontend/quality-guidelines.md.txt +51 -0
  602. package/dist/templates/markdown/spec/frontend/state-management.md.txt +51 -0
  603. package/dist/templates/markdown/spec/frontend/type-safety.md.txt +51 -0
  604. package/dist/templates/markdown/spec/guides/code-reuse-thinking-guide.md.txt +174 -0
  605. package/dist/templates/markdown/spec/guides/cross-layer-thinking-guide.md.txt +162 -0
  606. package/dist/templates/markdown/spec/guides/cross-platform-thinking-guide.md.txt +634 -0
  607. package/dist/templates/markdown/spec/guides/debug-loop-guide.md.txt +227 -0
  608. package/dist/templates/markdown/spec/guides/durable-learning-decision-guide.md.txt +76 -0
  609. package/dist/templates/markdown/spec/guides/e2e-walkthrough-guide.md.txt +93 -0
  610. package/dist/templates/markdown/spec/guides/index.md.txt +131 -0
  611. package/dist/templates/markdown/spec/guides/prototype-guide.md.txt +139 -0
  612. package/dist/templates/markdown/spec/guides/test-discipline-guide.md.txt +179 -0
  613. package/dist/templates/markdown/workspace-index.md +125 -0
  614. package/dist/templates/markdown/worktree.yaml.txt +58 -0
  615. package/dist/templates/pactile/CONTEXT.md +113 -0
  616. package/dist/templates/pactile/config/execution-strategy-rules.json +31 -0
  617. package/dist/templates/pactile/config.yaml +130 -0
  618. package/dist/templates/pactile/docs/adr/README.md +21 -0
  619. package/dist/templates/pactile/gitignore.txt +35 -0
  620. package/dist/templates/pactile/index.d.ts +134 -0
  621. package/dist/templates/pactile/index.d.ts.map +1 -0
  622. package/dist/templates/pactile/index.js +316 -0
  623. package/dist/templates/pactile/index.js.map +1 -0
  624. package/dist/templates/pactile/modules/approval-personal/contract.md +43 -0
  625. package/dist/templates/pactile/modules/candidate-pool/contract.md +37 -0
  626. package/dist/templates/pactile/modules/catalog.d.ts +32 -0
  627. package/dist/templates/pactile/modules/catalog.d.ts.map +1 -0
  628. package/dist/templates/pactile/modules/catalog.js +46 -0
  629. package/dist/templates/pactile/modules/catalog.js.map +1 -0
  630. package/dist/templates/pactile/modules/close-basic/contract.md +38 -0
  631. package/dist/templates/pactile/modules/context-progressive/contract.md +44 -0
  632. package/dist/templates/pactile/modules/debug-recovery/contract.md +44 -0
  633. package/dist/templates/pactile/modules/define-basic/contract.md +39 -0
  634. package/dist/templates/pactile/modules/define-extended/contract.md +45 -0
  635. package/dist/templates/pactile/modules/execute-agent/contract.md +38 -0
  636. package/dist/templates/pactile/modules/independent-check/contract.md +35 -0
  637. package/dist/templates/pactile/modules/index.json +133 -0
  638. package/dist/templates/pactile/modules/intake-basic/contract.md +34 -0
  639. package/dist/templates/pactile/modules/observability-local/contract.md +31 -0
  640. package/dist/templates/pactile/modules/parent-child/contract.md +45 -0
  641. package/dist/templates/pactile/modules/personal-memory/contract.md +56 -0
  642. package/dist/templates/pactile/modules/retention-storage/contract.md +43 -0
  643. package/dist/templates/pactile/modules/retrieval-extended/contract.md +77 -0
  644. package/dist/templates/pactile/modules/session-transfer/contract.md +41 -0
  645. package/dist/templates/pactile/modules/spec-learning/contract.md +50 -0
  646. package/dist/templates/pactile/modules/vcs-integration/contract.md +46 -0
  647. package/dist/templates/pactile/modules/verify-basic/contract.md +38 -0
  648. package/dist/templates/pactile/modules/worker-orchestration/contract.md +47 -0
  649. package/dist/templates/pactile/pool/README.md +149 -0
  650. package/dist/templates/pactile/pool/items/.gitkeep +0 -0
  651. package/dist/templates/pactile/pool/plan.md +50 -0
  652. package/dist/templates/pactile/scripts/__init__.py +5 -0
  653. package/dist/templates/pactile/scripts/add_session.py +547 -0
  654. package/dist/templates/pactile/scripts/build_context_pack.py +17 -0
  655. package/dist/templates/pactile/scripts/build_retrieval_pack.py +376 -0
  656. package/dist/templates/pactile/scripts/codegraph_session_smoke.py +76 -0
  657. package/dist/templates/pactile/scripts/common/__init__.py +103 -0
  658. package/dist/templates/pactile/scripts/common/active_task.py +576 -0
  659. package/dist/templates/pactile/scripts/common/adapter_middleware.py +1373 -0
  660. package/dist/templates/pactile/scripts/common/artifact_locale.py +303 -0
  661. package/dist/templates/pactile/scripts/common/artifact_search.py +587 -0
  662. package/dist/templates/pactile/scripts/common/cli_adapter.py +135 -0
  663. package/dist/templates/pactile/scripts/common/cli_environment.py +155 -0
  664. package/dist/templates/pactile/scripts/common/codebase_retrieval_router.py +1339 -0
  665. package/dist/templates/pactile/scripts/common/config.py +497 -0
  666. package/dist/templates/pactile/scripts/common/context_pack.py +371 -0
  667. package/dist/templates/pactile/scripts/common/cursor_retrieval_env.py +31 -0
  668. package/dist/templates/pactile/scripts/common/developer.py +190 -0
  669. package/dist/templates/pactile/scripts/common/execution_strategy.py +268 -0
  670. package/dist/templates/pactile/scripts/common/full_quality.py +237 -0
  671. package/dist/templates/pactile/scripts/common/git.py +37 -0
  672. package/dist/templates/pactile/scripts/common/git_context.py +198 -0
  673. package/dist/templates/pactile/scripts/common/injection_budget.py +317 -0
  674. package/dist/templates/pactile/scripts/common/io.py +37 -0
  675. package/dist/templates/pactile/scripts/common/kernel_command.py +369 -0
  676. package/dist/templates/pactile/scripts/common/lite_context.py +280 -0
  677. package/dist/templates/pactile/scripts/common/log.py +45 -0
  678. package/dist/templates/pactile/scripts/common/ondemand_topology.py +419 -0
  679. package/dist/templates/pactile/scripts/common/packages_context.py +239 -0
  680. package/dist/templates/pactile/scripts/common/pactile_config.py +131 -0
  681. package/dist/templates/pactile/scripts/common/parallel_declaration.py +369 -0
  682. package/dist/templates/pactile/scripts/common/parent_orchestration.py +1198 -0
  683. package/dist/templates/pactile/scripts/common/paths.py +756 -0
  684. package/dist/templates/pactile/scripts/common/pool_refs.py +119 -0
  685. package/dist/templates/pactile/scripts/common/pool_slice.py +269 -0
  686. package/dist/templates/pactile/scripts/common/pool_store.py +766 -0
  687. package/dist/templates/pactile/scripts/common/project_file_stats.py +91 -0
  688. package/dist/templates/pactile/scripts/common/retrieval_adapter_metadata.py +943 -0
  689. package/dist/templates/pactile/scripts/common/retrieval_agent_instructions.py +123 -0
  690. package/dist/templates/pactile/scripts/common/retrieval_evidence.py +915 -0
  691. package/dist/templates/pactile/scripts/common/retrieval_pack.py +422 -0
  692. package/dist/templates/pactile/scripts/common/retrieval_pack_context.py +122 -0
  693. package/dist/templates/pactile/scripts/common/retrieval_plan_gate.py +61 -0
  694. package/dist/templates/pactile/scripts/common/retrieval_result_ranking.py +104 -0
  695. package/dist/templates/pactile/scripts/common/retrieval_tool_classification.py +166 -0
  696. package/dist/templates/pactile/scripts/common/safe_commit.py +285 -0
  697. package/dist/templates/pactile/scripts/common/semantic_plan_gate.py +53 -0
  698. package/dist/templates/pactile/scripts/common/session_context.py +1213 -0
  699. package/dist/templates/pactile/scripts/common/session_memory.py +386 -0
  700. package/dist/templates/pactile/scripts/common/session_pack.py +886 -0
  701. package/dist/templates/pactile/scripts/common/smart_search_evidence.py +514 -0
  702. package/dist/templates/pactile/scripts/common/smart_search_resolve.py +150 -0
  703. package/dist/templates/pactile/scripts/common/subagent_dispatch.py +592 -0
  704. package/dist/templates/pactile/scripts/common/task_context.py +241 -0
  705. package/dist/templates/pactile/scripts/common/task_dashboard.py +286 -0
  706. package/dist/templates/pactile/scripts/common/task_dependencies.py +648 -0
  707. package/dist/templates/pactile/scripts/common/task_gates.py +2478 -0
  708. package/dist/templates/pactile/scripts/common/task_map.py +703 -0
  709. package/dist/templates/pactile/scripts/common/task_queue.py +188 -0
  710. package/dist/templates/pactile/scripts/common/task_store.py +2252 -0
  711. package/dist/templates/pactile/scripts/common/task_utils.py +274 -0
  712. package/dist/templates/pactile/scripts/common/tasks.py +231 -0
  713. package/dist/templates/pactile/scripts/common/test_adapter_middleware.py +199 -0
  714. package/dist/templates/pactile/scripts/common/test_depends_mode_block.py +509 -0
  715. package/dist/templates/pactile/scripts/common/test_full_quality.py +197 -0
  716. package/dist/templates/pactile/scripts/common/test_kernel_command.py +336 -0
  717. package/dist/templates/pactile/scripts/common/test_lite_path.py +190 -0
  718. package/dist/templates/pactile/scripts/common/test_observable_defaults.py +141 -0
  719. package/dist/templates/pactile/scripts/common/test_ondemand_topology.py +237 -0
  720. package/dist/templates/pactile/scripts/common/test_parallel_declaration.py +264 -0
  721. package/dist/templates/pactile/scripts/common/test_pool_slice.py +198 -0
  722. package/dist/templates/pactile/scripts/common/test_pool_store.py +452 -0
  723. package/dist/templates/pactile/scripts/common/test_retrieval_arbitration.py +331 -0
  724. package/dist/templates/pactile/scripts/common/test_task_dashboard.py +155 -0
  725. package/dist/templates/pactile/scripts/common/test_task_dependencies.py +329 -0
  726. package/dist/templates/pactile/scripts/common/test_task_store_kernel_patch.py +163 -0
  727. package/dist/templates/pactile/scripts/common/types.py +110 -0
  728. package/dist/templates/pactile/scripts/common/workflow_phase.py +194 -0
  729. package/dist/templates/pactile/scripts/compile_session_pack.py +15 -0
  730. package/dist/templates/pactile/scripts/cursor_retrieval_probe.py +64 -0
  731. package/dist/templates/pactile/scripts/cursor_retrieval_probe_prompt.md +33 -0
  732. package/dist/templates/pactile/scripts/generate_dispatch_prompt.py +182 -0
  733. package/dist/templates/pactile/scripts/get_context.py +19 -0
  734. package/dist/templates/pactile/scripts/get_developer.py +26 -0
  735. package/dist/templates/pactile/scripts/hooks/linear_sync.py +243 -0
  736. package/dist/templates/pactile/scripts/init_developer.py +51 -0
  737. package/dist/templates/pactile/scripts/injection_budget_probe.py +69 -0
  738. package/dist/templates/pactile/scripts/pool.py +237 -0
  739. package/dist/templates/pactile/scripts/rank_retrieval_candidates.py +98 -0
  740. package/dist/templates/pactile/scripts/retrieval_probe_matrix_template.json +43 -0
  741. package/dist/templates/pactile/scripts/route_codebase_retrieval.py +72 -0
  742. package/dist/templates/pactile/scripts/run_smart_search.py +12 -0
  743. package/dist/templates/pactile/scripts/score_evidence.py +131 -0
  744. package/dist/templates/pactile/scripts/search_artifacts.py +13 -0
  745. package/dist/templates/pactile/scripts/search_memory.py +12 -0
  746. package/dist/templates/pactile/scripts/spec_health_outcomes.py +160 -0
  747. package/dist/templates/pactile/scripts/task.py +1118 -0
  748. package/dist/templates/pactile/scripts/verify_evidence_probe.py +138 -0
  749. package/dist/templates/pactile/tasks/.gitkeep +0 -0
  750. package/dist/templates/pactile/tasks/locale/en/default-prd.md +27 -0
  751. package/dist/templates/pactile/tasks/locale/zh/default-prd.md +27 -0
  752. package/dist/templates/pactile/tasks/templates/release-execution/design.md +61 -0
  753. package/dist/templates/pactile/tasks/templates/release-execution/handoff-template.md +29 -0
  754. package/dist/templates/pactile/tasks/templates/release-execution/implement.md +29 -0
  755. package/dist/templates/pactile/tasks/templates/release-execution/prd.md +31 -0
  756. package/dist/templates/pactile/tasks/templates/release-readiness/design.md +50 -0
  757. package/dist/templates/pactile/tasks/templates/release-readiness/handoff-template.md +39 -0
  758. package/dist/templates/pactile/tasks/templates/release-readiness/implement.md +29 -0
  759. package/dist/templates/pactile/tasks/templates/release-readiness/prd.md +31 -0
  760. package/dist/templates/pactile/workflow.md +64 -0
  761. package/dist/templates/shared-hooks/event-bridge.py +121 -0
  762. package/dist/templates/shared-hooks/index.d.ts +50 -0
  763. package/dist/templates/shared-hooks/index.d.ts.map +1 -0
  764. package/dist/templates/shared-hooks/index.js +96 -0
  765. package/dist/templates/shared-hooks/index.js.map +1 -0
  766. package/dist/templates/shared-hooks/inject-retrieval-plan.py +217 -0
  767. package/dist/templates/shared-hooks/inject-shell-session-context.py +183 -0
  768. package/dist/templates/shared-hooks/inject-subagent-context.py +267 -0
  769. package/dist/templates/shared-hooks/inject-workflow-state.py +106 -0
  770. package/dist/templates/shared-hooks/rename-session-for-task.py +231 -0
  771. package/dist/templates/shared-hooks/research-end-retrieval-pack.py +345 -0
  772. package/dist/templates/shared-hooks/session-start.py +355 -0
  773. package/dist/templates/shared-hooks/spec-write-audit.py +173 -0
  774. package/dist/templates/template-utils.d.ts +28 -0
  775. package/dist/templates/template-utils.d.ts.map +1 -0
  776. package/dist/templates/template-utils.js +83 -0
  777. package/dist/templates/template-utils.js.map +1 -0
  778. package/dist/types/ai-tools.d.ts +102 -0
  779. package/dist/types/ai-tools.d.ts.map +1 -0
  780. package/dist/types/ai-tools.js +60 -0
  781. package/dist/types/ai-tools.js.map +1 -0
  782. package/dist/types/migration.d.ts +125 -0
  783. package/dist/types/migration.d.ts.map +1 -0
  784. package/dist/types/migration.js +8 -0
  785. package/dist/types/migration.js.map +1 -0
  786. package/dist/utils/agents-md.d.ts +27 -0
  787. package/dist/utils/agents-md.d.ts.map +1 -0
  788. package/dist/utils/agents-md.js +70 -0
  789. package/dist/utils/agents-md.js.map +1 -0
  790. package/dist/utils/codebase-retrieval-router.d.ts +31 -0
  791. package/dist/utils/codebase-retrieval-router.d.ts.map +1 -0
  792. package/dist/utils/codebase-retrieval-router.js +88 -0
  793. package/dist/utils/codebase-retrieval-router.js.map +1 -0
  794. package/dist/utils/compare-versions.d.ts +12 -0
  795. package/dist/utils/compare-versions.d.ts.map +1 -0
  796. package/dist/utils/compare-versions.js +86 -0
  797. package/dist/utils/compare-versions.js.map +1 -0
  798. package/dist/utils/cursor-retrieval-env.d.ts +17 -0
  799. package/dist/utils/cursor-retrieval-env.d.ts.map +1 -0
  800. package/dist/utils/cursor-retrieval-env.js +19 -0
  801. package/dist/utils/cursor-retrieval-env.js.map +1 -0
  802. package/dist/utils/cwd-guard.d.ts +38 -0
  803. package/dist/utils/cwd-guard.d.ts.map +1 -0
  804. package/dist/utils/cwd-guard.js +63 -0
  805. package/dist/utils/cwd-guard.js.map +1 -0
  806. package/dist/utils/file-writer.d.ts +36 -0
  807. package/dist/utils/file-writer.d.ts.map +1 -0
  808. package/dist/utils/file-writer.js +203 -0
  809. package/dist/utils/file-writer.js.map +1 -0
  810. package/dist/utils/manifest-prune.d.ts +59 -0
  811. package/dist/utils/manifest-prune.d.ts.map +1 -0
  812. package/dist/utils/manifest-prune.js +176 -0
  813. package/dist/utils/manifest-prune.js.map +1 -0
  814. package/dist/utils/mirror-check.d.ts +22 -0
  815. package/dist/utils/mirror-check.d.ts.map +1 -0
  816. package/dist/utils/mirror-check.js +90 -0
  817. package/dist/utils/mirror-check.js.map +1 -0
  818. package/dist/utils/normalize-text.d.ts +7 -0
  819. package/dist/utils/normalize-text.d.ts.map +1 -0
  820. package/dist/utils/normalize-text.js +16 -0
  821. package/dist/utils/normalize-text.js.map +1 -0
  822. package/dist/utils/p36-upgrade.d.ts +62 -0
  823. package/dist/utils/p36-upgrade.d.ts.map +1 -0
  824. package/dist/utils/p36-upgrade.js +165 -0
  825. package/dist/utils/p36-upgrade.js.map +1 -0
  826. package/dist/utils/posix.d.ts +13 -0
  827. package/dist/utils/posix.d.ts.map +1 -0
  828. package/dist/utils/posix.js +15 -0
  829. package/dist/utils/posix.js.map +1 -0
  830. package/dist/utils/post-update-smoke.d.ts +7 -0
  831. package/dist/utils/post-update-smoke.d.ts.map +1 -0
  832. package/dist/utils/post-update-smoke.js +40 -0
  833. package/dist/utils/post-update-smoke.js.map +1 -0
  834. package/dist/utils/project-capabilities.d.ts +82 -0
  835. package/dist/utils/project-capabilities.d.ts.map +1 -0
  836. package/dist/utils/project-capabilities.js +691 -0
  837. package/dist/utils/project-capabilities.js.map +1 -0
  838. package/dist/utils/project-detector.d.ts +46 -0
  839. package/dist/utils/project-detector.d.ts.map +1 -0
  840. package/dist/utils/project-detector.js +666 -0
  841. package/dist/utils/project-detector.js.map +1 -0
  842. package/dist/utils/proxy.d.ts +25 -0
  843. package/dist/utils/proxy.d.ts.map +1 -0
  844. package/dist/utils/proxy.js +60 -0
  845. package/dist/utils/proxy.js.map +1 -0
  846. package/dist/utils/readiness.d.ts +40 -0
  847. package/dist/utils/readiness.d.ts.map +1 -0
  848. package/dist/utils/readiness.js +491 -0
  849. package/dist/utils/readiness.js.map +1 -0
  850. package/dist/utils/retrieval-agent-instructions.d.ts +10 -0
  851. package/dist/utils/retrieval-agent-instructions.d.ts.map +1 -0
  852. package/dist/utils/retrieval-agent-instructions.js +97 -0
  853. package/dist/utils/retrieval-agent-instructions.js.map +1 -0
  854. package/dist/utils/retrieval-execution-telemetry.d.ts +53 -0
  855. package/dist/utils/retrieval-execution-telemetry.d.ts.map +1 -0
  856. package/dist/utils/retrieval-execution-telemetry.js +116 -0
  857. package/dist/utils/retrieval-execution-telemetry.js.map +1 -0
  858. package/dist/utils/retrieval-result-ranking.d.ts +34 -0
  859. package/dist/utils/retrieval-result-ranking.d.ts.map +1 -0
  860. package/dist/utils/retrieval-result-ranking.js +71 -0
  861. package/dist/utils/retrieval-result-ranking.js.map +1 -0
  862. package/dist/utils/retrieval-tool-classification.d.ts +18 -0
  863. package/dist/utils/retrieval-tool-classification.d.ts.map +1 -0
  864. package/dist/utils/retrieval-tool-classification.js +118 -0
  865. package/dist/utils/retrieval-tool-classification.js.map +1 -0
  866. package/dist/utils/semantic-plan-gate.d.ts +8 -0
  867. package/dist/utils/semantic-plan-gate.d.ts.map +1 -0
  868. package/dist/utils/semantic-plan-gate.js +24 -0
  869. package/dist/utils/semantic-plan-gate.js.map +1 -0
  870. package/dist/utils/task-json.d.ts +13 -0
  871. package/dist/utils/task-json.d.ts.map +1 -0
  872. package/dist/utils/task-json.js +12 -0
  873. package/dist/utils/task-json.js.map +1 -0
  874. package/dist/utils/template-fetcher.d.ts +150 -0
  875. package/dist/utils/template-fetcher.d.ts.map +1 -0
  876. package/dist/utils/template-fetcher.js +907 -0
  877. package/dist/utils/template-fetcher.js.map +1 -0
  878. package/dist/utils/template-hash.d.ts +123 -0
  879. package/dist/utils/template-hash.d.ts.map +1 -0
  880. package/dist/utils/template-hash.js +375 -0
  881. package/dist/utils/template-hash.js.map +1 -0
  882. package/dist/utils/uninstall-scrubbers.d.ts +30 -0
  883. package/dist/utils/uninstall-scrubbers.d.ts.map +1 -0
  884. package/dist/utils/uninstall-scrubbers.js +196 -0
  885. package/dist/utils/uninstall-scrubbers.js.map +1 -0
  886. package/dist/utils/update-rollout-report.d.ts +171 -0
  887. package/dist/utils/update-rollout-report.d.ts.map +1 -0
  888. package/dist/utils/update-rollout-report.js +126 -0
  889. package/dist/utils/update-rollout-report.js.map +1 -0
  890. package/dist/utils/validate-rules.d.ts +21 -0
  891. package/dist/utils/validate-rules.d.ts.map +1 -0
  892. package/dist/utils/validate-rules.js +88 -0
  893. package/dist/utils/validate-rules.js.map +1 -0
  894. package/dist/utils/workflow-dir.d.ts +15 -0
  895. package/dist/utils/workflow-dir.d.ts.map +1 -0
  896. package/dist/utils/workflow-dir.js +33 -0
  897. package/dist/utils/workflow-dir.js.map +1 -0
  898. package/dist/utils/workflow-resolver.d.ts +86 -0
  899. package/dist/utils/workflow-resolver.d.ts.map +1 -0
  900. package/dist/utils/workflow-resolver.js +265 -0
  901. package/dist/utils/workflow-resolver.js.map +1 -0
  902. package/package.json +117 -0
  903. package/scripts/postinstall.js +6 -0
@@ -0,0 +1,239 @@
1
+ # Cursor native modes — bind when native, degrade in one sentence
2
+
3
+ > **Purpose**: This file is the **Cursor Adapter**. Kernel, Baseline module contracts, and host-agnostic CLI name **slots and capabilities** only. Cursor-specific nouns, probes, and UI drive live **here**. Prefer native; when a surface fails, say **one sentence** (what happened, where it landed) and keep going. Do **not** reimplement modes. Do **not** publish a “this version doesn’t support …” catalog.
4
+ >
5
+ > **Human lifecycle** (Kernel projection): Open → Define → Approve → Execute → Verify → Integrate? → Close. PACTILE shows up at those three gates and in `prd.md` / `verify.md`. Everywhere else the user should feel they are using Cursor.
6
+ >
7
+ > **Not a Pactile Task**: official `/goal` / `CreateGoal`. Do **not** restore `pactile-goal`.
8
+
9
+ ---
10
+
11
+ ## Core vs Adapter (zero host coupling)
12
+
13
+ | Layer | Owns | Must not |
14
+ | --- | --- | --- |
15
+ | **Core** (Kernel / Baseline contracts / host-agnostic CLI) | Slots: Define, Execute, Evidence, typed worker, isolation, `exact` / `semantic` / `structural` / `external` | `SwitchMode`, `CreateGoal`, Multitask, Canvas, Bugbot, Cursor browser, `.cursor/` as SSOT, Build-probe events |
16
+ | **This Adapter** | Evaluate each named Cursor surface; bind or write the one-sentence degrade; visible parallel | Fake a native surface; write those names into Kernel extras / Event Bridge / module contracts |
17
+
18
+ Host bindings (typed Task names, Multitask, Plan, Goal) belong **only** in this guide. Do not write them back into `worker-orchestration` or Kernel schema.
19
+
20
+ This guide is **on-demand**. It is not the always-on Bootstrap (`.cursor/rules/pactile-bootstrap.mdc`).
21
+
22
+ ---
23
+
24
+ ## Experience (Q11–Q14) — function first, invisible unless needed
25
+
26
+ - **Q11.** The user is using Cursor. PACTILE is visible at Open / Execute / Finalize and on `prd.md` / `verify.md`. One **next native action** is allowed. Do **not** ask the user to type `python` or run CLI — the Agent is the hand.
27
+ - **Q12.** Host surface failed → **one sentence**: what happened, and where work already landed. No catalog. No blaming the host.
28
+ - **Q13 / Q16.** If a **visible** host parallel surface can open (Multitask / Build in Parallel), open it. There is **no** stable API to open that UI. Ask the user to open it and hand each worker pack. If they do not, `Task()` plus one Q12 sentence. **Do not block.** Same-session silent `Task()` is a degrade and must say so.
29
+ - **Q14.** If function is unaffected, do not announce the framework. Must show: the three gates, a Q12 degrade, and (when a task is selected) one next action. **No** opening “loaded” probe. No task → answer directly.
30
+
31
+ ---
32
+
33
+ ## Q5 slot map (named surfaces → Adapt / Enhance / Supplement)
34
+
35
+ | PACTILE slot or need | Cursor native | Adapt | Enhance | Supplement |
36
+ | --- | --- | --- | --- | --- |
37
+ | Task identity / lifecycle / gates / evidence | none | — | — | Kernel (minimum set) |
38
+ | Pool / Profile / principles | none | — | — | `.pactile/pool` and related |
39
+ | Define / AC | Plan | Full **must** try the host design surface once | Draft is not definition until it lands in `{TASK}/prd.md` | Fail → Agent writes artifacts + Q12 |
40
+ | Approve | chat confirm | Do not invent a confirm UI | — | `start-execution --approved` |
41
+ | Execute | Agent | Default; leave design surface for Agent | Stay inside the contract; isolatable units fan out | — |
42
+ | Parallel / isolation | Multitask / `Task` / worktree | Visible surface first (Q13) | Worker pack; `serial_reason`; Parent `integrate-child` | No surface → inline + Q12 |
43
+ | Verify | Debug | Use when runtime evidence is needed | Evidence → `verify.md` | — |
44
+ | Extra review | Bugbot / Security Review | Call when callable | Appendix signal only | Contract Check (P06) is not replaced |
45
+ | Verify visible Web UI | Browser | Use when a visible UI changed | Evidence → `verify.md` | Kernel does not name a browser |
46
+ | In-window durable objective | `/goal` | Q4=A | `UpdateGoal`; ≠ Close Task | Do not restore `pactile-goal` |
47
+ | Analysis / inventory deliverable | Canvas | Use for that class of deliverable | Does not replace task-artifact SSOT | No Kernel canvas slot |
48
+ | Recurring / loop | Automations / Loop | **Unbound** | — | No new lifecycle slot |
49
+ | Read-only Q&A | Ask | If the user is already on Ask, stay read-only | Agent **cannot** `SwitchMode` → Ask | No-task read-only |
50
+ | Continue | chat history (weak) | Do not rebuild chat | — | `/pactile-continue` |
51
+ | Handoff | no stable equivalent | — | — | `/pactile-handoff` |
52
+ | Codebase retrieval | native semantic / search | Four intents prefer native | Do not bind tool names in Bootstrap | Intent router; Optional codegraph |
53
+ | External knowledge | platform Web | Downgrade only | — | smart-search |
54
+ | Hook / session pack | hooks | Event Bridge | Compile Session Pack | Kernel extras (events, not Build) |
55
+ | User entry | `/`, official Skills | Three-piece escape hatch | Internal skills reachable, not in the `/` menu | — |
56
+ | Check worker | typed Check worker | Dispatch when the enum exists | Dual-axis; honest self-review | No independent worker → main-session second pass |
57
+ | Statusline / Share / SDK / other | product surfaces | **Unbound** | Do not grow Kernel | Write “no slot” |
58
+
59
+ Unnamed native surfaces default to **unbound**. Binding sentences stay in this guide.
60
+
61
+ ---
62
+
63
+ ## Human phases ↔ Cursor modes
64
+
65
+ | Human phase | Cursor binding | One-sentence fallback (Q12) |
66
+ | --- | --- | --- |
67
+ | **Open** | Stay in Agent (or Ask if the user is already there and the ask is read-only) | “No task yet — answered in chat.” No product writes |
68
+ | **Define** | **Plan** — Full: `SwitchMode(plan)` immediately (Q15) | “Plan switch failed; definition is in `{TASK}/prd.md`.” |
69
+ | **Approve** | Agent — request the Execute gate; `--check` is not approval | Same artifacts; do not start Execute |
70
+ | **Execute** | **Agent** — `SwitchMode(agent)` when returning from Plan. Isolatable units: ask the user to open Multitask and hand worker packs; else `Task()` + Q12 (do not block) | Diff under the approved contract |
71
+ | **Verify** | **Debug** when runtime evidence is needed; else Agent | Proof always lands in `verify.md` |
72
+ | **Integrate?** | Serial Parent `integrate-child` (`merge_limit: 1`) | One-at-a-time merge; `parent_id` alone is not Parent |
73
+ | **Close** | Agent + `UpdateGoal` complete or cancel (Q22) | `verify.md` coverage + `/pactile-finish-work`. Goal failure does not block Close |
74
+
75
+ `Integrate?` is visible only when topology needs it (parent-child, or the task is already in Integrate). Lite single tasks skip it.
76
+
77
+ ---
78
+
79
+ ## Prefer / Adapt table (mode × lifecycle × artifacts)
80
+
81
+ | Cursor mode | Prefer when | Task-driven Prefer | One-sentence pactile fallback | Durable artifacts |
82
+ | --- | --- | --- | --- | --- |
83
+ | **Ask** | Explain / lookup; **no** durable change | Prefer Ask UI / side chat when the user is already there. **Agent cannot `SwitchMode` → Ask** | In-session no-task read-only (no `task.py create` without consent) | None |
84
+ | **Plan** | Scope / design / tradeoffs before code | Full Define: **`SwitchMode(plan)` immediately**. After review, `SwitchMode(agent)` or A′. **Save to workspace**, then map into `{TASK}/prd.md` | “Plan switch failed; wrote `{TASK}/prd.md`.” | Definition surfaces |
85
+ | **Agent** | Approved build / verify / close | Default for **Execute** (and Approve / Close). `SwitchMode(agent)` when returning from Plan | — | Diff, `verify.md`, gates |
86
+ | **Debug** | Repro / runtime / regressions | Prefer real Cursor Debug when reachable. Adapter does **not** own Debug UI docs | Evidence → `verify.md` | Notes / logs in `verify.md` |
87
+ | **Multitask** | Independent write-sets after Execute is approved | Ask the user to open Multitask / Build in Parallel and hand worker packs. No API → `Task()` + Q12. **Not** a Pactile scheduler | Explicit `.pactile/tasks/<dir>` + Parent `integrate-child`; serial needs `serial_reason` | Child `verify` / `handoff`; Parent `task-map` |
88
+ | **Canvas** | Analysis / inventory deliverable | Use for that class only. If unused, one sentence “not an analysis canvas deliverable” | Task artifacts remain SSOT | None in Kernel |
89
+ | **Browser** | Visible Web UI changed | Capture evidence into `verify.md` | “UI changed; browser capture skipped — see `verify.md`.” | `verify.md` |
90
+ | **Bugbot / Security Review** | Extra review wanted | Call when callable; appendix only | Contract Check still required | Appendix in `verify.md` |
91
+
92
+ ---
93
+
94
+ ## Mode-specific contracts
95
+
96
+ ### Ask ↔ no-task read-only
97
+
98
+ - Official Ask does not edit files.
99
+ - **Agent tools cannot `SwitchMode` into Ask.** If the user is not already on Ask, stay in Agent and keep the turn read-only.
100
+ - Pure Q&A is no-task; no task creation without consent. Answer directly (Q14).
101
+ - Side chats during Agent runs are still not Pactile artifacts.
102
+
103
+ ### Plan ↔ Define (Q15, Q23, Q24)
104
+
105
+ - **Full Define:** `SwitchMode(plan)` immediately. Lite may stay in Agent.
106
+ - Default plan save = **home directory** — **Save to workspace**, then the Agent maps into `{TASK}/prd.md` (and `design.md` / `implement.md` as the contract requires).
107
+ - **Unlanded Plan must not map to Execute** (Q23).
108
+ - Does **not** skip `start-execution --check` / Execute approval.
109
+ - No product-code edits until Execute is approved (Q24). A human “start / Build” while still in Define is **A′**, not a skip.
110
+ - If Plan switch or save fails: Q12 one sentence and author the same files in Agent.
111
+
112
+ ### Agent ↔ Execute
113
+
114
+ - Default binding for **Execute**.
115
+ - Stay inside the approved Definition / AC (and Full execution/verification contract).
116
+ - Contract change → Return-to-Define, then the Execute gate again.
117
+ - **Q19:** the main window collects worker **summaries**, conflicts, and gates — not full worker transcripts.
118
+
119
+ ### Debug ↔ evidence in `verify.md`
120
+
121
+ - Prefer Cursor Debug instrumentation when reachable.
122
+ - Always land proof in **`verify.md`**. Adapter does not ship Debug UI instructions.
123
+ - Contract change → Return-to-Define. Implementation defect → back to Execute.
124
+
125
+ ### Visible parallel ↔ worker packs (Q13, Q16)
126
+
127
+ There is **no** stable API to open Multitask / Build in Parallel.
128
+
129
+ 1. Ask the user to open the visible parallel surface and give each worker an explicit pack: `.pactile/tasks/<dir>` + contract slice. Never rely on `selected_task`.
130
+ 2. If they do not: `Task()` (typed `pactile-implement` / `pactile-check` / `pactile-research` when the enum exists) plus one Q12 sentence. **Do not block.**
131
+ 3. Silent same-session `Task()` without that sentence is a failed degrade.
132
+ 4. Pactile remains source of truth for status, gates, integration. This is **not** a Pactile-built parallel product.
133
+ 5. **Default parallel** when planning has ≥2 isolatable write-sets (Parent children with empty `depends_on`, or Full Task fan-out). Lite / single-file work is not forced into parallel agents.
134
+ 6. **Serial needs a written reason** (`serial_reason`): shared write-set / HITL or reviewer gate / `depends_on` unmet / user asked serial / conflict surface cannot isolate. HITL, `start-execution --approved`, reviewer gates, and `integrate-child` stay serial (`merge_limit: 1`).
135
+ 7. Parent alone `integrate-child`. Parallel-first declaration fields live in `.pactile/framework/parallel-first-execution.md` (core contract, host-agnostic).
136
+
137
+ ### Task API honest degrade (`generalPurpose`)
138
+
139
+ This Cursor Task API may have **no** `pactile-implement` / `pactile-check` enum.
140
+
141
+ - Dispatch workers as **`generalPurpose`**.
142
+ - Do **not** label the run `true-independent`.
143
+ - Do **not** nest further implement / check / research Task types from a child worker.
144
+ - Parent retains `review-child` / `integrate-child`.
145
+
146
+ Typed worker names above are **Adapter bindings**. Core contracts speak of typed implement / check / research workers, not these host strings.
147
+
148
+ ### Canvas / Bugbot / Browser / Automations
149
+
150
+ - **Canvas (Q8):** analysis or inventory deliverables only. Not a second SSOT. No Kernel canvas slot.
151
+ - **Bugbot / Security Review (Q7):** optional Verify appendix. Never a substitute for contract Check.
152
+ - **Browser (Q10):** when a visible Web UI changed, capture evidence into `verify.md`. Kernel records Evidence, not a browser name.
153
+ - **Automations / Loop (Q9):** unbound. Do not add a recurring lifecycle slot.
154
+
155
+ ---
156
+
157
+ ## Official `/goal` is not a Pactile Task (Q4, Q17, Q21, Q22, Q25)
158
+
159
+ - Cursor **`/goal`** / **CreateGoal** is a durable **in-window** objective on the Cursor product.
160
+ - It is **not** a Pactile task type, not Parent/Child, not `selected_task`, and does **not** skip Execute.
161
+ - Do **not** restore `pactile-goal`. Continue / Finish-work / Handoff remain the `/pactile-*` escape hatches.
162
+ - **Q17 / Q21:** when definition is already frozen, CreateGoal may drive **this window**. Slot clear → use it; inferring → ask. Goal text = one-line intent aligned with `prd.md` (Q25). Do not paste the PRD. Do not mirror Goal at Open.
163
+ - **Q22:** on Close / Finalize, `UpdateGoal` complete or cancel plus one sentence. Goal failure **does not block** Close.
164
+ - Definition change → `UpdateGoal`. Goal still does not replace gates or parallel.
165
+
166
+ User-visible `/` escape hatches on agent-capable Cursor: **`/pactile-continue`**, **`/pactile-finish-work`**, **`/pactile-handoff`**. Internal skills (brainstorm, check, skill-creator, …) are **not** slash commands. `start` is filtered out on agent-capable Cursor.
167
+
168
+ ---
169
+
170
+ ## Build probe — Adapter dogfood, not Kernel (Q18, Q20, Q24)
171
+
172
+ Probe the host design-surface **“start doing”** (Plan Build) **only in this Adapter**.
173
+
174
+ - **Today (Native):** no Build tool. Hooks have no such event. BYOK `ExecutePlanAction` stays out of core.
175
+ - **Current path = A′:** after `{TASK}/prd.md` is on disk and `start-execution --check` passes, Execute consent is `start-execution --approved` (or the equivalent human “start / Build” while still in Define — still A′, still the gate).
176
+ - **Beta dogfood:** if a later Cursor build exposes a callable Build action, probe it. Landed contract + `--check` PASS → record Execute consent. Unstable / missing → A′ + Q12. Both paths are legal in the 0.5.x beta; the official default is decided before 0.5.0.
177
+ - **Forbidden:** Build-probe fields in Kernel extras, Event Bridge default subscriptions, or module contracts. Core stores **approval**, not a host Build event.
178
+
179
+ ---
180
+
181
+ ## Callability (Agent tool table)
182
+
183
+ | Surface | Plan | Agent | Ask | Debug | Parallel children |
184
+ | --- | --- | --- | --- | --- | --- |
185
+ | Agent `SwitchMode` | Yes → `plan` | Yes → `agent` | **No** | **No** | — |
186
+ | Agent `Task` / Multitask UI | — | workers | — | — | Prefer **visible** surface; no API → ask user, else `Task()` + Q12 |
187
+ | User / CLI modes | Plan UI / `/plan` | default | Ask UI / `/ask` | Debug UI | `/multitask`, Build in Parallel |
188
+ | Plan Build (today) | **No tool** → A′ | — | — | — | — |
189
+
190
+ If a cell is not callable here: Q12 one sentence, then the artifact path. Do not narrate an unsupported-mode catalog to the user.
191
+
192
+ ---
193
+
194
+ ## What pactile must not claim
195
+
196
+ - Plans auto-save into `.pactile/tasks/`.
197
+ - Multitask inherits `selected_task` or exposes a stable programmatic mode API.
198
+ - Parallel agents cannot conflict without Pactile/worktree discipline.
199
+ - `SwitchMode` can open Ask or Debug.
200
+ - Shipping a parallel fake Plan/Ask/Debug product, or documenting gaps as product blame.
201
+ - Replacing Cursor Multitask with a Pactile scheduler, queue, or new parallel CLI.
202
+ - That a `generalPurpose` stand-in is `true-independent`.
203
+ - That `/goal` / CreateGoal is a Pactile Task.
204
+ - That an unlanded Plan, or a human “Build” before Execute approval, already is Execute.
205
+ - That Bugbot / Security Review / Canvas replaced contract Check or task artifacts.
206
+ - That a Build probe lives in Kernel extras or Event Bridge.
207
+
208
+ ---
209
+
210
+ ## Dogfood / probes
211
+
212
+ | Mode | Minimum probe | Pass when |
213
+ | --- | --- | --- |
214
+ | **Plan** | Schema or live `SwitchMode(plan)` note in verify | Full Define tried once; Q12 + `{TASK}/prd.md` if unused |
215
+ | **Ask / Debug** | Callability above | Artifact fallback; no unsupported-mode section |
216
+ | **Multitask** | Ask user to open visible surface, or `Task()` + Q12 | Explicit child paths; default parallel; serial has `serial_reason`; Parent integrates |
217
+ | **Agent** | Session implements under contract | Artifacts on disk |
218
+ | **Task enum** | Missing `pactile-implement` / `pactile-check` | `generalPurpose` degrade; never `true-independent` |
219
+ | **Plan Build** | No Native tool this cycle | A′ path documented; **not** in Kernel extras / Event Bridge |
220
+ | **Goal** | CreateGoal when definition is frozen | One-line intent; `UpdateGoal` on Close; failure does not block |
221
+
222
+ ---
223
+
224
+ ## Rollback
225
+
226
+ Docs + rules only:
227
+
228
+ 1. Delete `.pactile/framework/cursor-native-modes-guide.md` if reverting this Adapter map. Parallel-first **declaration** fields stay in `.pactile/framework/parallel-first-execution.md` (owned by the parallel-runtime slice).
229
+ 2. Drop related `guides/index.md` / `workflow.md` rows, or `pactile update` from pre-rewrite templates.
230
+ 3. **pactile**: revert this Child’s tip or delete mirrored template paths.
231
+ 4. Do **not** thicken `.cursor/rules/pactile-bootstrap.mdc` to replace this guide.
232
+
233
+ ---
234
+
235
+ ## Related
236
+
237
+ - `.pactile/framework/cursor-subagent-policy.md`
238
+ - `.pactile/framework/parallel-first-execution.md` (host-agnostic declaration; this guide binds the Cursor surface)
239
+ - `.cursor/rules/pactile-bootstrap.mdc` (thin always-on pointer only)
@@ -0,0 +1,41 @@
1
+ # Cursor semantic compliance (REC-06)
2
+
3
+ ## Plan vs exec
4
+
5
+ | Layer | What counts |
6
+ | --- | --- |
7
+ | **Plan** | Router route `platform-semantic` (`platformNative: true`) or injected plan step「内置代码库语义搜索」 |
8
+ | **Exec (Cursor)** | Tool log matches **platform semantic** patterns only — see `retrieval_tool_classification` |
9
+ | **Not semantic exec on Cursor** | `fast_context_search`, pure Grep/Read/codegraph |
10
+
11
+ ## Classifying tool names from session logs
12
+
13
+ Use the same patterns as telemetry:
14
+
15
+ ```powershell
16
+ python -c "from common.retrieval_tool_classification import classify_tool_calls; print(classify_tool_calls(['Grep','codebase_search'], platform='cursor'))"
17
+ ```
18
+
19
+ (Run from `.pactile/scripts` with `PYTHONPATH` set to that directory.)
20
+
21
+ On **cursor**, `semantic_executed` = `platform_semantic_executed`. Track `fast_context_count` and `cursor_fast_context_misuse` separately.
22
+
23
+ ## Per-query checklist
24
+
25
+ When `platform-semantic` is in the route list, verify in the session tool log:
26
+
27
+ - `plan_block_in_prompt` — visible `## 代码库检索计划` (or equivalent) before code search
28
+ - `tools_called` — verbatim tool names from Cursor
29
+ - `platform_semantic_executed` / `fast_context_count` — from `classify_tool_calls(..., platform=cursor, cursor_env=...)`
30
+
31
+ Plan-level presence does not imply execution-level use.
32
+
33
+ ## Agent instructions
34
+
35
+ When `platform-semantic` is in the route list, `render_agent_instructions` appends **语义合规(Cursor)** requiring one built-in semantic search before Top-1 and logging the host tool name.
36
+
37
+ ## Native live proof (OC-15, 2026-07-02)
38
+
39
+ Controlled main-session run (`07-02-child-oc15-semantic-proof`): 3/3 conceptual queries with router `platform-semantic` executed host tool **`SemanticSearch`** → `platform_semantic_executed=true` (`cursor_env=native`). See `research/native-semantic-execution-proof.md`.
40
+
41
+ **Caveat:** Proves observability + compliant-agent behavior; does not guarantee all sessions follow the plan (historical evals show Grep-only gaps when agents skip semantic).
@@ -0,0 +1,90 @@
1
+ # Cursor Subagent Policy
2
+
3
+ > Current policy for dispatching Pactile research, implementation, and check
4
+ > work through Cursor's supported native agent surfaces.
5
+
6
+ ## Invariants
7
+
8
+ - Pactile never hardcodes vendor model identifiers in committed defaults.
9
+ - The operator chooses the main-session model; a child inherits it unless the
10
+ native host surface provides an explicit supported override.
11
+ - A child receives the smallest sufficient context pack and a concrete task.
12
+ - The Parent owns decomposition, integration, and final acceptance.
13
+ - A child does not recursively dispatch another Pactile child.
14
+ - Model choice is not evidence. Source reads, diffs, tests, and receipts are.
15
+
16
+ ## Dispatch roles
17
+
18
+ | Role | Purpose | Workspace access | Expected output |
19
+ | --- | --- | --- | --- |
20
+ | `pactile-research` | Answer a bounded repository question | Read-only | Findings in the assigned research path |
21
+ | `pactile-implement` | Implement one frozen write set | Writable | Scoped changes plus focused verification |
22
+ | `pactile-check` | Independently verify requirements and safety | Read-only by default | Verdict, evidence, and actionable findings |
23
+
24
+ Use Cursor's built-in exploration surface for quick orientation that does not
25
+ need a durable artifact. Use a Pactile research child when the result must be
26
+ persisted, cited by a task, or kept separate from implementation context.
27
+
28
+ ## When to dispatch
29
+
30
+ Dispatch only when the work is independently bounded and parallelism or
31
+ context isolation materially helps. Keep work inline when it is a single small
32
+ change, when every step touches the same write set, or when coordination would
33
+ cost more than execution.
34
+
35
+ Before dispatching:
36
+
37
+ 1. Freeze the child objective and write set in the Parent task map.
38
+ 2. Include `Selected task: <path>` as the first line of the child prompt.
39
+ 3. State whether the child is read-only or writable.
40
+ 4. State the required validation and stop conditions.
41
+ 5. Confirm dependency readiness and worktree ownership.
42
+
43
+ ## Model policy
44
+
45
+ `model_policy: cursor-configured`
46
+
47
+ Use only controls exposed by the current native Cursor surface. If no child
48
+ override is available, inherit the Parent model and record that fact. Never
49
+ edit generated agent files temporarily to smuggle a model identifier into a
50
+ dispatch, and never mutate user settings as part of task execution.
51
+
52
+ ## Isolation and integration
53
+
54
+ - Parallel writable children require disjoint worktrees or explicitly disjoint
55
+ write sets.
56
+ - A shared worktree implies serial writable execution.
57
+ - Research and check children may run concurrently when they are truly
58
+ read-only and do not compete for mutable generated state.
59
+ - The Parent reviews each child diff before integration and re-runs the union
60
+ verification after all accepted changes are present.
61
+ - Do not mark a check `true-independent` when it was performed by the same
62
+ writable execution context or by a generic child standing in for a missing
63
+ checker role.
64
+
65
+ ## Failure handling
66
+
67
+ - Missing native child support: continue inline or open a separate user-owned
68
+ Agent chat only when the task contract permits it.
69
+ - Busy or interrupted child: preserve its partial evidence, reclaim the lane,
70
+ and retry only the unfinished unit.
71
+ - Write-set overlap: stop the conflicting child, reconcile ownership in the
72
+ Parent task map, then resume serially.
73
+ - Unavailable model override: inherit the Parent model; do not block safe work.
74
+ - Unverifiable result: treat it as orientation and reproduce the proof in the
75
+ Parent context.
76
+
77
+ ## Closeout
78
+
79
+ The Parent records:
80
+
81
+ - which role ran and whether it had write access;
82
+ - the exact task/worktree and write-set boundary;
83
+ - accepted or rejected findings;
84
+ - focused validation from the child;
85
+ - union validation after integration;
86
+ - any degraded host capability or unresolved blocker.
87
+
88
+ Historical client-specific routing experiments are intentionally absent from
89
+ generated runtime guidance. They belong in versioned history, not in a fresh
90
+ Pactile installation.
@@ -0,0 +1,28 @@
1
+ # Dogfood-Only vs Default Install Surfaces
2
+
3
+ > **Purpose**: An inventory of surfaces that exist in the **maintainer harness** (MyHarness) but are **not** shipped by a default `pactile init` / `pactile update`. Use it to avoid the false conclusion "the product feature disappeared" when comparing a consumer repo to the harness. A file missing from a consumer project is **by design**, not a regression — the CLI/script/guide surface still carries the capability.
4
+
5
+ ## Rule of thumb
6
+
7
+ - **Shipped by default** = written by `pactile init --cursor` and refreshed by `pactile update` (workflow, `.pactile/framework/` docs, scripts, AGENTS.md PACTILE block, `.cursor/{commands,rules,agents,hooks}`). `.pactile/spec/` seeds are init-only and **never** refreshed — update never touches that directory.
8
+ - **Dogfood-only / harness-only** = present only in the maintainer harness or after manual copy. Absence in a consumer repo is expected.
9
+
10
+ ## Inventory
11
+
12
+ | Surface | Where it exists | Why dogfood-only | Decision |
13
+ | --- | --- | --- | --- |
14
+ | `.claude/skills/*` full suite | `.claude/skills/` in the harness | Cursor default install is **commands-only**; Claude skill files are for Claude platforms, not Cursor consumers | **non-Cursor** (not in Cursor default install) |
15
+ | Private review-pool items / plan narratives | `.pactile/pool/items/`, `{TASK}/research/` in the harness | Personal or project-specific content; the pool **mechanism** ships, the items do not | **narrative not packaged** — mechanism ships, content stays local |
16
+ | `.codegraph/`, `.worktrees/`, scratch/analysis files | Harness root | Per-machine index / tooling state | **local only** |
17
+
18
+ ## If a capability seems missing in a consumer repo
19
+
20
+ 1. Check the [internal-skills-cursor-reachability.md](./internal-skills-cursor-reachability.md) matrix — the capability's load channel (guide / script / agent / CLI) should be present.
21
+ 2. Check AGENTS.md `Invocation map (short)` — the intended entry point (`/pactile-handoff`, etc.).
22
+ 3. If the entry point is a harness-only file from the table above, the capability is intentionally **not** shipped to consumers — do not backfill it by copying harness files.
23
+
24
+ ## Related
25
+
26
+ - [internal-skills-cursor-reachability.md](./internal-skills-cursor-reachability.md) — reachability of internal skill names.
27
+ - [prd-grill-frontier.md](./prd-grill-frontier.md) — P11 grilling on-demand path.
28
+ - AGENTS.md `Invocation map (short)` — session handoff = `/pactile-handoff`.
@@ -0,0 +1,45 @@
1
+ # Execution strategy (execution_mode / isolation)
2
+
3
+ > **Purpose**: Suggest a Development Strategy Contract before you freeze `implement.md`, and align Phase 2 dispatch with the approved contract.
4
+
5
+ This file answers **who** implements/checks and **where** files are edited. It is **not** a parallel scheduler. Parallel-first (default native parallel, serial needs `serial_reason`) lives in `workflow.md` and `cursor-native-modes-guide.md`; declaration fields in `parallel-first-execution.md`.
6
+
7
+ ---
8
+
9
+ ## Two orthogonal dimensions
10
+
11
+ | Field | Question |
12
+ | --- | --- |
13
+ | `execution_mode` | **Who** implements and checks? (`inline` main session, `worker` pactile-implement/check agents, `child-task` Child worker) |
14
+ | `isolation` | **Where** are files edited? (`main-worktree` vs `git-worktree` for Child) |
15
+
16
+ Non-git repo roots do **not** force `inline` for code Full tasks; they only affect whether `git-worktree` / `prepare-child-worktree` is recommended.
17
+
18
+ ## Suggest (planning)
19
+
20
+ ```bash
21
+ python3 ./.pactile/scripts/task.py suggest-execution-strategy <task-dir>
22
+ python3 ./.pactile/scripts/task.py suggest-execution-strategy <task-dir> --json
23
+ ```
24
+
25
+ Run during brainstorm / before finalizing the YAML block in `implement.md`. Reconcile suggestion with product intent; the contract in `implement.md` is authoritative after approval.
26
+
27
+ ## Default policy (v1)
28
+
29
+ | Profile / signal | Suggested `execution_mode` | Suggested `isolation` |
30
+ | --- | --- | --- |
31
+ | Lite | (no contract) | — |
32
+ | Full + touches code | `worker` | `main-worktree` |
33
+ | Full + doc-only capabilities | `inline` | `main-worktree` |
34
+ | Parent / has children | `inline` | `main-worktree` |
35
+ | Child (`task.json` parent set) | `child-task` | `git-worktree` when git package root resolves; else `main-worktree` + WARN |
36
+
37
+ `touches_code` is deterministic: code `optional_capabilities`, `package`/`scope` path segments (`src`, `packages`, `scripts`, …), or Full with `design.md` and non-doc-only capabilities. Rules live in `.pactile/config/execution-strategy-rules.json`.
38
+
39
+ ## Drift warning (preflight)
40
+
41
+ `task.py start-execution <task> --check` prints `[execution-strategy] WARN` when the approved contract differs from a fresh suggestion. **Advisory only** — does not fail the gate.
42
+
43
+ ## Phase 2 alignment
44
+
45
+ See `workflow.md` Phase 2.1 / 2.2 tables: spawn `pactile-implement` / `pactile-check` only when `execution_mode: worker`.
@@ -0,0 +1,31 @@
1
+ # Framework Docs (`.pactile/framework/`)
2
+
3
+ > **Ownership**: These files are **framework-managed**. `pactile update` refreshes them (with the same hash-conflict prompt as `workflow.md`). If you edit one, update will ask before overwriting — prefer putting project-specific norms in `.pactile/spec/` instead, which update never touches.
4
+
5
+ Versioned framework and platform-adapter documentation. Project/team knowledge lives in `.pactile/spec/` (user-owned); this directory documents how the framework itself behaves.
6
+
7
+ ## Docs
8
+
9
+ | Doc | What it covers |
10
+ | --- | --- |
11
+ | [prd-grill-frontier.md](./prd-grill-frontier.md) | On-demand path to the PRD grill and Frontier discipline (bundled `brainstorm` skill is SSOT) |
12
+ | [internal-skills-cursor-reachability.md](./internal-skills-cursor-reachability.md) | How each internal workflow skill is reachable on Cursor (commands-only baseline) |
13
+ | [dogfood-only-surfaces.md](./dogfood-only-surfaces.md) | Which surfaces ship by default vs exist only in the maintainer harness |
14
+ | [cursor-subagent-policy.md](./cursor-subagent-policy.md) | When to spawn Pactile custom agents; model policy stays on the Cursor side |
15
+ | [retrieval-daily-guide.md](./retrieval-daily-guide.md) | Daily retrieval tool routing (search vs retrieval-pack scoring; web-research gate) |
16
+ | [cursor-native-modes-guide.md](./cursor-native-modes-guide.md) | Mapping Cursor Plan / Ask / Debug / Agent / Multitask onto Pactile phases |
17
+ | [parallel-first-execution.md](./parallel-first-execution.md) | Parallel-first **product** principle + execution contract: native parallel default, `serial_reason`, task-map fields |
18
+ | [middleware-protocol.md](./middleware-protocol.md) | Middleware Protocol v1: one ABI, overlay `.pactile/middleware/`, shipped providers (smart-search required; others optional), `update` never writes/deletes/hashes overlay |
19
+ | [upgrade.md](./upgrade.md) | Terminal-user upgrade half-page: install package → `pactile update` → confirm → keep working |
20
+ | [release-boundary.md](./release-boundary.md) | PACTILE this-batch ship vs independent pactile-byok ship; BYOK is not a PACTILE release gate |
21
+ | [cursor-context-injection-guide.md](./cursor-context-injection-guide.md) | Which Cursor injection channels actually reach the model |
22
+ | [cursor-semantic-compliance.md](./cursor-semantic-compliance.md) | Plan-vs-exec semantic compliance on Cursor |
23
+ | [injection-budget-guide.md](./injection-budget-guide.md) | Context injection budget across reliable Cursor channels |
24
+ | [execution-strategy.md](./execution-strategy.md) | Development Strategy Contract (`execution_mode` / isolation) |
25
+ | [verification-strength-guide.md](./verification-strength-guide.md) | How deeply tasks must be verified before closeout, graded by task mode |
26
+ | [artifact-locale-guide.md](./artifact-locale-guide.md) | How human-reviewed artifacts follow the user's language |
27
+
28
+ ## Related
29
+
30
+ - `.pactile/workflow.md` — the workflow itself (also framework-managed)
31
+ - `.pactile/spec/guides/` — project thinking guides (user-owned; update never modifies)
@@ -0,0 +1,111 @@
1
+ # Injection Budget Guide
2
+
3
+ > **Purpose**: Allocate context injection across **reliable Cursor channels** with measurable caps —「完整 = 证据密度」, not unbounded prose.
4
+
5
+ **Matrix input:** `08-06-pactile-p0-channel-baseline-matrix` → `research/channel-matrix.md` (C01–C04, C16).
6
+
7
+ ---
8
+
9
+ ## 1. Non-goals
10
+
11
+ - **No `beforeSubmitPrompt` injection** — C04 stays telemetry-only until Cursor changelog proves otherwise.
12
+ - **No black-box silent injection** — Layer 2 and jsonl loads emit stderr manifest lines.
13
+ - **No weakening active controls** — execution approval and retrieval policy remain enforced. Intake is handled by `intake-basic`; it has no `[Triage:]` line, and the removed `pactile-triage.mdc` is not an always-on gate.
14
+ - **No Auto-Trigger Skill as retrieval primary** — C16 stays Rules + `route_codebase_retrieval.py --instructions`.
15
+
16
+ ---
17
+
18
+ ## 2. Channel budget tiers
19
+
20
+ | Tier | Channels | When | Budget |
21
+ | --- | --- | --- | --- |
22
+ | **Per-turn hard** | C01 Rules, C02 AGENTS | Every agent turn | Rules total warn 20 KiB / fail 32 KiB; AGENTS PACTILE block warn 4 KiB |
23
+ | **Session once** | C03 sessionStart | New session | Keep the context-progressive Session pack compact; not a substitute for per-turn rules |
24
+ | **Zero** | C04 beforeSubmit | Every message | **0** — log only |
25
+ | **Subagent only** | C06 Layer 2 | `generate_dispatch_prompt` → Task | Role default `max_chars` + jsonl caps (§3) |
26
+ | **On demand** | C16 retrieval | When agent needs a plan | Rules default order or router CLI; no per-message plan block |
27
+
28
+ ---
29
+
30
+ ## 3. JSONL manifest budgets (implement / check)
31
+
32
+ Curate **spec/research only** — never pre-register code paths you will edit.
33
+
34
+ | Limit | Value | Enforcement |
35
+ | --- | --- | --- |
36
+ | Max entries | 8 | Skip excess at Layer 2 load; `task.py validate` WARN |
37
+ | Max single expansion | 12,000 chars | Skip file/directory block |
38
+ | Max total jsonl body | 48,000 chars | Skip when cumulative would exceed |
39
+
40
+ **Curator rules:**
41
+
42
+ 1. Prefer **index + one layer spec** over whole package trees.
43
+ 2. Use `task.py add-context` with a one-line **reason** (replayable intent).
44
+ 3. Delete the seed `_example` row when adding real entries.
45
+ 4. Full task artifacts (`prd.md`, `design.md`, `implement.md`) are **always** embedded separately — do not duplicate them in jsonl.
46
+
47
+ **Dispatch manifest (stderr):**
48
+
49
+ ```text
50
+ [subagent-dispatch] injection-budget: .pactile/tasks/.../implement.jsonl loaded 2 entries (8421 chars): ...
51
+ [subagent-dispatch] injection-budget: skipped path: total cap (...)
52
+ ```
53
+
54
+ ---
55
+
56
+ ## 4. Layer 2 role defaults
57
+
58
+ When `--max-chars` is omitted, `generate_dispatch_prompt.py` uses:
59
+
60
+ | Role | Default `max_chars` |
61
+ | --- | --- |
62
+ | implement | 96,000 |
63
+ | check | 64,000 |
64
+ | research | 48,000 |
65
+
66
+ Override per dispatch when a task truly needs more — document the override in `implement.md` DSC and `verify.md`.
67
+
68
+ Truncation order after jsonl budget: whole context string tail-truncated with `...[truncated]...` warning.
69
+
70
+ ---
71
+
72
+ ## 5. alwaysApply rule hygiene
73
+
74
+ Before adding a new `.cursor/rules/*.mdc` with `alwaysApply: true`:
75
+
76
+ 1. Confirm the content **must** be visible **every turn** (see `cursor-context-injection-guide.md`).
77
+ 2. Run `python ./.pactile/scripts/injection_budget_probe.py --repo-root .`.
78
+ 3. If total alwaysApply exceeds **20 KiB**, trim or move detail to on-demand spec / `get_context.py`.
79
+
80
+ **Rollback:** remove or scope the new rule; re-run probe.
81
+
82
+ ---
83
+
84
+ ## 6. Observability probe
85
+
86
+ ```powershell
87
+ # Workspace surfaces
88
+ python ./.pactile/scripts/injection_budget_probe.py --repo-root .
89
+
90
+ # Task jsonl + dispatch size
91
+ python ./.pactile/scripts/injection_budget_probe.py --repo-root . --task .pactile/tasks/<task-dir> --dispatch-role implement
92
+
93
+ # CI / gate style (fail on WARN or rules >32KiB)
94
+ python ./.pactile/scripts/injection_budget_probe.py --repo-root . --strict
95
+ ```
96
+
97
+ Constants live in `.pactile/scripts/common/injection_budget.py` (single source).
98
+
99
+ ---
100
+
101
+ ## 7. Related
102
+
103
+ - [Cursor context injection guide](./cursor-context-injection-guide.md) — channel reliability matrix
104
+ - [Cursor subagent policy](./cursor-subagent-policy.md) — Layer 2 dispatch contract
105
+ - [Verification strength guide](./verification-strength-guide.md) — evidence density for closeout (orthogonal axis)
106
+
107
+ ---
108
+
109
+ ## 8. Rollback
110
+
111
+ Revert `injection_budget.py`, probe script, `subagent_dispatch` budget branch, validate WARNs, and this guide. Layer 2 returns to unbounded jsonl expansion; C04 remains telemetry-only.
@@ -0,0 +1,45 @@
1
+ # Internal Skills Cursor Reachability Matrix
2
+
3
+ > **Purpose**: Every internal skill referenced by framework or task artifacts must have a documented **load channel** on a pure Cursor project. Root `AGENTS.md` is now a compact pointer block, not an invocation map. Internal workflow skills are **not** shipped to `.cursor/skills/` and have **no** default slash command — by design (commands-only). This matrix is the honest index: how each internal name is actually reachable on-demand, so an agent never claims a skill is loaded without a file read, and users never assume internal skills are slash commands.
4
+
5
+ ## Commands-only baseline
6
+
7
+ - Default Cursor install writes only: `.cursor/commands/` (user slash commands), `.cursor/rules/*.mdc`, `.cursor/agents/*.md`, `.cursor/hooks`, and `.pactile/` (workflow, framework docs, scripts, spec/guides seeds).
8
+ - Bundled skill **bodies** live in the npm package templates (`dist/templates/common/skills/`, `dist/templates/common/bundled-skills/`). They are **not** copied into a consumer project by `pactile init` on Cursor.
9
+ - "Not in the project" ≠ "missing from the framework": the CLI/script/agent/guide surface below is the reachable carrier.
10
+
11
+ ## Matrix
12
+
13
+ | Skill name | Package SSOT | Cursor load channel | Slash? |
14
+ | --- | --- | --- | --- |
15
+ | `pactile-brainstorm` (PRD Grill) | `common/skills/brainstorm.md` | **Read `./prd-grill-frontier.md`** (on-demand summary; full body in npm package) | no |
16
+ | `pactile-micro-grill` | `bundled-skills/pactile-micro-grill/SKILL.md` | Before a Task, Intake comes from `.pactile/modules/intake-basic/contract.md`; after Open, **read `./prd-grill-frontier.md` §Micro-grill unresolved**. Full body remains in the npm package. | no |
17
+ | `pactile-before-dev` | `common/skills/before-dev.md` | Read task artifacts → `get_context.py --mode packages` → spec indexes; full body in npm package | no |
18
+ | `pactile-break-loop` | `common/skills/break-loop.md` | Activated `debug-recovery` module routes Debug → evidence → `pactile-break-loop`; full body in npm package; output pattern in `.pactile/spec/guides/debug-loop-guide.md` | no |
19
+ | `pactile-update-spec` | `common/skills/update-spec.md` | `close-basic` emits the learning disposition; activated `spec-learning` owns `update-spec`. Full body remains in the npm package. | no |
20
+ | `pactile-check` | `bundled-skills/pactile-check/SKILL.md` | **Agent form `.cursor/agents/pactile-check.md`** (Task tool, dual-axis) — prefer Agent when `execution_mode: worker` | no |
21
+ | `pactile-meta` | `bundled-skills/pactile-meta/SKILL.md` | Maintainer skill; body in npm package; no Cursor project file (not routed in consumer workflows) | no |
22
+ | `pactile-spec-bootstrap` | `bundled-skills/pactile-spec-bootstrap/SKILL.md` | One-shot scaffolding skill; body in npm package; not routed in steady-state consumer workflow | no |
23
+ | `pactile-skill-creator` | `bundled-skills/pactile-skill-creator/SKILL.md` | **Authoring-time (mandatory for new / structural skill edits):** Read `pactile/packages/cli/src/templates/common/bundled-skills/pactile-skill-creator/SKILL.md` then `…/references/review-checklist.md`. Harness dogfood copy: `.claude/skills/pactile-skill-creator/SKILL.md` and `.claude/skills/pactile-skill-creator/references/review-checklist.md`. Installed npm: `dist/templates/common/bundled-skills/pactile-skill-creator/`. Not a slash command. Skip typo/link-only. Does **not** apply to Cursor product skills (`~/.cursor/skills-cursor/`). | no |
24
+ | `smart-search-cli` | `bundled-skills/smart-search-cli/SKILL.md` | **`python ./.pactile/scripts/run_smart_search.py "<question>" --intent deep-research --json`** (shipped script); Cursor web tools are downgrade-only fallback | no |
25
+ | `pactile-handoff` | `bundled-skills/pactile-handoff/SKILL.md` | **Slash `/pactile-handoff`** (writes session handoff to OS temp dir) | **yes** |
26
+ | `pactile-continue` / `pactile-finish-work` / `pactile-start` | `common/commands/*.md` | **Slash `/pactile-continue`, `/pactile-finish-work`** (`pactile-start` filtered on agent-capable platforms) | **yes** |
27
+ | `pactile-research` / `pactile-implement` / `pactile-check` (agents) | `packages/cli/src/templates/cursor/agents/*.md` | **`.cursor/agents/*.md`** — Agent (Task tool), dispatched via `generate_dispatch_prompt.py` (CLI Layer 2) | no |
28
+
29
+ ## Reading this matrix
30
+
31
+ - **Reachable on-demand** (green path): brainstorm → frontier guide; micro-grill → `intake-basic` before Task or the frontier guide after Open; check → agent; smart-search → script; **skill authoring → Read `pactile-skill-creator/SKILL.md` + `review-checklist.md`** (paths in the matrix row).
32
+ - **Body in npm package only**: the skill is real and shipped, but a pure Cursor project has no project-relative copy. Activated modules or task/interface artifacts route its **behavior**; the full body is discoverable under the installed package (`npm root -g` → `dist/templates/…`). Do not claim these are loaded without reading the actual body when the behavior matters.
33
+ - **Maintainer-only** (`pactile-meta`, `pactile-spec-bootstrap`): documented here for framework completeness; not part of the consumer execution path. No extra consumer load path beyond the package body.
34
+ - **Authoring-time mandatory** (`pactile-skill-creator`): not a consumer runtime path and not a slash command, but **must** be Read before creating or structurally changing Pactile / blaze-skills / harness skills. Cursor product skills are out of scope.
35
+
36
+ ## Honesty rule
37
+
38
+ If a framework or task artifact names a skill, it must be reachable here. If a row ever becomes unreachable, add a project-relative carrier (guide/script/agent) or remove the stale reference. Root `AGENTS.md` remains a pointer block and need not enumerate internal skills. Never claim "skill loaded" without a file read.
39
+
40
+ ## Related
41
+
42
+ - [prd-grill-frontier.md](./prd-grill-frontier.md) — P11: brainstorm/grill on-demand path.
43
+ - [dogfood-only-surfaces.md](./dogfood-only-surfaces.md) — what ships only in the maintainer harness (goal_*.py, `.claude/skills`, local overlays).
44
+ - Root `AGENTS.md` PACTILE block — compact pointers only; it is not an invocation map or skill inventory.
45
+ - `./cursor-context-injection-guide.md` — which channels actually reach the Cursor model.