@dialecte/core 0.7.0 → 0.8.1

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 (696) hide show
  1. package/dist/assets/hub.worker-B1HcVDhn.js +2 -0
  2. package/dist/diagnostics/diagnostics.d.ts +4 -0
  3. package/dist/diagnostics/diagnostics.d.ts.map +1 -1
  4. package/dist/diagnostics/types.d.ts +6 -1
  5. package/dist/diagnostics/types.d.ts.map +1 -1
  6. package/dist/dialecte/create-dialecte-project.d.ts +11 -0
  7. package/dist/dialecte/create-dialecte-project.d.ts.map +1 -0
  8. package/dist/dialecte/create-project-factory.d.ts +14 -0
  9. package/dist/dialecte/create-project-factory.d.ts.map +1 -0
  10. package/dist/dialecte/define-dialecte.d.ts +12 -0
  11. package/dist/dialecte/define-dialecte.d.ts.map +1 -0
  12. package/dist/dialecte/dialecte.constants.d.ts +4 -0
  13. package/dist/dialecte/dialecte.constants.d.ts.map +1 -0
  14. package/dist/dialecte/dialecte.types.d.ts +75 -0
  15. package/dist/dialecte/dialecte.types.d.ts.map +1 -0
  16. package/dist/dialecte/index.d.ts +4 -0
  17. package/dist/dialecte/index.d.ts.map +1 -0
  18. package/dist/{project-DIKdMMHx.js → dialecte-gIPrRzni.js} +8031 -8457
  19. package/dist/document/bind-extensions.d.ts +4 -1
  20. package/dist/document/bind-extensions.d.ts.map +1 -1
  21. package/dist/document/document.d.ts +58 -5
  22. package/dist/document/document.d.ts.map +1 -1
  23. package/dist/document/progress/progress.types.d.ts +21 -4
  24. package/dist/document/progress/progress.types.d.ts.map +1 -1
  25. package/dist/document/query/find/ancestor/find-ancestor.d.ts +2 -0
  26. package/dist/document/query/find/ancestor/find-ancestor.d.ts.map +1 -1
  27. package/dist/document/query/find/by-attribute/find-by-attributes.d.ts +4 -0
  28. package/dist/document/query/find/by-attribute/find-by-attributes.d.ts.map +1 -1
  29. package/dist/document/query/find/descendant/find-descendant.d.ts +2 -0
  30. package/dist/document/query/find/descendant/find-descendant.d.ts.map +1 -1
  31. package/dist/document/query/get/attribute/get-attribute.d.ts +4 -0
  32. package/dist/document/query/get/attribute/get-attribute.d.ts.map +1 -1
  33. package/dist/document/query/get/attribute/get-attributes.d.ts +4 -0
  34. package/dist/document/query/get/attribute/get-attributes.d.ts.map +1 -1
  35. package/dist/document/query/get/definition/get-definition.d.ts +2 -0
  36. package/dist/document/query/get/definition/get-definition.d.ts.map +1 -1
  37. package/dist/document/query/get/record/get-child.d.ts +2 -0
  38. package/dist/document/query/get/record/get-child.d.ts.map +1 -1
  39. package/dist/document/query/get/record/get-children.d.ts +2 -0
  40. package/dist/document/query/get/record/get-children.d.ts.map +1 -1
  41. package/dist/document/query/get/record/get-record.d.ts +2 -0
  42. package/dist/document/query/get/record/get-record.d.ts.map +1 -1
  43. package/dist/document/query/get/record/get-records-by-tagname.d.ts +2 -0
  44. package/dist/document/query/get/record/get-records-by-tagname.d.ts.map +1 -1
  45. package/dist/document/query/get/record/get-records.d.ts +2 -0
  46. package/dist/document/query/get/record/get-records.d.ts.map +1 -1
  47. package/dist/document/query/get/record/load-live-records.d.ts +2 -0
  48. package/dist/document/query/get/record/load-live-records.d.ts.map +1 -1
  49. package/dist/document/query/get/record/resolve-record.d.ts +2 -0
  50. package/dist/document/query/get/record/resolve-record.d.ts.map +1 -1
  51. package/dist/document/query/get/record/staged-lookup.d.ts +4 -0
  52. package/dist/document/query/get/record/staged-lookup.d.ts.map +1 -1
  53. package/dist/document/query/get/tree/get-tree.d.ts +6 -0
  54. package/dist/document/query/get/tree/get-tree.d.ts.map +1 -1
  55. package/dist/document/query/main.d.ts +50 -15
  56. package/dist/document/query/main.d.ts.map +1 -1
  57. package/dist/document/query/snapshot/collect-snapshot.d.ts +2 -0
  58. package/dist/document/query/snapshot/collect-snapshot.d.ts.map +1 -1
  59. package/dist/document/query/snapshot/get-snapshot.d.ts +2 -0
  60. package/dist/document/query/snapshot/get-snapshot.d.ts.map +1 -1
  61. package/dist/document/query/snapshot/records-to-tree.d.ts +2 -0
  62. package/dist/document/query/snapshot/records-to-tree.d.ts.map +1 -1
  63. package/dist/document/query/tree-filter/omit.d.ts +8 -0
  64. package/dist/document/query/tree-filter/omit.d.ts.map +1 -1
  65. package/dist/document/query/tree-filter/order.d.ts +5 -2
  66. package/dist/document/query/tree-filter/order.d.ts.map +1 -1
  67. package/dist/document/query/tree-filter/unwrap.d.ts +2 -0
  68. package/dist/document/query/tree-filter/unwrap.d.ts.map +1 -1
  69. package/dist/document/staged-operations.d.ts +5 -1
  70. package/dist/document/staged-operations.d.ts.map +1 -1
  71. package/dist/document/transaction/clone/clone.d.ts +2 -0
  72. package/dist/document/transaction/clone/clone.d.ts.map +1 -1
  73. package/dist/document/transaction/commit/commit.d.ts.map +1 -1
  74. package/dist/document/transaction/commit/merge-operations.d.ts +1 -1
  75. package/dist/document/transaction/commit/merge-operations.d.ts.map +1 -1
  76. package/dist/document/transaction/commit/summarize-operations.d.ts +16 -0
  77. package/dist/document/transaction/commit/summarize-operations.d.ts.map +1 -0
  78. package/dist/document/transaction/commit/summarize-operations.types.d.ts +17 -0
  79. package/dist/document/transaction/commit/summarize-operations.types.d.ts.map +1 -0
  80. package/dist/document/transaction/create/create.d.ts +2 -0
  81. package/dist/document/transaction/create/create.d.ts.map +1 -1
  82. package/dist/document/transaction/guard.d.ts +5 -0
  83. package/dist/document/transaction/guard.d.ts.map +1 -1
  84. package/dist/document/transaction/index.d.ts +2 -0
  85. package/dist/document/transaction/index.d.ts.map +1 -1
  86. package/dist/document/transaction/main.d.ts +46 -16
  87. package/dist/document/transaction/main.d.ts.map +1 -1
  88. package/dist/document/transaction/stage-operations.d.ts.map +1 -1
  89. package/dist/document/transaction/update/update.d.ts +2 -0
  90. package/dist/document/transaction/update/update.d.ts.map +1 -1
  91. package/dist/document/types.d.ts +3 -5
  92. package/dist/document/types.d.ts.map +1 -1
  93. package/dist/document/types.extensions.d.ts.map +1 -1
  94. package/dist/engine-store-CIEqgPUb.js +348 -0
  95. package/dist/engine.constants-DBMjMmV9.js +98 -0
  96. package/dist/engine.d.ts +9 -0
  97. package/dist/engine.d.ts.map +1 -0
  98. package/dist/engine.js +15805 -0
  99. package/dist/errors/codes.d.ts +451 -0
  100. package/dist/errors/codes.d.ts.map +1 -1
  101. package/dist/errors/errors.constants.d.ts +3 -0
  102. package/dist/errors/errors.constants.d.ts.map +1 -0
  103. package/dist/errors/errors.d.ts +10 -0
  104. package/dist/errors/errors.d.ts.map +1 -1
  105. package/dist/errors/types.d.ts +14 -0
  106. package/dist/errors/types.d.ts.map +1 -1
  107. package/dist/helpers/assert-fixed.d.ts +3 -1
  108. package/dist/helpers/assert-fixed.d.ts.map +1 -1
  109. package/dist/helpers/assert-xml-characters.d.ts +35 -0
  110. package/dist/helpers/assert-xml-characters.d.ts.map +1 -0
  111. package/dist/helpers/assert-xml-characters.types.d.ts +26 -0
  112. package/dist/helpers/assert-xml-characters.types.d.ts.map +1 -0
  113. package/dist/helpers/assert-xsi-type.d.ts +4 -0
  114. package/dist/helpers/assert-xsi-type.d.ts.map +1 -1
  115. package/dist/helpers/converter.d.ts +21 -6
  116. package/dist/helpers/converter.d.ts.map +1 -1
  117. package/dist/helpers/evaluate-expectations.d.ts +21 -0
  118. package/dist/helpers/evaluate-expectations.d.ts.map +1 -0
  119. package/dist/helpers/evaluate-expectations.types.d.ts +31 -0
  120. package/dist/helpers/evaluate-expectations.types.d.ts.map +1 -0
  121. package/dist/helpers/guard.d.ts +24 -4
  122. package/dist/helpers/guard.d.ts.map +1 -1
  123. package/dist/helpers/index.d.ts +2 -0
  124. package/dist/helpers/index.d.ts.map +1 -1
  125. package/dist/helpers/merge-extensions.d.ts +2 -0
  126. package/dist/helpers/merge-extensions.d.ts.map +1 -1
  127. package/dist/helpers/read-attributes.d.ts +4 -0
  128. package/dist/helpers/read-attributes.d.ts.map +1 -1
  129. package/dist/helpers/standardizing.d.ts +10 -0
  130. package/dist/helpers/standardizing.d.ts.map +1 -1
  131. package/dist/helpers/strip-attributes.d.ts +2 -0
  132. package/dist/helpers/strip-attributes.d.ts.map +1 -1
  133. package/dist/helpers-DVShv41E.js +489 -0
  134. package/dist/helpers.js +3 -439
  135. package/dist/in-process-link-DBeAOZRp.js +2791 -0
  136. package/dist/index.d.ts +1 -0
  137. package/dist/index.d.ts.map +1 -1
  138. package/dist/index.js +13 -12
  139. package/dist/perf/create-perf.d.ts +8 -1
  140. package/dist/perf/create-perf.d.ts.map +1 -1
  141. package/dist/perf/index.d.ts +1 -1
  142. package/dist/perf/index.d.ts.map +1 -1
  143. package/dist/perf/noop-perf.d.ts.map +1 -1
  144. package/dist/perf/perf.types.d.ts +65 -6
  145. package/dist/perf/perf.types.d.ts.map +1 -1
  146. package/dist/project/index.d.ts +7 -5
  147. package/dist/project/index.d.ts.map +1 -1
  148. package/dist/project/io/export-blob.d.ts +5 -2
  149. package/dist/project/io/export-blob.d.ts.map +1 -1
  150. package/dist/project/io/export-document.d.ts +5 -4
  151. package/dist/project/io/export-document.d.ts.map +1 -1
  152. package/dist/project/io/index.d.ts +1 -1
  153. package/dist/project/io/index.d.ts.map +1 -1
  154. package/dist/project/io/init-empty-document.d.ts +2 -0
  155. package/dist/project/io/init-empty-document.d.ts.map +1 -1
  156. package/dist/project/io/run-export.d.ts +19 -0
  157. package/dist/project/io/run-export.d.ts.map +1 -0
  158. package/dist/project/io/run-export.types.d.ts +45 -0
  159. package/dist/project/io/run-export.types.d.ts.map +1 -0
  160. package/dist/project/io/run-import.d.ts +15 -0
  161. package/dist/project/io/run-import.d.ts.map +1 -0
  162. package/dist/project/io/run-import.types.d.ts +19 -0
  163. package/dist/project/io/run-import.types.d.ts.map +1 -0
  164. package/dist/project/io/store-runtime.constants.d.ts +6 -0
  165. package/dist/project/io/store-runtime.constants.d.ts.map +1 -0
  166. package/dist/project/io/store-runtime.d.ts +12 -0
  167. package/dist/project/io/store-runtime.d.ts.map +1 -0
  168. package/dist/project/io/store-runtime.types.d.ts +18 -0
  169. package/dist/project/io/store-runtime.types.d.ts.map +1 -0
  170. package/dist/project/project-channel.d.ts +11 -0
  171. package/dist/project/project-channel.d.ts.map +1 -0
  172. package/dist/project/project.constants.d.ts +12 -0
  173. package/dist/project/project.constants.d.ts.map +1 -0
  174. package/dist/project/project.d.ts +315 -31
  175. package/dist/project/project.d.ts.map +1 -1
  176. package/dist/project/state/document-lifecycle.d.ts +0 -12
  177. package/dist/project/state/document-lifecycle.d.ts.map +1 -1
  178. package/dist/project/state/document-state.d.ts +4 -0
  179. package/dist/project/state/document-state.d.ts.map +1 -1
  180. package/dist/project/types.d.ts +126 -60
  181. package/dist/project/types.d.ts.map +1 -1
  182. package/dist/project-key-Ch34EtFa.js +1435 -0
  183. package/dist/rolldown-runtime-CYdcPHCu.js +12 -0
  184. package/dist/running-operations-vnijBvn7.js +76 -0
  185. package/dist/same-json-value-C6kUaoyt.js +1603 -0
  186. package/dist/sqlite.d.ts +5 -0
  187. package/dist/sqlite.d.ts.map +1 -0
  188. package/dist/sqlite.js +2671 -0
  189. package/dist/sqlite3.wasm +0 -0
  190. package/dist/store/apply-record-patch.d.ts +13 -0
  191. package/dist/store/apply-record-patch.d.ts.map +1 -0
  192. package/dist/store/closing-connections.d.ts +7 -0
  193. package/dist/store/closing-connections.d.ts.map +1 -0
  194. package/dist/store/closing-connections.types.d.ts +13 -0
  195. package/dist/store/closing-connections.types.d.ts.map +1 -0
  196. package/dist/store/commit-progress.d.ts +10 -0
  197. package/dist/store/commit-progress.d.ts.map +1 -0
  198. package/dist/store/compare-by-id.d.ts +10 -0
  199. package/dist/store/compare-by-id.d.ts.map +1 -0
  200. package/dist/store/document-path.constants.d.ts +20 -0
  201. package/dist/store/document-path.constants.d.ts.map +1 -0
  202. package/dist/store/document-path.d.ts +75 -0
  203. package/dist/store/document-path.d.ts.map +1 -0
  204. package/dist/store/document-path.types.d.ts +11 -0
  205. package/dist/store/document-path.types.d.ts.map +1 -0
  206. package/dist/store/engine/client/check-engine-wire.d.ts +8 -0
  207. package/dist/store/engine/client/check-engine-wire.d.ts.map +1 -0
  208. package/dist/store/engine/client/client.constants.d.ts +30 -0
  209. package/dist/store/engine/client/client.constants.d.ts.map +1 -0
  210. package/dist/store/engine/client/client.types.d.ts +200 -0
  211. package/dist/store/engine/client/client.types.d.ts.map +1 -0
  212. package/dist/store/engine/client/engine-client.d.ts +15 -0
  213. package/dist/store/engine/client/engine-client.d.ts.map +1 -0
  214. package/dist/store/engine/client/engine-control.d.ts +16 -0
  215. package/dist/store/engine/client/engine-control.d.ts.map +1 -0
  216. package/dist/store/engine/client/heartbeat-watch.d.ts +17 -0
  217. package/dist/store/engine/client/heartbeat-watch.d.ts.map +1 -0
  218. package/dist/store/engine/client/hub-connector.d.ts +11 -0
  219. package/dist/store/engine/client/hub-connector.d.ts.map +1 -0
  220. package/dist/store/engine/client/hub-connector.types.d.ts +25 -0
  221. package/dist/store/engine/client/hub-connector.types.d.ts.map +1 -0
  222. package/dist/store/engine/client/worker-connector.d.ts +32 -0
  223. package/dist/store/engine/client/worker-connector.d.ts.map +1 -0
  224. package/dist/store/engine/creation-refusal.d.ts +10 -0
  225. package/dist/store/engine/creation-refusal.d.ts.map +1 -0
  226. package/dist/store/engine/dialecte-refusal.d.ts +18 -0
  227. package/dist/store/engine/dialecte-refusal.d.ts.map +1 -0
  228. package/dist/store/engine/engine-store.d.ts +163 -0
  229. package/dist/store/engine/engine-store.d.ts.map +1 -0
  230. package/dist/store/engine/engine-store.types.d.ts +53 -0
  231. package/dist/store/engine/engine-store.types.d.ts.map +1 -0
  232. package/dist/store/engine/engine.constants.d.ts +14 -0
  233. package/dist/store/engine/engine.constants.d.ts.map +1 -0
  234. package/dist/store/engine/engine.types.d.ts +165 -0
  235. package/dist/store/engine/engine.types.d.ts.map +1 -0
  236. package/dist/store/engine/host/engine-wire.d.ts +19 -0
  237. package/dist/store/engine/host/engine-wire.d.ts.map +1 -0
  238. package/dist/store/engine/host/heartbeat.d.ts +33 -0
  239. package/dist/store/engine/host/heartbeat.d.ts.map +1 -0
  240. package/dist/store/engine/host/host.constants.d.ts +13 -0
  241. package/dist/store/engine/host/host.constants.d.ts.map +1 -0
  242. package/dist/store/engine/host/host.types.d.ts +65 -0
  243. package/dist/store/engine/host/host.types.d.ts.map +1 -0
  244. package/dist/store/engine/host/store-events.d.ts +14 -0
  245. package/dist/store/engine/host/store-events.d.ts.map +1 -0
  246. package/dist/store/engine/hub/hub-client.constants.d.ts +27 -0
  247. package/dist/store/engine/hub/hub-client.constants.d.ts.map +1 -0
  248. package/dist/store/engine/hub/hub-client.d.ts +46 -0
  249. package/dist/store/engine/hub/hub-client.d.ts.map +1 -0
  250. package/dist/store/engine/hub/hub-client.types.d.ts +208 -0
  251. package/dist/store/engine/hub/hub-client.types.d.ts.map +1 -0
  252. package/dist/store/engine/hub/hub-protocol.types.d.ts +193 -0
  253. package/dist/store/engine/hub/hub-protocol.types.d.ts.map +1 -0
  254. package/dist/store/engine/hub/hub-router.d.ts +9 -0
  255. package/dist/store/engine/hub/hub-router.d.ts.map +1 -0
  256. package/dist/store/engine/hub/hub-shell.d.ts +13 -0
  257. package/dist/store/engine/hub/hub-shell.d.ts.map +1 -0
  258. package/dist/store/engine/hub/hub-shell.types.d.ts +64 -0
  259. package/dist/store/engine/hub/hub-shell.types.d.ts.map +1 -0
  260. package/dist/store/engine/hub/hub.constants.d.ts +33 -0
  261. package/dist/store/engine/hub/hub.constants.d.ts.map +1 -0
  262. package/dist/store/engine/hub/hub.types.d.ts +305 -0
  263. package/dist/store/engine/hub/hub.types.d.ts.map +1 -0
  264. package/dist/store/engine/hub/hub.worker.d.ts +2 -0
  265. package/dist/store/engine/hub/hub.worker.d.ts.map +1 -0
  266. package/dist/store/engine/hub/realm-host.d.ts +10 -0
  267. package/dist/store/engine/hub/realm-host.d.ts.map +1 -0
  268. package/dist/store/engine/hub/realm-host.types.d.ts +78 -0
  269. package/dist/store/engine/hub/realm-host.types.d.ts.map +1 -0
  270. package/dist/store/engine/project-key.d.ts +15 -0
  271. package/dist/store/engine/project-key.d.ts.map +1 -0
  272. package/dist/store/engine/wire/error-envelope.d.ts +25 -0
  273. package/dist/store/engine/wire/error-envelope.d.ts.map +1 -0
  274. package/dist/store/engine/wire/wire-values.d.ts +33 -0
  275. package/dist/store/engine/wire/wire-values.d.ts.map +1 -0
  276. package/dist/store/engine/wire/wire.constants.d.ts +116 -0
  277. package/dist/store/engine/wire/wire.constants.d.ts.map +1 -0
  278. package/dist/store/engine/wire/wire.types.d.ts +119 -0
  279. package/dist/store/engine/wire/wire.types.d.ts.map +1 -0
  280. package/dist/store/hub-public.d.ts +33 -0
  281. package/dist/store/hub-public.d.ts.map +1 -0
  282. package/dist/store/ignore-destroy-outcome.d.ts +6 -0
  283. package/dist/store/ignore-destroy-outcome.d.ts.map +1 -0
  284. package/dist/store/in-memory/in-memory-state.d.ts +46 -0
  285. package/dist/store/in-memory/in-memory-state.d.ts.map +1 -0
  286. package/dist/store/in-memory/in-memory-store.constants.d.ts +7 -0
  287. package/dist/store/in-memory/in-memory-store.constants.d.ts.map +1 -0
  288. package/dist/store/in-memory/in-memory-store.d.ts +105 -17
  289. package/dist/store/in-memory/in-memory-store.d.ts.map +1 -1
  290. package/dist/store/in-memory/types.d.ts +55 -1
  291. package/dist/store/in-memory/types.d.ts.map +1 -1
  292. package/dist/store/index.d.ts +8 -2
  293. package/dist/store/index.d.ts.map +1 -1
  294. package/dist/store/json-values.constants.d.ts +18 -0
  295. package/dist/store/json-values.constants.d.ts.map +1 -0
  296. package/dist/store/json-values.d.ts +40 -0
  297. package/dist/store/json-values.d.ts.map +1 -0
  298. package/dist/store/json-values.types.d.ts +18 -0
  299. package/dist/store/json-values.types.d.ts.map +1 -0
  300. package/dist/store/local/dexie-store.constants.d.ts +20 -0
  301. package/dist/store/local/dexie-store.constants.d.ts.map +1 -0
  302. package/dist/store/local/dexie-store.d.ts +134 -5
  303. package/dist/store/local/dexie-store.d.ts.map +1 -1
  304. package/dist/store/local/types.d.ts +6 -0
  305. package/dist/store/local/types.d.ts.map +1 -1
  306. package/dist/store/lost-write.d.ts +32 -0
  307. package/dist/store/lost-write.d.ts.map +1 -0
  308. package/dist/store/lost-write.types.d.ts +4 -0
  309. package/dist/store/lost-write.types.d.ts.map +1 -0
  310. package/dist/store/open-connections.d.ts +4 -0
  311. package/dist/store/open-connections.d.ts.map +1 -0
  312. package/dist/store/open-connections.types.d.ts +17 -0
  313. package/dist/store/open-connections.types.d.ts.map +1 -0
  314. package/dist/store/own-import.d.ts +10 -0
  315. package/dist/store/own-import.d.ts.map +1 -0
  316. package/dist/store/project-name.d.ts +10 -0
  317. package/dist/store/project-name.d.ts.map +1 -0
  318. package/dist/store/resolve-store.d.ts +28 -4
  319. package/dist/store/resolve-store.d.ts.map +1 -1
  320. package/dist/store/running-operations.d.ts +7 -0
  321. package/dist/store/running-operations.d.ts.map +1 -0
  322. package/dist/store/running-operations.types.d.ts +10 -0
  323. package/dist/store/running-operations.types.d.ts.map +1 -0
  324. package/dist/store/same-json-value.d.ts +9 -0
  325. package/dist/store/same-json-value.d.ts.map +1 -0
  326. package/dist/store/sqlite/adapter/in-process-link.d.ts +20 -0
  327. package/dist/store/sqlite/adapter/in-process-link.d.ts.map +1 -0
  328. package/dist/store/sqlite/adapter/in-process-link.types.d.ts +21 -0
  329. package/dist/store/sqlite/adapter/in-process-link.types.d.ts.map +1 -0
  330. package/dist/store/sqlite/adapter/realm-storage.d.ts +10 -0
  331. package/dist/store/sqlite/adapter/realm-storage.d.ts.map +1 -0
  332. package/dist/store/sqlite/adapter/sqlite-connector.d.ts +14 -0
  333. package/dist/store/sqlite/adapter/sqlite-connector.d.ts.map +1 -0
  334. package/dist/store/sqlite/adapter/sqlite-engine-settings.d.ts +4 -0
  335. package/dist/store/sqlite/adapter/sqlite-engine-settings.d.ts.map +1 -0
  336. package/dist/store/sqlite/adapter/sqlite-hub-spawner.d.ts +8 -0
  337. package/dist/store/sqlite/adapter/sqlite-hub-spawner.d.ts.map +1 -0
  338. package/dist/store/sqlite/adapter/sqlite-hub-spawner.types.d.ts +5 -0
  339. package/dist/store/sqlite/adapter/sqlite-hub-spawner.types.d.ts.map +1 -0
  340. package/dist/store/sqlite/adapter/sqlite-worker-connector.d.ts +8 -0
  341. package/dist/store/sqlite/adapter/sqlite-worker-connector.d.ts.map +1 -0
  342. package/dist/store/sqlite/adapter/sqlite-worker-connector.types.d.ts +5 -0
  343. package/dist/store/sqlite/adapter/sqlite-worker-connector.types.d.ts.map +1 -0
  344. package/dist/store/sqlite/engine/blobs.d.ts +55 -0
  345. package/dist/store/sqlite/engine/blobs.d.ts.map +1 -0
  346. package/dist/store/sqlite/engine/bulk-insert.d.ts +31 -0
  347. package/dist/store/sqlite/engine/bulk-insert.d.ts.map +1 -0
  348. package/dist/store/sqlite/engine/commit.d.ts +20 -0
  349. package/dist/store/sqlite/engine/commit.d.ts.map +1 -0
  350. package/dist/store/sqlite/engine/device-cache.d.ts +13 -0
  351. package/dist/store/sqlite/engine/device-cache.d.ts.map +1 -0
  352. package/dist/store/sqlite/engine/engine-errors.d.ts +26 -0
  353. package/dist/store/sqlite/engine/engine-errors.d.ts.map +1 -0
  354. package/dist/store/sqlite/engine/engine.constants.d.ts +144 -0
  355. package/dist/store/sqlite/engine/engine.constants.d.ts.map +1 -0
  356. package/dist/store/sqlite/engine/engine.types.d.ts +361 -0
  357. package/dist/store/sqlite/engine/engine.types.d.ts.map +1 -0
  358. package/dist/store/sqlite/engine/history.d.ts +114 -0
  359. package/dist/store/sqlite/engine/history.d.ts.map +1 -0
  360. package/dist/store/sqlite/engine/import-queue.d.ts +7 -0
  361. package/dist/store/sqlite/engine/import-queue.d.ts.map +1 -0
  362. package/dist/store/sqlite/engine/import-target.d.ts +23 -0
  363. package/dist/store/sqlite/engine/import-target.d.ts.map +1 -0
  364. package/dist/store/sqlite/engine/import-window.d.ts +23 -0
  365. package/dist/store/sqlite/engine/import-window.d.ts.map +1 -0
  366. package/dist/store/sqlite/engine/reclaim.d.ts +13 -0
  367. package/dist/store/sqlite/engine/reclaim.d.ts.map +1 -0
  368. package/dist/store/sqlite/engine/records.d.ts +117 -0
  369. package/dist/store/sqlite/engine/records.d.ts.map +1 -0
  370. package/dist/store/sqlite/engine/registry.d.ts +76 -0
  371. package/dist/store/sqlite/engine/registry.d.ts.map +1 -0
  372. package/dist/store/sqlite/engine/schema.d.ts +57 -0
  373. package/dist/store/sqlite/engine/schema.d.ts.map +1 -0
  374. package/dist/store/sqlite/engine/sqlite-engine.d.ts +14 -0
  375. package/dist/store/sqlite/engine/sqlite-engine.d.ts.map +1 -0
  376. package/dist/store/sqlite/engine/transaction.d.ts +12 -0
  377. package/dist/store/sqlite/engine/transaction.d.ts.map +1 -0
  378. package/dist/store/sqlite/list-projects.constants.d.ts +12 -0
  379. package/dist/store/sqlite/list-projects.constants.d.ts.map +1 -0
  380. package/dist/store/sqlite/list-projects.d.ts +22 -0
  381. package/dist/store/sqlite/list-projects.d.ts.map +1 -0
  382. package/dist/store/sqlite/list-projects.types.d.ts +28 -0
  383. package/dist/store/sqlite/list-projects.types.d.ts.map +1 -0
  384. package/dist/store/sqlite/load-sqlite.d.ts +11 -0
  385. package/dist/store/sqlite/load-sqlite.d.ts.map +1 -0
  386. package/dist/store/sqlite/runtime/close-engine.d.ts +18 -0
  387. package/dist/store/sqlite/runtime/close-engine.d.ts.map +1 -0
  388. package/dist/store/sqlite/runtime/install-pool.d.ts +94 -0
  389. package/dist/store/sqlite/runtime/install-pool.d.ts.map +1 -0
  390. package/dist/store/sqlite/runtime/pool-header.d.ts +13 -0
  391. package/dist/store/sqlite/runtime/pool-header.d.ts.map +1 -0
  392. package/dist/store/sqlite/runtime/progress-beat.d.ts +13 -0
  393. package/dist/store/sqlite/runtime/progress-beat.d.ts.map +1 -0
  394. package/dist/store/sqlite/runtime/runtime.constants.d.ts +57 -0
  395. package/dist/store/sqlite/runtime/runtime.constants.d.ts.map +1 -0
  396. package/dist/store/sqlite/runtime/runtime.types.d.ts +56 -0
  397. package/dist/store/sqlite/runtime/runtime.types.d.ts.map +1 -0
  398. package/dist/store/sqlite/runtime/serve-dialecte-engine.d.ts +16 -0
  399. package/dist/store/sqlite/runtime/serve-dialecte-engine.d.ts.map +1 -0
  400. package/dist/store/sqlite/sqlite-store-of.d.ts +7 -0
  401. package/dist/store/sqlite/sqlite-store-of.d.ts.map +1 -0
  402. package/dist/store/sqlite/sqlite-text.d.ts +20 -0
  403. package/dist/store/sqlite/sqlite-text.d.ts.map +1 -0
  404. package/dist/store/sqlite/sqlite-wasm-url.d.ts +9 -0
  405. package/dist/store/sqlite/sqlite-wasm-url.d.ts.map +1 -0
  406. package/dist/store/sqlite/sqlite.constants.d.ts +15 -0
  407. package/dist/store/sqlite/sqlite.constants.d.ts.map +1 -0
  408. package/dist/store/sqlite/sqlite.types.d.ts +36 -0
  409. package/dist/store/sqlite/sqlite.types.d.ts.map +1 -0
  410. package/dist/store/sqlite-storage.constants.d.ts +14 -0
  411. package/dist/store/sqlite-storage.constants.d.ts.map +1 -0
  412. package/dist/store/sqlite-storage.d.ts +22 -0
  413. package/dist/store/sqlite-storage.d.ts.map +1 -0
  414. package/dist/store/sqlite-storage.types.d.ts +24 -0
  415. package/dist/store/sqlite-storage.types.d.ts.map +1 -0
  416. package/dist/store/store-errors.d.ts +51 -0
  417. package/dist/store/store-errors.d.ts.map +1 -0
  418. package/dist/store/store.constants.d.ts +15 -3
  419. package/dist/store/store.constants.d.ts.map +1 -1
  420. package/dist/store/store.types.d.ts +280 -16
  421. package/dist/store/store.types.d.ts.map +1 -1
  422. package/dist/store/stored-record.d.ts +16 -0
  423. package/dist/store/stored-record.d.ts.map +1 -0
  424. package/dist/store/unfinished-imports.d.ts +15 -0
  425. package/dist/store/unfinished-imports.d.ts.map +1 -0
  426. package/dist/store/write-outcome.d.ts +34 -0
  427. package/dist/store/write-outcome.d.ts.map +1 -0
  428. package/dist/test/assert-valid-xml/assert-valid-xml.constants.d.ts +7 -0
  429. package/dist/test/assert-valid-xml/assert-valid-xml.constants.d.ts.map +1 -0
  430. package/dist/test/assert-valid-xml/assert-valid-xml.d.ts +19 -18
  431. package/dist/test/assert-valid-xml/assert-valid-xml.d.ts.map +1 -1
  432. package/dist/test/assert-valid-xml/assert-valid-xml.types.d.ts +8 -4
  433. package/dist/test/assert-valid-xml/assert-valid-xml.types.d.ts.map +1 -1
  434. package/dist/test/assert-xml/assert-xml.constants.d.ts +25 -0
  435. package/dist/test/assert-xml/assert-xml.constants.d.ts.map +1 -0
  436. package/dist/test/assert-xml/assert-xml.d.ts +23 -34
  437. package/dist/test/assert-xml/assert-xml.d.ts.map +1 -1
  438. package/dist/test/assert-xml/assert-xml.types.d.ts +48 -0
  439. package/dist/test/assert-xml/assert-xml.types.d.ts.map +1 -0
  440. package/dist/test/assert-xml/describe-nearby.d.ts +16 -0
  441. package/dist/test/assert-xml/describe-nearby.d.ts.map +1 -0
  442. package/dist/test/assert-xml/describe-node-place.d.ts +15 -0
  443. package/dist/test/assert-xml/describe-node-place.d.ts.map +1 -0
  444. package/dist/test/assert-xml/index.d.ts +1 -1
  445. package/dist/test/assert-xml/index.d.ts.map +1 -1
  446. package/dist/test/assert-xml/query-failure-message.d.ts +24 -0
  447. package/dist/test/assert-xml/query-failure-message.d.ts.map +1 -0
  448. package/dist/test/assert-xml/read-xpath-step.d.ts +8 -0
  449. package/dist/test/assert-xml/read-xpath-step.d.ts.map +1 -0
  450. package/dist/test/assert-xml/xpath-parser.d.ts +2 -1
  451. package/dist/test/assert-xml/xpath-parser.d.ts.map +1 -1
  452. package/dist/test/config.d.ts +5 -0
  453. package/dist/test/config.d.ts.map +1 -1
  454. package/dist/test/constant.d.ts +2 -0
  455. package/dist/test/constant.d.ts.map +1 -1
  456. package/dist/test/create-test-dialecte.d.ts +32 -37
  457. package/dist/test/create-test-dialecte.d.ts.map +1 -1
  458. package/dist/test/create-test-dialecte.types.d.ts +99 -0
  459. package/dist/test/create-test-dialecte.types.d.ts.map +1 -0
  460. package/dist/test/create-test-helpers-internal.types.d.ts +19 -0
  461. package/dist/test/create-test-helpers-internal.types.d.ts.map +1 -0
  462. package/dist/test/create-test-helpers.d.ts +13 -0
  463. package/dist/test/create-test-helpers.d.ts.map +1 -0
  464. package/dist/test/create-test-helpers.types.d.ts +50 -0
  465. package/dist/test/create-test-helpers.types.d.ts.map +1 -0
  466. package/dist/test/fixtures/test-entry-scan-constraint.d.ts +3 -0
  467. package/dist/test/fixtures/test-entry-scan-constraint.d.ts.map +1 -0
  468. package/dist/test/fixtures/test-entry-scan-edges.types.d.ts +10 -0
  469. package/dist/test/fixtures/test-entry-scan-edges.types.d.ts.map +1 -0
  470. package/dist/test/fixtures/test-entry-scan-recursive.d.ts +4 -0
  471. package/dist/test/fixtures/test-entry-scan-recursive.d.ts.map +1 -0
  472. package/dist/test/fixtures/test-entry-scan-recursive.types.d.ts +15 -0
  473. package/dist/test/fixtures/test-entry-scan-recursive.types.d.ts.map +1 -0
  474. package/dist/test/fixtures/test-entry-scan-shapes.d.ts +14 -0
  475. package/dist/test/fixtures/test-entry-scan-shapes.d.ts.map +1 -0
  476. package/dist/test/fixtures/test-entry-scan-shapes.types.d.ts +14 -0
  477. package/dist/test/fixtures/test-entry-scan-shapes.types.d.ts.map +1 -0
  478. package/dist/test/fixtures/test-entry-scan-tree.d.ts +3 -0
  479. package/dist/test/fixtures/test-entry-scan-tree.d.ts.map +1 -0
  480. package/dist/test/fixtures/test-entry-scan.d.ts +5 -0
  481. package/dist/test/fixtures/test-entry-scan.d.ts.map +1 -0
  482. package/dist/test/fixtures/test-entry-scan.types.d.ts +5 -0
  483. package/dist/test/fixtures/test-entry-scan.types.d.ts.map +1 -0
  484. package/dist/test/generated/definition.generated.d.ts +5 -0
  485. package/dist/test/generated/definition.generated.d.ts.map +1 -1
  486. package/dist/test/in-memory-storage.setup.d.ts +2 -0
  487. package/dist/test/in-memory-storage.setup.d.ts.map +1 -0
  488. package/dist/test/index.d.ts +6 -0
  489. package/dist/test/index.d.ts.map +1 -1
  490. package/dist/test/normalize-uuids.constants.d.ts +3 -0
  491. package/dist/test/normalize-uuids.constants.d.ts.map +1 -0
  492. package/dist/test/normalize-uuids.d.ts +12 -0
  493. package/dist/test/normalize-uuids.d.ts.map +1 -1
  494. package/dist/test/run-test-cases.d.ts +30 -11
  495. package/dist/test/run-test-cases.d.ts.map +1 -1
  496. package/dist/test/run-test-cases.type.d.ts +16 -0
  497. package/dist/test/run-test-cases.type.d.ts.map +1 -1
  498. package/dist/test/sqlite-storage.setup.d.ts +1 -0
  499. package/dist/test/sqlite-storage.setup.d.ts.map +1 -0
  500. package/dist/test/test-dialecte-setup.d.ts +31 -0
  501. package/dist/test/test-dialecte-setup.d.ts.map +1 -0
  502. package/dist/test/test-dialecte-setup.types.d.ts +29 -0
  503. package/dist/test/test-dialecte-setup.types.d.ts.map +1 -0
  504. package/dist/test/test-dialecte.d.ts +2722 -0
  505. package/dist/test/test-dialecte.d.ts.map +1 -0
  506. package/dist/test/test-dialecte.types.d.ts +3 -0
  507. package/dist/test/test-dialecte.types.d.ts.map +1 -0
  508. package/dist/test/test-dialecte.worker.d.ts +2 -0
  509. package/dist/test/test-dialecte.worker.d.ts.map +1 -0
  510. package/dist/test/test-entry-environment.constants.d.ts +27 -0
  511. package/dist/test/test-entry-environment.constants.d.ts.map +1 -0
  512. package/dist/test/test-record.d.ts +49 -1
  513. package/dist/test/test-record.d.ts.map +1 -1
  514. package/dist/test/test-storage/index.d.ts +5 -0
  515. package/dist/test/test-storage/index.d.ts.map +1 -0
  516. package/dist/test/test-storage/read-test-storage.d.ts +4 -0
  517. package/dist/test/test-storage/read-test-storage.d.ts.map +1 -0
  518. package/dist/test/test-storage/resolve-test-storage.d.ts +9 -0
  519. package/dist/test/test-storage/resolve-test-storage.d.ts.map +1 -0
  520. package/dist/test/test-storage/test-storage.constants.d.ts +9 -0
  521. package/dist/test/test-storage/test-storage.constants.d.ts.map +1 -0
  522. package/dist/test/test-storage/test-storage.types.d.ts +15 -0
  523. package/dist/test/test-storage/test-storage.types.d.ts.map +1 -0
  524. package/dist/test/test-storage/test-store-for.d.ts +19 -0
  525. package/dist/test/test-storage/test-store-for.d.ts.map +1 -0
  526. package/dist/test/test-storage/use-test-storage.d.ts +14 -0
  527. package/dist/test/test-storage/use-test-storage.d.ts.map +1 -0
  528. package/dist/test/test-timing.constants.d.ts +15 -0
  529. package/dist/test/test-timing.constants.d.ts.map +1 -0
  530. package/dist/test/xml/engine-console.d.ts +6 -0
  531. package/dist/test/xml/engine-console.d.ts.map +1 -0
  532. package/dist/test/xml/engine.d.ts +3 -0
  533. package/dist/test/xml/engine.d.ts.map +1 -0
  534. package/dist/test/xml/index.d.ts +8 -0
  535. package/dist/test/xml/index.d.ts.map +1 -0
  536. package/dist/test/xml/malformed-xml-error.d.ts +5 -0
  537. package/dist/test/xml/malformed-xml-error.d.ts.map +1 -0
  538. package/dist/test/xml/print-node.d.ts +7 -0
  539. package/dist/test/xml/print-node.d.ts.map +1 -0
  540. package/dist/test/xml/select-nodes.d.ts +14 -0
  541. package/dist/test/xml/select-nodes.d.ts.map +1 -0
  542. package/dist/test/xml/with-xml-document.constants.d.ts +7 -0
  543. package/dist/test/xml/with-xml-document.constants.d.ts.map +1 -0
  544. package/dist/test/xml/with-xml-document.d.ts +14 -0
  545. package/dist/test/xml/with-xml-document.d.ts.map +1 -0
  546. package/dist/test/xml/xml-query-refused-error.d.ts +13 -0
  547. package/dist/test/xml/xml-query-refused-error.d.ts.map +1 -0
  548. package/dist/test/xml/xml.constants.d.ts +16 -0
  549. package/dist/test/xml/xml.constants.d.ts.map +1 -0
  550. package/dist/test/xml/xml.types.d.ts +31 -0
  551. package/dist/test/xml/xml.types.d.ts.map +1 -0
  552. package/dist/test/xsd/test-ext.xsd +226 -0
  553. package/dist/test/xsd/test.xsd +528 -0
  554. package/dist/test.js +3427 -406
  555. package/dist/types/dialecte-config.d.ts +6 -0
  556. package/dist/types/dialecte-config.d.ts.map +1 -1
  557. package/dist/types/io.d.ts +5 -0
  558. package/dist/types/io.d.ts.map +1 -1
  559. package/dist/utils/attribute-rules.d.ts +16 -1
  560. package/dist/utils/attribute-rules.d.ts.map +1 -1
  561. package/dist/utils/child-occurrences.constants.d.ts +4 -0
  562. package/dist/utils/child-occurrences.constants.d.ts.map +1 -0
  563. package/dist/utils/child-occurrences.d.ts +17 -0
  564. package/dist/utils/child-occurrences.d.ts.map +1 -0
  565. package/dist/utils/child-occurrences.types.d.ts +6 -0
  566. package/dist/utils/child-occurrences.types.d.ts.map +1 -0
  567. package/dist/utils/datatype.d.ts +4 -0
  568. package/dist/utils/datatype.d.ts.map +1 -1
  569. package/dist/utils/format-xml.d.ts +4 -0
  570. package/dist/utils/format-xml.d.ts.map +1 -1
  571. package/dist/utils/index.d.ts +5 -1
  572. package/dist/utils/index.d.ts.map +1 -1
  573. package/dist/utils/invariant.d.ts +2 -0
  574. package/dist/utils/invariant.d.ts.map +1 -1
  575. package/dist/utils/namespaces.d.ts +15 -1
  576. package/dist/utils/namespaces.d.ts.map +1 -1
  577. package/dist/utils/order-children.d.ts +14 -3
  578. package/dist/utils/order-children.d.ts.map +1 -1
  579. package/dist/utils/order-children.types.d.ts +10 -0
  580. package/dist/utils/order-children.types.d.ts.map +1 -0
  581. package/dist/utils/particle-occurrences.d.ts +4 -0
  582. package/dist/utils/particle-occurrences.d.ts.map +1 -0
  583. package/dist/utils/required-choices.d.ts +17 -0
  584. package/dist/utils/required-choices.d.ts.map +1 -0
  585. package/dist/utils/required-choices.types.d.ts +15 -0
  586. package/dist/utils/required-choices.types.d.ts.map +1 -0
  587. package/dist/utils/resolve-definition.d.ts +4 -0
  588. package/dist/utils/resolve-definition.d.ts.map +1 -1
  589. package/dist/utils/save-to-disk.constants.d.ts +3 -0
  590. package/dist/utils/save-to-disk.constants.d.ts.map +1 -0
  591. package/dist/utils/save-to-disk.d.ts +17 -5
  592. package/dist/utils/save-to-disk.d.ts.map +1 -1
  593. package/dist/utils/save-to-disk.types.d.ts +17 -0
  594. package/dist/utils/save-to-disk.types.d.ts.map +1 -0
  595. package/dist/utils/seeded-uuid.constants.d.ts +5 -0
  596. package/dist/utils/seeded-uuid.constants.d.ts.map +1 -0
  597. package/dist/utils/seeded-uuid.d.ts +15 -0
  598. package/dist/utils/seeded-uuid.d.ts.map +1 -0
  599. package/dist/utils/seeded-uuid.types.d.ts +8 -0
  600. package/dist/utils/seeded-uuid.types.d.ts.map +1 -0
  601. package/dist/utils/tell-listener.constants.d.ts +9 -0
  602. package/dist/utils/tell-listener.constants.d.ts.map +1 -0
  603. package/dist/utils/tell-listener.d.ts +24 -0
  604. package/dist/utils/tell-listener.d.ts.map +1 -0
  605. package/dist/utils/xml-characters.constants.d.ts +9 -0
  606. package/dist/utils/xml-characters.constants.d.ts.map +1 -0
  607. package/dist/utils/xml-characters.d.ts +8 -0
  608. package/dist/utils/xml-characters.d.ts.map +1 -0
  609. package/dist/utils/xml-whitespace.constants.d.ts +8 -0
  610. package/dist/utils/xml-whitespace.constants.d.ts.map +1 -0
  611. package/dist/utils/xml-whitespace.d.ts +19 -0
  612. package/dist/utils/xml-whitespace.d.ts.map +1 -0
  613. package/dist/utils/xsi-type.d.ts +4 -0
  614. package/dist/utils/xsi-type.d.ts.map +1 -1
  615. package/dist/utils/yield-to-queue.d.ts +6 -0
  616. package/dist/utils/yield-to-queue.d.ts.map +1 -0
  617. package/dist/utils-USNkj4sT.js +1275 -0
  618. package/dist/utils.js +1 -2
  619. package/dist/xml/build/document-root.d.ts +7 -0
  620. package/dist/xml/build/document-root.d.ts.map +1 -0
  621. package/dist/xml/build/index.d.ts +0 -5
  622. package/dist/xml/build/index.d.ts.map +1 -1
  623. package/dist/xml/build/record-element.d.ts +15 -0
  624. package/dist/xml/build/record-element.d.ts.map +1 -0
  625. package/dist/xml/build/record-element.types.d.ts +12 -0
  626. package/dist/xml/build/record-element.types.d.ts.map +1 -0
  627. package/dist/xml/build/write-xml-records.d.ts +7 -0
  628. package/dist/xml/build/write-xml-records.d.ts.map +1 -0
  629. package/dist/xml/build/write-xml-records.types.d.ts +11 -0
  630. package/dist/xml/build/write-xml-records.types.d.ts.map +1 -0
  631. package/dist/xml/build/xml-element.d.ts +79 -0
  632. package/dist/xml/build/xml-element.d.ts.map +1 -0
  633. package/dist/xml/build/xml-element.types.d.ts +34 -0
  634. package/dist/xml/build/xml-element.types.d.ts.map +1 -0
  635. package/dist/xml/build/xml-writer.constants.d.ts +24 -0
  636. package/dist/xml/build/xml-writer.constants.d.ts.map +1 -0
  637. package/dist/xml/build/xml-writer.d.ts +40 -0
  638. package/dist/xml/build/xml-writer.d.ts.map +1 -0
  639. package/dist/xml/build/xml-writer.types.d.ts +34 -0
  640. package/dist/xml/build/xml-writer.types.d.ts.map +1 -0
  641. package/dist/xml/dom/index.d.ts +3 -0
  642. package/dist/xml/dom/index.d.ts.map +1 -0
  643. package/dist/xml/dom/xml-document-from-file.d.ts +10 -0
  644. package/dist/xml/dom/xml-document-from-file.d.ts.map +1 -0
  645. package/dist/xml/dom/xml-document-from-file.types.d.ts +5 -0
  646. package/dist/xml/dom/xml-document-from-file.types.d.ts.map +1 -0
  647. package/dist/xml/index.d.ts +1 -0
  648. package/dist/xml/index.d.ts.map +1 -1
  649. package/dist/xml/inspect-xml.d.ts +2 -0
  650. package/dist/xml/inspect-xml.d.ts.map +1 -1
  651. package/dist/xml/parse/index.d.ts +1 -1
  652. package/dist/xml/parse/index.d.ts.map +1 -1
  653. package/dist/xml/parse/parse-xml-document.constants.d.ts +5 -0
  654. package/dist/xml/parse/parse-xml-document.constants.d.ts.map +1 -0
  655. package/dist/xml/parse/parse-xml-document.d.ts +13 -2
  656. package/dist/xml/parse/parse-xml-document.d.ts.map +1 -1
  657. package/dist/xml/parse/parse-xml-document.types.d.ts +7 -2
  658. package/dist/xml/parse/parse-xml-document.types.d.ts.map +1 -1
  659. package/dist/xml/parse/parser.constants.d.ts +7 -0
  660. package/dist/xml/parse/parser.constants.d.ts.map +1 -0
  661. package/dist/xml/parse/parser.d.ts.map +1 -1
  662. package/package.json +88 -10
  663. package/skills/dialecte/SKILL.md +345 -0
  664. package/skills/dialecte/references/api.json +1830 -0
  665. package/skills/dialecte/references/api.md +557 -0
  666. package/skills/dialecte/references/core-api.md +205 -0
  667. package/skills/dialecte/references/testing.md +116 -0
  668. package/skills/dialecte-contributing/SKILL.md +374 -0
  669. package/skills/dialecte-contributing/references/code-rules.md +115 -0
  670. package/skills/dialecte-contributing/references/landing-changes.md +87 -0
  671. package/skills/dialecte-contributing/references/lot-in-a-package.md +45 -0
  672. package/skills/dialecte-contributing/references/perf.md +40 -0
  673. package/skills/dialecte-contributing/references/traps.md +109 -0
  674. package/skills/dialecte-lot/SKILL.md +526 -0
  675. package/skills/dialecte-lot/references/briefs.md +161 -0
  676. package/skills/dialecte-lot/references/model-tiers.md +52 -0
  677. package/skills/dialecte-lot/references/retro.md +51 -0
  678. package/skills/dialecte-lot/references/standard-check.md +45 -0
  679. package/skills/dialecte-lot/references/stations.md +110 -0
  680. package/dist/project/io/import-document.d.ts +0 -7
  681. package/dist/project/io/import-document.d.ts.map +0 -1
  682. package/dist/test/assert-xml/types.d.ts +0 -2
  683. package/dist/test/assert-xml/types.d.ts.map +0 -1
  684. package/dist/utils-DJN0Md0v.js +0 -624
  685. package/dist/xml/build/build-xml-document.d.ts +0 -10
  686. package/dist/xml/build/build-xml-document.d.ts.map +0 -1
  687. package/dist/xml/build/build-xml-document.types.d.ts +0 -22
  688. package/dist/xml/build/build-xml-document.types.d.ts.map +0 -1
  689. package/dist/xml/build/download-file.d.ts +0 -7
  690. package/dist/xml/build/download-file.d.ts.map +0 -1
  691. package/dist/xml/build/formatter.d.ts +0 -2
  692. package/dist/xml/build/formatter.d.ts.map +0 -1
  693. package/dist/xml/build/serialize.d.ts +0 -11
  694. package/dist/xml/build/serialize.d.ts.map +0 -1
  695. package/dist/xml/build/serialize.types.d.ts +0 -12
  696. package/dist/xml/build/serialize.types.d.ts.map +0 -1
