@dialecte/core 0.7.0 → 0.8.0

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