@blxzer/pactile 0.5.0 → 0.6.0-beta.2

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 (917) hide show
  1. package/CHANGELOG.md +612 -563
  2. package/LICENSE +235 -235
  3. package/README.md +108 -105
  4. package/README.zh-CN.md +105 -105
  5. package/bin/compat-warning.js +11 -11
  6. package/bin/cstl.js +6 -6
  7. package/bin/pactile.js +3 -3
  8. package/bin/smart-search.js +38 -38
  9. package/dist/cli/index.d.ts.map +1 -1
  10. package/dist/cli/index.js +79 -30
  11. package/dist/cli/index.js.map +1 -1
  12. package/dist/commands/codex.d.ts +3 -0
  13. package/dist/commands/codex.d.ts.map +1 -0
  14. package/dist/commands/codex.js +54 -0
  15. package/dist/commands/codex.js.map +1 -0
  16. package/dist/commands/context.d.ts +3 -0
  17. package/dist/commands/context.d.ts.map +1 -0
  18. package/dist/commands/context.js +272 -0
  19. package/dist/commands/context.js.map +1 -0
  20. package/dist/commands/init.d.ts +0 -20
  21. package/dist/commands/init.d.ts.map +1 -1
  22. package/dist/commands/init.js +285 -456
  23. package/dist/commands/init.js.map +1 -1
  24. package/dist/commands/migrate.js +1 -1
  25. package/dist/commands/migrate.js.map +1 -1
  26. package/dist/commands/parallel.d.ts +2 -0
  27. package/dist/commands/parallel.d.ts.map +1 -0
  28. package/dist/commands/parallel.js +26 -0
  29. package/dist/commands/parallel.js.map +1 -0
  30. package/dist/commands/pi.d.ts +3 -0
  31. package/dist/commands/pi.d.ts.map +1 -0
  32. package/dist/commands/pi.js +94 -0
  33. package/dist/commands/pi.js.map +1 -0
  34. package/dist/commands/session.d.ts +2 -0
  35. package/dist/commands/session.d.ts.map +1 -0
  36. package/dist/commands/session.js +169 -0
  37. package/dist/commands/session.js.map +1 -0
  38. package/dist/commands/task.d.ts +3 -0
  39. package/dist/commands/task.d.ts.map +1 -0
  40. package/dist/commands/task.js +1026 -0
  41. package/dist/commands/task.js.map +1 -0
  42. package/dist/commands/update.d.ts +3 -1
  43. package/dist/commands/update.d.ts.map +1 -1
  44. package/dist/commands/update.js +130 -47
  45. package/dist/commands/update.js.map +1 -1
  46. package/dist/commands/workflow.d.ts.map +1 -1
  47. package/dist/commands/workflow.js +1 -2
  48. package/dist/commands/workflow.js.map +1 -1
  49. package/dist/configurators/index.d.ts +5 -51
  50. package/dist/configurators/index.d.ts.map +1 -1
  51. package/dist/configurators/index.js +9 -140
  52. package/dist/configurators/index.js.map +1 -1
  53. package/dist/configurators/shared.d.ts +7 -66
  54. package/dist/configurators/shared.d.ts.map +1 -1
  55. package/dist/configurators/shared.js +17 -262
  56. package/dist/configurators/shared.js.map +1 -1
  57. package/dist/configurators/workflow.d.ts +5 -6
  58. package/dist/configurators/workflow.d.ts.map +1 -1
  59. package/dist/configurators/workflow.js +11 -39
  60. package/dist/configurators/workflow.js.map +1 -1
  61. package/dist/constants/paths.d.ts +1 -5
  62. package/dist/constants/paths.d.ts.map +1 -1
  63. package/dist/constants/paths.js +1 -5
  64. package/dist/constants/paths.js.map +1 -1
  65. package/dist/core/compat/environment.d.ts +43 -0
  66. package/dist/core/compat/environment.d.ts.map +1 -0
  67. package/dist/core/compat/environment.js +91 -0
  68. package/dist/core/compat/environment.js.map +1 -0
  69. package/dist/core/compat/index.d.ts +2 -0
  70. package/dist/core/compat/index.d.ts.map +1 -0
  71. package/dist/core/compat/index.js +2 -0
  72. package/dist/core/compat/index.js.map +1 -0
  73. package/dist/core/index.d.ts +4 -0
  74. package/dist/core/index.d.ts.map +1 -0
  75. package/dist/core/index.js +6 -0
  76. package/dist/core/index.js.map +1 -0
  77. package/dist/core/pactile/capability.d.ts +65 -0
  78. package/dist/core/pactile/capability.d.ts.map +1 -0
  79. package/dist/core/pactile/capability.js +199 -0
  80. package/dist/core/pactile/capability.js.map +1 -0
  81. package/dist/core/pactile/index.d.ts +15 -0
  82. package/dist/core/pactile/index.d.ts.map +1 -0
  83. package/dist/core/pactile/index.js +13 -0
  84. package/dist/core/pactile/index.js.map +1 -0
  85. package/dist/core/pactile/lifecycle.d.ts +106 -0
  86. package/dist/core/pactile/lifecycle.d.ts.map +1 -0
  87. package/dist/core/pactile/lifecycle.js +607 -0
  88. package/dist/core/pactile/lifecycle.js.map +1 -0
  89. package/dist/core/pactile/middleware/index.d.ts +3 -0
  90. package/dist/core/pactile/middleware/index.d.ts.map +1 -0
  91. package/dist/core/pactile/middleware/index.js +2 -0
  92. package/dist/core/pactile/middleware/index.js.map +1 -0
  93. package/dist/core/pactile/middleware/redaction.d.ts +4 -0
  94. package/dist/core/pactile/middleware/redaction.d.ts.map +1 -0
  95. package/dist/core/pactile/middleware/redaction.js +34 -0
  96. package/dist/core/pactile/middleware/redaction.js.map +1 -0
  97. package/dist/core/pactile/middleware/resolver.d.ts +62 -0
  98. package/dist/core/pactile/middleware/resolver.d.ts.map +1 -0
  99. package/dist/core/pactile/middleware/resolver.js +803 -0
  100. package/dist/core/pactile/middleware/resolver.js.map +1 -0
  101. package/dist/core/pactile/projection.d.ts +81 -0
  102. package/dist/core/pactile/projection.d.ts.map +1 -0
  103. package/dist/core/pactile/projection.js +399 -0
  104. package/dist/core/pactile/projection.js.map +1 -0
  105. package/dist/core/pactile/provider.d.ts +81 -0
  106. package/dist/core/pactile/provider.d.ts.map +1 -0
  107. package/dist/core/pactile/provider.js +313 -0
  108. package/dist/core/pactile/provider.js.map +1 -0
  109. package/dist/core/pactile/runtime.d.ts +56 -0
  110. package/dist/core/pactile/runtime.d.ts.map +1 -0
  111. package/dist/core/pactile/runtime.js +176 -0
  112. package/dist/core/pactile/runtime.js.map +1 -0
  113. package/dist/core/pactile/tile-compiler-types.d.ts +32 -0
  114. package/dist/core/pactile/tile-compiler-types.d.ts.map +1 -0
  115. package/dist/core/pactile/tile-compiler-types.js +2 -0
  116. package/dist/core/pactile/tile-compiler-types.js.map +1 -0
  117. package/dist/core/pactile/tile.d.ts +71 -0
  118. package/dist/core/pactile/tile.d.ts.map +1 -0
  119. package/dist/core/pactile/tile.js +228 -0
  120. package/dist/core/pactile/tile.js.map +1 -0
  121. package/dist/core/pactile/trace-runtime/index.d.ts +38 -0
  122. package/dist/core/pactile/trace-runtime/index.d.ts.map +1 -0
  123. package/dist/core/pactile/trace-runtime/index.js +292 -0
  124. package/dist/core/pactile/trace-runtime/index.js.map +1 -0
  125. package/dist/core/pactile/trace.d.ts +42 -0
  126. package/dist/core/pactile/trace.d.ts.map +1 -0
  127. package/dist/core/pactile/trace.js +221 -0
  128. package/dist/core/pactile/trace.js.map +1 -0
  129. package/dist/core/pactile/validation.d.ts +91 -0
  130. package/dist/core/pactile/validation.d.ts.map +1 -0
  131. package/dist/core/pactile/validation.js +301 -0
  132. package/dist/core/pactile/validation.js.map +1 -0
  133. package/dist/core/task/adapter-middleware.d.ts +122 -0
  134. package/dist/core/task/adapter-middleware.d.ts.map +1 -0
  135. package/dist/core/task/adapter-middleware.js +476 -0
  136. package/dist/core/task/adapter-middleware.js.map +1 -0
  137. package/dist/core/task/compat.d.ts +7 -0
  138. package/dist/core/task/compat.d.ts.map +1 -0
  139. package/dist/core/task/compat.js +2 -0
  140. package/dist/core/task/compat.js.map +1 -0
  141. package/dist/core/task/contract-migrate.d.ts +29 -0
  142. package/dist/core/task/contract-migrate.d.ts.map +1 -0
  143. package/dist/core/task/contract-migrate.js +207 -0
  144. package/dist/core/task/contract-migrate.js.map +1 -0
  145. package/dist/core/task/full-quality.d.ts +89 -0
  146. package/dist/core/task/full-quality.d.ts.map +1 -0
  147. package/dist/core/task/full-quality.js +379 -0
  148. package/dist/core/task/full-quality.js.map +1 -0
  149. package/dist/core/task/index.d.ts +32 -0
  150. package/dist/core/task/index.d.ts.map +1 -0
  151. package/dist/core/task/index.js +20 -0
  152. package/dist/core/task/index.js.map +1 -0
  153. package/dist/core/task/kernel-cli.d.ts +51 -0
  154. package/dist/core/task/kernel-cli.d.ts.map +1 -0
  155. package/dist/core/task/kernel-cli.js +301 -0
  156. package/dist/core/task/kernel-cli.js.map +1 -0
  157. package/dist/core/task/kernel-contract.d.ts +164 -0
  158. package/dist/core/task/kernel-contract.d.ts.map +1 -0
  159. package/dist/core/task/kernel-contract.js +475 -0
  160. package/dist/core/task/kernel-contract.js.map +1 -0
  161. package/dist/core/task/kernel-store.d.ts +130 -0
  162. package/dist/core/task/kernel-store.d.ts.map +1 -0
  163. package/dist/core/task/kernel-store.js +905 -0
  164. package/dist/core/task/kernel-store.js.map +1 -0
  165. package/dist/core/task/kernel-surface.d.ts +70 -0
  166. package/dist/core/task/kernel-surface.d.ts.map +1 -0
  167. package/dist/core/task/kernel-surface.js +121 -0
  168. package/dist/core/task/kernel-surface.js.map +1 -0
  169. package/dist/core/task/lite-context-pack.d.ts +71 -0
  170. package/dist/core/task/lite-context-pack.d.ts.map +1 -0
  171. package/dist/core/task/lite-context-pack.js +175 -0
  172. package/dist/core/task/lite-context-pack.js.map +1 -0
  173. package/dist/core/task/ondemand-topology.d.ts +108 -0
  174. package/dist/core/task/ondemand-topology.d.ts.map +1 -0
  175. package/dist/core/task/ondemand-topology.js +456 -0
  176. package/dist/core/task/ondemand-topology.js.map +1 -0
  177. package/dist/core/task/p36-artifact-migrate.d.ts +58 -0
  178. package/dist/core/task/p36-artifact-migrate.d.ts.map +1 -0
  179. package/dist/core/task/p36-artifact-migrate.js +293 -0
  180. package/dist/core/task/p36-artifact-migrate.js.map +1 -0
  181. package/dist/core/task/p36-wave-c.d.ts +39 -0
  182. package/dist/core/task/p36-wave-c.d.ts.map +1 -0
  183. package/dist/core/task/p36-wave-c.js +100 -0
  184. package/dist/core/task/p36-wave-c.js.map +1 -0
  185. package/dist/core/task/paths.d.ts +37 -0
  186. package/dist/core/task/paths.d.ts.map +1 -0
  187. package/dist/core/task/paths.js +49 -0
  188. package/dist/core/task/paths.js.map +1 -0
  189. package/dist/core/task/phase.d.ts +27 -0
  190. package/dist/core/task/phase.d.ts.map +1 -0
  191. package/dist/core/task/phase.js +24 -0
  192. package/dist/core/task/phase.js.map +1 -0
  193. package/dist/core/task/records.d.ts +48 -0
  194. package/dist/core/task/records.d.ts.map +1 -0
  195. package/dist/core/task/records.js +100 -0
  196. package/dist/core/task/records.js.map +1 -0
  197. package/dist/core/task/schema.d.ts +77 -0
  198. package/dist/core/task/schema.d.ts.map +1 -0
  199. package/dist/core/task/schema.js +220 -0
  200. package/dist/core/task/schema.js.map +1 -0
  201. package/dist/core/testing/index.d.ts +2 -0
  202. package/dist/core/testing/index.d.ts.map +1 -0
  203. package/dist/core/testing/index.js +4 -0
  204. package/dist/core/testing/index.js.map +1 -0
  205. package/dist/migrations/manifests/0.1.0.json +9 -9
  206. package/dist/migrations/manifests/0.1.1.json +9 -9
  207. package/dist/migrations/manifests/0.1.2.json +9 -9
  208. package/dist/migrations/manifests/0.1.3.json +9 -9
  209. package/dist/migrations/manifests/0.1.4.json +9 -9
  210. package/dist/migrations/manifests/0.2.1.json +9 -9
  211. package/dist/migrations/manifests/0.2.10.json +374 -374
  212. package/dist/migrations/manifests/0.2.2.json +8 -8
  213. package/dist/migrations/manifests/0.2.3.json +9 -9
  214. package/dist/migrations/manifests/0.2.4.json +8 -8
  215. package/dist/migrations/manifests/0.2.5.json +8 -8
  216. package/dist/migrations/manifests/0.2.6.json +8 -8
  217. package/dist/migrations/manifests/0.2.7.json +8 -8
  218. package/dist/migrations/manifests/0.2.8.json +9 -9
  219. package/dist/migrations/manifests/0.2.9.json +9 -9
  220. package/dist/migrations/manifests/0.3.0.json +89 -89
  221. package/dist/migrations/manifests/0.3.1.json +32 -32
  222. package/dist/migrations/manifests/0.3.2.json +16 -16
  223. package/dist/migrations/manifests/0.3.3.json +9 -9
  224. package/dist/migrations/manifests/0.3.4.json +9 -9
  225. package/dist/migrations/manifests/0.3.5.json +9 -9
  226. package/dist/migrations/manifests/0.3.6.json +9 -9
  227. package/dist/migrations/manifests/0.4.0.json +9 -9
  228. package/dist/migrations/manifests/0.4.1.json +9 -9
  229. package/dist/migrations/manifests/0.4.2.json +9 -9
  230. package/dist/migrations/manifests/0.4.3.json +9 -9
  231. package/dist/migrations/manifests/0.5.0-beta.0.json +9 -9
  232. package/dist/migrations/manifests/0.5.0-beta.1.json +9 -9
  233. package/dist/migrations/manifests/0.5.0-beta.2.json +8 -8
  234. package/dist/migrations/manifests/0.5.0-beta.3.json +8 -8
  235. package/dist/migrations/manifests/0.5.0-beta.4.json +9 -9
  236. package/dist/migrations/manifests/0.5.0-beta.5.json +9 -9
  237. package/dist/migrations/manifests/0.5.0.json +9 -0
  238. package/dist/migrations/manifests/0.6.0-beta.1.json +35 -0
  239. package/dist/migrations/manifests/0.6.0-beta.2.json +9 -0
  240. package/dist/migrations/manifests/0.6.0.json +9 -0
  241. package/dist/pactile/adapters/codex/index.js +1 -1
  242. package/dist/pactile/adapters/codex/index.js.map +1 -1
  243. package/dist/pactile/adapters/index.d.ts +0 -1
  244. package/dist/pactile/adapters/index.d.ts.map +1 -1
  245. package/dist/pactile/adapters/index.js +0 -1
  246. package/dist/pactile/adapters/index.js.map +1 -1
  247. package/dist/pactile/adoption/bindings.d.ts +1 -1
  248. package/dist/pactile/adoption/bindings.d.ts.map +1 -1
  249. package/dist/pactile/adoption/bindings.js +1 -1
  250. package/dist/pactile/adoption/bindings.js.map +1 -1
  251. package/dist/pactile/adoption/inventory.d.ts +1 -1
  252. package/dist/pactile/adoption/inventory.d.ts.map +1 -1
  253. package/dist/pactile/adoption/inventory.js +1 -1
  254. package/dist/pactile/adoption/inventory.js.map +1 -1
  255. package/dist/pactile/adoption/safety.js +1 -1
  256. package/dist/pactile/adoption/safety.js.map +1 -1
  257. package/dist/pactile/adoption/workflow.d.ts +1 -1
  258. package/dist/pactile/adoption/workflow.d.ts.map +1 -1
  259. package/dist/pactile/adoption/workflow.js +1 -1
  260. package/dist/pactile/adoption/workflow.js.map +1 -1
  261. package/dist/pactile/codex/bridge.d.ts +71 -0
  262. package/dist/pactile/codex/bridge.d.ts.map +1 -0
  263. package/dist/pactile/codex/bridge.js +271 -0
  264. package/dist/pactile/codex/bridge.js.map +1 -0
  265. package/dist/pactile/compat/init-context.js +1 -1
  266. package/dist/pactile/compat/init-context.js.map +1 -1
  267. package/dist/pactile/compat/node-entry-migration.d.ts +3 -0
  268. package/dist/pactile/compat/node-entry-migration.d.ts.map +1 -0
  269. package/dist/pactile/compat/node-entry-migration.js +25 -0
  270. package/dist/pactile/compat/node-entry-migration.js.map +1 -0
  271. package/dist/pactile/exit/receipt.js +1 -1
  272. package/dist/pactile/exit/receipt.js.map +1 -1
  273. package/dist/pactile/exit/service.d.ts +1 -1
  274. package/dist/pactile/exit/service.d.ts.map +1 -1
  275. package/dist/pactile/exit/service.js +1 -3
  276. package/dist/pactile/exit/service.js.map +1 -1
  277. package/dist/pactile/lifecycle/command-runner.d.ts +1 -1
  278. package/dist/pactile/lifecycle/command-runner.d.ts.map +1 -1
  279. package/dist/pactile/lifecycle/command-runner.js +1 -3
  280. package/dist/pactile/lifecycle/command-runner.js.map +1 -1
  281. package/dist/pactile/lifecycle/default-adapters.d.ts.map +1 -1
  282. package/dist/pactile/lifecycle/default-adapters.js +8 -32
  283. package/dist/pactile/lifecycle/default-adapters.js.map +1 -1
  284. package/dist/pactile/lifecycle/orchestrator.d.ts +1 -1
  285. package/dist/pactile/lifecycle/orchestrator.d.ts.map +1 -1
  286. package/dist/pactile/lifecycle/orchestrator.js +1 -1
  287. package/dist/pactile/lifecycle/orchestrator.js.map +1 -1
  288. package/dist/pactile/lifecycle/project-files.d.ts.map +1 -1
  289. package/dist/pactile/lifecycle/project-files.js +4 -1
  290. package/dist/pactile/lifecycle/project-files.js.map +1 -1
  291. package/dist/pactile/middleware/manifest-loader.d.ts +1 -1
  292. package/dist/pactile/middleware/manifest-loader.d.ts.map +1 -1
  293. package/dist/pactile/middleware/manifest-loader.js +1 -1
  294. package/dist/pactile/middleware/manifest-loader.js.map +1 -1
  295. package/dist/pactile/migration/transaction.d.ts +1 -1
  296. package/dist/pactile/migration/transaction.d.ts.map +1 -1
  297. package/dist/pactile/migration/transaction.js +1 -1
  298. package/dist/pactile/migration/transaction.js.map +1 -1
  299. package/dist/pactile/parallel/batch.d.ts +41 -0
  300. package/dist/pactile/parallel/batch.d.ts.map +1 -0
  301. package/dist/pactile/parallel/batch.js +190 -0
  302. package/dist/pactile/parallel/batch.js.map +1 -0
  303. package/dist/pactile/parallel/policy.d.ts +18 -0
  304. package/dist/pactile/parallel/policy.d.ts.map +1 -0
  305. package/dist/pactile/parallel/policy.js +174 -0
  306. package/dist/pactile/parallel/policy.js.map +1 -0
  307. package/dist/pactile/pi/bridge.d.ts +51 -0
  308. package/dist/pactile/pi/bridge.d.ts.map +1 -0
  309. package/dist/pactile/pi/bridge.js +353 -0
  310. package/dist/pactile/pi/bridge.js.map +1 -0
  311. package/dist/pactile/pi/rpc.d.ts +41 -0
  312. package/dist/pactile/pi/rpc.d.ts.map +1 -0
  313. package/dist/pactile/pi/rpc.js +219 -0
  314. package/dist/pactile/pi/rpc.js.map +1 -0
  315. package/dist/pactile/projection/planner.d.ts +1 -1
  316. package/dist/pactile/projection/planner.d.ts.map +1 -1
  317. package/dist/pactile/projection/planner.js +1 -1
  318. package/dist/pactile/projection/planner.js.map +1 -1
  319. package/dist/pactile/projection/shared/index.js +1 -1
  320. package/dist/pactile/projection/shared/index.js.map +1 -1
  321. package/dist/pactile/projection/store.js +1 -1
  322. package/dist/pactile/projection/store.js.map +1 -1
  323. package/dist/pactile/providers/probes.d.ts +2 -2
  324. package/dist/pactile/providers/probes.d.ts.map +1 -1
  325. package/dist/pactile/providers/probes.js +0 -6
  326. package/dist/pactile/providers/probes.js.map +1 -1
  327. package/dist/pactile/registry.d.ts +1 -8
  328. package/dist/pactile/registry.d.ts.map +1 -1
  329. package/dist/pactile/registry.js +8 -25
  330. package/dist/pactile/registry.js.map +1 -1
  331. package/dist/pactile/retrieval/envelope.d.ts +19 -0
  332. package/dist/pactile/retrieval/envelope.d.ts.map +1 -0
  333. package/dist/pactile/retrieval/envelope.js +115 -0
  334. package/dist/pactile/retrieval/envelope.js.map +1 -0
  335. package/dist/pactile/retrieval/evidence.js +1 -1
  336. package/dist/pactile/retrieval/evidence.js.map +1 -1
  337. package/dist/pactile/retrieval/pack.d.ts +9 -0
  338. package/dist/pactile/retrieval/pack.d.ts.map +1 -0
  339. package/dist/pactile/retrieval/pack.js +300 -0
  340. package/dist/pactile/retrieval/pack.js.map +1 -0
  341. package/dist/pactile/retrieval/planner.d.ts +1 -1
  342. package/dist/pactile/retrieval/planner.d.ts.map +1 -1
  343. package/dist/pactile/retrieval/planner.js +1 -1
  344. package/dist/pactile/retrieval/planner.js.map +1 -1
  345. package/dist/pactile/retrieval/types.d.ts +1 -1
  346. package/dist/pactile/retrieval/types.d.ts.map +1 -1
  347. package/dist/pactile/runtime/json-api.d.ts +1 -1
  348. package/dist/pactile/runtime/json-api.js +1 -1
  349. package/dist/pactile/runtime/paths.js +1 -1
  350. package/dist/pactile/runtime/paths.js.map +1 -1
  351. package/dist/pactile/runtime/stores.d.ts +1 -1
  352. package/dist/pactile/runtime/stores.d.ts.map +1 -1
  353. package/dist/pactile/runtime/stores.js +1 -1
  354. package/dist/pactile/runtime/stores.js.map +1 -1
  355. package/dist/pactile/runtime/unicode-nfc-data.d.ts +1 -1
  356. package/dist/pactile/runtime/unicode-nfc-data.js +1 -1
  357. package/dist/pactile/task/config.d.ts +9 -0
  358. package/dist/pactile/task/config.d.ts.map +1 -0
  359. package/dist/pactile/task/config.js +103 -0
  360. package/dist/pactile/task/config.js.map +1 -0
  361. package/dist/pactile/task/context.d.ts +19 -0
  362. package/dist/pactile/task/context.d.ts.map +1 -0
  363. package/dist/pactile/task/context.js +117 -0
  364. package/dist/pactile/task/context.js.map +1 -0
  365. package/dist/pactile/task/guards.d.ts +21 -0
  366. package/dist/pactile/task/guards.d.ts.map +1 -0
  367. package/dist/pactile/task/guards.js +232 -0
  368. package/dist/pactile/task/guards.js.map +1 -0
  369. package/dist/pactile/task/scaffold.d.ts +6 -0
  370. package/dist/pactile/task/scaffold.d.ts.map +1 -0
  371. package/dist/pactile/task/scaffold.js +57 -0
  372. package/dist/pactile/task/scaffold.js.map +1 -0
  373. package/dist/pactile/task/session-memory.d.ts +2 -0
  374. package/dist/pactile/task/session-memory.d.ts.map +1 -0
  375. package/dist/pactile/task/session-memory.js +123 -0
  376. package/dist/pactile/task/session-memory.js.map +1 -0
  377. package/dist/pactile/task/session-pack.d.ts +3 -0
  378. package/dist/pactile/task/session-pack.d.ts.map +1 -0
  379. package/dist/pactile/task/session-pack.js +139 -0
  380. package/dist/pactile/task/session-pack.js.map +1 -0
  381. package/dist/pactile/task/session.d.ts +13 -0
  382. package/dist/pactile/task/session.d.ts.map +1 -0
  383. package/dist/pactile/task/session.js +105 -0
  384. package/dist/pactile/task/session.js.map +1 -0
  385. package/dist/pactile/task/strategy.d.ts +24 -0
  386. package/dist/pactile/task/strategy.d.ts.map +1 -0
  387. package/dist/pactile/task/strategy.js +136 -0
  388. package/dist/pactile/task/strategy.js.map +1 -0
  389. package/dist/pactile/task/task-map.d.ts +35 -0
  390. package/dist/pactile/task/task-map.d.ts.map +1 -0
  391. package/dist/pactile/task/task-map.js +217 -0
  392. package/dist/pactile/task/task-map.js.map +1 -0
  393. package/dist/pactile/task/workflow-phase.d.ts +3 -0
  394. package/dist/pactile/task/workflow-phase.d.ts.map +1 -0
  395. package/dist/pactile/task/workflow-phase.js +56 -0
  396. package/dist/pactile/task/workflow-phase.js.map +1 -0
  397. package/dist/pactile/tiles/catalog.d.ts +1 -1
  398. package/dist/pactile/tiles/catalog.d.ts.map +1 -1
  399. package/dist/pactile/tiles/catalog.js +1 -1
  400. package/dist/pactile/tiles/catalog.js.map +1 -1
  401. package/dist/pactile/tiles/compiler.d.ts +1 -1
  402. package/dist/pactile/tiles/compiler.d.ts.map +1 -1
  403. package/dist/pactile/tiles/compiler.js +1 -1
  404. package/dist/pactile/tiles/compiler.js.map +1 -1
  405. package/dist/pactile/tiles/content/ondemand/index.d.ts +2 -2
  406. package/dist/pactile/tiles/content/ondemand/index.d.ts.map +1 -1
  407. package/dist/pactile/tiles/content/ondemand/index.js +2 -16
  408. package/dist/pactile/tiles/content/ondemand/index.js.map +1 -1
  409. package/dist/pactile/tiles/loader.d.ts +1 -1
  410. package/dist/pactile/tiles/loader.d.ts.map +1 -1
  411. package/dist/pactile/tiles/loader.js +1 -1
  412. package/dist/pactile/tiles/loader.js.map +1 -1
  413. package/dist/templates/common/bundled-skills/pactile-check/SKILL.md +161 -161
  414. package/dist/templates/common/bundled-skills/pactile-check/references/fowler-12-smells.md +28 -28
  415. package/dist/templates/common/bundled-skills/pactile-handoff/SKILL.md +117 -117
  416. package/dist/templates/common/bundled-skills/pactile-meta/SKILL.md +75 -75
  417. package/dist/templates/common/bundled-skills/pactile-meta/references/customize-local/add-project-local-conventions.md +83 -83
  418. package/dist/templates/common/bundled-skills/pactile-meta/references/customize-local/change-agents.md +5 -47
  419. package/dist/templates/common/bundled-skills/pactile-meta/references/customize-local/change-context-loading.md +79 -84
  420. package/dist/templates/common/bundled-skills/pactile-meta/references/customize-local/change-hooks.md +5 -57
  421. package/dist/templates/common/bundled-skills/pactile-meta/references/customize-local/change-skills-or-commands.md +7 -77
  422. package/dist/templates/common/bundled-skills/pactile-meta/references/customize-local/change-spec-structure.md +83 -83
  423. package/dist/templates/common/bundled-skills/pactile-meta/references/customize-local/change-task-lifecycle.md +82 -88
  424. package/dist/templates/common/bundled-skills/pactile-meta/references/customize-local/change-workflow.md +65 -65
  425. package/dist/templates/common/bundled-skills/pactile-meta/references/customize-local/overview.md +12 -55
  426. package/dist/templates/common/bundled-skills/pactile-meta/references/local-architecture/context-injection.md +68 -68
  427. package/dist/templates/common/bundled-skills/pactile-meta/references/local-architecture/generated-files.md +7 -83
  428. package/dist/templates/common/bundled-skills/pactile-meta/references/local-architecture/overview.md +7 -51
  429. package/dist/templates/common/bundled-skills/pactile-meta/references/local-architecture/spec-system.md +102 -102
  430. package/dist/templates/common/bundled-skills/pactile-meta/references/local-architecture/task-system.md +138 -133
  431. package/dist/templates/common/bundled-skills/pactile-meta/references/local-architecture/workflow.md +75 -75
  432. package/dist/templates/common/bundled-skills/pactile-meta/references/local-architecture/workspace-memory.md +71 -71
  433. package/dist/templates/common/bundled-skills/pactile-meta/references/platform-files/agents.md +7 -69
  434. package/dist/templates/common/bundled-skills/pactile-meta/references/platform-files/hooks-and-settings.md +7 -59
  435. package/dist/templates/common/bundled-skills/pactile-meta/references/platform-files/overview.md +5 -45
  436. package/dist/templates/common/bundled-skills/pactile-meta/references/platform-files/platform-map.md +9 -45
  437. package/dist/templates/common/bundled-skills/pactile-meta/references/platform-files/skills-and-commands.md +7 -108
  438. package/dist/templates/common/bundled-skills/pactile-micro-grill/SKILL.md +68 -68
  439. package/dist/templates/common/bundled-skills/pactile-skill-creator/SKILL.md +47 -47
  440. package/dist/templates/common/bundled-skills/pactile-skill-creator/references/authoring-rules.md +170 -170
  441. package/dist/templates/common/bundled-skills/pactile-skill-creator/references/general-authoring.md +189 -189
  442. package/dist/templates/common/bundled-skills/pactile-skill-creator/references/pactile-skill-locations.md +11 -52
  443. package/dist/templates/common/bundled-skills/pactile-skill-creator/references/review-checklist.md +52 -52
  444. package/dist/templates/common/bundled-skills/pactile-spec-bootstrap/SKILL.md +41 -41
  445. package/dist/templates/common/bundled-skills/pactile-spec-bootstrap/references/mcp-setup.md +18 -90
  446. package/dist/templates/common/bundled-skills/pactile-spec-bootstrap/references/repository-analysis.md +41 -59
  447. package/dist/templates/common/bundled-skills/pactile-spec-bootstrap/references/spec-task-planning.md +61 -61
  448. package/dist/templates/common/bundled-skills/pactile-spec-bootstrap/references/spec-writing.md +70 -70
  449. package/dist/templates/common/bundled-skills/smart-search-cli/SKILL.md +393 -393
  450. package/dist/templates/common/bundled-skills/smart-search-cli/agents/openai.yaml +3 -3
  451. package/dist/templates/common/bundled-skills/smart-search-cli/examples/batch-search.md +98 -98
  452. package/dist/templates/common/bundled-skills/smart-search-cli/examples/evidence-gathering.md +89 -89
  453. package/dist/templates/common/bundled-skills/smart-search-cli/references/cli-contract.md +323 -323
  454. package/dist/templates/common/commands/continue.md +60 -62
  455. package/dist/templates/common/commands/finish-work.md +84 -82
  456. package/dist/templates/common/commands/start.md +66 -66
  457. package/dist/templates/common/index.d.ts +0 -20
  458. package/dist/templates/common/index.d.ts.map +1 -1
  459. package/dist/templates/common/index.js +0 -16
  460. package/dist/templates/common/index.js.map +1 -1
  461. package/dist/templates/common/skills/before-dev.md +35 -35
  462. package/dist/templates/common/skills/brainstorm.md +204 -204
  463. package/dist/templates/common/skills/break-loop.md +125 -125
  464. package/dist/templates/common/skills/update-spec.md +363 -363
  465. package/dist/templates/extract.d.ts +1 -8
  466. package/dist/templates/extract.d.ts.map +1 -1
  467. package/dist/templates/extract.js +0 -31
  468. package/dist/templates/extract.js.map +1 -1
  469. package/dist/templates/markdown/agents.md +14 -14
  470. package/dist/templates/markdown/framework/artifact-locale-guide.md.txt +93 -93
  471. package/dist/templates/markdown/framework/codex-worker-dispatch.md.txt +9 -0
  472. package/dist/templates/markdown/framework/dogfood-only-surfaces.md.txt +7 -28
  473. package/dist/templates/markdown/framework/execution-strategy.md.txt +14 -45
  474. package/dist/templates/markdown/framework/index.md.txt +20 -31
  475. package/dist/templates/markdown/framework/injection-budget-guide.md.txt +7 -111
  476. package/dist/templates/markdown/framework/middleware-protocol.md.txt +139 -238
  477. package/dist/templates/markdown/framework/parallel-first-execution.md.txt +116 -116
  478. package/dist/templates/markdown/framework/prd-grill-frontier.md.txt +105 -105
  479. package/dist/templates/markdown/framework/release-boundary.md.txt +30 -30
  480. package/dist/templates/markdown/framework/retrieval-daily-guide.md.txt +9 -199
  481. package/dist/templates/markdown/framework/upgrade.md.txt +15 -15
  482. package/dist/templates/markdown/framework/verification-strength-guide.md.txt +185 -185
  483. package/dist/templates/markdown/gitignore.txt +15 -15
  484. package/dist/templates/markdown/index.d.ts +1 -5
  485. package/dist/templates/markdown/index.d.ts.map +1 -1
  486. package/dist/templates/markdown/index.js +3 -23
  487. package/dist/templates/markdown/index.js.map +1 -1
  488. package/dist/templates/markdown/spec/backend/database-guidelines.md.txt +51 -51
  489. package/dist/templates/markdown/spec/backend/directory-structure.md.txt +54 -54
  490. package/dist/templates/markdown/spec/backend/error-handling.md.txt +51 -51
  491. package/dist/templates/markdown/spec/backend/index.md.txt +38 -38
  492. package/dist/templates/markdown/spec/backend/logging-guidelines.md.txt +51 -51
  493. package/dist/templates/markdown/spec/backend/quality-guidelines.md.txt +51 -51
  494. package/dist/templates/markdown/spec/frontend/component-guidelines.md.txt +59 -59
  495. package/dist/templates/markdown/spec/frontend/directory-structure.md.txt +54 -54
  496. package/dist/templates/markdown/spec/frontend/hook-guidelines.md.txt +51 -51
  497. package/dist/templates/markdown/spec/frontend/index.md.txt +39 -39
  498. package/dist/templates/markdown/spec/frontend/quality-guidelines.md.txt +51 -51
  499. package/dist/templates/markdown/spec/frontend/state-management.md.txt +51 -51
  500. package/dist/templates/markdown/spec/frontend/type-safety.md.txt +51 -51
  501. package/dist/templates/markdown/spec/guides/code-reuse-thinking-guide.md.txt +174 -174
  502. package/dist/templates/markdown/spec/guides/cross-layer-thinking-guide.md.txt +162 -162
  503. package/dist/templates/markdown/spec/guides/cross-platform-thinking-guide.md.txt +17 -634
  504. package/dist/templates/markdown/spec/guides/debug-loop-guide.md.txt +227 -227
  505. package/dist/templates/markdown/spec/guides/durable-learning-decision-guide.md.txt +75 -75
  506. package/dist/templates/markdown/spec/guides/e2e-walkthrough-guide.md.txt +88 -93
  507. package/dist/templates/markdown/spec/guides/index.md.txt +131 -131
  508. package/dist/templates/markdown/spec/guides/prototype-guide.md.txt +137 -139
  509. package/dist/templates/markdown/spec/guides/test-discipline-guide.md.txt +179 -179
  510. package/dist/templates/markdown/workspace-index.md +122 -125
  511. package/dist/templates/markdown/worktree.yaml.txt +58 -58
  512. package/dist/templates/pactile/CONTEXT.md +101 -113
  513. package/dist/templates/pactile/config/execution-strategy-rules.json +30 -31
  514. package/dist/templates/pactile/config.yaml +111 -130
  515. package/dist/templates/pactile/docs/adr/README.md +21 -21
  516. package/dist/templates/pactile/gitignore.txt +35 -35
  517. package/dist/templates/pactile/index.d.ts +3 -127
  518. package/dist/templates/pactile/index.d.ts.map +1 -1
  519. package/dist/templates/pactile/index.js +13 -298
  520. package/dist/templates/pactile/index.js.map +1 -1
  521. package/dist/templates/pactile/modules/approval-personal/contract.md +43 -43
  522. package/dist/templates/pactile/modules/close-basic/contract.md +37 -37
  523. package/dist/templates/pactile/modules/context-progressive/contract.md +44 -44
  524. package/dist/templates/pactile/modules/debug-recovery/contract.md +44 -44
  525. package/dist/templates/pactile/modules/define-basic/contract.md +39 -39
  526. package/dist/templates/pactile/modules/define-extended/contract.md +45 -45
  527. package/dist/templates/pactile/modules/execute-agent/contract.md +38 -38
  528. package/dist/templates/pactile/modules/independent-check/contract.md +35 -35
  529. package/dist/templates/pactile/modules/index.json +127 -133
  530. package/dist/templates/pactile/modules/intake-basic/contract.md +34 -34
  531. package/dist/templates/pactile/modules/observability-local/contract.md +31 -31
  532. package/dist/templates/pactile/modules/parent-child/contract.md +45 -45
  533. package/dist/templates/pactile/modules/personal-memory/contract.md +55 -55
  534. package/dist/templates/pactile/modules/retention-storage/contract.md +43 -43
  535. package/dist/templates/pactile/modules/retrieval-extended/contract.md +78 -77
  536. package/dist/templates/pactile/modules/session-transfer/contract.md +41 -41
  537. package/dist/templates/pactile/modules/spec-learning/contract.md +50 -50
  538. package/dist/templates/pactile/modules/vcs-integration/contract.md +46 -46
  539. package/dist/templates/pactile/modules/verify-basic/contract.md +38 -38
  540. package/dist/templates/pactile/modules/worker-orchestration/contract.md +47 -47
  541. package/dist/templates/pactile/scripts/retrieval_probe_matrix_template.json +43 -43
  542. package/dist/templates/pactile/tasks/locale/en/default-prd.md +27 -27
  543. package/dist/templates/pactile/tasks/locale/zh/default-prd.md +27 -27
  544. package/dist/templates/pactile/tasks/templates/release-execution/design.md +60 -60
  545. package/dist/templates/pactile/tasks/templates/release-execution/handoff-template.md +28 -28
  546. package/dist/templates/pactile/tasks/templates/release-execution/implement.md +28 -28
  547. package/dist/templates/pactile/tasks/templates/release-execution/prd.md +30 -30
  548. package/dist/templates/pactile/tasks/templates/release-readiness/design.md +49 -49
  549. package/dist/templates/pactile/tasks/templates/release-readiness/handoff-template.md +38 -38
  550. package/dist/templates/pactile/tasks/templates/release-readiness/implement.md +28 -28
  551. package/dist/templates/pactile/tasks/templates/release-readiness/prd.md +30 -30
  552. package/dist/templates/pactile/workflow.md +65 -64
  553. package/dist/types/ai-tools.d.ts +12 -13
  554. package/dist/types/ai-tools.d.ts.map +1 -1
  555. package/dist/types/ai-tools.js +15 -14
  556. package/dist/types/ai-tools.js.map +1 -1
  557. package/dist/utils/codebase-retrieval-router.d.ts +1 -1
  558. package/dist/utils/codebase-retrieval-router.d.ts.map +1 -1
  559. package/dist/utils/cwd-guard.js +1 -1
  560. package/dist/utils/cwd-guard.js.map +1 -1
  561. package/dist/utils/developer.d.ts +5 -0
  562. package/dist/utils/developer.d.ts.map +1 -0
  563. package/dist/utils/developer.js +38 -0
  564. package/dist/utils/developer.js.map +1 -0
  565. package/dist/utils/git-root.d.ts +3 -0
  566. package/dist/utils/git-root.d.ts.map +1 -0
  567. package/dist/utils/git-root.js +24 -0
  568. package/dist/utils/git-root.js.map +1 -0
  569. package/dist/utils/local-date.d.ts +3 -0
  570. package/dist/utils/local-date.d.ts.map +1 -0
  571. package/dist/utils/local-date.js +8 -0
  572. package/dist/utils/local-date.js.map +1 -0
  573. package/dist/utils/manifest-prune.d.ts +5 -4
  574. package/dist/utils/manifest-prune.d.ts.map +1 -1
  575. package/dist/utils/manifest-prune.js +11 -21
  576. package/dist/utils/manifest-prune.js.map +1 -1
  577. package/dist/utils/p36-upgrade.d.ts +1 -1
  578. package/dist/utils/p36-upgrade.d.ts.map +1 -1
  579. package/dist/utils/p36-upgrade.js +1 -1
  580. package/dist/utils/p36-upgrade.js.map +1 -1
  581. package/dist/utils/post-update-smoke.d.ts +1 -4
  582. package/dist/utils/post-update-smoke.d.ts.map +1 -1
  583. package/dist/utils/post-update-smoke.js +13 -25
  584. package/dist/utils/post-update-smoke.js.map +1 -1
  585. package/dist/utils/project-capabilities.d.ts +2 -17
  586. package/dist/utils/project-capabilities.d.ts.map +1 -1
  587. package/dist/utils/project-capabilities.js +14 -119
  588. package/dist/utils/project-capabilities.js.map +1 -1
  589. package/dist/utils/readiness.d.ts +14 -0
  590. package/dist/utils/readiness.d.ts.map +1 -1
  591. package/dist/utils/readiness.js +61 -30
  592. package/dist/utils/readiness.js.map +1 -1
  593. package/dist/utils/retrieval-execution-telemetry.d.ts +1 -1
  594. package/dist/utils/retrieval-execution-telemetry.d.ts.map +1 -1
  595. package/dist/utils/retrieval-result-ranking.d.ts +1 -1
  596. package/dist/utils/retrieval-result-ranking.d.ts.map +1 -1
  597. package/dist/utils/retrieval-tool-classification.d.ts +1 -1
  598. package/dist/utils/retrieval-tool-classification.d.ts.map +1 -1
  599. package/dist/utils/task-json.d.ts +3 -3
  600. package/dist/utils/task-json.d.ts.map +1 -1
  601. package/dist/utils/task-json.js +3 -3
  602. package/dist/utils/task-json.js.map +1 -1
  603. package/dist/utils/template-hash.d.ts +4 -0
  604. package/dist/utils/template-hash.d.ts.map +1 -1
  605. package/dist/utils/template-hash.js +1 -1
  606. package/dist/utils/template-hash.js.map +1 -1
  607. package/dist/utils/update-rollout-report.d.ts +9 -0
  608. package/dist/utils/update-rollout-report.d.ts.map +1 -1
  609. package/dist/utils/update-rollout-report.js +14 -1
  610. package/dist/utils/update-rollout-report.js.map +1 -1
  611. package/package.json +22 -11
  612. package/scripts/postinstall.js +6 -6
  613. package/dist/commands/channel/adapters/claude.d.ts +0 -29
  614. package/dist/commands/channel/adapters/claude.d.ts.map +0 -1
  615. package/dist/commands/channel/adapters/claude.js +0 -203
  616. package/dist/commands/channel/adapters/claude.js.map +0 -1
  617. package/dist/commands/channel/adapters/codex.d.ts +0 -85
  618. package/dist/commands/channel/adapters/codex.d.ts.map +0 -1
  619. package/dist/commands/channel/adapters/codex.js +0 -505
  620. package/dist/commands/channel/adapters/codex.js.map +0 -1
  621. package/dist/commands/channel/adapters/index.d.ts +0 -84
  622. package/dist/commands/channel/adapters/index.d.ts.map +0 -1
  623. package/dist/commands/channel/adapters/index.js +0 -115
  624. package/dist/commands/channel/adapters/index.js.map +0 -1
  625. package/dist/commands/channel/adapters/types.d.ts +0 -33
  626. package/dist/commands/channel/adapters/types.d.ts.map +0 -1
  627. package/dist/commands/channel/adapters/types.js +0 -2
  628. package/dist/commands/channel/adapters/types.js.map +0 -1
  629. package/dist/commands/channel/agent-loader.d.ts +0 -32
  630. package/dist/commands/channel/agent-loader.d.ts.map +0 -1
  631. package/dist/commands/channel/agent-loader.js +0 -154
  632. package/dist/commands/channel/agent-loader.js.map +0 -1
  633. package/dist/commands/channel/context-loader.d.ts +0 -26
  634. package/dist/commands/channel/context-loader.d.ts.map +0 -1
  635. package/dist/commands/channel/context-loader.js +0 -290
  636. package/dist/commands/channel/context-loader.js.map +0 -1
  637. package/dist/commands/channel/context.d.ts +0 -16
  638. package/dist/commands/channel/context.d.ts.map +0 -1
  639. package/dist/commands/channel/context.js +0 -83
  640. package/dist/commands/channel/context.js.map +0 -1
  641. package/dist/commands/channel/create.d.ts +0 -27
  642. package/dist/commands/channel/create.d.ts.map +0 -1
  643. package/dist/commands/channel/create.js +0 -39
  644. package/dist/commands/channel/create.js.map +0 -1
  645. package/dist/commands/channel/dev-parse-trace.d.ts +0 -14
  646. package/dist/commands/channel/dev-parse-trace.d.ts.map +0 -1
  647. package/dist/commands/channel/dev-parse-trace.js +0 -70
  648. package/dist/commands/channel/dev-parse-trace.js.map +0 -1
  649. package/dist/commands/channel/guard.d.ts +0 -150
  650. package/dist/commands/channel/guard.d.ts.map +0 -1
  651. package/dist/commands/channel/guard.js +0 -475
  652. package/dist/commands/channel/guard.js.map +0 -1
  653. package/dist/commands/channel/index.d.ts +0 -3
  654. package/dist/commands/channel/index.d.ts.map +0 -1
  655. package/dist/commands/channel/index.js +0 -531
  656. package/dist/commands/channel/index.js.map +0 -1
  657. package/dist/commands/channel/interrupt.d.ts +0 -10
  658. package/dist/commands/channel/interrupt.d.ts.map +0 -1
  659. package/dist/commands/channel/interrupt.js +0 -22
  660. package/dist/commands/channel/interrupt.js.map +0 -1
  661. package/dist/commands/channel/kill.d.ts +0 -7
  662. package/dist/commands/channel/kill.d.ts.map +0 -1
  663. package/dist/commands/channel/kill.js +0 -121
  664. package/dist/commands/channel/kill.js.map +0 -1
  665. package/dist/commands/channel/list.d.ts +0 -17
  666. package/dist/commands/channel/list.d.ts.map +0 -1
  667. package/dist/commands/channel/list.js +0 -233
  668. package/dist/commands/channel/list.js.map +0 -1
  669. package/dist/commands/channel/messages.d.ts +0 -15
  670. package/dist/commands/channel/messages.d.ts.map +0 -1
  671. package/dist/commands/channel/messages.js +0 -245
  672. package/dist/commands/channel/messages.js.map +0 -1
  673. package/dist/commands/channel/rm.d.ts +0 -27
  674. package/dist/commands/channel/rm.d.ts.map +0 -1
  675. package/dist/commands/channel/rm.js +0 -216
  676. package/dist/commands/channel/rm.js.map +0 -1
  677. package/dist/commands/channel/run.d.ts +0 -30
  678. package/dist/commands/channel/run.d.ts.map +0 -1
  679. package/dist/commands/channel/run.js +0 -130
  680. package/dist/commands/channel/run.js.map +0 -1
  681. package/dist/commands/channel/send.d.ts +0 -11
  682. package/dist/commands/channel/send.d.ts.map +0 -1
  683. package/dist/commands/channel/send.js +0 -24
  684. package/dist/commands/channel/send.js.map +0 -1
  685. package/dist/commands/channel/spawn.d.ts +0 -40
  686. package/dist/commands/channel/spawn.d.ts.map +0 -1
  687. package/dist/commands/channel/spawn.js +0 -242
  688. package/dist/commands/channel/spawn.js.map +0 -1
  689. package/dist/commands/channel/store/events.d.ts +0 -39
  690. package/dist/commands/channel/store/events.d.ts.map +0 -1
  691. package/dist/commands/channel/store/events.js +0 -87
  692. package/dist/commands/channel/store/events.js.map +0 -1
  693. package/dist/commands/channel/store/filter.d.ts +0 -3
  694. package/dist/commands/channel/store/filter.d.ts.map +0 -1
  695. package/dist/commands/channel/store/filter.js +0 -2
  696. package/dist/commands/channel/store/filter.js.map +0 -1
  697. package/dist/commands/channel/store/lock.d.ts +0 -23
  698. package/dist/commands/channel/store/lock.d.ts.map +0 -1
  699. package/dist/commands/channel/store/lock.js +0 -99
  700. package/dist/commands/channel/store/lock.js.map +0 -1
  701. package/dist/commands/channel/store/paths.d.ts +0 -63
  702. package/dist/commands/channel/store/paths.d.ts.map +0 -1
  703. package/dist/commands/channel/store/paths.js +0 -247
  704. package/dist/commands/channel/store/paths.js.map +0 -1
  705. package/dist/commands/channel/store/schema.d.ts +0 -27
  706. package/dist/commands/channel/store/schema.d.ts.map +0 -1
  707. package/dist/commands/channel/store/schema.js +0 -34
  708. package/dist/commands/channel/store/schema.js.map +0 -1
  709. package/dist/commands/channel/store/thread-state.d.ts +0 -5
  710. package/dist/commands/channel/store/thread-state.d.ts.map +0 -1
  711. package/dist/commands/channel/store/thread-state.js +0 -16
  712. package/dist/commands/channel/store/thread-state.js.map +0 -1
  713. package/dist/commands/channel/store/watch.d.ts +0 -19
  714. package/dist/commands/channel/store/watch.d.ts.map +0 -1
  715. package/dist/commands/channel/store/watch.js +0 -146
  716. package/dist/commands/channel/store/watch.js.map +0 -1
  717. package/dist/commands/channel/supervisor/idle.d.ts +0 -46
  718. package/dist/commands/channel/supervisor/idle.d.ts.map +0 -1
  719. package/dist/commands/channel/supervisor/idle.js +0 -72
  720. package/dist/commands/channel/supervisor/idle.js.map +0 -1
  721. package/dist/commands/channel/supervisor/inbox.d.ts +0 -30
  722. package/dist/commands/channel/supervisor/inbox.d.ts.map +0 -1
  723. package/dist/commands/channel/supervisor/inbox.js +0 -160
  724. package/dist/commands/channel/supervisor/inbox.js.map +0 -1
  725. package/dist/commands/channel/supervisor/shutdown.d.ts +0 -68
  726. package/dist/commands/channel/supervisor/shutdown.d.ts.map +0 -1
  727. package/dist/commands/channel/supervisor/shutdown.js +0 -146
  728. package/dist/commands/channel/supervisor/shutdown.js.map +0 -1
  729. package/dist/commands/channel/supervisor/stdout.d.ts +0 -51
  730. package/dist/commands/channel/supervisor/stdout.d.ts.map +0 -1
  731. package/dist/commands/channel/supervisor/stdout.js +0 -121
  732. package/dist/commands/channel/supervisor/stdout.js.map +0 -1
  733. package/dist/commands/channel/supervisor/turns.d.ts +0 -31
  734. package/dist/commands/channel/supervisor/turns.d.ts.map +0 -1
  735. package/dist/commands/channel/supervisor/turns.js +0 -45
  736. package/dist/commands/channel/supervisor/turns.js.map +0 -1
  737. package/dist/commands/channel/supervisor/warning.d.ts +0 -48
  738. package/dist/commands/channel/supervisor/warning.d.ts.map +0 -1
  739. package/dist/commands/channel/supervisor/warning.js +0 -77
  740. package/dist/commands/channel/supervisor/warning.js.map +0 -1
  741. package/dist/commands/channel/supervisor.d.ts +0 -59
  742. package/dist/commands/channel/supervisor.d.ts.map +0 -1
  743. package/dist/commands/channel/supervisor.js +0 -345
  744. package/dist/commands/channel/supervisor.js.map +0 -1
  745. package/dist/commands/channel/text-body.d.ts +0 -13
  746. package/dist/commands/channel/text-body.d.ts.map +0 -1
  747. package/dist/commands/channel/text-body.js +0 -47
  748. package/dist/commands/channel/text-body.js.map +0 -1
  749. package/dist/commands/channel/threads.d.ts +0 -39
  750. package/dist/commands/channel/threads.d.ts.map +0 -1
  751. package/dist/commands/channel/threads.js +0 -106
  752. package/dist/commands/channel/threads.js.map +0 -1
  753. package/dist/commands/channel/title.d.ts +0 -12
  754. package/dist/commands/channel/title.d.ts.map +0 -1
  755. package/dist/commands/channel/title.js +0 -24
  756. package/dist/commands/channel/title.js.map +0 -1
  757. package/dist/commands/channel/wait.d.ts +0 -17
  758. package/dist/commands/channel/wait.d.ts.map +0 -1
  759. package/dist/commands/channel/wait.js +0 -75
  760. package/dist/commands/channel/wait.js.map +0 -1
  761. package/dist/commands/validate-rules.d.ts +0 -6
  762. package/dist/commands/validate-rules.d.ts.map +0 -1
  763. package/dist/commands/validate-rules.js +0 -33
  764. package/dist/commands/validate-rules.js.map +0 -1
  765. package/dist/configurators/cursor.d.ts +0 -21
  766. package/dist/configurators/cursor.d.ts.map +0 -1
  767. package/dist/configurators/cursor.js +0 -51
  768. package/dist/configurators/cursor.js.map +0 -1
  769. package/dist/pactile/adapters/cursor/index.d.ts +0 -60
  770. package/dist/pactile/adapters/cursor/index.d.ts.map +0 -1
  771. package/dist/pactile/adapters/cursor/index.js +0 -186
  772. package/dist/pactile/adapters/cursor/index.js.map +0 -1
  773. package/dist/templates/common/optional-skills/chrome-cdp/SKILL.md +0 -179
  774. package/dist/templates/common/optional-skills/chrome-cdp/examples/fetch-hook-api-capture.md +0 -149
  775. package/dist/templates/common/optional-skills/chrome-cdp/scripts/cdp.mjs +0 -904
  776. package/dist/templates/cursor/agents/pactile-check.md +0 -58
  777. package/dist/templates/cursor/agents/pactile-implement.md +0 -56
  778. package/dist/templates/cursor/agents/pactile-research.md +0 -51
  779. package/dist/templates/cursor/commands/handoff.md +0 -101
  780. package/dist/templates/cursor/fixtures/expected-rules.d.ts +0 -14
  781. package/dist/templates/cursor/fixtures/expected-rules.d.ts.map +0 -1
  782. package/dist/templates/cursor/fixtures/expected-rules.js +0 -20
  783. package/dist/templates/cursor/fixtures/expected-rules.js.map +0 -1
  784. package/dist/templates/cursor/hooks.json +0 -52
  785. package/dist/templates/cursor/index.d.ts +0 -19
  786. package/dist/templates/cursor/index.d.ts.map +0 -1
  787. package/dist/templates/cursor/index.js +0 -19
  788. package/dist/templates/cursor/index.js.map +0 -1
  789. package/dist/templates/cursor/rules/pactile-bootstrap.mdc +0 -18
  790. package/dist/templates/cursor/worktrees.json +0 -11
  791. package/dist/templates/markdown/framework/cursor-context-injection-guide.md.txt +0 -85
  792. package/dist/templates/markdown/framework/cursor-native-modes-guide.md.txt +0 -239
  793. package/dist/templates/markdown/framework/cursor-semantic-compliance.md.txt +0 -41
  794. package/dist/templates/markdown/framework/cursor-subagent-policy.md.txt +0 -90
  795. package/dist/templates/markdown/framework/internal-skills-cursor-reachability.md.txt +0 -45
  796. package/dist/templates/markdown/prompts/run-semantic-slice-12.md.txt +0 -25
  797. package/dist/templates/pactile/modules/candidate-pool/contract.md +0 -37
  798. package/dist/templates/pactile/pool/README.md +0 -149
  799. package/dist/templates/pactile/pool/items/.gitkeep +0 -0
  800. package/dist/templates/pactile/pool/plan.md +0 -50
  801. package/dist/templates/pactile/scripts/__init__.py +0 -5
  802. package/dist/templates/pactile/scripts/add_session.py +0 -547
  803. package/dist/templates/pactile/scripts/build_context_pack.py +0 -17
  804. package/dist/templates/pactile/scripts/build_retrieval_pack.py +0 -376
  805. package/dist/templates/pactile/scripts/codegraph_session_smoke.py +0 -76
  806. package/dist/templates/pactile/scripts/common/__init__.py +0 -103
  807. package/dist/templates/pactile/scripts/common/active_task.py +0 -576
  808. package/dist/templates/pactile/scripts/common/adapter_middleware.py +0 -1373
  809. package/dist/templates/pactile/scripts/common/artifact_locale.py +0 -303
  810. package/dist/templates/pactile/scripts/common/artifact_search.py +0 -587
  811. package/dist/templates/pactile/scripts/common/cli_adapter.py +0 -135
  812. package/dist/templates/pactile/scripts/common/cli_environment.py +0 -155
  813. package/dist/templates/pactile/scripts/common/codebase_retrieval_router.py +0 -1339
  814. package/dist/templates/pactile/scripts/common/config.py +0 -497
  815. package/dist/templates/pactile/scripts/common/context_pack.py +0 -371
  816. package/dist/templates/pactile/scripts/common/cursor_retrieval_env.py +0 -31
  817. package/dist/templates/pactile/scripts/common/developer.py +0 -190
  818. package/dist/templates/pactile/scripts/common/execution_strategy.py +0 -268
  819. package/dist/templates/pactile/scripts/common/full_quality.py +0 -237
  820. package/dist/templates/pactile/scripts/common/git.py +0 -37
  821. package/dist/templates/pactile/scripts/common/git_context.py +0 -198
  822. package/dist/templates/pactile/scripts/common/injection_budget.py +0 -317
  823. package/dist/templates/pactile/scripts/common/io.py +0 -37
  824. package/dist/templates/pactile/scripts/common/kernel_command.py +0 -369
  825. package/dist/templates/pactile/scripts/common/lite_context.py +0 -280
  826. package/dist/templates/pactile/scripts/common/log.py +0 -45
  827. package/dist/templates/pactile/scripts/common/ondemand_topology.py +0 -419
  828. package/dist/templates/pactile/scripts/common/packages_context.py +0 -239
  829. package/dist/templates/pactile/scripts/common/pactile_config.py +0 -131
  830. package/dist/templates/pactile/scripts/common/parallel_declaration.py +0 -369
  831. package/dist/templates/pactile/scripts/common/parent_orchestration.py +0 -1198
  832. package/dist/templates/pactile/scripts/common/paths.py +0 -756
  833. package/dist/templates/pactile/scripts/common/pool_refs.py +0 -119
  834. package/dist/templates/pactile/scripts/common/pool_slice.py +0 -269
  835. package/dist/templates/pactile/scripts/common/pool_store.py +0 -766
  836. package/dist/templates/pactile/scripts/common/project_file_stats.py +0 -91
  837. package/dist/templates/pactile/scripts/common/retrieval_adapter_metadata.py +0 -943
  838. package/dist/templates/pactile/scripts/common/retrieval_agent_instructions.py +0 -123
  839. package/dist/templates/pactile/scripts/common/retrieval_evidence.py +0 -915
  840. package/dist/templates/pactile/scripts/common/retrieval_pack.py +0 -422
  841. package/dist/templates/pactile/scripts/common/retrieval_pack_context.py +0 -122
  842. package/dist/templates/pactile/scripts/common/retrieval_plan_gate.py +0 -61
  843. package/dist/templates/pactile/scripts/common/retrieval_result_ranking.py +0 -104
  844. package/dist/templates/pactile/scripts/common/retrieval_tool_classification.py +0 -166
  845. package/dist/templates/pactile/scripts/common/safe_commit.py +0 -285
  846. package/dist/templates/pactile/scripts/common/semantic_plan_gate.py +0 -53
  847. package/dist/templates/pactile/scripts/common/session_context.py +0 -1213
  848. package/dist/templates/pactile/scripts/common/session_memory.py +0 -386
  849. package/dist/templates/pactile/scripts/common/session_pack.py +0 -886
  850. package/dist/templates/pactile/scripts/common/smart_search_evidence.py +0 -514
  851. package/dist/templates/pactile/scripts/common/smart_search_resolve.py +0 -150
  852. package/dist/templates/pactile/scripts/common/subagent_dispatch.py +0 -592
  853. package/dist/templates/pactile/scripts/common/task_context.py +0 -241
  854. package/dist/templates/pactile/scripts/common/task_dashboard.py +0 -286
  855. package/dist/templates/pactile/scripts/common/task_dependencies.py +0 -648
  856. package/dist/templates/pactile/scripts/common/task_gates.py +0 -2478
  857. package/dist/templates/pactile/scripts/common/task_map.py +0 -703
  858. package/dist/templates/pactile/scripts/common/task_queue.py +0 -188
  859. package/dist/templates/pactile/scripts/common/task_store.py +0 -2252
  860. package/dist/templates/pactile/scripts/common/task_utils.py +0 -274
  861. package/dist/templates/pactile/scripts/common/tasks.py +0 -231
  862. package/dist/templates/pactile/scripts/common/test_adapter_middleware.py +0 -199
  863. package/dist/templates/pactile/scripts/common/test_depends_mode_block.py +0 -509
  864. package/dist/templates/pactile/scripts/common/test_full_quality.py +0 -197
  865. package/dist/templates/pactile/scripts/common/test_kernel_command.py +0 -336
  866. package/dist/templates/pactile/scripts/common/test_lite_path.py +0 -190
  867. package/dist/templates/pactile/scripts/common/test_observable_defaults.py +0 -141
  868. package/dist/templates/pactile/scripts/common/test_ondemand_topology.py +0 -237
  869. package/dist/templates/pactile/scripts/common/test_parallel_declaration.py +0 -264
  870. package/dist/templates/pactile/scripts/common/test_pool_slice.py +0 -198
  871. package/dist/templates/pactile/scripts/common/test_pool_store.py +0 -452
  872. package/dist/templates/pactile/scripts/common/test_retrieval_arbitration.py +0 -331
  873. package/dist/templates/pactile/scripts/common/test_task_dashboard.py +0 -155
  874. package/dist/templates/pactile/scripts/common/test_task_dependencies.py +0 -329
  875. package/dist/templates/pactile/scripts/common/test_task_store_kernel_patch.py +0 -163
  876. package/dist/templates/pactile/scripts/common/types.py +0 -110
  877. package/dist/templates/pactile/scripts/common/workflow_phase.py +0 -194
  878. package/dist/templates/pactile/scripts/compile_session_pack.py +0 -15
  879. package/dist/templates/pactile/scripts/cursor_retrieval_probe.py +0 -64
  880. package/dist/templates/pactile/scripts/cursor_retrieval_probe_prompt.md +0 -33
  881. package/dist/templates/pactile/scripts/generate_dispatch_prompt.py +0 -182
  882. package/dist/templates/pactile/scripts/get_context.py +0 -19
  883. package/dist/templates/pactile/scripts/get_developer.py +0 -26
  884. package/dist/templates/pactile/scripts/hooks/linear_sync.py +0 -243
  885. package/dist/templates/pactile/scripts/init_developer.py +0 -51
  886. package/dist/templates/pactile/scripts/injection_budget_probe.py +0 -69
  887. package/dist/templates/pactile/scripts/pool.py +0 -237
  888. package/dist/templates/pactile/scripts/rank_retrieval_candidates.py +0 -98
  889. package/dist/templates/pactile/scripts/route_codebase_retrieval.py +0 -72
  890. package/dist/templates/pactile/scripts/run_smart_search.py +0 -12
  891. package/dist/templates/pactile/scripts/score_evidence.py +0 -131
  892. package/dist/templates/pactile/scripts/search_artifacts.py +0 -13
  893. package/dist/templates/pactile/scripts/search_memory.py +0 -12
  894. package/dist/templates/pactile/scripts/spec_health_outcomes.py +0 -160
  895. package/dist/templates/pactile/scripts/task.py +0 -1118
  896. package/dist/templates/pactile/scripts/verify_evidence_probe.py +0 -138
  897. package/dist/templates/shared-hooks/event-bridge.py +0 -121
  898. package/dist/templates/shared-hooks/index.d.ts +0 -50
  899. package/dist/templates/shared-hooks/index.d.ts.map +0 -1
  900. package/dist/templates/shared-hooks/index.js +0 -96
  901. package/dist/templates/shared-hooks/index.js.map +0 -1
  902. package/dist/templates/shared-hooks/inject-retrieval-plan.py +0 -217
  903. package/dist/templates/shared-hooks/inject-shell-session-context.py +0 -183
  904. package/dist/templates/shared-hooks/inject-subagent-context.py +0 -267
  905. package/dist/templates/shared-hooks/inject-workflow-state.py +0 -106
  906. package/dist/templates/shared-hooks/rename-session-for-task.py +0 -231
  907. package/dist/templates/shared-hooks/research-end-retrieval-pack.py +0 -345
  908. package/dist/templates/shared-hooks/session-start.py +0 -355
  909. package/dist/templates/shared-hooks/spec-write-audit.py +0 -173
  910. package/dist/utils/mirror-check.d.ts +0 -22
  911. package/dist/utils/mirror-check.d.ts.map +0 -1
  912. package/dist/utils/mirror-check.js +0 -90
  913. package/dist/utils/mirror-check.js.map +0 -1
  914. package/dist/utils/validate-rules.d.ts +0 -21
  915. package/dist/utils/validate-rules.d.ts.map +0 -1
  916. package/dist/utils/validate-rules.js +0 -88
  917. package/dist/utils/validate-rules.js.map +0 -1