@@ -0,0 +1,526 @@
1
+ ---
2
+ name: dialecte-lot
3
+ description: Deliver one lot of Dialecte-scoped work as stations - test station red, test review, green, review rounds with a findings ledger, the gates, a hand-over a human runs - alone or with sub-agents, with the brief template, the report shapes and the loop cap. In a dialecte package (core, a dialecte, create, cli): whenever a change is bigger than a one-file fix, or the user asks for TDD with a review loop, a commit-by-lots hand-over or a retro. In an app built on a dialecte: whenever the task changes its Dialecte-scoped code - its local dialecte extension (a verb, a query, a hook), a service or composable that calls @dialecte/* APIs, an extension delivered for promotion - even when nobody asks for a lot, TDD or a review: run it yourself as a sub-loop over that part only, handing back to the app's process at the hand-over. Not for the rest of an app (UI, layout, styling, component renames, reviewing a UI change). Load dialecte with it, and in a dialecte package dialecte-contributing too.
4
+ license: MIT
5
+ metadata:
6
+ author: dialecte
7
+ version: '0.1.0'
8
+ audience: consumer
9
+ ---
10
+
11
+ <!-- dialecte-skills workspace -->
12
+
13
+ # Delivering a Dialecte lot
14
+
15
+ A lot is the smallest change that is worth landing on its own: build-safe, tested, documented, reviewed.
16
+ This skill runs it as **stations**. Each station has one job, reads only what the brief hands it, and
17
+ leaves an artifact behind. One agent can play every station in turn; an orchestrator can hand them to
18
+ sub-agents. Either way the stations, the order and the report shapes are the same, so a retro can
19
+ compare runs.
20
+
21
+ **Memory is the artifacts, not the chat.** The plan file, the station reports, the diff and the retro log
22
+ are what the next station reads. A decision that is not in one of them was not a decision.
23
+
24
+ **In a dialecte package** (`"dialecte": { "profile": "contributor" }` in its `package.json`), load
25
+ `dialecte-contributing` too: its `references/lot-in-a-package.md` adds the package's own steps to these stations -
26
+ the mutation switch, `dialecte rules`, `dialecte contrib` before the hand-over, the landing rules and merge lots.
27
+ **In an app**, none of them. There a lot is a sub-loop the app's agent runs by itself for the Dialecte-scoped
28
+ part of a task only - the local dialecte extension, the services and composables that call `@dialecte/*` APIs, an
29
+ extension meant for promotion: the same stations, ending at the hand-over (Station 6), then back to the app's own
30
+ pipeline, which carries on with its own steps and its pull request. The rest of the app's change (its UI, layout,
31
+ styling) stays under the app's process and never enters the lot. An extension meant for promotion is delivered to
32
+ the package's bar (node-tier tests, the JSDoc of every public function, its docs), so that promoting it moves the
33
+ folder and rewrites nothing.
34
+
35
+ ## The stations
36
+
37
+ | # | Station | Who | Tier | Reads | Leaves |
38
+ | --- | ----------- | --------------------------- | ----------------------------------------------------------- | ---------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------- |
39
+ | 0 | Orchestrate | orchestrator | strong | the plan, the user's decisions | one brief per implementer (template in [references/briefs.md](references/briefs.md)) |
40
+ | 1a | Test | test station (own agent) | standard | its brief step, the existing code | tests + stubs, proven red by `dialecte tdd red` (its receipts) |
41
+ | 1b | Test review | **a different agent** | strong | the tests of the step, the brief | a verdict on the tests, before any code |
42
+ | 1c | Implement | implementer (another agent) | standard or strong, by lot kind | its brief, the tests, the code it changes | production code until `dialecte tdd green`; an implement report |
43
+ | 2 | Fast gate | implementer | no agent | - | `dialecte gate --fast`: type-check, lint, format, touched tests, skills check |
44
+ | 3 | Review | **a different agent** | strong, both passes | the brief, the diff, the previous version (`git show <base>:<file>`), the rules, the findings ledger | a review report: pass 1 correctness, pass 2 fit, verdict; proposed findings-ledger rows |
45
+ | 4 | Fix | the implementer, fix mode | standard for wording or naming, else the implementer's tier | the findings | each finding fixed, disagreed (one line why) or escalated |
46
+ | 5 | Full gate | implementer | no agent | - | `dialecte gate --full`: the package's full Definition of Done, once per lot |
47
+ | 6 | Hand over | implementer or orchestrator | no agent | the lot's files | `dialecte handover`: a hand-over folder and its card; a human runs it; nothing committed, nothing pushed |
48
+ | 7 | Retro | orchestrator | strong | reports, loops, the user's corrections | retro entries; skill edits drafted, applied on approval |
49
+
50
+ **After the hand-over, the pull request is the repository's own.** In a dialecte repository Station 7
51
+ follows the hand-over, and the branch goes up by pull request through that repository's landing rules
52
+ (`dialecte-contributing`). In an app that consumes a dialecte, the lot ends at
53
+ Station 6: what comes after belongs to the app's own process - its PR skill and template for the pull
54
+ request, its own retro and clean-up if it has them - and no further station of this skill runs (no Station 7,
55
+ no `dialecte worktree prune`, no dialecte PR or release step). The hand-over's records (`dialecte recap`
56
+ prints a PR's details part from them) feed the app's template only where its rules ask for it. Pushing and
57
+ posting stay the user's (or wait for their approval).
58
+
59
+ The Tier column names the kind of model a station runs on, never a model: the tiers, the rules that go with
60
+ them (escalate one tier after a failed round, never down-tier a correctness review, effort as a second knob)
61
+ and how to learn which model a tier is (`npx @dialecte/cli models`) are in
62
+ [references/model-tiers.md](references/model-tiers.md).
63
+
64
+ Stations 3-4 loop on the same lot. **The cap is set by the lot's risk class**, declared in the findings ledger
65
+ before round 1 (round 1 full, the later rounds delta: Station 3). A round beyond the cap is the user's call, never
66
+ the orchestrator's: a finding the last round acts on is fixed, then the fix and the open rows go to the user, who
67
+ decides whether one more round checks it. Findings that keep coming past the cap mean the plan or the brief is
68
+ wrong.
69
+
70
+ ## Station 0 - what the plan and the brief settle
71
+
72
+ Before the test station, the plan holds what the tests will pin; a gap found by a reviewer costs a round.
73
+
74
+ - **The standard** (a lot whose rules come from a standard the code implements):
75
+ [references/standard-check.md](references/standard-check.md) - how it is read, the cross-check for a
76
+ decision, and what the station records for the hand-over card (`dialecte record standard`).
77
+ - **A tooling lot with shared state or an external tool**: the plan carries the store's transition table, its
78
+ invariant and the interleavings, the test-station brief asks one forced-order test per interleaving, and the
79
+ hand-over folder gets a `SMOKE.md` with the lot's one real run; how and where that run happens, and citing
80
+ third-party values: in a dialecte package, `dialecte-contributing` references/traps.md, Tools with shared state.
81
+
82
+ ## Station 1 - test, test review, implement (per brief step)
83
+
84
+ The order matters, not only the outcome: a test written after the code can be shaped to please it. So each
85
+ step of the brief (3-6 behaviours) goes through three agents, and the cli keeps the receipts:
86
+
87
+ 1. **Test station** (own agent, `standard`; station `test-writer`). Reads the brief step and
88
+ the existing code only. Writes the step's tests from the spec and, where the code does not exist yet,
89
+ stubs with their real types whose body throws `new Error('not implemented: <name>')`; each test calls
90
+ the code under test inside an `expect(...)` that a matcher completes (`expect(x).toBe(...)`; a bare
91
+ `expect(x)` asserts nothing). It removes every focus marker (`.only`, a table case's `only: true`)
92
+ before the red: `tdd red` refuses a file that holds one. Then `npx dialecte tdd red`: it runs every
93
+ case of the changed test files; each new or changed case must fail on an assertion, on the stub's error
94
+ inside `expect(...)`, or on an error existing code throws there (a bug the test pins). A snapshot test
95
+ gets its snapshot written by the test station before the red (runs never write one). A case that
96
+ passes ("it ran green: this test proves nothing yet"), or fails on a missing export, a type or syntax
97
+ error, a timeout, or a stub thrown at import or before the assertion, is refused with its kind; a
98
+ refusal records no red of its file: fix the test, never the code. A red freezes each test file without
99
+ a refusal; a changed helper, fixture or snapshot is frozen only by a red of a file that depends on it
100
+ (imports it - relative, tsconfig `paths` or vite alias, through barrels - names it, or owns the snapshot;
101
+ an import that looks local and resolves nowhere refuses the file). Its report is the `tdd red` output.
102
+ 2. **Test review** (a different agent, `strong`, read-only; station `test-reviewer`). Reads only the tests
103
+ against the spec, before any code - the changed helpers, fixtures and snapshots too: does each pin a
104
+ behaviour of the brief, would a plausible wrong implementation fail it, does every `expect(...)` have a
105
+ matcher, is a behaviour of the step left without a test. Verdict: approve, or back to the test station
106
+ with the findings (which runs `tdd red` again).
107
+ 3. **Implement station** (another agent: station `implementer`, or `implementer-strong` by lot kind). Changes
108
+ production code only, until `npx dialecte tdd green` passes: every case of the step with its red
109
+ receipt, its test code as the last red run froze it, production changed since its red, and green. A
110
+ test it finds wrong goes **back to the test station with the reason** (through the orchestrator): it
111
+ never weakens, skips or deletes a test, and never runs `tdd red` itself. When it did edit a test (or a
112
+ helper, a fixture, a snapshot) and `tdd green` refuses it, it **undoes its own edit by hand first** -
113
+ puts back the text the test station wrote, no git command - then hands the case back with the reason.
114
+
115
+ What the cli guarantees, and what it only makes visible: `tdd green` and the gate refuse test code
116
+ changed since the red run that froze it, a case whose own test call changed since its receipt, a green
117
+ with nothing changed in production, and new or changed test code never proven red. A re-red does not
118
+ launder an edit: a passing case still waiting for its green whose test file or imported test code changed
119
+ is refused ("test code changed since its red and it passes"); a green case kept at such a run is flagged
120
+ `test code changed around it` (the honest next step, a case added to a green file, shows it too). The
121
+ receipts live in the worktree's git folder: an agent with a shell can still write them by hand, so they are
122
+ evidence, not a lock. What looks like cheating is shown, not hidden: every refusal is kept in the ledger,
123
+ a red at a production state the case had already left is flagged `rollback`, a green case made red again
124
+ at the same production `red after green`; `tdd status`, the gate and the hand-over card print the flags.
125
+ What it cannot see: a deliberate throw in production looks like a stub; code written first, hidden, then a
126
+ red taken at the base state cannot be told from an honest red (at the first step the red's production is
127
+ the base's). The review reads the diff for those.
128
+
129
+ Then the next step. `npx dialecte tdd status` shows each case: red, green, unchanged, missing receipt,
130
+ test edited after red; the test code changed since its freeze; the cases the change deletes. `gate
131
+ --fast` and `--full` check the receipts in their `tdd` step: every test-code file of the change as frozen,
132
+ every new or changed case red then green (or unchanged), the flags and deleted cases listed.
133
+
134
+ **Exempt lots.** A lot that changes no behaviour - a wording, a rename, a doc-only or a CHANGELOG-only
135
+ lot - has no red to prove. The orchestrator declares it in the brief and writes
136
+ `{ "tdd": "exempt: <reason>" }` to `.dialecte/lot.json` at the package root of the worktree; the gate's
137
+ `tdd` step passes with the reason and what the change touches ("exempt: <reason> (n production files, m
138
+ test files changed)"), the hand-over card shows the same. The file is never committed (the hygiene and the
139
+ hand-over leave it out). A lot that changes behaviour is never exempt, however small. A single case may be
140
+ accepted without a red instead - a new test of behaviour that already exists, an honest cut of an
141
+ assertion, a fix's new test whose red was taken on the previous round's snapshot (Station 4; the reason quotes
142
+ that red): `"accept": [{ "case": "<file>::<name> [project]", "reason": "..." }]` in the same file
143
+ (`dialecte lot accept <case> <reason>` writes it from cli 0.2.0). It
144
+ passes `tdd red` as accepted, does not block its file, and the gate and the card list it with its
145
+ reason.
146
+
147
+ One agent playing every station (no sub-agents) keeps the same order and the same commands.
148
+
149
+ Before touching code (the implement station; the test station does the same before its tests):
150
+
151
+ 1. Read the brief. Check it against the code as it is now: a brief written before an earlier lot landed
152
+ can assume things that changed. A contradiction stops you: say it, do not reinterpret the plan.
153
+ 2. `git status -sb` in your worktree: right branch, clean (or dirty only with your own earlier work).
154
+ Note the HEAD sha for your report.
155
+ 3. Load `dialecte` (and `dialecte-contributing` in a dialecte package); run the reuse ladder before writing anything.
156
+
157
+ Then, within the step:
158
+
159
+ - **Red** is the test station's `tdd red` output: each case failed for the right reason - an assertion,
160
+ not a missing module (the stub carries the real type). Its lines are the report's `Red seen`.
161
+ - **Green**: the minimum production code, one case after the other, until `tdd green` holds them all.
162
+ - A case that passes before any code is refused at `tdd red`: it proves nothing yet. Never show a red by
163
+ breaking the code afterwards: the test goes back to the test station.
164
+ - Only the lot's scope. A refactor outside it is a new lot, said out loud.
165
+
166
+ A **skill text change** is code too: when the lot changes what a skill tells agents to do (a new command to
167
+ run, a rule), load the skill-creator skill (`anthropic-skills:skill-creator`) and follow it; a host without it
168
+ runs the same loop by hand, as below. A skill change judged
169
+ by hand, or by the agent that wrote it, looks green on one run and its own reading; skill-creator's loop is
170
+ what shows the change moves behaviour. As it applies here: the eval case under the skill's `evals/` first
171
+ (it describes the behaviour the new text must produce; the text before the change fails it); runs with the
172
+ changed text and with the text before it (`git show <base>:skills/...` into the eval workspace), on the
173
+ standard and the strong tier, several runs per configuration, every run with the same tools; grading by a
174
+ separate agent that is not told which text produced a run; skill-creator's benchmark and viewer handed on
175
+ with the report. Then `skills:generate` and `skills:check`.
176
+
177
+ Report (exactly this shape):
178
+
179
+ ```
180
+ Lot <id> done - <what it does, one line>
181
+ Base: <branch> @ <sha>
182
+ Files: <list>
183
+ Tests: <n> passing of <m> table cases - command: <the exact command, unfiltered>
184
+ Red seen: <the `tdd red` line of each case: case, kind, failing message> (one line per behaviour)
185
+ Gates: <the lines `dialecte gate` printed, with their counts>
186
+ Skill evals: <case: pass rate with / before, runs per configuration; benchmark and viewer paths> | n/a
187
+ Deviations from the brief: <none | what and why>
188
+ Open questions: <none | ...>
189
+ ```
190
+
191
+ ## Station 2 - fast gate (the counts decide, not the summary)
192
+
193
+ Run `npx dialecte gate --fast --declare <new path>` from the package root; in a dialecte package, run
194
+ `npx dialecte rules` with it and fix its errors before the review (`dialecte-contributing`
195
+ references/lot-in-a-package.md, Station 2). The gate
196
+ starts with the worktree's hygiene (nothing staged, the stash as it was when the worktree was made, every new
197
+ file declared: one `--declare` per new file or folder of the lot), then runs each step unfiltered and prints
198
+ one line per step with the counts the step itself printed; paste those lines in the report. The bullets below are what the gate checks for
199
+ you, and what you check by hand with a cli older than 0.2.0:
200
+
201
+ - Run every command that decides a gate **unfiltered**: an output-compacting shell wrapper can print a green
202
+ summary for a run that tested nothing. Read the real summary line.
203
+ - **Zero tests, or no count, is a failed gate.** The passing count must reach the number of table cases you
204
+ wrote; fewer means some never ran (a collect or type error in the test file).
205
+ - The type-check must cover the tests (the package's `check`, or its test tsconfig): a solution
206
+ `tsconfig.json` checks nothing.
207
+ - A red run that does not fail is not red: fix the case before writing code.
208
+
209
+ The orchestrator checks the report shape before spawning the review: a report without `Red seen` lines or
210
+ with `Tests` not counted against the cases goes back to the implementer, not to the reviewer. The gate's
211
+ `tdd` step (after the hygiene) fails on a new or changed case without a red receipt and a later green one,
212
+ listing them: the missing receipts go back to the test station (no red) or the implementer (no green).
213
+
214
+ ## Station 3 - review (independent)
215
+
216
+ The reviewer did not write the code and does not take the implementer's report as truth. Read-only.
217
+ Inputs: the brief (the spec), the diff of the lot's files, the previous version of each file, the rules
218
+ (the repository's code rules and Definition of Done - `dialecte-contributing` in a dialecte package -,
219
+ `dialecte` reuse ladder).
220
+
221
+ **Pass 1 - correctness** (always first): logic, edge cases, async and error handling, a behaviour changed
222
+ without a test, a test that passes for the wrong reason (weak assertion, a matcher that ignores what the
223
+ spec cares about, an XPath matching another element), types that the next lot cannot use without casts,
224
+ a contradiction with the brief or the plan. An exempt lot: does its reason match the diff (a "wording"
225
+ lot that changes an expected value or a production branch is not exempt)? Each accepted case: does its
226
+ reason match the diff (the behaviour really exists at the base, the cut really removes a wrong assertion, a red
227
+ on `round-<n>/` is the one the fix report holds, with its failing line)?
228
+ Each flag the gate prints: why it happened.
229
+
230
+ **Pass 2 - fit**: does it do what the brief said, no more; did it hand-roll something the API, a hook or
231
+ a helper already provides (name the existing method); the code rules (named functions, object
232
+ parameters, `*.types.ts` / `*.constants.ts`, no nested `await`, full names, no `any`); docs, CHANGELOG
233
+ and skills updated in the same lot; generated files untouched; a hand-written commit or merge script in the
234
+ hand-over is a finding (hand-overs go through `dialecte handover`, which writes the folder and its card), not a
235
+ script to review line by line. Three findings that matter beat ten that do not.
236
+
237
+ ### Rounds
238
+
239
+ Each round is a **fresh agent** (unanchored by the previous verdict) and each finding carries a severity:
240
+ **blocking**, **should fix** or **nit**.
241
+
242
+ **Risk class.** How many rounds a lot gets, and what the last one still acts on, follow what a wrong change would
243
+ break:
244
+
245
+ | Risk class | The lot changes | Rounds | Last round acts on |
246
+ | ----------------------------- | ---------------------------------------------------------------------------------------------------------------------------- | ------ | --------------------- |
247
+ | shipped runtime or public API | code a consumer runs or imports from a package's public exports other than its test entry, its command line, or their docs | 3 | blocking + should fix |
248
+ | test API or internal code | a test entry other packages' suites import (`@dialecte/core/test`), skill text and its evals, or modules no consumer reaches | 2 | blocking + should fix |
249
+ | guards and tooling | a guard (a source-scan test, a code rule), scripts, configs, the repository's own tooling | 2 | blocking only |
250
+
251
+ A lot that touches several classes takes the first row of the table it touches; a doubt between two rows takes the
252
+ upper one. The orchestrator declares the class, with the files that set it, at the top of the findings ledger
253
+ before round 1, and every reviewer brief names the round as `round <n> of <rounds>`. A finding keeps its severity
254
+ whatever the round: a fix found wrong, or a row a later fix reopened, carries the severity of the row it breaks,
255
+ and the last round acts on it even below its floor (a broken fix is never logged and left in the lot).
256
+
257
+ **Before round 1** the orchestrator creates the lot's hand-over folder, `_commit-plan/<topic>-<yyyy-mm-dd>/`
258
+ (outside every repository; `lots.json` lands there at Station 6), with a `findings-ledger.md` holding only the risk
259
+ class. **When it spawns round n** it snapshots the tree that round reviews into `round-<n>/` in the same folder: a
260
+ copy of every file `git status --porcelain -z --untracked-files=all` lists at the worktree root as changed or
261
+ untracked, at its path relative to the repository root, and beside it `round-<n>.deleted`, NUL-separated, naming
262
+ each deleted file and the old path of each rename (beside the copy, never in it: it is no file of the lot). A copy,
263
+ not a patch: nothing to apply, binary files included. The lot stays uncommitted until the hand-over, so HEAD is the
264
+ base for the whole loop: these snapshots are the only refs the later rounds have. From cli 0.2.0,
265
+ `dialecte record snapshot <folder> --round <n>` takes it (and `dialecte review delta` reads it); the text here is
266
+ the manual fallback for an older cli.
267
+
268
+ - **Round 1 - full review**, blind to the implementer's conclusions, every severity. The checklist, each angle
269
+ answered even when empty: correctness; test soundness (each test fails for the right reason); **the
270
+ consumer's view** - build the package and read what a consumer receives: the built `dist`, the emitted
271
+ `.d.ts`, the docs (a fix that worked from sources was a no-op for every consumer once the bundler copied the
272
+ dependency into `dist`; only the reviewer who built the package saw it); the code rules; docs and
273
+ CHANGELOG against the code.
274
+ - **Later rounds - delta review**, given the findings ledger. A round before the last reports blocking and should
275
+ fix, nits optional: the orchestrator fixes such a nit in the lot or logs it as a follow-up, and records which in
276
+ the findings ledger. The last round reports what its class acts on; anything below is logged as a follow-up, not
277
+ fixed in the lot. A finding the last round acts on is fixed; the round that would verify the fix goes to the user
278
+ (above). The floor rises so the rounds converge. The review has three parts:
279
+ - (a) **Each fix verified on the old code.** From cli 0.2.0,
280
+ `dialecte review delta <folder> --round <n> --worktree` makes the throwaway worktree holding `round-<n-1>/`
281
+ (the fixer's, when it made one: Station 4, reused, never a second); with an older cli, the orchestrator makes one by hand on its own branch
282
+ (never the lot's), copies the snapshot over it, removes its deleted files - the one place a `git rm` is
283
+ allowed, never in the lot's worktree - and passes the path (`worktree prune` lists it after the lot):
284
+
285
+ ```
286
+ npx dialecte worktree add <repository> <lot-branch>-round-<n-1> --from <base>
287
+ cp -R <folder>/round-<n-1>/. <throwaway>/
288
+ git -C <throwaway> rm -q --pathspec-from-file=<folder>/round-<n-1>.deleted --pathspec-file-nul
289
+ ```
290
+
291
+ The reviewer copies the fix's new test file in and runs it: it must fail there and pass in the lot's
292
+ worktree. Without a throwaway worktree the reviewer reads the snapshot and says the guard was **reasoned,
293
+ not run**; the ledger keeps that word (`fixed <n> (reasoned)`), never a plain `fixed <n>` for a guard
294
+ nobody ran.
295
+
296
+ - (b) **Only the fix diff and its blast radius**, starting from the fixer's blast-radius line of each fix
297
+ (Station 4, copied into the ledger): does the fix widen, exclude or replace more than its finding needed, and
298
+ does it reopen a row it did not name (a fixed exclusion that is now too wide, an earlier fix it replaced)?
299
+ Then the diff, per file of either snapshot or of the lot now, read-only. `--no-index` exits 1 on
300
+ differences and on a missing side alike, so pick the form by where the file is:
301
+
302
+ ```
303
+ # in round-<n-1>/ and in the worktree
304
+ git diff --no-index --no-color --no-ext-diff <folder>/round-<n-1>/<file> <worktree>/<file>
305
+ # not in round-<n-1>/ and not in round-<n-1>.deleted: it was at the base then
306
+ git -C <worktree> diff --no-color --no-ext-diff HEAD -- <file>
307
+ # new since round n-1 and absent from the base, or listed in round-<n-1>.deleted
308
+ git diff --no-index --no-color --no-ext-diff /dev/null <worktree>/<file>
309
+ # in round-<n-1>/, gone from the worktree
310
+ git diff --no-index --no-color --no-ext-diff <folder>/round-<n-1>/<file> /dev/null
311
+ ```
312
+
313
+ - (c) **One line naming what round 1 did not look at.**
314
+
315
+ **The findings ledger** (`findings-ledger.md` in the hand-over folder) is the lot's memory across rounds. Only the
316
+ orchestrator writes it, by hand or, from cli 0.2.0, with `dialecte record review` (a new row, `open`) and
317
+ `dialecte record decision` (the states `open`, `fix to verify`, `fixed <n> [note]`, `accepted`, `logged`). The
318
+ cli writes neither the risk-class line nor `reopened`, and its `fix to verify` carries no blast radius: write
319
+ those by hand, or keep the blast-radius lines in a fixes file beside the ledger. Reviewers propose rows. It
320
+ opens with the risk class (`Risk class: <class> - <rounds> rounds, last round acts on <floor>, a further round
321
+ only with the user - set by <files>`). One row per finding: id, round
322
+ raised, severity, file:line, state - `open`, `fix to verify - <blast radius>` (the fixer says fixed; its
323
+ blast-radius line comes with it), `fixed <n>` (n = the round that verified the fix; `fixed <n> (reasoned)` when the
324
+ guard was not run), `reopened <n> by <id>` (a later fix broke it again), `accepted <reason>`, `logged <follow-up>`.
325
+ Every reviewer reads it; a finding fixed or accepted is not raised again unless the fix is wrong. Outside every
326
+ repository, it is never committed nor caught by the hygiene.
327
+ Once the lots are committed, `worktree prune` lists the folder (it holds `lots.json` and `commit.sh` by then),
328
+ findings ledger and snapshots with it - the retro reads them first. An abandoned lot's folder has no `lots.json`,
329
+ so neither `prune` nor `handover list` sees it: keep it for the retro, or hand the user its removal command with
330
+ its absolute `cd`.
331
+
332
+ Report:
333
+
334
+ ```
335
+ ## Review - lot <id> (round <n> of <rounds>, <risk class>)
336
+ Scope: full | delta against round-<n-1>/ Not looked at by round 1: <one line> (later rounds)
337
+ **Pass 1 (correctness)**
338
+ - <id> <severity> <file:line> - <what is wrong> - <why it matters> | nothing
339
+ - <id> blast radius: <what the fix widens, excludes, replaces> - holds | <new id> (later rounds)
340
+ - <id> fix verified: <the guard> fails on round-<n-1>/, passes now (run | reasoned) | <what is wrong with the fix> (later rounds)
341
+ **Pass 2 (fit)**
342
+ - <id> <severity> <file:line> - <finding>
343
+ **Proposed findings-ledger rows**: the new ids above; <id> -> fixed <n> | fixed <n> (reasoned) | fix wrong | reopened <n> by <id>
344
+ **Verdict**: approve | fix-then-repass (a finding at or above this round's floor open) | to the user (the last round, a finding it acts on open)
345
+ ```
346
+
347
+ ## Station 4 - fix mode
348
+
349
+ For each finding: **agree** (fix it, with a test when behaviour changed), **disagree** (one line why, do
350
+ not fix), or **needs the user** (it reopens a decision). Report per finding: fixed / disagreed / escalated.
351
+ You never drop a finding on your own: disagreements go back to the orchestrator, who sets each state in the
352
+ findings ledger (`fix to verify - <blast radius>`, `accepted <reason>`, `logged <follow-up>`, `reopened <n> by
353
+ <id>`) before the next round.
354
+
355
+ **Every fix reports its blast radius**, one line under its finding: what the fix widens (a pattern, a list, an
356
+ include, a type that now matches more), excludes (what it now skips or no longer accepts) or replaces (the earlier
357
+ code or fix it takes the place of), and which findings-ledger rows it touches - its own, and any other row whose
358
+ code it changes, an earlier fix above all. A fix that touches nothing else says so: `blast radius: none beyond
359
+ <id>`. The orchestrator copies the line into the ledger row (`fix to verify - <blast radius>`); the next round's
360
+ reviewer starts there. A fix's own new finding is the usual way a round fails to converge: a too-wide exclusion
361
+ that fixes one finding and hides another, a fix that undoes an earlier one.
362
+
363
+ **The red of a fix's new test comes from the tree the round reviewed, never from production put back.** Write the
364
+ test before the fix and take its red with `npx dialecte tdd red` while the code it pins is still the reviewed one.
365
+ When production already holds the fix, run the new test where the old code still lives: `npx dialecte review delta
366
+ <folder> --round <n+1> --worktree` (n = the round whose findings you fix; cli 0.2.0, else the orchestrator's
367
+ hand-made throwaway of Station 3 (a)) makes a throwaway worktree holding `round-<n>/` and prints its removal
368
+ command; copy the new test file in, with the test code it imports that the round changed, run it there - it must
369
+ fail on its assertion - and in the lot's worktree, where it passes. The report says the red was taken on
370
+ `round-<n>/`, with the failing line, so the orchestrator records the case as accepted with that reason (Station 1),
371
+ never as a test-first red. The throwaway's path and removal command go to the orchestrator: it is round n+1's
372
+ throwaway too (same branch), passed to that reviewer, removed after it. Never edit production code back to the old
373
+ behaviour, not even for one run: that red proves the test can fail, not that it came first, and `tdd` cannot tell
374
+ it from a test-first red (it flags `red after green` only when the case already had a green there).
375
+
376
+ ```
377
+ <id> fixed | disagreed: <why> | needs the user: <the decision>
378
+ blast radius: widens <...> | excludes <...> | replaces <...> | none beyond <id>; ledger rows: <id>, <id> (fixed only)
379
+ red: tdd red before the fix | on round-<n>/ (throwaway <path>): <failing line> (fixed with a new test only)
380
+ ```
381
+
382
+ ## Station 6 - hand over
383
+
384
+ Write only the lots file and run `npx dialecte handover
385
+ <lots.json>`: it writes the hand-over folder and prints its card. Never a hand-written script, nor a file per
386
+ commit. When the repository has a commit hook (`core.hooksPath`), rehearse first with `npx dialecte handover
387
+ run <folder> --rehearse`: a scratch clone holding your tree, the hooks folder and `node_modules`, so the hook
388
+ runs as it will for the user. Rehearse a heavy hook while another suite loads the machine, or at least note
389
+ the load at rehearsal time (`uptime`) after the card: a quiet rehearsal hides a time bound that fails under load.
390
+
391
+ **A check's result belongs to the tree it ran on.** From cli 0.2.0 every gate and hook result is recorded with
392
+ what it checked - the tree, the installed lock, the linked `file:` dependencies and the command - and a run with
393
+ the same key answers from that record instead of running again. A suite run on a tree that already passed it finds
394
+ nothing new; the repeats are what costs: a lot that merged once ran the same suite four times (lot rehearsal, lot
395
+ commit, merge rehearsal, merge commit). So:
396
+
397
+ - A second `gate` of the same mode on an unchanged tree runs its hygiene and `tdd` step (they read the worktree,
398
+ not the tree), then answers the rest from its record (`reused: gate --full green on this tree ...`). Run it when
399
+ you want its lines; never `--no-reuse` "to be safe": an edit, a lock, a linked dependency already make a new key.
400
+ `--no-reuse` is for when the person asks, or when something outside the key changed (a machine fault you suspect).
401
+ - `handover run --rehearse` decides per lot and prints why (in a dialecte package, its rules are in
402
+ `dialecte-contributing` references/landing-changes.md). Paste those lines with the card; never add `--full` to force a rehearsal the cli
403
+ skipped, and start no load for it. A lot it does rehearse runs under load as above.
404
+ - The real commit's hook always runs, whatever the records say: it is the person's last net. Nothing passes
405
+ `--no-verify`.
406
+
407
+ **Reporting READY.** From cli 0.3.1 the message to the user points at the hand-over instead of carrying it:
408
+ `READY`, then `cd <worktree> && npx dialecte handover show <name>` (the card recomputed read-only from the
409
+ records, current whenever the person reads it) and `npx dialecte handover run <name>` (the command they run) -
410
+ never a pasted or retyped card, which goes stale as soon as a record changes. With an older cli, the message
411
+ **is the card** `handover` printed - repository, worktree, branch, HEAD, gates, the lots with their files and
412
+ messages, and the command with its absolute `cd` - pasted as printed, never retyped. After it: what was not verified, and one usage line (the lot's sub-agent tokens, in total
413
+ and by station: [references/retro.md](references/retro.md)). A refusal is a finding: fix the file or the
414
+ message, do not loosen the lots. `npx dialecte handover list` shows every hand-over waiting on the machine.
415
+ Never commit, push, stage, or touch a repository's index while a hand-over may be waiting.
416
+
417
+ ## Station 7 - retro
418
+
419
+ Facts first, then improvements: [references/retro.md](references/retro.md). Every correction the user
420
+ made, every review round that found something an earlier station should have caught, every false green.
421
+ Each finding names the smallest change that prevents it and its category (skill, tooling, knowledge,
422
+ one-off). Skill edits are drafted as before/after and applied only with the user's approval; a skill
423
+ that is rewritten every retro never settles.
424
+
425
+ ## Orchestrating with sub-agents
426
+
427
+ - One implementer per independent concern, **each in its own git worktree** cut from a committed base
428
+ (never from uncommitted work), made with `npx dialecte worktree add <repository> <branch> [--from <ref>]`:
429
+ it copies the hooks folder and `node_modules` and writes the hygiene baseline in one step. Never
430
+ `git worktree add` plus copies by hand. Concerns that touch the same files are one implementer, or run in
431
+ order.
432
+ - **After every agent hands back** (implementer, fixer), run `npx dialecte gate --fast --declare <new path>`
433
+ in its worktree before anything else. Its hygiene step fails on a staged file or a stash added since the
434
+ worktree was made, whatever wrote it. A failure is a finding: look with the read-only commands it prints
435
+ and report it; never repair it with a git command that writes. When the agent changed nothing, the gate
436
+ still runs its hygiene and `tdd` step and answers the rest from its record of that tree.
437
+ - Write each brief from [references/briefs.md](references/briefs.md): the brief is the agent's whole
438
+ context; synthesise, do not say "based on the findings". Every brief carries its lines for all stations
439
+ (nothing under `.git` by hand, no workflow without the user's opt-in, no `rm` on a variable path).
440
+ - Each station agent is defined once, for every host, in [references/stations.md](references/stations.md):
441
+ its tier, its access (`read`, `review`: runs commands but edits nothing, `edit`) and its role (`test-writer`,
442
+ `test-reviewer`, `implementer`, `implementer-strong`, `reviewer`, `fixer`, `eval-runner`, `grader`,
443
+ `standard-reader`, `searcher`). The test writer edits tests and stubs; the test reviewer reads; the
444
+ implementer keeps every edit tool, the freeze of the tests is `tdd green`'s and the gate's. A host with an
445
+ adapter spawns the station's own agent, whose file sets the model and the tools, so the spawn names neither
446
+ (Per host, below). Without one, spawn a general sub-agent on the station's tier
447
+ ([references/model-tiers.md](references/model-tiers.md)), restricted to its access, its prompt holding the
448
+ station's section before the brief. Note the tokens of each completion notice
449
+ against its station as it lands: the ledger the retro and the hand-over message report. When a station
450
+ runs well above the lot's other stations, tell the user then, not at the end.
451
+ - Spawn the reviewer only after the implementer's report; give it the brief, not the implementer's
452
+ conclusions. You review too: read the diff yourself before accepting a verdict.
453
+ - Runs use the runner's defaults, whoever else shares the machine: no `nice`, no worker cap added on the
454
+ command line (a config's own setting, such as mutation tests' measured concurrency, is the runner's default), no
455
+ `--no-file-parallelism`, no lock - unless the user asks to limit, for the time they say. A failing run is rerun
456
+ once, the same command with its `--project` flags, on its failing files with `--no-file-parallelism` (the gate
457
+ does it on its test steps): a pass
458
+ there is a flake, a finding fixed at its cause, never a reason to throttle; a failure there is real
459
+ (in a dialecte package, `dialecte-contributing`, Definition of Done).
460
+ - After the user merged: `npx dialecte worktree prune` lists the merged worktrees and branches, the
461
+ committed hand-over folders and the rehearsal clones, each with its command (a worktree just made, one
462
+ holding ignored files, an unmerged branch are kept, with why). `--yes` asks for a confirmation on a
463
+ terminal and refuses without one: hand the printed commands, or the `--yes` command, to the user, each
464
+ with its absolute `cd`. Never remove a worktree, a branch or a hand-over folder by hand.
465
+ - Never predict a sub-agent's result; wait for its report - up to its deadline (below), not forever.
466
+
467
+ ### Deadlines
468
+
469
+ A completion notice comes only when a run ends: a run that hangs (a command waiting on its stdin, an agent
470
+ stuck in a loop) sends none, and waiting on the notice alone waits forever. So every agent and command the
471
+ orchestrator launches in the background gets a **deadline** when it is launched:
472
+
473
+ - **How long**: the station's deadline ([references/model-tiers.md](references/model-tiers.md)), or three
474
+ times a duration measured on earlier runs of the same command (a commit hook, a gate, a bench: a hook that
475
+ took 6 minutes gets 18). Write it in the run log.
476
+ - **Armed at launch**: arm the check in the same turn as the launch, with whatever the host has that wakes
477
+ you - a scheduled check or a wake-up at the deadline, or a monitor on the run's log - so you are woken even
478
+ if no notice comes. A host with none polls at the deadline.
479
+ - **At the deadline, look at the run itself**: its process tree (`pgrep -P <pid>`, `ps -o pid,stat,time,command`:
480
+ is its CPU time growing?), the agent's last activity or the log's last line and its time, and `dialecte runs`
481
+ once the cli has it (the live runs of the machine, each with its state).
482
+ - **Kill on what you see, never on the clock.** No new output and no CPU time gained by the tree since the
483
+ last look: it is stuck - tell the user what you saw (the tree, the last line, since when) and stop or
484
+ restart it. Still gaining CPU time or writing output: set one more deadline. Past that second deadline it
485
+ is **over budget** (for a measured command 2 x 3 = 6x its duration, the point where the cli's coming budgets
486
+ fail a run): report it to the user and go on watching; kill it only on silence.
487
+ Under `dialecte handover run`, `gate` and `tdd`, the runner's own stall watchdog does the kill; your
488
+ deadline is the backstop that notices a runner that did not.
489
+
490
+ ## Per host
491
+
492
+ The stations, gates and hand-over are the same everywhere: they run through the `dialecte` cli and the git
493
+ hooks. What differs is how a host starts a session, spawns an agent and wakes you:
494
+
495
+ - **Every host**: the session starts with `npx --no-install @dialecte/cli doctor --brief` (the synced `AGENTS.md`
496
+ section says so; where a hook already ran it, its lines are in your context): nothing printed means the skills
497
+ are in sync, else fix each line first. Station agents come from references/stations.md.
498
+ - **Claude Code**: a `SessionStart` hook runs that check for you (do not run it again); `.claude/agents/dialecte-<station>.md` are the
499
+ station adapters (the Agent tool spawns them by name); skills load with the Skill tool; the Workflow tool is
500
+ the multi-agent workflow that needs the user's opt-in; a scheduled wake-up or a monitor arms a deadline.
501
+ - **Another host** (Codex, Cursor, Gemini CLI, Copilot): skills in `.agents/skills/` (or `.github/skills/`); a
502
+ general sub-agent per station, as above; its own scheduler or a timer arms a deadline, else poll at it.
503
+
504
+ ## Never
505
+
506
+ - Skip the red step (`tdd red` from the test station), the test review, the review, or the cap.
507
+ - Let the implement station edit a test after its red, or prove a red by breaking the code afterwards.
508
+ - Name a model in a brief or a skill (name the tier), or down-tier a correctness review to save tokens.
509
+ - Commit, push, stage, or merge.
510
+ - `git stash` (one stash is shared by every worktree and session) and any git command that writes the index
511
+ (`git add`, `git rm`, `git reset`, `git restore`, `git checkout --`; the one exception is the `git rm` of a review round's throwaway worktree). To compare with the base, read it with
512
+ `git show <base>:<file>` or run it in a throwaway worktree; your own tree stays as it is.
513
+ - Edit, move or remove any file under a repository's `.git` folder by hand - a lock, a config, a receipt, a
514
+ worktree's folder - even one your own run left, even when a refusal says "delete it and its lock". A stuck
515
+ lock or a broken config stops that step: read it (`ls`, `cat`), then hand it to the orchestrator - its path,
516
+ what you believe wrote it, the refused command; the orchestrator (or an agent playing every station) takes it
517
+ to the user. The same for the hand-over script a lock names. Every station, every agent.
518
+ - Start a multi-agent workflow (a host tool that fans out many agents from one script) without the user's
519
+ explicit opt-in: each sub-agent has its own spawn, several at once when they are independent, eval runs
520
+ included.
521
+ - `rm`, `mv` or `xargs` on a variable path: leave temporary files in the hand-over folder or the scratchpad.
522
+ - Wait on a background run with no deadline, or on its completion notice alone.
523
+ - Hand over a hand-written commit or merge script.
524
+ - Implement two lots in one station "because they are small".
525
+ - Reach for `any`, `@ts-ignore` or a skipped test to get green.
526
+ - Let an output live only in the chat.