@@ -1,179 +1,179 @@
1
- # Test Discipline Guide(测试纪律)
2
-
3
- > **Purpose**: 定义 PACTILE **测试积木**(任务验证 + 软件测试),以及测试**写作纪律**(pre-agreed seams、垂直切片、三反模式、mock 边界)。积木是自觉,不是墙。**纪律不是 TDD 要求**;也**不是 archive 硬门**。
4
-
5
- ---
6
-
7
- ## 1. Purpose — brick + discipline, not TDD
8
-
9
- 本 guide 做两件事,都不要求测试先行:
10
-
11
- 1. **测试积木**(§2):测试 = 任务有没有被 verify 证明 + 软件改动该不该写自动化测试。改动需要测时,模型理应写测、跑测。
12
- 2. **写作纪律**(§4 起):当测试存在时(新写、补写、评审、bug 回归落地),它们应当落在哪、验证什么、不做什么。纪律约束的是测试**质量**,不是测试**时序**。
13
-
14
- 写作纪律本身:
15
-
16
- - **不要求 red-before-green**。可以先写测试(test-first 是可选的节奏),也可以实现后补测试——纪律在两种时序下同样适用。
17
- - **不强制 TDD 循环**。本 guide 不定义 red → green → refactor 流程;不设「每个函数必须单测」门槛。
18
- - 与 [Verification Strength Guide](./verification-strength-guide.md) 兼容:验证**强度**(任务 closeout 要验多深)≠ red-green 仪式;本 guide 管的是「测什么(积木)」和「测试怎么写才值得保留」。
19
- - 大改端到端走查见 sibling [E2E Walkthrough Guide](./e2e-walkthrough-guide.md);小改不强制。走查**不是** Close 硬门。
20
-
21
- > 一句话:**先确认测点(seam),再写测试;测试验公共行为,不验实现。需要测的改动理应写测跑测——这是积木,不是 archive 墙。**
22
-
23
- ## 2. Testing brick(积木,不是墙)
24
-
25
- 测试积木有两层,缺一不可混为一谈:
26
-
27
- | 层 | 是什么 | 典型落点 | 机器是否强制 |
28
- | --- | --- | --- | --- |
29
- | **任务验证** | 这次任务有没有被证明做完 | `verify.md` / Evidence(P06 按 rigor 要求的深度) | 仅当该 rigor 已要求 evidence 时(verify-basic 等既有接口);**不是**「必须有自动化测试才能 archive」 |
30
- | **软件测试** | 这次代码改动会不会把行为改坏 | 项目既有测试框架里的自动化测试 | **否**。需要测时模型**理应**写测、跑测;失败只报告。不把「有测试 / 测试绿」做成 archive / Close 硬门 |
31
-
32
- **何时理应写测跑测(自觉,不是门):** 改动能破坏可观察行为——CLI/API 契约、gate 签名、kernel extras、归档路径、解析/校验、错误处理。文档-only / 错别字 / 纯注释通常不需要软件测试;任务验证仍按 P06 写 `verify.md`。
33
-
34
- **重点覆盖(优先于实现耦合断言):**
35
-
36
- | 焦点 | 问什么 | 例子(思维提示,不是强制矩阵) |
37
- | --- | --- | --- |
38
- | **边界条件** | 空、缺、满、首尾、档位切换时行为是否仍对 | 空 `task_data`、缺 `verify.md`、150 token 截断、Lite vs Full |
39
- | **异常处理** | 失败是否可观察、是否吞掉、是否误挡 Close | kernel CLI 缺失、畸形 JSON、缺 Notes **不挡** Close(P41) |
40
- | **性能瓶颈** | 预算与放大是否把主路径拖死 | 摘要截断、Parent 带子任务归档、过大 `verify.md` |
41
- | **安全风险** | 不可信路径 / 密钥 / 注入是否进产物 | 任务路径穿越、`verify.md` / 投影里的密钥、未校验的外部输入 |
42
-
43
- **不是墙:** 本积木**不**把软件测试变成 Close / `task.py archive` 硬门。失效边界仍在:测试靠自觉,无新的机器兜底。既有 kernel 接口护栏(如 `.pactile/scripts/common/test_task_gates.py`)保留——那是接口完整性测试,不是本积木新加的门。
44
-
45
- 与写作纪律的关系:积木决定**要不要测、测哪类风险**;§4–§8 决定**测点落在 seam、不 tautological、不 mock 内部**。
46
-
47
- ## 3. Non-goals
48
-
49
- - **不是 TDD 手册**:不要求测试先行,不要求红-绿循环,不把 red-before-green 写成强制流程。
50
- - **不是 archive / Close 硬门**:不恢复测试硬门;走查失败不得接入 `task.py archive` 硬失败。
51
- - **不选型**:不规定 pytest 以外的框架,不做 mock 库选型。
52
- - **不替代 Verification Strength Guide**:验证强度(closeout 深度 / false-green 探针)由该 guide 管;本 guide 管积木定义与测试写作。不重写 P06。
53
- - **不替代 Debug Loop Guide Phase 5**:bug 驱动的回归落地由 debug-loop 管,本 guide 只定义何为 good seam(见 §10)。
54
- - **不替代 E2E Walkthrough Guide**:kernel / archive / 投影 / 任务生命周期接口的大改走查由 sibling 管。
55
-
56
- ## 4. What a good test is
57
-
58
- 好测试的判据,对每次测试写作生效:
59
-
60
- - **通过公共 interface 验行为,不验实现细节**。module 可以完全重写,测试不该跟着改;测试关心调用者能获得什么行为,不关心内部怎么拼。
61
- - **读起来像规格**。测试名描述能力(「用户可以用有效购物车结账」),读者从测试就能看出 module 支持什么。
62
- - **耐重构**。重构后行为不变,测试仍绿;只有行为真正变化时才变红。
63
- - **期望值来自独立事实源**。已知字面量、手算样例、规格值——不是用实现同款方式重算(见 §7 tautological)。
64
- - **优先边界 / 异常 / 性能 / 安全**,而不是堆「实现怎么写就怎么断言」。
65
-
66
- ## 5. Seams(pre-agreed)
67
-
68
- **seam**(词汇与 CONTEXT.md architecture 段一致):*不改动原处即可改变行为的位置*。测试在 seam 处通过 interface 观察行为,绝不伸手进内部。
69
-
70
- **只在 pre-agreed seam 写测试。** 写任何测试之前:
71
-
72
- 1. **列出待测 seam 清单**:要测哪些 module 的哪个 interface、每条验什么行为。
73
- 2. **与用户确认**。未确认的 seam 不写测试。
74
- 3. 确认时按此排序:**优先既有 seam**(已有接口 / 既有测试点,不为测试新建结构);**尽量高位 seam**(越接近用户行为越好——一条高位测试覆盖多个低位实现);**少而精**(宁可一条高位测试,不要十条内部断言)。
75
-
76
- 你不可能测完一切——预先同意 seam,是把测试力气花在关键路径和复杂逻辑上,而不是每个边角。
77
-
78
- > 问句:「公共 interface 是什么?我们要测哪些 seam?」——接口形状本身有疑问时(module 多深、seam 该在哪),先做设计,再定测点。
79
-
80
- ## 6. Vertical slices(tracer bullets)
81
-
82
- **一测 → 一段最小实现 → 重复**:
83
-
84
- 1. 一个 seam、一条测试(tracer bullet)。
85
- 2. 只写让这条测试通过的最小实现。
86
- 3. 重复,让每条新测试回应上一条循环学到的形状。
87
-
88
- **禁止 horizontal bulk**——先写完全部测试再实现。横向批量的危害:测试验证的是**想象的行为**(测的是形状而不是用户行为)、对真实变化不敏感、实现还没理解就锁死了测试结构。
89
-
90
- 垂直切片在测试**写作**上同样成立:不要在动手前批量铺测试,一条一条来。
91
-
92
- ## 7. Anti-patterns(三反模式)
93
-
94
- ### Implementation-coupled(实现耦合)
95
-
96
- mock 内部协作对象、测私有方法、或旁路验证(绕过 interface 直接查库 / 读内部状态)。
97
-
98
- - 识别信号:重构后测试变红但行为没变;测试名描述 HOW 不描述 WHAT;断言调用次数 / 调用顺序。
99
- - 反例:`create_user` 后直接查库验入库——应通过 interface 验「创建后能取回」。
100
- - 修正:回到 §4——只通过公共 interface 观察行为。
101
-
102
- ### Tautological(同义反复)
103
-
104
- 期望值用与实现相同的方式重算,passes by construction——测试永远不可能与代码不一致,因为它复述了代码。
105
-
106
- - 识别信号:期望值是 reduce / 拼接 / 同式重算;快照由实现同款手工推出;常量断言等于它自己。
107
- - 反例:`expect(total([10, 5])).toBe(items.reduce(...))`——期望值就是实现。
108
- - 修正:期望值必须来自独立事实源——已知字面量(`expect(total([10, 5])).toBe(15)`)、手算样例、规格值。
109
-
110
- ### Horizontal slicing(横向切片)
111
-
112
- 先写全部测试再实现;按层横切而不是按用户行为竖切。
113
-
114
- - 识别信号:测试一次性铺满所有层级(API 层全部 → 服务层全部 → …);测试对象是「形状」而非行为;实现未动时测试结构已锁定。
115
- - 修正:回到 §6 垂直切片。
116
-
117
- ## 8. Mock boundaries
118
-
119
- **只在系统边界 mock**:
120
-
121
- - 外部 API(支付、邮件等)
122
- - DB(**优先用测试库**,mock DB 是退路)
123
- - 时间 / 随机性
124
- - 文件系统(视情况)
125
-
126
- **不 mock**:
127
-
128
- - 自己的 module / 内部协作对象
129
- - 任何我们控制的东西
130
-
131
- 为可 mock 性设计接口:
132
-
133
- - **DI 优于内部 `new`**:外部依赖从参数传入,而不是在实现里创建:
134
-
135
- ```python
136
- # 易 mock:依赖注入
137
- def process_payment(order, payment_client):
138
- return payment_client.charge(order.total)
139
-
140
- # 难 mock:实现内部创建
141
- def process_payment(order):
142
- client = PaymentClient(os.environ["PAYMENT_KEY"])
143
- return client.charge(order.total)
144
- ```
145
-
146
- - **SDK 式接口优于通用 fetcher**:每个外部操作用独立函数(`get_user(id)` / `create_order(data)`),而不是一个带条件分支的通用 `fetch(endpoint, opts)`。每个 mock 返回一种确定形状,测试设置里没有条件逻辑,也容易看出测试走了哪个端点。
147
-
148
- ## 9. Relation to verification-strength-guide
149
-
150
- - Verification Strength Guide 管验证**强度**:任务 closeout 要验多深、false-green 探针,且明确 **not TDD**(§1 Non-goals:不产品化 red-green 仪式、无 per-function 单测门槛)。
151
- - 本 guide 管测试**积木**(任务验证 + 软件测试)和测试**写作质量**:测试存在时,落在 pre-agreed seam、验公共行为、避开三反模式。
152
- - 二者正交、兼容:按验证强度选验证深度;按本 guide 决定要不要写软件测试、以及怎么写。**验证强度 ≠ red-green 仪式。本片不重写 P06。**
153
-
154
- ## 10. Relation to debug-loop Phase 5(衔接不吞并)
155
-
156
- [Debug Loop Guide](./debug-loop-guide.md) Phase 5 的回归是 **bug 驱动**:把最小复现冻结成测试或可重复命令,且必须落在 **correct seam**(在真实调用点复现真实 bug 模式)。
157
-
158
- - **bug 回归走 debug-loop**:Phase 5 决定「把这个 bug 锁在哪个 seam」,本 guide 不接管闭环流程。
159
- - **通用测试写作走本 guide**:新功能、补测、评审由本 guide 管(pre-agreed seam、反模式、mock 边界)。
160
- - 衔接点:Phase 5 判定 correct seam 时,引用的正是本 guide 的 good seam 概念与反模式——**衔接不吞并**:bug 驱动回归 ≠ 通用测试写作,两者各有入口,互不替代。
161
-
162
- ## 11. Relation to e2e walkthrough
163
-
164
- 大改(kernel / archive / `notes_projection` / 任务生命周期接口)必须按 [E2E Walkthrough Guide](./e2e-walkthrough-guide.md) 走一遍 `prd → 实现 → verify → archive → 检查投影落盘`。小改不强制。走查约定与可选检查脚本**不是** Close 硬门,也不替代 `test_task_gates.py` 接口护栏。
165
-
166
- ## 12. Checklist before writing tests
167
-
168
- 写测试前确认:
169
-
170
- - [ ] 已分清两层:任务验证(`verify.md`)vs 软件测试(自动化);本次改动若能破坏行为,理应写测跑测
171
- - [ ] 优先覆盖边界 / 异常 / 性能 / 安全,而不是实现耦合断言
172
- - [ ] 不把「有测试」当成 archive / Close 门槛
173
- - [ ] seam 清单已列出并与用户确认(**未确认的 seam 不写测试**)
174
- - [ ] 优先既有 seam / 高位 seam / 少而精
175
- - [ ] 测试通过公共 interface 验行为(不是私有方法、不是内部协作对象)
176
- - [ ] 期望值来自独立事实源(已知字面量 / 样例 / 规格),不是实现同款重算
177
- - [ ] mock 只在系统边界;自己的 module 不 mock;依赖经 DI 注入
178
- - [ ] 一次一条垂直切片(一测 → 最小实现 → 重复),不做横向批量
179
- - [ ] 大改 kernel/archive/投影/生命周期接口时,另见 [E2E Walkthrough Guide](./e2e-walkthrough-guide.md)
1
+ # Test Discipline Guide(测试纪律)
2
+
3
+ > **Purpose**: 定义 PACTILE **测试积木**(任务验证 + 软件测试),以及测试**写作纪律**(pre-agreed seams、垂直切片、三反模式、mock 边界)。积木是自觉,不是墙。**纪律不是 TDD 要求**;也**不是 archive 硬门**。
4
+
5
+ ---
6
+
7
+ ## 1. Purpose — brick + discipline, not TDD
8
+
9
+ 本 guide 做两件事,都不要求测试先行:
10
+
11
+ 1. **测试积木**(§2):测试 = 任务有没有被 verify 证明 + 软件改动该不该写自动化测试。改动需要测时,模型理应写测、跑测。
12
+ 2. **写作纪律**(§4 起):当测试存在时(新写、补写、评审、bug 回归落地),它们应当落在哪、验证什么、不做什么。纪律约束的是测试**质量**,不是测试**时序**。
13
+
14
+ 写作纪律本身:
15
+
16
+ - **不要求 red-before-green**。可以先写测试(test-first 是可选的节奏),也可以实现后补测试——纪律在两种时序下同样适用。
17
+ - **不强制 TDD 循环**。本 guide 不定义 red → green → refactor 流程;不设「每个函数必须单测」门槛。
18
+ - 与 [Verification Strength Guide](./verification-strength-guide.md) 兼容:验证**强度**(任务 closeout 要验多深)≠ red-green 仪式;本 guide 管的是「测什么(积木)」和「测试怎么写才值得保留」。
19
+ - 大改端到端走查见 sibling [E2E Walkthrough Guide](./e2e-walkthrough-guide.md);小改不强制。走查**不是** Close 硬门。
20
+
21
+ > 一句话:**先确认测点(seam),再写测试;测试验公共行为,不验实现。需要测的改动理应写测跑测——这是积木,不是 archive 墙。**
22
+
23
+ ## 2. Testing brick(积木,不是墙)
24
+
25
+ 测试积木有两层,缺一不可混为一谈:
26
+
27
+ | 层 | 是什么 | 典型落点 | 机器是否强制 |
28
+ | --- | --- | --- | --- |
29
+ | **任务验证** | 这次任务有没有被证明做完 | `verify.md` / Evidence(P06 按 rigor 要求的深度) | 仅当该 rigor 已要求 evidence 时(verify-basic 等既有接口);**不是**「必须有自动化测试才能 archive」 |
30
+ | **软件测试** | 这次代码改动会不会把行为改坏 | 项目既有测试框架里的自动化测试 | **否**。需要测时模型**理应**写测、跑测;失败只报告。不把「有测试 / 测试绿」做成 archive / Close 硬门 |
31
+
32
+ **何时理应写测跑测(自觉,不是门):** 改动能破坏可观察行为——CLI/API 契约、gate 签名、kernel extras、归档路径、解析/校验、错误处理。文档-only / 错别字 / 纯注释通常不需要软件测试;任务验证仍按 P06 写 `verify.md`。
33
+
34
+ **重点覆盖(优先于实现耦合断言):**
35
+
36
+ | 焦点 | 问什么 | 例子(思维提示,不是强制矩阵) |
37
+ | --- | --- | --- |
38
+ | **边界条件** | 空、缺、满、首尾、档位切换时行为是否仍对 | 空 `task_data`、缺 `verify.md`、150 token 截断、Lite vs Full |
39
+ | **异常处理** | 失败是否可观察、是否吞掉、是否误挡 Close | kernel CLI 缺失、畸形 JSON、缺 Notes **不挡** Close(P41) |
40
+ | **性能瓶颈** | 预算与放大是否把主路径拖死 | 摘要截断、Parent 带子任务归档、过大 `verify.md` |
41
+ | **安全风险** | 不可信路径 / 密钥 / 注入是否进产物 | 任务路径穿越、`verify.md` / 投影里的密钥、未校验的外部输入 |
42
+
43
+ **不是墙:** 本积木**不**把软件测试变成 Close / `pactile task archive` 硬门。失效边界仍在:测试靠自觉,无新的机器兜底。Pactile CLI 的 Kernel 接口护栏保留——那是接口完整性测试,不是本积木新加的门。
44
+
45
+ 与写作纪律的关系:积木决定**要不要测、测哪类风险**;§4–§8 决定**测点落在 seam、不 tautological、不 mock 内部**。
46
+
47
+ ## 3. Non-goals
48
+
49
+ - **不是 TDD 手册**:不要求测试先行,不要求红-绿循环,不把 red-before-green 写成强制流程。
50
+ - **不是 archive / Close 硬门**:不恢复测试硬门;走查失败不得接入 `pactile task archive` 硬失败。
51
+ - **不选型**:不规定 pytest 以外的框架,不做 mock 库选型。
52
+ - **不替代 Verification Strength Guide**:验证强度(closeout 深度 / false-green 探针)由该 guide 管;本 guide 管积木定义与测试写作。不重写 P06。
53
+ - **不替代 Debug Loop Guide Phase 5**:bug 驱动的回归落地由 debug-loop 管,本 guide 只定义何为 good seam(见 §10)。
54
+ - **不替代 E2E Walkthrough Guide**:kernel / archive / 投影 / 任务生命周期接口的大改走查由 sibling 管。
55
+
56
+ ## 4. What a good test is
57
+
58
+ 好测试的判据,对每次测试写作生效:
59
+
60
+ - **通过公共 interface 验行为,不验实现细节**。module 可以完全重写,测试不该跟着改;测试关心调用者能获得什么行为,不关心内部怎么拼。
61
+ - **读起来像规格**。测试名描述能力(「用户可以用有效购物车结账」),读者从测试就能看出 module 支持什么。
62
+ - **耐重构**。重构后行为不变,测试仍绿;只有行为真正变化时才变红。
63
+ - **期望值来自独立事实源**。已知字面量、手算样例、规格值——不是用实现同款方式重算(见 §7 tautological)。
64
+ - **优先边界 / 异常 / 性能 / 安全**,而不是堆「实现怎么写就怎么断言」。
65
+
66
+ ## 5. Seams(pre-agreed)
67
+
68
+ **seam**(词汇与 CONTEXT.md architecture 段一致):*不改动原处即可改变行为的位置*。测试在 seam 处通过 interface 观察行为,绝不伸手进内部。
69
+
70
+ **只在 pre-agreed seam 写测试。** 写任何测试之前:
71
+
72
+ 1. **列出待测 seam 清单**:要测哪些 module 的哪个 interface、每条验什么行为。
73
+ 2. **与用户确认**。未确认的 seam 不写测试。
74
+ 3. 确认时按此排序:**优先既有 seam**(已有接口 / 既有测试点,不为测试新建结构);**尽量高位 seam**(越接近用户行为越好——一条高位测试覆盖多个低位实现);**少而精**(宁可一条高位测试,不要十条内部断言)。
75
+
76
+ 你不可能测完一切——预先同意 seam,是把测试力气花在关键路径和复杂逻辑上,而不是每个边角。
77
+
78
+ > 问句:「公共 interface 是什么?我们要测哪些 seam?」——接口形状本身有疑问时(module 多深、seam 该在哪),先做设计,再定测点。
79
+
80
+ ## 6. Vertical slices(tracer bullets)
81
+
82
+ **一测 → 一段最小实现 → 重复**:
83
+
84
+ 1. 一个 seam、一条测试(tracer bullet)。
85
+ 2. 只写让这条测试通过的最小实现。
86
+ 3. 重复,让每条新测试回应上一条循环学到的形状。
87
+
88
+ **禁止 horizontal bulk**——先写完全部测试再实现。横向批量的危害:测试验证的是**想象的行为**(测的是形状而不是用户行为)、对真实变化不敏感、实现还没理解就锁死了测试结构。
89
+
90
+ 垂直切片在测试**写作**上同样成立:不要在动手前批量铺测试,一条一条来。
91
+
92
+ ## 7. Anti-patterns(三反模式)
93
+
94
+ ### Implementation-coupled(实现耦合)
95
+
96
+ mock 内部协作对象、测私有方法、或旁路验证(绕过 interface 直接查库 / 读内部状态)。
97
+
98
+ - 识别信号:重构后测试变红但行为没变;测试名描述 HOW 不描述 WHAT;断言调用次数 / 调用顺序。
99
+ - 反例:`create_user` 后直接查库验入库——应通过 interface 验「创建后能取回」。
100
+ - 修正:回到 §4——只通过公共 interface 观察行为。
101
+
102
+ ### Tautological(同义反复)
103
+
104
+ 期望值用与实现相同的方式重算,passes by construction——测试永远不可能与代码不一致,因为它复述了代码。
105
+
106
+ - 识别信号:期望值是 reduce / 拼接 / 同式重算;快照由实现同款手工推出;常量断言等于它自己。
107
+ - 反例:`expect(total([10, 5])).toBe(items.reduce(...))`——期望值就是实现。
108
+ - 修正:期望值必须来自独立事实源——已知字面量(`expect(total([10, 5])).toBe(15)`)、手算样例、规格值。
109
+
110
+ ### Horizontal slicing(横向切片)
111
+
112
+ 先写全部测试再实现;按层横切而不是按用户行为竖切。
113
+
114
+ - 识别信号:测试一次性铺满所有层级(API 层全部 → 服务层全部 → …);测试对象是「形状」而非行为;实现未动时测试结构已锁定。
115
+ - 修正:回到 §6 垂直切片。
116
+
117
+ ## 8. Mock boundaries
118
+
119
+ **只在系统边界 mock**:
120
+
121
+ - 外部 API(支付、邮件等)
122
+ - DB(**优先用测试库**,mock DB 是退路)
123
+ - 时间 / 随机性
124
+ - 文件系统(视情况)
125
+
126
+ **不 mock**:
127
+
128
+ - 自己的 module / 内部协作对象
129
+ - 任何我们控制的东西
130
+
131
+ 为可 mock 性设计接口:
132
+
133
+ - **DI 优于内部 `new`**:外部依赖从参数传入,而不是在实现里创建:
134
+
135
+ ```python
136
+ # 易 mock:依赖注入
137
+ def process_payment(order, payment_client):
138
+ return payment_client.charge(order.total)
139
+
140
+ # 难 mock:实现内部创建
141
+ def process_payment(order):
142
+ client = PaymentClient(os.environ["PAYMENT_KEY"])
143
+ return client.charge(order.total)
144
+ ```
145
+
146
+ - **SDK 式接口优于通用 fetcher**:每个外部操作用独立函数(`get_user(id)` / `create_order(data)`),而不是一个带条件分支的通用 `fetch(endpoint, opts)`。每个 mock 返回一种确定形状,测试设置里没有条件逻辑,也容易看出测试走了哪个端点。
147
+
148
+ ## 9. Relation to verification-strength-guide
149
+
150
+ - Verification Strength Guide 管验证**强度**:任务 closeout 要验多深、false-green 探针,且明确 **not TDD**(§1 Non-goals:不产品化 red-green 仪式、无 per-function 单测门槛)。
151
+ - 本 guide 管测试**积木**(任务验证 + 软件测试)和测试**写作质量**:测试存在时,落在 pre-agreed seam、验公共行为、避开三反模式。
152
+ - 二者正交、兼容:按验证强度选验证深度;按本 guide 决定要不要写软件测试、以及怎么写。**验证强度 ≠ red-green 仪式。本片不重写 P06。**
153
+
154
+ ## 10. Relation to debug-loop Phase 5(衔接不吞并)
155
+
156
+ [Debug Loop Guide](./debug-loop-guide.md) Phase 5 的回归是 **bug 驱动**:把最小复现冻结成测试或可重复命令,且必须落在 **correct seam**(在真实调用点复现真实 bug 模式)。
157
+
158
+ - **bug 回归走 debug-loop**:Phase 5 决定「把这个 bug 锁在哪个 seam」,本 guide 不接管闭环流程。
159
+ - **通用测试写作走本 guide**:新功能、补测、评审由本 guide 管(pre-agreed seam、反模式、mock 边界)。
160
+ - 衔接点:Phase 5 判定 correct seam 时,引用的正是本 guide 的 good seam 概念与反模式——**衔接不吞并**:bug 驱动回归 ≠ 通用测试写作,两者各有入口,互不替代。
161
+
162
+ ## 11. Relation to e2e walkthrough
163
+
164
+ 大改(Kernel / archive / `notes_projection` / 任务生命周期接口)必须按 [E2E Walkthrough Guide](./e2e-walkthrough-guide.md) 走一遍 `prd → 实现 → verify → archive → 检查投影落盘`。小改不强制。走查约定**不是** Close 硬门,也不替代 Pactile CLI 的接口测试。
165
+
166
+ ## 12. Checklist before writing tests
167
+
168
+ 写测试前确认:
169
+
170
+ - [ ] 已分清两层:任务验证(`verify.md`)vs 软件测试(自动化);本次改动若能破坏行为,理应写测跑测
171
+ - [ ] 优先覆盖边界 / 异常 / 性能 / 安全,而不是实现耦合断言
172
+ - [ ] 不把「有测试」当成 archive / Close 门槛
173
+ - [ ] seam 清单已列出并与用户确认(**未确认的 seam 不写测试**)
174
+ - [ ] 优先既有 seam / 高位 seam / 少而精
175
+ - [ ] 测试通过公共 interface 验行为(不是私有方法、不是内部协作对象)
176
+ - [ ] 期望值来自独立事实源(已知字面量 / 样例 / 规格),不是实现同款重算
177
+ - [ ] mock 只在系统边界;自己的 module 不 mock;依赖经 DI 注入
178
+ - [ ] 一次一条垂直切片(一测 → 最小实现 → 重复),不做横向批量
179
+ - [ ] 大改 kernel/archive/投影/生命周期接口时,另见 [E2E Walkthrough Guide](./e2e-walkthrough-guide.md)
@@ -1,125 +1,122 @@
1
- # Workspace Index
2
-
3
- > Records of all AI Agent work records across all developers
4
-
5
- ---
6
-
7
- ## Overview
8
-
9
- This directory tracks records for all developers working with AI Agents on this project.
10
-
11
- ### File Structure
12
-
13
- ```
14
- workspace/
15
- |-- index.md # This file - main index
16
- +-- {developer}/ # Per-developer directory
17
- |-- index.md # Personal index with session history
18
- |-- tasks/ # Task files
19
- | |-- *.json # Active tasks
20
- | +-- archive/ # Archived tasks by month
21
- +-- journal-N.md # Journal files (sequential: 1, 2, 3...)
22
- ```
23
-
24
- ---
25
-
26
- ## Active Developers
27
-
28
- | Developer | Last Active | Sessions | Active File |
29
- |-----------|-------------|----------|-------------|
30
- | (none yet) | - | - | - |
31
-
32
- ---
33
-
34
- ## Getting Started
35
-
36
- ### For New Developers
37
-
38
- Run the initialization script:
39
-
40
- ```bash
41
- python3 ./.pactile/scripts/init_developer.py <your-name>
42
- ```
43
-
44
- This will:
45
- 1. Create your identity file (gitignored)
46
- 2. Create your progress directory
47
- 3. Create your personal index
48
- 4. Create initial journal file
49
-
50
- ### For Returning Developers
51
-
52
- 1. Get your developer name:
53
- ```bash
54
- python3 ./.pactile/scripts/get_developer.py
55
- ```
56
-
57
- 2. Read your personal index:
58
- ```bash
59
- cat .pactile/workspace/$(python3 ./.pactile/scripts/get_developer.py)/index.md
60
- ```
61
-
62
- ---
63
-
64
- ## Guidelines
65
-
66
- ### Journal File Rules
67
-
68
- - **Max 2000 lines** per journal file
69
- - When limit is reached, create `journal-{N+1}.md`
70
- - Update your personal `index.md` when creating new files
71
-
72
- ### Session Record Format
73
-
74
- Each session should include:
75
- - Summary: One-line description
76
- - Branch: Which branch the work was done on
77
- - Main Changes: What was modified
78
- - Git Commits: Commit hashes and messages
79
- - Next Steps: What to do next
80
-
81
- ---
82
-
83
- ## Session Template
84
-
85
- Use this template when recording sessions:
86
-
87
- ```markdown
88
- ## Session {N}: {Title}
89
-
90
- **Date**: YYYY-MM-DD
91
- **Task**: {task-name}
92
- **Branch**: `{branch-name}`
93
-
94
- ### Summary
95
-
96
- {One-line summary}
97
-
98
- ### Main Changes
99
-
100
- - {Change 1}
101
- - {Change 2}
102
-
103
- ### Git Commits
104
-
105
- | Hash | Message |
106
- |------|---------|
107
- | `abc1234` | {commit message} |
108
-
109
- ### Testing
110
-
111
- - [OK] {Test result}
112
-
113
- ### Status
114
-
115
- [OK] **Completed** / # **In Progress** / [P] **Blocked**
116
-
117
- ### Next Steps
118
-
119
- - {Next step 1}
120
- - {Next step 2}
121
- ```
122
-
123
- ---
124
-
125
- **Language**: All documentation must be written in **English**.
1
+ # Workspace Index
2
+
3
+ > Records of all AI Agent work records across all developers
4
+
5
+ ---
6
+
7
+ ## Overview
8
+
9
+ This directory tracks records for all developers working with AI Agents on this project.
10
+
11
+ ### File Structure
12
+
13
+ ```
14
+ workspace/
15
+ |-- index.md # This file - main index
16
+ +-- {developer}/ # Per-developer directory
17
+ |-- index.md # Personal index with session history
18
+ |-- tasks/ # Task files
19
+ | |-- *.json # Active tasks
20
+ | +-- archive/ # Archived tasks by month
21
+ +-- journal-N.md # Journal files (sequential: 1, 2, 3...)
22
+ ```
23
+
24
+ ---
25
+
26
+ ## Active Developers
27
+
28
+ | Developer | Last Active | Sessions | Active File |
29
+ |-----------|-------------|----------|-------------|
30
+ | (none yet) | - | - | - |
31
+
32
+ ---
33
+
34
+ ## Getting Started
35
+
36
+ ### For New Developers
37
+
38
+ Initialize Pactile with your developer identity:
39
+
40
+ ```bash
41
+ pactile init --user <your-name>
42
+ ```
43
+
44
+ This will:
45
+ 1. Create your identity file (gitignored)
46
+ 2. Create your progress directory
47
+ 3. Create your personal index
48
+ 4. Create initial journal file
49
+
50
+ ### For Returning Developers
51
+
52
+ 1. Get your developer name:
53
+ ```bash
54
+ pactile context --json
55
+ ```
56
+
57
+ 2. Open `.pactile/workspace/<developer>/index.md` using the name reported in the context JSON.
58
+
59
+ ---
60
+
61
+ ## Guidelines
62
+
63
+ ### Journal File Rules
64
+
65
+ - **Max 2000 lines** per journal file
66
+ - When limit is reached, create `journal-{N+1}.md`
67
+ - Update your personal `index.md` when creating new files
68
+
69
+ ### Session Record Format
70
+
71
+ Each session should include:
72
+ - Summary: One-line description
73
+ - Branch: Which branch the work was done on
74
+ - Main Changes: What was modified
75
+ - Git Commits: Commit hashes and messages
76
+ - Next Steps: What to do next
77
+
78
+ ---
79
+
80
+ ## Session Template
81
+
82
+ Use this template when recording sessions:
83
+
84
+ ```markdown
85
+ ## Session {N}: {Title}
86
+
87
+ **Date**: YYYY-MM-DD
88
+ **Task**: {task-name}
89
+ **Branch**: `{branch-name}`
90
+
91
+ ### Summary
92
+
93
+ {One-line summary}
94
+
95
+ ### Main Changes
96
+
97
+ - {Change 1}
98
+ - {Change 2}
99
+
100
+ ### Git Commits
101
+
102
+ | Hash | Message |
103
+ |------|---------|
104
+ | `abc1234` | {commit message} |
105
+
106
+ ### Testing
107
+
108
+ - [OK] {Test result}
109
+
110
+ ### Status
111
+
112
+ [OK] **Completed** / # **In Progress** / [P] **Blocked**
113
+
114
+ ### Next Steps
115
+
116
+ - {Next step 1}
117
+ - {Next step 2}
118
+ ```
119
+
120
+ ---
121
+
122
+ **Language**: All documentation must be written in **English**.